/**
Theme Name: Corporate Meta Astra Child Theme
Author: Corporate Meta
Author URI: https://corporatemeta.de/
Description: Das Astra Child Theme von der Corporate Meta Agentur.
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: corporate-meta-astra-child-theme
Template: astra
*/
:root {
/* 	scroll-behavior: smooth; */
	--transition: all 0.3s ease-in-out;
}

#rechtsanwalt-leistungen,
.scroll-height-offset {
	--_offset: 20px;
	padding-top: calc(var(--header-height) + var(--_offset)) !important;
	margin-top: calc((var(--header-height) + var(--_offset)) * -1) !important;
}
.scroll-height-offset {
	--_offset: -60px;
}
/* Utility classes */
.jpb-header-height {
	height: calc(var(--header-height) - 20px);
	transition: var(--transition);
}
.anchor-secondary a {
	color: var(--e-global-color-secondary);
	text-decoration: underline;
}
.highlight-secondary strong {
	font-weight: inherit;
	color: var(--e-global-color-secondary);
}
.anchor-secondary a:hover {
	text-decoration: none;
}
.fw-regular .elementor-heading-title {
	font-weight: 400 !important;
}
.fw-bold .elementor-heading-title {
	font-weight: 700 !important;
}
.mb-0 p:last-of-type {
	margin-bottom: 0;
}
.jpb-transition {
	transition: all 0.5s ease-in-out;
}
.text-uppercase {
	text-transform: uppercase;
}

.btn-info .elementor-button-wrapper {
	position: relative;
}
.btn-info {
	--_size: 15px;
}
.btn-info .elementor-button::before,
.btn-info .elementor-button-wrapper::before,
.btn-info .elementor-button::after,
.btn-info .elementor-button-wrapper::after {
	content: "";
	width: var(--_size);
	height: var(--_size);
	border: 1px solid white;
	position: absolute;
	transition: var(--transition);
	pointer-events: none;
}
.btn-info .elementor-button::before {
	top: 0;
	left: 0;
	border-right-color: transparent;
	border-bottom-color: transparent;
}
.btn-info .elementor-button-wrapper::before {
	top: 0;
	right: 0;
	border-left-color: transparent;
	border-bottom-color: transparent;
}
.btn-info .elementor-button::after {
	bottom: 0;
	left: 0;
	border-top-color: transparent;
	border-right-color: transparent;
}
.btn-info .elementor-button-wrapper::after {
	bottom: 0;
	right: 0;
	border-top-color: transparent;
	border-left-color: transparent;
}

.btn-info .elementor-button-wrapper:hover{
	--_size: 100%;
}

.btn-scroll .elementor-button {
	position: relative;
}
.btn-scroll .elementor-button-content-wrapper {
	flex-direction: column;
	align-items: center;
	gap: 10px;
}
.btn-scroll .elementor-button-icon {
	margin: 0 !important;
	transition: var(--transition);
}
.btn-scroll .elementor-button-icon svg {
	width: 20px;
	height: auto;
}
.btn-scroll .elementor-button-text {
	transition: var(--transition);
	opacity: 0;
	position: absolute;
	top: 0;
}
.btn-scroll .elementor-button:hover .elementor-button-icon {
	transform: translateY(-10px);
}
.btn-scroll .elementor-button:hover .elementor-button-text {
	top: 100%;
	opacity: 1;
}

.btn-arrow .elementor-button-text {
	text-transform: uppercase !important;
	transition: var(--transition);
}
.btn-arrow .elementor-button-icon {
	transition: var(--transition);
}
.btn-arrow .elementor-button:hover .elementor-button-text {
	font-weight: 700 !important;
}
.btn-arrow .elementor-button:hover .elementor-button-icon {
	transform: rotate(45deg) translate(10px, -10px);
}
.btn-arrow .elementor-button:hover .elementor-button-icon path {
	stroke-width: 2px;
}
.btn-arrow .elementor-button-icon path {
	stroke: currentColor;
}
.elementor-button {
	min-width: var(--_mw);
}

.btn-600 {
	--_mw: 600px;
}
.btn-350  {
	--_mw: 350px;
}
.btn-250  {
	--_mw: 250px;
}
.btn-330 {
	--_mw: 330px;
}
.btn-upper .elementor-button-text {
	text-transform: uppercase !important;
}

.content-right-full::before {
	width: 100vw;
	right: unset;
	left: 0;
	z-index:-1;
}
.content-left-full::before {
	width: 100vw;
	right: 0;
	left: unset;
}
/* loader animation */
/* .jpb-loader {
	--_scale: 0;
	--_transition: all 0.5s ease-in-out;
	--_offset-x: 118px;
	overflow: hidden;
	transform-origin: top center;
}
.jpb-loader.loaded {
	transform: scaleY(0);
	pointer-events: none;
}
.jpb-loader.after-scale {
	--_scale: 1;
}
.jpb-loader::after {
	content: "";
	height: 100vh;
	position: absolute;
	top: 0;
	right: 0;
	transition: var(--_transition);
	pointer-events: none;
	width: 100%;
	background-color: var(--e-global-color-primary);
	z-index: 1;
	transform: scaleX(var(--_scale));
}
.jpb-icon-reset svg {
	height: auto !important;
	width: 1em;
}
.jpb-signet .elementor-icon-wrapper,
.jpb-icon-reset .elementor-icon-wrapper {
	display: grid;
}

.jpb-signet,
.jpb-logo-text {
	--_x: 50%;
	--_y: -50%;
	position: absolute;
	width: auto;
	top: 50%;
	right: 50%;
	transform: translate(var(--_x), var(--_y));
	transition: var(--_transition);
}
.jpb-signet {
	--_height: 111px;
	z-index: 4;
	opacity: 0;
}
.jpb-signet::after {
	content: "";
	width: 340px;
	height: 100%;
	position: absolute;
	top: 0;
	right: -10px;
	background-color: white;
}
.jpb-signet.signet-init {
	opacity: 1;
}
.jpb-signet.active {
	--_x: calc(50% - var(--_offset-x));
}
.jpb-logo-text.active {
	--_x: calc(50% + var(--_offset-x));
	opacity: 1;
}

.jpb-signet .elementor-icon svg {
	width: auto !important;
	height: var(--_height) !important;
	transition: var(--_transition);
}
.jpb-signet.scale-full {
	--_height: 100vh;
}
.jpb-signet.scale-full::after {
	content: none;
}
.jpb-signet.transform-right {
	--_x: 0;
	right: 0;
}
.jpb-signet > * {
	position: relative;
	z-index: 1;
}
.jpb-logo-text {
	opacity: 0;
	z-index: 1;
}
 */


/* site header */
.main-header {
	opacity: 0;
	transform: translateY(-100px);
	transition: all 0.5s ease-in-out;
}
.main-header.header-init {
	opacity: 1;
	transform: translateY(0);
}
.btn-header .elementor-button-wrapper {
	display: flex;
}
.btn-header .elementor-button-icon {
	position: absolute;
	opacity: 0;
	left: 0;
	top: 0;
	transition: var(--transition);
}
.btn-header .elementor-button:hover .elementor-button-icon {
	left: -26px;
}
.btn-header .elementor-button-text {
	transition: transform 0.3s ease-in-out;
	text-transform: uppercase;
}
.btn-header .elementor-button:hover .elementor-button-icon {
	opacity: 1;
}
.btn-header .elementor-button:hover .elementor-button-text {
/* 	transform: translateX(0); */
}
.primary-navigation .menu-link {
	font-weight: 300 !important;
}

.site-brand-sticky {
	display: none;
}
.main-header {
	--space-y: 29px;
}
.main-header,
.main-header > .e-con-inner {
	transition: var(--transition);
}
.main-header.is-sticky {
	background: white;
}
.main-header.is-sticky .header-inner-content {
	align-items: center !important;
}
.main-header.is-sticky > .e-con-inner {
	padding-top: var(--space-y) !important;
	padding-bottom: var(--space-y) !important;
}
.main-header.is-sticky .header-left {
	--e-global-color-46d724d: var(--e-global-color-primary);
}

.mobile-info-container .elementor-button-wrapper .elementor-button {
	display: block;
}
.mobile-header-menu .menu-item a {
	display: inline-block;
}

.item-active-none .elementor-item.elementor-item-active::after {
	content: none !important;
}

/* Banner */
/* .banner::before {
	opacity: 0;
	transition: var(--transition);
}
.banner.active::before {
	opacity: 1;
} */
@keyframes fadeEffect {
	from {
		opacity: 0;
	} to {
		opacity: 1;
	}
}
.banner-title .elementor-heading-title {
	text-transform: uppercase;
}
.banner-title .elementor-heading-title > span {
	font-size: 200px;
	display: block;
	line-height: 0.8;
	letter-spacing: 0;
	margin-left: -12px;
}
.description-style {
	--size: 48px;
	position: relative;
}
.description-style::before {
	content: "";
	width: var(--size);
	height: var(--size);
	border-top: 1px solid rgba(255 255 255 / 25%);
	border-left: 1px solid rgba(255 255 255 / 25%);
	position: absolute;
	top: 0;
	left: 0;
}
.banner-description .elementor-widget-container {
	font-weight: 300 !important;
}
.info-button-container {
	width: auto;
}
.info-button-container .btn-info .elementor-button-text {
	-webkit-writing-mode: tb;
        -ms-writing-mode: tb;
            writing-mode: tb;
    -webkit-transform: rotate(180deg);
        -ms-transform: rotate(180deg);
            transform: rotate(180deg);
	white-space: nowrap;
}

.banner-left {
	opacity: 0;
	transform: translateX(-100%);
}
.banner .banner-left .full-width{
	width:100%;
}
.banner-left.active {
	opacity: 1;
	transform: translateX(0);
}
.banner-description,
.btn-scroll {
	opacity: 0;
	transform: translateY(100%);
}
.banner-description.active,
.banner-image.active,
.btn-scroll.active {
	opacity: 1;
	transform: translateY(0);
}
.banner-image{
		opacity: 0;
}
.banner-image.active{
	opacity: 1;
	transition: all 1s ease-in-out;
}
.info-button-container {
	opacity: 0;
	transform: translateX(100%);
}
.info-button-container.active {
	opacity: 1;
	transform: translateX(0);
}

.box-shadow-effect {
	--_offset: 32px;
	position: relative;
}
.box-shadow-effect::before,
.box-shadow-effect::after {
	content: "";
	width: 36px;
	height: calc(100% - var(--_offset));
	position: absolute;
	background: var(--_url) no-repeat;
	background-size: contain;
	top: var(--_offset);
	pointer-events: none;
}

@media (min-width: 1920px) {
	.box-shadow-effect::before,
	.box-shadow-effect::after {
		width: 47px;
	}
}
.box-shadow-effect::before {
	--_url: url('./assets/img/rechtsanwalt-jan-philipp-book-box-shadow-effect-left.png');
	background-position: right top;
	left: 0;
	transform: translateX(-100%);	
}
.box-shadow-effect::after {
	--_url: url('./assets/img/rechtsanwalt-jan-philipp-book-box-shadow-effect-right.png');
	background-position: left top;
	right: 0;
	transform: translateX(100%);
}

/* icon card */
.icon-card {
	--_title-offset: 115px;
	transition: var(--transition);
}
.icon-card .elementor-icon-box-icon {
	position: absolute;
	right: 0;
	top: -23px;
}
.icon-card .elementor-icon-box-title {
	max-width: calc(100% - var(--_title-offset));
}
.icon-card .btn-arrow {
	margin-top: auto;
}
.icon-card .btn-arrow .elementor-button-content-wrapper {
	flex-direction: row-reverse !important;
	gap: 15px;
}

/* icon card hover */
.icon-card:hover {
	background-color: #FBFBFB;
}
.icon-card svg {
	overflow: visible;
}
.icon-card path {
	transition: var(--transition);
}
.icon-files path {
	transform-origin: bottom left;
}
.icon-files path:nth-child(3) {
	fill: white;
}
.icon-files:hover .elementor-icon-box-icon path:nth-child(1) {
    transform: rotate(-90deg) translateY(-36px);
}
.icon-files:hover .elementor-icon-box-icon path:nth-child(2) {
    transform: rotate(-59deg) translate(-23px);
}
.icon-files:hover .elementor-icon-box-icon path:nth-child(3) {
    transform: rotate(-36deg) translate(-34px, 15px);
}


.icon-hamer path {
	transform-origin: center;
}
.icon-hamer line {
	transform-origin: center;
	transition: var(--transition);
}
.icon-hamer:hover .elementor-icon-box-icon path:nth-of-type(5) {
	transform: translateY(-12px) translateX(1px);
}
.icon-hamer:hover .elementor-icon-box-icon path:nth-of-type(2) {
	transform: translateY(-42px);
}
.icon-hamer:hover .elementor-icon-box-icon path:nth-of-type(4),
.icon-hamer:hover .elementor-icon-box-icon line {
	transform: scale(0.9);
}

.icon-money:hover .elementor-icon-box-icon path:nth-child(1),
.icon-money:hover .elementor-icon-box-icon path:nth-child(2){
	transform: translate(-30px);
}
.icon-money .elementor-icon-box-icon path:nth-child(3),
.icon-money .elementor-icon-box-icon path:nth-child(4),
.icon-money .elementor-icon-box-icon path:nth-child(5) {
    transform-origin: top center;
}
.icon-money:hover .elementor-icon-box-icon path:nth-child(3),
.icon-money:hover .elementor-icon-box-icon path:nth-child(4),
.icon-money:hover .elementor-icon-box-icon path:nth-child(5){
	transform: translate(40px, -30px) scale(1.3) rotate(60deg);
}

.color-blend {
	mix-blend-mode: color;
}
.hard-light-blend {
	mix-blend-mode: hard-light;
}
.jpb-security::after {
	content: "";
	position: absolute;
	width: 100vw;
	height: 100%;
	top: 0;
	left: 0;
	background-image: linear-gradient(179deg, #311E1400 0%, #1C110C6C 42%, #000000);
}

.feature-card {
	--_gap: 30px;
	--_icon-width: 105px;
	--_icon-y: 0;
}
.feature-card .elementor-icon-box-icon,
.feature-card .elementor-icon-box-title {
	transition: var(--transition);
}
.feature-card .elementor-icon-box-title {
	max-width: calc(100% - var(--_gap) - var(--_icon-width));
	min-height:70px;
}
.feature-card .elementor-icon-box-icon {
	position: absolute;
	right: 0;
	top: var(--_icon-y);
}
.feature-card:hover .elementor-icon-box-icon {
	right: calc(100% - var(--_icon-width));
}
.feature-card:hover .elementor-icon-box-title {
	transform: translate(calc(var(--_gap) + var(--_icon-width)));
}


.path-transition path {
	transition: var(--transition);
}
/* 1st */
.list-item-user:hover .elementor-icon svg g path:nth-child(1) {
	transform: translateX(43px);
}
.list-item-user:hover .elementor-icon svg g path:nth-child(2) {
	transform: translateX(-43px);
}

/* 2nd */
.list-item-trio:hover svg path:nth-child(3),
.list-item-trio:hover svg path:nth-child(4),
.list-item-trio:hover svg path:nth-child(5),
.list-item-trio:hover svg path:nth-child(6) {
	transform: translate(40px, 80px) scale(0.9);
}
.list-item-trio:hover svg path:nth-child(7),
.list-item-trio:hover svg path:nth-child(8) {
	transform: translate(35px, -60px);
}

.list-item-trio:hover svg path:nth-child(9),
.list-item-trio:hover svg path:nth-child(10),
.list-item-trio:hover svg path:nth-child(11),
.list-item-trio:hover svg path:nth-child(12){
	transform: translate(-70px, 0px);
}

/* 3rd */
.list-item-single svg > :not(:first-child) {
	transform-origin: bottom right;
	transition: var(--transition);
}
.list-item-single:hover svg > :not(:first-child) {
	transform: scale(1.17);
}

.jpb-faq-intro:hover svg path:nth-child(1),
.jpb-faq-intro:hover svg path:nth-child(2) {
	transform: translateY(-65px);
}
.jpb-faq-intro:hover svg path:nth-child(3),
.jpb-faq-intro:hover svg path:nth-child(4) {
	transform: translateY(65px);
}

.jpb-faq-style {
	--_title-width: 350px;
}

.jpb-faq-style .elementor-accordion .elementor-accordion-item {
	border-top: none !important;
	border-left: none !important;
	border-right: none !important;
}
.jpb-faq-style .elementor-accordion-icon-closed {
	display: block !important;
	transition: var(--transition);
}
.jpb-faq-style .elementor-accordion-title {
	font-weight: 400 !important;
}
.jpb-faq-style .elementor-active .elementor-accordion-icon-closed {
	transform: rotate(45deg);
}
.jpb-faq-style .elementor-active .elementor-accordion-icon-closed path {
	stroke: var(--e-global-color-secondary);
}
.jpb-faq-style .elementor-accordion .elementor-accordion-item:last-child {
	border-bottom: none !important;
}
.jpb-faq-style .elementor-accordion .elementor-accordion-title {
	display: inline-block;
	max-width: var(--_title-width);
}
.jpb-faq-style .elementor-tab-content {
	border-top: none !important;
}

/*  new version style */
.jpb-faq .e-n-accordion-item:not(:last-child) {
	border-bottom: 1px solid #707070 !important;
}
.jpb-faq .e-n-accordion-item-title {
	align-items: flex-start;
	justify-content: space-between;
}
.jpb-faq .e-opened {
	display: none !important;
}
.jpb-faq .e-closed {
	display: flex !important;
	transition: var(--transition);
}

.jpb-faq .e-n-accordion-item-title-text{
	font-weight:400;
}
.jpb-faq .e-n-accordion-item-title-icon svg {
	width: 18px;
}
.jpb-faq [aria-expanded="true"] .e-closed {
	transform: rotate(45deg);
}
.jpb-faq [aria-expanded="true"] .e-closed path {
	stroke: var(--e-global-color-secondary);
}
.jpb-faq .elementor-widget-container > :last-child {
	margin-bottom: 0;
}

.jpb-faq--alt .e-n-accordion-item:not(:last-child) {
	border-bottom: none !important;
}
.jpb-faq--alt .e-n-accordion-item {
	border-top: 1px solid #33B787;
}
.jpb-faq--alt .e-closed {
	width: 34px !important;
	height: 34px !important;
	display: flex;
	justify-content: center;
	align-items: center;
	border-radius: 50%;
	border: 1px solid #707070;
}
.jpb-faq--alt .e-closed path {
	stroke: #707070 !important;
}
.jpb-faq--alt .e-n-accordion-item:not([open]) {
	margin-bottom: 0 !important;
}
.jpb-faq--alt .e-n-accordion-item-title-header {
	align-self: center;
}
.jpb-faq .e-n-accordion-item.elementor-active [aria-expanded="false"] .e-closed{
	    transform: rotate(45deg);
}
.article-card {
	--_img-ratio: 750 / 350;
}
.article-card .card-img a {display: block;}
.article-card .elementor-widget-container { overflow: hidden; }
.article-card .card-img img {
	aspect-ratio: var(--_img-ratio);
	object-fit: cover;
	inline-size: 100%;
	transition: var(--transition);
}
.article-card:hover .card-img img {
	transform: scale(1.2);
}
.article-card .elementor-post-info__terms-list-item {
	font-weight: 600;
}
.article-card .card-title a:hover {
	color: var(--e-global-color-secondary) !important;
}
.article-card .btn-arrow {
	margin-top: auto;
}
.jpb-article-container .e-loop-item:not(:first-of-type) {
	grid-column: span 4;
}
.jpb-article-container .e-loop-item:first-of-type {
	grid-column: span 3;
	grid-row: span 2;
}
.jpb-article-container .e-loop-item:first-of-type > .elementor-element {
	height: 100%;
}
.jpb-article-container .e-loop-item:first-of-type .article-card {
	--_img-ratio: 590 / 929;
}

textarea.form-control {
	height: 150px;
	resize: none;
}
.form-control {
	--_clr-border: #C9C9C9;
	--_fs: 18px;
	border: 1px solid var(--_clr-border) !important;
	background-color: #FBFBFB !important;
	padding: 19px 30px !important;
	font-size: var(--_fs) !important;
	color: black !important;
	border-radius: 0 !important;
}
.form-control::placeholder {
	font-weight: 300 !important;
	color: black !important;
}
.form-control:focus {
	--_clr-border: black;
}
.contact-form {
	margin-bottom: 0 !important;
}
.contact-form > label:not(:last-of-type) {
	display: block !important;
	margin-bottom: 40px;
}
.contact-form .form-label {
	display: block !important;
	text-transform: uppercase;
	font-size: 17px;
	letter-spacing: 1.7px;
	color: black;
	margin-bottom: 20px;
}
.contact-form .form-wrap {
	margin-top: 18px;
	display: flex;
	flex-direction: column;
	gap: 28px;
}
.contact-form .form-submit {
	min-width: 250px;
	max-width: 250px;
	display: flex;
	flex-direction: column;
	gap: 5px;
}
.contact-form .btn-submit {
	font-size: 17px !important;
	letter-spacing: 0.6 !important;
	text-transform: uppercase !important;
}
.contact-form .btn-submit:hover,
.contact-form .btn-submit:focus {
	color: var(--e-global-color-primary) !important;
	background-color: transparent !important;
}
.contact-form .form-wrap .wpcf7-list-item {
	margin-left: 0 !important;
}

.contact-form .form-wrap .wpcf7-list-item label {
    display: flex;
    align-items: center;
    gap: 30px;
}
.contact-form .form-wrap .wpcf7-list-item {
    font-size: 18px;
    font-weight: 300;
	color: black;
}
.contact-form .form-wrap .wpcf7-list-item a {
    font-weight: 700;
    text-decoration: underline;
	color: var(--e-global-color-primary);
}
.contact-form .form-wrap .wpcf7-list-item a:hover {
    text-decoration: none;
}
.form-check {
    --_bg: transparent;
    --_size: 50px;
    --_opacity: 0;
    appearance: none;
    border: 1px solid var(--e-global-color-primary);
    background-color: var(--_bg) !important;
    border-radius: 0 !important;
    width: var(--_size) !important;
    height: var(--_size) !important;
    position: relative;
    transition: var(--transition);
    flex-shrink: 0;
}
.form-check::before {
    content: "\f00c";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: white;
    transition: var(--transition);
    opacity: var(--_opacity);
}
.form-check:checked {
    --_opacity: 1;
    --_bg: var(--e-global-color-primary);
}
.form-check:focus {
    outline: none !important;
}

.footer-hover .menu-link::after {
	width: 50px !important;
}

.jpb-footer-menu .elementor-nav-menu {
	width: 100%;
	display: grid !important;
	grid-template-columns: repeat(2, 1fr);
}
.footer-top > .e-con-inner {
	transform: translateX(-7px);
}

.jpb-mobile-logo {
	display: none;
}

.main-header:not(.is-sticky) .mobile-menu-icon path {
	stroke: white;
} 
.mix-blend-overlay {
	mix-blend-mode: overlay;
}

/* Blog overview */
.blog-overview__meta {
	--_offset-x: -15px;
}
.blog-overview__meta .elementor-icon-list-item {
	position: relative;
}
.blog-overview__title a:hover {
	color: var(--e-global-color-secondary) !important;
}
.blog-overview__meta .elementor-icon-list-item:not(:last-child)::after {
	--_bg: #fff;
	content: "";
	width: 2px !important;
	height: 90% !important;
	background-color: var(--_bg) !important;
	position: absolute;
	border: none !important;
	top: 50%;
	transform: translateY(-50%);
	right: var(--_offset-x);
}
.jpb-single-blog__meta .elementor-icon-list-item:not(:last-child)::after {
	--_bg: #25150C;
}

.jpb-breadcrumb {
	--_gap: 80px;
	--_color: #C9C9C9;
}
.jpb-breadcrumb .elementor-icon-list-item a .elementor-icon-list-text {
	color: var(--_color) !important;
}
.jpb-breadcrumb .elementor-icon-list-item a:hover .elementor-icon-list-text {
	color: var(--e-global-color-primary) !important;
}
.jpb-breadcrumb .elementor-icon-list-items {
	gap: var(--_gap);
}
.jpb-breadcrumb .elementor-icon-list-item:not(:last-child)::after {
	content: "";
	width: 2px !important;
	height: 90% !important;
	background-color: var(--_color) !important;
	position: absolute;
	border: none !important;
	top: 0;
	right: calc((var(--_gap) / 2) * -1) !important;
}

.jpb-blog__categories {
	display: flex;
	flex-wrap: wrap;
	gap: 5px;
}
.jpb-blog__categories a {
	--_bg: transparent;
	--_color: var(--e-global-color-primary);
	border: 1px solid var(--e-global-color-primary);
	text-transform: uppercase;
	font-size: 14px;
	border-radius: 50px;
	padding: 6px 30px;
	color: var(--_color);
	background-color: var(--_bg);
	line-height: 1.1;
}
.jpb-blog__categories a:hover,
.jpb-blog__categories a:focus,
.jpb-blog__categories a.active {
	--_bg: var(--e-global-color-primary);
	--_color: #fff;
}
.jpb-blog__categories a.active {
	pointer-events: none;
}

.blog-card {
	--_img-ratio: 445 / 350;
}
.blog-card .card-meta .elementor-icon-list-item:not(:last-child)::after {
	--_bg: #C9C9C9;
}
.blog-card .card-meta .elementor-post-info__item--type-date {
	color: #C9C9C9 !important;
	font-weight: 300 !important;
}

.pagination-style {
	--pagination-gap: 40px;
	--pagination-size: 45px;
	--pagination-font-size: 18px;
	--_border-w: 8px;
	--_icon-w: 21px;
	--_icon-h: 24px;
}
.pagination-style .elementor-pagination {
	gap: var(--pagination-gap);
	display: flex;
	justify-content: center;
}
.pagination-style .elementor-pagination > * {
	display: inline-flex;
	justify-content: center;
	align-items: center;
    width: var(--pagination-size);
    height: var(--pagination-size);
    border-radius: 50%;
	font-size: var(--pagination-font-size);
}
.pagination-style .elementor-pagination .current,
.pagination-style .elementor-pagination a:hover {
    box-shadow: 0 0 0 var(--_border-w) rgb(34 37 81 / 9%) !important;
	background-color: var(--e-global-color-primary);
	color: #fff !important;
}
.pagination-style .elementor-pagination .prev,
.pagination-style .elementor-pagination .next {
	font-size: 0 !important;
	position: relative;
}
.pagination-style .elementor-pagination .prev::after,
.pagination-style .elementor-pagination .next::after {
	content: "";
	width: var(--_icon-w);
	height: var(--_icon-h);
	background: url('./assets/img/rechtsanwalt-jan-philipp-book-icon-arrow-left.svg') no-repeat center center;
	display: block;
	background-size: contain;
}
.pagination-style .elementor-pagination .next::after {
	transform: rotate(180deg);
}
.pagination-style .elementor-pagination a.next:hover::after,
.pagination-style .elementor-pagination a.prev:hover::after {
	filter: brightness(0) invert(1);
}

.single-post-content-wrap{
	position: unset;
}
.single-hero-right-hero-img{
	position:relative;
}
.single-hero-right-hero-img .jpb-blog-thumbnail{
	position: unset;
}
.single-feature-img{
	position: absolute;
	top:50px;
	left:54%;
	right:0;
	height: var(--min-height);
	overflow: hidden;
	
}
.single-feature-img figure{
	display: flex;
	align-items: center;
}

.jpb-blog-thumbnail {
	position: relative;
}
.jpb-blog-thumbnail::before {
	background-size: contain !important;
}
.single-blog-content.box-shadow-effect {
	--_offset: 0px;
}

.jpb-single-blog-content {
	--_gap: 25px;
	display: flex;
	flex-flow: column;
	gap: var(--_gap);
}
.jpb-single-blog-content ul {
	margin-left: 20px;
}
.jpb-single-blog-content p {
	margin-bottom: var(--_gap);
}
.jpb-single-blog-content h2,
.jpb-single-blog-content h3,
.jpb-single-blog-content h4,
.jpb-single-blog-content h5,
.jpb-single-blog-content h6 {
	font-size: clamp(16px, 4vw, 25px);
}
.jpb-single-blog-content > * > * {
	margin-bottom: var(--_gap);
}
.jpb-single-blog-content > * > *:last-child {
	margin-bottom: 0;
}
.jpb-single-blog-content .content-box-text-editor {
	padding: 50px;
	background-color: #FBFBFB;
}
.content-box-text-editor a {
	color: var(--e-global-color-secondary);
}
.content-box-text-editor a:hover {
	color: var(--e-global-color-primary);
}
.single-blog-author .elementor-author-box__avatar {
	padding: 11px;
	border-radius: 50%;
	border: 3px solid var(--e-global-color-secondary);
}

.jpb-archive-item-padding .ast-grid-common-col {
	padding-right: 0;
	padding-left: 0;
}
.jpb-service-icon-card .elementor-icon svg {
	height: auto;
}
.jpb-service-icon-card .elementor-icon-box-title {
	margin-top: 14px;
}
.icon-height-auto svg {
	height: auto;
}
.service-faq {
	--_title-width: 550px;
}

.footer-menu-style .menu-item:not(:last-child)::after {
	content: "" !important;
	display: inline-block !important;
	height: 19px !important;
	width: 1px !important;
	background-color: #707070 !important;
	border: none !important;
	margin: 8px !important;
}

.datenschutz-content {
	--_fs: 25px;
}
.datenschutz-content h2,
.datenschutz-content h3,
.datenschutz-content h4,
.datenschutz-content h5,
.datenschutz-content h6 {
	font-size: var(--_fs);
}
.jpb-mobile-hero-img {
	display: none;
}
.security-description {
	position: relative;
	--_height: 362px;
	--_offset-x: -160px;
}
.security-description::after {
	content: "";
	background-color: #222551;
	mix-blend-mode: color;
	position: absolute;
	width: 100vw;
	height: var(--_height);
	left: var(--_offset-x);
	top: unset !important;
	right: unset !important;
	bottom: 0;
	z-index: 2;
}
.security-description > * {
	position: relative;
	z-index: 3;
}
.jpb-image-mobile {
	display: none;
}
.archive-banner-post .e-loop-item:not(:first-of-type) {
	display: none !important;
}


/* language switcher */
.lang-switch {
  display: inline-flex;
  align-items: center;
  background: #f3f3f3;
  padding: 6px 14px;
  border-radius: 999px;
  text-decoration: none;
  gap: 10px;
  transition: background 0.3s ease, transform 0.3s ease;
	overflow: hidden;
}

.lang-switch:hover {
  background: #e0e0e0;
}
.lang-switch .lang-code {
  font-weight: 600;
  font-size: 14px;
  color: #000;
}

.lang-switch img {
  width: 24px;
  height: 24px;
  border-radius: 50%;
}
body {
  transition: opacity 0.3s ease;
}
.lang-switch .lang-code,
.lang-switch img {
  transition: transform 0.5s ease, opacity 0.5s ease;
}








@media (min-width: 1369px) {
	.jpb-about .jpb-about-thumb::before {
		background-position-x: 170px !important;
	}	
}
@media (min-width: 1400px) {
	.jpb-about .jpb-about-thumb::before {
		background-position-x: 200px !important;
	}	
}
@media (min-width: 1550px) {
	.jpb-about .jpb-about-thumb::before {
		background-position-x: 350px !important;
	}	
}
@media (min-width: 1750px) {
	.jpb-about .jpb-about-thumb::before {
		background-position-x: 410px !important;
	}	
}
@media (min-width: 1920px) and (max-width: 2099.98px) {
	.jbp-quote-box, .jpb-about-thumb::before {
		transition: var(--transition)
	}
/* 	.jpb-about:hover .jpb-about-thumb::before {
		background-position-x: calc(170% + 400px) !important;
	} */
/* 	.jpb-about:hover .jbp-quote-box {
		transform: translateX(-55%);
	}

	.jpb-about:hover .jpb-about-thumb::before {
		background-position-x: calc(170% + 400px) !important;
	} */
}
@media (min-width: 2100px) and (max-width: 2560px) {
	.jpb-about .jpb-about-thumb::before {
		background-position-x: 100% !important;
	}
/* 	.jpb-about:hover .jpb-about-thumb::before {
		background-position-x: calc(100% + 500px) !important;
	}
	.jpb-about:hover .jbp-quote-box {
		transform: translateX(-55%);
	} */
}
@media (min-width: 2560px) {
	.jpb-about .jpb-about-thumb::before {
		background-position-x: 100% !important;
	}
}


@media (max-width: 1919.98px) {
	.footer-top > .e-con-inner {
		transform: translateX(0);
	}
	.banner-title .elementor-heading-title > span {
		font-size: 150px;
		margin-left: -8px;
	}
	.btn-600 {
		--_mw: 500px;
	}
}
@media (max-width: 1366.98px) {
	.security-description {
		--_height: 300px;
		--_offset-x: -100px;
	}
	.datenschutz-content {
		--_fs: 20px;
	}
	.jpb-loader {
		--_offset-x: 90px;
	}
	.jpb-signet {
		--_height: 90px;
	}
	.main-header {
		--space-y: 20px;
	}
	.banner-title .elementor-heading-title > span {
		font-size: 100px;
		margin-left: -5px;
	}
	.btn-600 {
		--_mw: 400px;
	}
	.feature-card {
		--_icon-width: 80px;
	}
	.contact-form .form-wrap {
		flex-direction: column;
		gap: 20px;
	}
	.contact-form > label:not(:last-of-type) {
		margin-bottom: 20px;
	}
	.jpb-breadcrumb {
		--_gap: 50px;
	}
	.pagination-style {
		--pagination-gap: 20px;
		--pagination-size: 30px;
		--pagination-font-size: 16px;
		--_border-w: 5px;
		--_icon-w: 16px;
		--_icon-h: 18px;
	}
	.single-blog-author .elementor-author-box__avatar {
		padding: 10px;
		border-width: 3px;
	}
}

@media (min-width: 992px) and (max-width: 1199.98px) {
	#about-dr-book .content-right-full.jpb-blog-thumbnail:before{
		background-position: center left -60px;
}
}

@media (max-width: 1199.98px) {
	.footer-info-list .elementor-icon-list-items,
	.footer-menu-style .elementor-nav-menu {
		flex-direction: column;
		gap: 20px;
	}
	.footer-menu-style .menu-item:not(:last-child)::after {
		content: none !important;
	}
	.contact-col,
	.address-col,
	.rachtsgebiete-col,
	.wichtiges-col {
		--width: 50% !important;
	}
	.footer-top-row {
		padding-bottom: 40px !important;
		margin-bottom: 40px !important;
	}
}
@media (min-width: 768px) and (max-width: 991.98px) {
	#about-dr-book .content-right-full.jpb-blog-thumbnail:before{
		background-position: center left -150px;
}
	.banner .banner-left .full-width {
		width:90%;
	}

}
@media (max-width: 1024.98px) {
	.jpb-case-law-thumb,
	.jpb-case-law-thumb::before {
		aspect-ratio: 600 / 300;
	}
	.security-description {
		--_height: 250px;
		--_offset-x: -50px;
	}
	.jpb-loader {
		--_offset-x: 60px;
	}
	.jpb-signet {
		--_height: 60px;
	}
	.jpb-signet.scale-full {
		--_height: 100px;
	}
	.jpb-signet.transform-right {
		--_height: 150px;
		--_x: 50%;
		right: 50%;
	}
	.jpb-loader::after {
		transform: scale(1);
		clip-path: circle(0%);
	}
	.jpb-loader.after-scale::after {
		clip-path: circle(100%);
	}
	.banner-title .elementor-heading-title > span {
		font-size: 80px;
		margin-left: -2px;
	}
	.icon-card {
		--_title-offset: 80px;
	}
	.feature-card {
		--_icon-width: 60px;
	}
	.btn-350  {
		--_mw: 300px;
	}
	.btn-330  {
		--_mw: 280px;
	}
	.jpb-article-container .e-loop-item:not(:first-of-type) {
		grid-column: span 1;
	}
	.jpb-article-container .e-loop-item:first-of-type {
		grid-column: span 1;
		grid-row: span 1;
	}
	.jpb-article-container .e-loop-item:first-of-type .article-card {
		--_img-ratio: 359 / 200;
	}
	.article-card {
		--_img-ratio: 359 / 200;
	}
	.jpb-footer-menu .elementor-nav-menu {
		display: flex !important;
		flex-direction: column;
	}
	.jpb-faq-style .elementor-tab-title {
		display: flex;
		flex-direction: row-reverse;
		justify-content: space-between;
	}
	.box-shadow-effect::before, .box-shadow-effect::after {
		width: 36px;
	}
	.jpb-breadcrumb {
		--_gap: 30px;
	}
	.pagination-style {
		--pagination-gap: 10px;
		--pagination-size: 25px;
		--pagination-font-size: 14px;
		--_border-w: 4px;
		--_icon-w: 14px;
		--_icon-h: 16.5px;
	}
}
@media (max-width: 767.98px) {
	.jpb-faq:nth-of-type(2) {
		border-top: 1px solid #707070 !important;
	}
	.jpb-case-law-thumb,
	.jpb-case-law-thumb::before {
		aspect-ratio: 430 / 300;
	}
	.jpb-image-mobile {
		display: block;
	}
	
	
		.banner-left {
	opacity: 0;
	transform: translateX(0);
			
}
.banner-left.active {
	opacity: 1;
	transform: translateX(0);
	
}
	


	
.banner-left .banner-title,	
.banner-left .fw-regular{
		opacity: 0 !important;
	transform: translateX(-100%) !important;
	transition: var(--transition);
	}
	
	
			.banner-left.active .banner-title,
	.banner-left.active .fw-regular{
	opacity: 1 !important;
	transform: translateX(0) !important;
		transition: var(--transition);
}

	

	
	.jpb-mobile-hero-img{
		display: block;
		position: relative;
	}
	.banner-image {
		display: none;
	}
	.banner-bottom {
/* 		background-color: #2F1C11; */
		background-color: #000000;
	}
	.jpb-mobile-hero-img::before {
		content: "";
		width: 100%;
		height: 80%;
/* 		background: linear-gradient(180deg, #05050700 25%, #2F1C11 75%); */
		background: linear-gradient(180deg, #05050700 25%, #000000 75%);
		position: absolute;
		bottom: 0;
		left: 0;
	}
	
	.single-hero-right-hero-img .jpb-blog-thumbnail{
		min-height: inherit;
	}
	.single-feature-img{
		position: relative;
		top:0;
		left:0;
		height: auto;
		min-height: inherit;
}
	.datenschutz-content {
		--_fs: 16px;
	}
	.jpb-loader {
		--_offset-x: 50px;
	}
	.jpb-signet {
		--_height: 50px;
	}
	.btn-350,  
	.btn-250,
	.btn-330,
	.btn-600 {
		width: 100%;
		--_mw: 1px;
	}
	.btn-arrow .elementor-button-icon {
		transform: rotate(45deg);
	}
	
	.banner-title .elementor-heading-title > span {
		font-size: 80px;
		margin-left: -4px;
	}
	.main-header {
		background-color: #fff !important;
	}
	.main-header:not(.is-sticky) .mobile-menu-icon path {
		stroke: var(--e-global-color-primary);
	} 
	.jpb-mobile-logo {
		display: block;
	}
	.site-brand,
	.site-brand-sticky {
		display: none !important;
	}
	.banner-title .elementor-heading-title > span {
		font-size: 65px;
		margin-left: -1px;
	}
	.banner-image {
		position: unset !important;
	}
	.description-style::before {
		content: none;
	}
	.box-shadow-effect::before,
	.box-shadow-effect::after {
		content: none;
	}
/* 	.jpb-banner-content {
		background-color: #25150C;
		position: relative;
	}
	.jpb-banner-content::before {
		content: "";
		width: 100%;
		height: 154px;
		position: absolute;
		left: 0;
		top: 0;
		transform: translateY(-100%);
		background-image: linear-gradient(180deg, #05050700 0%, #25150C 80%, #25150C 100%);
	} */
	.icon-card {
		--_title-offset: 90px;
	}
	.icon-card:hover {
		background-color: transparent !important;
	}
	.icon-card .elementor-icon-box-icon {
		top: 0;
	}
	.jpb-security::before,
	.jpb-security::after {
		height: 158px;
	}
	.jpb-security::before {
		position: unset;
		display: block;
	}
	.jpb-security-title .elementor-heading-title {
		color: #000000 !important;
	}
	.jpb-security-description > * {
		color: var(--e-global-color-text) !important;
	}
	.feature-card:hover .elementor-icon-box-icon {
		right: 0;
	}
	.feature-card:hover .elementor-icon-box-title {
		transform: none;
	}
	.feature-card .elementor-icon-box-title {
		max-width: 190px;
		font-weight: 700;
		color: #434343;
		min-height:44px;
	}
	.jpb-about-thumb::before {
		background-image: none;
	}
	.advice-card {
		--_gap: 10px;
		position: relative;
	}
	.list-item-user {
		--_icon-width: 100px;
	}
	.list-item-trio {
		--_icon-width: 73px;
	}
	.list-item-single {
		--_icon-width: 67px;
	}
	.advice-card .card-icon {
		position: absolute;
		right: 0;
		top: 0;
	}
	.advice-card .card-icon svg {
		height: auto !important;
	}
	.advice-card:not(.list-item-user):hover path {
		transform: none !important;
	}
	.list-item-user .elementor-icon svg g path:nth-child(1) {
		transform: translateX(43px);
	}
	.list-item-user .elementor-icon svg g path:nth-child(2) {
		transform: translateX(-43px);
	}
	.advice-card .card-title .elementor-heading-title {
		max-width: calc(100% - var(--_gap) - var(--_icon-width));
	}
	.fw-sm-regular .elementor-heading-title {
		font-weight: 400 !important;
	}
	.jpb-faq-block {
		background-color: transparent !important;
	}
	.jpb-faq-intro {
		background-color: #FBFBFB;
	}
	
	.jpb-faq-style  {
		--_title-width: 80%;
	}
	.other-inq-content {
		background-color: var(--e-global-color-primary);
		position: relative;
	}
	.other-inq-content::before {
		content: "";
		width: 100%;
		height: 154px;
		position: absolute;
		left: 0;
		top: 0;
		transform: translateY(-100%);
		background-image: linear-gradient(180deg, #22255100 0%, #222551 100%);
	}
	.article-card {
		background-color: transparent !important;
	}
	.form-control {
		--_fs: 16px;
	}
	.contact-form .form-label {
		font-size: 16px;
		margin-bottom: 10px;
	}
	.contact-form > label:not(:last-of-type) {
		margin-bottom: 10px;
	}
	.contact-form .btn-submit {
		font-size: 15px !important;
		letter-spacing: 0 !important;
	}
	.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output, .wpcf7 form.payment-required .wpcf7-response-output {
		margin-top: 0px !important;
	}
	
	.footer-bottom-menu .elementor-nav-menu {
		justify-content: center !important;
	}
	.jpb-about-sm-image {
		overflow: hidden;
	}
	.jpb-about-sm-image img {
		aspect-ratio: 430 / 300;
		object-fit: cover;
		inline-size: 100%;
	}
	.blog-overview-banner::before,
	.blog-overview-banner::after {
		height: 300px;
	}
	.blog-overview-banner .abs-front,
	.blog-overview-banner .abs-back{
		bottom: unset !important;
		top: 0;
		transform: translateY(-80%);
	}
	.blog-overview-banner .abs-back {
		z-index: 1 !important;
	}
	.blog-overview__title .elementor-heading-title {
		color: #000000 !important;
	}
	.blog-overview__meta .elementor-icon-list-text {
		color: #434343 !important;
	}
	.blog-overview__meta .elementor-icon-list-item:not(:last-child)::after {
		--_bg:  #434343;
	}
	.blog-overview-banner .btn-arrow .elementor-button {
		color: #000000 !important;
	}
	.jpb-breadcrumb {
		--_gap: 28px;
	}
	.blog-overview-content__wrap {
		background-color: #FBFBFB;
	}
	.jpb-single-blog-hero {
		background-color: transparent !important;
	}
	.jpb-blog-thumbnail::before {
		background-size: cover !important;
	}
	.jpb-single-blog-content {
		--_gap: 20px;
	}
	.jpb-single-blog-content .content-box-text-editor {
		--_gap: 10px;
		margin-left: -36px; 
		margin-right: -36px;
		padding: 40px 36px;
	}
	.article-card
	.blog-card {
		height: auto !important;
	}
	.blog-container .elementor-grid {
		grid-auto-rows: unset !important;
	}
	.jpb-service-icon-card .elementor-icon-box-icon {
		position: absolute;
		top: 30px;
		right: 30px;
	}
	.jpb-service-icon-card .elementor-icon-box-title {
		width: calc(100% - 35px);
		margin-top: 0;
	}
	.service-detail-faqs-container {
		background-color: #FBFBFB !important;
	}
	.contact-form .form-submit {
		max-width: unset;
	}
	.contact-col,
	.address-col {
		--width: 100% !important;
	}
	.rachtsgebiete-col {
		--width: 65% !important;
	}
	.wichtiges-col {
		--width: 35% !important;
	}
	.security-description::after {
		content: none !important;
	}
}
@media (max-width: 575.98px) {
	.icon-card:hover .elementor-icon-box-icon path {
		transform: none !important;
	}
}
@media (max-width: 429.98px) {
	.footer-bottom-menu .elementor-nav-menu {
		--e-nav-menu-horizontal-menu-item-margin: 0;
		display: flex;
		flex-direction: column;
	}
	.footer-bottom-menu .elementor-nav-menu .menu-link {
		justify-content: center !important;
	}
	.footer-bottom-menu .elementor-nav-menu .menu-link::after {
		left: 50% !important;
		transform: translateX(-50%) !important;
	}
	.jpb-col-xs-full {
		--width: 100% !important;
	}
	.jpb-breadcrumb {
		--_gap: 16px;
	}
	.jpb-breadcrumb .elementor-icon-list-text {
		font-size: 13px !important;
	}
	.rachtsgebiete-col {
		--width: 100% !important;
	}
	.wichtiges-col {
		--width: 100% !important;
	}
}