/* ══════════════════════════════════════════════════ *
 * MARK: Root
 * ────────────────────────────────────────────────── */
:is(#id, :root) {
    --cvh-font-icon-berlichingen: normal 900 1em/1 "Berlichingen Icons", "Font Awesome 6 Free";
}


/* ══════════════════════════════════════════════════ *
 * MARK: Buttons
 * ────────────────────────────────────────────────── */
 .cvh--button-solid {
    padding: 10px 35px;
    height: auto;
    min-width: min(250px, 90vw);
}


/* ══════════════════════════════════════════════════ *
 * MARK: Header
 * ────────────────────────────────────────────────── */
/* #=#=#=#=#=# Navigation  #=#=#=#=#=# */

	/* #==== List ====# */

#cvh--site-header nav ul li {
    text-transform: uppercase;
    color:#868686;
}

.cvh--icon-home a {
    font-size: 0px;
    height: 100%;
    display: flex;
    flex-direction: row;
    align-items: center;
}

.current-menu-item a:not(:hover, :focus-visible) {
    color: #939e81;
}

.cvh--icon-home a::before {
    content: "\f015";
    font: var(--cvh-font-icon-berlichingen);
    font-size: var(--text-m) !important;
    color: #939e81;
}

		/* +---- Subcategory ----+ */

cvh-submenu::part(button){
    color: var(--primary);
}

cvh-submenu::part(icon) {
    color: inherit;
}


#cvh--site-navigation .pll-parent-menu-item cvh-submenu > span::before {
    display: inline-block;
    content: "\f1ab";
    font: var(--cvh-font-icon-fas);
    color: var(--primary);
    margin-right: 5px;
}


/* ══════════════════════════════════════════════════ *
 * MARK: Body
 * ────────────────────────────────────────────────── */
/* #═#═#═#═#═# Elements  #═#═#═#═#═# */
	/* #════ Blockqoute ════# */
blockquote {
	position: relative;
	z-index: 10;
}

blockquote::before {
	content: "\f10e";
	font: var(--cvh-font-icon-berlichingen);
	position: absolute;
	top: 0;
	left: 0;
	transform: translateX(-50%) translateY(-25%);
	color: var(--cvh-color-text-dynamic);
	font-size: var(--text-xxl);
	z-index: -1;
	opacity: 0.1;
}


/* ══════════════════════════════════════════════════ *
 * MARK: Footer 
 * ────────────────────────────────────────────────── */
#cvh--site-copyright > div {
    position: relative;
    z-index: 10;
}

#cvh--site-copyright a {
    color: #707070;
}

#cvh--site-copyright > div::before {
    content: "\0A";
    position: absolute;
    z-index: 5;
    inset-inline: 0;
    height: 2px;
    background-color:  var(--cvh-color-text-light);
    top: 0;
    transform: translateY(-50%);

}

.cvh--grid-row[data-row-options~=divider-x]>div:not(:last-child):after {
    background-color: #fff;
}


/* ══════════════════════════════════════════════════ *
 * MARK: CTA - KONTAKT
 * ────────────────────────────────────────────────── */
 hgroup > p:first-child  {
    text-transform: uppercase;
    letter-spacing: 4.75px;
    font-size: var(--text-s);
}


.cvh--cta-contact-svg-button {
    column-gap: var(--cvh-space-m);
    justify-content: center;
}

.cvh--cta-contact-tel-svg {
    max-height: 65px;
    max-width: auto;
}

.cvh--cta-contact-email-svg {
    max-height: 65px;
    max-width: auto;
}


 @media screen and (width >= 782px) {
    :is(.cvh--section, [class^="cvh--section-"], [class*=" cvh--section-"]).bg--primary > .cvh--section-inner {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        justify-content: center;
    }
    
    :is(.cvh--section, [class^="cvh--section-"], [class*=" cvh--section-"]).bg--primary {
        position: relative;
        overflow: hidden;
        z-index: 10;
    }
    
    .cvh--cta-div-img {
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        max-width: 50vw;
    }
    
    .cvh--cta-div-img img {
        display: block;
        width: 100%;
        height: 100%;
    }

}

@media screen and (width < 782px) {
    .cvh--cta-div-img {
        margin-top: calc(var(--cvh-space-xxl) * -1);
        margin-inline: calc(var(--cvh-sec-space-x) * -1);
    }

    .cvh--cta-contact-svg-button {
        row-gap: var(--cvh-space-m);
    }



}



/* ══════════════════════════════════════════════════ *
 * MARK: HEADING 
 * ────────────────────────────────────────────────── */
 :is(h1,h2,h3,h4,h5,h6,[class^=cvh--emulate-h],[class*=" cvh--emulate-h"]) {
    font-weight: 400;
    line-height: var(--cvh-line-height-s);
}

h2,.cvh--emulate-h2 {
    font-size: var(--h1)
}

h3,.cvh--emulate-h3 {
    font-size: var(--h2)
}

h4,.cvh--emulate-h4 {
    font-size: var(--h3)
}

h5,.cvh--emulate-h5 {
    font-size: var(--h4)
}

h6,.cvh--emulate-h6 {
    font-size: var(--h5)
}

body p {
    max-inline-size: 60ch;
}

main .cvh--heading-ctn {
    max-inline-size: 60ch;
}

footer p {
    max-inline-size: 80ch;
}

/* ══════════════════════════════════════════════════ *
 * MARK: ABSCHNITT-TEAM 
 * ────────────────────────────────────────────────── */
 @media screen and (width > 768px) {
    .cvh--col-div-1 {

        grid-column: span 4;

    }

    .cvh--col-div-2 {

        grid-column: span 8;

    }

    .cvh--col-div-3 {

        grid-column: span 7;

    }

    .cvh--col-div-4 {

        grid-column: span 4 / -1;

    }
 }

 /* ══════════════════════════════════════════════════ *
  * MARK: Leistungen 
  * ────────────────────────────────────────────────── */

.cvh--vorteil-box {
    --cvh-color-text-dynamic: var(--cvh-color-text-light);
    --cvh-color-heading-dynamic: var(--cvh-color-heading-light);
    background-color: var(--primary);
    padding: var(--cvh-space-m);
    padding-top: var(--cvh-space-m);
    max-width: 75%;
    position: relative;
    margin-bottom: var(--cvh-space-m);

    li:before {
        content: "\f00c" !important;
        font: var(--cvh-font-icon-fas);
    }
}

.cvh--vorteil-box .cvh--vorteil-img {
    position: absolute;
    top: 0;
    left: 85%;
    z-index: 5;
    transform: translateY(calc(-100% + var(--cvh-space-l)));
    width: 50%;
}

.cvh--leistung-column {
    column-gap: 0;
    border: solid 1.5px;
    padding: var(--cvh-space-xs);
    transition: var(--cvh-transition-normal);

    &:hover{
        background-color: var(--primary);
        --cvh-color-text-dynamic: var(--cvh-color-text-light);
        --cvh-color-heading-dynamic: var(--cvh-color-heading-light);

    }

    &:hover svg {
        fill: white;
    }

    svg {
        fill: var(--primary);
    }
    
}

.cvh--leistung-grid .cvh--grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    grid-auto-rows: auto auto minmax(80px, auto);
    gap: 0;

}

.cvh--leistung-grid .cvh--grid > .cvh--leistung-column {
    display: grid;
    grid-template-rows: subgrid;
    grid-template-columns: 1fr;
    grid-row: span 3;
    grid-column: span 1;
    row-gap: var(--cvh-row-gap);
}

.cvh--leistung-grid .cvh--grid > .cvh--leistung-column > * {
    margin-bottom: 0;
}


/* ══════════════════════════════════════════════════ *
 * MARK: Jobs
 * ────────────────────────────────────────────────── */
.wp-block-columns.cvh--overlaying-columns > .wp-block-column{
	&:first-child {
		align-self: flex-start;
		margin-bottom: var(--cvh-space-m, 3.5rem);
	}

	@media screen and (width > 782px) {
		&:last-child {
			margin-bottom: calc(var(--cvh-space-m, 3.5rem) * -1);
			z-index: 10;
		}
	}
}

.cvh--job-profile-details {
	--cvh-color-text-dynamic: var(--cvh-color-text-light);
	--cvh-color-link-dynamic: var(--cvh-color-link-light);
	--cvh-color-heading-dynamic: var(--cvh-color-heading-light);
	background-color: var(--primary);
	padding: var(--cvh-space-s, 2.5rem) var(--cvh-space-m);
	padding-top: calc(var(--cvh-space-s, 2.5rem) + var(--cvh-space-m, 3.5rem));
	max-width: var(--cvh-pagewidth-s);
}


.cvh--job-contact-card {
	--cvh-color-text-dynamic: var(--cvh-color-text-light);
	--cvh-color-link-dynamic: var(--cvh-color-link-light);
	--cvh-color-heading-dynamic: var(--cvh-color-heading-light);
	background-color: var(--primary);
	padding: var(--cvh-space-s) var(--cvh-space-m);
}


/* ══════════════════════════════════════════════════ *
 * MARK: List Stylings
 * ────────────────────────────────────────────────── */
/* Reset - Fix for Richtext Inputs */
main :is(ul, ol) {
	--_list_marker-size: 1em;
	--_list_base-indent: var(--cvh-space-xs);

	padding-inline-start: calc(var(--_list_marker-size) + var(--_list_base-indent));
	position: relative;

	li {
		display: block !important;

		&::before {
			position: absolute;
			z-index: 1;
			left: 0;
		}
	}

	& :is(ul, ol) {
		margin-top: 5px;
	}

	& li:not(:last-child) > :is(ul, ol) {
		margin-bottom: var(--cvh-space-xs);
	}
}

:is(#id, .cvh--use-checklist ul, ul.cvh--checklist) {
	--_list_marker-size: var(--text-m) * 1.4 / 28 * 22;

	& li::before {
		content: '\f00c';
		font: var(--cvh-font-icon-fas);
		line-height: 1lh;
		font-size: 1.4em;
		margin-right: 10px;
	}
}


/* ══════════════════════════════════════════════════ *
 * MARK: Splide Styles
 * ────────────────────────────────────────────────── */
.splide__list {
	list-style-type: none;
}

.splide__slide {
	display: block !important;

	& :is(ul, ol) li {
		display: inline-block !important;
	}
}

.splide__slide::before {
	content: unset !important;
}