@font-face {
    font-family: 'Carnas';
    src: url('../fonts/Carnas-Light.eot');
    src: url('../fonts/arnas-Light.eot?#iefix') format('embedded-opentype'),
        url('../fonts/Carnas-Light.woff2') format('woff2'),
        url('../fonts/Carnas-Light.woff') format('woff'),
        url('../fonts/Carnas-Light.ttf') format('truetype');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Carnas';
    src: url('../fonts/Carnas-Medium.eot');
    src: url('../fonts/Carnas-Medium.eot?#iefix') format('embedded-opentype'),
        url('../fonts/Carnas-Medium.woff2') format('woff2'),
        url('../fonts/Carnas-Medium.woff') format('woff'),
        url('../fonts/Carnas-Medium.ttf') format('truetype');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Carnas';
    src: url('../fonts/Carnas-MediumIt.eot');
    src: url('../fonts/Carnas-MediumIt.eot?#iefix') format('embedded-opentype'),
        url('../fonts/Carnas-MediumIt.woff2') format('woff2'),
        url('../fonts/Carnas-MediumIt.woff') format('woff'),
        url('../fonts/Carnas-MediumIt.ttf') format('truetype');
    font-weight: 500;
    font-style: italic;
    font-display: swap;
}

:root {
	--border: 35px;
	font-size: 24px;

	interpolate-size: allow-keywords;
}


@view-transition {
	navigation: auto;
}

@keyframes move-out {
	from {
		filter: blur(0px);
		transform: scale(1);
		opacity: 1;
	}
	to {
		filter: blur(5px);
		transform: scale(1);
		opacity: 0;
	}
}

@keyframes move-in {
	from {
		filter: blur(5px);
		transform: scale(1);
		opacity: 0;
	}
	to {
		filter: blur(0px);
		transform: scale(1);
		opacity: 1;
	}
}


::view-transition-old(root) {
	animation: 0.8s cubic-bezier(0.87, 0, 0.13, 1) both move-out;
}
::view-transition-new(root) {
	animation: 0.8s cubic-bezier(0.87, 0, 0.13, 1) both move-in;
}




body {
	font-family: Carnas;
	font-weight: 300;
}

a {
	text-decoration: none;
	color: #4A4A49;
}

b {
	font-weight: 500;
}

img {
	-webkit-user-select: none !important;
}

h1 {
	font-size: 2.5rem;
	font-weight: 500;
	line-height: 1.17;
	color: #9B1B2B;
	padding-bottom: 1rem;
}

h1 span {
	font-style: italic;
}

h2 {
	font-size: 2.2rem;
	font-weight: 500;
	line-height: 1.17;
	color: #9B1B2B;
}

h2 span {
	font-style: italic;
}

h3 {
	font-size: 2rem;
	font-weight: 500;
	line-height: 1.1;
	color: #9B1B2B;
	padding-bottom: 1.5rem;
}

h4 {
	font-size: 1rem;
	font-weight: 500;
	line-height: 1;
	color: #9B1B2B;
	padding-bottom: 1.5rem;
	padding-top: 1rem;
}

h5 {
	font-size: 1.2rem;
	font-weight: 500;
	line-height: 1;
	color: #9B1B2B;
	padding-bottom: 1rem;
	padding-top: 1rem;
	text-transform: uppercase;
}

p {
	line-height: 1.5;
	padding-bottom: 2rem;
}


section {
	width: 100vw;
	max-width: 1600px;
	padding-left: var(--border);
	padding-right: var(--border);
	margin-left: auto;
	margin-right: auto;
	margin-top: 9rem;
}

section.cgpjump {
	margin-top: 3rem;
}


.spacer {
	height: 6rem;
}


header, .headersub {
	display: flex;
	justify-content: space-between;
	align-items: center;
	position: fixed;
	top: 46px;
	width: 100vw;
	max-width: 1600px;
	
	left: 50%;
	transform: translateX(-50%);
	
	pointer-events: none;
}

.headersub {
	top: 46px;
}

.logo-left, .logo-right {
	display: flex;
	align-items: center;
	pointer-events: auto;
}

.logo-right {
	margin-right: calc(1 * var(--border)); /* Keeps spacing but avoids absolute positioning */
}

.logo-left {
	margin-left: var(--border);
}

header {
	z-index: 3000;
}

.headersub {
	z-index: 1000;
}


nav {
	width: 100vw;
	display: flex;
	justify-content: center;
}


.backdrop {
	background-color: #F5F5F5;
	border: solid #4A4A49 1.6px;
	border-radius: 25px;

	text-align: center;
	height: 50px;
	width: 100px;
	position: fixed;
	top: 46px;

	z-index: 2000;

	padding-top: 0;

	transition: all ease 0.5s;
}




.open {
	background-color: #F5F5F5;
	border: solid #F5F5F5 0px;
	border-radius: 0;
	
	height: 100vh;
	width: 100vw;

	top: 0;	
	padding-top: 46px;

	transition: all ease 0.5s;
}

.hide {
	opacity: 0;
	display: none;
	pointer-events: none;
}

.burger-c, .burger-o {
	opacity: 1;
}


.nav-container { 

display: flex;
align-items: center;
justify-content: center;
visibility: hidden;
opacity: 0;
transition: all 0.4s ease-out;

height: 0;
transform: scale(0);

}

.show {
	visibility: visible;
	opacity: 1;
	transition: all 0.5s ease;
	height: 85vh;
	transform: scale(1);

}

.mainnav {
display: flex;
align-items: flex-end;
flex-direction: column;
}

.mainnav a {
font-weight: 300;
color: #4A4A49;
font-size: 3.8rem;
padding-bottom: 2rem;
}

.mainnav a.activ {
color: #9B1B2B;
}

.mainnav a:hover {
color: #9B1B2B;
}

.divider {
width: 3px;
height: 432px;
background-color: #9B1B2B;
border-radius: 2500px;
margin: 0 4rem 1.5rem 4rem;
}

.nav-info {
	text-align: left;
	color: #4A4A49;
}

.nav-info p {
font-size: 1.25rem;
padding-bottom: 1.5rem;
}

.nav-icon {
	display: flex;
	align-items: baseline;
}

.nav-icon img {
	padding-right: 1rem;
	padding-top: 0.3rem;
}

.contact-block .nav-info p {
font-size: 1rem;
padding-bottom: 1rem;
}

.contact-block .nav-icon img {
	padding-right: 0.5rem;
	padding-top: 0;
	height: auto;
	width: 1.5rem;
}




.button {
	color: #9B1B2B;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 1.6px #4A4A49 solid;
	border-radius: 1000px;
	font-size: 1rem;
	height: 2.17rem;
	font-weight: 500;
	position: relative;
	background-color: transparent; /* Button is transparent initially */
	overflow: hidden; /* Ensures the expanding bubble is confined to the button */
}

.button .btnbubble {
	width: 2.08rem;
	height: 2.08rem;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: #F5F5F5;
	border-radius: 100%;
	position: absolute;
	left: 0;
	transition: all 0.3s ease-in-out;
	z-index: 0; /* Ensures the bubble is behind the text */
}

.button .btnbubble.invert {
	background-color: #ffffff;
}

.btnbubble p {
	position: absolute;
	top: 0.3rem;
	left: 0.6rem;
	line-height: 1;
	font-weight: 500;
	font-size: 1.4rem;
}

.btntxt {
	position: relative;
	padding-left: 65px; /* Account for the bubble space */
	padding-right: 28px;
	padding-bottom: 3px;
	z-index: 1; /* Keep text above the expanding bubble */
	white-space: nowrap; /* Keep text on a single line */
}


.button:hover .btnbubble {
	width: 100%;
	height: 2.08333333rem; /* Ensure the bubble covers the entire button */
	border-radius: 1000px; /* Keep the bubble round when expanding */
	left: 0;
	background-color: #F5F5F5; /* Ensure bubble color stays consistent */
}

.button:hover .btnbubble.invert {
	background-color: #ffffff;
}


.hero {
	display: flex;
	align-items: center;
	justify-content: center;
}

.hero-img-mob {
	display: none;
}

.hero-img-hor {
	max-height: 65vh;
}

.hero-img-vert {
	max-height: 35vh;
}

.hero-content {
	width: 40%;
	padding-left: 2.5rem;
}

.divider-l {
	max-width: 536px;
	height: 3px;
	background-color: #9B1B2B;
	border-radius: 2500px;
	margin-bottom: 2rem;
}

.hero-content .divider-l {
	transform: translateX(-5rem);
	}



.content-split {
	display: flex;
	justify-content: space-between;
}

.split-left {
	width: 35%;
}
.split-right {
	width: 50%;
}

.turn {
	flex-direction: row-reverse;
}

.profil {
	display: flex;
	align-items: center;
	background-color: #F5F5F5;
	margin-bottom: 2rem;
}

.left {
	border-radius: 1000px 0 0 1000px;
}
.right {
	border-radius: 0 1000px 1000px 0;
}

.profil img {
	border-radius: 1000px;	
	width: 30%;
}

.profil-content {
	padding: 1rem 3rem; 
}

.profil-content .button {
  display: flex;
	width: fit-content;
	margin-left: auto;	
}

.koop {
	background-color: #F5F5F5;
	padding: 3rem 3rem 1.5rem 3rem;
}

.koop p {
	padding-top: 1.5rem;
}

.koop a {
	font-weight: 500;
	color: #9B1B2B;
}


footer {
	background-color: #9B1B2B;
	margin-top: 9rem;
	color: #ffffff;
}

footer p {
	line-height: 1.9;
}

footer a {
	color: #ffffff;
}

footer .container {
	width: 100vw;
	max-width: 1600px;
	padding-left: var(--border);
	padding-right: var(--border);
	margin-left: auto;
	margin-right: auto;
	padding-top: 3rem;
	padding-bottom: 3rem;
	
	display: flex;
	align-items: flex-end;
	justify-content: space-between;

}

footer .nav-icon {
	display: flex;
	align-items: baseline;
}

.links {
	display: flex;
	flex-direction: column;
}

.links .nav-icon:first-child p {
	padding-bottom: 0;
}


.logo-footer {
	padding-bottom: 1rem;
}

.footer-legal {
	text-align: right;
}

.l-space {
	padding-bottom: 1.5em;
}







.accordionContainer {
    width: 100%;
    border-bottom: 3px solid #9B1B2B;
    background-color: #F5F5F5;
}

.accordionContainer:first-child {
    border-top: 3px solid #9B1B2B;
}

.accordionTop {
    padding-left: 0.8rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.accordionImg {
    padding-right: 0.8rem;
    transform-origin: center center;
}

.accordionContent {
    padding-left: 0.8rem;
    padding-right: 0.8rem;
						    
    height: auto;
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    padding-bottom: 0;
    transition: all ease-in-out 0.4s;
}

.accordionContent.show {
    height: auto;
    max-height: 1000px;
    opacity: 1;
    overflow: hidden;
    padding-bottom: 1.25rem;
    transition: all ease-in-out 0.4s;
}

.accordionContent ul, .accordionContent p, .accordionContent table {
	line-height: 1.5;
	padding-bottom: 0;
	text-align: left;
}

ul {
  padding-left: 1.2em;
}

li {
  list-style-type: disc;
  list-style-position: outside;
}

.secondlevel {
	list-style-type: circle;
	list-style-position: inside;	
}


tr {
	border-collapse: inherit;
	border-spacing: 0;
	}

td {
  overflow: hidden;
	padding: 0.3rem;
	}

td:first-of-type {
	width: 6rem;
	
}



.rechtsgebiet-header-left {
	background-color: #F5F5F5;

	display: flex;
	align-items: center;

	border-radius: 1000px 0 0 1000px;

	width: 100%;
	margin-bottom: 0.4rem;
}

.rechtsgebiet-header-left h3 {
	line-height: 1;
	padding-top: 2rem;
	padding-bottom: 2rem;
	padding-left: 4rem;
	
}

.rechtsgebiet-header-left div {
	background-color: #9B1B2B;
	border-radius: 1000px;

	height: 6rem;
	width: 6rem;
	
	display: flex;
	align-items: center;
	justify-content: center;

}

.rechtsgebiet-header-left div img {
	height: 3.7rem;
	width: auto;
}

.rechtsgebiet-content-left {
	background-color: #F5F5F5;
	padding: 1.5rem;

	margin-left: 8.5rem;
	margin-bottom: 1rem;
}

.rechtsgebiet-content-left p {
	padding: 0;
}



.rechtsgebiet-header-right {
	background-color: #F5F5F5;

	display: flex;
	align-items: center;
	justify-content: space-between;

	border-radius:  0 1000px 1000px 0;

	width: 100%;
	margin-bottom: 0.4rem;
}

.rechtsgebiet-header-right h3 {
	line-height: 1;
	padding-top: 2rem;
	padding-bottom: 2rem;
	padding-left: 1.5rem;	
}

.rechtsgebiet-header-right div {
	background-color: #9B1B2B;
	border-radius: 1000px;

	height: 6rem;
	width: 6rem;
	
	display: flex;
	align-items: center;
	justify-content: center;

}

.rechtsgebiet-header-right div img {
	height: 3.7rem;
	width: auto;
}

.rechtsgebiet-content-right {
	background-color: #F5F5F5;
	padding: 1.5rem;

	margin-right: 8.5rem;
	margin-bottom: 1rem;
}

.rechtsgebiet-content-right p {
	padding: 0;
}



/* Formular */
form#kontaktform {
   width: 100%;
  }

  form input, form textarea {
    width: 100%;
    padding: 0.33rem 1rem 0.4rem 0.5rem;
    border: 1.6px solid #4A4A49;
		background-color: #F5F5F5;
  }

	.contact-space {
		padding-left: 0.5rem;
		line-height: 2;
	}

  .form_rows {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
  }

	form p {
		padding-bottom: 0.3rem;
		font-size: 1rem;
	}

	form p span {
		font-size: 0.75rem;
		font-weight: 500;
	}

  .form_rows p {
    width: 49%;
  }

  /* Focus */
  :focus-visible {
   outline: none;
	 background-color: #F5F5F5;
  }

  /* Pflichtangaben markieren */
  var, noscript {
   color: #9B1B2B;
	 font-weight: 500;
  }

  .checkbox > input {
    height: 1.1em;
	  width: 1.1em;
		padding: 0;
		border-radius: 0;
		-webkit-appearance: none;
    -moz-appearance: none;
    -o-appearance: none;
    appearance: none;
    outline: none;
    background-color: #F5F5F5;
		transform: translateY(0.3em);
		margin-right: 0.5em;
    margin-left: 0;
    border: 1.6px solid #4A4A49;

  }

.checkbox > input:checked {
    background-color: #9B1B2B;
}

.checkbox a {
  text-decoration: none;
  color: #9B1B2B;
  font-weight: 500;
}

.checkbox a:hover {
  text-decoration: underline;
}

  .form_rows .check {
    width: 70%;
  }

	form button {
		margin-top: 0.5rem;
	}


.contact {
	display: flex;
}

.contact-block {
	min-width: max-content;
	margin-left: 2rem;
	padding-top: 1.25rem;
}


.success {
	width: 100%;
}


@media (max-width: 1400px) {
:root {
	font-size: 22px;
}

.plus {
	transform: scale(0.9);
}


}

@media (max-width: 1260px) {
	.profil img {
	width: 45%;
}

}

@media (max-width: 1140px) {
	:root {
	font-size: 20px;
}

.plus {
	transform: scale(0.8);
}

.hero-img-hor {
	max-width: 40vw;
}

.hero-img-vert {
	max-width: 45vw;

}

}

@media (max-width: 1050px) {

	.profil {
	align-items: flex-start;
}

	.profil img {
	width: 30%;
}

.left {
	border-radius: 180px 0 0 0;
}
.right {
	border-radius: 0 180px 0 0;
}

.divider {
margin: 0 0 1.5rem 4rem;
}

.logo-right {
	display: none;
}

.nav-info {
	display: none;
}


nav {
	width: 100vw;
	display: flex;
	justify-content: center;
}


.backdrop {
	
	text-align: right;
	height: 50px;
	width: 100px;
	top: 46px;
	right: 35px;

	transition: height ease 0.5s, width ease 0.5s, opacity ease 0.5s;

}


.open {
	
	height: 100vh;
	width: 100vw;

	top: 0;	
	right: 0;

	transition: height ease 0.5s, width ease 0.5s, opacity ease 0.5s;

}

.burger-o {
	padding-top: 1.6px;
	padding-right: 36.6px;
}

.burger-c {
	padding-right: 0;		
}

.contact-block {
    margin-left: 0;
}


}


@media (max-width: 900px) {

	.hero {
	display: block;
}

.hero-img {
	display: none;
}

.hero-img-mob {
	display: block;
}

.hero-img-hor {
	max-height: unset;
	max-width: 100%;
}

.hero-img-vert {
	max-height: unset;
	max-width: 100%;
}

.hero-content {
	width: 100%;
	padding-left: 0rem;
	padding-top: 2rem;
}

.divider-l {
	max-width: 60%;
}


.hero-content .divider-l {
	transform: translateX(0);
	}

.content-split {
	display: flex;
	justify-content: flex-start;
	flex-direction: column;
}

.split-left {
	width: 100%;
	padding-bottom: 1rem;
}
.split-right {
	width: 100%;
}

.lawyer-img {
	text-align: right;
}

.lawyer-img img {
	width: 40%;
	transform: translateY(6.3rem);
	margin-top: -6.3rem;
}

#bs.spacer {
	height: 0;
}

section.cgpjump {
	margin-top: 3rem;
}

section {
	margin-top: 6.5rem;
}


footer .container {
	padding-top: 2rem;
	padding-bottom: 2rem;
	
	display: flex;
	flex-direction: column;
	align-items: flex-start;

}

footer p {
	line-height: 1.9;
	padding-bottom: 1rem;
}

.logo-footer {
	padding-bottom: 1rem;
}

.footer-legal {
	margin-left: auto;
	text-align: right;
}

.break {
	display: none;
}

.footer-legal a:first-child {
	margin-right: 2.5rem;
}

.footer-legal {
	padding-top: 1rem;
}







.rechtsgebiet-header-left h3 {
	font-size: 1.5rem;
	line-height: 1;
	padding-top: 1rem;
	padding-bottom: 1rem;
	padding-left: 1.5rem;
}

.rechtsgebiet-header-left div {
	height: 4rem;
	width: 4rem;
}

.rechtsgebiet-header-left div img {
	height: 2.5rem;
}

.rechtsgebiet-header-right h3 {
	font-size: 1.5rem;
	line-height: 1;
	padding-top: 1rem;
	padding-bottom: 1rem;
}

.rechtsgebiet-header-right div {
	height: 4rem;
	width: 4rem;
}

.rechtsgebiet-header-right div img {
	height: 2.5rem;
}

.rechtsgebiet-content-right {
	margin-right: 4rem;
	margin-bottom: 1rem;
}

.rechtsgebiet-content-left {
	margin-left: 4rem;
	margin-bottom: 1rem;
}





}

@media (max-width: 770px) {

	.left {
	border-radius: 105px 0 0 0;
}
.right {
	border-radius: 0 105px 0 0;
}

	.form_rows {
    display: flex;
		flex-direction: column;
  }

  .form_rows p {
    width: 100%;
  }

	.form_rows .check {
    width: 100%;
		padding-bottom: 1rem;
  }

	.form_send {
		align-items: flex-end;
	}

}

@media (max-width: 600px) {

	:root {
	--border: 20px;
}

.mainnav a {
font-size: 2rem;
}

.divider {
width: 2px;
height: 350px;
margin: 0 1rem 1.5rem 1.5rem;
}

h1 {
	font-size: 2rem;
	padding-bottom: 1rem;
}

h2 {
	font-size: 1.8rem;
}


h3 {
	font-size: 1.8rem;
	padding-bottom: 1.5rem;
}


.profil {
	display: flex;
	align-items: center;
	flex-direction: column-reverse;
	background-color: #F5F5F5;
	margin-bottom: 2rem;
}

.profil:nth-child(2) {
	flex-direction: column;
}


.left {
	border-radius: 1000px 1000px 0 0;
}
.right {
	border-radius: 1000px 1000px 0 0;
}

.profil img {
	width: 100%;
}

.profil-content {
	padding: 2rem 1rem;
}

.koop {
	padding: 2rem 1rem 0rem 1rem;
}

.lawyer-img img {
	width: 70%;
	transform: translateY(0);
	margin-top: 0;
}

#bs.spacer {
	height: 0;
}


.rechtsgebiet-header-left h3 {
	font-size: 1.1rem;
	line-height: 1.17;
	padding-top: 0;
	padding-bottom: 0;
	padding-left: 1rem;
	padding-right: 1rem;
}


.rechtsgebiet-header-left div {
	height: 5rem;
	width: 5rem;
	min-width: 5rem;
}

.rechtsgebiet-header-left div img {
	height: 3rem;
}

.rechtsgebiet-header-right h3 {
	font-size: 1.1rem;
	line-height: 1.17;
	padding-top: 0;
	padding-bottom: 0;
	padding-right: 1rem;
}


.rechtsgebiet-header-right div {
	height: 5rem;
	width: 5rem;
	min-width: 5rem;
}


.rechtsgebiet-header-right div img {
	height: 3rem;
}


.rechtsgebiet-content-right {
	margin-right: 0;
	margin-bottom: 1rem;
}

.rechtsgebiet-content-left {
	margin-left: 0;
	margin-bottom: 1rem;
}

section:first-of-type {
	margin-top: 6.5rem;
}

section {
	margin-top: 4rem;
}

.plus {
	transform: scale(0.75);
}




}
