@charset "utf-8";

body {
    color: #333;
    background-color: #FAFAFA;
    font-family: 'Open Sans', sans-serif;
    font-size: 18px;
    font-weight: 400;
}

p {
    margin-top: 0;
    margin-bottom: 1em;
}

h1, h2, h3, h4, h5, h6 {
    font-family: 'Open Sans', sans-serif;
    font-weight: 600;
    line-height: 1.3;
    color: inherit;
    text-rendering: optimizelegibility;
    word-wrap: normal;
}


h1, .h1 {
    font-size: clamp(41px, calc(24px + 3.7vw), 70px);
    font-weight: 700;
    line-height: 1.2;
    margin-bottom: 0.5em;
}


h1 em {
    display: block;
    font-weight: 400 !important;
    font-size: 60%;
    font-style: normal;
    line-height: 1.45;
    padding-left: 0.1em;
}

h2, .h2 {
    font-size: clamp(35px, calc(29px + 1.2vw), 43px);
    line-height: 1.3;
    font-weight: 600;
    margin: 0 0 0.5em;
}

p+h2, p+.h2, ul+h2 {
    margin: 2em 0 0.5em;
}


h3, .h3 {
    font-size: clamp(22px, calc(19px + 0.7vw), 27px);
    margin-bottom: 1em;
	line-height: 1.3;
}


h4, .h4 {
    font-size: 1.2rem;
    line-height: 1.4;
    font-weight: 400;
    margin-bottom: 0.5em;
}

.big {
    font-size: 1.3rem;
    line-height: 1.3;
    font-weight: 400;
    color: var(--color-01);
}

.big2 {
    font-size: 1.3rem;
    line-height: 1.3;
    font-weight: 600;
    color: var(--color-01);
}

.big2-ws {
    font-size: 1.3rem;
    line-height: 1.3;
    font-weight: 600;
    color: var(--color-09);
}


.small-1 {
    font-size: 80%;
    line-height: 1.2;
}


.w200 {
    font-weight: 200;
}

.w300 {
    font-weight: 300;
}

.w400 {
    font-weight: 400;
}

.w500 {
    font-weight: 500;
}

.w600 {
    font-weight: 600;
}

.w700 {
    font-weight: 700;
}

.w900 {
    font-weight: 900;
}


.ts1 {
    text-shadow: 1px 1px 2px rgb(0 0 0 / 40%);
}

.ts2 {
    text-shadow: 0 0 25px rgb(0 0 0 / 45%), 1px 1px rgb(0 0 0 / 53%) !important;
}


blockquote p::before {
    content: '»';
    color: inherit;
    opacity: 0.4;
    position: absolute;
    font-size: 2.1em;
    line-height: 1em;
    margin-top: -0.3em;
    margin-left: -0.6em;
}

blockquote p::after {
    content: '«';
    color: inherit;
    opacity: 0.4;
    position: absolute;
    font-size: 2.1em;
    line-height: 1em;
    margin-top: -0.28em;
    margin-left: 0.1em;
}


figure {
    margin: 0;
}

a {
    color: var(--color-15);
}

a:hover {
    color: var(--color-01);
}

#bestellform {
    scroll-margin-top: 9rem;
}


.breadcrumb {
    margin-bottom: 2rem;
    font-weight: 400;
}

.breadcrumb-item.active {
    color: #111;
    font-weight: 600;
}

.breadcrumb a {
    text-decoration: none;
}


/* ---- Container ----------------------- */

main {
    min-height: 100vh;
    overflow: hidden;
}

.nav-light main {
    min-height: 90vh;
    padding-top: 3.8rem;
}


.inner-container {
    overflow: hidden;
}



/* --- Listen ------------------------- */

main ul.u1, main ul.u2 {
    list-style-type: none;
    list-style-position: outside;
    display: block;
    padding-left: 1rem;
    margin-bottom: 2rem;
}


main ul.u1 li {
    position: relative;
    margin: 0 0 0.5em;
    padding: 0 0 0 1.5rem;
}

main ul.u2 li {
    position: relative;
    margin: 0 0 0.5em;
    padding: 0 0 0 2.5rem;
}


main ul.u1 li::before {
    content: ' ';
    position: absolute;
    height: 9px;
    width: 9px;
    border-radius: 50%;
    top: 0.5em;
    left: 0;
    background-color: var(--color-25);
}

main ul.u2 li::before {
    content: '';
    position: absolute;
    height: 28px;
    width: 28px;
    top: 0.25em;
    left: 0;
    background-image: url("data:image/svg+xml,%3Csvg width='1em' height='1em' viewBox='0 0 16 16' fill='hsl(145,69%,30%)' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' d='M15.354 2.646a.5.5 0 0 1 0 .708l-7 7a.5.5 0 0 1-.708 0l-3-3a.5.5 0 1 1 .708-.708L8 9.293l6.646-6.647a.5.5 0 0 1 .708 0z'/%3E%3Cpath fill-rule='evenodd' d='M8 2.5A5.5 5.5 0 1 0 13.5 8a.5.5 0 0 1 1 0 6.5 6.5 0 1 1-3.25-5.63.5.5 0 1 1-.5.865A5.472 5.472 0 0 0 8 2.5z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: 100% 100%;
}



/* ----- Buttons ------------------------- */


.btn {
    margin-top: 1rem;
}

.btn-10 {
    font-weight: 700;
    background-color: #fff;
    border-color: var(--color-15);
    color: var(--color-15);
    padding: 0.4rem 1.2rem;
    font-size: calc(1rem + .33vw) !important;
    border-radius: 3rem;
    box-shadow: 2px 2px 9px rgb(0 0 0 / 20%);
}

.btn-10:hover, .btn-10.active {
    background-color: var(--color-15);
    color: #fff;
}

#button-container .btn-10 {
    font-size: calc(0.7rem + .33vw) !important;
}


.btn-11 {
    font-weight: 700;
    background-color: var(--color-25);
    border-color: var(--color-25);
    color: #fff;
    padding: 0.2rem 2.5rem;
    font-size: 1.25rem;
    border-radius: 3rem;
}

.btn-11:hover {
    background-color: #fff;
    color: var(--color-25);
}

.btn-12 {
    font-weight: 600;
    background-color: #fff;
    border-color: var(--color-15);
    color: var(--color-15);
    padding: 0.2rem 2.5rem;
    font-size: 1rem;
    border-radius: 3rem;
    box-shadow: 2px 2px 9px rgb(0 0 0 / 20%);
}

.btn-12:hover {
    background-color: var(--color-15);
    color: #fff;
}

.btn-30 {
    position: relative;
    display: inline-block;
    color: var(--color-15);
    font-weight: 400;
    padding: 0 1.3em 0 0;
    margin: 0;
    outline: none;
    font-size: 100%;
    text-decoration: none;
}

.btn-30:hover {
    color: var(--color-10);
    text-decoration: underline;
}

.btn-30::after {
    content: '';
    position: absolute;
    display: block;
    height: 1.3em;
    width: 50px;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center right;
    background-image: url("data:image/svg+xml,%3Csvg width='1em' height='1em' viewBox='0 0 16 16' class='bi bi-arrow-right-short' fill='hsl(4, 69%, 48%)' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' d='M8.146 4.646a.5.5 0 0 1 .708 0l3 3a.5.5 0 0 1 0 .708l-3 3a.5.5 0 0 1-.708-.708L10.793 8 8.146 5.354a.5.5 0 0 1 0-.708z'/%3E%3Cpath fill-rule='evenodd' d='M4 8a.5.5 0 0 1 .5-.5H11a.5.5 0 0 1 0 1H4.5A.5.5 0 0 1 4 8z'/%3E%3C/svg%3E");
}

.btn-30:hover::after {
    right: -3px;
}

.btn-big {
    position: relative;
    font-weight: 700;
    background-color: var(--color-25);
    border-color: var(--color-25);
    color: #fff;
    padding: 0.5rem 4.5rem;
    font-size: 1.5rem;
    border-radius: 3rem;
    box-shadow: 3px 3px 9px rgb(0 0 0 / 40%);
}

.btn-big:hover {
    background-color: #fff;
    color: var(--color-25);
}


.arrow-light::after {
    content: '';
    position: absolute;
    display: block;
    height: 100%;
    width: 50px;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    background-image: url("data:image/svg+xml,%3Csvg width='1em' height='1em' viewBox='0 0 16 16' fill='hsl(145, 70%, 88%)' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' d='M8.146 4.646a.5.5 0 0 1 .708 0l3 3a.5.5 0 0 1 0 .708l-3 3a.5.5 0 0 1-.708-.708L10.793 8 8.146 5.354a.5.5 0 0 1 0-.708z'/%3E%3Cpath fill-rule='evenodd' d='M4 8a.5.5 0 0 1 .5-.5H11a.5.5 0 0 1 0 1H4.5A.5.5 0 0 1 4 8z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center right;
}


.arrow-light-2::after {
    content: '';
    display: inline-block;
    width: 2em;
    height: 0.7em;
    background-image: url("data:image/svg+xml,%3Csvg width='1em' height='1em' viewBox='0 0 16 16' fill='hsl(0, 100%, 100%)' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' d='M8.146 4.646a.5.5 0 0 1 .708 0l3 3a.5.5 0 0 1 0 .708l-3 3a.5.5 0 0 1-.708-.708L10.793 8 8.146 5.354a.5.5 0 0 1 0-.708z'/%3E%3Cpath fill-rule='evenodd' d='M4 8a.5.5 0 0 1 .5-.5H11a.5.5 0 0 1 0 1H4.5A.5.5 0 0 1 4 8z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center right;
}

.arrow2d::after {
    content: '';
    display: inline-block;
    width: 2em;
    height: 0.7em;
    background-image: url("data:image/svg+xml,%3Csvg width='1em' height='1em' viewBox='0 0 16 16' fill='hsl(0, 0%, 30%)' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' d='M8.146 4.646a.5.5 0 0 1 .708 0l3 3a.5.5 0 0 1 0 .708l-3 3a.5.5 0 0 1-.708-.708L10.793 8 8.146 5.354a.5.5 0 0 1 0-.708z'/%3E%3Cpath fill-rule='evenodd' d='M4 8a.5.5 0 0 1 .5-.5H11a.5.5 0 0 1 0 1H4.5A.5.5 0 0 1 4 8z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center right;
}



.btn-40 {
    display: inline-block;
    margin: 3px;
    padding: 0.2rem 1rem;
    font-size: 1.1rem;
    text-decoration: none;
    color: hsl(0deg 0% 22%);
    background-color: hsl(0deg 0% 95%);
    border-radius: 30px;
}

.btn-40:hover {
    background-color: hsl(0deg 0% 85%);
}


/* ----- CTA Buttons ------------------------- */


.cta-btn-1 {
    display: inline-block;
    font-weight: 700;
    background-color: #fff;
    border: 1px solid;
    border-color: var(--color-15);
    color: var(--color-15);
    padding: 0.4rem 1.2rem;
    margin-bottom: 0.3rem;
    font-size: calc(1rem + .33vw) !important;
    border-radius: 3rem;
    box-shadow: 2px 2px 9px rgb(0 0 0 / 20%);
    text-decoration: none;
}

.cta-btn-1:hover {
    background-color: var(--color-15);
    color: #fff;
}

.cta-btn-2 {
    display: inline-block;
    font-weight: 700;
    background-color: var(--color-15);
    border: 1px solid;
    border-color: var(--color-15);
    color: #fff;
    padding: 0.4rem 1.2rem;
    margin-bottom: 0.3rem;
    font-size: calc(1.2rem + .3vw) !important;
    border-radius: 3rem;
    box-shadow: 2px 2px 9px rgb(0 0 0 / 20%);
    text-decoration: none;
}

.cta-btn-2:hover {
    background-color: #fff;
    color: var(--color-15);
}

.cta-btn-3 {
    display: inline-block;
    font-weight: 700;
    background-color: var(--color-25);
    border: 1px solid;
    border-color: var(--color-25);
    color: #fff;
    padding: 0.4rem 1.2rem;
    margin-bottom: 0.3rem;
    font-size: calc(1rem + .33vw) !important;
    border-radius: 3rem;
    box-shadow: 2px 2px 9px rgb(0 0 0 / 20%);
    text-decoration: none;
}

.cta-btn-3:hover {
    background-color: #fff;
    color: var(--color-25);
}


/* -----  Icon Online-Seminar  ------------------------- */

.onsem {
    position: relative;
    display: inline-block;
    font-size: 1.2rem;
    font-weight: 700;
    background-color: hsl(0deg 0% 0% / 18%);
    color: #fff;
    margin: 1rem 0.3rem;
    padding: 0.25em 2.5em 0.25em 0.3em;
    border-radius: 4px;
}

.onsem::after {
    content: '';
    position: absolute;
    display: block;
    height: 1.4em;
    width: 50px;
    top: 50%;
    right: 9px;
    transform: translateY(-50%);
    background-image: url('/resources/images/pc-handy-icon-white.svg');
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center right;
}



.date-icon::before {
    content: '';
    display: block;
    height: 1.0em;
	margin-bottom: 5px;
    background-image: url('/resources/images/calendar-time.svg');
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center left;
}


/* ---- Produkt Details  ------------------------------- */

.not-bookable-txt {
	color: var(--color-15);
	font-size: 0.9rem;
	font-weight: 700;
	margin-top: 0.6rem;
}

.not-bookable-long-txt {
    position: fixed;
    top: 250px;
    left: 0;
    background-color: hsl(4deg 68% 52%);
    color: #fff;
    font-size: 1.5rem;
    font-weight: 700;
    padding: 8px;
    z-index: 100;
    font-style: italic;
    box-shadow: 0 0 15px #aaa;
}

.product-details {
    display: flex !important;
}

.product-details img {
    width: 100%;
    height: auto;
    box-shadow: 2px 2px 3px rgb(0 0 0 / 40%), 8px 8px 14px rgb(0 0 0 / 20%);
}

.product-details .product-format {
    display: block;
    font-size: 1.7rem;
    font-weight: 300;
}

.product-details .product-price {
    display: inline-block;
    margin-right: 2rem;
}


.btn-order {
    display: inline-block;
    position: relative;
    font-size: 1.25rem;
    font-weight: 700;
    line-height: 1.5;
    color: #fff;
    background-color: var(--color-25);
    border: 1px solid var(--color-25);
    padding: 0.2rem 2.5rem;
    border-radius: 3rem;
    text-align: center;
    text-decoration: none;
    vertical-align: middle;
    cursor: pointer;
    user-select: none;
    transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out;
}

.btn-order:hover {
    background-color: #fff;
    color: var(--color-25);
}





/* ---- Teaser Quer ----------------------------------------- */

.teaser-quer {
    position: relative;
    display: block;
    border: none;
    margin-bottom: 1.5rem !important;
    padding: 0;
    width: 100%;
    background-color: #fff;
    border-radius: 5px;
    overflow: hidden;
    text-decoration: none !important;
    box-shadow: 3px 3px 9px 0 rgb(0 0 0 / 25%);
}

.teaser-quer:hover {
    box-shadow: 1px 1px 4px 2px rgb(0 0 0 / 25%);
}


.teaser-quer picture {
    position: relative;
    display: block;
}

.teaser-quer img {
    width: 100%;
    height: auto;
    flex-shrink: 0;
    border-radius: 4px;
}

.teaser-quer .card-body {
    padding: 0.5rem 0.5rem 1.5rem 0.8rem;
    min-height: 2rem;
    text-align: left;
}

.teaser-quer h3 {
    font-size: calc(1.0rem + .2vw);
    color: var(--color-05);
    font-weight: 600;
    line-height: 1.1;
    margin-bottom: 0.4rem;
}

a.teaser-quer:hover h3 {
    text-decoration: underline;
}

.teaser-quer p {
    font-size: 0.8rem;
    color: #111;
}

.teaser-quer .media-format {
    color: var(--color-25);
    font-weight: 300;
    line-height: 1;
    margin-bottom: 4px;
}


.teaser-quer .product-price {
    position: absolute;
    bottom: 3px;
    right: 18px;
    font-size: 1.2rem;
    font-weight: 600;
    color: var(--color-05);
}

.teaser-quer .product-tag-allocated {
    display: inline-block;
    position: absolute;
    left: 3px;
    bottom: 1px;
    font-size: 11px;
    color: transparent;
    width: auto;
}

.teaser-quer .product-tag-allocated:hover {
    color: #555;
    background-color: #fff;
}



/* ---- Teaser 500 ---------------------------------------- */

.teaser-500 {
    display: block;
    width: 100%;
    overflow: hidden;
    text-decoration: none;
    border: none;
    border-radius: 21px;
    border-bottom: 1px solid #e9e9e9;
}

.teaser-500 figure {
    display: block;
    position: relative;
    overflow: hidden;
    width: 100%;
}

.teaser-500 figure img {
    width: 100%;
    height: auto;
    transition: transform 0.3s ease-in-out;
}

.teaser-500 h2 {
    color: inherit;
    font-size: 1rem;
	font-weight: 700;
    margin: 0 0 0.5rem;
}

.teaser-500 p {
    color: inherit;
    font-size: 1.25rem;
    font-weight: 600;
    margin: 0;
}


.transp-bg-1 .teaser-500 {
    background-color: rgb(255 255 255 / 84%);
}

.transp-bg-2 .teaser-500 {
    background-color: rgb(255 255 255 / 65%);
}



/* ---- Teaser all ------------------------ */


.taser-content {
    position: relative;
    width: 100%;
    z-index: 1;
}

.teaser-shorttxt {
    font-size: 1rem;
    font-weight: 400;
    margin-bottom: 3px;
}



/* --- IMG u TXT nebeneinander - optional als Teaser --- */

.imgtxt-flex {
    display: flex !important;
    overflow: hidden;
    position: relative;
}
.imgtxt-flex.radius-2 {
    border-radius: 21px;
}

.imgtxt-flex figure {
    position: relative;
    overflow: hidden;
}
.imgtxt-flex.radius-2 figure {
    border-radius: 21px;
}

.imgtxt-flex figure img {
    width: 100%;
    height: auto;
    transition: transform 0.3s ease-in-out;
}

.imgtxt-flex .txt-box-1 {
    flex: 1;
    color: #555;
    position: relative;
}

a.imgtxt-flex {
    text-decoration: none;
}

a.imgtxt-flex:hover {
    box-shadow: 5px 5px 15px 0 rgb(100 100 100 / 25%);
}

a.imgtxt-flex:hover .txt-box-1 {
    text-decoration: underline;
}

a.imgtxt-flex:hover figure img {
    transform: scale(1.2);
}


a.txt-box-1::after {
    content: '';
    display: block;
    width: 30px;
    height: 30px;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 16 16' class='bi bi-arrow-right' fill='hsl(30, 97%, 47%)' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' d='M10.146 4.646a.5.5 0 0 1 .708 0l3 3a.5.5 0 0 1 0 .708l-3 3a.5.5 0 0 1-.708-.708L12.793 8l-2.647-2.646a.5.5 0 0 1 0-.708z'/%3E%3Cpath fill-rule='evenodd' d='M2 8a.5.5 0 0 1 .5-.5H13a.5.5 0 0 1 0 1H2.5A.5.5 0 0 1 2 8z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: 100% 100%;
    margin-left: 0;
    transition: all 0.3s ease 0s;
}

a.txt-box-1:hover::after {
    margin-left: 10px;
}


.txt-kurz {
    position: absolute;
    left: 0;
    bottom: 0;
    background: #e75b01;
    color: #fff;
    padding: 0 7px;
    font-size: 1rem;
    z-index: 10;
}


.mover-txt1:hover {
    text-decoration: underline;
}

.mover-img-scale:hover img {
    transform: scale(1.15);
}



/* -------  Selektion nach data-attributen via JS --------------------- */


#select-container [data-select] {
	display: none;
	opacity: 0.2;
}

/* sichtbar machen */
#select-container [data-select].show {
	display: block;
	animation: fade-in 1s ease 0.1s forwards;
}

@keyframes fade-in {
	from {
		opacity: 0.2;
	}

	to {
		opacity: 1;
	}
}




/* ---- mouseover Layer -------------------- */

.hover-wraper {
    position: relative;
    display: block;
}

.hoverlayer-2 {
    position: absolute;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    background: radial-gradient(ellipse at center, rgb(244 152 4 / 100%) 0%, rgb(244 152 4 / 100%) 5%, rgb(244 152 4 / 0%) 65%, rgb(244 152 4 / 0%) 100%);
    color: #fff;
    font-size: 2rem;
    line-height: 1.2;
    font-weight: 700;
    inset: 0;
    z-index: 1;
    text-shadow: 1px 1px 1px rgb(0 0 0 / 30%);
    transition: opacity 0.4s ease-out 0s;
    opacity: 0;
}

.hover-wraper:hover .hoverlayer-2 {
    opacity: 1;
}



/* ---- Cols gleiche Hoehe u. Zentrierung Inhalt ----------- */

.row.equal-height>div {
    display: flex;
}


.inner-col {
    width: 100%;
    position: relative;
    display: flex;
    overflow: hidden;
    border-radius: 4px;
}

.content-col {
    z-index: 10;
    width: 100%;
}

/* ---- Ausrichtung eines Containers innerhalb inner-col ----------- */

.center-y .inner-col {
    align-items: center;
}

.center-x .inner-col {
    justify-content: center;
}

.center-xy .inner-col {
    justify-content: center;
    align-items: center;
}

/* ---- horiz. zentr. Text -------- */
.t-align-center .content-col {
    text-align: center;
}

.align-column-center {
    flex-direction: column;
    justify-content: center;
}


/* -- IMG im Container -- */
img.object-fit {
    position: absolute;
    z-index: 0;
    object-fit: cover;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}



/* ----- fullpic2 TXT on IMG ------------------------------------ */

.fullpic2-txt-wrapper {
    position: relative;
    overflow: hidden;
}

.fullpic2-img-container {
    position: absolute;
    inset: 0;
    overflow: hidden;
}

.img-fit {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.fullpic2-txt-container {
    position: relative;
    padding: 0;
}

.fullpic2-txt {
    padding: 0.75rem;
}


.fullpic2-txt h1 {
    font-weight: 700 !important;
    line-height: 1.2;
    color: #fff;
    text-shadow: 1px 1px rgb(0 0 0 / 40%);
    margin: 0;
}

.fullpic2-txt h1 em {
    display: block;
    font-weight: 400 !important;
    font-size: 60%;
    font-style: normal;
    line-height: 1.45;
    padding-left: 0.1em;
}


.fullpic2-img-container.layer1::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 100%;
    z-index: 0;
    background: linear-gradient(to bottom, rgb(2 54 109 / 43%) 0%, rgb(2 54 109 / 0%) 30%, rgb(2 54 109 / 0%) 100%);
}

.fullpic2-img-container.layer2::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 100%;
    z-index: 0;
    background-color: hsl(144deg 57% 17% / 30%);
}

.fullpic2-img-container.layer3::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 100%;
    z-index: 0;
    background-color: hsl(28deg 98% 46% / 66%);
}


/* ----- Text-Pos = Flexbox ------------- */

.fpos-txt-x2y1 {
    justify-content: center;
    align-items: start;
}

.fpos-txt-x2y2 {
    justify-content: center;
    align-items: center;
}

.fpos-txt-x1y2 {
    justify-content: flex-start;
    align-items: center;
}

.fpos-txt-x1y3 {
    justify-content: flex-start;
    align-items: end;
}

.fpos-txt-x2y3 {
    justify-content: center;
    align-items: end;
    bottom: 4rem;
}

.fpos-txt-x3y2 {
    justify-content: end;
    align-items: center;
}

.fullpic2-txt-wrapper.element-1::after {
    content: "";
    position: absolute;
    height: calc(50px + 10vw);
    width: 60%;
    bottom: 0;
    left: 0;
    z-index: 100;
    background-repeat: no-repeat;
    background-size: 100% 100%;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' version='1.1' xmlns:xlink='http://www.w3.org/1999/xlink' xmlns:svgjs='http://svgjs.com/svgjs' width='700' height='200' preserveAspectRatio='none' viewBox='0 0 700 200'%3e%3cg mask='url(%26quot%3b%23SvgjsMask1042%26quot%3b)' fill='none'%3e%3cpath d='M-134.25 49.12C-60.96 50.65 29.08 145.49 141.4 149.12 253.72 152.75 239.92 222.97 279.23 225.46' stroke='rgba(255%2c 255%2c 255%2c 0.28)' stroke-width='2'%3e%3c/path%3e%3cpath d='M-43.42 100.51C7.33 100.56 57.32 125.51 158.05 125.51 258.79 125.51 256.58 100.05 359.52 100.51 462.46 100.97 503.74 206.8 560.99 210.29' stroke='rgba(255%2c 255%2c 255%2c 0.30)' stroke-width='2'%3e%3c/path%3e%3cpath d='M-68.07 172.02C4.49 171.45 72.05 99.98 213.13 100.02 354.2 100.06 418.08 216.04 494.32 218.42' stroke='rgba(255%2c 255%2c 255%2c 0.15)' stroke-width='2'%3e%3c/path%3e%3cpath d='M-52.31 114.71C-1.46 114.76 48.62 139.71 149.55 139.71 250.48 139.71 249.11 114.49 351.41 114.71 453.71 114.93 497.88 204.3 553.27 206.42' stroke='rgba(255%2c 255%2c 255%2c 0.27)' stroke-width='2'%3e%3c/path%3e%3cpath d='M-80.66 38.91C-18.81 39.92 27.93 113.57 154.16 116.91 280.38 120.25 324.42 222.24 388.97 224.78' stroke='rgba(255%2c 255%2c 255%2c 0.28)' stroke-width='2'%3e%3c/path%3e%3c/g%3e%3cdefs%3e%3cmask id='SvgjsMask1042'%3e%3crect width='700' height='200' fill='white'%3e%3c/rect%3e%3c/mask%3e%3c/defs%3e%3c/svg%3e");
}


.parallax-container {
    position: absolute;
    inset: 0;
    overflow: hidden;
}

.img-parallax {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: auto;
}

@media (width <=960px) {
    .img-parallax {
        left: -50%;
        width: 200%;
    }
}




/* ------ mind. Height ---------------------------- */

.height-dyn1 {
    height: calc(0.41 * 100vw);
    min-height: 28rem;
    max-height: 75vh;
}

/* --- 16/9 --- */
.height-dyn2 {
    height: calc(0.562 * 100vw);
    min-height: 24rem;
    max-height: 100vh;
}


.height-10 {
    min-height: 15rem;
}

.height-20 {
    min-height: 25rem;
}

.height-30 {
    min-height: 30rem;
}

.height-50vh {
    min-height: 55vh;
}

.height-70vh {
    min-height: 75vh;
}

.height-100vh {
    min-height: 100vh;
}




/* --------- width Container  -------------- */


.w1 {
    max-width: 750px;
    padding-left: 15px;
    padding-right: 15px;
}

.w2 {
    max-width: 1000px;
    padding-left: 15px;
    padding-right: 15px;
}

.w3 {
    max-width: 1140px;
    padding-left: 15px;
    padding-right: 15px;
}

.w4 {
    max-width: 1400px;
    padding-left: 15px;
    padding-right: 15px;
}

.w100 {
    width: 100%;
    overflow: hidden;
}


/* ----- width img  ------ */

.img-w20 {
    width: 20%;
    height: auto;
    min-width: 150px;
}

.img-w25 {
    width: 25%;
    height: auto;
    min-width: 150px;
}

.img-w33 {
    width: 33%;
    height: auto;
    min-width: 150px;
}

.img-w50 {
    width: 50%;
    height: auto;
    min-width: 370px;
}

.img-w67 {
    width: 67%;
    height: auto;
}



/* ---- Linien ----------------------------------------- */


.hline-1 {
    border-bottom: 1px solid #384452;
    margin: 40px 0 20px;
}

.hline-2 {
    border-bottom: 1px solid #fff;
    margin-bottom: 25px;
}

.hline-3 {
    display: block;
    width: calc(100px + 45vw);
    margin-left: 50%;
    margin-top: 2rem;
    transform: translateX(-50%);
    height: 1px;
    border: none;
    background-color: #333;
    background-image: linear-gradient(to right, #ddd, #8c8482, #ddd);
}


/* --- Linien-Auswahl in Modulen, class an inner-col oder inner-container --- */



.border-1 {
    border: 1px solid var(--color-15);
    border-radius: 3px;
}

.border-2 {
    border: 1px solid var(--color-06);
    border-radius: 3px;
}

/* --- border innen --- */
.border-3 {
    border: 1px solid rgb(255 255 255 / 40%);
    margin: 8px;
}

.border-left-1 {
    border-left: 1px solid var(--color-06);
}

.border-left-2 {
    border-left: 1px solid var(--color-15);
}

.border-left-3 {
    border-left: 5px solid var(--color-06);
}

.border-bottom-1 {
    border-bottom: 2px solid var(--color-06);
    padding-bottom: 1rem;
}

.line-bottom-1::after {
    content: "";
    display: block;
    background-color: var(--color-06);
    height: 1px;
    width: 100%;
    margin: 1.5rem 0 1.35rem;
}

.line-bottom-2::after {
    content: "";
    display: block;
    background-color: var(--color-06);
    height: 3px;
    width: 34%;
    margin-top: 2rem;
}

.line-bottom-3::after {
    content: "";
    display: block;
    background-color: var(--color-06);
    height: 3px;
    width: 30%;
    margin-top: 0.5rem;
    margin-bottom: 1.5rem;
}

.txt-border {
    border: 1px solid rgb(255 255 255 / 50%);
    padding: 1rem 5px;
}


/* ---- allgem. Styles ------------------------------------------ */


.img-l1 {
    float: left;
    margin-right: 15px;
    max-width: 130px;
    height: auto;
    box-shadow: 3px 3px 7px rgb(0 0 0 / 40%);
}

.img-l2 {
    float: left;
    margin-right: 15px;
    max-width: 200px;
    height: auto;
    box-shadow: 3px 3px 7px rgb(0 0 0 / 40%);
}

.img-r1 {
    float: right;
    margin-left: 10px;
    max-width: 130px;
    height: auto;
    box-shadow: -3px 3px 7px rgb(0 0 0 / 40%);
}

a:hover .img-l1, a:hover .img-l2, a:hover .img-r1 {
    border: 1px solid var(--color-15);
}



.img-fluid {
    border-radius: 3px;
}

.figcaption-1 {
    text-align: center;
    font-size: 80%;
    padding: 0.3rem;
}

.figcaption-2 {
    text-align: center;
    font-size: 80%;
    padding: 0.3rem;
    background-color: #efefef;
}

.figcaption-1 p, .figcaption-2 p {
    margin: 0;
}

.cols-x {
    column-gap: 1.5rem;
    column-width: 30rem;
}


.cols-x2 {
    column-gap: 1.5rem;
    column-width: 33rem;
    column-rule: 1px dashed #ccc;
}



.my-6 {
    margin-top: 5rem !important;
    margin-bottom: 5rem !important;
}

.mt-7 {
    margin-top: 5rem;
}

.py-6 {
    padding: 8rem 0 1rem;
}

.py-7 {
    padding: 7rem 1rem;
}

.pb-70p {
    padding-bottom: 70%;
}

.box-shadow-1 {
    box-shadow: 5px 5px 15px 0 rgb(155 155 155 / 25%);
}

.box-shadow-2 {
    box-shadow: 3px 3px 9px 0 rgb(0 0 0 / 25%);
}



#scroll-top-button {
    position: fixed;
    right: 3px;
    bottom: 46px;
    width: 40px;
    height: 40px;
    background-color: rgb(0 40 0 / 30%);
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 16 16' class='bi bi-arrow-up-short' fill='%23fff' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8 5.5a.5.5 0 0 1 .5.5v5a.5.5 0 0 1-1 0V6a.5.5 0 0 1 .5-.5z'/%3E%3Cpath d='M7.646 4.646a.5.5 0 0 1 .708 0l3 3a.5.5 0 0 1-.708.708L8 5.707 5.354 8.354a.5.5 0 1 1-.708-.708l3-3z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: 100% 100%;
    opacity: 0;
    transition: opacity 1s ease-in 0s;
    z-index: 1000;
}

#scroll-top-button:hover {
    background-color: rgb(0 0 0 / 60%);
}

.no-top #scroll-top-button {
    opacity: 1;
}


#compass-button {
    position: fixed;
    right: 3px;
    bottom: 3px;
    width: 40px;
    height: 40px;
    background-color: rgb(0 40 0 / 30%);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='30.7' height='30.7'%3E%3Cg transform='translate(-99.711 -68.733)'%3E%3Ccircle cx='115.06' cy='84.083' r='14.57' style='fill:none;stroke-width:1.56;stroke:%23fff'/%3E%3Cpath style='fill:%23fff' d='M114.06 70.128h2v4h-2zM114.06 94.073h2v4h-2z'/%3E%3Cpath style='fill:%23fff;stroke-width:1.2258' d='M100.95 83.083h4v2h-4zM125.11 83.083h4v2h-4z'/%3E%3Cpath d='m122.73 76.529-5.802 9.01-9.13 5.925 5.858-8.98z' style='fill:%23fff'/%3E%3C/g%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: 80% 80%;
    background-position: center;
    opacity: 1;
    transition: opacity 1s ease-in 0s;
    z-index: 1000;
}

#compass-button:hover {
    background-color: rgb(0 0 0 / 60%);
}



/* ---- Nav Bar  -------------------------------------------------------------- */


#navbarMain {
    padding: 0.5rem 0;
    max-height: calc(100vh - 7rem);
    overflow-y: scroll;
    scrollbar-width: thin;
}


#top-trigger {
    height: 3px;
    position: absolute;
    top: 10px;
    left: 0;
    width: 100%;
    z-index: 0;
}

.navbar {
    position: fixed;
    background-color: transparent;
    top: 0;
    left: 0;
    height: auto;
    width: 100%;
    padding: 0;
    z-index: 1000;
    transition: background-color 0.7s;
}

.no-top .navbar, .nav-show .navbar {
    box-shadow: 0 2px 5px rgb(0 0 0 / 40%) !important;
    background-color: #fff;
}

.nav-light .navbar {
    box-shadow: 0 2px 5px rgb(0 0 0 / 20%);
    background-color: #fff;
}



.navbar-toggler {
    border: none;
    background-color: rgb(255 255 255 / 50%);
}

.navbar-toggler:hover {
    background-color: rgb(0 0 0 / 4%);
}

.navbar-toggler:focus {
    box-shadow: 0 0 0 1px #ccc;
}

.navbar-toggler-icon {
    background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='rgba(0, 10, 20, 1)' stroke-width='3' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

.navbar-brand {
    width: 140px;
    height: 60px;
    margin: 0 2rem 0 0;
    padding: 0;
    background-image: url('/resources/images/kuby-logo-white-opt.svg');
    background-color: transparent;
    background-repeat: no-repeat;
    background-size: 90%;
    background-position: center center;
    transition: all 0.4s ease 0s;
}

.no-top .navbar-brand {
    height: 43px;
    background-size: 80%;
    background-color: var(--color-25);
}

.nav-light .navbar-brand, .nav-show .navbar-brand {
    background-size: 80%;
    background-color: var(--color-25);
}

.navbar-nav .navbar li {
    margin: 0;
}


.navbar-nav .nav-link {
    color: #ffffffd4;
    font-size: 1.2rem;
    line-height: 1.5;
    font-weight: 600;
    padding: 6px 0.8em !important;
    text-transform: uppercase;
}

.no-top .nav-link, .nav-show .nav-link, .nav-light .nav-link {
    color: #555;
}

.navbar-nav .nav-link:hover,
.navbar-nav .nav-link:focus {
    color: #fff;
}

.navbar-nav .active>.nav-link {
    color: #fff;
}

.nav-light .navbar-nav .nav-link:hover,
.nav-light .navbar-nav .nav-link:focus,
.no-top .navbar-nav .nav-link:hover,
.no-top .navbar-nav .nav-link:focus,
.nav-show .navbar-nav .nav-link:hover,
.nav-show .navbar-nav .nav-link:focus {
    color: var(--color-25);
}


.no-top .navbar-nav .active>.nav-link,
.nav-light .navbar-nav .active>.nav-link,
.nav-show .navbar-nav .active>.nav-link {
    color: var(--color-25);
}

.dropdown-menu {
    background-color: #fff;
    border: none;
    border-radius: 0;
    padding: 1rem;
    margin: 0;
    box-shadow: 5px 10px 20px rgb(0 0 0 / 50%);
}


.dropdown-item {
    color: #333;
    padding: .15rem 0;
    font-weight: 600;
}


.dropdown-item:hover, .dropdown-item.active {
    color: var(--color-25);
    background-color: transparent;
}

.shopicon-link {
    display: block;
    width: 110px;
    height: 34px;
    background-image: url('/resources/images/shop-icon-txt.svg');
    background-repeat: no-repeat;
    background-size: 80%;
    background-position: center center;
    background-color: #ffffff46;
    margin-left: 20px;
    border-radius: 3px;
    transition: all 0.4s ease 0s;
}

.shopicon-link:hover {
    background-color: #ffe9e0;
}



.btn-portal {
    background-color: #fff0;
    font-size: 1rem;
    font-weight: 600;
	padding: 2px 5px;
	margin-right: 1rem;
	border-radius: 5px;
	border: 1px solid var(--color-15);
	text-decoration: none;
	transition: all 0.4s ease 0s;
}
.btn-portal:hover {
    background-color: var(--color-15);
	color: #fff;
}

/* ------- Formular doForm ------------------------- */


form.formgen, .formthanks, .forminfo {
    display: block;
    max-width: 1000px;
    margin: 1rem auto;
    padding: 15px;
}

.forminfo {
    color: rgb(200 50 50);
    border: 1px solid rgb(200 50 50);
}

.formthanks {
    border: 1px solid #ff6400;
    margin-bottom: 4rem;
    border-radius: 5px;
}


.formblock {
    margin-bottom: 18px;
}


.formgen label {
    width: 10rem;
    vertical-align: top;
}

.formgen input.formtext {
    min-width: 100%;
    border: 1px solid #ccc;
}

.formgen textarea.formtextfield {
    min-width: 100%;
    margin-bottom: 2rem;
}

.formgen .checkspan {
    padding: 1rem 0;
    display: block;
}

.formgen .checkspan label {
    width: auto;
    vertical-align: top;
    display: inline;
}



/* ------- Modal-Inhalt u. Modal-Teaser ------------------------- */


#compass-modal .modal-content {
    background-color: transparent;
    border: none
}


#compass-modal .modal-dialog-scrollable {
    height: calc(100% - 4.6rem);
}


#compass-modal .modal-header {
    color: #333;
    padding: 0;
    border-bottom: 1px solid hsl(144deg 45% 82%);
}


h2.modal-title {
    hyphens: auto;
}

#compass-modal .modal-body {
    padding: 1.7rem 0;
}

#compass-modal .modal-footer {
    padding: 0;
    border-top: none;
}


.modal-backdrop.show {
    opacity: 0.95;
}

.modal-backdrop {
    background-color: #e8fef2;
}



/* ---- Links zu Unterkategorien u. Geschwisterartikeln  -------------------- */

.sisters-links, .subcat-links {
    text-align: center;
    padding: 1.5rem;
    border-bottom: solid 1px #eee;
}

.sisters-links-modal {
    text-align: left;
    padding: 1.5rem 0.4rem;
    margin-bottom: 1.5rem;
    border-bottom: solid 1px #eee;
}

.subcat-links-modal {
    text-align: left;
    padding: 1.5rem 0.4rem;
}




/* ------- Footer ------------------------------------------------------- */


.footer-wrapper {
    overflow: hidden;
    padding: 0 0 2rem;
    background-color: #fff;
}


.footer {
    position: relative;
    overflow: hidden;
}


.footer h5 {
    color: rgb(0 0 0 / 90%);
    font-size: 1.25rem;
    font-weight: 700;
    line-height: 1.3;
}


.footer a, .footer p {
    display: block;
    color: rgb(0 0 0 / 85%);
    font-size: 1rem;
    line-height: 1.2;
    font-weight: 600;
    text-decoration: none;
    margin: 0 0 0.5em;
    padding: 0;
}


.footer .content-col br {
    display: none;
}

.footer a:hover {
    color: rgb(0 0 0 / 100%);
    text-decoration: underline;
}




/* ------- Slider ------------------------------------------ */

#splide1 .splide__slide {
    background-color: #fff;
    padding: 2rem 2rem 0;
}


#splide2 .splide__slide {
    padding: 0;
}


#splide1 .splide__slide p:first-of-type::before {
    content: '»';
    display: inline;
    color: hsl(0deg 0% 93%);
    position: absolute;
    top: -37px;
    left: 2px;
    font-size: 65px;
}

.splide__arrows {
    display: inline-flex;
    margin-bottom: 1rem;
}


.splide__arrow {
    width: 5rem;
    height: 2.5rem;
    margin-right: 1rem;
    border: 2px solid #000;
    border-radius: 50px;
    background-color: transparent;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M1 8a.5.5 0 0 1 .5-.5h11.793l-3.147-3.146a.5.5 0 0 1 .708-.708l4 4a.5.5 0 0 1 0 .708l-4 4a.5.5 0 0 1-.708-.708L13.293 8.5H1.5A.5.5 0 0 1 1 8'/%3E%3C/svg%3E");
    background-position: 50% 50%;
    background-size: 35%;
    background-repeat: no-repeat;
    transition: .2s;
    position: static;
    transform: none;
    cursor: pointer;
}

.splide__arrow.splide__arrow--prev {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M15 8a.5.5 0 0 0-.5-.5H2.707l3.147-3.146a.5.5 0 1 0-.708-.708l-4 4a.5.5 0 0 0 0 .708l4 4a.5.5 0 0 0 .708-.708L2.707 8.5H14.5A.5.5 0 0 0 15 8'/%3E%3C/svg%3E");
}

.splide__arrow:hover {
    background-size: 40%;
}

.splide__arrow:active {
    transform: scale(.94);
}

.splide__pagination {
    position: unset;
    margin-top: 20px;
}

.splide__pagination__page.is-active {
    background: #b7b7b7;
}



/* ------- glightbox ------------------------------------ */


#glightbox-body .goverlay {
    background: rgb(0 0 0 / 50%);
}

.glightbox-clean .gclose svg {
    width: 27px;
}

a.glightbox3 {
    display: block;
}



/* ------- Video  ---------------------------------------- */

.plyr {
    margin-bottom: 0.3rem;
}

.player-wrapper .plyr {
    margin-bottom: 1rem;
}

.plyr__control--overlaid {
    background: var(--plyr-video-control-background-hover, var(--plyr-color-main, var(--plyr-color-main, #00b2ff5e)));
}


.plyr--full-ui.plyr--video .plyr__control--overlaid {
    z-index: 10;
}



/* ------- Grid ---------------------------------------- */


.grid1 {
    display: grid;
    gap: 2rem;
    grid-template-columns: repeat(auto-fit, minmax(340px, 1fr));
    grid-template-rows: masonry;
    padding: 1rem;
}

.grid-item-1 {
    background: linear-gradient(to bottom right, hsl(40deg 45% 91%), hsl(32deg 56% 95%));
    border: solid 1px hsl(40deg 45% 91%);
    padding: 1em;
    box-shadow: 2px 2px 7px 0 rgb(0 0 0 / 10%);
}


.grid-item-1 p em {
    font-style: italic;
    font-size: 85%
}

.grid-item-1 p br+em {
    color: #8c8067;
    ;
}



/* ------- Time-Line ----------------------------------------------------- */

.timeline {
    box-sizing: border-box;
    position: relative;
    padding: 1rem 0;
}

.tl-container {
    width: 100%;
    padding: 30px 10px 10px 50px;
    position: relative;
}

.tl-date {
    display: block;
    font-size: 1.5rem;
    font-weight: 600;
}

.tl-content {
    padding: 0;
    position: relative;
}

.tl-container h2 {
    margin: 0 0 0.5rem;
}


/* Pseudo-element styles */

/* Timeline line */
.timeline::after {
    content: '';
    position: absolute;
    width: 4px;
    background-color: #ccc;
    top: 0;
    bottom: 0;
    left: 24px;
    margin-left: -2px;
}

/* Timeline dots */
.tl-container::after {
    content: '';
    position: absolute;
    width: 16px;
    height: 16px;
    left: 16px;
    background-color: hsl(23deg 99% 50%);
    border: 2px solid #FFF;
    top: 37px;
    border-radius: 50%;
    z-index: 1;
}

/* Specific behaviors */
.tl-container:nth-child(even) {
    left: 0;
}

/* Time-Line Media queries */
@media (width >=768px) {
    .tl-container {
        padding: 10px 10px 10px 50px;
    }

    .tl-content {
        padding: 16px 30px;
        background-color: white;
        border-radius: 6px;
    }

    .tl-container:nth-child(even) {
        padding: 10px 0 10px 40px;
        width: 50%;
        left: 50%;
    }

    .tl-container:nth-child(odd) {
        padding: 10px 40px 10px 0;
        width: 50%;
        left: 0;
    }

    .tl-container:nth-child(even) .tl-date {
        position: absolute;
        left: -215px;
        top: 27px;
        width: 11.5rem;
        text-align: end;
    }

    .tl-container:nth-child(odd) .tl-date {
        position: absolute;
        right: -215px;
        top: 27px;
        width: 11.5rem;
    }

    .timeline::after {
        left: 50%;
    }

    .tl-container:nth-child(even)::after {
        left: -8px;
    }

    .tl-container:nth-child(odd)::after {
        left: unset;
        right: -8px;
    }
}


/* --- Icons ------------------------------ */

.footer a.svg-icon {
    display: inline-block;
    padding: 1rem;
}


.k-logo-light::after {
    content: '';
    position: absolute;
    display: block;
    height: 24px;
    width: 24px;
    top: 12px;
    right: 12px;
    background-image: url("/media/kuby-k-logo-white.svg");
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
}


.tel-icon-ws::before {
    content: ' ';
    position: relative;
    display: inline-block;
    height: 25px;
    width: 25px;
    margin-right: 10px;
    top: 6px;
    background-image: url('/resources/images/tel-icon-ws.svg');
    background-repeat: no-repeat;
    background-size: contain;
}


.mail-icon-ws::before {
    content: ' ';
    position: relative;
    display: inline-block;
    height: 28px;
    width: 28px;
    margin-right: 8px;
    top: 6px;
    background-image: url('/resources/images/mail-icon-ws.svg');
    background-repeat: no-repeat;
    background-size: contain;
}

.icon1 {
    display: inline-block;
    height: 28px;
    width: 28px;
    background-repeat: no-repeat;
    background-size: contain;
    margin: 5px 20px 5px 3px;
}


.video-icon {
    position: relative;
    display: inline-block !important;
    padding-right: 46px;
    text-decoration: none;
    background: #ffffff87;
    border-radius: 3rem;
    padding-left: 5px;
    margin-top: 5px;
    font-size: 1.6rem;
}

.video-icon:hover {
    background: #fff;
}

.video-icon::after {
    content: ' ';
    position: absolute;
    display: block;
    height: 39px;
    width: 39px;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    background-image: url('/resources/images/video-icon-v2.svg');
    background-repeat: no-repeat;
    background-size: contain;
}


.play-icon {
    display: inline-flex !important;
    align-items: center;
    margin: 1rem 0;
    text-decoration: none;
    color: #000;
}


.play-icon p {
    padding-left: 16px;
    text-align: left;
    line-height: 1.1;
    margin: 0;
    text-transform: uppercase;
}

.play-icon.ws p {
    color: #fff;
}

.play-icon::before {
    content: "";
    width: 60px;
    min-width: 60px;
    height: 60px;
    border-radius: 50%;
    background-color: #fff;
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M11.596 8.697L5.233 12.389c-.54.313-1.233-.066-1.233-.697V4.308c0-.63.692-1.01 1.233-.696l6.363 3.692a.802.802 0 0 1 0 1.393'/%3E%3C/svg%3E");
    background-position: 52% 50%;
    background-repeat: no-repeat;
    background-size: 48%;
    transition: background-size 0.3s ease;
}

.play-icon.gelb::before {
    background-color: #fff4ab;
}

.play-icon:hover::before {
    background-size: 60%;
    cursor: pointer;
}




/* ---- Sitemap SEO --------------------------- */

#sitemap {
    padding: 2rem 0;
}

#sitemap ul {
    list-style: none;
    padding-left: 0;
}

#sitemap ul ul ul {
    padding-left: 2rem;
}

#sitemap li {
    position: relative;
}

#sitemap li.sister {
    background-color: #eee;
    margin: 1rem 0 1rem 2rem;
    padding: 1.2rem 0.5rem;
}

#sitemap>ul>li {
    padding-top: 1rem;
}

#sitemap ul ul li {
    background-color: #fff;
    margin: 1rem 0;
    padding: 1rem;
    border: 1px solid #eee;
}

#sitemap>ul>li>a {
    font-weight: bold;
    font-size: 1.8rem;
}

#sitemap ul ul a {
    font-size: 1.5rem;
    font-weight: 400;
}

#sitemap ul ul ul a {
    font-size: 1rem;
    font-weight: 600;
}

#sitemap li.sister a {
    font-size: 1.5rem;
    font-weight: 400;
}

#sitemap .warning {
    color: red;
}

#sitemap span,
#sitemap .art-id {
    font-size: 0.8rem;
    color: #ccc;
}

#sitemap .page-title,
#sitemap .page-desc,
#sitemap .intern-info {
    font-size: 0.9rem;
}

#sitemap .intern-info {
    color: var(--bs-blue);
}

#sitemap .page-title {
    font-weight: 700;
}

#sitemap .status-ok,
#sitemap .status-no {
    font-size: 1.3rem;
    font-weight: 600;
    margin-bottom: 8px;
}

#sitemap .status-no {
    color: var(--bs-blue);
}

#sitemap .status-ok {
    color: var(--color-25);
}

#sitemap .art-offline {
    position: absolute;
    left: 0;
    top: 0;
    display: block;
    font-size: 0.6rem !important;
    background: #df976c;
    color: #fff;
    padding: 0 11px;
}

#sitemap .art-id,
#sitemap .rexedit {
    position: absolute;
    right: 3px;
    top: 0;
    font-size: 0.8rem !important;
    color: #ccc;
}

#sitemap .rexedit {
    top: 20px;
    font-size: 1rem !important;
    font-weight: 400 !important;
    color: #888;
}

#sitemap li .status-ok::after {
    position: relative;
    top: 8px;
    display: inline-block;
    content: '';
    height: 30px;
    width: 30px;
    background-image: url("data:image/svg+xml,%3Csvg width='1em' height='1em' viewBox='0 0 16 16' fill='hsl(145,69%,30%)' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' d='M15.354 2.646a.5.5 0 0 1 0 .708l-7 7a.5.5 0 0 1-.708 0l-3-3a.5.5 0 1 1 .708-.708L8 9.293l6.646-6.647a.5.5 0 0 1 .708 0z'/%3E%3Cpath fill-rule='evenodd' d='M8 2.5A5.5 5.5 0 1 0 13.5 8a.5.5 0 0 1 1 0 6.5 6.5 0 1 1-3.25-5.63.5.5 0 1 1-.5.865A5.472 5.472 0 0 0 8 2.5z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: 100% 100%;
}


/* ---- FAQ-Links zu Geschwisterartikeln  Modul-Out ---------------- */

a.faq-link {
    display: inline-block;
    width: 100%;
    margin: 15px 0;
    padding: 0;
    font-size: 1.2rem;
    line-height: 1.3;
    font-weight: 600;
    color: #373737;
    text-decoration: none;
    background-color: hsl(0deg 0% 86%);
    border: 1px solid hsl(0deg 0% 86%);
    border-radius: 10px;
    text-align: center;
    overflow: hidden;
}

a.faq-link:hover {
    background-color: #fff;
}

.faq-theme-title {
    font-size: 11px;
    color: #555;
}


button.faq-filter-btn {
    font-weight: 600;
    background-color: #fff;
    color: var(--color-15);
    border: 1px solid var(--color-15);
    padding: 0.2rem 2.5rem;
    font-size: 1rem;
    border-radius: 3rem;
    box-shadow: 2px 2px 9px rgb(0 0 0 / 20%);
}

button.faq-filter-btn.activ {
    background-color: var(--color-15);
    color: #fff;
}

button.faq-filter-btn:hover {
    box-shadow: 2px 2px 8px rgb(0 0 0 / 70%);
}

#faqlist.faq-kubitorium a:not(.faqtheme-id-1) {
    display: none;
}

#faqlist.faq-mitglieder a:not(.faqtheme-id-3) {
    display: none;
}

#faqlist.faq-training a:not(.faqtheme-id-4) {
    display: none;
}

#faqlist.faq-begleiter a:not(.faqtheme-id-5) {
    display: none;
}

#faqlist.faq-studium a:not(.faqtheme-id-6) {
    display: none;
}


.faqtheme-id-1 .faq-theme-title {
    color: hsl(145deg 70% 30%);
}

.faqtheme-id-2 .faq-theme-title {
    color: hsl(180deg 70% 30%);
}

.faqtheme-id-3 .faq-theme-title {
    color: hsl(53deg 90% 40%);
}

.faqtheme-id-4 .faq-theme-title {
    color: hsl(70deg 99% 30%);
}

.faqtheme-id-5 .faq-theme-title {
    color: hsl(23deg 65% 52%);
}

.faqtheme-id-6 .faq-theme-title {
    color: hsl(295deg 100% 35%);
}





/* ------- Breakpoints ----------------------------------- */


@media (width >=576px) {

    .mb-7 {margin-bottom: 15% !important; }

    .w-sm-20 {
        width: 20%;
    }

    .w-sm-25 {
        width: 25%;
    }

    .w-sm-30 {
        width: 30%;
    }

    .w-sm-45 {
        width: 46%;
    }

    .w-sm-50 {
        width: 50%;
    }

    .w-sm-70 {
        width: 70%;
    }

    .ml-sm-8pz {
        margin-left: 8% !important;
    }

    .mr-sm-8pz {
        margin-right: 8% !important;
    }

    .imgtxt-flex figure.img-sm-fit {
        position: relative;
        min-height: 8rem;
    }

    .imgtxt-flex figure.img-sm-fit img {
        position: absolute;
        object-fit: cover;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        z-index: 1;
    }

    #compass-modal .modal-dialog {
        max-width: 80%;
        margin: 1.75rem auto;
    }

}

@media (width <=768px) {
    /* --- fullpic2: Txt auf IMG pos = unten mit BG  --- */

    .fpos-txt-bottom {
        justify-content: flex-start !important;
        align-items: end !important;
    }

    .fpos-txt-bottom .fullpic2-txt {
        background-color: rgb(0 0 0 / 20%);
        width: 100%
    }

}


@media (width >=768px) {

    .content-col {width: auto; }

    .formgen input.formtext {
        min-width: 24rem;
    }

    .formgen textarea.formtextfield {
        min-width: 24rem;
    }

    .fpos-txt-x1y2 .fullpic2-txt {
        width: 72%
    }

}



@media (width >=1200px) {    
    .nav-light main {
        min-height: 90vh;
        padding-top: 4.5rem;
    }

    .navbar-brand {
        height: 70px;
        background-size: 98%;
    }

    .no-top .navbar-brand {
        height: 61px;
    }

    #navbarMain {
        overflow-y: visible;
    }

    .top #navbarMain.show {
        background-color: transparent;
        box-shadow: none;
    }
	
	.portal-nav-wrapper {
    	order: 3;
	}

}