/* 
Theme Name: Dr. Möhlenkamp Theme
Theme URI: https://www.dr-moehlenkamp.de
Description: Elementor kompatible WordPress Theme for Dr. Möhlenkamp based on the Elementor Hello Theme
Author: graf.ik Mediendesign
Author URI: https://graf-ik.de
Template: hello-elementor
Text Domain: dr-moehlenkamp-theme
*/

@font-face {
    font-family: 'MetaSerifPro';
    src: url('/wp-content/themes/dr-moehlenkamp/assets/fonts/meta-serif-pro/MetaSerifPro-Bold.eot');
    src: url('/wp-content/themes/dr-moehlenkamp/assets/fonts/meta-serif-pro/MetaSerifPro-Bold.eot?#iefix') format('embedded-opentype'),
        url('/wp-content/themes/dr-moehlenkamp/assets/fonts/meta-serif-pro/MetaSerifPro-Bold.woff2') format('woff2'),
        url('/wp-content/themes/dr-moehlenkamp/assets/fonts/meta-serif-pro/MetaSerifPro-Bold.woff') format('woff'),
        url('/wp-content/themes/dr-moehlenkamp/assets/fonts/meta-serif-pro/MetaSerifPro-Bold.ttf') format('truetype'),
        url('/wp-content/themes/dr-moehlenkamp/assets/fonts/meta-serif-pro/MetaSerifPro-Bold.svg#MetaSerifPro-Bold') format('svg');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'MetaPro';
    src: url('/wp-content/themes/dr-moehlenkamp/assets/fonts/meta-pro/MetaPro.eot');
    src: url('/wp-content/themes/dr-moehlenkamp/assets/fonts/meta-pro/MetaPro.eot?#iefix') format('embedded-opentype'),
        url('/wp-content/themes/dr-moehlenkamp/assets/fonts/meta-pro/MetaPro.woff2') format('woff2'),
        url('/wp-content/themes/dr-moehlenkamp/assets/fonts/meta-pro/MetaPro.woff') format('woff'),
        url('/wp-content/themes/dr-moehlenkamp/assets/fonts/meta-pro/MetaPro.ttf') format('truetype'),
        url('/wp-content/themes/dr-moehlenkamp/assets/fonts/meta-pro/MetaPro.svg#MetaPro') format('svg');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'MetaPro';
    src: url('/wp-content/themes/dr-moehlenkamp/assets/fonts/meta-pro/MetaPro-Bold.eot');
    src: url('/wp-content/themes/dr-moehlenkamp/assets/fonts/meta-pro/MetaPro-Bold.eot?#iefix') format('embedded-opentype'),
        url('/wp-content/themes/dr-moehlenkamp/assets/fonts/meta-pro/MetaPro-Bold.woff2') format('woff2'),
        url('/wp-content/themes/dr-moehlenkamp/assets/fonts/meta-pro/MetaPro-Bold.woff') format('woff'),
        url('/wp-content/themes/dr-moehlenkamp/assets/fonts/meta-pro/MetaPro-Bold.ttf') format('truetype'),
        url('/wp-content/themes/dr-moehlenkamp/assets/fonts/meta-pro/MetaPro-Bold.svg#MetaPro') format('svg');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

:root {
	/* GAP & PADDINGS */
	--section-pad: 8rem;
	--gap-2x: 4rem;
	--gap-15x: 3rem;
	--gap-1x: 2rem;
	--gap-075x: 1.5rem;
	--gap-05x: 1rem;
	--gap-025x: .5rem;

	/* TRANSITION */
	--main-trans: ease .3s;

	/* COLOR */
	--shadow-color: #1D1D1B;
	--shadow-color-tra: #1D1D1B44;

	/* DROP SHADOW*/
	--shadow-2xs: 0 1px rgb(0 0 0 / 0.05);
	--shadow-xs: 0 1px 2px 0 rgb(0 0 0 / 0.05);
	--shadow-sm: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
	--shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
	--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
	--shadow-xl: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
	--shadow-2xl: 0 25px 50px -12px rgb(0 0 0 / 0.1);
}



/*
** –––
** FONT SIZES
** –––
*/

.hero h1.elementor-heading-title {
	font-size: clamp(1.56rem, 2.77vw + 0.23rem, 3.81rem) !important;
}

h2.elementor-heading-title,
.elementor-element h2,
.wp-singular.post-template-default.single.single-post header .hero h1.elementor-heading-title {
	font-size: clamp(2rem, 1.31vw + 1.37rem, 3.06rem) !important;
}

h3.elementor-heading-title,
.elementor-element h3 {
	font-size: clamp(1.75rem, 0.86vw + 1.34rem, 2.44rem) !important;
}

h4.elementor-heading-title,
.elementor-element h4 {
	font-size: clamp(1.5rem, 0.55vw + 1.24rem, 1.94rem) !important;
}

h5.elementor-heading-title,
.elementor-element h5 {
	font-size: clamp(1.25rem, 0.42vw + 1.05rem, 1.56rem) !important;
}

h6.elementor-heading-title,
.elementor-element h6 {
	font-size: clamp(1rem, 0.31vw + 0.85rem, 1.25rem) !important;
}


/*
** –––
** HEADER & NAVBAR
** –––
*/

header * {
	transition: var(--main-trans) !important;
}

home header {
	overflow-x: clip;
}

header {
	overflow: hidden;
	overflow-x: unset;
}

body.home main {
	background-color: transparent !important;
}

header .navbar {
	position: fixed;
	z-index: 9;
	background-color: var(--e-global-color-911c566);
}

header .navbar .e-con-inner {
	padding: 1.5rem 0;
}

header .elementor-widget-image.logo a img {
	width: 314px;
}

header.elementor .elementor-element nav.elementor-nav-menu--main .elementor-nav-menu li.current-menu-item a {
	font-weight: 700;
}

header.elementor .elementor-element nav.elementor-nav-menu--main .elementor-nav-menu li.btn a {
	color: var(--e-global-color-8e90ab1);
	padding: .5rem 2rem;
	font-weight: 700;
}

header.elementor .elementor-element nav.elementor-nav-menu--main .elementor-nav-menu li.btn a:hover {
	color: var(--e-global-color-8e90ab1);
	padding: .5rem 2rem;
	font-weight: 700;
}

header.elementor .elementor-element nav.elementor-nav-menu--main .elementor-nav-menu li.btn.lila a {
	background-color: var(--e-global-color-secondary);
}

header.elementor .elementor-element nav.elementor-nav-menu--main .elementor-nav-menu li.btn.lila a:hover {
	background-color: var(--e-global-color-10b3160);
}

header nav ul {
	gap: var(--gap-075x);
}

header .hero * {
	color: var(--e-global-color-911c566);
}

header .hero {
	padding-top: 12.5rem;
	padding-bottom: 6rem;
	min-height: 55vh;
	background-position: center center;
	background-size: cover;
	z-index: 0;
}

.page-id-38 header .hero {
	min-height: 75vh;
	background-position: top 30% center !important;
}

header .hero .e-con-inner > .text-container > div {
	max-width: 40% !important;
	z-index: 2
}

header .hero .e-con-inner > .text-container > div:first-child {
	max-width: 63.33% !important;
}

.wp-singular.post-template-default.single.single-post.single-format-standard header .hero .e-con-inner > .text-container > div {
	max-width: 61% !important;
}

header .hero .e-con-inner > div.overlay {
	position: absolute;
	max-width: unset !important;
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: end;
	width: 100vw;
	top: 0;
	left: 0;
	z-index: 1;
	mix-blend-mode: multiply;
	align-items: center;
}

header .hero {
	overflow: hidden
}

.page-id-38 header, .page-id-38 header .hero {
	overflow: visible;
	overflow-x: clip
}

header .hero .e-con-inner > div.overlay img {
	transform: translatey(32%);
	min-width: 2560px;
}

.page-id-38 header .hero .e-con-inner > div.overlay img {
	transform: translatey(25%);
}

header .hero .text-container {
	gap: 0.75rem;
}

.page-id-38 header .hero .text-container {
	gap: 2rem;
}

header .navbar {
	box-shadow: var(--shadow-2xl);
}

header .navbar nav.elementor-nav-menu--main ul.sub-menu {
	padding: 2rem;
	transform: translateX(-2rem) translateY(30px);
}

.elementor .elementor-element nav.elementor-nav-menu--main .elementor-nav-menu li ul.sub-menu li a,
ul.elementor-nav-menu--dropdown a {
	padding: .25rem 0;
	border-inline-start: none;
	font-weight: 400 !important;
	color: var(--e-global-color-text);
}


.elementor .elementor-element nav.elementor-nav-menu--main .elementor-nav-menu li ul.sub-menu li:first-child a {
	padding: 0 0 .25rem;
}

.elementor .elementor-element nav.elementor-nav-menu--main .elementor-nav-menu li ul.sub-menu li:last-child a {
	padding: .25rem 0 0;
}

.elementor .elementor-element nav.elementor-nav-menu--main .elementor-nav-menu li ul.sub-menu li.current-menu-item a {
	background-color: unset;
	font-weight: 700 !important;
	color: var(--e-global-color-accent);
}

.elementor .elementor-element nav.elementor-nav-menu--main .elementor-nav-menu li ul.sub-menu li:hover a {
	background-color: unset;
	color: var(--e-global-color-primary);
	line-height: 180%
}

header .elementor-menu-toggle {
	background-color: unset;
	font-size: var(--nav-menu-icon-size,24px);
	padding: 0;
}

header .elementor-menu-toggle .elementor-menu-toggle__icon--open svg path {
	fill: var(--e-global-color-primary) !important;
}

header .elementor-menu-toggle .elementor-menu-toggle__icon--close svg path {
	fill: var(--e-global-color-secondary) !important;
}

header nav.elementor-nav-menu--dropdown .elementor-nav-menu a {
	padding: 0.5rem 2rem;
	font-size: 1.25rem !important;
}

header nav.elementor-nav-menu--dropdown .elementor-nav-menu a:hover,
header nav.elementor-nav-menu--dropdown .elementor-nav-menu a:focus,
header nav.elementor-nav-menu--dropdown .elementor-nav-menu a.highlighted,
header nav.elementor-nav-menu--dropdown .elementor-nav-menu a.elementor-item-active {
	background-color: unset;
	color: var(--e-global-color-accent);
	padding: .5rem 2rem;
}

header nav.elementor-nav-menu--dropdown .menu-item-has-children ul.sub-menu a,
header nav.elementor-nav-menu--dropdown .menu-item-has-children ul.sub-menu a:hover,
header nav.elementor-nav-menu--dropdown .menu-item-has-children ul.sub-menu a:focus {
	padding: 0.5rem 4rem;
	border-inline-start: none;
	line-height: 180%;
}

header .elementor-nav-menu--dropdown.elementor-nav-menu__container {
	max-height: calc(100vh - 4.2rem) !important;
	height: calc(100vh - 4.2rem) !important;
	overflow: hidden;
	margin-top: 1.25rem;
	background-color: var(--e-global-color-911c566);
}

header nav.elementor-nav-menu--dropdown ul.elementor-nav-menu {
	max-height: 100%;
	overflow: scroll;
}

header nav.elementor-nav-menu--dropdown ul.elementor-nav-menu li a.elementor-item-active {
	font-weight: 700 !important;
}

header nav.elementor-nav-menu--dropdown ul.elementor-nav-menu li a {
	color: var(--e-global-color-text);
}

header nav.elementor-nav-menu--dropdown ul.elementor-nav-menu {
	padding: 1.5rem 0;
}


/*
** –––
** CUSTOM HERO IMAGES
** –––
*/

body.page-child.parent-pageid-41 header .hero  {
	background-image: url("/wp-content/uploads/2025/08/dr-moehlenkamp-rechtsberatung-header-02.jpg");
}

body.page-child.parent-pageid-43 header .hero  {
	background-image: url("/wp-content/uploads/2025/08/unternehmenssanierung-header-dr-moehlenkamp-02.jpg");
}

body.archive.category-news-und-aktuelles header .hero,
body.archive.category-recht header .hero,
body.archive.category-sanierung header .hero  {
	background-image: url("/wp-content/uploads/2025/08/aktuelles-kat-header-dr-moehlenkamp-02.jpg") !important;
}


/*
** –––
** FOOTER
** –––
*/

footer, footer * {
	z-index: 1;
}

footer .elementor-widget-image.logo a img {
	width: 224px;
}

footer p span.ps-bol {
	font-family: 'MetaSerifPro';
	font-weight: 700;
}


/*
** –––
** LOOP & LOOP CARDS
** –––
*/

.card-main-con * {
	transition: var(--main-trans);
}

.e-loop-item .card-main-con {
	background-color: var(--e-global-color-911c566);
}

.e-loop-item .card-main-con .elementor-icon-box-title {
	line-height: 1 !important;
}

.e-loop-item .card-main-con .elementor-icon-box-icon,
.hero .elementor-icon-box-icon{
	margin-bottom: -2px !important;
}

.e-loop-item .card-main-con p {
	margin-bottom: 0 !important;
}

.loop.beitraege .e-loop-item .card-main-con .text-con .elementor-widget-theme-post-excerpt,
.loop.unterseiten .e-loop-item .card-main-con .text-con .elementor-widget-theme-post-excerpt{
	overflow: hidden;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical; 
}

.e-loop-item .card-main-con .text-con {
	padding: var(--gap-075x)
}

.e-loop-item .card-main-con .text-con p {
	font-weight: 400 !important;
	color: var(--e-global-color-text) !important;
}

.e-loop-item .card-main-con .thumb {
	aspect-ratio: 1.63 / 1;
}

.e-loop-item .card-main-con .thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.e-loop-item .card-main-con.hellbeige {
	background-color: var(--e-global-color-8e90ab1);
}

.text-con .elementor-page-title * {
	color: var(--e-global-color-text)
}

.elementor-element-3a2c94ef img.wp-image-253,
.elementor-element-3a2c94ef img.wp-image-952 {
	object-position: right;
}

.card-main-con .meta-con > div > .elementor-icon-box-wrapper,
.hero .meta-con > div > .elementor-icon-box-wrapper {
	display: flex;
	flex-direction: row;
	align-items: center !important;
	gap: var(--gap-025x);
}

.card-main-con .meta-con > div > .elementor-icon-box-wrapper > div,
.hero .meta-con > div > .elementor-icon-box-wrapper > div{
	line-height: 1;
}

.card-main-con .meta-con > div {
	min-width: fit-content !important;
}

.card-main-con .meta-con {
	overflow: hidden;
}

.card-main-con .hover-corner img {
	transform: translateX(50%) translateY(50%);
}

.card-main-con:hover .hover-corner img {
	transform: translateX(15%) translateY(15%);
}

.card-main-con .hover-corner {
	width: fit-content;
	position: absolute;
	bottom: 0;
	right: 0;
	overflow: hidden;
}

.card-main-con:hover .meta-con *, .card-main-con:hover .text-con .elementor-page-title * {
	color: var(--e-global-color-accent);
	fill: var(--e-global-color-accent);
}

/*
** –––
** MENÜ ELEMENT
** –––
*/

.elementor .elementor-element nav.elementor-nav-menu--main .elementor-nav-menu li.current-menu-item a, .elementor .elementor-element nav.elementor-nav-menu--main .elementor-nav-menu li.current-page-ancestor a, .elementor .elementor-element nav.elementor-nav-menu--main .elementor-nav-menu li.current-post-ancestor a {
	color: var(--e-global-color-accent);
	font-weight: 700 !important;
}


.elementor .elementor-element nav.elementor-nav-menu--main .elementor-nav-menu li.current-menu-item.btn a {
	color: var(--e-global-color-911c566) !important;
}

.elementor .elementor-element nav.elementor-nav-menu--main .elementor-nav-menu li a:hover {
	color: var(--e-global-color-primary);
}



/*
** –––
** CONTAINER ELEMENTS
** –––
*/

section .e-con.e-child {
	padding: 0;
}

main section, section .elementor-widget-template .elementor-template section {
	padding-top: var(--section-pad);
	padding-bottom: var(--section-pad);
}

main section.news-main-con {
	background-color: #FCFCFCD9;
	backdrop-filter: blur(1.5rem);
	mask: linear-gradient( to bottom, #FCFCFCD9 0%, rgb(0, 0, 0, 1) 15%);
}

.single-post main .elementor-widget-theme-post-content section .e-con-inner > div, 
main .elementor-widget-theme-post-content section.only-text .e-con-inner > div > *,
main .elementor-widget-theme-post-content section.only-text .e-con-inner > div > div > *,
.single-post main section.beitrags-con .e-con-inner .elementor-widget-theme-post-content .e-con-inner > div > *,
main section.publikationen-main-con .jahr-con > * {
	max-width: 817px;
}

.page-child .elementor-element.unterseiten-con > div > * {
	max-width: 817px;
	padding: 0;
}

.single-post main section.beitrags-con .e-con-inner .elementor-widget-theme-post-content > div > * {
	padding: 0;
}

main section.publikationen-main-con .jahr-con .einzelne-pub-con p {
	margin-block-end: 0;
}

main section.publikationen-main-con .jahr-con .einzelne-pub-con {
	gap: 1.5rem !important;
}

.einzelne-pub-con > .elementor-widget-text-editor::before {
	content: '';
	position: absolute;
	transform: translateX(-1.4rem);
	background-color: var(--e-global-color-accent);
	width: 0.6rem;
	height: 0.6rem;
	top: 0.525rem;
	border-radius: 100%;
}

.publikationen-main-con .e-con-inner {
	gap: 1rem;
}

.publikationen-main-con .jahr-con .elementor-widget-heading {
	position: sticky;
	top: 6.5rem;
	z-index: 6;
}

section .elementor-widget-template section {
	padding-left: var(--gap-1x) !important;
	padding-right: var(--gap-1x) !important;
}


/*
** –––
** TAXONOMY FILTER ELEMENTS
** –––
*/

.e-filter-item[aria-pressed="true"] {
	font-weight: 700 !important;
	color: var(--e-global-color-primary) !important;
}

.e-filter-item:hover, .e-filter-item:focus {
	color: var(--e-global-color-accent) !important;
	background-color: unset !important
}

.e-filter-item {
	padding: 0 !important;
	line-height: 1 !important;
}



/*
** –––
** BUTTON ELEMENTS
** –––
*/

.elementor .minimal .elementor-button.elementor-button-link {
	background-color: unset;
	color: var(--e-global-color-accent);
	fill: var(--e-global-color-accent);
	padding: 0;
}



/*
** –––
** SPACER ELEMENTS
** –––
*/

.publikationen-main-con .timeline {
	position: absolute;
	width: 11px;
	height: calc(100% - 16rem );
	border-left: 2px dotted var(--shadow-color-tra);
	z-index: 0;
	transform: translateX(.3rem);
}

.publikationen-main-con .jahr-con {
	z-index: 1
}

.publikationen-main-con .jahr-con .elementor-heading-title {
	background-color: var(--e-global-color-911c566);
	padding-top: 1rem;
}

.publikationen-main-con .jahr-con .einzelne-pub-con {
	padding-left: 1.5rem;
}

.publikationen-main-con .jahr-con:first-child .elementor-heading-title {
	padding-top: 0;
}



/*
** –––
** MEDIUM DESKTOP
** –––
*/

@media only screen and (max-width: 1670px) and (min-width: 1281px) {

	header .hero .e-con-inner > .text-container > div:first-child,
	.home.wp-singular.page header .hero .e-con-inner > .text-container > div:first-child,
    .wp-singular.page header .hero .e-con-inner > .text-container > div {
		max-width: 50% !important;
	}

	header .hero .e-con-inner > .text-container > div, 
	.home.wp-singular.page header .hero .e-con-inner > .text-container > div {
		max-width: 40% !important;
	}

	
	.wp-singular.post-template-default.single.single-post.single-format-standard header .hero .e-con-inner > .text-container > div {
		max-width: 55% !important;
	}

}



/*
** –––
** SMALL DESKTOP
** –––
*/

@media only screen and (max-width: 1280px) and (min-width: 768px) {

	header .hero .e-con-inner > .text-container > div:first-child,
	.home.wp-singular.page header .hero .e-con-inner > .text-container > div:first-child {
		max-width: 48% !important;
	}

	header .hero .e-con-inner > .text-container > div, 
	.home.wp-singular.page header .hero .e-con-inner > .text-container > div {
		max-width: 40% !important;
	}
	
    .wp-singular.page header .hero .e-con-inner > .text-container > div {
        max-width: 50% !important;
    }

	.wp-singular.post-template-default.single.single-post.single-format-standard header .hero .e-con-inner > .text-container > div {
		max-width: 52% !important;
	}

	.wp-singular.post-template-default.single.single-post.single-format-standard header .hero .e-con-inner > .text-container > div:first-child {
		max-width: 80% !important;
	}

}




/*
** –––
** XSMALL DEKSTOP & MOBILE ON PORTRAIT
** –––
*/

@media only screen and (orientation: portrait) and (max-width: 1024px) and (min-width: 768px) {

	header .hero {
		min-height: 25vh !important
	}

}


/*
** –––
** MOBILE PORTRAIT (max-width: 767px)
** –––
*/

@media only screen and (max-width: 767px) {

	:root {
		/* GAP & PADDINGS */
		--section-pad: 4rem;
	}

	.hero h1.elementor-heading-title {
		font-size: 1.56rem !important;
		line-height: 160% !important
	}


	h1.elementor-heading-title,
	.elementor-element h1{
		font-size: 2.25rem;
	}

	h2.elementor-heading-title,
	.elementor-element h2 {
		font-size: 2rem;
	}

	h3.elementor-heading-title,
	.elementor-element h3 {
		font-size: 1.75rem;
	}

	h4.elementor-heading-title,
	.elementor-element h4 {
		font-size: 1.5rem;
	}

	h5.elementor-heading-title,
	.elementor-element h5 {
		font-size: 1.25rem;
	}

	h6.elementor-heading-title,
	.elementor-element h6 {
		font-size: 1rem;
	}

	.hero .meta-con p {
		font-size: 1rem !important;
		line-height: 160% !important;
	}

	header .hero {
		padding-top: calc(5.1rem + var(--gap-2x));
		padding-bottom: var(--gap-2x);
		min-height: unset !important;
	}

	.hero p, .hero .elementor-widget-text-editor {
		font-size: 1.25rem !important;
		line-height: 160% !important
	}

	header .elementor-widget-image.logo a img {
		width: 60vw;
		max-width: 314px;
	}

	header .hero .e-con-inner > .text-container > div,
	header .hero .e-con-inner > .text-container > div:first-child {
		max-width: 100% !important;
	}

	.page-id-38 header .hero {
		background-position: top 30% right 58% !important;
	}

	.page-id-38 header .hero .e-con-inner > div.overlay img,
	header .hero .e-con-inner > div.overlay img {
		transform: translatey(45%);
	}

	section .elementor-widget-template .elementor-template section {
		padding-left: var(--gap-1x);
		padding-right: var(--gap-1x);
	}

	.publikationen-main-con .jahr-con .elementor-widget-heading {
		top: 5rem;
	}

	.e-loop-item .card-main-con .elementor-icon-box-icon,
	.hero .elementor-icon-box-icon{
		margin-bottom: -1px !important;
	}

	.card-main-con .meta-con > div > .elementor-icon-box-wrapper,
	.hero .meta-con > div > .elementor-icon-box-wrapper {
		gap: var(--gap-025x);
	}

	.wp-singular.post-template-default.single.single-post.single-format-standard header .hero .e-con-inner > .text-container > div {
		max-width: 100% !important;
	}
}