:root, [data-bs-theme=light] {
  --bs-dropdown-link-active-bg: rgb(128,0,0)!important;
  --bs-link-color: rgba(0,0,0,0.4)!important;
  --bs-skwev-color: rgb(128,0,0)!important;
  --bs-skwev-color-rgb: 128, 0, 0;
  --bs-skwev-color-na: rgb(128,0,0)!important;
  --bs-index-card: #fff;
  --bs-timeline-color: #993232;
  --bs-outline-button: #fff;
  --bs-card-color: #fff;
  --link_color: rgb(128,0,0);
  --year_select_buttons_color: #fff;
  --clean_block_shadow_rgb: 0,0,0;
  --bs-primary: rgb(128,0,0)!important;
  --card-hover: #d9d7db;
  --event-card-inter-color: orangered;
  --event-card-color-header: #3c3c3c;
  --event-card-color-date: #2b2b2b;
  --event-card-color: #848484;
  --event-card-background-color: #edecee;
  --repertoire-list-background-color: #e3e2e5;
}

[data-bs-theme=dark] {
  --bs-dropdown-link-active-bg: #a64c4c!important;
  --bs-link-color: rgba(0,0,0,0.4)!important;
  --bs-skwev-color: #a64c4c!important;
  --bs-skwev-color-rgb: 166, 76, 76;
  --bs-skwev-color-na: rgb(128,0,0)!important;
  --bs-index-card: #404449;
  --bs-timeline-color: #993232;
  --bs-outline-button: #fff;
  --bs-card-color: #2B3035;
  --link_color: #fff;
  --year_select_buttons_color: #dbdfe3;
  --clean_block_shadow_rgb: 255,255,255;
  --bs-primary: #a64c4c!important;
  --card-hover: #525a61;
  --event-card-inter-color: orangered;
  --event-card-color-header: #bcbcbc;
  --event-card-color-date: #bebebe;
  --event-card-color: #bfbfbf;
  --event-card-background-color: #373c41;
  --repertoire-list-background-color: #41464b;
}

.clean-navbar .navbar-nav .nav-item {
  padding-right: 0px;
  align-items: center;
  text-align: center;
}

.dropdown-menu {
  left: 50% !important;
  text-align: center !important;
  transform: translate(-10%, 0) !important;
}

@media (min-width: 300px) {
  .dropdown-menu {
    transform: translate(0%, 0) !important;
    width: 215px;
  }
}

@media (min-width: 1200px) {
  .dropdown-menu {
    transform: translate(-50%, 0) !important;
  }
}

.col-3 {
  width: 33.3%;
}

.skwev_color_normal {
  background-color: var(--bs-skwev-color)!important;
}

.skwev_color {
  background-color: var(--bs-skwev-color)!important;
  border: 2px solid var(--bs-skwev-color)!important;
}

.skwev_border_top {
  border-top: 2px solid var(--bs-skwev-color)!important;
}

.skwev_color:focus, .skwev_color:hover, .skwev_color:active {
  color: var(--link_color)!important;
  accent-color: var(--link_color)!important;
  background-color: var(--bs-body-bg)!important;
  border: 2px solid var(--bs-skwev-color)!important;
}

.page-footer ul li:before, .page-footer ul li:after {
  background-color: var(--bs-skwev-color)!important;
}

.skwev_text {
  color: var(--bs-skwev-color)!important;
}

/* .skwev_text:active { */

/* color: var(--bs-secondary)!important; */

/* } */

.skwev_link {
  color: var(--bs-skwev-color)!important;
}

.skwev_link:active {
  color: var(--bs-secondary)!important;
}

@media (min-width: 300px) {
  .nav-item .dropdown .nav-link {
    text-align: center;
  }
}

.skwev_border {
  border: 2px solid rgba(var(--bs-skwev-color-rgb), 0.7);
}

.p-4 {
  padding-bottom: 0px!important;
}

.p-4-1 {
  height: 100%;
  padding-bottom: 5px!important;
}

.skwev_picture_profile {
  height: 14vw;
  border-radius: 35px;
  float: left;
  object-fit: cover;
  width: 11vw;
  object-position: top;
  position: absolute;
  top: 50%;
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  font-size: 4vw;
  margin: 0;
  left: 10%;
}

@media (min-width: 300px) {
  .skwev_picture_profile {
    height: 35vw;
    width: 23vw;
    left: 4%;
  }
}

@media (min-width: 576px) {
  .skwev_picture_profile {
    height: 33vw;
    width: 22vw;
    left: 6%;
  }
}

@media (min-width: 768px) {
  .skwev_picture_profile {
    height: 17vw;
    width: 11vw;
    left: 5%;
  }
}

@media (min-width: 992px) {
  .skwev_picture_profile {
    left: 5%;
    height: 18vw;
  }
}

@media (min-width: 1200px) {
  .skwev_picture_profile {
    height: 31vh;
    width: 11vw;
  }
}

@media (min-width: 1400px) {
  .skwev_picture_profile {
    height: 31vh;
    width: 10vw;
    left: 7%;
  }
}

@media (min-width: 300px) {
  .page {
    margin-top: 3.5rem;
    /*max-width: 98%;*/
  }
}

@media (min-width: 576px) {
  .page {
    margin-top: 5rem;
  }
}

@media (min-width: 1200px) {
  .page {
    margin-top: 6rem;
    max-width: 100%;
  }
}

.skwev_border_top_soft {
  border-top: 3px solid var(--bs-skwev-color)!important;
}

@media (min-width: 576px) {
  .skwev_card_link {
    left: 2vw;
  }
}

.skwev_card_link {
  left: 23px;
  right: 23px;
}

@media (min-width: 300px) {
  .center_on_mobile {
    margin-left: auto;
    margin-right: auto;
  }
}

@media (min-width: 768px) {
  .center_on_mobile {
    margin-left: 0px;
  }
}

.leaflet-container {
  height: 50vh;
  overscroll-behavior: contain;
  margin: 0 10px;
}

.skwev_card_features {
  height: 100%;
}

.intern_card {
  min-height: 100%;
}
.intern_card .card {
  border-radius: 12px !important;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
  cursor: pointer;
  border: 1px solid rgba(var(--bs-skwev-color-rgb), 0.12) !important;
}
.intern_card .card:hover {
  transform: translateY(-5px);
  box-shadow: 0 10px 28px rgba(var(--bs-skwev-color-rgb), 0.18) !important;
}

.clean-block {
  padding-bottom: 50px!important;
  border-radius: 10px;
}

.fit-picture-album {
  object-fit: cover;
  height: 40vh;
}

.fit-picture {
  object-fit: cover;
  height: 55vw;
}

@media (min-width: 768px) {
  .fit-picture {
    object-fit: cover;
    height: 40vw;
  }
}

@media (min-width: 992px) {
  .fit-picture {
    object-fit: cover;
    height: 55vw;
  }
}

@media (min-width: 1200px) {
  .fit-picture {
    object-fit: cover;
    height: 45vw;
  }
}

@media (min-width: 1400px) {
  .fit-picture {
    object-fit: cover;
    height: 70vh;
  }
}

.card-img-top-wrapper {
  position: relative;
}

.card-overlay {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  height: 40vh;
  width: 100%;
  opacity: 0;
  transition: .5s ease;
  background: rgba(0, 0, 0, 0.5);
  border-radius: 5px;
  /*transform: translate(-50%, -100%);*/
  /*-ms-transform: translate(-50%, -100%);*/
  text-align: center;
}

.card-w-h:hover .card-overlay {
  opacity: 1;
}

.card_hover_h2 {
  color: var(--bs-outline-button);
  font-size: 3vh;
  border: 3px solid var(--bs-outline-button);
  padding: 10px 25px;
  margin: 16vh 20% 0px 20%;
  border-radius: 5px;
  text-align: center;
}

#overlay {
  position: fixed;
  display: none;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0,0,0,0.5);
  z-index: 2;
  cursor: pointer;
}

.modal-backdrop {
  display: none;
}

.svg-icon {
  height: 17px;
  margin-top: -5px;
  margin-left: -5px;
}

@media (min-width: 992px) {
  .svg-icon {
    height: 17px;
    margin-top: -5px;
    margin-left: 0px;
  }
}

.p-M5 {
  margin: 5px 0px 0px 0px!important;
}

.vertical-center {
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  text-align: -webkit-auto;
  transform: translateY(-50%);
  justify-content: center;
  display: flex;
}

.btn-check:checked + .btn, :not(.btn-check) + .btn:active + .skwev_color, .btn:first-child:active + .skwev_color, .btn.active + .skwev_color, .btn.show {
  background-color: var(--bs-primary)!important;
  border: 2px solid var(--bs-body-bg)!important;
  color: var(--bs-body-bg)!important;
}

.clean-block {
  box-shadow: 0px 2px 10px rgba(var(--clean_block_shadow_rgb), .3)!important;
}

.modal {
  background-color: rgba(var(--clean_block_shadow_rgb), 0.3);
}

.clean-block-around {
  box-shadow: 10px 2px 10px rgba(var(--clean_block_shadow_rgb),.3)!important;
}

.description {
  font-size: 14px!important;
  color: var(--bs-body-bg)!important;
  font-weight: 500!important;
}

input:focus, .select2-container--focus {
  outline: none !important;
  border-color: var(--bs-secondary)!important;
  box-shadow: 0 0 10px var(--bs-secondary)!important;
}

textarea:focus {
  outline: none !important;
  border-color: var(--bs-secondary)!important;
  box-shadow: 0 0 10px var(--bs-secondary)!important;
}

.center {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 200px;
  border: 3px solid green;
}

html {
  max-width: 100%;
  overflow-x: hidden;
}

.form-check-input:checked {
  background-color: var(--bs-primary);
  border-color: var(--bs-primary);
}

.form-check-input:focus {
  border-color: var(--bs-secondary)!important;
  box-shadow: 0 0 10px var(--bs-secondary)!important;
  outline: 0;
}

.form-select:focus {
  border-color: var(--bs-secondary);
  box-shadow: 0 0 10px var(--bs-secondary)!important;
  outline: 0;
}

.datatables_button {
  margin-bottom: 3px;
}

.dropdown-item:hover, .dropdown-item:focus {
  color: var(--bs-light);
  background-color: var(--bs-secondary);
}

.dropdown-item.active, .dropdown-item:active {
  color: var(--bs-light);
  text-decoration: none;
  background-color: var(--bs-secondary);
}

.hide_on_mobile {
  display: block;
}

@media (max-width: 576px) {
  .hide_on_mobile {
    display: none!important;
  }
}

.overlay {
  position: fixed;
  display: none;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0,0,0,0.5);
  z-index: 9999;
  cursor: pointer;
}

.overlay_text {
  position: absolute;
  top: 50%;
  left: 50%;
  font-size: 50px;
  color: var(--bs-body-bg);
  transform: translate(-50%,-50%);
  -ms-transform: translate(-50%,-50%);
  text-align: center;
}

@media (max-width: 768px) {
  .btn {
    font-size: 13px;
  }
}

@media (min-width: 768px) {
  .btn-group {
    width: 49%!important;
    margin-bottom: 0px!important;
  }
}

@media (max-width: 768px) {
  .btn-group {
    margin-bottom: 5px;
  }
}

.accordion-button:not(.collapsed) {
  color: var(--bs-body-bg);
  background-color: var(--bs-secondary);
  box-shadow: inset 0 calc(-1 * var(--bs-accordion-border-width)) 0 var(--bs-accordion-border-color);
  /*background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%0'><path fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/></svg>") !important;*/
}

.accordion-button {
  color: var(--bs-primary);
}

.accordion-button:not(.collapsed)::after {
  background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23ffffff'><path fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/></svg>") !important;
}

.accordion-button::after {
  background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='var(---bs-skwev-color)'><path fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/></svg>") !important;
}

.select2-container--default .select2-results__option--selected, .ui-menu .ui-menu-item-wrapper {
  color: var(--bs-light);
  background: rgba(var(--bs-skwev-color-rgb), 0.5) !important;
}

.select2-container--default .select2-results__option--highlighted.select2-results__option--selectable, .ui-menu .ui-menu-item-wrapper .ui-state-active {
  color: var(--bs-light);
  background: rgba(0,0,0, 0.5) !important;
}

:focus-visible {
  outline: 3px solid rgba(var(--bs-skwev-color-rgb), 0.75) !important;
  outline-offset: 3px;
  border-radius: 4px;
}

.copy-link-input {
}

.copy-link {
  height: 36px;
  width: 100%;
  display: flex;
  /*max-width: 250px;*/
}

.copy-link-input {
  flex-grow: 1;
  padding: 0 8px;
  font-size: 14px;
  border: 1px solid #cccccc;
  border-right: none;
  outline: none;
}

.copy-link-input:hover {
  background: #eeeeee;
}

.copy-link-button {
  flex-shrink: 0;
  width: var(--height);
  height: var(--height);
  display: flex;
  align-items: center;
  justify-content: center;
  background: #dddddd;
  color: var(--bs-body-bg);
  outline: none;
  border: 1px solid #cccccc;
  cursor: pointer;
}

.copy-link-button:hover {
  background: #cccccc;
}

.datatables_button {
  width: 49%;
}

.contact_us_box {
  width: 50vw;
}

.contact_us_text {
  font-size: small;
}

@media (min-width: 300px) {
  .contact_us_text {
    font-size: x-small;
  }
}

@media (min-width: 576px) {
  .contact_us_text {
    font-size: small;
  }
}

.clean-block.dark .block-heading p {
  max-width: 500px;
}

.public_picture {
  border: 2px dashed var(--bs-green)!important;
}

.private_picture {
  border: 2px dashed var(--bs-red)!important;
}

.selected_picture {
  border: 2px solid var(--bs-yellow)!important;
}

input[type="date"]::selection {
  background-color: rgba(var(--bs-skwev-color-rgb), 0.56);
}

.nav-link:focus-visible {
  box-shadow: 0 0 0 .25rem rgba(var(--bs-skwev-color-rgb), .25)!important;
  border-radius: 5px;
}

.skwev_color:focus-visible {
  box-shadow: 0 0 0 .25rem rgba(var(--bs-skwev-color-rgb), .25)!important;
}

input[type="date"]::-webkit-datetime-edit-day-field:focus, input[type="date"]::-webkit-datetime-edit-month-field:focus, input[type="date"]::-webkit-datetime-edit-year-field:focus {
  background-color: var(--bs-skwev-color);
  color: var(--bs-body-bg);
}

.slds-datepicker tbody > tr > td.slds-is-selected > .slds-day {
  background: var(--bs-skwev-color);
  color: var(--bs-body-bg);
  font-weight: 700;
}

#team {
  padding: 30px 0;
}

.sec-heading h6 {
  font-family: 'Allura', cursive;
  font-size: 65px;
}

.single-box {
  border: 1px solid #ddd;
  border-radius: 20px;
  overflow: hidden;
  background-color: rgba(255,255,255,0.8);
  min-height: 20rem;
}

.info-area {
  padding: 0 20px 45px;
}

.img-area {
  overflow: hidden;
  padding: 15px 0 15px;
  display: inline-block;
}

.img-area img {
  margin: 0 auto;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
  max-width: 65%;
  filter: drop-shadow(0.3rem 0.3rem 0.2rem rgba(0,0,0,0.3));
}

.single-box:hover img {
  -webkit-transform: scale(1.1);
  transform: scale(1.1);
}

.info-area i {
  display: inline-block;
  color: var(--bs-skwev-color);
  margin: 0 4px;
}

.info-area h4 {
  font-weight: 600;
  height: 4rem;
}

.info-area h5 {
  color: var(--bs-secondary-color);
  margin: 10px 0 0;
  font-weight: 600;
}

.info-area a {
  display: inline-block;
  margin: 25px 0 0;
  background-color: var(--bs-skwev-color);
  color: #fff;
  padding: 10px 35px;
  border-radius: 4px;
}

.team-slider .owl-dots {
  left: 0;
  right: 0;
  bottom: -60px;
  text-align: center;
  width: 100%;
  top: 100%;
}

.team-slider button.owl-dot {
  width: 16px;
  height: 16px;
  display: inline-block;
  margin: 0 6px;
  text-align: center;
  border-radius: 50%;
  background-color: var(--bs-body-bg)!important;
}

.team-slider .owl-dot.active {
  background-color: var(--bs-skwev-color)!important;
}

.move-animation {
  position: relative;
  -webkit-animation: move-animation 2s ease-in-out infinite;
  animation: move-animation 2s ease-in-out infinite;
}

.py-4 {
  background-position: 0px 1.5rem;
}

@media (min-width: 1200px) {
  .py-xl-5 {
    background-position: 0px 3rem;
  }
}

.schalmeienfest_dot {
  height: 150px;
  width: 150px;
  border: 1px solid gray;
  border-radius: 100%;
  background-color: var(--bs-skwev-color);
  color: var(--bs-body-bg);
  text-shadow: 3px 2px 3px rgba(0, 0, 0, 1);
  margin: 15px;
}

.schalmeienfest_dot_first {
  margin: 11px 0px -44px 0px;
}

@media (min-width: 576px) {
  .schalmeienfest_dot_first {
    margin: 11px 0px -45px 0px;
  }
}

@media (min-width: 768px) {
  .schalmeienfest_dot_first {
    margin: 11px 0px -97px 0px;
  }
}

@media (min-width: 992px) {
  .schalmeienfest_dot_first {
    margin: 11px 0px -132px 0px;
  }
}

@media (min-width: 1200px) {
  .schalmeienfest_dot_first {
    margin: 11px 0px -172px -2px;
  }
}

.schalmeienfest_dot_second {
  margin: -56px 0px -56px 0px;
}

@media (min-width: 576px) {
  .schalmeienfest_dot_second {
    margin: 26px 0px -24px 0px;
  }
}

@media (min-width: 768px) {
  .schalmeienfest_dot_second {
    margin: -70px 0px -28px 0px;
  }
}

@media (min-width: 992px) {
  .schalmeienfest_dot_second {
    margin: -81px -6px -116px 0px;
  }
}

@media (min-width: 1200px) {
  .schalmeienfest_dot_second {
    margin: -93px 27px -134px 2px;
  }
}

@media (min-width: 1400px) {
  .schalmeienfest_dot_second {
    margin: -93px 68px -134px 2px;
  }
}

.schalmeienfest_dot_third {
  margin: 34px 0px -58px 0px;
}

@media (min-width: 576px) {
  .schalmeienfest_dot_third {
    margin: 0px 0px -43px 0px;
  }
}

@media (min-width: 768px) {
  .schalmeienfest_dot_third {
    margin: 0px 0px -54px 0px;
  }
}

@media (min-width: 992px) {
  .schalmeienfest_dot_third {
    margin: 8px 24px -64px 0px;
  }
}

@media (min-width: 1200px) {
  .schalmeienfest_dot_third {
    margin: 8px 24px -68px 0px;
  }
}

@media (min-width: 1400px) {
  .schalmeienfest_dot_third {
    margin: 8px 64px -74px 0px;
  }
}

.login_button {
  height: 6rem;
}

.btn-outline-primary {
  background-color: var(--year_select_buttons_color)!important;
  color: var(--bs-skwev-color)!important;
  border: 1px solid var(--bs-skwev-color)!important;
}

.btn-check:checked + .btn, .btn.active + .skwev_color, .btn.show, .btn:first-child:active + .skwev_color, :not(.btn-check) + .btn:active + .skwev_color {
  background-color: var(--bs-skwev-color)!important;
  border: 2px solid var(--bs-outline-button)!important;
  color: var(--bs-outline-button)!important;
}

#cookiebannerModal {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  overflow-x: hidden;
  overflow-y: auto;
  background: hsla(0, 0%, 0%, .5);
  font-family: Roboto, sans-serif;
  z-index: 9999;
}

#cookiebannerModal.hidden {
  display: none;
}

#cookiebannerModal a {
  color: var(--bs-skwev-color);
}

#cookiebannerModalDialog {
  background: var(--bs-card-color)!important;
  border-radius: 10px;
}

#cookiebannerModalHeader {
  padding: 1rem;
  border-bottom: 1px solid #e5e5e5;
}

#cookiebannerModalTitle {
  margin: 0 0 0.4rem;
}

#cookiebannerModalBody {
  padding: 1rem;
}

#cookiebannerModalFooter {
  padding: 1rem;
  border-top: 1px solid #e5e5e5;
  text-align: right;
}

#cookiebannerModalFooter .text-left {
  text-align: left;
}

.cookiebannerSubmit.btn {
  font-size: 1.2rem;
  margin: 0.2em;
  padding: 0.3em;
  background-color: var(--bs-skwev-color)!important;
  color: var(--color-button-fg);
  border: 0;
}

#cookiebannerModalFooterLinks {
  text-align: left;
  min-height: auto;
  margin-bottom: auto;
  display: inline-block;
  float: left;
  padding: 1rem 0;
}

.cookiebannerH4 {
  display: inline-block;
  font-size: 1.125rem;
  font-weight: 500;
  margin: 0.56em 0;
}

.cookiebannerCollapse {
  display: none;
  color: var(--bs-skwev-color)!important;
}

.cookiebannerCollapse.show {
  display: block;
}

.cookiebannerModalTable {
  font-size: 0.9rem;
  font-style: italic;
}

.cookiebannerModalTable td {
  padding: 0.1em 0.2em 0.1em;
}

/* The switch - the box around the slider */

.switch {
  font-size: 1rem;
  vertical-align: middle;
  position: relative;
  display: inline-block;
  width: 2.5em;
  height: 1.375em;
  margin: 0 0.3125em 0.3125em 0;
}

/* Hide default HTML checkbox */

.switch input {
  opacity: 0;
  width: 0;
  height: 0;
}

/* The slider */

.slider {
  position: absolute;
  cursor: pointer;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #ccc;
  transition: transform 400ms, background-color 400ms;
}

.slider:before {
  position: absolute;
  content: "";
  height: 1.125em;
  width: 1.125em;
  left: 0.125em;
  bottom: 0.125em;
  background-color: var(--bs-body-bg);
  transition: transform 400ms;
}

input:checked + .slider {
  background-color: var(--color-highlight);
}

input:checked:disabled + .slider {
  opacity: 0.3;
  cursor: not-allowed;
}

input:focus + .slider {
  box-shadow: 0 0 1px var(--color-highlight);
}

input:checked + .slider:before {
  transform: translateX(1.125em);
}

#cookiebannerModalFooterLinks span a {
  color: var(--bs-skwev-color)!important;
}

#cookiegroup_essential a {
  color: var(--bs-skwev-color)!important;
}

.select2-dropdown, .ui-widget-content {
  background-color: var(--bs-index-card)!important;
}

.select2-container--default .select2-selection--multiple, .ui-widget.ui-widget-content {
  background-color: var(--bs-body-bg)!important;
  border: none!important;
}

.select2-container--default.select2-container--focus .select2-selection--multiple {
  border: none!important;
}

#member_overview_filter {
  margin: 0 0 15px 0!important;
}

.socialaccount_provider {
  margin-left: 5px;
}

.dataTables_empty {
  text-align: center;
}

.select2-selection__choice {
  color: var(--bs-skwev-color);
}

.fl-left {
  float: left;
}

.fl-right {
  float: right;
}

.event-card-h1 {
  text-transform: uppercase;
  font-weight: 900;
  border-left: 10px solid #fec500;
  padding-left: 10px;
  margin-bottom: 30px;
}

.event-card-row {
  overflow: hidden;
  display: flex;
  gap: 2%;
}

.event-card {
  display: inline-flex;
  width: 49%;
  background-color: var(--event-card-background-color);
  color: var(--event-card-color);
  font-family: 'Oswald', sans-serif;
  text-transform: uppercase;
  border-radius: 10px;
  position: relative;
}

.event-card-intern {
  color: var(--event-card-inter-color);
}

.event-card:hover {
  background-color: var(--card-hover);
  cursor: pointer;
}

.event-card-date {
  display: table-cell;
  width: 25%;
  position: relative;
  text-align: center;
  border-right: 2px dashed var(--bs-body-bg);
}

.event-card-date:before, .event-card-date:after {
  content: "";
  display: block;
  width: 30px;
  height: 30px;
  background-color: var(--bs-body-bg);
  position: absolute;
  top: -15px;
  right: -16px;
  z-index: 1;
  border-radius: 50%;
}

.event-card-date:after {
  top: auto;
  bottom: -15px;
}

.event-card-date time {
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

.event-card-date time span {
  display: block;
}

.event-card-date time span:first-child {
  color: var(--bs-skwev-color);
  font-weight: 600;
  font-size: 250%;
}

.event-card-date time span:last-child {
  text-transform: uppercase;
  font-weight: 600;
  margin-top: -10px;
}

.event-card-cont {
  display: grid;
  width: 100%;
  font-size: 85%;
  padding: 3vh;
  gap: 5px;
}

.event-card-cont-with-location:after {
  border-right: 2px solid currentcolor;
  border-bottom: 2px solid currentcolor;
  content: '';
  position: absolute;
  width: 25px;
  height: 25px;
  right: 4%;
  top: 43%;
  transform: rotate(-45deg);
}

.event-card-cont h3 {
  color: var(--event-card-color-header);
  font-size: 130%;
  font-weight: bold;
}

.event-card-ont > div {
  display: table-row;
}

.even-info, .even-date {
  display: inline-flex;
}

.even-info {
  margin: auto 0;
}

.event-card-cont .even-date i, .event-card-cont .even-info i, .event-card-cont .even-date time, .event-card-cont .even-info p {
  display: table-cell;
}

.event-card-cont .even-date i, .event-card-cont .even-info i {
  padding: 5% 5% 0 0;
}

.event-card-ont .even-info p {
  padding: 30px 50px 0 0;
}

.event-card-cont .even-date time span {
  display: block;
}

.event-card-cont a {
  display: block;
  text-decoration: none;
  width: 80px;
  height: 30px;
  background-color: #D8DDE0;
  color: #fff;
  text-align: center;
  line-height: 30px;
  border-radius: 2px;
  position: absolute;
  right: 10px;
  bottom: 10px;
}

@media screen and (max-width: 1140px) {
  .event-card {
    float: none;
    width: 100%;
  }
}

@media screen and (max-width: 1140px) {
  .event-card-row {
    display: contents;
  }
}

@media screen and (max-width: 1140px) {
  .event-card + .event-card {
    margin-left: 0;
  }
}

@media screen and (max-width: 860px) {
  .event-card-cont .even-date, .event-card-cont .even-info {
    font-size: 85%;
  }
}

@media screen and (max-width: 490px) {
  .event-card-cont .even-date, .event-card-cont .even-info, .event-card-date {
    font-size: 75%;
  }
}

@media screen and (max-width: 490px) {
  .event-card-date time {
    left: 40%;
  }
}

@media screen and (max-width: 490px) {
  .event-card-cont h3 {
    font-size: 100%;
  }
}

@media screen and (max-width: 490px) {
  small {
    font-size: 0.675em;
  }
}

.event-container {
  gap: 15px;
  display: grid;
}

.repertoire-card {
  border: none;
  border-radius: 10px;
}

.repertoire-card-body {
  border-radius: 10px;
  box-shadow: rgba(0, 0, 0, 0.18) 0px 2px 4px;
  background-color: var(--event-card-background-color);
  color: var(--event-card-color-header);
}

.repertoire-list {
  background-color: var(--repertoire-list-background-color);
  border-radius: 5px;
}

.repertoire-list > li {
  border: none;
  background-color: transparent;
  color: var(--event-card-color);
}

table.dataTable > tbody > tr.child ul.dtr-details > li {
  height: 3.1rem;
}

@media (max-width: 768px) {
  .clean-block .block-content {
    padding: 40px 5px!important;
  }
}

/* ============================================================
   DESIGN 2026 – Barrierefreiheit & Modernes UI
   ============================================================ */

/* -- Skip Link ------------------------------------------------ */
.skip-link {
  position: fixed;
  top: -200%;
  left: 1rem;
  z-index: 99999;
  padding: 0.75rem 1.5rem;
  background-color: var(--bs-skwev-color);
  color: #fff !important;
  border-radius: 0 0 8px 8px;
  font-weight: 600;
  font-size: 0.95rem;
  text-decoration: none;
  transition: top 0.2s ease;
  box-shadow: 0 4px 12px rgba(0,0,0,0.35);
}
.skip-link:focus {
  top: 0;
  outline: 3px solid #fff !important;
  outline-offset: 3px;
}

/* -- Navbar --------------------------------------------------- */
.navbar {
  transition: background-color 0.3s ease, box-shadow 0.3s ease;
}
.navbar-scrolled {
  box-shadow: 0 2px 20px rgba(0, 0, 0, 0.12) !important;
}
[data-bs-theme=light] .navbar-scrolled {
  background-color: rgba(255, 255, 255, 0.97) !important;
}
[data-bs-theme=dark] .navbar-scrolled {
  background-color: rgba(33, 37, 41, 0.97) !important;
}
.navbar-brand.logo {
  font-weight: 700;
  letter-spacing: -0.3px;
  color: var(--bs-skwev-color) !important;
  transition: opacity 0.2s ease;
}
.navbar-brand.logo:hover {
  opacity: 0.82;
}
.navbar-nav .nav-link {
  transition: color 0.2s ease;
}
.navbar-nav .nav-item:not(.dropdown) .nav-link {
  position: relative;
}
.navbar-nav .nav-item:not(.dropdown) .nav-link::after {
  content: '';
  position: absolute;
  bottom: 4px;
  left: 0.6rem;
  right: 0.6rem;
  height: 2px;
  background-color: var(--bs-skwev-color);
  transform: scaleX(0);
  transition: transform 0.2s ease;
  border-radius: 1px;
}
.navbar-nav .nav-item:not(.dropdown) .nav-link:hover::after,
.navbar-nav .nav-item:not(.dropdown) .nav-link[aria-current]::after {
  transform: scaleX(1);
}
.navbar-nav .nav-link[aria-current] {
  color: var(--bs-skwev-color) !important;
  font-weight: 600;
}

/* Dropdown-Navigation im Navbar-Kontext an das Design 2026 angleichen */
.navbar .nav-item.dropdown .nav-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.25rem;
}
.navbar .dropdown-toggle::after {
  transition: transform 0.2s ease, opacity 0.2s ease;
}
.navbar .dropdown-toggle.show,
.navbar .dropdown-toggle[aria-expanded="true"],
.navbar .dropdown-toggle[aria-current="page"] {
  color: var(--bs-skwev-color) !important;
  font-weight: 600;
}
.navbar .dropdown-toggle.show::after,
.navbar .dropdown-toggle[aria-expanded="true"]::after {
  transform: rotate(180deg);
}
.navbar .dropdown-menu {
  min-width: 15rem;
  margin-top: 0.6rem !important;
  padding: 0.45rem;
  border-radius: 14px;
  border: 1px solid rgba(var(--bs-skwev-color-rgb), 0.14);
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 16px 36px rgba(15, 23, 42, 0.12);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}
.navbar .dropdown-item {
  border-radius: 10px;
  padding: 0.65rem 0.9rem;
  color: var(--bs-body-color);
  font-weight: 500;
  transition: background-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
}
.navbar .dropdown-item:hover,
.navbar .dropdown-item:focus,
.navbar .dropdown-item:focus-visible {
  color: var(--bs-skwev-color);
  background: rgba(var(--bs-skwev-color-rgb), 0.1);
  transform: translateX(2px);
}
.navbar .dropdown-item[aria-current="page"] {
  color: var(--bs-skwev-color);
  background: rgba(var(--bs-skwev-color-rgb), 0.12);
  font-weight: 600;
}
[data-bs-theme=dark] .navbar .dropdown-menu {
  border-color: rgba(255, 255, 255, 0.12);
  background: rgba(43, 48, 53, 0.94);
  box-shadow: 0 16px 36px rgba(0, 0, 0, 0.35);
}
[data-bs-theme=dark] .navbar .dropdown-item[aria-current="page"] {
  background: rgba(var(--bs-skwev-color-rgb), 0.22);
}
@media (max-width: 1199.98px) {
  .navbar .dropdown-menu {
    width: min(100%, 18rem);
  }
}

/* Theme-Toggle Button */
.theme-toggle-btn {
  background: none;
  border: 1px solid rgba(var(--bs-skwev-color-rgb), 0.35);
  border-radius: 6px;
  padding: 0.3rem 0.55rem;
  cursor: pointer;
  color: var(--bs-body-color);
  transition: all 0.2s ease;
  font-size: 1rem;
  line-height: 1;
  vertical-align: middle;
}
.theme-toggle-btn:hover {
  background-color: rgba(var(--bs-skwev-color-rgb), 0.1);
  border-color: var(--bs-skwev-color);
}

/* Kein Fokusring bei Mausklick auf Navbar-Links / Dropdown-Toggle */
.navbar .nav-link:focus:not(:focus-visible),
.navbar .dropdown-toggle:focus:not(:focus-visible),
.navbar .navbar-toggler:focus:not(:focus-visible) {
  outline: none !important;
  box-shadow: none !important;
  border: none !important;
}
/*
 * Chrome/Chromium feuert :focus-visible auch bei Mausklick auf <a data-bs-toggle="dropdown">.
 * Daher Dropdown-Toggle und Navbar-Toggler per höherspezifischer Regel vollständig ausnehmen –
 * die visuelle Rückmeldung erfolgt durch das sich öffnende Menü.
 */
.navbar .dropdown-toggle:focus,
.navbar .dropdown-toggle:focus-visible {
  outline: none !important;
  box-shadow: none !important;
}
.navbar-toggler:focus,
.navbar-toggler:focus-visible {
  outline: none !important;
  box-shadow: none !important;
}

/* -- Glassmorphism Hero -------------------------------------- */
.btn-hero {
  background-color: var(--bs-skwev-color);
  color: #fff;
  border: 2px solid var(--bs-skwev-color);
  padding: 0.6rem 1.6rem;
  border-radius: 8px;
  font-weight: 600;
  text-decoration: none;
  display: inline-block;
  transition: all 0.2s ease;
  font-size: 0.95rem;
}
.btn-hero:hover,
.btn-hero:focus {
  background-color: transparent;
  color: var(--bs-skwev-color);
  border-color: var(--bs-skwev-color);
}

/* Jahresauswahl auf der Events-Seite: aktives Jahr klar hervorheben */
#selected_year .btn-hero {
  background-color: transparent;
  color: var(--bs-skwev-color);
  border-color: rgba(var(--bs-skwev-color-rgb), 0.55);
}

#selected_year .btn-hero:hover,
#selected_year .btn-hero:focus {
  background-color: rgba(var(--bs-skwev-color-rgb), 0.1);
  color: var(--bs-skwev-color);
}

#selected_year .btn-check:checked + .btn-hero,
#selected_year .btn-check:active + .btn-hero {
  background-color: var(--bs-skwev-color);
  color: #fff;
  border-color: var(--bs-skwev-color);
  font-weight: 700;
}

.hero-glass {
  background: rgba(0, 0, 0, 0.52);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border-radius: 14px;
  padding: 2.25rem 2.75rem;
  border: 1px solid rgba(255, 255, 255, 0.14);
  max-width: 720px;
  margin: 4vh auto 0;
}
.hero-glass h1 {
  color: #fff;
  font-size: clamp(1.4rem, 3.5vw, 2.3rem);
  font-weight: 700;
  margin-bottom: 0.8rem;
  text-shadow: 0 2px 10px rgba(0,0,0,0.45);
  line-height: 1.25;
}
.hero-glass p {
  color: rgba(255, 255, 255, 0.88);
  font-size: 1.05rem;
  margin-bottom: 1.25rem;
}
.hero-glass .btn-hero {
  background-color: var(--bs-skwev-color);
  color: #fff;
  border: 2px solid var(--bs-skwev-color);
  padding: 0.6rem 1.6rem;
  border-radius: 8px;
  font-weight: 600;
  text-decoration: none;
  display: inline-block;
  transition: all 0.2s ease;
  font-size: 0.95rem;
}
.hero-glass .btn-hero:hover {
  background-color: transparent;
  color: #fff;
}
.hero-glass .btn-hero-outline {
  background-color: transparent;
  color: #fff;
  border: 2px solid rgba(255,255,255,0.65);
  padding: 0.6rem 1.6rem;
  border-radius: 8px;
  font-weight: 600;
  text-decoration: none;
  display: inline-block;
  transition: all 0.2s ease;
  font-size: 0.95rem;
  margin-left: 0.75rem;
}
.hero-glass .btn-hero-outline:hover {
  background-color: rgba(255,255,255,0.15);
  border-color: #fff;
}
@media (max-width: 576px) {
  .hero-glass {
    padding: 1.5rem 1.25rem;
    margin: 2vh 0.75rem 0;
  }
  .hero-glass .btn-hero-outline {
    margin-left: 0;
    margin-top: 0.5rem;
  }
}

/* -- Startseite Karten -------------------------------------- */
/* overflow und Hover bewusst entfernt – Text-Schatten und Bildüberlauf dürfen nicht abgeschnitten werden */

/* -- Auth-Formulare (allauth) ------------------------------- */
.auth-card {
  max-width: 460px;
  margin: 0 auto;
  border-radius: 16px !important;
  box-shadow: 0 8px 32px rgba(var(--clean_block_shadow_rgb), 0.12) !important;
  overflow: hidden;
}
.auth-card .card-header {
  background: linear-gradient(135deg, var(--bs-skwev-color) 0%, rgb(175, 35, 35) 100%);
  color: #fff;
  padding: 2rem 1.75rem 1.5rem;
  text-align: center;
  border-bottom: none;
}
.auth-card .card-header h1 {
  font-size: 1.5rem;
  font-weight: 700;
  margin: 0.5rem 0 0;
  color: #fff;
}
.auth-card .card-header p {
  color: rgba(255,255,255,0.85);
  font-size: 0.9rem;
  margin: 0.25rem 0 0;
}
.auth-brand-icon {
  width: 56px;
  height: 56px;
  border-radius: 12px;
  background: rgba(255,255,255,0.15);
  padding: 6px;
  display: block;
  margin: 0 auto;
}
.auth-card .card-body {
  padding: 2rem;
}

/* -- Kontaktseite Glassmorphism ----------------------------- */
.contact-glass-section {
  background: linear-gradient(160deg,
    rgba(var(--bs-skwev-color-rgb), 0.06) 0%,
    rgba(var(--bs-skwev-color-rgb), 0.02) 60%,
    transparent 100%);
  padding-bottom: 3rem;
}
[data-bs-theme=dark] .contact-glass-section {
  background: linear-gradient(160deg,
    rgba(var(--bs-skwev-color-rgb), 0.14) 0%,
    rgba(0,0,0,0.04) 100%);
}

.contact-glass-card {
  background: rgba(255, 255, 255, 0.72);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border: 1px solid rgba(255, 255, 255, 0.65);
  border-radius: 16px;
  padding: 2rem;
  box-shadow: 0 8px 32px rgba(var(--bs-skwev-color-rgb), 0.07),
              0 2px 8px rgba(0, 0, 0, 0.05);
  height: 100%;
}
[data-bs-theme=dark] .contact-glass-card {
  background: rgba(33, 37, 41, 0.78);
  border: 1px solid rgba(255, 255, 255, 0.1);
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.4);
}

/* Inputs & Textarea im Glass-Card */
.contact-glass-card .form-control,
.contact-glass-card .form-select {
  background: rgba(255, 255, 255, 0.78);
  border: 1px solid rgba(var(--bs-skwev-color-rgb), 0.18);
  border-radius: 8px;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}
[data-bs-theme=dark] .contact-glass-card .form-control,
[data-bs-theme=dark] .contact-glass-card .form-select {
  background: rgba(255, 255, 255, 0.06);
  border-color: rgba(255, 255, 255, 0.14);
  color: var(--bs-body-color);
}
.contact-glass-card .form-control:focus,
.contact-glass-card .form-select:focus {
  background: rgba(255, 255, 255, 0.97) !important;
  border-color: rgba(var(--bs-skwev-color-rgb), 0.5) !important;
  box-shadow: 0 0 0 3px rgba(var(--bs-skwev-color-rgb), 0.12) !important;
  outline: none !important;
}
[data-bs-theme=dark] .contact-glass-card .form-control:focus,
[data-bs-theme=dark] .contact-glass-card .form-select:focus {
  background: rgba(255, 255, 255, 0.12) !important;
}
.contact-glass-card .form-label {
  font-weight: 600;
  font-size: 0.875rem;
  margin-bottom: 0.35rem;
}
.contact-glass-card hr {
  border-color: rgba(var(--bs-skwev-color-rgb), 0.15);
  opacity: 1;
}
[data-bs-theme=dark] .contact-glass-card hr {
  border-color: rgba(255, 255, 255, 0.1);
}
.contact-glass-card .form-text {
  font-size: 0.78rem;
}

/* -- Kontaktseite – Profilkarten ---------------------------- */
.contact-person-card {
  display: flex;
  align-items: center;
  gap: 1.25rem;
  padding: 1.25rem;
  border-radius: 12px;
  border: 2px solid rgba(var(--bs-skwev-color-rgb), 0.2);
  margin-bottom: 1rem;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.contact-person-card:hover {
  border-color: rgba(var(--bs-skwev-color-rgb), 0.5);
  box-shadow: 0 4px 16px rgba(var(--bs-skwev-color-rgb), 0.1);
}
.contact-person-img {
  width: 90px;
  height: 90px;
  min-width: 90px;
  border-radius: 50%;
  object-fit: cover;
  object-position: top;
  border: 3px solid rgba(var(--bs-skwev-color-rgb), 0.35);
}
.contact-person-info h4 {
  margin: 0 0 0.2rem;
  font-weight: 700;
}
.contact-person-info .role {
  margin: 0 0 0.4rem;
  color: var(--bs-secondary-color);
  font-size: 0.9rem;
}
.contact-person-info .phone a {
  color: var(--bs-skwev-color);
  font-weight: 600;
  text-decoration: none;
}
.contact-person-info .phone a:hover {
  text-decoration: underline;
}
@media (max-width: 480px) {
  .contact-person-card {
    flex-direction: column;
    text-align: center;
  }
}

/* -- Footer ------------------------------------------------- */
.page-footer {
  margin-top: 3rem;
}
.page-footer .social-media-links a {
  transition: opacity 0.2s ease, transform 0.2s ease;
}
.page-footer .social-media-links a:hover {
  opacity: 0.85;
  transform: translateY(-2px);
}

/* -- Modale ------------------------------------------------- */
.modal-header {
  border-bottom: 2px solid rgba(var(--bs-skwev-color-rgb), 0.18);
}
.modal-footer {
  border-top: 1px solid rgba(var(--bs-skwev-color-rgb), 0.1);
}

/* -- Buttons allgemein -------------------------------------- */
.btn {
  transition: all 0.2s ease;
}

/* -- Reduced Motion ---------------------------------------- */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
  .skip-link {
    transition: none;
  }
  [data-aos] {
    transition: none !important;
    animation: none !important;
    opacity: 1 !important;
    transform: none !important;
  }
}
