/************************************ Start: Root ************************************/
:root {
	--primary: #F19A3E;
	--secondary: #FAF6F2;
	--tertiary: #5E5E5E;
	--black: #252525;
	--white: #FFFFFF;
	--interaction-1: #0037B6;
	--interaction-2: #00267F;
	--bg-inp: #FAF6F2;
	--color-ph: rgba(37,37,37,0.4);
	--bg-verlauf: linear-gradient(90deg, var(--primary) 0%, #D06B00 100%);
	--border-radius-small: 5px;
	--border-radius-default: 15px;
	--border-radius-big: 20px;
	--border-radius-btn: 21px;
	--border-radius-inp: 5px;
	--box-shadow-default: 0 10px 40px 0 rgba(0,0,0,0.1);
	--transition: all .3s;
}
/************************************ Ende: Root ************************************/
/************************************ Start: Skelleton ************************************/
html { min-height: 100%; line-height: 1px; }
body { height: 100%; }
body { font-smooth: never; font-optical-sizing: auto; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
body { font-family: "Fira Sans", sans-serif; font-weight: 300; font-size: 18px; line-height: 27px; color: var(--black); }
@media screen and (max-width: 959px) { body { font-size: 16px; line-height: 24px; } }
body.navi { overflow: clip; }
body > table { width: 100%; max-width: 100%; min-height: 100vH; }
body > table > tbody > tr,
body > table > tbody > tr > td { height: 100%; }
main { display: block; overflow-x: clip; }
/************************************ Ende: Skelleton ************************************/
/************************************ Start: Sticky Footer  ************************************/
#cmsgrid { min-height: 100svh; }
/************************************ End: Sticky Footer  ************************************/
/************************************ Start: Scroll Smoother Lines Between Sections Fix / Browser Renderer Fix ************************************/
#smooth-content { will-change: transform; }
/************************************ End: Scroll Smoother Lines Between Sections Fix / Browser Renderer Fix ************************************/
/************************************ Start: Cookie Banner Labels anzeigen ************************************/
.pbcb_category_label { display: block !important; }
/************************************ Ende: Cookie Banner Labels anzeigen ************************************/
/************************************ Start: Grid Override ************************************/
.cms_container_narrow { width: 100%; max-width: 1030px; margin: 0 auto; }
.cms_container { width: 100%; max-width: 1230px; margin: 0 auto; }
.cms_container_wide { width: 100%; max-width: 1630px; margin: 0 auto; }
.cms_container_ultrawide { width: 100%; max-width: 100%; }
.cms_padding_025 { padding:  5px; }
.cms_padding_05 { padding:  10px; }
.cms_padding_1 { padding:  15px; }
.cms_padding_2 { padding: 30px; }
.flex_container.cms_padding_1 { padding:  15px; }
.flex_box.cms_padding_1 { padding:  15px; }
.flex_container.cms_padding_2 { padding: 30px; }
.flex_box.cms_padding_2 { padding: 30px; }
/************************************ Ende: Grid Override ************************************/
/************************************ Start: Section Anchor Fix ************************************/
a.section_anchor { height: 0px; line-height: 0px; font-size: 0px; }
/************************************ Ende: Section Anchor Fix ************************************/
/************************************ Start: Smooth Scroller Parallax Image ************************************/
/*.cms_parallax_imgContainer { overflow: clip; }
.cms_parallax_imgContainer img { position: absolute; z-index: 1; display: block; width: 100%; height: 120%; object-fit: cover; bottom: 0; }*/
/************************************ End: Smooth Scroller Parallax Image ************************************/
/************************************ Start: Smooth Scroller Parallax Video ************************************/
/*.cms_parallax_videoContainer { overflow: clip; }
.cms_parallax_videoContainer > video { position: absolute; z-index: 1; display: block; width: 100%; height: 120%; object-fit: cover; bottom: 0; }*/
/************************************ End: Smooth Scroller Parallax Video ************************************/
/************************************ Start: Headings ************************************/
h1, h2, h3, h4 { padding: 0; margin: 0; }
*+h1, *+h2, *+h3, *+h4 { padding-top: 30px; }
h1:has(+*) { padding-bottom: 15px; }
h2:has(+*), h3:has(+*), h4:has(+*) { padding-bottom: 5px; }
h1, h2, h3, h4 { font-weight: 600; }
h1 { font-size: 60px; line-height: 72px; }
h2 { font-size: 32px; line-height: 38px; }
h3 { font-size: 24px; line-height: 29px; }
h4 { font-size: 20px; line-height: 24px; }
@media screen and (max-width: 959px) {
	h1 { font-size: 36px; line-height: 43px; }
	h2 { font-size: 24px; line-height: 29px; }
	h3 { font-size: 20px; line-height: 24px; }
	h4 { font-size: 18px; line-height: 22px; }
}
/************************************ Ende: Headings ************************************/
/************************************ Start: Content Font Settings ************************************/
p { margin: 0; padding: 0; }
*+p { padding-top: 15px; }

ul { padding: 0; margin: 0; }
li { list-style: none; padding: 0; }
main ul,
.user-popup-main ul { display: flex; flex-direction: column; gap: 5px; list-style: none; margin: 0; padding: 0; }
main *+ul,
.user-popup-main *+ul { padding-top: 15px; }
main ul li,
.user-popup-main ul li { position: relative; padding: 0 0 0 18px; }
main ul li:before,
.user-popup-main ul li:before { content: ""; position: absolute; top: 8px; left: 0; width: 6px; height: 11px; background: center left / contain no-repeat url("/pages/img/listing/arrow.svg"); }
@media screen and (max-width: 959px) {
	main ul li:before,
	.user-popup-main ul li:before { top: 6.5px; }
}

a { cursor: pointer; text-decoration: none; }
main a,
.user-popup-main a { color: var(--primary); transition: var(--transition); }
main a:hover,
.user-popup-main a:hover { color: var(--interaction-1); }

b, strong { font-weight: 600; }

em { font-style: italic; }
/************************************ Ende: Content Font Settings ************************************/
/************************************ Start: Breadcrumbs ************************************/
/**/
/************************************ Ende: Breadcrumbs ************************************/
/************************************ Start: Footer ************************************/
footer { border-bottom: 5px solid var(--primary); }
footer section:first-of-type { padding: 20px 0 5px 0; }
footer section:last-of-type { margin: 0 0 -10px 0; }
footer section:last-of-type .flex_container.cms_padding_1 { padding: 0 15px !important; }
footer a { color: var(--black); transition: var(--transition); }
footer a:hover { color: var(--primary); }
footer .small-text a { color: var(--primary); }
footer .small-text a:hover { color: var(--interaction-1); }
footer .block_20000 { max-width: 210px; }
footer .small-text > strong { display: flex; flex-wrap: wrap; justify-content: flex-end; align-items: center; gap: 10px 40px; }
@media screen and (max-width: 1200px) {
	footer section:first-of-type .artlst_container > .flex_box_12:first-of-type { width: 210px !important; }
	footer section:first-of-type .artlst_container > .flex_box_12:nth-of-type(2) { width: calc(50% - 105px) !important; }
	footer section:first-of-type .artlst_container > .flex_box_12:last-of-type { width: calc(50% - 105px) !important; }
}
@media screen and (max-width: 959px) {
	footer section:first-of-type .artlst_container > .flex_box_12:first-of-type { width: 100% !important; }
	footer section:first-of-type .artlst_container > .flex_box_12:nth-of-type(2) { width: 50% !important; }
	footer section:first-of-type .artlst_container > .flex_box_12:last-of-type { width: 50% !important; }
}
@media screen and (max-width: 640px) {
	footer section:first-of-type .artlst_container > .flex_box_12:nth-of-type(2) { width: 100% !important; }
	footer section:first-of-type .artlst_container > .flex_box_12:last-of-type { width: 100% !important; }
}
/************************************ Ende: Footer ************************************/
/************************************ Start: Search Results ************************************/
/**/
/************************************ End: Search Results ************************************/
/************************************ Start: Overlay ************************************/
body.cmsShadow { overflow: clip; }
#cmsShadow { display: none; position: fixed; z-index: 100000000; inset: 0; padding: 0; background: rgba(42,42,42,0.95); }
body.cmsShadow #cmsShadow { display: flex; }
#cmsShadowContainer { position: relative; display: flex; justify-content: center; align-items: center; width: 100vW; }
#cmsShadowClose { cursor: pointer; position: fixed; z-index: 12; top: 30px; right: 30px; width: 27px; height: 27px; background: center / contain no-repeat url("/pages/img/overlay/close.svg"); transition: var(--transition); will-change: transform; }
#cmsShadowClose:hover { background: center / contain no-repeat url("/pages/img/overlay/close.svg"); transform: scale(1.1); }
#cmsShadowBox { position: relative; display: flex; justify-content: center; align-items: center; width: 100%; height: 100svh; z-index: 1; }
/************************************ End: Overlay ************************************/
/************************************ Start: Fix Article- and Category Lst ************************************/
article { display: flex; }
article > a,
article > a > div,
article > a > div > div,
article > div,
article > div > div,
article > div > div > div { display: flex; width: 100%; }

section.cat_sub.flex_box_12 { display: flex; }
a.section_anchor { position: absolute; width: 100%; height: 0; font-size: 0px; line-height: 0px; z-index: 1; top: 0; left: 0; background: transparent; }
.cat_color_container { width: 100%; }
.cat.flex_verticalalignement_stretch > section > .cat_color_container { display: flex; }
.cat.flex_verticalalignement_stretch > section > .cat_color_container > .cat_content { display: flex; }

.cms_padding_0_2x { padding: 0 !important; }
.cms_padding_025_2x { padding: 10px !important; }
.cms_padding_05_2x { padding: 20px !important; }
.cms_padding_1_2x { padding: 30px !important; }
.cms_padding_2_2x { padding: 60px !important; }

.artlst_container .cms_padding_0_2x { padding: 0 !important; }
.artlst_container .cms_padding_025_2x { padding: 5px !important; }
.artlst_container .cms_padding_05_2x { padding: 10px !important; }
.artlst_container .cms_padding_1_2x { padding: 15px !important; }
.artlst_container .cms_padding_2_2x { padding: 30px !important; }

.artlst_container { flex-wrap: inherit !important; justify-content: inherit !important; align-content: inherit !important; align-items: inherit !important; }
.artlst_container .flex_container.cms_padding_0 { padding: 0 !important; }
.artlst_container .flex_container.cms_padding_025 { padding: 0 !important; }
.artlst_container .flex_container.cms_padding_05 { padding: 0 !important; }
.artlst_container .flex_container.cms_padding_1 { padding: 0 !important; }
.artlst_container .flex_container.cms_padding_2 { padding: 0 !important; }

.artlst_container .artlst_hasBorColYN .flex_container.cms_padding_0 { padding: 0px !important; }
.artlst_container .artlst_hasBorColYN .flex_container.cms_padding_025 { padding: 5px !important; }
.artlst_container .artlst_hasBorColYN .flex_container.cms_padding_05 { padding: 10px !important; }
.artlst_container .artlst_hasBorColYN .flex_container.cms_padding_1 { padding: 15px !important; }
.artlst_container .artlst_hasBorColYN .flex_container.cms_padding_2 { padding: 30px !important; }

.cat_color_inset { inset: 30px !important; }
.container_color_inset { padding: 30px !important; }

.full_art_link { position: absolute !important; z-index: 11 !important; }
.full_art_link_cms_padding_0 { inset: 0px !important; }
.full_art_link_cms_padding_025 { inset: 10px !important; }
.full_art_link_cms_padding_05 { inset: 20px !important; }
.full_art_link_cms_padding_1 { inset: 30px !important; }
.full_art_link_cms_padding_2 { inset: 60px !important; }

.artlst_container .full_art_link_cms_padding_0 { inset: 0px !important; }
.artlst_container .full_art_link_cms_padding_025 { inset: 5px !important; }
.artlst_container .full_art_link_cms_padding_05 { inset: 10px !important; }
.artlst_container .full_art_link_cms_padding_1 { inset: 15px !important; }
.artlst_container .full_art_link_cms_padding_2 { inset: 30px !important; }

.artlst_hasBorColYN .full_art_link { inset: 0 !important; }
/************************************ End: Fix Article- and Category Lst ************************************/
/************************************ Start: Home Panorama ************************************/
main > div > div > div > section:has(.cms_hp_box) { padding: 0 30px !important; }
.cms_hp_box { position: relative; width: 100%; aspect-ratio: 1570 / 647; }
.cms_hp_img_box { position: absolute; z-index: -1; inset: 0; border-radius: var(--border-radius-big); overflow: clip; }
.cms_hp_img { width: 100%; height: 100%; object-fit: cover; }
.cms_hp_text { position: absolute; z-index: 1; inset: 50% 41px auto auto; transform: translateY(-50%); max-width: 360px; width: 100%; padding: 30px; border-radius: var(--border-radius-big); overflow: clip; }
.cms_hp_text:before { content: ""; position: absolute; z-index: -1; inset: 0; opacity: 0.9; background: var(--bg-verlauf); }
.cms_hp_text p:has(a[class*="button-"]) { padding-top: 30px; }
.hpSwiper-pagination { position: absolute; z-index: 10 !important; inset: auto auto 30px 30px !important; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 10px; width: calc(100% - 60px) !important; }
.hpSwiper-pagination > .swiper-pagination-bullet { cursor: pointer; display: block; width: 12px; height: 12px; margin: 0 !important; background: var(--primary); opacity: 0.3 !important; border-radius: 50%; transition: var(--transition); }
.hpSwiper-pagination > .swiper-pagination-bullet:hover,
.hpSwiper-pagination > .swiper-pagination-bullet.swiper-pagination-bullet-active { opacity: 1 !important; }
@media screen and (max-width: 959px) {
	main > div > div > div > section:has(.cms_hp_box) { padding: 0 !important; }
	.cms_hp_box { aspect-ratio: 393 / 220; }
	.cms_hp_img_box { border-radius: 0; }
	.cms_hp_text { display: none; }
}
/************************************ End: Home Panorama ************************************/
/************************************ Start: Panorama ************************************/
.cms_panorama_container { max-width: 1630px; width: 100%; margin: 0 auto 30px auto; padding: 0 30px; }
.cms_panorama_box { position: relative; width: 100%; aspect-ratio: 1570 / 348; }
.cms_panorama_img_box { position: absolute; z-index: -1; inset: 0; border-radius: var(--border-radius-big); overflow: clip; }
.cms_panorama_img { width: 100%; height: 100%; object-fit: cover; }
.cms_panorama_text { position: absolute; z-index: 1; bottom: -30px; left: 50px; width: calc(100% - 100px); }
.cms_panorama_text > h1 { font-weight: 800; font-size: 80px; line-height: 96px; color: var(--primary); text-transform: uppercase; }
@media screen and (max-width: 1200px) {
	.cms_panorama_container { margin: 0 auto 25px auto; }
	.cms_panorama_text { bottom: -25px; }
	.cms_panorama_text > h1 { font-size: 60px; line-height: 75px; }
}
@media screen and (max-width: 959px) {
	.cms_panorama_container { padding: 0; margin: 0 auto 15px auto; }
	.cms_panorama_box { aspect-ratio: 393 / 220; }
	.cms_panorama_img_box { border-radius: 0; }
	.cms_panorama_text { bottom: -15px; left: 30px; width: calc(100% - 60px); }
	.cms_panorama_text > h1 { font-size: 40px; line-height: 40px; }
}
@media screen and (max-width: 640px) {
	.cms_panorama_container { margin: 0 auto 10px auto; }
	.cms_panorama_text { bottom: -10px; }
	.cms_panorama_text > h1 { font-size: 25px; line-height: 30px; }
}
/************************************ End: Panorama ************************************/
/************************************ Start: Box mit Hintergrundfläche ************************************/
.artlst_container:has(.cms_bmh_box) .cms_padding_1_2x { padding: 0 !important; }
.artlst_container:has(.cms_bmh_box) .artlst_hasBorColYN .flex_container.cms_padding_1 { padding: 0 !important; }
.artlst_tpl_64 > .art_link > .artbox { background-color: transparent !important; }
.block:has(> .cms_bmh_box) { display: flex; }
.cms_bmh_box { position: relative; width: 100%; padding: 50px 25px; border-radius: var(--border-radius-big); }
.cms_bmh_box_bg_default { background: var(--secondary); }
.cms_bmh_box_bg_set { box-shadow: var(--box-shadow-default); }
.cms_bmh_tag { position: absolute; z-index: 1; top: 0; transform: translateY(-50%); right: 35px; display: inline-flex; padding: 5px 10px; background: var(--primary); font-weight: 600; font-size: 12px; line-height: 14px; letter-spacing: 1.2px; text-transform: uppercase; color: var(--white); }
.cms_bmh_text h3 { padding: 0; }
.cms_bmh_text *+p { padding-top: 10px; }
.cms_bmh_text p:has(.button-link) { padding-top: 25px; }
@media screen and (max-width: 959px) {
	.cms_bmh_box { padding: 30px; }
	.cms_bmh_tag { right: 30px; }
}
/************************************ End: Box mit Hintergrundfläche ************************************/
/************************************ Start: Teaser gross ************************************/
.cms_tg_box { display: flex; flex-direction: column; width: 100%; }
.cms_tg_img { position: relative; width: 100%; aspect-ratio: 1570 / 500; border-radius: var(--border-radius-big); overflow: clip; }
.cms_tg_img > picture { position: absolute; z-index: 1; inset: 0; }
.cms_tg_img > picture > img { width: 100%; height: 100%; object-fit: cover; }
.cms_tg_info { display: flex; gap: 111px; max-width: 1230px; width: calc(100% - 60px); padding: 40px 50px; margin: -126px auto 0 auto; background: var(--bg-verlauf); border-radius: var(--border-radius-big); }
.cms_tg_titel { flex-shrink: 0; width: 242px; }
.cms_tg_text { flex-grow: 1; }
@media screen and (max-width: 959px) {
	.cms_tg_box { margin: 0 -30px; width: calc(100% + 60px); }
	.cms_tg_img { aspect-ratio: 393 / 220; border-radius: 0; }
	.cms_tg_info { gap: 30px; margin: -75px auto 0 auto; }
	.cms_tg_titel { width: 181px; }
}
@media screen and (max-width: 700px) {
	.cms_tg_info { flex-direction: column; padding: 30px; }
	.cms_tg_titel { flex-shrink: unset; width: 100%; }
	.cms_tg_text { flex-grow: unset; width: 100%; }
}
/************************************ End: Teaser gross ************************************/
/************************************ Start: Quote ************************************/
.cms_quote_box { position: relative; display: flex; flex-direction: column; gap: 30px; width: 100%; padding: 40px; background: var(--white); border-radius: var(--border-radius-default); box-shadow: var(--box-shadow-default); }
.cms_quote_icon { position: absolute; z-index: 1; top: 0; left: 20px; transform: translateY(-50%); }
.cms_quote_icon > svg { display: flex; width: 54px; height: 54px; }
.cms_quote_icon > svg > path { fill: var(--primary); }
.cms_quote_text { width: 100%; }
.cms_quote_info { display: flex; flex-wrap: wrap; align-items: center; gap: 15px; width: 100%; }
.cms_quote_img { display: flex; flex-shrink: 0; max-width: 80px; width: 100%; aspect-ratio: 1 / 1; border-radius: 50%; overflow: clip; }
.cms_quote_img > picture { display: flex; width: 100%; }
.cms_quote_img > picture > img { width: 100%; height: 100%; object-fit: cover; }
.cms_quote_who { flex-grow: 1; }
@media screen and (min-width: 960px) { .cms_quote_text_mobile { display: none; } }
@media screen and (max-width: 959px) { .cms_quote_text_desktop { display: none; } }
@media screen and (max-width: 959px) {
	.cms_quote_box { padding: 30px; }
	.cms_quote_icon { left: 15px; }
	.cms_quote_icon > svg { width: 40px; height: 40px; }
}
/************************************ End: Quote ************************************/
/************************************ Start: Logo Laufband ************************************/
.cms_loglau_main { display: flex; flex-direction: column; gap: 50px; width: 100%; padding: 30px; }
.cms_loglau_maintitle h2 { text-align: center; }
.cms_loglau_marquee:before,
.cms_loglau_marquee:after { content: ""; position: absolute; z-index: 11; top: 0; bottom: 0; width: 168px; }
.cms_loglau_marquee:before { left: 0; background: linear-gradient(90deg, #FFFFFF 0%, rgba(246,244,240,0) 100%); }
.cms_loglau_marquee:after { right: 0; background: linear-gradient(-90deg, #FFFFFF 0%, rgba(246,244,240,0) 100%); }
.marqueeSwiper .swiper-wrapper { transition-timing-function: linear !important; }
.marqueeSwiper .swiper-wrapper { justify-content: center; }
.marqueeSwiper .swiper-slide { width: auto; }
.cms_loglau_box { position: relative; display: flex; }
.cms_loglau_img_box { display: flex; }
.cms_loglau_img { height: 70px; }
/************************************ End: Logo Laufband ************************************/
/************************************ Start: Akkordeon ************************************/
section > div > div > div > article.artlst_tpl_67:not(:has(.cms_akkordeon_acc)),
section > div > div > div > article.artlst_tpl_68:not(:has(.cms_akkordeon_acc)) { display: none; }
section > div > div > div > article.artlst_tpl_0:not(:has(.block)) { display: none; }
section > div > div > div > article.artlst_tpl_67:has(.cms_akkordeon_acc),
section > div > div > div > article.artlst_tpl_68:has(.cms_akkordeon_acc) { padding: 0 30px; }
.cms_akkordeon_acc { display: block !important; border-bottom: 1px solid #AEAEAE; }
.cms_akkordeon_accHeader { cursor: pointer; position: relative; padding: 30px 75px 30px 0; }
.cms_akkordeon_accHeader h3 { color: var(--tertiary); transition: var(--transition); }
.cms_akkordeon_accHeader:hover h3,
.cms_akkordeon_acc.open .cms_akkordeon_accHeader h3 { color: var(--primary); }
section > div > div > div > article.artlst_tpl_67:first-of-type + article .cms_akkordeon_acc,
section > div > div > div > article.artlst_tpl_68:first-of-type + article .cms_akkordeon_acc { margin-top: 30px; }
section > div > div > div > article.artlst_tpl_67:last-of-type .cms_akkordeon_acc,
section > div > div > div > article.artlst_tpl_68:last-of-type .cms_akkordeon_acc { margin-bottom: 30px; }
section > div > div > div > article.artlst_tpl_67:first-of-type + article .cms_akkordeon_acc,
section > div > div > div > article.artlst_tpl_68:first-of-type + article .cms_akkordeon_acc,
section > div > div > div > article.artlst_tpl_0:first-of-type + article + article .cms_akkordeon_acc { border-top: 1px solid #AEAEAE; }
.cms_akkordeon_toggler { cursor: pointer; position: absolute; z-index: 1; top: 50%; right: 0; transform: translateY(-50%); display: flex; justify-content: center; align-items: center; width: 45px; height: 45px; border-radius: 50%; background: var(--interaction-1); }
.cms_akkordeon_accHeader:hover .cms_akkordeon_toggler,
.cms_akkordeon_acc.open .cms_akkordeon_toggler { background: var(--primary); }
.cms_akkordeon_toggler > svg { display: flex; width: 18px; height: 18px; transition: var(--transition); will-change: transform; }
.cms_akkordeon_acc.open .cms_akkordeon_toggler > svg { transform: rotate(45deg); }
.cms_akkordeon_toggler > svg > path { stroke: var(--white); }
.cms_akkordeon_accBody { display: block; width: 100%; height: 0; overflow: hidden; transition: var(--transition); }
.cms_akkordeon_accBodyText > .flex_container.cms_padding_1 { width: calc(100% + 60px) !important; margin: -30px 0 0 -30px; }
@media screen and (max-width: 959px) {
	.cms_akkordeon_accBodyText > .flex_container.cms_padding_1 { padding: 30px 15px 15px 15px !important; }
	.cms_akkordeon_accHeader { padding: 15px 45px 15px 0; }
	.cms_akkordeon_toggler { width: 30px; height: 30px; }
	.cms_akkordeon_toggler > svg { width: 12px; height: 12px; }
}
/************************************ End: Akkordeon ************************************/
/************************************ Start: Users ************************************/
/* Start: Team Baustein */
.block_110010.cms_padding_1 { padding: 0 !important; }
.cms_users_mainContainer { display: flex; flex-direction: column; gap: 50px; }
.cms_users_sectionGroup { display: flex; flex-direction: column; gap: 50px; }
.cms_users_section { display: flex; flex-wrap: wrap; width: 100%; gap: 12px 0; }
.cms_users_title { display: none; width: 100%; padding: 15px 15px 0 15px; margin: 0 0 3px 0; }
.cms_users_sectionGroup > .cms_users_section > .cms_users_title { display: block; }
.cms_users_title > h3 { padding: 0; }
/* End: Team Baustein */

/* Start: Allgemein */
.block_110000.flex_box_12 { display: flex; }
.block_110000.cms_padding_1 { padding: 0 !important; }
.cms_users_box { display: flex; width: 50%; padding: 15px; }
.block_110000 .cms_users_box { width: 100% !important; }
.cms_users_content { position: relative; display: flex; align-items: center; gap: 30px 45px; width: 100%; padding: 45px; background: var(--secondary); border-radius: var(--border-radius-big); }
.cms_users_tagLst { position: absolute; z-index: 1; top: 0; right: 30px; transform: translateY(-50%); display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 5px; width: calc(100% - 60px); }
.cms_users_tag { display: inline-flex; padding: 5px 10px; background: var(--primary); border-radius: 3px; font-weight: 600; font-size: 12px; line-height: 14px; letter-spacing: 1.2px; text-transform: uppercase; color: var(--white); }
.cms_users_img { display: flex; flex-shrink: 0; max-width: 170px; width: 100%; aspect-ratio: 1 / 1; border-radius: 50%; overflow: clip; }
.cms_users_img > picture { display: flex; width: 100%; }
.cms_users_img > picture > img { width: 100%; height: 100%; object-fit: cover; }
.cms_users_info { display: flex; flex-direction: column; gap: 15px; flex-grow: 1; }
/* End: Allgemein */

@media screen and (max-width: 1200px) {
	/* Start: Team Baustein */
	.cms_users_mainContainer { gap: 30px; }
	.cms_users_sectionGroup { gap: 30px; }
	/* End: Team Baustein */

	/* Start: Allgemein */
	.cms_users_content { flex-direction: column; align-items: center; padding: 30px; }
	.cms_users_info { flex-grow: unset; width: 100%; }
	/* End: Allgemein */
}

@media screen and (max-width: 959px) {
	/* Start: Grid Responsive */
	.block_110000.flex_box_12 { width: 50% !important; }
	/* End: Grid Responsive */
}

@media screen and (max-width: 640px) {
	/* Start: Grid Responsive */
	.cms_users_box { width: 100% !important; }
	.block_110000.flex_box_12 { width: 100% !important; }
	/* End: Grid Responsive */
}
/************************************ End: Users ************************************/
/************************************ Start: Login Page ************************************/
.cms_login_main { display: flex; width: 100%; background: var(--secondary); }
.cms_login_img_box { width: 50%; }
.cms_login_img { width: 100%; height: 100%; object-fit: cover; }
.cms_login_box { display: flex; flex-direction: column; gap: 30px; max-width: 630px; width: 50%; padding: 30px; margin: auto; }
@media screen and (min-width: 1201px) { .cms_login_main { min-height: calc(100dvh - 140px); } }
@media screen and (min-width: 641px) and (max-width: 1200px) { .cms_login_main { min-height: calc(100dvh - 120px); } }
@media screen and (max-width: 640px) { .cms_login_main { min-height: calc(100dvh - 100px); } }
@media screen and (max-width: 959px) {
	.cms_login_img_box { display: none; }
	.cms_login_box { max-width: none; width: 100%; }
}
/************************************ End: Login Page ************************************/
/************************************ Start: Login Form ************************************/
form#frmLogin .cms_login_headerBox { margin-bottom: 30px; }
form#frmLogin .msg_box { padding: 5px; margin: 0; }
form#frmLogin .msg_box_error { border-color: var(--black); background: red; color: #FFFFFF; }
form#frmLogin .msg_box:after { transform: translateY(-50%); color: #FFFFFF; margin: 0; }
form#frmLogin .cms_login_inputBox { display: flex; flex-direction: column; gap: 30px; }
form#frmLogin .element_box > label { position: relative; display: block; width: 100%; font-weight: 600; font-size: 15px; line-height: 23px !important; min-height: 23px; margin: 0 0 2px 0; }
@media screen and (max-width: 959px) { form#frmLogin .element_box > label { font-size: 13px; line-height: 20px !important; min-height: 20px; } }
form#frmLogin .element_info_box { margin: 10px 0 0 0; }
form#frmLogin input { width: 100%; background: #FFFFFF; }
form#frmLogin .icon { position: relative; }
form#frmLogin input#txtPwd { padding: 12px 44px 12px 12px; }
form#frmLogin .frmPwdShow { cursor: pointer; position: absolute; z-index: 1; right: 12px; top: 50%; transform: translateY(-50%); display: flex; width: 20px; height: 20px; }
form#frmLogin .frmPwdShow:before { content: "\f06e"; font: 20px 'FontAwesome'; line-height: 20px; text-align: center; color: var(--black); }
form#frmLogin .frmPwdShow.active:before { content: "\f070"; }
.cms_login_btnBox { margin: 30px 0 0 0; }
@media screen and (max-width: 959px) {
	form#frmLogin .element_box > label { font-size: 13px; line-height: 20px !important; min-height: 20px; }
	form#frmLogin input#txtPwd { padding: 8px 40px 8px 10px; }
	form#frmLogin .frmPwdShow { right: 10px; }
}
/************************************ End: Login Form ************************************/
/************************************ Start: Login Popup ************************************/
.cms_loginPopupFrm_box #cmsShadowContainer { display: flex; }
.cms_loginPopupFrm_box #cmsShadowBox { display: flex; justify-content: center; align-items: center; width: 100%; padding: 30px; }
.cms_loginPopupFrm_box form#frmLogin { max-width: 575px; width: 100%; background: #FFFFFF; padding: 30px; border-radius: var(--border-radius-default); }
.cms_loginPopupFrm_box form#frmLogin input { background: var(--bg-inp); }
.cms_loginPopupFrm_box form#frmLogin a { color: var(--primary); transition: var(--transition); }
.cms_loginPopupFrm_box form#frmLogin a:hover { color: var(--interaction-1); }
/************************************ End: Login Popup ************************************/
/************************************ Start: Fix Password Visibility Browser Icon ************************************/
/* Hide the native reveal eye icon in Microsoft Edge */
input[type="password"]::-ms-reveal { display: none !important; }

/* Hide the clear "X" icon in Edge/IE */
input[type="password"]::-ms-clear { display: none !important; }

/* Hide autofill and credentials icons in Safari and Chrome */
input[type="password"]::-webkit-credentials-auto-fill-button,
input[type="password"]::-webkit-contacts-auto-fill-button { visibility: hidden !important; display: none !important; pointer-events: none !important; height: 0 !important; width: 0 !important; }
/************************************ End: Fix Password Visibility Browser Icon ************************************/
/************************************ Start: Download Intern ************************************/
.download-tree-main { display: flex; flex-direction: column; width: 100%; }
.download-tree-main:has(> .download-tree-title > h1) { gap: 40px; }
.download-tree-main:has(> .download-tree-title > h2) { gap: 30px; }
.download-tree { display: flex; gap: 130px; }
.download-tree .dt-tree { width: 270px; }
.download-tree .dt-list { width: calc(100% - 270px - 130px); }
.download-tree .dt-intro { margin-bottom: 18px; }
.download-tree .dt-tree-toggle-icon { display: none; }
.download-tree ul { display: flex; flex-direction: column; gap: 15px; padding: 0; }
.download-tree li { padding: 0 0 15px 0; border-bottom: 1px solid var(--primary); }
.download-tree li:before { content: none; }
.download-tree .tree-link { cursor: pointer; position: relative; padding: 0 26px 0 0; }
.download-tree .tree-link span { font-weight: 600; transition: var(--transition); }
.download-tree li.active .tree-link span,
.download-tree .tree-link:hover span { color: var(--primary); }
.download-tree .tree-link-arrow { position: absolute; z-index: 1; top: 50%; right: 3px; transform: translateY(-50%); opacity: 0; visibility: hidden; transition: var(--transition); }
.download-tree li.active .tree-link .tree-link-arrow,
.download-tree .tree-link:hover .tree-link-arrow { opacity: 1; visibility: visible; }
.download-tree .tree-link-arrow > svg { display: flex; width: 8px; height: 13px; }
.download-tree .tree-link-arrow > svg > path { stroke: var(--primary); }
.download-tree .dt-list > ul > li > a { display: flex; align-items: center; gap: 15px; color: var(--black); transition: var(--transition); }
.download-tree .dt-list > ul > li > a:hover { color: var(--primary); }
.download-tree .dt-icon { flex-shrink: 0; }
.download-tree .dt-icon > svg { display: flex; width: 24px; height: 24px; }
.download-tree .dt-icon > svg > path { stroke: var(--primary); }
.download-tree .dt-label { flex-grow: 1; }
.download-tree .dt-info { flex-shrink: 0; margin-left: auto; }
@media screen and (max-width: 1200px) {
	.download-tree { gap: 30px; }
	.download-tree .dt-list { width: calc(100% - 270px - 30px); }
}
@media screen and (max-width: 991px) {
	.download-tree { flex-direction: column; gap: 0; }
	.download-tree .dt-tree { width: 100%; }
	.download-tree .dt-list { width: 100%; }
	.download-tree .dt-tree > div:last-child { display: grid; grid-template-rows: 0fr; overflow: hidden; transition: var(--transition); }
	.download-tree .dt-tree > div:last-child > div { min-height: 0; padding-top: 30px; margin-bottom: -30px; visibility: hidden; transition: var(--transition); }
	.download-tree.active .dt-tree > div:last-child { grid-template-rows: 1fr; }
	.download-tree.active .dt-tree > div:last-child > div { margin-bottom: 0; visibility: visible; }
	.download-tree .dt-tree .dt-intro { cursor: pointer; display: inline-flex; align-items: center; gap: 10px; margin-bottom: 0; }
	.download-tree .dt-tree .dt-intro .small-text { font-size: 16px; line-height: 22px; }
	.download-tree .dt-list .dt-intro { margin-top: 30px; }
	.download-tree .tree-link { padding: 0; }
	.download-tree .tree-link-arrow { display: none; }
	.download-tree .dt-icon > svg { width: 20px; height: 20px; }
	.download-tree .dt-tree-toggle-icon { display: block; }
	.download-tree .dt-tree-toggle-icon > svg { display: flex; width: 13px; height: 8px; transition: var(--transition); will-change: transform; }
	.download-tree.active .dt-tree-toggle-icon > svg { transform: rotate(180deg); }
	.download-tree .dt-tree-toggle-icon > svg > path { stroke: var(--primary); }
}
/************************************ End: Download Intern ************************************/
/************************************ Start: Intern ************************************/
body:has(.cms_intern_main) { background: var(--secondary); }
.cms_intern_main { display: flex; flex-direction: column; width: 100%; }
.cms_intern_main .cms_container { display: flex; flex-direction: column; flex-grow: 1; padding: 120px 0 0 0; }
.cms_intern_footer { flex-shrink: 0; display: flex; justify-content: center; width: 100%; font-weight: 400; font-size: 13px; line-height: 20px; color: #FFFFFF; padding: 8px 30px; background: linear-gradient(90deg, var(--interaction-2) 0%, var(--interaction-1) 100%); }
@media screen and (min-width: 1201px) { .cms_intern_main { min-height: calc(100dvh - 140px); } }
@media screen and (min-width: 641px) and (max-width: 1200px) { .cms_intern_main { min-height: calc(100dvh - 120px); } }
@media screen and (max-width: 640px) { .cms_intern_main { min-height: calc(100dvh - 100px); } }
@media screen and (max-width: 959px) { .cms_intern_main .cms_container { padding: 50px 0 0 0; } }
/************************************ End: Intern ************************************/
/************************************ Start: Intern List ************************************/
.cms_intLst_box { position: relative; display: flex; justify-content: center; align-items: center; width: 100%; padding: 41px 30px; background: #FFFFFF; border-radius: var(--border-radius-default); box-shadow: var(--box-shadow-default); overflow: clip; transition: var(--transition); will-change: transform; }
.cms_intLst_box:hover { transform: translateY(-5px); }
.cms_intLst_box > .full_article_link { border-radius: var(--border-radius-default); }
.cms_intLst_box h2 { color: var(--tertiary); transition: var(--transition); }
.cms_intLst_box:hover h2 { color: var(--interaction-1); }
@media screen and (max-width: 959px) { .cms_intLst_box { padding: 30px; } }
@media screen and (max-width: 1200px) { .cms_intLst_main .flex_box_12_4 { width: 50% !important; } }
@media screen and (max-width: 959px) { .cms_intLst_main .flex_box_12_4 { width: 100% !important; } }
/************************************ End: Intern List ************************************/
/************************************ Start: Intern Det ************************************/
.cms_intDet_backBtn { margin: auto 0 26px 0; }
@media screen and (max-width: 959px) { .cms_intDet_backBtn { margin: auto 0 0 0; } }
/************************************ End: Intern Det ************************************/
/************************************ Start: Skyline ************************************/
.cms_skyline_box { display: flex; flex-direction: column; align-items: center; gap: 15px; width: 100%; padding: 30px; background: #FFFFFF; border-radius: var(--border-radius-default); box-shadow: var(--box-shadow-default); }
.cms_skyline_img { max-width: 373px; width: 100%; }
.cms_skyline_img > picture { display: block; width: 100%; }
.cms_skyline_img > picture > img { width: 100%; }
.cms_skyline_text { text-align: center; }
.cms_skyline_text h3,
.cms_skyline_text p { padding: 0; }
.cms_skyline_text a { color: var(--black); }
/************************************ End: Skyline ************************************/
/************************************ Start: Kurse ************************************/
.cms_course_box { display: flex; align-items: center; gap: 30px; width: 100%; padding: 30px; background: var(--secondary); border-radius: var(--border-radius-default); }
.cms_course_info { flex-shrink: 0; display: flex; flex-direction: column; width: 209px; }
.cms_course_status > div { position: relative; padding: 0 0 0 16px; }
.cms_course_status > div:before { content: ""; position: absolute; z-index: 1; top: 6px; left: 0; width: 10px; height: 10px; background: var(--course-status-color); border-radius: 50%; }
.cms_course_data_lst { flex-grow: 1; display: flex; justify-content: space-around; align-items: baseline; gap: 30px; }
.cms_course_data { flex: 1; display: flex; flex-direction: column; gap: 15px; }
.cms_course_icon { flex-shrink: 0; display: flex; justify-content: center; align-items: center; width: 50px; height: 50px; margin: 0 auto; background: #FFFFFF; border-radius: 50%; filter: drop-shadow(0 10px 10px rgba(0,0,0,0.1)); }
.cms_course_location_icon > svg { display: flex; width: 15px; height: 22px; }
.cms_course_startDt_icon > svg { display: flex; width: 21px; height: 20px; }
.cms_course_management_icon > svg { display: flex; width: 22px; height: 22px; }
.cms_course_icon > svg > path { stroke: var(--primary); }
.cms_course_txtbox { display: flex; flex-direction: column; text-align: center; }
.cms_course_label { font-weight: 400; font-size: 12px; line-height: 14px; }
.cms_course_btn_lst { flex-shrink: 0; display: flex; flex-direction: column; gap: 10px; width: 224px; }
@media screen and (max-width: 1200px) {
	.cms_course_box { flex-direction: column; align-items: flex-start; }
	.cms_course_info { flex-shrink: unset; flex-wrap: wrap; flex-direction: row; justify-content: space-between; gap: 15px 30px; width: 100%; }
	.cms_course_data_lst { flex-grow: unset; justify-content: space-between; width: 100%; }
	.cms_course_data { flex-direction: row; align-items: center; gap: 10px; }
	.cms_course_data_lst > .cms_course_data:nth-of-type(2) { justify-content: center; }
	.cms_course_data_lst > .cms_course_data:last-of-type { justify-content: flex-end; }
	.cms_course_icon { margin: 0; }
	.cms_course_txtbox { text-align: left; }
	.cms_course_label { font-weight: 300; font-size: 13px; line-height: 20px; }
	.cms_course_btn_lst { flex-shrink: unset; flex-direction: row; justify-content: flex-end; width: 100%; }
}
@media screen and (max-width: 959px) {
	.cms_course_data_lst { flex-direction: column; justify-content: flex-start; align-items: flex-start; gap: 15px; }
	.cms_course_btn_lst { flex-direction: column; justify-content: stretch; }
	.cms_course_data { flex: unset; justify-content: flex-start; }
}
/************************************ End: Kurse ************************************/
/************************************ Start: User Popup ************************************/
.user-popup-main { display: flex; max-width: 1230px; width: 100%; height: calc(76svh + 60px); padding: 30px; }
.user-popup-container { position: relative; display: flex; flex-direction: column; gap: 9px; width: 100%; padding: 76px 80px 62px 58px; border-radius: var(--border-radius-default); background: var(--white); }
.cms-shadow-user-popup #cmsShadowClose { display: none; }
.user-popup-close { cursor: pointer; position: absolute; z-index: 1; top: 82px; right: 77px; width: 16px; height: 16px; }
.user-popup-close > svg { display: flex; width: 16px; height: 16px; }
.user-popup-close > svg > path { stroke: var(--black); transition: var(--transition); }
.user-popup-close:hover > svg > path { stroke: var(--primary); }
.user-popup-header { display: flex; align-items: center; gap: 15px 52px; }
.user-popup-img { display: flex; flex-shrink: 0; max-width: 190px; width: 100%; aspect-ratio: 1 / 1; border-radius: 50%; overflow: clip; }
.user-popup-img > picture { display: flex; width: 100%; }
.user-popup-img > picture > img { width: 100%; height: 100%; object-fit: cover; }
.user-popup-info { display: flex; flex-direction: column; flex: 1; gap: 10px; padding: 0 28px 0 0; }
.user-popup-box { flex: 1; overflow: auto; padding: 0 104px 0 242px; }
@media screen and (max-width: 991px) {
	.user-popup-container { gap: 15px; padding: 30px; }
	.user-popup-close { top: 30px; right: 30px; }
	.user-popup-header { flex-direction: column; align-items: flex-start; }
	.user-popup-info { padding: 0; }
	.user-popup-box { overflow: auto; padding: 0 30px 0 0; }
}
/************************************ End: User Popup ************************************/