:root {
--accentColor: #E5342D;
--secondColor: #EBEAED;
--greyColor: #414141;
--bodyColor: #272727;

::selection {
    color: var(--secondColor);
    background-color: var(--accentColor);
}


}
#top {
display: none;
}
#top,
#top .inside {
background-color: rgba(0,0,0,0);
}
#top-wrapper #top .inside {
padding-top: 8px;
padding-bottom: 8px;
}
#top-wrapper #top  {
border-bottom: 1px solid #484848;
}
html, body  {
    font-family: Montserrat;
    font-weight: 400;
    font-size: 20px;
}
body {
    color: #272727;
}
p  {
    line-height: 26px;
}
h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6,
.ce_revolutionslider_text.bold, .font_headline {
    font-family: "Playfair Display";
    font-weight: 700;
}
h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6, .font_headline {
    hyphens: none;
}
h1, .h1, .h1 p, h2, .h2, .h2 p, h3, .h3, .h3 p, h4, .h4, .h4 p, h5, .h5, .h5 p, h6, .h6, .h6 p {
    font-size: 50px;
    line-height: 55px;
}
@media only screen and (max-width: 767px) {
    h1, .h1, .h1 p, h2, .h2, .h2 p, h3, .h3, .h3 p, h4, .h4, .h4 p, h5, .h5, .h5 p, h6, .h6, .h6 p {
        font-size: 1.733rem;
        line-height: 2.4rem;
    }
}

h1, h1 a, .h1, .h1 a, .h1 p,
h2, h2 a, .h2, .h2 a, .h2 p,
h3, h3 a, .h3, .h3 a, .h3 p,
h4, h4 a, .h4, .h4 a, .h4 p,
h5, h5 a, .h5, .h5 a, .h5 p,
h6, h6 a, .h6, .h6 a, .h6 p {
    color: #E5342D;
}
#top .inside,
.header .inside,
#footer .inside,
#bottom .inside,
body.sidebar #container,
.mod_article:not(.fullwidth):not(.fullwidth-boxed-medium):not(.fullwidth-boxed-small) > .container,
.fullwidth.boxed-content .contentwrap,
.smallwidth .contentwrap,
.boxed-content .contentwrap,
.autogrid_wrapper.article,
.ce_text_image_bar .inside,
.ce_headerimage .ce_headerimage_inside,
.ce_video_background .ce_video_background_inside,
#offcanvas-top .offcanvas-top-inside,
.ce_calltoaction .ce_calltoaction_inside,
.mod_breadcrumb .mod_breadcrumb_inside,
.mod_pageimage .container,
.body_bottom .mod_search .container {
    max-width: 1500px;
}
.mod_article.boxed {
    max-width: calc(1500px - 80px);
    margin-left: auto;
    margin-right: auto;
}
#footer h4,
#footer .h4 {
font-size: 18px;
}
#footer h1,
#footer h2,
#footer h3,
#footer h4,
#footer h5,
#footer h6,
#footer .h1,
#footer .h2,
#footer .h3,
#footer .h4,
#footer .h5,
#footer .h6 {
    color: #ffffff;
    font-family: 'Montserrat';
}
#footer {
    font-size: 16px;
    background-color: #414141;
}
#footer,
#footer a {
    color: #ffffff;
}
#footer li:after {
    border-color: #ffffff;
}
#footer .inside a:hover {
    color: #E5342D;
}
#bottom {
    font-size: 18px;
    background-color: #E5342D;
    border-top: 1px solid rgba(255, 255, 255, 0.13);
}
#bottom .inside,
#bottom .inside a {
    color: #ffffff;
}


@media only screen and (min-width: 768px) {
.header.cloned {
background: #ffffff;
}
}
@media only screen and (max-width: 767px) {
.header {
background: #ffffff;
}
}
.mmenu_trigger {
color: #272727;
}
.mmenu_trigger .burger .burger_lines,
.mmenu_trigger .burger .burger_lines:after,
.mmenu_trigger .burger .burger_lines:before {
background-color: #272727;
}
.mainmenu ul li a  {
font-family: Montserrat;
}
.mainmenu ul li a  {
font-weight: 400;
}
.mainmenu ul li a  {
font-size: 20px;
}
.header .mainmenu ul li a,
.header .mainmenu ul li ul a.active,
.header .ce_search_label i,
.header .mod_langswitcher .mod_langswitcher_inside,
.header .header_metanavi a,
.header .mod_socials a {
color: #272727;
}
.mod_langswitcher .mod_langswitcher_inside:before {
border-color: #272727;
}
.header .mod_socials:before {
border-color: #272727;
}
.header .smartmenu .smartmenu-trigger .line,
.header .smartmenu .smartmenu-trigger .line:before,
.header .smartmenu .smartmenu-trigger .line:after {
background: #272727;
}
.header.original .mainmenu:before {
background: #272727;
}
.header.original .mainmenu ul li a.trail.a-level_1,
.header.original .mainmenu ul li a.active.a-level_1,
.header.cloned .mainmenu ul li a.trail.a-level_1,
.header.cloned .mainmenu ul li a.active.a-level_1,
.mod_pct_megamenu .mod_navigation a.active.a-level_1 {
color: #E5342D;
}
.header .mainmenu ul li a.a-level_1:hover  {
color: #E5342D;
}
.header.original .mainmenu ul li {
line-height: 55px;
}
.header.original .mainmenu ul .megamenu-wrapper {
top: auto;
}
@media only screen and (min-width: 768px) and (max-width: 1080px) {
.smartmenu {
display: block;
}
.mainmenu {
display: none;
}
}
.header .mainmenu a.pct_megamenu:after,
.header .mainmenu a.submenu:after {
font-family: FontAwesome;
content: "\f107";
margin-left: 5px;
transition: all 0.3s;
display: inline-block;
transform-origin: center center;
}
.header .mainmenu a.pct_megamenu.active:after,
.header .mainmenu a.active.submenu:after,
.header .mainmenu a.submenu:not(.click_open):not(.pct_megamenu):hover:after,
.header .mainmenu li.submenu:not(.click_open):not(.pct_megamenu):hover a:after {
transform: rotate(180deg);
}
.header .mainmenu ul ul li.submenu a:after {
transform: rotate(-90deg)!important;
}
.mainmenu ul ul,
#top .top_metanavi li ul,
.mod_pct_megamenu {
border-radius: 5px;
}
.mod_pct_megamenu .column:last-of-type .attributes {
border-radius: 0 5px 5px 0;
}
.smartmenu-content .mod_navigation a {
color:#272727;
}
.smartmenu-content .mod_navigation a.active, .smartmenu-content .mod_navigation a.trail {
border-color:#272727;
}
.smartmenu-content .smartmenu-close:before, .smartmenu-content .smartmenu-close:after {
background:#272727;
}
.smartmenu-content .subitems_trigger:before {
color: #272727;
}
.smartmenu-content {
background-color:#ffffff;
}
body {
background-color:#ffffff;
}
@media only screen and (min-width : 768px) and (max-width : 1024px) {
#top {
display: none!important;
}
.mmenu_trigger {
float: right!important;
display: flex!important;
margin-left: 15px!important;
}
.smartmenu {
display: none!important;
}
.mainmenu {
display: none!important;
}
#mmenu {
display: block!important;
}
#fix-wrapper {
width: 100%!important;
height:auto!important;
top: 0!important;
}
.mmenu_trigger {
display: flex!important;
right: 20px!important;
}
.header .mainmenu,
.header .mod_socials,
.header .mod_langswitcher,
.header .mod_search,
.header .header_metanavi {
display: none!important;
}
#slider,
#wrapper,
#bottom,
#offcanvas-top,
#footer {
margin-left: auto!important;
margin-right: auto!important;
}
#mmenu {
display: block!important;
top: 0;
}
.logo {
float: left!important;
position: static!important;
transform: none!important;
-webkit-transform: none!important;
margin: 0!important;
}
.header {
margin: 0!important;
}
.header .inside {
padding-left: 40px!important;
}
.header.original:before {
display: none!important;
}
.header.original {
height: auto!important;
}
}
@media only screen and (min-width : 768px) and (max-width : 1024px) {
.mmenu_trigger {
color: #272727;
}
.mmenu_trigger .burger .burger_lines,
.mmenu_trigger .burger .burger_lines:after,
.mmenu_trigger .burger .burger_lines:before
{
background-color: #272727;
}
}
.mmenu_trigger .label {
display: none;
}
#mmenu .mod_navigation li a {
font-size: 22px;
}
#mmenu .mod_navigation li.submenu .opener {
width: calc(22px + 10px);
}
#mmenu .mod_navigation li a {
line-height: 40px;
}
#mmenu .mod_navigation li.submenu .opener {
height: calc(40px + 5px);
}
#mmenu .mod_navigation li a,
#mmenu .mod_socials a,
#mmenu .mod_mmenu_custom_nav a {
color: #272727;
}
#mmenu .mod_search input {
color: #272727;
}
#mmenu .mod_langswitcher .mod_langswitcher_inside:after {
color: #272727;
}
#mmenu .mod_langswitcher .mod_langswitcher_inside:before {
border-color: #272727;
}
#mmenu .mod_navigation li a.open, #mmenu .mod_navigation li a.active {
color: #e5342d;
}





.ce_text ol, .ce_list:not(.hasIcon) ol {
    padding-left: 40px;
}


/* =============================================================================
 * Individuelle Einstellungen für VASAS
 * ========================================================================== */

/* playfair-display-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/playfair-display-v37-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* montserrat-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/montserrat-v29-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* montserrat-600 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 600;
  src: url('../fonts/montserrat-v29-latin-600.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* montserrat-700 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 700;
  src: url('../fonts/montserrat-v29-latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

.logo a {
    background-image: url(../img/VASAS-logo.png);
}
.header {
    line-height:120px;
}
.header .logo {
        width: 230px;
        height: 120px;
}


@media only screen and (max-width: 768px) {
    .stickyheader .header .logo {
        height: 70px;
        width: 150px;
    }
}
@media only screen and (min-width: 768px) {
    .stickyheader .header.cloned {
        line-height: 80px;
    }
    .stickyheader .header .logo {
        width: 160px;
        height: 80px;
    }
}
@media only screen and (max-width: 399px) {
    .header .logo {
        width: 180px;
    }
}


.mod_pct_megamenu .ce_text_imagebox:hover a:hover {
    box-shadow: none;
    transform: none;
    -webkit-transform: none;
    z-index: 0;
}
.mod_pct_megamenu .ce_text_imagebox .content p {
    font-size: 2rem;
    font-weight: 700;
}


.ce_bgimage.bg-nocolor {
    background: transparent;
}

.offcanvas-trigger {
	display:none;
}

a {
	color: var(--accentColor);
}
p a:hover {
    text-decoration: underline;
}
.ce_leadertext.version1 {
    margin-bottom: 60px;
    max-width: 900px;
}

.headline {
	font-family: 'Playfair Display';
	color: var(--accentColor);
}

.txt-color-gray, .txt-color-gray p, .txt-color-gray i, .txt-color-gray a, .txt-color-gray h1, .txt-color-gray h2, .txt-color-gray h3, .txt-color-gray h4, .txt-color-gray h5, .txt-color-gray h6, .txt-color-gray .h1, .txt-color-gray .h2, .txt-color-gray .h3, .txt-color-gray .h4, .txt-color-gray .h5, .txt-color-gray .h6, .txt-color-gray .h1 p, .txt-color-gray .h2 p, .txt-color-gray .h3 p, .txt-color-gray .h4 p, .txt-color-gray .h5 p, .txt-color-gray .h6 p, .txt-color-gray.h1, .txt-color-gray.h2, .txt-color-gray.h3, .txt-color-gray.h4, .txt-color-gray.h5, .txt-color-gray.h6, .txt-color-gray.h1 p, .txt-color-gray.h2 p, .txt-color-gray.h3 p, .txt-color-gray.h4 p, .txt-color-gray.h5 p, .txt-color-gray.h6 p {
	color: var(--greyColor);
}

.ce_headline.width-l {
    max-width: 900px;
}

.ce_leadertext.version1 {
    margin-bottom: 20px;
    max-width: 1100px;
}

.ce_leadertext.version1 p {
    font-size: 1.4rem;
    line-height: 1.555rem;
}
@media only screen and (max-width: 767px) {
    .ce_leadertext.version1 p {
        font-size: 1.133rem;
        line-height: 1.4rem;
    }
}



.leadertext, .leadertext p {
    font-size: 1.4rem;
    line-height: 1.555rem;
	font-weight:600;
}

.red-header .headline {
	color:#ffffff;
}

.box-bg-white {
	background: #ffffff;
	border-radius:15px;
	padding:25px;
}

.box-bg-second {
	background: var(--secondColor);
	border-radius:15px;
	padding:25px;
}

.box-bg-accent {
	background: var(--accentColor);
	border-radius:15px;
	padding:25px;
	color:#ffffff;
}

.ce_divider_extended.version3 {
    background: var(--secondColor);
    width: 100%;
    height: 2px;
}


.ce_hyperlink a:hover, a.btn:hover {
    opacity: 1;
}

.ce_hyperlink a:hover, a.btn:hover {
	color: var(--accentColor);
    border: 2px solid var(--accentColor);
    background: transparent;
}

.ce_hyperlink-extended a.link-white {
    color: var(--accentColor);
    border: 2px solid #ffffff;
    background: #ffffff;
}

.ce_hyperlink-extended a.link-white:hover {
    background: transparent;
    color: #ffffff;
}

.ce_hyperlink-extended a.outline:hover {
    background: var(--accentColor);
    border-color: var(--accentColor);
    color: #ffffff;
}

.ce_imagemap .hotspot_content {
	border: 15px;
	min-width:420px;
}

/* =============================================================================
 * Formular
 * ========================================================================== */

form fieldset {
    padding: 0px;
    border: none;
}

fieldset.hidden-formfield  {
	background: var(--secondColor);
	padding: 20px;
	border-radius:10px;
}

fieldset.hidden-formfield label {
	line-height:1.2rem;
	margin-bottom:10px;
}

form .widget-radio .radio-anrede span {
	display:inline-block;
	margin-right:20px;
}

button.submit {
	min-width:100%;
	font-size:1.5rem;
	font-weight:600;
	border-radius: 0px;
	padding:0px;
	height: 70px;
}

form .checkbox_container span, form .widget-radio span {
    padding: 5px 0;
}





input[type="checkbox"]:checked::before {
    transform: none;
}
input:hover:not([type="submit"]), button:hover:not([type="submit"]), textarea:hover {
    border: 1px solid;
}
form .checkbox_container label, form .widget-radio label {
    font-size: 0.8em;
    line-height: 1.2;
}




input[type="checkbox"] {
    -webkit-appearance: none;
    appearance: none;
    background-color: #fff;
    margin: 0;
}

input[type="checkbox"] {
    appearance: none;
    background-color: #fff;
    margin: 0;
    font: inherit;
    color: currentColor;
    width: 1.15em;
    height: 1.15em;
    min-width: 1.15em;
    margin-right: 10px;
    border: 0.075em solid currentColor;
    border-radius: 0.15em;
    transform: translateY(-0.075em);
    display: grid;
    place-content: center;
}
input[type="checkbox"]::before {
    content: "";
    width: 0.65em;
    height: 0.65em;
    transform: scale(0);
    transition: 120ms transform ease-in-out;
    box-shadow: inset 1em 1em var(--accentColor);
}
input[type="checkbox"] {
    display: grid;
    place-content: center;
}

input[type="checkbox"]::before {
    content: "";
    width: 0.65em;
    height: 0.65em;
    transform: scale(0);
    transition: 120ms transform ease-in-out;
    box-shadow: inset 1em 1em var(--accentColor);

    transform-origin: bottom left;
    clip-path: polygon(14% 44%, 0 65%, 50% 100%, 100% 16%, 80% 0%, 43% 62%);
}

input[type="checkbox"]:checked::before {
    transform: scale(1);
}
.form-control + .form-control {
    margin-top: 1em;
}





/* =============================================================================
 * mm megamenu
 * ========================================================================== */

.mod_pct_megamenu .item.active {
    box-shadow: 0 0 60px 20px rgba(0, 0, 0, 0.1);
    display: block;
    padding: 40px;
	border: 1px solid var(--accentColor);
}

/* =============================================================================
 * news
 * ========================================================================== */

.newslist-v2 {
    display: block;
}

.newslist-v2 .news-image-v2 {
    flex: 0 0 0;
    margin-top: 0px;
}

.newslist-v2 .headline {
	font-family: 'Playfair Display';
	font-weight:700;
	color: var(--accentColor);
	font-size:1.8rem;
	margin-bottom:25px;
}

.newslist-v2 .subheadline-v2 {
	font-size: 1.4rem;
    line-height: 1.5rem;
	font-weight:700;
	color: var(--greyColor);
}

.newslist-v2 .comments-v2 {
	display:none;
}

.newslist-v2 {
    display: block;
    border-top: 2px solid var(--secondColor);
    padding-top: 80px;
}

.newslist-v2:first-child {
    border-top: 0px solid var(--secondColor);
}

.newsreader .info {
	display:none;
}

.newslist-home-mini .teaser-v2,
.newslist-home-mini .news-date-v2,
.newslist-home-mini .author-v2 {
	display:none;
}

.newslist-home-mini .newslist-v2 {
	padding:0;
	margin:0;
}

.newslist-home-mini .newslist-v2 .subheadline-v2 {
	font-size:0.8rem;
	line-height:1.0rem;
    margin-top: 15px;
}

.newslist-home-mini .news-content-v2 .headline {
	font-size:1.1rem;
	line-height:1.4rem;
}

.newslist-home-mini .newslist-v2 .news-content-v2 {
	padding:0px;
}

.newslist-home-mini .news-content-v2 .link a {
    display: initial;
	padding:5px 10px;
	font-size:0.8rem;
	font-weight:400;
	border:1px solid var(--accentColor);
    margin-bottom: 0;
}


/* =============================================================================
 * events
 * ========================================================================== */

.mod_eventlist_v3 .event {
	width:100%;
	margin-bottom:50px;
	display: block;
    border-top: 2px solid var(--secondColor);
    padding-top: 50px;
}

.mod_eventlist_v3 .event:first-child {
	border-top: 0px solid var(--secondColor);
	padding-top: 0px;
}

.mod_eventlist .headline {
	font-family: 'Playfair Display';
	font-weight:700;
	color: var(--accentColor);
	font-size:1.8rem;
	margin-bottom:25px;
}

.mod_eventlist .info,
.mod_eventlist .location {
	font-weight:700;
	color: solid var(--secondColor);
	font-size:1.4rem;
	line-height:1.6rem;
}

.mod_eventlist_v3 {
	margin:0;
}
.eventlist-home-mini .headline {
    font-size: 1rem;
    line-height: 1.2rem;
}
.eventlist-home-mini .download-element a {
	padding:5px 10px;
	font-size:0.8rem;
	font-weight:400;
	border:1px solid var(--accentColor);
}

.eventlist-home-mini .mod_eventlist_v3 .event {
	margin-bottom: 0;
    padding-top: 20px;
}
.eventlist-home-mini .mod_eventlist_v3 .event.featured {
    background: linen;
    padding: 10px;
}

.eventlist-home-mini .mod_eventlist .info,
.eventlist-home-mini .mod_eventlist .location {
	font-weight:700;
	color: solid var(--secondColor);
	font-size:0.8rem;
	line-height:0.8rem;
}
.eventlist-home-mini p.link a {
    padding: 5px 10px;
    font-size: 0.8rem;
    font-weight: 400;
    border: 1px solid var(--accentColor);
    text-transform: uppercase;
    min-width: max-content;
    transition: all 300ms ease-out 100ms;
}
.eventlist-home-mini p.link a:hover {
    background: var(--accentColor);
    color: #ffffff;
}
.eventlist-home-mini p.link {
    padding-top: 10px;
    border-top: 2px solid var(--secondColor);
}
.eventlist-home-mini .newslist-v2 p.link {
    border-top: none;
}

.mod_eventreader .info {
    float: none;
    margin-left: 0;
    padding-left: 0;
    border-left: none;
    padding-bottom: 30px;
}







/* =============================================================================
 * Footer
 * ========================================================================== */

#footer .mod_eventlist .event {
    margin-bottom: 0;
    padding-top: 15px;
}
#footer .mod_eventlist .headline {
    font-size: 0.9rem;
    font-family: inherit;
    margin-bottom: 5px;
    line-height: 1.2;
}
#footer .mod_eventlist .info {
    font-weight: 300;
    font-size: 0.8rem;
    line-height: 1rem;
}
#footer p.link a:before {
    content: "\f105";
    font-family: FontAwesome;
    text-align: center;
    position: absolute;
    left: 0;
    display: block;
    height: 20px;
    width: 60px;
    margin-top: -1px;
}



/* =============================================================================
 * Bottom
 * ========================================================================== */
#bottom .inside a:hover {
    color: var(--secondColor);
}


/* =============================================================================
 * ce_flipbox
 * ========================================================================== */

.ce_flipbox.style2 .ce_flipbox_frontside,
.ce_flipbox.style2 .ce_flipbox_backside {
	border-radius:15px;
}

.ce_flipbox.style2 .ce_flipbox_frontside {
    background: var(--accentColor);
}

.ce_flipbox.style2 .ce_flipbox_backside {
	background: var(--secondColor);
}

.ce_flipbox.style2 .headline {
	font-size: 1.6rem;
    line-height: 2rem;
	color: #ffffff;
}

.ce_flipbox.style2 a, .download-element a, .news-content-v2 .link a, .event a.url {
    display: inline-block;
    padding: 15px 20px;
    margin-bottom: 15px;
    cursor: pointer;
    transition: all 300ms ease-out 100ms;
    width: auto;
    border: 2px solid var(--accentColor);
    font-weight: bold;
    min-width: max-content;
    text-align: center !important;
    position: relative;
}
.ce_flipbox.style2 a:hover,
.download-element a:hover,
.news-content-v2 .link a:hover {
	background: var(--accentColor);
	color:#ffffff;
}

/* =============================================================================
 * ce_teambox
 * ========================================================================== */

.team_wrapper {
    display: flex;
    flex-flow: row wrap;
}
.ce_teambox {
   flex-basis: 100%;
}

.ce_teambox .name,
.ce_teambox .function {
    line-height: 1.2rem;
}

.ce_teambox.hover_image .team-content-hover {
	background: var(--secondColor);
}

/* Mobile-Anpassungen */
@media (min-width: 767px) {
    .ce_teambox {
        flex-basis: 33%;
    }
}
@media (min-width: 1023px) {
    .ce_teambox {
        flex-basis: 25%;
    }
}
@media (min-width: 1649px) {
    .ce_teambox {
        flex-basis: 20%;
    }
}
@media (min-width: 1919px) {
    .ce_teambox {
        flex-basis: 16.6666666667%;
    }
}



/* =============================================================================
 * ce_checklist
 * ========================================================================== */

.ce_checklist li {
    display: block;
    padding: 5px;
    border-bottom: 1px solid rgba(150,150,150,0.5);
    transition: All 0.3s ease;
    -webkit-transition: All 0.3s ease;
}
.ce_checklist li:last-of-type {
    border-bottom: none !important;
}

.ce_checklist a {
    display: block;
    transition: All 0.3s ease;
    -webkit-transition: All 0.3s ease;
}

.ce_checklist a:hover {
    background: rgb(248,248,248);
}

.ce_checklist li .icon {
    display: table-cell;
    vertical-align: middle;
    width: 40px;
    height: 30px;
    line-height: 30px;
    font-size: 20px;
    text-align: center;
}

.ce_checklist li span {
    display: table-cell;
    vertical-align: middle;
    line-height: 1.3;
    padding-left: 10px;
}

/* style2 */
.ce_checklist.style2 li a,
.ce_checklist.style2 li span,
.ce_checklist.style2 li .icon {
    transition: All 0.3s ease;
    -webkit-transition: All 0.3s ease;
}
.ce_checklist.style2 li a:hover span,
.ce_checklist.style2 li a:hover .icon {
    color: rgb(255,255,255);
}
.ce_checklist.style2 .icon, .ce_checklist.style2 span {
    color: #ae6c19;
}

/* style3 */
.ce_checklist.style3 li span {
    color: rgb(160,160,160);
}

/* style4 */
.ce_checklist.style4 li {
    border-color: rgba(255,255,255,0.2);
}
.ce_checklist.style4 li a:hover {
    background: rgba(255,255,255,0.1);
}
.ce_checklist.style4 li a,
.ce_checklist.style4 li span,
.ce_checklist.style4 li .icon {
    color: rgb(240,240,240);
}

/* style5 */
.ce_checklist.style5 li {
    border-bottom-style: dotted;
}

.ce_checklist.style5 li .icon {
    color: rgb(200,200,200);
}
.ce_checklist.style5 li span {
    color: #ae6c19;
}

/* style6 */
.ce_checklist.style6 .checked {
    color: crimson;
}
.ce_checklist.style6 .checked span {
    text-decoration: none;
}


.checked span {
    text-decoration: line-through;
}


/* =============================================================================
 * ce_downloadbox
 * ========================================================================== */

.ce_downloadbox {
    position: relative;
}

.ce_downloadbox .ce_downloadbox_image {
    position: relative;
    overflow: hidden;
    -webkit-backface-visibility: hidden;
}

.ce_downloadbox .ce_downloadbox_image .image_container img {
    border: 1px solid #efefef;
    width: 100%;
}

.ce_downloadbox .ce_downloadbox_overlay {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    background: rgba(0,0,0,0.5);
    opacity: 0;
    transition: opacity 0.3s ease;
    -webkit-transition: opacity 0.3s ease;
}

.ce_downloadbox:hover a .ce_downloadbox_overlay {
    opacity: 1;
}

.ce_downloadbox.version1 a i:before,
.ce_downloadbox.version2 a i:before,
.ce_downloadbox.version3 a i:before,
.ce_downloadbox.version4 a i:before,
.ce_downloadbox.version5 a i:before,
.ce_downloadbox.version6 a i:before {
    content: '';
    width: 30px;
    height: 1px;
    background: rgb(255,255,255);
    position: absolute;
    top: 50%;
    margin-left: -15px;
    left: 50%;
}

.ce_downloadbox.version1 a i:after,
.ce_downloadbox.version2 a i:after,
.ce_downloadbox.version3 a i:after,
.ce_downloadbox.version4 a i:after,
.ce_downloadbox.version5 a i:after,
.ce_downloadbox.version6 a i:after {
    content: '';
    width: 30px;
    height: 1px;
    background: rgb(255,255,255);
    position: absolute;
    top: 50%;
    margin-left: -15px;
    left: 50%;
    transform: rotate(90deg);
    -webkit-transform: rotate(90deg);
}

.ce_downloadbox:hover a i {
    transform: scale(1);
    -webkit-transform: scale(1);
}

.ce_downloadbox .headline {
    margin-top: 5px;
    margin-bottom: 0;
}

.ce_downloadbox h4.headline {
    margin-top: 15px;
    margin-bottom: 15px;
}

.ce_downloadbox .text {
    margin-top: 5px;
}

.ce_downloadbox.version2 {
    text-align: center;
}

.ce_downloadbox.version3 .content {
    background: rgb(255,255,255);
    padding: 15px 15px 10px 15px;
}

.ce_downloadbox h4 {
    font-family: inherit;
    font-size: inherit;
}

.ce_downloadbox h5 {
    font-family: inherit;
    font-size: inherit;
}

.ce_downloadbox h6 {
    font-family: inherit;
    font-size: inherit;
    color: rgb(152,152,152);
}

.ce_downloadbox.version4 .content {
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
    text-align: center;
    color: rgb(255,255,255);
    padding-left: 30px;
    padding-right: 30px;
}

.ce_downloadbox.version4 .content h1,
.ce_downloadbox.version4 .content h2,
.ce_downloadbox.version4 .content h3,
.ce_downloadbox.version4 .content h4,
.ce_downloadbox.version4 .content h5,
.ce_downloadbox.version4 .content h6 {
    border-top: 2px solid rgb(255,255,255);
    border-bottom: 2px solid rgb(255,255,255);
    display: inline-block;
    padding: 4px 0;
    color: rgb(255,255,255);
    margin-bottom: 1em;
}

.ce_downloadbox.version5 .content {
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
    text-align: center;
    color: rgb(255,255,255);
    padding-left: 30px;
    padding-right: 30px;
    z-index: 10;
}

.ce_downloadbox.version5 .content .headline {
    display: block;
    color: rgb(255,255,255);
    margin-bottom: 10px;
    transition: transform .4s ease-out,opacity .4s ease-out;
    -webkit-transition: transform .4s ease-out,opacity .4s ease-out;
}

.ce_downloadbox.version5:hover .content .headline {
    transform: translateY(-15px);
    -webkit-transform: translateY(-15px);
    opacity: 0;
}

.ce_downloadbox.version5 .content p {
    display: inline-block;
    color: rgb(255,255,255);
    transition: transform .4s ease-out,opacity .4s ease-out;
    -webkit-transition: transform .4s ease-out,opacity .4s ease-out;
}

.ce_downloadbox.version5:hover .content p {
    transform: translateY(15px);
    -webkit-transform: translateY(15px);
    opacity: 0;
}

.ce_downloadbox.version5 .ce_downloadbox_overlay {
    background: rgba(0,0,0,0.4);
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 10;
    transition: opacity 0.3s ease;
    -webkit-transition: opacity 0.3s ease;
    opacity: 1;
}

.ce_downloadbox.version5:hover .ce_downloadbox_overlay {
    opacity: 0;
}

.ce_downloadbox.version5 .image_container img {
    transition: All 0.5s ease;
    -webkit-transition: All 0.5s ease;
}

.ce_downloadbox.version5:hover .image_container img {
    transform: scale(1.1);
}

.ce_downloadbox.version5 .ce_downloadbox_link {
    display: block;
}

.ce_downloadbox.frame-1-dark .ce_downloadbox_image {
    border: 1px solid rgb(220,220,220);
}

.ce_downloadbox.frame-5-dark .ce_downloadbox_image {
    border: 5px solid rgb(220,220,220);
}

.ce_downloadbox.frame-10-dark .ce_downloadbox_image {
    border: 10px solid rgb(220,220,220);
}

.ce_downloadbox.frame-1-light .ce_downloadbox_image {
    border: 1px solid rgb(255,255,255);
}

.ce_downloadbox.frame-5-light .ce_downloadbox_image {
    border: 5px solid rgb(255,255,255);
}

.ce_downloadbox.frame-10-light .ce_downloadbox_image {
    border: 10px solid rgb(255,255,255);
}

.ce_downloadbox .ce_downloadbox_banner {
    transform:rotate(45deg);
    -ms-transform:rotate(45deg);
    -moz-transform:rotate(45deg);
    -webkit-transform:rotate(45deg);
    color: rgb(255,255,255);
    background: rgb(0,0,0);
    font-size: 0.8rem;
    position: absolute;
    right: -2.4rem;
    top: 2rem;
    text-align: center;
    min-width: 11rem;
    z-index: 30;
    padding: 0.2rem;
}







.linkbar {
    overflow: hidden;
    text-align: center;
    position: absolute;
    z-index: 20;
    bottom: -35px;
    height: 0;
    width: 100%;
    transition: All 0.3s ease;
    -webkit-transition: All 0.3s ease;
    top: -35px;
}
.linkbar a {
    padding: 10px;
    opacity: 1;
    width: 50%;
    float: left;
    padding: 7px 10px;
    color: #fff;
    background: rgb(150,150,150);
    transition: All 0.3s ease;
    -webkit-transition: All 0.3s ease;
}
.linkbar i {
    display: inline-block;
    font-size: 1.4em;
}
.ce_downloadbox_image .linkbar a.ce_downloadbox_link {
    border-right: 1px solid rgba(255,255,255,0.2);
}
.ce_downloadbox_image:hover .linkbar {
    top: 5px;
    bottom: 0;
    height: 36px;
}
.ce_downloadbox_image .linkbar a:hover {
    opacity: 1;
    background: rgb(255,255,255);
    color: yellowgreen;
}

.ce_downloadbox_image:hover .image_container img {
    -webkit-filter: none;
    filter: none;
    transform: translateY(20px);
    -webkit-transform: translateY(20px);
    transition: All 0.3s ease;
    -webkit-transition: All 0.3s ease;
}
.ce_downloadbox .ce_downloadbox_image .content p {
    margin-top:15px
}

.downtop .linkbar {
    bottom: -5px;
    top: initial;
    visibility: hidden;
}
.downtop.ce_downloadbox_image:hover .image_container img {
    transform: translateY(0);
    -webkit-transform: translateY(0);
}
.downtop.ce_downloadbox_image:hover .linkbar {
    top: initial;
    bottom: -5px;
    height: 48px;
    visibility: visible;
}
.downtop.ce_downloadbox_image:hover .content {
    position: relative;
    top: -36px;
}


/* =============================================================================
 * ce_form_opener
 * ========================================================================== */

.ce_form_opener_img .ce_hyperlink {
    position: static;
    -webkit-transform: translateY(0);
    transform: translateY(0);
    margin-top: 15px;
}
.ce_form_opener_img .ce_hyperlink a {
    width: 100%;
}

.ce_form_opener:not(.ce_form_opener_img) {
    background: rgb(152,152,152);
    padding: 25px 25px 15px 40px;;
    color: rgb(255,255,255);
    position: relative;
    margin-bottom: 15px;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
}
.ce_form_opener:after {
    content: '';
    width: 10px;
    background: rgba(255,255,255,0.3);
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}
.ce_form_opener:not(.ce_form_opener_img) h1,
.ce_form_opener:not(.ce_form_opener_img) h2,
.ce_form_opener:not(.ce_form_opener_img) h3,
.ce_form_opener:not(.ce_form_opener_img) h4,
.ce_form_opener:not(.ce_form_opener_img) h5,
.ce_form_opener:not(.ce_form_opener_img) h6 {
    color: rgb(255,255,255);
}
.ce_form_opener p {
    margin-bottom: 10px;
}
.ce_form_opener .ce_url a {
    font-weight: bold;
    text-decoration: underline;
    color: rgb(255,255,255)!important;
}
.ce_form_opener .ce_url a:before {
    font-family:FontAwesome;
    font-weight: normal;
    display: inline-block;
    margin-right: 5px;
}

.ce_form_opener .ce_form_opener_inside,
.ce_form_opener .ce_form.block {
    padding: 0 40px;
}
.ce_form_opener .ce_form_opener_inside {
    max-width: 1240px;
    margin-left: auto;
    margin-right: auto;
}


/* =============================================================================
 * ce_form_opener_img
 * ========================================================================== */

.ce_form_opener_img .ce_form_opener_inside {
    padding-top: 60px;
    padding-bottom: 60px;
    position: relative;
}
.ce_form_opener_img {
    margin-bottom: 0;
    padding: 0;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
}
.ce_form_opener_img p {
    font-size: 1.3em;
}
.ce_form_opener_img .headline {
    margin: 0;
}
.ce_form_opener_img .ce_hyperlink {
    position: absolute;
    right: 40px;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}
.ce_form_opener_img .ce_hyperlink a {
    text-decoration: none;
}
.ce_form_opener_img .ce_form_opener_content {
    padding-right: 25%;
}
.ce_form_opener_img:after {
    display: none;
}


/********************************************
*  Hyperlink-Lightbox-Formular
********************************************/

.form_wrapper {
    padding: 20px;
}
.form_content {
    display: flex;
    align-items: center;
}
.form_img {
    margin-right: 30px;
}
.header_metanavi .ce_hyperlink {
    float: left;
    padding: 10px;
}
.header_metanavi .ce_hyperlink a {
    color: #fff!important;
    min-width: 190px;
}

@media only screen and (min-width: 768px) {
    .header.original .header_metanavi a {
        padding: 0;
    }
}


/********************************************
*  Hyperlink-Lightbox-Video auf Bild
********************************************/

.ce_hyperlink_lightbox_video_gb .img_wrapper figure {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
}
.ce_hyperlink_lightbox_video_gb .img_wrapper figure img {
    z-index: 10;
}
.ce_hyperlink_lightbox_video_gb svg#Ebene_1 {
    position: absolute;
    z-index: 20;
    display: inline-block;
    transition: All 0.3s ease;
    -webkit-transition: All 0.3s ease;
    -webkit-transform: scale(.9,.9);
    transform: scale(.9,.9);
}
.ce_hyperlink_lightbox_video_gb .image_container svg#Ebene_1:hover {
    -webkit-transform: scale(1,1);
    transform: scale(1,1);
}
.ce_hyperlink_lightbox_video_gb a img.overlay:hover {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
    transition: All 0.3s ease;
    -webkit-transition: All 0.3s ease;

}
.ce_hyperlink_lightbox_video_gb a img.overlay {
    transition: All 0.3s ease;
    -webkit-transition: All 0.3s ease;
    position: absolute;
    height: auto;
}


/* =============================================================================
 * ce_iconbox +Lightbox
 * ========================================================================== */

.ce_iconbox_lightbox {
    text-align: center;
    display: block;
    position: relative;
}
.ce_iconbox_lightbox.padding:hover {
    z-index: 100;
}
.ce_iconbox_lightbox.default i {
    font-size: 3rem;
}
.ce_iconbox_lightbox .ce_iconbox_inside {
    position: relative;
}
.ce_iconbox_lightbox .ce_iconbox_outside.padding {
    padding: 25px;
    transition: All 0.3s ease;
    -webkit-transition: All 0.3s ease;
}
.ce_iconbox_lightbox:hover .ce_iconbox_outside.padding {
    opacity: 1;
    box-shadow: 0 40px 70px rgba(0,0,0,.2);
    z-index: 100;
}
.ce_iconbox_lightbox .ce_iconbox_outside.padding .content {
    opacity: 0.6;
}
.ce_iconbox_lightbox a.link {
    margin-top: 10px;
    display: inline-block;
}
.ce_iconbox_lightbox .image_container {
    text-align: center;
    margin-bottom: 0;
}
.ce_iconbox_lightbox .image_container img {
    width: auto;
    display: inline-block;
}
.ce_iconbox_lightbox h3 {
    font-size: 1.2rem;
    letter-spacing: 1px;
    position: relative;
    line-height: 1.4;
    margin-bottom: 10px;
}
.ce_iconbox_lightbox .headline {
    margin-bottom: 10px;
}
.ce_iconbox_lightbox:not(.version2):not(.version3) .ce_iconbox_cwrapper {
    margin-top: 20px;
}
.ce_iconbox_lightbox .link:before {
    content: "\f101";
    font-family:FontAwesome;
    font-weight: normal;
    display: inline-block;
    margin-right: 5px;
}
.ce_iconbox_lightbox.same-height {
    display: flex!important;
}
.ce_iconbox_lightbox.default .ce_image.attribute,
.ce_iconbox_lightbox.default i {
    padding-top: 5px;
    transition: All 0.3s ease;
    -webkit-transition: All 0.3s ease;
    position: relative;
    top: 0;
}
.ce_iconbox_lightbox.default:hover .ce_image.attribute,
.ce_iconbox_lightbox.default:hover i {
    top: -5px;
}


/* =============================================================================
 * ce_fadebox
 * ========================================================================== */

.ce_fadebox_gb {
    width: 100%;
    display: inline-block;
    background: #f1f2f4;
    border: 1px solid #f1f2f4;
    border-radius: 20px 0 20px 20px;
    text-align:center
}
.ce_fadebox_gb .wrapper {
    position: relative;
    min-height: 300px;
    display: flex;
    flex-flow: column nowrap;
    justify-content: center;
    align-items: center;
}
.ce_fadebox_gb .content_bg {
    position: absolute;
    opacity: 0;
    margin: 30px;
    transition: all 300ms ease-out;
}
.ce_fadebox_gb .text {
    opacity: 1;
    position: absolute;
    bottom: 2em;
    transition: all 300ms ease-in;
}
.ce_fadebox_gb .text p {
    font-size: 2.2rem;
    line-height:2.6rem;
}
.ce_fadebox_gb:hover .text {
    opacity: 0;
}
.ce_fadebox_gb .container {
    opacity: 1;
    transition: transform 400ms, opacity 300ms ;
}
.ce_fadebox_gb:hover .container {
    transform: translateY(-180px) scale(2.5);
    opacity: 0;
}
.ce_fadebox_gb:hover .content_bg {
    opacity: 1;
    transition: all 300ms ease-out;
}
.ce_fadebox_gb:hover {
    background: #ffffff;
    border: 1px solid #e84c0a;
    border-radius: 20px 0 20px 20px;
}

@media only screen and (max-width:767px) {
    .ce_fadebox_gb .wrapper {
        min-height:370px;
    }
}

/* =============================================================================
 * Login / Registration
 * ========================================================================== */
.mod_registration {
    padding: 35px;
    background: var(--secondColor);
    max-width: 100%;
    border-radius: 20px;
}
.mod_registration .widget label {
    color: #000;
}

.mod_registration fieldset[data-cff-condition] {
    margin-left: 20px;
}
.mod_registration fieldset[data-cff-condition] fieldset[data-cff-condition] {
    margin-left: 0;
}
.mod_registration form .checkbox_container {
    margin-top: 50px;
}
.mod_login {
    background: var(--secondColor);
    border-radius: 20px;
}
.password-reset {
    padding-top: 20px;
}


#formResponse .success, #formResponse .error {
    background: #fff;
    display: inline-block;
    margin-top: 20px;
    padding: 10px 20px;
    font-weight: 700;
    text-transform: uppercase;
    font-style: italic;
}

/* =============================================================================
 * Suche
 * ========================================================================== */
.body_bottom .mod_search input:not(.submit), .body_bottom .mod_search button:not(.submit) {
    background: var(--secondColor);
    border-radius: 25px;
}
.body_bottom .mod_search .close-window {
    color: var(--accentColor);
}

#main .mod_search {
    text-align: left;
}
.header .mod_search {
    margin-left: 20px;
}
.header .ce_search_label i {
    font-size: 20px;
}
.search_wrapper {
    display: flex;
    flex-flow: row;
}
.link.image_container {
    margin-top: 25px;
    flex-basis: 15%;
}
.link.image_container img {
    width: 50px;
}
.mod_search h2 {
    margin-bottom: 0;
    font-size: 2rem;
}
.mod_search .url {
    color: var(--accentColor);
    line-height: 1.5;
}
.search_wrapper p {
    line-height: 1.5;
    margin-left: 30px;
    margin-top: 15px;
}
.mod_search > div:not(.ce_search_label) {
    padding: 20px;
}
.mod_search > div:nth-of-type(2n) {
    background: var(--secondColor);
}

#main .mod_search input, #main .mod_search input.submit, #main .mod_search button.submit {
    border-radius: 5px 0 5px 5px;
}
.mod_search button.submit {
    border: 1px solid var(--accentColor);
    HEIGHT: inherit;
    padding: 5px 20px;
    border: 1px solid var(--accentColor) !important;
}

/* =============================================================================
 * Sprachauswahl
 * ========================================================================== */

nav.mod_changelanguage {
    float: right;
    position: relative;
    z-index: 100;
    transition: All 0.3s ease;
    margin-left: 20px;
    overflow: visible;
}
.changelanguage_inside {
    padding: 10px;
    display: inline-block;
    cursor: pointer;
    line-height: 0;
    position: relative;
}
nav.mod_changelanguage ul {
     display: none;
    position: absolute;
    background: rgb(255,255,255);
    border: 1px solid rgba(0,0,0,0.2);
    right: 0;
    top: 40px;
    text-align: center;
    border-radius: 0 0 5px 5px;
}
nav.mod_changelanguage ul.open {
    display: block;
}
nav.mod_changelanguage ul a {
    padding: 25px;
    display: block;
    border-bottom: 1px solid rgba(0,0,0,0.08);
    color: #555;
    transition: All 0.5s ease;
    -webkit-transition: All 0.5s ease;
}
nav.mod_changelanguage ul li.active a {
    color: var(--accentColor);
    background: var(--secondColor);
}
nav.mod_changelanguage ul li a:hover {
    background: var(--secondColor);
}

@media only screen and (max-width:1023px) {
    nav.mod_changelanguage {
        margin: 0 20px;
    }
}


/*  Kleine Screens  */
@media only screen and (max-width:1023px) {
    #mmenu .mod_socials a i {
        margin-right: 30px;
        font-size: 30px;
    }


}


/*  Stefans Bastelecke  */
.container-wrapper {
    max-width: 1200px;
    margin: 0 auto;
    padding: 20px;
}

/* Filter-Buttons Styles */
.filter-container {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 20px;
}

button.filter-btn, button.specialty-btn {
    padding: 12px 20px;
    background-color: #EBEAED;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    transition: all 0.3s ease;
    font-family: 'Montserrat', sans-serif;
    font-size: 0.9rem;
}

button.filter-btn:hover, button.specialty-btn:hover {
    background-color: #d0d0d0;
    outline: none;
    border: none;
    color: var(--greyColor);
}

.filter-btn.active {
    background-color: #E5342D;
    color: white;
}


span.spezi {
    cursor: pointer;
    text-decoration: underline;
}
.spezi {
    opacity: 1;
    transition: opacity 0.4s ease-in-out;
}

.spezi.hidden {
    display: block;
    opacity: 0;
    pointer-events: none;
    height: 0;
    padding: 0;
}


/* Karten-Container Styles */
.map-container {
    position: relative;
    width: 100%;
    margin: 0 auto;
    background-color: #fff;
}

.map-wrapper {
    position: relative;
    width: 100%;
}

.map-wrapper svg {
    width: 100%;
    height: auto;
    display: block;
}

/* Kanton-Hover-Effekt */
.map-wrapper svg path {
    fill: #c8d5dc;
    stroke: #fff;
    stroke-width: 1;
    transition: fill 0.3s ease;
}

.map-wrapper svg path:hover {
    fill: #a8c5d2;
}

/* Marker-Styles werden für die Kategorien A, B, C hinzugefügt */
.marker {
    position: absolute;
    cursor: pointer;
    transform-origin: bottom center;
    transition: transform 0.3s ease;
    width: 32px;
    height: 42px;
    margin-left: -16px; /* Zentriert den Marker horizontal */
    margin-top: -42px; /* Stellt sicher, dass die Spitze des Markers auf dem Punkt liegt */
    z-index: 10;
}

.marker:hover {
    transform: scale(1.05);
    z-index: 20;
    outline: none;
    border: none;
}
.marker img {
    width: 48px;
}

.custom-tooltip {
    position: absolute;
    background-color: rgba(255, 255, 255, 0.9);
    border: 1px solid #ddd;
    border-radius: 4px;
    padding: 6px 10px;
    font-size: 14px;
    color: var(--bodyColor);
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
    z-index: 100;
    pointer-events: none;
    transform: translateX(-50%);
    white-space: nowrap;
    bottom: 100%;
    margin-bottom: 10px;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.marker:hover .custom-tooltip {
    opacity: 1;
}


/* Modal-Styles */
.modal {
    display: none;
    position: fixed;
    z-index: 1000;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    background-color: rgba(0, 0, 0, 0.5);
}

.modal-content {
    position: relative;
    background-color: #fff;
    margin: 10% auto;
    padding: 20px;
    width: 80%;
    max-width: 800px;
    border-radius: 8px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
    font-family: 'Montserrat', sans-serif;
}

.close-btn {
    position: absolute;
    top: 15px;
    right: 20px;
    font-size: 28px;
    font-weight: bold;
    cursor: pointer;
}

.modal-header {
    display: flex;
    align-items: flex-start;
    margin-bottom: 10px;
}
.modal-body ul {
    list-style: disc;
}
.modal-body li {
    line-height: 1.5;
}
.category-icon {
    margin-right: 30px;
}
.category-icon img {
    width: 48px;
}
.modal-body p {
    margin-bottom: 20px;
}
.modal-header #center-name {
    font-size: 1.6rem;
    font-weight: 800;
    margin-top: 5px;
}
.modal-content .close-window, .spezi .close-window {
    color: var(--accentColor);
    position: absolute;
    right: 17px;
    z-index: 10;
    font-size: 18px;
    width: 40px;
    height: 40px;
    line-height: 40px;
    text-align: center;
    cursor: pointer;
    display: inline-block;
    box-shadow: rgb(226, 226, 226) 3px 3px 7px, rgb(255, 255, 255) -3px -3px 7px;
    background: rgb(247, 247, 247);
    border-radius: 100%;
}
.spezi .close-window {
    right: 65px;
    box-shadow: none;
}
.modal-content .close-window i, .spezi .close-window i {
    transform: rotate(0deg);
    transition: 0.3s;
}
.modal-content .close-window:hover, .spezi .close-window:hover {
    opacity: 0.8;
}
.modal-content .close-window:hover i, .spezi .close-window:hover i {
    transform: rotate(90deg);
}

.specialties-container {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 20px;
}
/* Specialty Details Grid Layout */
.specialty-details-container {
    margin-top: 30px;
    border-top: 1px solid #eee;
    padding-top: 20px;
    display: none;
}

.specialty-grid {
    display: grid;
    grid-template-columns: 1fr 1.5fr 1fr;
    grid-template-rows: auto auto auto;
    gap: 20px;
}

.grid-image {
    grid-column: 1 / 2;
    grid-row: 1 / 4;
}

.grid-image img {
    width: 100%;
    border-radius: 5px;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
}

.grid-header {
    grid-column: 2 / 4;
    grid-row: 1 / 2;
}

.grid-header h3 {
    margin: 0;
    font-size: 1.4rem;
    color: var(--accentColor);
    line-height: 1.1;
}
.grid-header .title {
    margin: 0;
    font-style: italic;
    color: var(--greyColor);
}

.grid-contact {
    grid-column: 2 / 3;
    grid-row: 2 / 3;
}

.grid-publications {
    grid-column: 3 / 4;
    grid-row: 2 / 3;
}

.grid-description {
    grid-column: 2 / 4;
    grid-row: 3 / 4;
}

.specialty-grid i:before {
    padding-right: 10px;
}
.publications-container ul {
    margin: 10px 0 0 0;
    padding-left: 20px;
}
.publications-container li {
    margin-bottom: 8px;
    font-size: 0.9rem;
}
.specialty-btn.active {
    background-color: var(--accentColor);
    color: white;
}



/* Style für Untermodals */
.sub-modal {
    display: block;
    position: fixed;
    z-index: 1100; /* Höherer z-index als das Hauptmodal */
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    background-color: rgba(0, 0, 0, 0.5);
}

.sub-modal .modal-content {
    position: relative;
    background-color: #fff;
    margin: 10% auto;
    padding: 20px;
    width: 70%;
    max-width: 700px;
    border-radius: 8px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
}

.email-container, .link-container, .publications-link, .cv-link {
    color: var(--accentColor);
    text-decoration: none;
    font-weight: 500;
    display: inline-block;
    margin-bottom: 5px;
}

.publications-link:hover, .cv-link:hover {
    text-decoration: underline;
}





/* Legende-Styling */

.legend-container {
    display: flex;
    justify-content: center;
    gap: 60px;
    margin: 30px auto 0;
    max-width: 1000px;
    padding: 20px;
    background-color: #f8f8f8;
    border-radius: 8px;
    border: 1px solid #e0e0e0;
}

.legend-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    max-width: 250px;
}

.legend-item img {
    width: 32px;
    height: auto;
    margin-bottom: 12px;
}

.legend-text {
    font-size: 0.9rem;
    line-height: 1.4;
    color: var(--bodyColor);
}

.legend-text strong {
    color: var(--accentColor);
}

/* Responsive für mobile */
@media (max-width: 768px) {
    .legend-container {
        flex-direction: column;
        gap: 20px;
        margin: 20px 0;
        padding: 10px;
    }
    .legend-item {
        max-width: none;
    }
}




/* Personensuche Styling */
.search-container {
    display: flex;
    margin-bottom: 20px;
    max-width: 300px;
}

.person-search-input {
    flex-grow: 1;
    padding: 10px 12px;
    border: 1px solid #ddd;
    border-radius: 4px 0 0 4px;
    font-size: 14px;
    outline: none;
    transition: border-color 0.3s ease;
}

.person-search-input:focus {
    border-color: var(--accentColor);
}

.search-button {
    background-color: var(--accentColor);
    color: white;
    border: none;
    border-radius: 0 4px 4px 0;
    cursor: pointer;
    padding: 0 15px;
    transition: background-color 0.3s ease;
}

.search-button:hover {
    background-color: #c62d28;
}

/* Personensuche Styling */
.search-container {
    display: flex;
    margin-bottom: 20px;
    max-width: 300px;
    position: relative; /* Wichtig für die Positionierung der Dropdown-Liste */
    z-index: 1001; /* Höher als alle anderen Elemente */
}

.person-search-input {
    flex-grow: 1;
    padding: 10px 12px;
    border: 1px solid #ddd;
    border-radius: 4px 0 0 4px;
    font-size: 14px;
    outline: none;
    transition: border-color 0.3s ease;
}

.person-search-input:focus {
    border-color: var(--accentColor);
}

.search-button {
    background-color: var(--accentColor);
    color: white;
    border: none;
    border-radius: 0 4px 4px 0;
    cursor: pointer;
    padding: 0 15px;
    transition: background-color 0.3s ease;
}

.search-button:hover {
    background-color: #c62d28;
}

/* Verbesserte autoComplete Styles */
.autoComplete_wrapper {
    position: relative;
    display: inline-block;
    width: 100%;
}

#autoComplete_list {
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 1002 !important; /* Sehr hoher z-index */
    max-height: 280px;
    overflow-y: auto;
    background-color: #fff;
    border: 1px solid #ddd;
    border-radius: 0 0 4px 4px;
    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.2);
}

.autoComplete_result {
    padding: 10px 15px;
    border-bottom: 1px solid #eee;
    font-size: 14px;
    cursor: pointer;
    transition: background-color 0.2s ease;
}

.autoComplete_result:last-child {
    border-bottom: none;
}

.autoComplete_result:hover,
.autoComplete_selected {
    background-color: #f5f5f5;
}

.autoComplete_result mark {
    background-color: rgba(229, 52, 45, 0.15);
    color: var(--accentColor);
    font-weight: 600;
    padding: 0 2px;
}

/* Mobile-Anpassungen */
@media (max-width: 768px) {
    .search-container {
        max-width: 100%;
        margin-bottom: 15px;
    }
}




/* Mobile-Hinweis und Responsive Design */
.mobile-notice {
    display: none;
    padding: 30px;
    text-align: center;
    font-weight: bold;
    color: #555;
}

@media (max-width: 767px) {
    .map-container {
        /*display: none;*/
    }

    .mobile-notice {
        display: block;
        padding: 0 0 30px 0;
        line-height: 1.2;
    }
    .container-wrapper {
        padding: 0;
    }
    .marker img {
        width: 34px;
    }

    .legend-item {
        flex-direction: row;
        align-items: flex-start;
        text-align: left;
    }
    .legend-item img {
         width: 24px;
        margin-right: 10px;
     }
    .legend-text {
        font-size: 0.8rem;
        line-height: 1.2;
    }
    .container-wrapper .modal {
        top: 35px;
    }
    .container-wrapper .modal-header {
        max-width: 90%;
    }
    .container-wrapper .modal-content {
        width: 90%;
    }

    .category{
        margin-right: 15px;
    }
    .category-icon img {
        width: 32px;
    }
    .modal-header #center-name {
        font-size: 1.2rem;
        line-height: 1.2;
        margin-top: 0;
    }
    .specialty-details-container .specialty-grid {
        gap: 15px;
    }
    .specialty-details-container .grid-header h3 {
        font-size: 1.4rem !important;
        line-height: 1.1 !important;
        margin-bottom: 5px;
    }
    .specialty-details-container .grid-header .title {
        line-height: 1;
    }
    .specialty-details-container .grid-contact {
        grid-column: 2 / 4;
        grid-row: 2 / 3;
    }
    .specialty-details-container .grid-publications {
        grid-column: 2 / 4;
        grid-row: 3 / 4;
    }
    .specialty-details-container .grid-description {
        grid-column: 2 / 4;
        grid-row: 4 / 5;
    }



}












@media only screen and (max-width:767px) {
    h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6, .font_headline {
        hyphens: auto;
        font-size: 2rem !important;
        line-height: 1.2em !important;
    }
    .newslist-v2 {
        padding-top: 30px;
    }
    .ce_tabs .panes.classic {
        padding: 25px;
    }
    .column[class*="col_"]:not([class*="_m"]), .autogrid_grid .column:not([class*="_m"]) {
        margin-bottom: 5px;
    }
    .mod_registration {
        padding: 0;
    }
    .mod_registration form .checkbox_container span {
        flex-flow: column;
    }
    .mod_registration button.submit {
        font-size: 1.1rem;
    }
    .download-element a {
        padding: 15px;
        margin-bottom: 0;
        width: auto;
        min-width: auto;
        word-break: break-all;
    }

    .sub-modal {
        top: 35px;
    }
    .sub-modal .modal-content {
        padding: 10px;
        width: 90%;
    }
    .sub-modal .headline {
        max-width: 85%;
        line-height: 1.3;
    }

}




/*  Hilfsklassen  */
.font-color-accent {
    color: var(--accentColor) !important;
}
@media only screen and (max-width:767px) {
    .mt-mobile-0 {
        margin-top: 0 !important;
    }
}




