@charset "utf-8";
/* CSS Document */

/*---------- Google Fonts ----------*/

body{
	font-family: 'PT Sans', sans-serif;
	font-weight: 400;
	font-size: 22px;
	line-height: 125%;
	color: #4d4d4d;
	background: #ffffff;
	padding-top: 131px;
}

@media (max-width:1399px){
body { font-size: 20px; padding-top: 115px; }
}

@media (max-width:1199px){
body { font-size: 18px; padding-top: 92px; }
}

/* @media (max-width:991px){
body { padding-top: 103px; }
} */

a,
input,
button,
textarea { outline: none !important; }

a {
	transition: all ease-in-out 300ms;
	-webkit-transition: all ease-in-out 300ms;
	-ms-transition: all ease-in-out 300ms;
	-o-transition: all ease-in-out 300ms;
	-moz-transition: all ease-in-out 300ms;
}

figure {
	margin: 0;
}

b,
strong {
	font-weight: 700 !important;
}

a,
input,
button,
textarea { outline: none !important; }

a {
	transition: all ease-in-out 300ms;
	-webkit-transition: all ease-in-out 300ms;
	-ms-transition: all ease-in-out 300ms;
	-o-transition: all ease-in-out 300ms;
	-moz-transition: all ease-in-out 300ms;
	color: #012d57
}


a:hover, a:focus {color:#707070}

.frame-meinrahmen3 a {	color: #707070; font-size: 0.7em;}
.frame-meinrahmen3 a:hover, a:focus {color:#012d57}

@media(max-width:767px) {
	.frame-meinrahmen3{ display: none}
}

p {
	font-family: inherit;
	font-weight: inherit;
	font-size: inherit;
	line-height: inherit;
	color: inherit;
	margin-bottom: 25px;
}

@media(max-width:767px) {
p { margin-bottom: 15px; }
}

ol,
ul {
	margin-bottom: 20px;
}

ol ol,
ol ul,
ul ol,
ul ul {
	margin-top: 10px;
	margin-bottom: 10px;
}

ol li,
ul li {
	font-family: inherit;
	font-weight: inherit;
	font-size: inherit;
	line-height: inherit;
	color: inherit;
}

ol li::marker,
ul li::marker {
	color: #013668;
}

.container-fluid,
.container {
	padding-left: 15px;
	padding-right: 15px;
}

@media (min-width: 1400px){
.container { max-width: 1335px; }
}

.row {
	margin-left: -15px;
	margin-right: -15px;
}

.row > * {
	padding-left: 15px;
	padding-right: 15px;
}

.alignnone {
	float: none;
	margin: 20px;
}

.alignleft {
	float: left;
	margin: 20px 20px 20px 0;
}

.alignright {
	float: right;
	margin: 20px 0 20px 20px;
}

.aligncenter {
	float: none;
	display: block;
	margin: 20px auto;
}

blockquote {
	padding-left: 30px;
	border-left: 5px solid #013668;
	margin-bottom: 20px;
}

blockquote * {
	font-size: 150%;
	line-height: 180%;
}

h1 {
	font-weight: 700;
	font-size: 50px;
	line-height: 135%;
	color: #013668;
	margin-bottom: 20px;
}

h2 {
	font-weight: 700;
	font-size: 42px;
	line-height: 135%;
	color: #013668;
	margin-bottom: 20px;
}

h3 {
	font-weight: 700;
	font-size: 32px;
	line-height: 135%;
	color: #013668;
	margin-bottom: 20px;
}

h4 {
	font-weight: 700;
	font-size: 28px;
	line-height: 125%;
	color: #013668;
	margin-bottom: 20px;
}

h5 {
	font-weight: 700;
	font-size: 25px;
	line-height: 125%;
	color: #013668;
	margin-bottom: 20px;
}

h6 {
	font-weight: 700;
	font-size: 22px;
	line-height: 125%;
	color: #013668;
	margin-bottom: 20px;
}

/* section-title */
.section-title {
	font-weight: 700;
	font-size: 42px;
	line-height: 125%;
	color: #013668;
	margin-bottom: 30px;
}

.section-title * {
	font-weight: inherit;
	font-size: inherit;
	line-height: inherit;
	color: inherit;
	word-break: break-word;
	margin-bottom: 20px;
}

.section-title a {
	text-decoration: none;
}

.section-title a:hover {
	color: #4d4d4d;
}

@media (max-width:1199px){
.section-title { font-size: 35px; }
}

@media (max-width:991px){
.section-title { font-size: 28px; }
}

@media (max-width:767px){
.section-title { font-size: 22px; }
}
/* section-title */

/* block-title */
.block-title {
	font-weight: 700;
	font-size: 32px;
	line-height: 115%;
	color: #013668;
	margin-bottom: 20px;
}

.block-title * {
	font-weight: inherit;
	font-size: inherit;
	line-height: inherit;
	color: inherit;
	word-break: break-word;
	margin-bottom: 0;
}

.block-title a {
	text-decoration: none;
}

.block-title a:hover {
	color: #4d4d4d;
}

@media (max-width:1199px){
.block-title { font-size: 28px; }
}

@media (max-width:991px){
.block-title { font-size: 22px; }
}
/* block-title */

/* button */
.btn {
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	font-size: 22px;
	line-height: 125%;
	padding: 10px 20px;
	gap: 15px;
	border: 2px solid transparent;
	box-shadow: none;
	border-radius: 0;
	-webkit-border-radius: 0;
	-moz-border-radius: 0;
	-ms-border-radius: 0;
	-o-border-radius: 0;
}

.btn-simple-white {
	color: #ffffff !important;
	border-color: #ffffff !important;
	background: transparent !important;
}

.btn-simple-white:focus,
.btn-simple-white:active {
	color: #ffffff !important;
	border-color: #ffffff !important;
	background: transparent !important;
}

.btn-simple-white:active:focus,
.btn-simple-white:hover {
	color: #013668 !important;
	border-color: #ffffff !important;
	background: #ffffff !important;
}

.btn-white {
	color: #013668 !important;
	border-color: #ffffff !important;
	background: #ffffff !important;
}

.btn-white:focus,
.btn-white:active {
	color: #013668 !important;
	border-color: #ffffff !important;
	background: #ffffff !important;
}

.btn-white:active:focus,
.btn-white:hover {
	color: #ffffff !important;
	border-color: #ffffff !important;
	background: transparent !important;
}

.btn-simple-blue {
	color: #013668 !important;
	border-color: #013668 !important;
	background: transparent !important;
}

.btn-simple-blue:focus,
.btn-simple-blue:active {
	color: #013668 !important;
	border-color: #013668 !important;
	background: transparent !important;
}

.btn-simple-blue:active:focus,
.btn-simple-blue:hover {
	color: #ffffff !important;
	border-color: #013668 !important;
	background: #013668 !important;
}

.btn-blue {
	color: #ffffff !important;
	border-color: #013668 !important;
	background: #013668 !important;
}

.btn-blue:focus,
.btn-blue:active {
	color: #ffffff !important;
	border-color: #013668 !important;
	background: #013668 !important;
}

.btn-blue:active:focus,
.btn-blue:hover {
	color: #013668 !important;
	border-color: #013668 !important;
	background: transparent !important;
}

@media (max-width:1399px){
.btn { font-size: 20px; }
}

@media (max-width:1199px){
.btn { font-size: 18px; }
}
/* button */

/* jarallax */
.jarallax {
	position: relative;
	z-index: 0;
}

.jarallax .jarallax-img {
	position: absolute;
	object-fit: cover;
	background-size: cover !important;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: -1;
}
/* jarallax */


/* custom-checkmark-list-items */
.ce-textpic ul {
	display: block;
	margin: 20px 0 0;
	padding: 0;
	list-style-type: none;
}

.ce-textpic ul li {
	display: block;
	margin: 0 0 20px;
	padding: 0 0 0 40px;
	list-style-type: none;
	position: relative;
}

.ce-textpic ul li:before {
	position: absolute;
	content: "\f058";
	font-family: "FontAwesome6FreeSolid900";
	color: #013668;
	left: 0;
	top: 2px;
}

@media(max-width:1399px){
.ce-textpic ul li { padding-left: 30px; }
}

@media(max-width:991px){
.ce-textpic ul li { margin-bottom: 15px; }
}
/* custom-checkmark-list-items */
/*==================================================================*/
/*========== Header Start ==========*/
/*==================================================================*/
.header {
	position: fixed;
	left: 0;
	right: 0;
	top: 0;
	background: #ffffff;
	/* padding: 25px 0; */
	z-index: 99;
	transition: all 0.5s ease-in-out;
	-webkit-transition: all 0.5s ease-in-out;
	-moz-transition: all 0.5s ease-in-out;
	-ms-transition: all 0.5s ease-in-out;
	-o-transition: all 0.5s ease-in-out;
}

/* .header.nav-menu-open {
	background: transparent;
} */

.header.h-stick {
	background: rgba(255, 255, 255,0.85);
	/* padding: 10px 0; */
}

.header .h-content {
	padding: 0 55px;
}

.header .navbar {
	padding: 0;
}

.header .navbar .navbar-toggler {
    position: relative;
    right: 0;
    top: 0;
    width: 30px;
    height: 22px;
    padding: 0;
    box-shadow: none !important;
    border: none;
    z-index: 99999;
}

.header .navbar .navbar-toggler .hamburger {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    flex-direction: column;
    justify-content: space-between;
    width: 100%;
    height: 100%;
}

.header .navbar .navbar-toggler .hamburger-toggle {
    width: 100%;
    height: 100%;
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    justify-content: space-between;
}

.header .navbar .navbar-toggler .hamburger span {
    width: 100%;
    height: 2px;
    background: #013668;
    position: relative;
    transition: all 0.3s ease-in-out;
    -webkit-transition: all 0.3s ease-in-out;
    -moz-transition: all 0.3s ease-in-out;
    -ms-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
}

/* .header .navbar .navbar-toggler.collapsed .hamburger span {
	background: #013668;
} */

.header .navbar .navbar-toggler .hamburger span:first-child {
    top: 10px;
    transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -o-transform: rotate(45deg);
}

.header .navbar .navbar-toggler .hamburger span:nth-child(2) {
    opacity: 0;
}

.header .navbar .navbar-toggler .hamburger span:last-child {
    margin: 0;
    top: -10px;
    transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    -o-transform: rotate(-45deg);
}

.header .navbar .navbar-toggler.collapsed .hamburger span {
    opacity: 1 !important;
    top: auto !important;
    transform: none !important;
    -webkit-transform: none !important;
    -moz-transform: none !important;
    -ms-transform: none !important;
    -o-transform: none !important;
}

.header .navbar .navbar-collapse {
	justify-content: space-between;
}

.header .navbar .navbar-brand {
	position: relative;
	padding: 0;
	width: 310px;
	/* transition: all 0.3s ease-in-out;
	-webkit-transition: all 0.3s ease-in-out;
	-moz-transition: all 0.3s ease-in-out;
	-ms-transition: all 0.3s ease-in-out;
	-o-transition: all 0.3s ease-in-out; */
}

.header .navbar .navbar-brand > * {
	position: relative;
	width: 100%;
	transition: all 0.3s ease-in-out;
	-webkit-transition: all 0.3s ease-in-out;
	-moz-transition: all 0.3s ease-in-out;
	-ms-transition: all 0.3s ease-in-out;
	-o-transition: all 0.3s ease-in-out;
}

.header.h-stick .navbar .navbar-brand > * {
	width: 250px;
}

/* .header.h-stick .navbar .navbar-brand {
	width: 250px;
} */

.header .navbar .navbar-collapse {
	justify-content: center;
}

.header .navbar .navbar-nav {
	margin: 0;
}

.header .navbar .navbar-nav .nav-item {
	margin: 0 19px;
}

.header .navbar .navbar-nav .nav-item:first-child {
	margin-left: 0;
}

.header .navbar .navbar-nav .nav-item :last-child {
	margin-right: 0;
}

.header .navbar .navbar-nav .nav-item .nav-link {
	display: inline-block;
	position: relative;
	font-size: 22px;
	line-height: 125%;
	color: #013668;
	box-shadow: none;
	padding: 52px 0;
	transition: all 0.3s ease-in-out;
	-webkit-transition: all 0.3s ease-in-out;
	-moz-transition: all 0.3s ease-in-out;
	-ms-transition: all 0.3s ease-in-out;
	-o-transition: all 0.3s ease-in-out;
}

.header.h-stick .navbar .navbar-nav .nav-item .nav-link {
	padding: 37px 0;
}

.header .navbar .navbar-nav .nav-item .nav-link:before {
	position: absolute;
	content: "";
	left: 50%;
	bottom: 50px;
	height: 3px;
	width: 50px;
	background: #4d4d4d;
	opacity: 0;
	transition: all 0.3s ease-in-out;
	-webkit-transition: all 0.3s ease-in-out;
	-moz-transition: all 0.3s ease-in-out;
	-ms-transition: all 0.3s ease-in-out;
	-o-transition: all 0.3s ease-in-out;
	transform: translate(-50%, 0);
	-webkit-transform: translate(-50%, 0);
	-moz-transform: translate(-50%, 0);
	-ms-transform: translate(-50%, 0);
	-o-transform: translate(-50%, 0);
}

.header.h-stick .navbar .navbar-nav .nav-item .nav-link:before {
	bottom: 35px;
}

.header .navbar .navbar-nav .nav-item.active .nav-link:before,
.header .navbar .navbar-nav .nav-item.current-menu-item .nav-link:before,
.header .navbar .navbar-nav .nav-item.current-menu-parent .nav-link:before,
.header .navbar .navbar-nav .nav-item.current_page_parent .nav-link:before,
.header .navbar .navbar-nav .nav-item .nav-link.active:before,
.header .navbar .navbar-nav .nav-item .nav-link.current-menu-item:before,
.header .navbar .navbar-nav .nav-item .nav-link.current-menu-parent:before,
.header .navbar .navbar-nav .nav-item .nav-link.current_page_parent:before,
.header .navbar .navbar-nav .nav-item .nav-link:hover:before {
	opacity: 1;
}

.header .navbar .navbar-nav .dropdown .dropdown-menu {
	padding: 20px 0;
	margin: 0;
	border: none;
	box-shadow: none;
	background: rgba(255, 255, 255,0.85);
	border-radius: 0;
	-webkit-border-radius: 0;
	-moz-border-radius: 0;
	-ms-border-radius: 0;
	-o-border-radius: 0;
}

.header .navbar .navbar-nav .dropdown .dropdown-menu li {
	margin: 0;
}

.header .navbar .navbar-nav .dropdown .dropdown-menu li > a {
	font-size: 22px;
	line-height: 125%;
	color: #012d57;
	padding: 5px 20px;
	background: transparent !important;
}

.header .navbar .navbar-nav .dropdown .dropdown-menu li.active > a,
.header .navbar .navbar-nav .dropdown .dropdown-menu li.current-menu-item > a,
.header .navbar .navbar-nav .dropdown .dropdown-menu li.current-menu-parent > a,
.header .navbar .navbar-nav .dropdown .dropdown-menu li.current_page_parent > a,
.header .navbar .navbar-nav .dropdown .dropdown-menu li > a.active,
.header .navbar .navbar-nav .dropdown .dropdown-menu li > a.current-menu-item,
.header .navbar .navbar-nav .dropdown .dropdown-menu li > a.current-menu-parent,
.header .navbar .navbar-nav .dropdown .dropdown-menu li > a.current_page_parent,
.header .navbar .navbar-nav .dropdown .dropdown-menu li > a:hover {
	background: transparent;
	color: #4d4d4d;
}

.header .navbar .navbar-nav .dropdown .dropdown-menu .dropdown-menu {
	background: rgba(220, 228, 235,0.85);
	mix-blend-mode: multiply;
}

@media (max-width:1399px){
.header .h-content { padding: 0 30px; }
.header .navbar .navbar-brand { width: 250px; }
.header.h-stick .navbar .navbar-brand > * { width: 200px; }
/* .header.h-stick .navbar .navbar-brand { width: 200px; } */
.header .navbar .navbar-nav .nav-item { margin: 0 12px; }
.header .navbar .navbar-nav .nav-item .nav-link { font-size: 20px; padding: 45px 0; }
.header .navbar .navbar-nav .nav-item .nav-link:before { bottom: 43px; }
.header.h-stick .navbar .navbar-nav .nav-item .nav-link { padding: 30px 0; }
.header.h-stick .navbar .navbar-nav .nav-item .nav-link:before { bottom: 28px; }
.header .navbar .navbar-nav .dropdown .dropdown-menu li > a { font-size: 20px; }
}

@media (max-width:1199px){
.header .h-content { padding: 0; }
.header .navbar .navbar-brand { width: 225px; }
.header .navbar .navbar-nav .nav-item .nav-link { font-size: 18px; padding: 35px 0; }
.header .navbar .navbar-nav .nav-item .nav-link:before { bottom: 33px; }
.header.h-stick .navbar .navbar-nav .nav-item .nav-link { padding: 25px 0; }
.header.h-stick .navbar .navbar-nav .nav-item .nav-link:before { bottom: 23px; }
.header .navbar .navbar-nav .dropdown .dropdown-menu li > a { font-size: 18px; }
}

@media (min-width:992px){
/* header */
.header .navbar .navbar-nav .dropdown-menu.show { display: none; }
.header .navbar .navbar-nav .dropdown:hover > a:before { opacity: 1; }
.header .navbar .navbar-nav .dropdown:hover > .dropdown-menu { display: block; }
.header .navbar .navbar-nav .dropdown-menu .dropdown .dropdown-menu { left: 100%; top: 0; }
/* .header .navbar .navbar-nav .dropdown-menu .dropdown:hover > a { color: #4d4d4d; } */
.header .navbar .navbar-nav .dropdown > a:after { display: none; }
/* header */
}

@media (max-width:991px){
.header { padding: 20px 0; }
.header.h-stick { padding: 15px 0; }
.header .navbar .navbar-collapse { justify-content: flex-start; }

/* navigation */
.header:before { position: fixed; content: ""; left: 100%; top: 0; bottom: 0; width: 100%; height: 100%; background: rgba(1, 54, 104, 0.7); z-index: 9999; opacity: 0; transition: all .3s ease-in .6s; -webkit-transition: all .3s ease-in .6s; -moz-transition: all .3s ease-in .6s; -ms-transition: all .3s ease-in .6s; -o-transition: all .3s ease-in .6s; }
html.nav-menu-open .header:before { left: 0; opacity: 1; visibility: visible; transition: all .8s ease-out 0s; -webkit-transition: all .8s ease-out 0s; -moz-transition: all .8s ease-out 0s; -ms-transition: all .8s ease-out 0s; -o-transition: all .8s ease-out 0s; }
.header .navbar .navbar-brand { width: 200px; z-index: 9999; }
.header .navbar .navbar-nav .nav-item { margin: 0 0 20px; }



.header .navbar .navbar-collapse { position: fixed; display: block; right: 0; top: 0; bottom: 0; max-width: 375px; width: 100%; height: 100%; word-wrap: break-word; overflow: auto; z-index: 9999; opacity: 0; visibility: hidden; background: #ffffff; padding: 0 15px 50px; transform: translateX(100%); -webkit-transform: translateX(100%); -moz-transform: translateX(100%); -ms-transform: translateX(100%); -o-transform: translateX(100%); transition: all .3s cubic-bezier(.9,.03,0,.96) .4s; -webkit-transition: all .3s cubic-bezier(.9,.03,0,.96) .4s; -moz-transition: all .3s cubic-bezier(.9,.03,0,.96) .4s; -ms-transition: all .3s cubic-bezier(.9,.03,0,.96) .4s; -o-transition: all .3s cubic-bezier(.9,.03,0,.96) .4s; }
.header .navbar .navbar-collapse.show { visibility: visible; opacity: 1; transform: translateX(0); -webkit-transform: translateX(0); -moz-transform: translateX(0); -ms-transform: translateX(0); -o-transform: translateX(0); }
.header .navbar .navbar-collapse:before { position: sticky; content: ""; display: block; right: 0; top: 0; max-width: 375px; width: 100%; height: 103px; background: #ffffff; z-index: 99999; transform: translateX(100%); -webkit-transform: translateX(100%); -moz-transform: translateX(100%); -ms-transform: translateX(100%); -o-transform: translateX(100%); transition: all .3s cubic-bezier(.9,.03,0,.96) .4s; -webkit-transition: all .3s cubic-bezier(.9,.03,0,.96) .4s; -moz-transition: all .3s cubic-bezier(.9,.03,0,.96) .4s; -ms-transition: all .3s cubic-bezier(.9,.03,0,.96) .4s; -o-transition: all .3s cubic-bezier(.9,.03,0,.96) .4s; }
.header .navbar .navbar-collapse.show:before { transform: translateX(0); -webkit-transform: translateX(0); -moz-transform: translateX(0); -ms-transform: translateX(0); -o-transform: translateX(0); }

.header .navbar .navbar-nav .nav-item .nav-link { display: flex; justify-content: space-between; align-items: center; font-size: 22px; padding: 0 0 2px !important; }
.header .navbar .navbar-nav .dropdown > a:after { border: none; content: "\f107"; font-family: 'FontAwesome6FreeSolid900'; transition: all 0.3s ease-in-out; -webkit-transition: all 0.3s ease-in-out; -moz-transition: all 0.3s ease-in-out; -ms-transition: all 0.3s ease-in-out; -o-transition: all 0.3s ease-in-out; }
.header .navbar .navbar-nav .dropdown > a.show:after { transform: rotate(-180deg); -webkit-transform: rotate(-180deg); -moz-transform: rotate(-180deg); -ms-transform: rotate(-180deg); -o-transform: rotate(-180deg); }
.header .navbar .navbar-nav .nav-item .nav-link:before { left: 0; bottom: 0 !important; transform: none; -webkit-transform: none; -moz-transform: none; -ms-transform: none; -o-transform: none; }
.header .navbar .navbar-nav .dropdown-menu .dropdown > a.show { color: #4d4d4d; }
.header .navbar .navbar-nav .dropdown > a.show:before { opacity: 1; }
.header .navbar .navbar-nav .dropdown .dropdown-menu li > a { font-size: 22px; display: flex; align-items: center; justify-content: space-between; }

.header .h-customer-button { margin-top: 20px; }
.header .h-customer-button .btn { font-size: 22px; }
/* navigation */
}
/*==================================================================*/
/*========== Header End ==========*/
/*==================================================================*/



/*==================================================================*/
/*========== New Class Add Start ==========*/
/*==================================================================*/
/* banner */
.banner-section {
	position: relative;
}

.banner-section .banner-main-image .banner-image {
	position: relative;
	height: 585px;
	overflow: hidden;
}

.banner-section.home-banner-section .banner-main-image .banner-image {
	height: 790px;
}

.banner-section .banner-main-image .banner-image * {
	width: 100%;
	height: 100%;
	object-fit: cover;
	font-family: 'object-fit: cover';
}

.banner-section .banner-description {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 9;
}

.banner-section .banner-description .banner-main-content {
	position: relative;
}

.banner-section .banner-description .banner-main-content:before {
	position: absolute;
	content: "";
	left: 105px;
	bottom: 0;
	width: 0px;
	height: 0px;
	border-style: solid;
	border-width: 0 42px 68px 42px;
	border-color: transparent transparent #ffffff transparent;
}

.banner-section .banner-description .banner-main-content:after {
	position: absolute;
	content: "";
	left: 208px;
	bottom: 0;
	width: 0px;
	height: 0px;
	border-style: solid;
	border-width: 0 42px 54px 42px;
	border-color: transparent transparent #ffffff transparent;
}

.banner-section .banner-description .banner-main-content .banner-content {
	position: relative;
	padding-bottom: 150px;
}

.banner-section.home-banner-section .banner-description .banner-main-content .banner-content {
	padding-bottom: 265px;
}

.banner-section .banner-description .banner-main-content .banner-content:before {
	position: absolute;
	content: "";
	left: 0;
	bottom: 0;
	width: 0px;
	height: 0px;
	border-style: solid;
	border-width: 0 42px 54px 42px;
	border-color: transparent transparent #ffffff transparent;
}

.banner-section .banner-title {
	font-weight: 400;
	font-size: 43px;
	line-height: 125%;
	color: #ffffff;
	text-transform: uppercase;
}

.banner-section .banner-title * {
	display: inline-block;
	font-family: inherit;
	font-weight: inherit;
	font-size: inherit;
	line-height: inherit;
	color: inherit;
	margin-bottom: 0;
}

.banner-section .banner-title * > * {
	padding: 10px 20px;
	background: #013668;
}

@media(max-width:1399px){
.banner-section .banner-title { font-size: 38px; }
.banner-section.home-banner-section .banner-main-image .banner-image { height: 675px; }
.banner-section .banner-description .banner-main-content:before { border-width: 0 35px 62px 35px; }
.banner-section.home-banner-section .banner-description .banner-main-content .banner-content { padding-bottom: 200px; }
.banner-section .banner-description .banner-main-content:after,
.banner-section .banner-description .banner-main-content .banner-content:before { border-width: 0 35px 48px 35px; }
.banner-section .banner-description .banner-main-content:before { left: 75px; }
.banner-section .banner-description .banner-main-content:after { left: 150px; }
}

@media(max-width:1199px){
.banner-section .banner-title { font-size: 33px; }
.banner-section.home-banner-section .banner-main-image .banner-image { height: 585px; }
}

@media(max-width:991px){
.banner-section .banner-title { font-size: 28px; }
.banner-section .banner-main-image .banner-image { height: 450px !important; }
.banner-section .banner-description .banner-main-content .banner-content { padding-bottom: 100px !important; }
}

@media(max-width:767px){
.banner-section .banner-main-image .banner-image { height: 450px; }
.banner-section .banner-description .banner-main-content:before { border-width: 0 25px 52px 25px; }
.banner-section .banner-description .banner-main-content .banner-content { padding-bottom: 100px; }
.banner-section .banner-description .banner-main-content:after,
.banner-section .banner-description .banner-main-content .banner-content:before { border-width: 0 25px 40px 25px; }
.banner-section .banner-description .banner-main-content:before { left: 60px; }
.banner-section .banner-description .banner-main-content:after { left: 120px; }
}
/* banner */

/* welcome */
.welcome-section {
	padding: 115px 0;
}

.welcome-section .welcome-detail {
	display: flex;
	flex-wrap: wrap;
	gap: 30px;
	margin-bottom: 20px;
}

.welcome-section .welcome-detail > * {
	flex: 1 0 0;
	max-width: 100%;
}

.welcome-section .welcome-detail .detail *:last-child {
	margin-bottom: 0;
}

.welcome-section .welcome-detail .welcome-logo {
	flex: 0 0 auto;
	width: 420px;
}

@media(max-width:1399px) {
.welcome-section { padding: 90px 0; }
}

@media(max-width:1199px) {
.welcome-section { padding: 70px 0; }
.welcome-section .welcome-detail .welcome-logo { width: 350px; }
}

@media(max-width:991px) {
.welcome-section { padding: 50px 0; }
.welcome-section .welcome-detail { flex-direction: column; gap: 20px; }
}

@media(max-width:767px) {
.welcome-section { padding: 35px 0; }
}
/* welcome */

/* we-are-moving */
.we-are-moving-block {
	position: relative;
	margin-bottom: 60px;
	padding: 20px;
	background: #f3f3f3;
}

.we-are-moving-block .moving-detail {
	position: relative;
	padding-left: 75px;
}

.we-are-moving-block .moving-detail .icon {
	position: absolute;
	left: 0;
	top: 50%;
	width: 48px;
	height: 48px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: #ffffff;
	background: #d60017;
	transform: translate(0, -50%);
	-webkit-transform: translate(0, -50%);
	-moz-transform: translate(0, -50%);
	-ms-transform: translate(0, -50%);
	-o-transform: translate(0, -50%);
	border-radius: 50%;
	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
	-ms-border-radius: 50%;
	-o-border-radius: 50%;
}

.we-are-moving-block .moving-detail p {
	margin-bottom: 0;
}

@media (max-width:1199px) {
.we-are-moving-block { margin-bottom: 42px; }
}

@media (max-width:991px) {
.we-are-moving-block .moving-detail { padding-left: 60px; }
.we-are-moving-block .moving-detail .icon { width: 42px; height: 42px; }
}

@media (max-width:767px) {
.we-are-moving-block { margin-bottom: 30px; }
.we-are-moving-block .moving-detail { padding-left: 50px; }
.we-are-moving-block .moving-detail .icon { width: 35px; height: 35px; }
}
/* we-are-moving */

/* our-services */
.our-services-section {
	padding-top: 120px;
	padding-bottom: 60px;
}

.our-services-section .section-title {
	margin-bottom: 50px;
}

.our-services-list > .row {
	margin: 0 -17px;
}

.our-services-list > .row > * {
	padding: 0 17px;
}

.our-services-list {
	padding-bottom: 30px;
}

.our-services-list .our-service-block {
	background: #ffffff;
	box-shadow: 0px 6px 16px 0px rgba(0, 0, 0, 0.15);
	height: calc(100% - 30px);
	margin-bottom: 30px;
	overflow: clip;
}

.our-services-list .our-service-block .service-image {
	height: 270px;
	overflow: hidden;
}

.our-services-list .our-service-block .service-image * {
	width: 100%;
	height: 100%;
	object-fit: cover;
	font-family: 'object-fit: cover';
}

.our-services-list .our-service-block .service-detail {
	padding: 40px;
}

.all-services-sub-list {
	margin: 60px 0;
}

.all-services-sub-list ul {
	display: block;
	margin: 0 -5px 0 -2px;
	padding: 0;
	list-style-type: none;
}

.all-services-sub-list ul li {
	display: inline-block;
	margin: 0 0 10px;
	padding: 0 5px 0 2px;
	list-style-type: none;
	position: relative;
	line-height: 100%;
}

.all-services-sub-list ul li:before {
	position: absolute;
	content: "";
	right: -2px;
	top: 0;
	bottom: 0;
	width: 2px;
	height: 100%;
	background: #4d4d4d;
}

.all-services-sub-list ul li:last-child:before {
	display: none;
}

.all-services-sub-list ul li a {
	text-decoration: none;
	color: inherit;
}

.all-services-sub-list ul li a:hover {
	text-decoration: underline;
}

@media(max-width:1399px) {
.our-services-section { padding-top: 90px; padding-bottom: 42px; }
.our-services-section .section-title { margin-bottom: 42px; }
.our-services-list .our-service-block .service-detail { padding: 35px; }
.all-services-sub-list { margin: 42px 0; }
}

@media(max-width:1199px) {
.our-services-section { padding-top: 70px; padding-bottom: 35px; }
.our-services-section .section-title { margin-bottom: 35px; }
.our-services-list { padding-bottom: 20px; }
.our-services-list .our-service-block .service-detail { padding: 25px; }
.all-services-sub-list { margin: 35px 0; }
}

@media(max-width:991px) {
.our-services-section { padding-top: 50px; padding-bottom: 25px; }
.our-services-section .section-title { margin-bottom: 25px; }
.our-services-list { padding-bottom: 0; }
.our-services-list > .row { margin: 0 -15px; }
.our-services-list > .row > * { padding: 0 15px; }
.all-services-sub-list { margin: 25px 0; }
}

@media(max-width:767px) {
.our-services-list .our-service-block .service-detail { padding: 25px 15px; }
}
/* our-services */

/* testimonial */
.testimonial-section {
	padding-top: 95px;
	padding-bottom: 115px;
	background: -moz-radial-gradient( 50% 50%, circle closest-side, rgb(1,54,104) 20%, rgb(0,41,79) 100%);
	background: -webkit-radial-gradient( 50% 50%, circle closest-side, rgb(1,54,104) 20%, rgb(0,41,79) 100%);
	background: -ms-radial-gradient( 50% 50%, circle closest-side, rgb(1,54,104) 20%, rgb(0,41,79) 100%);
}

.testimonial-carousel {
	position: relative;
	opacity: 0;
	padding-top: 20px !important;
	padding-left: 175px !important;
}
.testimonial-slider h2 {color:#fff}

.testimonial-carousel:before {
	position: absolute;
	/* content: "“"; */
	content: "";
	left: 0;
	top: 0;
	width: 118px;
	height: 90px;
	/* font-size: 430px;
	line-height: 0.85; */
	display: inline-block;
	/* color: rgba(255,255,255,0.34); */
	background: url('../images/quote-white-icon.png') no-repeat;
	background-size: 100% 100%;
}

.testimonial-carousel.swiper-initialized {
	opacity: 1;
}

.testimonial-carousel .swiper-wrapper {
	position: relative;
	padding-bottom: 77px;
}

.testimonial-carousel .swiper-button-prev,
.testimonial-carousel .swiper-button-next {
	position: absolute;
	left: 50%;
	right: auto;
	top: auto;
	bottom: 0;
	color: #ffffff;
	width: 18px;
	height: 18px;
	transform: translate(-50%, 0);
	-webkit-transform: translate(-50%, 0);
	-moz-transform: translate(-50%, 0);
	-ms-transform: translate(-50%, 0);
	-o-transform: translate(-50%, 0);
}

.testimonial-carousel .swiper-button-prev {
	margin-left: -15px;
}

.testimonial-carousel .swiper-button-next {
	margin-left: 15px;
}

.testimonial-carousel .swiper-button-prev:hover,
.testimonial-carousel .swiper-button-next:hover {
	opacity: 0.7;
}

.testimonial-carousel .swiper-button-prev:after,
.testimonial-carousel .swiper-button-next:after {
	display: none;
}

.testimonial-carousel .swiper-pagination {
	left: auto !important;
	right: 0 !important;
	width: auto !important;
}

.testimonial-carousel .swiper-pagination .swiper-pagination-bullet {
	background: #ffffff;
	opacity: 1;
}

.testimonial-carousel .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
	background: #939393;
}

.testimonial-carousel .swiper-slide {
	visibility: hidden;
}

.testimonial-carousel .swiper-slide.swiper-slide-active {
	visibility: visible;
}

.testimonial-block {
	position: relative;
	/* padding-top: 25px;
	padding-left: 175px; */
}

.testimonial-block .section-title {
	color: #ffffff;
}

.testimonial-block .detail {
	color: #ffffff;
}

@media (max-width:1399px){
.testimonial-section { padding-top: 75px; padding-bottom: 100px; }
.testimonial-carousel { padding-left: 150px !important; }
/* .testimonial-block:before { font-size: 375px; } */
}

@media (max-width:1199px){
.testimonial-section { padding-top: 60px; padding-bottom: 85px; }
.testimonial-carousel { padding-left: 135px !important; }
.testimonial-carousel .swiper-wrapper { padding-bottom: 60px; }
/* .testimonial-block:before { font-size: 325px; } */
}

@media (max-width:991px){
.testimonial-section { padding-top: 50px; padding-bottom: 70px; }
.testimonial-carousel { padding-left: 100px !important; }
.testimonial-carousel .swiper-wrapper { padding-bottom: 50px; }
/* .testimonial-block:before { font-size: 275px; } */
.testimonial-carousel:before { width: 85px; height: 60px; }
}

@media (max-width:767px){
.testimonial-section { padding-top: 35px; padding-bottom: 35px; }
.testimonial-carousel { padding-left: 90px !important; }
.testimonial-carousel .swiper-wrapper { padding-bottom: 70px; }
/* .testimonial-block:before { font-size: 225px; } */
.testimonial-carousel:before { width: 70px; height: 50px; }
}

@media (max-width:575px){
.testimonial-block:before { font-size: 185px; line-height: 1; }
.testimonial-carousel { padding-left: 0 !important; padding-top: 75px !important; }
.testimonial-carousel .swiper-button-prev,
.testimonial-carousel .swiper-button-next { bottom: 42px; }
.testimonial-carousel .swiper-pagination { width: 100% !important; }
}
/* testimonial */

/* property-management */
.property-management-section {
	padding: 120px 0;
}

.property-management-section .property-management-back-image:before {
	position: absolute;
	content: "";
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	background: rgba(0, 40, 79,0.8);
}

.property-management-section .section-title {
	color: #ffffff;
}

.property-management-section .management-detail {
	color: #ffffff;
}

.property-management-section .management-button {
	margin-top: 35px;
}

@media (max-width:1199px) {
.property-management-section { padding: 100px 0; }
}

@media (max-width:991px) {
.property-management-section { padding: 70px 0; }
}

@media (max-width:767px) {
.property-management-section { padding: 50px 0; }
}
/* property-management */

/* contact-address */
.contact-address-section {
	padding: 85px 0 45px;
	background: #f3f3f3;
  	box-shadow: inset 0px 6px 14px 0px rgba(0, 0, 0, 0.05);
}

.contact-address-section .contact-main-block {
	height: 100%;
}

.contact-address-section .contact-block {
	height: calc(50% - 35px);
	margin-bottom: 35px;
}

.contact-address-section .contact-block .contact-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 50px;
	height: 50px;
	font-size: 22px;
	line-height: 100%;
	color: #013668;
	background: #ffffff;
	margin-bottom: 20px;
	border-radius: 50%;
	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
	-ms-border-radius: 50%;
	-o-border-radius: 50%;
}

.contact-address-section .contact-block .block-title {
	font-weight: 400;
	color: #4d4d4d;
	margin-bottom: 10px;
}

.contact-address-section .contact-block .title a {
	text-decoration: none;
}

.contact-address-section .contact-block .title a:hover {
	text-decoration: underline;
	color: #013668;
}

.contact-address-section .contact-block .detail a {
	text-decoration: none;
	color: inherit;
}

.contact-address-section .contact-block .detail a:hover {
	text-decoration: underline;
	color: #013668;
}

.contact-address-section .contact-block .contact-button {
	margin-top: 30px;
}

@media (max-width:1199px){
.contact-address-section { padding: 70px 0 35px; }
}

@media (max-width:991px){
.contact-address-section { padding: 50px 0 20px; }
.contact-address-section .contact-block .contact-icon { margin-bottom: 15px; }
}
/* contact-address */

/* meeting-facilitation */
.meeting-facilitation-section {
	padding: 35px 0;
}

.meeting-facilitation-section .meeting-facilitation-main-title {
	margin-bottom: 60px;
}

.meeting-facilitation-list > .row {
	margin: 0 -17px;
}

.meeting-facilitation-list > .row > * {
	padding: 0 17px;
}

.meeting-facilitation-list .meeting-block {
	background: #ffffff;
	box-shadow: 0px 6px 16px 0px rgba(0, 0, 0, 0.15);
	height: calc(100% - 30px);
	margin-bottom: 30px;
}

.meeting-facilitation-list .meeting-block .meeting-image {
	height: 270px;
	overflow: hidden;
}

.meeting-facilitation-list .meeting-block .meeting-image * {
	width: 100%;
	height: 100%;
	object-fit: cover;
	font-family: 'object-fit: cover';
}

.meeting-facilitation-list .meeting-block .meeting-detail {
	padding: 35px;
}

.meeting-facilitation-list .meeting-block .block-title {
	font-weight: 400;
	font-size: 30px;
	margin-bottom: 35px;
}

.meeting-facilitation-list .meeting-block .meeting-detail .detail p:last-child {
	margin-bottom: 0;
}

.meeting-facilitation-list .meeting-block .meeting-detail .detail {
	word-break: break-word;
}

.meeting-facilitation-list .meeting-block .meeting-detail .detail a {
	text-decoration: none;
	color: #013668;
}

.meeting-facilitation-list .meeting-block .meeting-detail .detail a:hover {
	color: #4d4d4d;
}

@media(max-width:1399px){
.meeting-facilitation-list .meeting-block .block-title { font-size: 28px; margin-bottom: 30px; }
.meeting-facilitation-list .meeting-block .meeting-detail { padding: 25px; }
.meeting-facilitation-section .meeting-facilitation-main-title { margin-bottom: 45px; }
}

@media(max-width:1199px){
.meeting-facilitation-section .meeting-facilitation-main-title { margin-bottom: 35px; }
}

@media(max-width:767px){
.meeting-facilitation-list > .row { margin: 0 -15px; }
.meeting-facilitation-list > .row > * { padding: 0 15px; }
.meeting-facilitation-list .meeting-block .block-title { font-size: 28px; margin-bottom: 20px; }
.meeting-facilitation-list .meeting-block .meeting-detail { padding: 25px 15px; }
}
/* meeting-facilitation */

/* back-overview */
.back-overview-block {
	padding-bottom: 50px;
}

@media(max-width:991px){
.back-overview-block { padding-bottom: 35px; }
}

@media(max-width:767px){
.back-overview-block { padding-top: 25px; }
}
/* back-overview */

/* welcome-accountent */
.welcome-accountent-section {
	/* padding: 50px 0 90px; */
	padding: 105px 0 90px;
}

.welcome-accountent-section .welcome-accountent-detail ul li {
	margin-bottom: 10px;
}

@media(max-width:1199px){
.welcome-accountent-section { padding: 80px 0 70px; }
}

@media(max-width:991px){
.welcome-accountent-section { padding: 50px 0; }
}

@media(max-width:767px){
.welcome-accountent-section { padding: 35px 0; }
}
/* welcome-accountent */

/* personal-advice */
.personal-advice-section {
	padding: 90px 0 60px;
background: #013668;
background: radial-gradient(circle, rgba(1, 54, 104, 1) 15%, rgba(0, 41, 79, 1) 100%);
}

.personal-advice-section .personal-advice-list .personal-advice-block {
	box-shadow: none;
	background: transparent;
}

.personal-advice-section .personal-advice-list .personal-advice-block .advice-icon {
	background: #ffffff;
}

.personal-advice-section .personal-advice-list .personal-advice-block .block-title,
.personal-advice-section .personal-advice-list .personal-advice-block .detail {
	color: #ffffff;
}

.personal-advice-list .personal-advice-block {
	text-align: center;
	height: calc(100% - 30px);
	padding: 45px;
	margin-bottom: 30px;
	background: #ffffff;
	border: 1px solid #ffffff;
	box-shadow: 0px 6px 16px 0px rgba(0, 0, 0, 0.15);
}

.personal-advice-list .personal-advice-block .advice-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	color: #013668;
	background: #ececec;
	margin: 0 auto 20px;
	border-radius: 50%;
	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
	-ms-border-radius: 50%;
	-o-border-radius: 50%;
}

.personal-advice-list .personal-advice-block .block-title {
	font-weight: 400;
	color: #4d4d4d;
}

.personal-advice-list .personal-advice-block .detail *:last-child {
	margin-bottom: 0;
}

@media (max-width:1399px){
.personal-advice-section { padding: 70px 0 50px; }
.personal-advice-list .personal-advice-block { padding: 35px; }
}

@media (max-width:1199px){
.personal-advice-section { padding: 50px 0; }
.personal-advice-list .personal-advice-block { padding: 25px; }
.personal-advice-list .personal-advice-block .advice-icon { margin-bottom: 15px; }
}

@media (max-width:991px){
.personal-advice-section { padding: 35px 0; }
.personal-advice-list .personal-advice-block { padding: 25px; }
.personal-advice-list .personal-advice-block .advice-icon { margin-bottom: 15px; }
}

@media (max-width:767px){
.personal-advice-list .personal-advice-block { padding: 25px 15px; }
}
/* personal-advice */

/* professional-customer */
.professional-customer-section {
	padding: 120px 0 90px;
	background: #f3f3f3;
}

.professional-customer-section .section-title {
	margin-bottom: 55px;
}

@media (max-width:1399px){
.professional-customer-section { padding: 100px 0 70px; }
.professional-customer-section .section-title { margin-bottom: 40px; }
}

@media (max-width:1199px){
.professional-customer-section { padding: 70px 0 50px; }
.professional-customer-section .section-title { margin-bottom: 40px; }
}

@media (max-width:991px){
.professional-customer-section { padding: 50px 0; }
.professional-customer-section .section-title { margin-bottom: 30px; }
}

@media (max-width:767px){
.professional-customer-section { padding: 35px 0; }
.professional-customer-section .section-title { margin-bottom: 20px; }
}
/* professional-customer */

/* management */
.management-section {
	padding: 100px 0 0;
}

.management-section .management-content > .row {
	margin: 0 -25px;
}

.management-section .management-content > .row > * {
	padding: 0 25px;
}

.management-section .quote-block {
	padding: 85px 0;
	position: relative;
}

.management-section .quote-block:before {
	position: absolute;
	content: "";
	left: 0;
	top: 50%;
	width: 118px;
	height: 90px;
	z-index: -1;
	background: url('../images/quote-icon.png') no-repeat;
	background-size: 100% 100%;
	transform: translate(0, -50%);
	-webkit-transform: translate(0, -50%);
	-moz-transform: translate(0, -50%);
	-ms-transform: translate(0, -50%);
	-o-transform: translate(0, -50%);
}

.management-section .quote-block .detail {
	max-width: 390px;
	width: 100%;
	margin-left: auto;
	margin-right: auto;
}

.management-section .quote-block .detail *:last-child {
	margin-bottom: 0;
}

@media (max-width:1399px){
.management-section { padding: 85px 0 0; }
.management-section .management-content > .row { margin: 0 -20px; }
.management-section .management-content > .row > * { padding: 0 20px; }
}

@media (max-width:1199px){
.management-section { padding: 70px 0 0; }
.management-section .quote-block { padding: 70px 0; }
}

@media (max-width:991px){
.management-section { padding: 50px 0 0; }
.management-section .quote-block { padding: 50px 0; }
.management-section .quote-block:before { width: 85px; height: 60px; }
}

@media (max-width:767px){
.management-section { padding: 35px 0 0; }
.management-section .management-content > .row { margin: 0 -15px; }
.management-section .management-content > .row > * { padding: 0 15px; }
.management-section .quote-block { padding: 35px 0; }
.management-section .quote-block:before { width: 70px; height: 50px; }
}
/* management */

/* window-electricians */
.window-electricians-section {
	padding: 45px 0 105px;
	margin-top: -90px;
}

.window-electricians-section .window-electricians-items {
	margin-bottom: 80px;
}

.window-electricians-items ul {
	display: flex;
	flex-wrap: wrap;
	margin: 0 -9px;
	padding: 0;
	list-style-type: none;
}

.window-electricians-items ul li {
	display: inline-flex;
	margin: 0 9px 18px;
	padding: 0;
	list-style-type: none;
}

.window-electricians-items ul li a {
	text-decoration: none;
	font-weight: 700;
	font-size: 26px;
	line-height: 115%;
	padding: 10px 22px;
	color: #013668;
	background: #ececec;
}

.window-electricians-items ul li.active a,
.window-electricians-items ul li a.active,
.window-electricians-items ul li a:hover {
	color: #ececec;
	background: #013668;
}

.window-electricians-list .window-electricians-block {
	border-bottom: 1px solid #013668;
	padding: 35px 0 15px;
}

.window-electricians-list .window-electricians-block:first-child {
	border-top: 1px solid #013668;
}

.window-electricians-block .electricians-list .electricians-block {
	margin-bottom: 25px;
}

.window-electricians-block .electricians-list .electricians-block .detail *:last-child {
	margin-bottom: 0;
}

.window-electricians-block .electricians-list .electricians-block .detail a {
	text-decoration: none;
	color: inherit;
}

.window-electricians-block .electricians-list .electricians-block .detail a:hover {
	text-decoration: underline;
}

@media(max-width:1399px){
.window-electricians-section { padding: 45px 0 80px; }
.window-electricians-section .window-electricians-items { margin-bottom: 65px; }
}

@media(max-width:1199px){
.window-electricians-section { padding: 45px 0 60px; }
.window-electricians-section .window-electricians-items { margin-bottom: 50px; }
.window-electricians-items ul li a { font-size: 24px; }
}

@media(max-width:991px){
.window-electricians-section { padding: 45px 0; }
.window-electricians-section .window-electricians-items { margin-bottom: 35px; }
.window-electricians-items ul li a { font-size: 20px; }
.window-electricians-section {margin-top: -40px;}
}

@media(max-width:767px){
.window-electricians-section { padding: 35px 0; }
.window-electricians-section .window-electricians-items { margin-bottom: 25px; }
.window-electricians-items ul { margin: 0 -5px; }
.window-electricians-items ul li { margin: 0 5px 10px; }
.window-electricians-items ul li a { font-size: 18px; }
}
/* window-electricians */
/*==================================================================*/
/*========== New Class Add End ==========*/
/*==================================================================*/



/*==================================================================*/
/*========== Footer Start ==========*/
/*==================================================================*/
.footer .f-bottom {
	background: #012d57;
}

.footer .f-top .f-content {
	padding: 60px 0 30px;
}

.footer .f-block {
	text-align: center;
	margin-bottom: 30px;
}

.footer .f-block > * {
	display: inline-block;
	text-align: left;
}

.footer .f-block .f-logo {
	margin-bottom: 25px;
}

.footer .f-block .f-detail {
	font-size: 18px;
	line-height: 125%;
}

.footer .f-bottom .f-content {
	display: flex;
	flex-wrap: wrap;
	margin: 0 -10px;
	justify-content: space-between;
	align-items: center;
	padding: 7px 0;
}

.footer .f-bottom .f-content > * {
	flex: 0 0 auto;
	max-width: 100%;
	padding: 0 10px;
}

.footer .f-bottom .f-content ul {
	display: block;
	margin: 0 -3px 0 -1px;
	padding: 0;
	list-style-type: none;
}

.footer .f-bottom .f-content ul li {
	display: inline-block;
	margin: 0;
	padding: 0 3px 0 1px;
	list-style-type: none;
	font-size: 15px;
	line-height: 110%;
	color: #ffffff;
	position: relative;
}

.footer .f-bottom .f-content ul li:before {
	position: absolute;
	content: "";
	right: -2px;
	top: 0;
	bottom: 0;
	width: 1px;
	height: 100%;
	background: #ffffff;
}

.footer .f-bottom .f-content ul li:last-child:before {
	display: none;
}

.footer .f-bottom .f-content ul li a {
	text-decoration: none;
	color: inherit;
}

.footer .f-bottom .f-content ul li.active a,
.footer .f-bottom .f-content ul li a.active,
.footer .f-bottom .f-content ul li a:hover {
	text-decoration: underline;
}

@media (max-width:1199px){
.footer .f-top .f-content { padding-top: 45px; padding-bottom: 15px; }
}

@media (max-width:991px){
.footer .f-top .f-content { padding-top: 30px; padding-bottom: 10px; }
.footer .f-block .f-detail { font-size: 16px; }
.footer .f-block .f-logo { max-width: 350px; }
.footer .f-block .f-logo * { width: 100% !important; }
.footer .f-bottom .f-content { justify-content: center; text-align: center; }
}
/*==================================================================*/
/*========== Footer End ==========*/
/*==================================================================*/


/* tabing selected element css */
a:focus,
a:focus-visible { outline: 5px auto #4d4d4d !important; outline-offset: 1px !important; }
a.btn:focus,
a.btn:focus-visible { outline: 5px auto #4d4d4d !important; outline-offset: 1px !important; }
button:focus,
button:focus-visible { outline: 5px auto #4d4d4d !important; outline-offset: 1px !important; }
.slick-arrow:focus,
.slick-arrow:focus-visible { outline: 5px auto #4d4d4d !important; outline-offset: 1px !important; }

/* ------------------------------------------------------------ *\
    Skip link
\* ------------------------------------------------------------ */

.skip-link { position: fixed; top: 0; left: 0; font-size: 14px; padding: 0 17px; border-width: 17px; height: 34px; font-weight: 400; line-height: 32px; border: 1px solid #4d4d4d; background: #4d4d4d; color: #ffffff; text-decoration: none; text-align: center; z-index: 9999; text-transform: uppercase; border-radius: 0 17px 17px 0; -webkit-border-radius: 0 17px 17px 0; -moz-border-radius: 0 17px 17px 0; -ms-border-radius: 0 17px 17px 0; -o-border-radius: 0 17px 17px 0; transition: transform .4s,color .4s; -webkit-transition: transform .4s,color .4s; -moz-transition: transform .4s,color .4s; -ms-transition: transform .4s,color .4s; -o-transition: transform .4s,color .4s; transform: translateX(-110%); -webkit-transform: translateX(-110%); -moz-transform: translateX(-110%); -ms-transform: translateX(-110%); -o-transform: translateX(-110%); }

.skip-link:before { content: ''; position: absolute; top: 0; bottom: -1px; left: 0; width: 101%; background-color: #4d4d4d; pointer-events: none; transition: width 0.4s; border-radius: 0 17px 17px 0; }

.skip-link:focus,.skip-link:focus-visible { color: #ffffff; outline: 0 !important; transform: translateX(0); -webkit-transform: translateX(0); -moz-transform: translateX(0); -ms-transform: translateX(0); -o-transform: translateX(0); }

.skip-link:hover { color: #ffffff; background: #4d4d4d; }

.skip-link:hover:before { width: 0; }

.skip-link span { display: inline-block; position: relative; z-index: 1; }
/* tabing selected element css */



p.tele {margin:0px}

.meeting-facilitation-content {
    padding: 40px 0 60px 0;
}


.jobliste.eintrag {
    margin-bottom: 45px;
}


#c1384 ul {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;   /* zentriert die Aufzählung */
}

#c1384 ul li {
	display: flex;
	align-items: center;
}

#c1384 ul li:not(:last-child)::after {
	content: "|";
	margin-left: 15px;
	margin-right: 15px;
}








/* ================================================
   Personenabfrage Formular - Barrierefreie Version
   WCAG 2.1 AA konform
   Farben: Lürwer GmbH (#1e3a5f)
   ================================================ */

/* ----- Meldungsgrund: Select verstecken ----- */
form[id^="personenabfrage"] .form-group-meldungsgrund > .input {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

form[id^="personenabfrage"] .form-group-meldungsgrund {
    margin: 1.5rem 0 2rem 0;
}

/* ----- Karten-Fieldset ----- */
form[id^="personenabfrage"] .meldungsgrund-fieldset {
    border: none;
    padding: 0;
    margin: 50px 0px;
}

form[id^="personenabfrage"] .meldungsgrund-legend {
    font-weight: 600;
    color: #1e3a5f;
 
    margin-bottom: 1rem;
    padding: 0;
}

/* Karten-Container */
form[id^="personenabfrage"] .meldungsgrund-karten {
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
}

form[id^="personenabfrage"] .meldungsgrund-karte {
    flex: 1;
    min-width: 250px;
    border: 2px solid #6b7280;
    border-radius: 0.5rem;
    padding: 1.25rem 1.5rem;
    cursor: pointer;
    transition: border-color 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease;
    background: #fff;
    position: relative;
}

form[id^="personenabfrage"] .meldungsgrund-karte:hover {
    border-color: #1e3a5f;
    background-color: rgba(30, 58, 95, 0.04);
}

/* Focus-Visible für Keyboard-Navigation */
form[id^="personenabfrage"] .meldungsgrund-karte:focus-within {
    outline: 3px solid #1e3a5f;
    outline-offset: 2px;
}

form[id^="personenabfrage"] .meldungsgrund-karte[aria-checked="true"] {
    border-color: #1e3a5f;
    background-color: rgba(30, 58, 95, 0.08);
    box-shadow: inset 0 0 0 1px #1e3a5f;
}

form[id^="personenabfrage"] .meldungsgrund-karte-inner {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
}

/* Visueller Radio-Button (span statt input für WCAG-Konformität) */
form[id^="personenabfrage"] .meldungsgrund-radio-visual {
    display: inline-block;
    width: 20px;
    height: 20px;
    border: 2px solid #6b7280;
    border-radius: 50%;
    background: #fff;
    flex-shrink: 0;
    margin-top: 2px;
    position: relative;
    transition: border-color 0.2s ease, background-color 0.2s ease;
}

form[id^="personenabfrage"] .meldungsgrund-radio-visual::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) scale(0);
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #1e3a5f;
    transition: transform 0.2s ease;
}

form[id^="personenabfrage"] .meldungsgrund-karte[aria-checked="true"] .meldungsgrund-radio-visual {
    border-color: #1e3a5f;
}

form[id^="personenabfrage"] .meldungsgrund-karte[aria-checked="true"] .meldungsgrund-radio-visual::after {
    transform: translate(-50%, -50%) scale(1);
}

form[id^="personenabfrage"] .meldungsgrund-karte:hover .meldungsgrund-radio-visual {
    border-color: #1e3a5f;
}

form[id^="personenabfrage"] .meldungsgrund-karte-content {
    flex: 1;
}

form[id^="personenabfrage"] .meldungsgrund-karte-titel {
    font-weight: 600;
    color: #1e3a5f;
    line-height: 1.3;
    cursor: pointer;
}

form[id^="personenabfrage"] .meldungsgrund-karte-beschreibung {
    font-size: 1.1rem;
    color: #4b5563;
    margin-top: 0.5rem;
    line-height: 1.4;
}

/* ----- Konditionale Felder: Initial versteckt ----- */
form[id^="personenabfrage"] .form-group-alterBewohnerName,
form[id^="personenabfrage"] .form-group-alterBewohnerAnzahl,
form[id^="personenabfrage"] .form-group-alterBewohnerAuszug,
form[id^="personenabfrage"] .form-group-leerstandBeginn,
form[id^="personenabfrage"] .form-group-leerstandEnde,
form[id^="personenabfrage"] .form-group-neuerBewohnerName,
form[id^="personenabfrage"] .form-group-neuerBewohnerAnzahl,
form[id^="personenabfrage"] .form-group-neuerBewohnerEinzug,
form[id^="personenabfrage"] .form-group-bisherigPersonenzahl,
form[id^="personenabfrage"] .form-group-bisherigBeginn,
form[id^="personenabfrage"] .form-group-bisherigEnde,
form[id^="personenabfrage"] .form-group-neuePersonenzahl,
form[id^="personenabfrage"] .form-group-neueBeginn,
form[id^="personenabfrage"] .form-group-neueEnde {
    display: none !important;
}

/* ----- Feldgruppen-Wrapper ----- */
form[id^="personenabfrage"] .feldgruppe-wrapper {
    display: none;
    margin-top: 2rem;
}

form[id^="personenabfrage"] .feldgruppe-wrapper[aria-hidden="false"] {
    display: block;
}

form[id^="personenabfrage"] .feldgruppe-fieldset {
    border: none;
    padding: 0;
    margin: 0;
}

form[id^="personenabfrage"] .feldgruppe-legend {
    font-weight: 600;

    color: #1e3a5f;
    margin-bottom: 1rem;
    padding-bottom: 0.5rem;
    border-bottom: 2px solid #1e3a5f;
    width: 100%;
}

/* Felder im Grid sichtbar machen */
form[id^="personenabfrage"] .feldgruppe-row .form-group {
    display: block !important;
    margin-bottom: 1rem;
}

/* ----- Datenschutz ----- */
form[id^="personenabfrage"] .form-group-datenschutz {
    margin-top: 2rem;
    padding-top: 1.5rem;
    border-top: 2px solid #1e3a5f;
}

form[id^="personenabfrage"] .datenschutz-zusatztext {
    color: #4b5563;
    line-height: 1.5;
}

/* ----- Hinweise ----- */
form[id^="personenabfrage"] .form-group-hinweise {
    margin-top: 2rem;
}

/* ----- Screenreader-only Utility ----- */
form[id^="personenabfrage"] .sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* ----- Live-Region für Status-Updates ----- */
form[id^="personenabfrage"] .form-status-announcer {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* ----- Responsive ----- */
@media (max-width: 576px) {
    form[id^="personenabfrage"] .meldungsgrund-karten {
        flex-direction: column;
    }
    
    form[id^="personenabfrage"] .meldungsgrund-karte {
        min-width: 100%;
    }
}

/* ----- High Contrast Mode Support ----- */
@media (prefers-contrast: high) {
    form[id^="personenabfrage"] .meldungsgrund-karte {
        border-width: 3px;
    }
    
    form[id^="personenabfrage"] .meldungsgrund-karte[aria-checked="true"] {
        border-width: 4px;
    }
}

/* ----- Reduced Motion Support ----- */
@media (prefers-reduced-motion: reduce) {
    form[id^="personenabfrage"] .meldungsgrund-karte,
    form[id^="personenabfrage"] .feldgruppe-wrapper,
    form[id^="personenabfrage"] .meldungsgrund-radio-visual,
    form[id^="personenabfrage"] .meldungsgrund-radio-visual::after {
        transition: none;
    }
}









/* ================================================
   SEPA-Lastschriftmandat Formular - Barrierefreie Version
   WCAG 2.1 AA konform
   Farben: Lürwer GmbH (#1e3a5f)
   ================================================ */

/* ----- Mandatstyp: Select verstecken ----- */
form[id^="sepamandat"] .form-group-mandatTyp > .input {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

form[id^="sepamandat"] .form-group-mandatTyp {
    margin: 1.5rem 0 2rem 0;
}

/* ----- Mandatstext-Box ----- */
form[id^="sepamandat"] .mandatstext-box {
    background: rgba(30, 58, 95, 0.04);
    border: 2px solid #1e3a5f;
    border-radius: 0.5rem;
    padding: 1.5rem;
    margin-bottom: 2rem;
    font-size: 0.95rem;
    line-height: 1.6;
    color: #4b5563;
}

form[id^="sepamandat"] .mandatstext-box h5 {
    color: #1e3a5f;
    font-weight: 600;
    margin-bottom: 0.75rem;
}

form[id^="sepamandat"] .mandatstext-box ul {
    padding-left: 1.25rem;
    margin-bottom: 0.75rem;
}

form[id^="sepamandat"] .mandatstext-box p:last-child {
    margin-bottom: 0;
}

/* ----- Karten-Fieldset ----- */
form[id^="sepamandat"] .mandatstyp-fieldset {
    border: none;
    padding: 0;
    margin: 50px 0px;
}

form[id^="sepamandat"] .mandatstyp-legend {
    font-weight: 600;
    color: #1e3a5f;

    margin-bottom: 1rem;
    padding: 0;
}

/* Karten-Container */
form[id^="sepamandat"] .mandatstyp-karten {
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
}

form[id^="sepamandat"] .mandatstyp-karte {
    flex: 1;
    min-width: 200px;
    border: 2px solid #6b7280;
    border-radius: 0.5rem;
    padding: 1.25rem 1.5rem;
    cursor: pointer;
    transition: border-color 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease;
    background: #fff;
    position: relative;
}

form[id^="sepamandat"] .mandatstyp-karte:hover {
    border-color: #1e3a5f;
    background-color: rgba(30, 58, 95, 0.04);
}

/* Focus-Visible für Keyboard-Navigation */
form[id^="sepamandat"] .mandatstyp-karte:focus-within {
    outline: 3px solid #1e3a5f;
    outline-offset: 2px;
}

form[id^="sepamandat"] .mandatstyp-karte[aria-checked="true"] {
    border-color: #1e3a5f;
    background-color: rgba(30, 58, 95, 0.08);
    box-shadow: inset 0 0 0 1px #1e3a5f;
}

form[id^="sepamandat"] .mandatstyp-karte-inner {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
}

form[id^="sepamandat"] .mandatstyp-karte-content {
    flex: 1;
}

/* Visueller Radio-Button (span statt input für WCAG-Konformität) */
form[id^="sepamandat"] .mandatstyp-radio-visual {
    display: inline-block;
    width: 20px;
    height: 20px;
    border: 2px solid #6b7280;
    border-radius: 50%;
    background: #fff;
    flex-shrink: 0;
    margin-top: 2px;
    position: relative;
    transition: border-color 0.2s ease, background-color 0.2s ease;
}

form[id^="sepamandat"] .mandatstyp-radio-visual::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) scale(0);
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #1e3a5f;
    transition: transform 0.2s ease;
}

form[id^="sepamandat"] .mandatstyp-karte[aria-checked="true"] .mandatstyp-radio-visual {
    border-color: #1e3a5f;
}

form[id^="sepamandat"] .mandatstyp-karte[aria-checked="true"] .mandatstyp-radio-visual::after {
    transform: translate(-50%, -50%) scale(1);
}

form[id^="sepamandat"] .mandatstyp-karte:hover .mandatstyp-radio-visual {
    border-color: #1e3a5f;
}

form[id^="sepamandat"] .mandatstyp-karte-titel {
    font-weight: 600;
    color: #1e3a5f;
    line-height: 1.3;
    cursor: pointer;
}

form[id^="sepamandat"] .mandatstyp-karte-beschreibung {
    /* font-size: 0.9rem; */
    color: #4b5563;
    margin-top: 0.35rem;
    line-height: 1.4;
    margin-bottom: 0px;
}

/* ----- Konditionale Felder: Initial versteckt ----- */
form[id^="sepamandat"] .form-group-iban,
form[id^="sepamandat"] .form-group-bic,
form[id^="sepamandat"] .form-group-bank,
form[id^="sepamandat"] .form-group-altlasten,
form[id^="sepamandat"] .form-group-startdatum {
    display: none !important;
}

/* ----- Feldgruppen-Wrapper ----- */
form[id^="sepamandat"] .feldgruppe-wrapper {
    display: none;
    margin-top: 2rem;
}

form[id^="sepamandat"] .feldgruppe-wrapper[aria-hidden="false"] {
    display: block;
}

form[id^="sepamandat"] .feldgruppe-fieldset {
    border: none;
    padding: 0;
    margin: 0;
}

form[id^="sepamandat"] .feldgruppe-legend {
    font-weight: 600;
    
    color: #1e3a5f;
    margin-bottom: 1rem;
    padding-bottom: 0.5rem;
    border-bottom: 2px solid #1e3a5f;
    width: 100%;
}

/* Felder im Grid sichtbar machen */
form[id^="sepamandat"] .feldgruppe-row .form-group {
    display: block !important;
    margin-bottom: 1rem;
}

/* ----- IBAN Validation Feedback ----- */
form[id^="sepamandat"] .iban-feedback {
    font-size: 0.85rem;
    margin-top: 0.35rem;
    min-height: 1.25rem;
}

form[id^="sepamandat"] .iban-feedback.valid {
    color: #198754;
}

form[id^="sepamandat"] .iban-feedback.invalid {
    color: #dc3545;
}

/* ----- Widerruf-Hinweis ----- */
form[id^="sepamandat"] .widerruf-hinweis {
    background: #fff3cd;
    border: 1px solid #ffc107;
    border-radius: 0.5rem;
    padding: 1rem 1.25rem;
    margin-top: 1.5rem;
    margin-bottom: 1rem;
    color: #664d03;
    font-size: 0.95rem;
    display: none;
}

form[id^="sepamandat"] .widerruf-hinweis[aria-hidden="false"] {
    display: block;
}

/* ----- Datenschutz / Zustimmung ----- */
form[id^="sepamandat"] .form-group-zustimmung,
form[id^="sepamandat"] .form-group-datenschutz {
    margin-top: 1.5rem;
}

form[id^="sepamandat"] .form-group-zustimmung {
    padding-top: 1.5rem;
    border-top: 2px solid #1e3a5f;
}

form[id^="sepamandat"] .zustimmung-zusatztext,
form[id^="sepamandat"] .datenschutz-zusatztext {
    color: #4b5563;
    line-height: 1.5;
    margin-left: 1.5rem;

}

form[id^="sepamandat"] .datenschutz-zusatztext a {
    color: #1e3a5f;
    text-decoration: underline;
}

form[id^="sepamandat"] .datenschutz-zusatztext a:hover {
    color: #15294a;
}

/* ----- Hinweise ----- */
form[id^="sepamandat"] .form-group-hinweise {
    margin-top: 2rem;
}

/* ----- Screenreader-only Utility ----- */
form[id^="sepamandat"] .sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* ----- Live-Region für Status-Updates ----- */
form[id^="sepamandat"] .form-status-announcer {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* ----- Responsive ----- */
@media (max-width: 576px) {
    form[id^="sepamandat"] .mandatstyp-karten {
        flex-direction: column;
    }

    form[id^="sepamandat"] .mandatstyp-karte {
        min-width: 100%;
    }
}

/* ----- High Contrast Mode Support ----- */
@media (prefers-contrast: high) {
    form[id^="sepamandat"] .mandatstyp-karte {
        border-width: 3px;
    }

    form[id^="sepamandat"] .mandatstyp-karte[aria-checked="true"] {
        border-width: 4px;
    }
}

/* ----- Reduced Motion Support ----- */
@media (prefers-reduced-motion: reduce) {
    form[id^="sepamandat"] .mandatstyp-karte,
    form[id^="sepamandat"] .feldgruppe-wrapper,
    form[id^="sepamandat"] .mandatstyp-radio-visual,
    form[id^="sepamandat"] .mandatstyp-radio-visual::after {
        transition: none;
    }
}




/* ================================================
   Vollmacht zur Eigentümerversammlung - Barrierefreie Version
   WCAG 2.1 AA konform
   Farben: Lürwer GmbH (#1e3a5f)
   ================================================ */

/* ----- Vertreter: Select verstecken ----- */
form[id^="vollmacht"] .form-group-vertreter > .input {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

form[id^="vollmacht"] .form-group-vertreter {
    margin: 1.5rem 0 2rem 0;
}

/* ----- Vollmachtstext-Box ----- */
form[id^="vollmacht"] .vollmachtstext-box {
    background: rgba(30, 58, 95, 0.04);
    border: 2px solid #1e3a5f;
    border-radius: 0.5rem;
    padding: 1.5rem;
    margin-bottom: 2rem;
    font-size: 0.95rem;
    line-height: 1.6;
    color: #4b5563;
}

form[id^="vollmacht"] .vollmachtstext-box h5 {
    color: #1e3a5f;
    font-weight: 600;
    margin-bottom: 0.75rem;
}

form[id^="vollmacht"] .vollmachtstext-box p:last-child {
    margin-bottom: 0;
}

/* ----- Karten-Fieldset ----- */
form[id^="vollmacht"] .vertreter-fieldset {
    border: none;
    padding: 0;
    margin: 50px 0px;
}

form[id^="vollmacht"] .vertreter-legend {
    font-weight: 600;
    color: #1e3a5f;
    margin-bottom: 1rem;
    padding: 0;
}

/* Karten-Container */
form[id^="vollmacht"] .vertreter-karten {
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
}

form[id^="vollmacht"] .vertreter-karte {
    flex: 1;
    min-width: 200px;
    border: 2px solid #6b7280;
    border-radius: 0.5rem;
    padding: 1.25rem 1.5rem;
    cursor: pointer;
    transition: border-color 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease;
    background: #fff;
    position: relative;
}

form[id^="vollmacht"] .vertreter-karte:hover {
    border-color: #1e3a5f;
    background-color: rgba(30, 58, 95, 0.04);
}

/* Focus-Visible für Keyboard-Navigation */
form[id^="vollmacht"] .vertreter-karte:focus-within {
    outline: 3px solid #1e3a5f;
    outline-offset: 2px;
}

form[id^="vollmacht"] .vertreter-karte[aria-checked="true"] {
    border-color: #1e3a5f;
    background-color: rgba(30, 58, 95, 0.08);
    box-shadow: inset 0 0 0 1px #1e3a5f;
}

form[id^="vollmacht"] .vertreter-karte-inner {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
}

form[id^="vollmacht"] .vertreter-karte-content {
    flex: 1;
}

/* Visueller Radio-Button (span statt input für WCAG-Konformität) */
form[id^="vollmacht"] .vertreter-radio-visual {
    display: inline-block;
    width: 20px;
    height: 20px;
    border: 2px solid #6b7280;
    border-radius: 50%;
    background: #fff;
    flex-shrink: 0;
    margin-top: 2px;
    position: relative;
    transition: border-color 0.2s ease, background-color 0.2s ease;
}

form[id^="vollmacht"] .vertreter-radio-visual::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) scale(0);
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #1e3a5f;
    transition: transform 0.2s ease;
}

form[id^="vollmacht"] .vertreter-karte[aria-checked="true"] .vertreter-radio-visual {
    border-color: #1e3a5f;
}

form[id^="vollmacht"] .vertreter-karte[aria-checked="true"] .vertreter-radio-visual::after {
    transform: translate(-50%, -50%) scale(1);
}

form[id^="vollmacht"] .vertreter-karte:hover .vertreter-radio-visual {
    border-color: #1e3a5f;
}

form[id^="vollmacht"] .vertreter-karte-titel {
    font-weight: 600;
    color: #1e3a5f;
    line-height: 1.3;
    cursor: pointer;
}

form[id^="vollmacht"] .vertreter-karte-beschreibung {
    color: #4b5563;
    margin-top: 0.35rem;
    line-height: 1.4;
    margin-bottom: 0px;
}

/* ----- Konditionale Felder: Initial versteckt ----- */
form[id^="vollmacht"] .form-group-vertreterName {
    display: none !important;
}

/* ----- Vertretername-Wrapper ----- */
form[id^="vollmacht"] .vertreter-name-wrapper {
    display: none;
    margin-top: 1.5rem;
}

form[id^="vollmacht"] .vertreter-name-wrapper[aria-hidden="false"] {
    display: block;
}

/* ----- Feldgruppen-Wrapper ----- */
form[id^="vollmacht"] .feldgruppe-wrapper {
    display: none;
    margin-top: 2rem;
}

form[id^="vollmacht"] .feldgruppe-wrapper[aria-hidden="false"] {
    display: block;
}

form[id^="vollmacht"] .feldgruppe-fieldset {
    border: none;
    padding: 0;
    margin: 0;
}

form[id^="vollmacht"] .feldgruppe-legend {
    font-weight: 600;
    color: #1e3a5f;
    margin-bottom: 1rem;
    padding-bottom: 0.5rem;
    border-bottom: 2px solid #1e3a5f;
    width: 100%;
}

/* Felder im Grid sichtbar machen */
form[id^="vollmacht"] .feldgruppe-row .form-group {
    display: block !important;
    margin-bottom: 1rem;
}

/* ----- Datenschutz ----- */
form[id^="vollmacht"] .form-group-datenschutz {
    margin-top: 2rem;
    padding-top: 1.5rem;
    border-top: 2px solid #1e3a5f;
}

form[id^="vollmacht"] .datenschutz-zusatztext {
    color: #4b5563;
    line-height: 1.5;
    margin-left: 1.5rem;
}

form[id^="vollmacht"] .datenschutz-zusatztext a {
    color: #1e3a5f;
    text-decoration: underline;
}

form[id^="vollmacht"] .datenschutz-zusatztext a:hover {
    color: #15294a;
}

/* ----- Hinweise / Textareas ----- */
form[id^="vollmacht"] .form-group-abstimmung,
form[id^="vollmacht"] .form-group-sonstiges {
    margin-top: 2rem;
}

/* ----- Screenreader-only Utility ----- */
form[id^="vollmacht"] .sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* ----- Live-Region für Status-Updates ----- */
form[id^="vollmacht"] .form-status-announcer {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* ----- Responsive ----- */
@media (max-width: 576px) {
    form[id^="vollmacht"] .vertreter-karten {
        flex-direction: column;
    }

    form[id^="vollmacht"] .vertreter-karte {
        min-width: 100%;
    }
}

/* ----- High Contrast Mode Support ----- */
@media (prefers-contrast: high) {
    form[id^="vollmacht"] .vertreter-karte {
        border-width: 3px;
    }

    form[id^="vollmacht"] .vertreter-karte[aria-checked="true"] {
        border-width: 4px;
    }
}

/* ----- Reduced Motion Support ----- */
@media (prefers-reduced-motion: reduce) {
    form[id^="vollmacht"] .vertreter-karte,
    form[id^="vollmacht"] .vertreter-name-wrapper,
    form[id^="vollmacht"] .vertreter-radio-visual,
    form[id^="vollmacht"] .vertreter-radio-visual::after {
        transition: none;
    }
}
