body {
  --cassiopeia-color-primary: #ed2323;
  /*--cassiopeia-color-primary: #0094bc;*/
  --body-color: #0094bc;
  --btn-color: #555 !important;
  --cassiopeia-color-primary: #FEFEFE;
  --body-font-size: 1.4rem;
  /*--body-font-family: 'Comic Sans MS', 'Monotype Corsiva';*/
}
.btn.btn-primary {
  color: black;
}
.btn.btn-primary:hover {
  color: white;
}
.container-header {
  background-image: unset;
}

.float-end {
  margin-right: 1em;
}


.brand-logo img {
  display: block;
  height: unset !important;
  width: unset !important;
  aspect-ratio: 1496 / 548;
  max-width: 200px;
}
.fc_filter_set legend {
  display:none;
}
.fc_filter_val_lbl {
  font-size: 16px !important;
}

.fc_field_filter.fc_checkradio_group {
  display: grid !important;
  grid-template-columns: 1fr;
  position: relative;
}

.fc_field_filter.fc_checkradio_group > li:first-child {
  display: none !important;
}
.fc_filter_line {
  display: flex !important;
  flex-direction: column !important;
}
.fc_filter_line > *,
.fc_filter_line div.fc_checkradio_group_wrapper {
  width: 100% !important;
  max-width: unset !important;
}

.fc_instant_filter {
  display: none !important;
}
.fc_filter_line .fc_filter_label {
  background-color: #48B5E9 !important;
  color: white !important;
}

.fc_filter_line:not(:first-of-type) {
  margin-top: 0.4em;
}

div.fc_list_filter_wrapper  {
  max-height: 500px !important;
}

.festival-event-description {
  margin-top: 3em;
}

.fc_module_marker_list_box .festival-event-description {
  display:none;
}


.leaflet-popup-content .festival-event-data {
  display: grid;
  grid-template-columns: 3fr 7fr;
  gap:12px;
  max-width: 100%;
}
.festival-event-data .festival-event-image {
}
.festival-event-data .festival-event-image img{
  display: inline-block;
  margin: 0 0.5em 0.1em 0;
}
.festival-event-data .festival-event-details {
}
.festival-event-data .festival-event-details * {
  white-space: wrap !important;
  max-width: 100%;
  text-align: justify;
}

.fc_module_marker_list_box .festival-event-detals .festival-event-image {
}

.fc_module_marker_list img.fc_module_marker_list_icon {
  position: absolute !important;
}

div .fc_module_marker_list .festival-event-title {
}
div .festival-event-title {
  /*margin: 0 0 0.5rem 0 !important;
  padding: 0.3rem 0.5rem;*/
  margin: 0;
  padding: 0;
  border-radius: 0 !important;
  font-size: 16px;
  display: block;
  font-family: 'Open Sans Condensed', sans-serif;
  font-weight: 400;
  /*background-color: #48b5e9;
  color: white;*/
}

.festival-event-place {
  white-space: nowrap;
}
.festival-event-place-dash,
.festival-event-place-name,
.festival-event-place-point,
.festival-event-datetime-start {
  color: darkred;
  font-weight: bold;
}

div .fc_module_marker_list img.fc_module_marker_list_icon {
  height: unset;
  margin: 0.2rem 0 8px 0.2rem !important;
}

@media (max-width: 1400px) {
	div .container-top-a {
	  grid-area: 1 / 1 / span 1 / span 7 !important;
	}
  div .container-sidebar-left {
    grid-area: 2 / 1 / span 1 / span 7 !important;
  }
  div .container-component {
    grid-area: 3 / 1 / span 1 / span 7 !important;
  }
  fieldset.fc_filter_set {
    display: flex !important;
    align-items: first baseline;
    gap: 1%;
    flex-wrap: wrap;
    padding: 0 !important;
    margin: 0 !important;
  }
  fieldset.fc_filter_set > * {
    max-width: 32% !important;
    flex-basis: 32% !important;
  }
  fieldset.fc_filter_set > .fc_filter_buttons_box {
    max-width: 100% !important;
    flex-basis: 100% !important;    
  }
  .fc_filter_line div.fc_checkradio_group_wrapper {
     max-height: 150px !important;
  }
	.container-sidebar-left .sidebar-left:last-child {
	   margin-bottom: 0;
	}
	.main-top.card,
	.card-body {
	  margin-top: 0;
		padding-top: 0;
	}
}
@media (width <= 767px) {
  fieldset.fc_filter_set > * {
    max-width: 100% !important;
    flex-basis: 100% !important;
  }
}


div .fc_filter_line input[type="checkbox"].fc_checkradio + label {
  
}
div .fc_filter_line .fc_filter_label {
  line-height: 1.4em !important;
  min-height: 3em !important;
  height: unset !important;
  max-height: unset !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
}

div input[type="checkbox"].fc_checkradio + label,
div input[type="radio"].fc_checkradio + label {
  background:none !important;
  position: relative !important;
  height: unset !important;
}

div input[type="checkbox"].fc_checkradio + label:before,
div input[type="radio"].fc_checkradio + label:before {
  position: absolute !important;
  display: inline-block !important;
  margin: 1px 12px 1px 0px;
  padding: 0px 0px 0px 24px !important;
  line-height: 22px !important;
  height: 22px !important;
  text-align: left !important;
  cursor: pointer !important;
  color: #333;
  left: 0;
  top: 0;
  content: " ";
}



input[type="checkbox"].fc_checkradio:disabled + label:before {
	background-position: 0 0 !important;
	font-style: italic !important;
	cursor: default !important;
	opacity: 0.6 !important;
}
input[type="radio"].fc_checkradio:disabled + label:before {
	background-position: 0 -72px !important;
	font-style: italic !important;
	color: gray !important;
	cursor: default !important;
	opacity: 0.6 !important;
}
input[type="checkbox"].fc_checkradio + label:before {
	background: url(../../../../../components/com_flexicontent/assets/images/checks2.png) no-repeat 0 0 !important;
}
input[type="radio"].fc_checkradio + label:before {
	background: url(../../../../../components/com_flexicontent/assets/images/checks2.png) no-repeat 0 -72px !important;
}
input[type="checkbox"].fc_checkradio + label.green:before {
	background: url(../../../../../components/com_flexicontent/assets/images/checks3.png) no-repeat 0 0 !important;
}
input[type="radio"].fc_checkradio + label.green:before {
	background: url(../../../../../components/com_flexicontent/assets/images/checks3.png) no-repeat 0 -72px !important;
}

input[type="checkbox"].fc_checkradio:checked + label:before {
	background-position: 0 -24px !important;
}
input[type="radio"].fc_checkradio:checked + label:before {
	background-position: 0 -48px !important;
}

div li.fc_checkradio_option {
  white-space: unset !important;
}

.map_contents_box > div.col4,
.map_contents_box > div.col4 > div.fc_module_marker_list_box {
}


.accordeonck {
  width: unset;
  border: none;
}

div .accordeonck {
  overflow: visible !important;
	flex-grow: 1;
}
div .accordeonck.parent {
  position: relative;
}
div .accordeonck.parent > ul.accordeonck {
  position: absolute;
  background: #0094bc !important;
  display: none !important;
  transition: none !important;
	top: 100%;
	z-index: 2;
	width: clamp(100px, 50vw, 480px);
}
div .accordeonck.parent > ul.accordeonck li.level2 > span a {
	text-align: left !important;
}
/*div .accordeonck.parent.open > ul.accordeonck,*/
div .accordeonck.parent:hover > ul.accordeonck {
  display: block !important;
  height: unset !important;
}

div ul li.level1 > span.toggler > a {
	width: fit-content;
}

div ul li.level1.active > span {
  background-color: #555 !important;
  color: white !important;
}
div ul li.level1.active > span > a {
  color: white !important;
}
div ul li.level1:hover > span {
  background-color: #000 !important;
	color: white !important;
}
div ul li.level1:hover > span > * {
  background-color: none !important;
	color: white !important;
}
div .accordeonck * {
  color: #0094BC !important;
  font-size: 18px !important;
	font-size: clamp(1rem, 2vw, 1.8rem) !important;
	text-align: center !important;
}
div ul ul.accordeonck * {
	font-size: 1.4rem !important;
}
div .accordeonck.parent > ul.accordeonck * {
	color: white !important;
}
ul.menu {
  display: flex;
  color: white;
  flex-wrap: wrap;
	gap: 12px;
}

ul.accordeonck > li.accordeonck {
  margin: 0 !important;
}
ul.menu > li.accordeonck {
	flex-basis: 5%;
	flex-grow: 1;
  border: 0 !important;
  display: flex;
	align-items: stretch;
}
ul.menu > li.accordeonck > span {
	display: flex !important;
  align-items: center;
	width: 100%;
}
ul.accordeonck > li.accordeonck.level2:hover {
  background: black !important;
}

div ul li.level1 > span.toggler {
  display: flex !important;
	align-items: center;
	flex-direction: row !important;
	display: flex !important;
  align-items: center;
  justify-content: center;
	padding: 0;
}

ul > li.accordeonck.parent > span span.toggler_icon {
  position: relative !important;
  height: 43px !important;
}

@media (width < 1200px) {
	ul.menu {
		display: grid;
	  gap: 1%;
		grid-template-columns: 1fr 1fr 1fr 1fr;
	}
	ul.menu > li.accordeonck {
		/*flex-basis: 23%;
		flex-shrink: 0;*/
	}
}

div div.gf_container > div.navigation.no_pagination > ul.thumbs {
  display: flex;
  justify-content: center !important;
}


div div#gf_thumbs_es_article_images_fcitem1 {
  height: auto;
}
div div.gf_container > div.navigation > ul.thumbs {
  margin-top: 0 !important;
}

div.gf_container div.slideshow-container div.controls div.nav-controls {
  display: none !important;
}

header.container-header {
  display: grid !important;
  grid-template-columns: 1fr 5fr;
  justify-content: center;
  align-content: center;
  align-items: center;
  margin: 0 auto;
}

header.container-header > div.grid-child:not(.container-nav) {
  _flex-basis: 40%;
}
header.container-header > div.grid-child.container-nav {
	margin-top: 1rem;
	margin-bottom: 0;
	display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  width: 100%;
}

.mod-languages__list.lang-inline {
  display: flex;
  flex-direction: row;
  gap: 4px;
  justify-content: center;
  padding: 12px;
}
.mod-languages__list.lang-inline li{
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 12px;
}
.mod-languages__list.lang-inline img {
	width: 32px;
	min-width: 32px;
	margin: 0;
}

div.mod-languages {
	display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
	justify-content: center;
}
div.mod-languages ul a {
  padding: 0;
  display: flex;
  justify-content: center;
}
div.mod-languages ul li.lang-active {
  background-color: wheat;
}

.card {
  border: none !important;
}

div.mod-languages ul li,
div.mod-languages ul li a,
div.mod-languages ul li a img {
  margin: 0;
}

div.mod-languages {
  margin: 0 4px 0 12px;
}

@media (min-width:768px) and (max-width: 1023px) {
	header.container-header > * {
		margin-left: 0 !important;
        margin-rigth: 0 !important;
		width: unset;
	}
	header.container-header > .grid-child:not(.container-nav) {
		align-content: center;
	}
	div.mod-languages {
		min-width: 48px;
	}
}
/*@media (max-width: 767px) {
  ul.menu {
    display: flex;
		flex-wrap: wrap;
  }
  ul.menu > li a {
		padding: 4px;
  }
	header.container-header > *,
	div.site-grid > .container-component {
		padding: 8px !important;
	}
	.slideshow-container {
		max-height: 80vw;
	}
}*/


body .mobilemenuck-bar {
  /*z-index: 102;*/
}

.mobilemenuck-bar-button {
	padding-top: 0 !important;
}
div .accordeonck.level1 a > .mobilemenuck-item-text {
	color: white !important;
}

.mobilemenuck-item > .level1 a {
  line-height: 44px !important;
}

@media (width <= 767px) {
  header.container-header > div.grid-child.container-nav {
		margin: 0 !important;
		position: absolute;
		top: -2em;
		left: 3em;
		width: fit-content;
	}
	header.container-header {
		z-index: 103;
        grid-template-columns: 1fr;
        margin-top: 0.4em;
	}
	.mod-languages__list.lang-inline img {
		margin: -4px 16px 2px 8px;
	}
	ul.mod-languages__list.lang-inline {
		flex-direction: row;
		position: relative;
        top: -1.02em;
        left: -2em;
	}
	ul.mod-languages__list.lang-inline > li {
      padding: 0 0.6em;
	}
	ul.mod-languages__list.lang-inline > li a {
      color: white;
	}
    div.mod-languages ul li.lang-active {
      background-color: darkorange;
    }
    .site-grid {
      padding-left: 0.5em;
      right: 0.5em;
    }
}

div#gf_container_es_article_images_fcitem1 div.slideshow-container {
  height: min(80vw, 80vh) !important;
}

div.gf_container div.slideshow img {
  width: min(1920px, 100%)!important;
}

header .grid-child.container-nav > :first-child {
	flex-grow: 1;
    align-content: center;
}
.fc_buttons.btn-group > .btn:hover {
	background-color:rgba(0, 0, 0, 0.1);
	/* Add a box shadow to the button */
	box-shadow: 1px 1px 5px rgba(0, 0, 0, 0.2);
}
.fc_buttons.btn-group > .btn > [class^="icon-"],
.fc_buttons.btn-group > .btn > [class*=" icon-"] {
	float: left;
	margin-top: 4px;
}

.rg-gallery > .rg-image-wrapper > .rg-image-nav > a > div {
  padding: 32px 0 !important;
  border-radius: 8px !important;
}
div .topblock .flexi.image {
  margin-left: 1%;
  margin-right: 1%;
  max-width: 98% !important;
}

.news.mod_flexicontent_wrapper .field_value,
.fc_block.fcitem_fields {
  max-width: 100%;
}

.rg-gallery > .rg-thumbs > .es-carousel-wrapper .es-carousel {
  display: flex;
  max-width: fit-content;
  margin: 0 auto;
}

div#rg-gallery_es_article_images_fcitem4.rg-gallery > .rg-image-wrapper {
  max-height: 50vw;
}
div.rg-gallery > .rg-thumbs {
  margin: 16px 0;
  max-width: fit-content;
  margin: 24px auto !important;
}




@media (min-width: 1800px) {
    .item-id-41 div .container-top-a,
    .item-id-1  div .container-top-a {
        grid-area: 1 / 2 / span 1 / span 4 !important;
    }
    .item-id-41 div .container-sidebar-left,
    .item-id-1  div .container-sidebar-left {
        grid-area: 2 / 2 / span 1 / span 4 !important;
    }
    .item-id-41 div .container-component,
    .item-id-1  div .container-component {
        grid-area: 3 / 2 / span 1 / span 2 !important;
    }
    .item-id-41 div .container-sidebar-right,
    .item-id-1  div .container-sidebar-right {
        grid-area: 3 / 4 / span 1 / span 2 !important;
    }
}
@media (min-width: 1200px) and (max-width: 1799px) {
    .item-id-41 div .container-top-a,
    .item-id-1  div .container-top-a {
        grid-area: 1 / 1 / span 1 / span 6 !important;
    }
    .item-id-41 div .container-sidebar-left,
    .item-id-1  div .container-sidebar-left {
        grid-area: 2 / 1 / span 1 / span 6 !important;
    }
    .item-id-41 div .container-component,
    .item-id-1  div .container-component {
        grid-area: 3 / 1 / span 1 / span 3 !important;
    }
    .item-id-41 div .container-sidebar-right,
    .item-id-1  div .container-sidebar-right {
        grid-area: 3 / 4 / span 1 / span 3 !important;
    }
}
@media (max-width: 1199px) {
    .item-id-41 div .container-top-a,
    .item-id-1  div .container-top-a {
        grid-area: 1 / 1 / span 1 / span 7 !important;
    }
    .item-id-41 div .container-sidebar-left,
    .item-id-1  div .container-sidebar-left {
        grid-area: 2 / 1 / span 1 / span 7 !important;
    }
    .item-id-41 div .container-component,
    .item-id-1  div .container-component {
        grid-area: 3 / 1 / span 1 / span 7 !important;
    }
    .item-id-41 div .container-sidebar-right,
    .item-id-1  div .container-sidebar-right {
        grid-area: 4 / 1 / span 1 / span 7 !important;
    }
}

.leaflet-popup-content div .festival-event-title {
}
.leaflet-popup-content div .festival-event-place * {
}
.leaflet-popup-content .festival-event-description {
  margin-top: 32px;
}
.leaflet-popup-content .marker_actions {
  position: absolute;
  top: 7em;
  left: 1em;
  min-width: 16em;
  justify-content: start;
  text-align: left;
  width: 120px;
  white-space:
  wrap !important;
  min-width: unset;
}

.sponsors-module .sponsors-logos {
  display: flex;
  gap: 1%;
  align-items: stretch;
}

.sponsors-module .sponsors-logos > * {
  flex-basis: 33%;
	max-width: 33%;
	flex-shrink: 1;
	flex-grow: 1;
	display: flex;
  align-items: center;
	text-decoration: none;
}
.sponsors-module .sponsors-logos > *:before {
  top: -40%;
  position: relative;
}
.sponsors-module .sponsors-logos > * > img {
  max-height: 70%;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
}
.sponsors-module .sponsors-logos > *:hover > img {
  border: 1px solid darkred;
}

.fc_module_marker_list .marker_actions .fc-map-link-text {
   display: inline-block !important;
}

.fc_module_marker_list .marker_actions {
  display: flex;
  flex-direction: column;
  width: 100%;
}
.fc_module_marker_list .marker_actions > * {
  flex-basis: auto !important;
  width: 100%;
  max-width: unset !important;
  text-align: right;
}
.fc_module_marker_list .marker_actions > * > a {
  width: 100%;
}

.fc-map-link {
  display: inline-block !important;
}
.fc-map-link .fc-map-link-text {
  padding: 0 !important;
}
.fc-map-link .fc-map-link-icon {
  margin: 0 !important;
}