﻿*,*:before,*:after,input[type=search] {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    margin: 0;
    padding: 0
}

/******************* VISUELL Declarations *******************/
h1,.h1,
h5,.h5 {
    font-family: var(--header-font-family);
    font-weight: var(--header-font-weight);
    margin-top: 0;
    margin-bottom: 0.5rem
}
h5,.h5 {
    margin-bottom: 0
}
h1,.h1,.fontsize1 {
    font-size: var(--font-size1);
	color: var(--header-font-color);
    line-height: var(--line-height1);
	letter-spacing: var(--letterspacing1);
	text-transform:uppercase;
}
h1.smaller,
h1>.smaller {
    font-size: var(--header-font-size);
    line-height: var(--line-height2);
	letter-spacing: var(--letterspacing2);
}
h1>.smaller+p {
	margin-top: -0.5rem 
}
h1.text-center {
	font-size: 2.105265rem
}
h2,.h2,.fontsize2,
blockquote + .quote__author {
    font-size: var(--header-font-size);
	font-weight: 600;
    line-height: var(--line-height2);
	letter-spacing: var(--letterspacing2);
	text-transform:uppercase;
	margin-bottom: .5rem;
}
h2.bigger {
    font-size: var(--font-size1);
	color: var(--header-font-color);
	line-height: var(--line-height1);
	letter-spacing: var(--letterspacing1);
	margin-bottom: 0.5rem
}
h3,.h3,.fontsize3 {
    font-size: var(--header-font-size);
    line-height: var(--line-height3);
	letter-spacing: var(--letterspacing3);
	text-transform:uppercase
}
.frame-layout-100 h3 {
    font-size: 175%;
	font-weight: 600;
}
h4,.h4,.fontsize4 {
    font-size: var(--font-size4)
}

h5,.h5,.fontsize5 {
    font-size: var(--font-size5)
}

p {
	letter-spacing: .01rem;
	font-variant-ligatures: common-ligatures; 
	-moz-font-feature-settings: "liga", "clig"; 
	-webkit-font-feature-settings: "liga", "clig"; 
	font-feature-settings: "liga", "clig";
}

.menue {
	font-family: var(--font-family-bold);
    font-weight: var(--font-weight-bold);
    text-transform:uppercase;
	font-size: 16px;
    line-height: 1.4;
}
.keinUmbruch {
    white-space: nowrap
}

p.headline {
	font-size: 130%;
	letter-spacing: .005rem;
	line-height: 2rem;
}

sub { 
	font-variant-position: sub; 
	-moz-font-feature-settings: „subs“; 
	-webkit-font-feature-settings: „subs“; 
	font-feature-settings: „subs“; 
}
sup { 
	font-variant-position: super; 
	-moz-font-feature-settings: „sups“; 
	-webkit-font-feature-settings: „sups“; 
	font-feature-settings: „sups“; 
}

.hg1, .hg1 .sm-clean {background:var(--hg1)}
.hg2, .hg2 .sm-clean {background:var(--hg2)}

.hg1 .frame-layout-100 {background:var(--az8)}
.hg2 .frame-layout-100 {background:var(--az6)}

.hg1 .frame-layout-100, .hg1 .frame-layout-100 p, 
.hg1 .frame-layout-100 h1, .hg1 .frame-layout-100 h2, .hg1 .frame-layout-100 h3, .hg1 .frame-layout-100 ul li::marker {
	color:var(--font-color)
} 
.hg2 .frame-layout-100, .hg2 .frame-layout-100 p, 
.hg2 .frame-layout-100 h1, .hg2 .frame-layout-100 h2, .hg2 .frame-layout-100 h3, .hg2 .frame-layout-100 ul li::marker {
	color:var(--font-color)
} 

[class*=hg]>.content-main,
[class*=az]>.content-main {
	padding-top: var(--base-size-triple);
    padding-bottom: var(--base-size-double);
}
[class*=az] h1 {
	margin-top: calc(var(--base-size)*-1);
}
.az1 {background:var(--az1)}
.az2 {background:var(--az2)}
.az3 {background:var(--az3)}
.az4 {background:var(--az4)}
.az5 {background:var(--az5)}
.az6 {background:var(--az6)}


.az4 h1, .az4 h2, 
.az4 ul li::marker {
	color:var(--az4t)
}
.az5 h1, .az5 h2, 
.az5 ul li::marker {
	color:var(--az5t)
} 

.az1 .frame-layout-100 {background:rgba(255, 255, 255, 0.6)}
.az2 .frame-layout-100 {background:rgba(255, 255, 255, 0.6)}
.az3 .frame-layout-100 {background:rgba(255, 255, 255, 0.6)}
.az4 .frame-layout-100 {background:var(--az4t)}
.az5 .frame-layout-100 {background:var(--az5t)}
.az6 .frame-layout-100 {background:var(--az5t)}

.az1 .frame-layout-100, .az1 .frame-layout-100 p, 
.az1 .frame-layout-100 h1, .az1 .frame-layout-100 h2, .az1 .frame-layout-100 h3, .az1 .frame-layout-100 ul li::marker,
.az2 .frame-layout-100, .az2 .frame-layout-100 p,
.az4 .frame-layout-100, .az4 .frame-layout-100 p,
.az5 .frame-layout-100, .az5 .frame-layout-100 p,
.az6 .frame-layout-100, .az6 .frame-layout-100 p, 
.az6 .frame-layout-100 h1, .az6 .frame-layout-100 h2, .az6 .frame-layout-100 h3, .az6 .frame-layout-100 ul li::marker {
	color:var(--white)
} 

.az2 .frame-layout-100 h1, .az2 .frame-layout-100 h2, .az2 .frame-layout-100 h3, .az2 .frame-layout-100 ul li::marker {color:var(--az2)}
.az4 .frame-layout-100 h1, .az4 .frame-layout-100 h2, .az4 .frame-layout-100 h3, .az4 .frame-layout-100 ul li::marker {color:var(--az4)}
.az5 .frame-layout-100 h1, .az5 .frame-layout-100 h2, .az5 .frame-layout-100 h2, .az5 .frame-layout-100 ul li::marker {color:var(--az5)} 

a:focus, a:hover {
	text-decoration-thickness: var(--body-link-text-decoration-thickness-hover);
	-webkit-text-decoration-thickness: var(--body-link-text-decoration-thickness-hover);
}

li {
    margin-bottom: .2rem;
}
.list--spacious li {
    margin-bottom: 1.5rem;
}
.ce-gallery + .ce-bodytext {
    position: absolute;
}
.postIt {
    position: absolute;
	font-size: calc(var(--font-size1)*.7);
    color: #fff !important;
	line-height: 1.1;
	text-align: center;
}

.az2 .postIt {background: var(--az2t);}
.az3 .postIt {background: var(--az4t);}
.az4 .postIt {background: var(--az4t);}
.az5 .postIt {background: var(--az5t);}

label {
    text-transform: uppercase;
	font-size: .875rem;
    letter-spacing: var(--letterspacing2)
}
form .form-group select {
	background: #fff url(../Icons/ArrowDown.png) no-repeat center right/20px;
	background-position-x: 95%
}
main form .frame-type-textmedia {
	padding: 0
}
.form-group {
    margin-bottom: calc(var(--base-size)*0.5);
}
select {
    max-width: 200px
}
input, textarea, select[multiple], select {
    padding-top: calc(var(--base-size)*.1) !important;
    padding-bottom: calc(var(--base-size)*.1) !important;
}
:focus-visible {
  border: var(--border-width) solid var(--az5t);
}

.btn[class*=btn-] {
	font-size: calc(var(--body-font-size)*15/18);
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: var(--letterspacing1);
    padding-top: calc(var(--base-size)*0.5);
    padding-bottom: calc(var(--base-size)*0.5);
    padding-left: var(--gutter);
    padding-right: var(--gutter);
    line-height: 1.3;
}
.content-main [type=submit] {
    width: 200px
}

.radio span,.checkbox span {
    padding-left: 6px
}
span.required {
    margin-left: -5px
}

.ce-uploads {
	padding: 0;
    margin-top: calc(var(--base-size)*-1)
}
.ce-uploads div {
    padding: var(--base-size-eighth) var(--gutter);
	background: url(../Icons/Download.png) no-repeat center left/20px;
}
.ce-uploads-fileName,
.ce-uploads-filesize {
	font-size: calc(var(--body-font-size)*15/18);
    font-weight: 600;
    letter-spacing: var(--letterspacing2);
    text-transform: uppercase;
	margin: 4px 8px
}
.ce-uploads a:hover,
.ce-uploads a:hover .ce-uploads-fileName {
    text-decoration: underline;
    text-decoration-color: var(--body-link-text-decoration-color);
    -webkit-text-decoration-color: var(--body-link-text-decoration-color);
	text-decoration-thickness: var(--body-link-text-decoration-thickness-hover);
	-webkit-text-decoration-thickness: var(--body-link-text-decoration-thickness-hover);
	-webkit-transition: none;
    -moz-transition: none;
    -ms-transition: none;
    -o-transition: none;
    transition: none;
}

.content-header {
    margin-top: -1px;
}

.grid,.flex-container {
    box-sizing: border-box;
    display: -webkit-flex;
    display: -ms-flex;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-top: 0
}

.grid>div,.flex-container>div {
    margin-top: 0
}

.grid.nospace>[class*=col-],
.flex-container.nospace>[class*=col-] {
    padding-left: 0;
    padding-right: 0
}

main .frame-type-textmedia {
    padding-bottom: var(--base-size)
}

main .frame-type-cols_4 {
    padding-top: calc((var(--base-size)*1.5));
	margin-bottom: calc((var(--base-size)*3))
}
main .frame-type-cols_4 .frame-type-textmedia {
    margin-bottom: calc((var(--base-size)*-1.5));
}
.frame-type-cols_4 .btn[class*=btn-] {
	width: 100%;
	border: none;
	letter-spacing: 0.05rem;
	line-height: 1.3;
	padding: var(--gutter);
	-webkit-transition: none;
	-moz-transition: none;
	-ms-transition: none;
	-o-transition: none;
	transition: none
}

main .frame-type-cols_4 .grid .grid {
    margin-left: calc(var(--gutter-quarter)*-1);
    margin-right: calc(var(--gutter-quarter)*-1);
}
header .grid {
    align-items: baseline;
}

.wrapper-logo {
	position: relative;    
	margin-left: calc(var(--gutter))
}

.company {
    text-transform: uppercase
}
.companyName {
    display: block;
    position: absolute;
	font-family: var(--header-font-family);
    font-size: 1.4rem;
	letter-spacing: var(--letterspacing1);
	color: var(--header-font-color);
	font-weight: 600;
    line-height: 1.4rem;
}
.companySubLine {
    position: absolute;
	font-size: 0.73684rem;
    letter-spacing: 0.08rem;
	line-height: 1.2;
}


.content-footer {
    padding-top: calc(var(--base-size) * 4);
    padding-bottom: var(--base-size);
}

.content-footer h4 {
    text-transform: uppercase;
	margin-bottom: 0;
	font-weight: 600;
}
.content-footer .horizontal a {
    letter-spacing: var(--letterspacing2);
	text-transform: uppercase;
	text-decoration: none
}
.content-footer .horizontal a:hover {
	text-decoration: underline;
    text-decoration-color: var(--body-link-text-decoration-color);
    -webkit-text-decoration-color: var(--body-link-text-decoration-color);
	text-decoration-thickness: var(--body-link-text-decoration-thickness-hover);
	-webkit-text-decoration-thickness: var(--body-link-text-decoration-thickness-hover);
	-webkit-transition: none;
    -moz-transition: none;
    -ms-transition: none;
    -o-transition: none;
    transition: none;
}

.content-footer .horizontal a.current {
    text-decoration-line: var(--body-link-text-decoration);
	-webkit-text-decoration-line: var(--body-link-text-decoration);
    text-decoration-color: var(--body-link-text-decoration-color);
	-webkit-text-decoration-color: var(--body-link-text-decoration-color);
	text-decoration-thickness: var(--body-link-text-decoration-thickness-hover);
	-webkit-text-decoration-thickness: var(--body-link-text-decoration-thickness-hover);

	-webkit-transition: none;
    -moz-transition: none;
    -ms-transition: none;
    -o-transition: none;
    transition: none;
}
.content-footer .horizontal li>span {
    letter-spacing: var(--letterspacing2);
	text-transform: uppercase
}
.content-footer table {
	width: inherit;
    border: none;
	margin: 0
}
.content-footer .table-responsive {
    margin-bottom: 0;
}

.content-footer th,
.content-footer td {
	padding: 0 var(--gutter-half) 0 0;
    border: none
}
.content-footer ul.horizontal li a, 
.content-footer ul.horizontal li>span {
	font-size: calc(var(--body-font-size)*15/18);
	font-weight: 600;
}
@media screen and (max-width: 499.99px) {
	.content-footer ul.horizontal li a, 
	.content-footer ul.horizontal li>span {
		padding: var(--base-size-half) var(--gutter) 0 0;
	}
	.content-footer ul.horizontal li:first-child {
		display: block;
	}
}
@media screen and (max-width: 768.99px) {
	.content-footer ul.horizontal li a:first-child {
		padding-left: 0;
	}
}

.content-footer ul.horizontal li a, .content-footer ul.horizontal li>span {
    font-size: calc(var(--body-font-size) * 15 / 18);
    font-weight: 600;
}

.frame-type-cols_4 .grid>div:nth-child(1) .btn {
	background-color:var(--az3t);
	color: var(--color0);
}
.frame-type-cols_4 .grid>div:nth-child(2) .btn {
	background-color:var(--color1);
	color: var(--color0);
}
.frame-type-cols_4 .grid>div:nth-child(3) .btn {
	background-color:var(--az4t);
}
.frame-type-cols_4 .grid>div:nth-child(4) .btn {
	background-color:var(--az5t);
}

.contenttable td { 
	font-variant-numeric: tabular-nums; 
	-moz-font-feature-settings: „tnum“; 
	-webkit-font-feature-settings: „tnum“; 
	font-feature-settings: „tnum“
}
.content-footer .contenttable td {
    letter-spacing: 0.03em;
}
main .frame-type-menu_subpages ul {
	border: none;
	margin-left: -0.75rem
}
main .frame-type-menu_subpages li {
	border: none;
}
.frame-type-menu_subpages ul {
    display: flex;
	align-items: flex-end
}


@media screen and (max-width: 320px) {
	.grid>[class*=col-],
	.flex-container>[class*=col-] {
		padding-left: var(--gutter);
		padding-right: var(--gutter)
	}
	.grid .grid {
		margin-left: calc(var(--gutter)*-1);
		margin-right: calc(var(--gutter)*-1)
	}
	
	.header-contactNav {
		display: none
	}
	.postIt {
		left: calc(100vw - 80px - var(--gutter));
	}
	#drdsgvo_map {
		height: calc((100vw - (var(--gutter)*2))*3/4)
	}
}


@media screen and (max-width: 560px) {
	.header-fixed main {
		min-height: calc(100vh - 372px - (var(--gutter)*2))
	}
	.footer1, .footer2, .footer3, .footer4 {
		width: 100%;
		padding-bottom: 1rem;
	}
	.footer1 img {
		max-width: 250px;
		padding-bottom: 1rem;
	}
}


@media screen and (max-width: 768px) {
	.header-fixed .content-header {
		height: 140px;
	}
	.header-fixed main {
		padding-top: 140px;
	}
	.padding-top {
		padding-top: 30px;
	}
		
	.header-fixed.scroll-fixed .padding-top {
		padding-top: 15px;
		-webkit-transition: all var(--transition);
		-moz-transition: all var(--transition);
		-ms-transition: all var(--transition);
		-o-transition: all var(--transition);
		transition: all var(--transition)
	}
	.header-fixed .main-nav {
		margin-top: 20px
	}
	.header-fixed.scroll-fixed .main-nav {
		margin-top: 0
	}	
	
	.logo img {
		width: 65px
	}
	.companyName {
		left: 77px;
		bottom: -2px;
		width: 140px
	}
	.companySubLine {
		bottom: -21px;
		width: 220px
	}
	.frame-type-menu_subpages {
		display: none;
	}
	.frame-layout-300 .frame-layout-100 {
		margin-bottom: calc(var(--base-size)*2);
		max-width: 384px
	}
    .postIt {
        bottom: -18px;
        width: 93px;
        height: 93px;
        border-radius: 93px;
        padding-top: 24px;
    }
	.content-footer,
	.content-footer h4 {
		font-size: 15px;
		line-height: 1.4rem
	}
	blockquote {
		font-size: 1.6rem;
		width: 100%;
	}
	blockquote p {
		text-indent: -.85rem;
	}
}


@media screen and (min-width: 321px) and (max-width: 370px) {
	.content-footer .grid {
		margin-left: calc(var(--gutter-quarter) * 3);
		margin-right: calc(var(--gutter-quarter) * 3);
	}
}
@media screen and (min-width: 321px) and (max-width: 480px) {
	.postIt {
		left: calc(100vw - 100px - (var(--gutter)*2));
	}
}
@media screen and (min-width: 321px) and (max-width: 768px) {
	.header-contactNav {
		position: fixed;
		right: -132px;
		top: calc((100vh/2) - 150px)
	}
	.header-contactNav li {
    	padding-top: 10px
	}
	.header-contactNav li:nth-child(3) {
		-moz-transform: rotate(270deg);
		-webkit-transform: rotate(270deg);
		-o-transform: rotate(270deg);
		-ms-transform: rotate(270deg);
		transform: rotate(270deg);
		width: 170px;
		height: 170px;
		padding: 0
	}
	.header-contactNav .btn[class*=btn-] {
		padding: 7px 20px
	}
	.content-header .header-contactNav a {
		font-size: 1rem;
		letter-spacing: 0.05rem
	}
}
@media screen and (min-width: 321px) and (max-width: 880px) {
	#drdsgvo_map {
		height: calc((100vw - (var(--gutter)*4))*3/4)
	}
}
@media screen and (min-width: 321px) and (max-width: 1024px) {
	.frame-type-cols_4 .grid {
		margin-left: calc(var(--gutter)*-1);
		margin-right: calc(var(--gutter)*-1)
	}
	.grid>[class*=col-],
	.flex-container>[class*=col-] {
		padding-left: var(--gutter-double);
		padding-right: var(--gutter-double)
	}
	.grid .grid {
		margin-left: calc(var(--gutter)*-1.5);
		margin-right: calc(var(--gutter)*-1.5)
	}	
	.grid .grid>[class*=col-] {
		padding-left: calc(var(--gutter)*1.5);
		padding-right: calc(var(--gutter)*1.5)
	}
}
@media screen and (min-width: 321px) {
	.header-contactNav {
		z-index: 10000
	}
	.header-contactNav ul {
		list-style: none ;
		padding: 0;
		margin: 0
	}
	.header-contactNav li {
		width: 40px;
    	padding: 2px
	}
	.content-header .header-contactNav a {
		color: #fff
	}
	.header-contactNav .btn[class*=btn-] {
		border: none
	}

	.content-footer .grid>[class*=col-] {
		padding-left: var(--gutter-quarter);
		padding-right: var(--gutter-quarter);
	}
}


@media screen and (min-width: 371px) and (max-width: 1024px) {
	.content-footer .grid {
		margin-left: calc(var(--gutter-quarter) * 7);
		margin-right: calc(var(--gutter-quarter) * 7);
	}
}


@media screen and (min-width: 481px) and (max-width: 560px) {
	.content-footer [class*=_sm-6] {
		width: 100%;
	}
}
@media screen and (min-width: 481px) and (max-width: 768px) {
    .header-fixed .content-header {
        height: 160px;
    }
	.header-fixed.scroll-fixed .content-header {
		height: 140px;
	}
	#main-menu {
        top: 25px;
    }
   .wrapper-logo {
        max-width: 300px;
    }
	.postIt {
		left: calc(100vw - 230px);
	}
}
@media screen and (min-width: 481px) {
	main .frame-type-cols_4 .grid>[class*=col-], 
	.frame-type-cols_4 .flex-container>[class*=col-] {
		padding-left: var(--gutter-quarter);
		padding-right: var(--gutter-quarter)
	}
}


@media screen and (min-width: 561px) and (max-width: 768px) {
	.header-fixed main {
		min-height: calc(100vh - 265px - (var(--gutter)*2))
	}
	.content-footer .grid>div:nth-child(4)[class*=_sm-12] {
		padding-left: 50%
	}
	.footer1 {
		width: 100%;
		padding-bottom: 1rem;
	}
	.footer1 img {
		max-width: 300px;
		padding-bottom: 1rem;
	}
	.footer2 {
		width: 60%;
	}
	.footer2 p {
		margin-bottom: 1rem;
	}
	.footer3 {
		width: 40%;
		padding-bottom: 1rem;
	}
	.footer4 {
		width: 100%;
	}
}


@media screen and (min-width: 769px) and (max-width: 860px) {
    #main-menu {
        padding-left: var(--gutter-half);
		padding-right: var(--gutter-half)
    }
	.content-footer .horizontal a {
		letter-spacing: 0.01rem;
	}
}
@media screen and (min-width: 769px) and (max-width: 984px) {
    .postIt {
        left: calc(100vw - 247px);
        bottom: -12px;
        width: 105px;
        height: 105px;
        border-radius: 100px;
        padding-top: 23px;
    }
}
@media (min-width: 769px) and (max-width: 1024px) {
	.logo img {
		width: 75px
	}
	.companyName {
		left: 90px;
		bottom: -2px;
		width: 160px
	}
	.companySubLine {
		bottom: -26px;
		width: 250px
	}
	
    #main-menu {
        padding-left: var(--gutter-double);
        padding-right: var(--gutter)
    }
    #main-menu.sm-clean li {
		margin-bottom: -18px;
	}
	.header-fixed main {
		min-height: calc(100vh - 220.1px - (var(--gutter)*2))
	}
}
@media (min-width: 769px) and (max-width: 1295.99px) {
	.wrapper-logo {
		width: 350px;
	}
	.footer1 {
		width: 100%;
		padding-bottom: 1rem;
	}
	.footer1 img {
		max-width: 300px;
		padding-bottom: 1rem;
	}
	.footer2 {
		width: 41%;
	}
	.footer2 p {
		margin-bottom: 1rem;
	}
	.footer3 {
		width: 26%;
		padding-bottom: 1rem;
	}
	.footer4 {
		margin-right: -1rem !important;
		padding-right: 0 !important;
		padding-bottom: 1rem;
		text-align: right;
	}
	.footer4 ul.horizontal li a {
        padding-bottom: 0 !important;
    }
	.content-footer ul.horizontal li a {
		padding: var(--base-size-half) var(--gutter) 0 0 !important
	}
}
@media (min-width: 769px) and (max-width: 860.99px) {
	.footer4 {
		width: 190px;
	}
}
@media (min-width: 861px) and (max-width: 1295.99px) {
	.footer4 {
		width: 260px;
	}
}
@media screen and (min-width: 769px) {
	.header-contactNav {
		position: absolute;
		top: var(--base-size-double);
		right: var(--gutter);
		width: 100%
	}
	.header-contactNav ul {
		display: flex;
		justify-content: flex-end
	}
	.header-contactNav li {
    	margin-left: 6px
	}
	.header-contactNav li:nth-child(3) {
		width: inherit;
		padding: 0
	}
	.content-header .header-contactNav a {
		font-size: 0.73684rem
	}
	.header-contactNav .btn[class*=btn-] {
		padding: 6px 15px 6px 15px;
		margin-left: 4px
	}

	.header-fixed .content-header {
		height: 230px
	}
	.header-fixed main {
		padding-top: 206px
	}
	.padding-top {
		padding-top: var(--base-size)
	}
	.header-fixed.scroll-fixed main {
		padding-top: calc(206px - var(--base-size));
		-webkit-transition: all var(--transition);
		-moz-transition: all var(--transition);
		-ms-transition: all var(--transition);
		-o-transition: all var(--transition);
		transition: all var(--transition)
	}
	.frame-layout-300 .frame-layout-100 {
		margin-bottom: calc(var(--base-size)*3);
		margin-top: calc(var(--base-size)*1)
	}

	.sm ul,
	.sm-clean a .sub-arrow {
		display: none !important
	}
	
	.content-main .frame-type-menu_subpages {
		padding-top: var(--gutter-half)
	}

	.scrollToTop {
		bottom: calc(var(--base-size)*4) !important
	}
	.content-footer,
	.content-footer h4 {
		font-size: 16px;
		line-height: 1.4
	}

}

@media screen and (min-width: 881px) and (max-width: 1024px) {
	#drdsgvo_map {
		height: calc((984 - (var(--gutter)*4))*3/4)
	}
}
@media screen and (min-width: 969px) and (max-width: 1296px) {
    .header-fixed .content-header {
        height: 175px;
    }
}	
@media screen and (min-width: 985px) and (max-width: 1296px) {
    .postIt {
        left: calc(984px * 0.7);
        bottom: -16px;
        width: 108px;
        height: 108px;
        border-radius: 108px;
        padding-top: 26px;
    }
}

@media screen and (min-width: 1025px) and (max-width: 1296px) {
	#drdsgvo_map {
		height: calc(822px*3/4)
	}
	.header-fixed main {
		min-height: calc(100vh - 179px - (var(--gutter)*2))
	}
}
@media screen and (min-width: 1025px) {
	header .grid {
        margin-left:calc(var(--gutter)*-1);
        margin-right: calc(var(--gutter)*-1)
    }
	.logo img {
		width: 75px
	}
	.companyName {
		left: 90px;
		bottom: -2px;
		width: 160px
	}
	.companySubLine {
		left: 237px;
		bottom: -1px;
		width: 250px
	}
	
	#main-menu {
        padding-left:var(--gutter);
        padding-right: var(--gutter)
    }
	#main-menu.sm-clean li {
		margin-bottom: -18px;
	}
	
	.frame-type-cols_4 .grid {
		margin-left: calc(var(--gutter)*-2);
		margin-right: calc(var(--gutter)*-2)
	}
	.grid>[class*=col-],
	.flex-container>[class*=col-] {
		padding-left: calc(var(--gutter)*3);
		padding-right: calc(var(--gutter)*3)
	}
	.grid .grid {
		margin-left: calc(var(--gutter)*-2);
		margin-right: calc(var(--gutter)*-2)
	}	
	.grid .grid>[class*=col-] {
		padding-left: calc(var(--gutter)*2);
		padding-right: calc(var(--gutter)*2)
	}

	.align-right_md {
        text-align: right
    }
	
	.content-footer .grid>div:nth-child(1) h4 {
		font-size: 1.4rem;
		letter-spacing: var(--letterspacing1);
		color: var(--header-font-color);
		line-height: 1.4rem
	}

}


@media screen and (min-width: 1296px) {
    .header-fixed .content-header {
        height: 200px;
    }
	.wrapper-logo {
		width: 400px;
	}	
	.logo img {
		width: 90px
	}
	.width-max>.grid {
        margin-left: calc(var(--gutter)*-3);
        margin-right: calc(var(--gutter)*-3)
    }	

    .width-max>.grid.nospace {
        margin-left: 0;
        margin-right: 0
    }
	.wrapper-logo {    
		margin-left: calc((var(--gutter)*3) - 110px)
	}
	.companyName {
		left: 110px;
		bottom: 3px;
		width: 165px
	}
	.companySubLine {
		left: 266px;
		bottom: 3px;
		width: 265px
	}
	.frame-type-cols_4 .btn[class*=btn-]  {
		padding: 30px 75px
	}
    .postIt {
        left: calc(984px * 0.8);
        bottom: -11px;
        width: 114px;
        height: 114px;
        border-radius: 114px;
        padding-top: 30px;
    }
	#drdsgvo_map {
		height: calc((984px*3/4));
	}
	.header-fixed main {
		min-height: calc(100vh - 182px - (var(--gutter)*2))
	}
	.footer1 {
        margin-left: calc((var(--gutter) * 3) - 115px);
	}
	.footer1 img {
		max-width: 300px;
	}
	.footer2 {
		width: 250px;
	}
	.footer2 p {
		margin-bottom: 1rem;
	}
	.footer3 {
		padding-bottom: 1rem;
	}
	.footer4 {
		margin-right: -1rem !important;
		padding-right: 0 !important;
		padding-bottom: 1rem;
		text-align: right;
	}
	.footer4 ul.horizontal li:last-child a {
        padding-right: .5rem !important;
    }
	.footer4 ul.horizontal li a {
        padding-bottom: 0 !important;
    }
}

/*************** Ende VISUELL Declarations *******************/



.extbase-debugger {
    overflow: visible
}

html {
    -ms-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%
}

article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary {
    display: block
}

audio,canvas,progress,video {
    display: inline-block;
    vertical-align: baseline
}

audio:not([controls]) {
    display: none;
    height: 0
}

[hidden] {
    display: none
}

a {
    background: rgba(0,0,0,0)
}

a:active,a:hover {
    outline: 0
}

abbr[title] {
    border-bottom: 1px dotted;
    text-decoration: none
}

dfn {
    font-style: italic
}

img,fieldset,legend {
    border: 0
}

svg:not(:root) {
    overflow: hidden
}

hr {
    height: 0
}

pre {
    overflow: auto
}

code,kbd,pre,samp {
    font-family: monospace,monospace;
    font-size: 1em
}

button,input,optgroup,select,textarea {
    color: inherit;
    font: inherit;
    margin: 0
}

button {
    overflow: visible;
    background: rgba(0,0,0,0);
    border: 0
}

button,select {
    text-transform: none
}

button,
input[type="button"],
input[type="submit"],
input[type="reset"] {
    appearance: button;
    -webkit-appearance: button;
    cursor: pointer;
}

button[disabled],html input[disabled] {
    cursor: default
}

button::-moz-focus-inner,input::-moz-focus-inner {
    border: 0
}

input {
    line-height: normal
}

input[type=checkbox],input[type=radio] {
    box-sizing: border-box
}

input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button {
    height: auto
}

input[type=search] {
    appearance: textfield;
    -webkit-appearance: textfield;
    -moz-box-sizing: content-box;
    -webkit-box-sizing: content-box;
    box-sizing: content-box
}

input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration {
    -webkit-appearance: none
}

textarea {
    overflow: auto
}

optgroup {
    font-weight: bold
}

.indent {
    margin-left: var(--gutter)
}

.align-center {
    text-align: center
}

.align-right {
    text-align: right
}

@media screen and (max-width: 768px) {
    .indent {
        margin-left:var(--gutter-half)
    }

    .align-center_sm {
        text-align: center
    }

    .align-center_sm .text-right {
        text-align: center
    }

    .align-right_sm {
        text-align: right
    }
}

.pos-relative {
    position: relative
}

.block {
    display: block
}

.inline-block {
    display: inline-block
}

.margin-all {
    margin: var(--base-size) var(--gutter)
}

.margin-bottom {
    margin-bottom: var(--base-size)
}

.margin-top {
    margin-top: var(--base-size)
}

.margin-left {
    margin-left: var(--gutter)
}

.margin-right {
    margin-right: var(--gutter)
}

.padding-all {
    padding: var(--padding-boxes)
}

.padding-bottom {
    padding-bottom: var(--base-size)
}

.padding-left {
    padding-left: var(--gutter)
}

.padding-right {
    padding-right: var(--gutter)
}

.padding-none {
    padding-right: 0;
    padding-left: 0
}

.float-right {
    float: right
}

.float-left {
    float: left
}

.uppercase {
    text-transform: uppercase
}

.word-break {
    overflow-wrap: break-word;
    word-wrap: break-word;
    word-break: break-word;
    -webkit-hyphens: auto;
    -ms-hyphens: auto;
    -moz-hyphens: auto;
    hyphens: auto
}

.hidden {
    display: none !important;
    visibility: hidden
}

.vhidden {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px
}

@media screen and (min-width: 769px) {
    .hidden-mdup {
        display:none !important;
        visibility: hidden
    }

    .vhidden-mdup {
        border: 0;
        clip: rect(0 0 0 0);
        height: 1px;
        margin: -1px;
        overflow: hidden;
        padding: 0;
        position: absolute;
        width: 1px
    }
}

@media screen and (max-width: 768px) {
    .hidden-sm {
        display:none !important;
        visibility: hidden
    }

    .vhidden-sm {
        border: 0;
        clip: rect(0 0 0 0);
        height: 1px;
        margin: -1px;
        overflow: hidden;
        padding: 0;
        position: absolute;
        width: 1px
    }
}

img {
    height: auto;
    width: auto;
    max-width: 100%;
    display: block
}

a img {
    outline: none
}

img[src*=".svg"] {
    width: 100%
}

ul,ol {
    padding-left: 1rem
}

ul ul,ol ol {
    margin: 0;
    padding-top: var(--base-size-half)
}

ul.no-bullets,ol.no-bullets {
    padding-left: 0;
    list-style: none
}

ul.no-bullets ul,ul.no-bullets ol,ol.no-bullets ul,ol.no-bullets ol {
    list-style: none
}

@media screen and (min-width: 769px) {
    .dl-horizontal>dt,.dl-horizontal>dd {
        display: inline-block
    }

    .dl-horizontal>dt img,.dl-horizontal>dd img {
        display: inline-block;
        vertical-align: middle
    }

    .dl-horizontal dt+dd {
        padding-left: var(--gutter-half)
    }
}

.clearfix:before,.clearfix:after {
    content: " ";
    display: table
}

.clearfix:after {
    clear: both
}

figcaption {
    color: var(--font-color-light);
    caption-side: bottom;
    font-size: var(--font-size-small);
    line-height: var(--line-height-small);
    text-align: left;
    padding: var(--base-size-eighth) 0
}

iframe {
    border-width: 0
}

.mw50 {
    min-width: 50%
}

[class*=col-] {
    flex: 0 0 auto
}

[class*=col-1] {
    width: 8.3333%
}

[class*=col-2] {
    width: 16.66667%
}

[class*=col-3] {
    width: 25%
}

[class*=col-4] {
    width: 33.33333%
}

[class*=col-5] {
    width: 41.6667%
}

[class*=col-6] {
    width: 50%
}

[class*=col-7] {
    width: 58.3333%
}

[class*=col-8] {
    width: 66.6667%
}

[class*=col-9] {
    width: 75%
}

[class*=col-10] {
    width: 83.33333%
}

[class*=col-11] {
    width: 91.6667%
}

[class*=col-12] {
    width: 100%
}

@media(max-width: 1280px) {
    [class*=_d-0] {
        display:none
    }

    [class*=_d-1] {
        width: 8.3333%
    }

    [class*=_d-2] {
        width: 16.66667%
    }

    [class*=_d-3] {
        width: 25%
    }

    [class*=_d-4] {
        width: 33.33333%
    }

    [class*=_d-5] {
        width: 41.6667%
    }

    [class*=_d-6] {
        width: 50%
    }

    [class*=_d-7] {
        width: 58.3333%
    }

    [class*=_d-8] {
        width: 66.66667%
    }

    [class*=_d-9] {
        width: 75%
    }

    [class*=_d-10] {
        width: 83.33333%
    }

    [class*=_d-11] {
        width: 91.6667%
    }

    [class*=_d-12] {
        width: 100%
    }
}

@media(max-width: 1024px) {
    [class*=_md-0] {
        display:none
    }

    [class*=_md-1] {
        width: 8.3333%
    }

    [class*=_md-2] {
        width: 16.66667%
    }

    [class*=_md-3] {
        width: 25%
    }

    [class*=_md-4] {
        width: 33.33333%
    }

    [class*=_md-5] {
        width: 41.6667%
    }

    [class*=_md-6] {
        width: 50%
    }

    [class*=_md-7] {
        width: 58.3333%
    }

    [class*=_md-8] {
        width: 66.66667%
    }

    [class*=_md-9] {
        width: 75%
    }

    [class*=_md-10] {
        width: 83.33333%
    }

    [class*=_md-11] {
        width: 91.6667%
    }

    [class*=_md-12] {
        width: 100%
    }
}

@media(max-width: 768px) {
    [class*=_sm-0] {
        display:none
    }

    [class*=_sm-1] {
        width: 8.3333%
    }

    [class*=_sm-2] {
        width: 16.66667%
    }

    [class*=_sm-3] {
        width: 25%
    }

    [class*=_sm-4] {
        width: 33.33333%
    }

    [class*=_sm-5] {
        width: 41.6667%
    }

    [class*=_sm-6] {
        width: 50%
    }

    [class*=_sm-7] {
        width: 58.3333%
    }

    [class*=_sm-8] {
        width: 66.66667%
    }

    [class*=_sm-9] {
        width: 75%
    }

    [class*=_sm-10] {
        width: 83.33333%
    }

    [class*=_sm-11] {
        width: 91.6667%
    }

    [class*=_sm-12] {
        width: 100%
    }
}

@media(max-width: 480px) {
    [class*=_xs-6] {
        width:50%
    }

    [class*=_xs-12] {
        width: 100%
    }
	#main-menu {
		top: 10px;
    }
	.header-fixed.scroll-fixed .content-header {
		height: 125px;
	}
    .wrapper-logo {
        max-width: 280px;
        padding-right: 32px;
    }
}

.flex-nowrap {
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap
}

.flex-row-reverse {
    -webkit-flex-direction: row-reverse;
    flex-direction: row-reverse
}

.flex-end {
    justify-content: flex-end
}

.flex-space-between {
    justify-content: space-between
}

.flex-center {
    justify-content: center
}

.height-100 {
    box-sizing: border-box;
    display: -webkit-flex;
    display: -ms-flex;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

.height-100>div {
    margin-bottom: var(--base-size)
}

.height-100>.frame {
    -moz-box-flex: 100%;
    -webkit-flex: 100%;
    -ms-flex: 100%;
    flex: 100%;
    position: relative;
    min-height: 1px
}

.wrapper-card {
    height: 100%;
    overflow: hidden
}

.card-text {
    padding: var(--base-size-half) 0 0 0
}

.card-text p {
    color: var(--font-color);
    margin: 0
}

html,body {
    height: 100%;
    width: 100%
}

body {
    background-color: var(--body-bg-color);
    box-sizing: border-box;
    display: -webkit-flex;
    display: -ms-flex;
    display: flex;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    flex-direction: column
}

.wrapper-content {
    flex: 1
}

.wrapper-footer {
    flex: 0
}

.width-max {
    max-width: 984px;
    width: 100%;
    margin-left: auto;
    margin-right: auto
}

.skip-to-content {
    position: absolute;
    top: var(--borderwidth);
    left: var(--gutter);
    transform: translateY(-100%);
    transition: transform .3s;
    z-index: 100
}

.skip-to-content:focus {
    transform: translateY(0%)
}

.content-header .header-service {
    align-items: center;
    height: var(--nav-header-height);
    -webkit-transition: all var(--transition);
    -moz-transition: all var(--transition);
    -ms-transition: all var(--transition);
    -o-transition: all var(--transition);
    transition: all var(--transition)
}

@media(prefers-reduced-motion: reduce) {
    .content-header .header-service {
        transition: none
    }
}

@media(prefers-reduced-motion: reduce) {
    .wrapper-logo img {
        transition: none
    }
}

@media(max-width: 768px) {
    .header-service {
        background:var(--menu-bg)
    }

}

@media(min-width: 769px) {
    .content-header .header-service {
        height:var(--header-service-height)
    }
}

.header-image img {
    width: 100vw
}

.content-main {
    padding-top: var(--base-size)
}

.header-image .ce-column {
    padding: 0;
    margin-bottom: 0
}

.header-image .ce-column img {
    width: 100vw
}

.header-image .ce-above .ce-gallery {
    margin-right: 0
}


.content-footer2 {
    background: var(--footer2-bg);
    color: var(--footer2-color)
}

.header-fixed .content-header {
	position:fixed;
	z-index: 1000;
	left: 0;
	right: 0
}

.header-fixed.scroll-fixed .header-service,
.header-fixed.scroll-fixed .wrapper-search {
	height: var(--header-height-fixed)
}

.header-fixed main.less-padding {
	padding-top: var(--header-service-height)
}

.header-fixed .anker {
	position: absolute;
	margin-top: calc(-6*var(--base-size))
}


.frame-type-heroimage {
    position: relative
}

.frame-type-heroimage a.btn {
    text-shadow: none
}

.frame-type-heroimage .hero-text {
    padding: var(--base-size-half) var(--gutter-half) var(--base-size) var(--gutter-half)
}

.frame-type-heroimage .hero-text a:not(.btn) {
    color: var(--hero-text-dark)
}

.frame-type-heroimage .hero-text a:not(.btn):hover,.frame-type-heroimage .hero-text a:not(.btn):focus {
    color: var(--hero-text-dark)
}

.frame-type-heroimage.frame-layout-0 .hero-text {
    text-shadow: var(--hero-text-shadow-light)
}

.frame-type-heroimage.frame-layout-0 .hero-text * {
    color: var(--hero-text-dark)
}

.frame-type-heroimage.frame-layout-400 .hero-text {
    background: var(--hero-text-bg-light)
}

.frame-type-heroimage.frame-layout-402 .hero-text {
    background: var(--hero-text-bg-dark)
}

.frame-type-heroimage.frame-layout-402 .hero-text * {
    color: var(--hero-text-light)
}

.frame-type-heroimage.frame-layout-402 .hero-text a:not(.btn) {
    color: var(--hero-text-light)
}

.frame-type-heroimage.frame-layout-402 .hero-text a:not(.btn):hover,.frame-type-heroimage.frame-layout-402 .hero-text a:not(.btn):focus {
    color: var(--hero-text-light)
}

.frame-type-heroimage h1,.frame-type-heroimage h2,.frame-type-heroimage p {
    margin-bottom: var(--base-size-half)
}

.frame-type-heroimage h1:last-of-type,.frame-type-heroimage h2:last-of-type,.frame-type-heroimage p:last-of-type {
    margin-bottom: 0
}

@media screen and (min-width: 481px) {
    .frame-type-heroimage .hero-text {
        position:absolute;
        z-index: 1;
        top: var(--base-size-half);
        left: 0;
        max-width: 100%;
        max-height: calc(100% - (var(--base-size-half)));
        overflow: hidden;
        padding: var(--base-size-eighth) var(--gutter-half) var(--base-size) var(--gutter-half)
    }

    .frame-type-heroimage.frame-layout-401 .hero-text {
        text-shadow: var(--hero-text-shadow-dark)
    }

    .frame-type-heroimage.frame-layout-401 .hero-text * {
        color: var(--hero-text-light)
    }

    .frame-type-heroimage.frame-layout-401 .hero-text a:not(.btn) {
        color: var(--hero-text-light)
    }

    .frame-type-heroimage.frame-layout-401 .hero-text a:not(.btn):hover,.frame-type-heroimage.frame-layout-401 .hero-text a:not(.btn):focus {
        color: var(--hero-text-light)
    }

    .frame-type-heroimage.frame-center .hero-text {
        left: 50%;
        transform: translate(-50%, 0)
    }

    .frame-type-heroimage.frame-right .hero-text {
        right: var(--gutter)
    }
}

@media screen and (min-width: 769px) {
    .frame-type-heroimage .hero-text {
        max-width:80%;
        width: auto;
        left: var(--gutter)
    }
}

@media screen and (min-width: 1025px) {
    .frame-type-heroimage .hero-text {
        max-height:80%;
        padding: var(--base-size-half) var(--gutter) var(--base-size) var(--gutter);
        max-width: 66%;
        left: var(--gutter-double)
    }

    .frame-type-heroimage.frame-right .hero-text {
        right: var(--gutter-double);
        left: auto
    }
}

@media screen and (min-width: 1281px) {
    .frame-type-heroimage .hero-text {
        top:20%;
        max-width: 50%
    }
}

@keyframes fadeIn {
    0% {
        opacity: 0
    }

    100% {
        opacity: 1
    }
}

.fadeIn {
    animation: fadeIn 1.5s;
    animation-iteration-count: 1;
    animation-fill-mode: forwards;
    -moz-animation: fadeIn 1.5s;
    -webkit-animation: fadeIn 1.5s;
    -o-animation: fadeIn 1.5s;
    visibility: visible !important
}

@media(prefers-reduced-motion: reduce) {
    .fadeIn {
        -webkit-animation: none;
        animation: none;
        opacity: 1
    }
}

.fade {
    visibility: hidden
}

@media(prefers-reduced-motion: reduce) {
    .fade {
        visibility: visible
    }
}

ul.horizontal {
    list-style: none;
    margin: 0;
    padding: 0;
    display: inline-block
}

ul.horizontal li {
    margin: 0;
    padding: 0;
    display: inline-block
}

ul.horizontal li a,ul.horizontal li>span {
    padding: var(--base-size-half) var(--gutter-half);
    display: inline-block
}

.rootline {
    color: var(--font-color-light);
    font-size: var(--font-size-small);
    padding-left: var(--gutter)
}

@media(min-width: 1296px) {
    .rootline {
        padding-left:0
    }
}

ul.horizontal.languagemenu .text-muted span {
    color: var(--font-color-light)
}

ul.horizontal.languagemenu .text-muted,ul.horizontal.languagemenu .active {
    display: none
}

@media screen and (min-width: 769px) {
    ul.horizontal.languagemenu {
        margin-right:var(--gutter)
    }

    ul.horizontal.languagemenu .active,ul.horizontal.languagemenu .text-muted {
        display: inline-block
    }
}

@media screen and (min-width: 769px) {
    .onelevel-mdup ul#main-menu ul,.onelevel-mdup ul#main-menu .sub-arrow {
        display:none !important;
        visibility: hidden
    }
}

html {
    font-size: var(--base-html-size-small)
}

@media(min-width: 769px) {
    html {
        font-size:var(--base-html-size-medium)
    }
}

@media(min-width: 1296px) {
    html {
        font-size:var(--base-html-size-large)
    }
}

body,input,textarea,select {
    font-size: var(--body-font-size, 1rem);
    line-height: var(--base-size);
    font-family: var(--font-family-normal);
    color: var(--font-color);
    font-weight: var(--font-weight-normal);
    font-variation-settings: var(--font-variation-settings)
}

.header-group *:first-child {
    margin-bottom: var(--base-size-half)
}

p+p,pre,table {
    margin-top: var(--base-size)
}

p,ul,ol,dl,pre,table {
    margin-bottom: var(--base-size)
}

.small,small {
    font-size: var(--font-size-small);
    line-height: var(--line-height-small)
}

b,strong,.bold {
    font-weight: var(--font-weight-bold);
    font-variation-settings: var(--font-variation-settings-bold)
}

a {
    color: var(--body-link-color);
    text-decoration-line: var(--body-link-text-decoration);
    -webkit-text-decoration-line: var(--body-link-text-decoration);

    text-decoration-color: var(--body-link-text-decoration-color);
    -webkit-text-decoration-color: var(--body-link-text-decoration-color);

    text-decoration-thickness: var(--body-link-text-decoration-thickness);
    -webkit-text-decoration-thickness: var(--body-link-text-decoration-thickness);
  
    text-underline-offset: var(--body-link-underline-offset);
    -webkit-transition: all var(--transition);
    -moz-transition: all var(--transition);
    -ms-transition: all var(--transition);
    -o-transition: all var(--transition);
    transition: all var(--transition)
}
@media(prefers-reduced-motion: reduce) {
    a {
        transition: none
    }
}
a:focus,a:hover {
    color: var(--body-link-hover-color);
    text-decoration-color: var(--body-link-text-decoration-color);
    -webkit-text-decoration-color: var(--body-link-text-decoration-color)
}
a.invers {
    color: var(--body-link-invers-color)
}

a.invers:focus,a.invers:hover {
    color: var(--body-link-invers-hover-color)
}

a.btn {
    text-decoration: none;
    text-underline-offset: unset
}

.hg1 a,
.hg1 a:focus,
.hg1 a:hover,
.hg1 u {
    text-decoration-color: var(--body-link-text-decoration-color);
    -webkit-text-decoration-color: var(--body-link-text-decoration-color);
}

.az1 a,
.az1 a:focus,
.az1 a:hover,
.az1 u {
    text-decoration-color: var(--body-link-color);
    -webkit-text-decoration-color: var(--body-link-color);
}

.az3 a {
    text-decoration-color: var(--az2t);
    -webkit-text-decoration-color: var(--az2t);
}
.az3 a:focus,
.az3 a:hover {
    text-decoration-color: var(--az2t);
    -webkit-text-decoration-color: var(--az2t);
}

.content-header a {
    color: var(--font-color);
	text-decoration: none
}

.content-header a:focus,.content-header a:hover {
    color: var(--header-link-hover-color)
}

.content-header a.btn-secondary:focus,.content-header a.btn-secondary:hover {
    color: var(--button2-hover-color)
}

.content-footer2 a {
    color: var(--footer2-link-color)
}

.content-footer2 a:focus,.content-footer2 a:hover {
    color: var(--footer2-link-hover-color);
    text-decoration-color: var(--footer2-link-hover-color)
}

sup,sub {
    vertical-align: baseline;
    position: relative;
    top: -0.4em
}

sub {
    top: .4em
}

.invers {
    color: var(--white, #fff)
}

.font-color-light {
    color: var(--font-color-light)
}

blockquote {
    font-family: var(--blockquote-font-family);
	color: var(--blockquote-font-color);
	line-height: var(--blockquote-line-height);
}
blockquote p {
	letter-spacing: var(--blockquote-letter-spacing);
}
/*
blockquote:before,blockquote:after {
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    position: absolute;
    color: var(--gray3);
    font-size: 48px
}

blockquote:before {
    content: "";
    margin-right: calc(var(--gutter)*-1);
    bottom: 0;
    right: 100%
}

blockquote:after {
    content: "";
    margin-left: calc(var(--gutter)*-1);
    left: 100%;
    top: 0;
    bottom: auto
}
*/

.text-left,.ce-headline-left {
    text-align: left
}

.text-center,.ce-headline-center {
    text-align: center
}

.text-right,.ce-headline-right {
    text-align: right
}

.ce-table td,.ce-table th {
    vertical-align: top
}

.ce-textpic,.ce-image,.ce-nowrap .ce-bodytext,.ce-gallery,.ce-row,.ce-uploads li,.ce-uploads div {
    overflow: hidden
}

.ce-uploads img {
    float: left;
    margin: var(--base-size-half);
    vertical-align: top
}

.ce-uploads:before,.ce-uploads:after {
    content: "";
    display: table
}

.ce-uploads:after {
    clear: both
}


.frame-layout-100 .ce-uploads li:nth-child(odd) {
    background: rgba(0,0,0,0)
}

.ce-table-striped tbody tr:nth-of-type(even) {
    background-color: var(--gray5, #eee)
}

.ce-table-bordered th,.ce-table-bordered td {
    border: var(--border-width) solid var(--table-border-color)
}

[class*=frame-space-before-] {
    padding-top: var(--base-size)
}

[class*=frame-space-after-] {
    padding-bottom: var(--base-size)
}

@media screen and (min-width: 769px) {
	blockquote {
		font-size: var(--blockquote-font-size);
		width: 80%;
	}
	blockquote p {
		text-indent: -1rem;
	}
    .frame-space-before-medium {
        padding-top:var(--base-size-double)
    }

    .frame-space-before-large {
        padding-top: var(--base-size-triple)
    }

    .frame-space-after-small {
        padding-bottom: var(--base-size)
    }

    .frame-space-after-medium {
        padding-bottom: var(--base-size-double)
    }

    .frame-space-after-large {
        padding-bottom: var(--base-size-triple)
    }

    .frame-space-before-small {
        padding-top: var(--base-size)
    }

    .frame-space-before-medium {
        padding-top: var(--base-size-double)
    }

    .frame-space-before-large {
        padding-top: var(--base-size-triple)
    }

    .frame-space-after-small {
        padding-bottom: var(--base-size)
    }

    .frame-space-after-medium {
        padding-bottom: var(--base-size-double)
    }

    .frame-space-after-large {
        padding-bottom: var(--base-size-triple)
    }
}

.frame-ruler-before:before {
    content: "";
    display: block;
    border-top: var(--border-width) solid var(--table-border-color);
    padding-top: calc(var(--base-size) - var(--border-width))
}

.frame-ruler-after:after {
    content: "";
    display: block;
    border-bottom: var(--border-width) solid var(--table-border-color);
    margin-bottom: calc(var(--base-size) - var(--border-width))
}

@media screen and (min-width: 769px) {
    .frame-indent {
        margin-left:16.66667%;
        margin-right: 16.66667%
    }

    .frame-indent-left {
        margin-left: 33.33333%
    }

    .frame-indent-right {
        margin-right: 33.33333%
    }
}

[class*=frame-type-menu_] ul,[class*=frame-type-menu_] ul li {
    list-style: none;
    margin: 0;
    padding: 0
}

[class*=frame-type-menu_]>ul {
    margin-bottom: calc(var(--base-size) - var(--border-width));
    border-bottom: var(--border-width, 1px) solid var(--border-color)
}

[class*=frame-type-menu_] li {
    border-top: var(--border-width, 1px) solid var(--border-color)
}

[class*=frame-type-menu_] a {
    padding: var(--base-size-half) var(--gutter-quarter) calc(var(--base-size-half) - var(--border-width)) var(--gutter-quarter);
    display: block
}

.frame-type-menu_sitemap a {
    background: var(--gray5, #eee)
}

[class*=frame-type-menu_] a,[class*=frame-type-menu_] p {
    padding-left: var(--gutter)
}

[class*=frame-type-menu_] ul li ul li a,[class*=frame-type-menu_] ul li ul li p {
    padding-left: var(--gutter-double)
}

[class*=frame-type-menu_] ul li ul li ul li a,[class*=frame-type-menu_] ul li ul li ul li p {
    padding-left: var(--gutter-triple);
    background: rgba(0,0,0,0)
}

.frame-type-menu_abstract ul>li {
    padding-left: var(--gutter);
    padding-bottom: var(--base-size-half)
}

.frame-type-menu_abstract ul>li a {
    padding-left: 0
}

[class*=frame-type-menu_].frame-layout-251 p,[class*=frame-type-menu_].frame-layout-251 a {
    margin: 0;
    padding: 0
}

[class*=frame-type-menu_].frame-layout-251 h3 {
    margin: 0 0 var(--base-size-quarter) 0
}

hr.ce-div {
    border: 0;
    border-bottom: var(--border-width, 1px) solid var(--border-color);
    margin: var(--base-size-half) 0
}

.ce-border img {
    border: var(--image-border-width) solid var(--image-border-color)
}

.ce-gallery figure.video {
    display: block
}

.video-embed {
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
    overflow: hidden;
    margin-bottom: var(--base-size)
}

.video-embed iframe,.video-embed video {
    position: absolute;
    top: 0;
    left: 0;
    max-width: 100%;
    width: 100% !important;
    height: 100% !important
}

figure.image a,.img-enlarge a {
    position: relative;
    display: block;
    overflow: hidden
}

figure.image a img,.img-enlarge a img {
    -webkit-transition: all var(--transition);
    -moz-transition: all var(--transition);
    -ms-transition: all var(--transition);
    -o-transition: all var(--transition);
    transition: all var(--transition);
    transform: scale(1)
}

@media(prefers-reduced-motion: reduce) {
    figure.image a img,.img-enlarge a img {
        transition: none
    }
}

figure.image a[data-fancybox] :after,.img-enlarge a[data-fancybox] :after {
    content: "";
    opacity: 0
}

figure.image a[data-fancybox]:hover:after,figure.image a[data-fancybox]:focus:after,.img-enlarge a[data-fancybox]:hover:after,.img-enlarge a[data-fancybox]:focus:after {
    position: absolute;
    top: calc(50% - 24px);
    left: calc(50% - 24px);
    content: "";
    font-family: "Font Awesome 5 Free";
    font-style: normal;
    font-weight: 900;
    line-height: 48px;
    width: 48px;
    height: 48px;
    opacity: 1;
    border-radius: 50%;
    background: var(--white-opacity, rgba(255, 255, 255, 0.8980392157));
    color: var(--body-link-color);
    text-align: center
}

figure.image a:hover img,figure.image a:focus img,.img-enlarge a:hover img,.img-enlarge a:focus img {
    transform: scale(1.025)
}

@media(prefers-reduced-motion: reduce) {
    figure.image a:hover img,figure.image a:focus img,.img-enlarge a:hover img,.img-enlarge a:focus img {
        transform: none
    }
}

.image-caption span {
    display: block
}

.frame-layout-100 {
    background: var(--layout-100-bg);
    padding: var(--padding-boxes);
    margin-bottom: var(--base-size);
}
.pageId_91 .frame-layout-100 {
    padding-left: 0;
    background: none;
}
@media(max-width: 768px) {
	.pageId_91 .frame-layout-100 {
		min-height: 0;
		padding-top: 0;
	}
	.pageId_91 .frame-layout-100 h3 {
		padding-bottom: var(--base-size-half);
	}
}
@media(min-width: 769px) {
	.pageId_91 .frame-layout-100 {
		margin-left: -30px;
	}
	.pageId_91 .frame-layout-100 h3 {
		padding-bottom: var(--base-size);
	}
}

.frame-layout-100 p:last-child,
.frame-layout-100 ul {
    margin-bottom: 0
}

.ce-textpic,.ce-nowrap .ce-bodytext,.ce-gallery,.ce-row,.ce-uploads li,.ce-uploads div {
    overflow: hidden
}

.ce-left .ce-gallery {
    float: left
}

[data-ce-columns="2"] .ce-column,[data-ce-columns="3"] .ce-column,[data-ce-columns="4"] .ce-column,[data-ce-columns="6"] .ce-column {
    float: left
}

.ce-right .ce-gallery {
    float: right
}

.ce-right.ce-intext .ce-gallery {
    margin-left: var(--gutter)
}

.ce-left.ce-intext .ce-gallery {
    margin-right: var(--gutter)
}

.ce-below .ce-gallery {
    margin-top: var(--base-size)
}

.ce-column {
    padding-right: var(--gutter-half)
}

.ce-intext.ce-right .ce-column,.ce-intext [data-ce-columns="1"] .ce-column {
    padding-right: 0
}

.ce-column {
    margin-bottom: var(--gutter-half)
}

.ce-above .ce-bodytext {
    clear: both
}

.ce-intext.ce-left ol,.ce-intext.ce-left ul {
    padding-left: var(--gutter-double);
    overflow: auto
}

.ce-center .ce-outer,.ce-center .ce-inner {
    float: none;
    right: 0;
    text-align: center
}

.ce-intext>.ce-gallery,.ce-intext>.ce-bodytext {
    width: 100%
}

.ce-above .ce-gallery,.ce-below .ce-gallery {
    margin-right: calc(-1*var(--gutter-half))
}

.ce-right.ce-above,.ce-right.ce-below {
    margin-left: calc(-1*var(--gutter-half));
    margin-right: 0
}

.ce-left.ce-above .ce-gallery,.ce-left.ce-below .ce-gallery {
    float: none
}

[data-ce-columns="2"] .ce-column {
    width: 50%
}

[data-ce-columns="3"] .ce-column {
    width: 33.33333333%
}

[data-ce-columns="4"] .ce-column {
    max-width: 25%;
    width: 25%
}

@media(min-width: 769px) {
    .ce-column,.ce-uploads-img-link {
        padding-right:var(--gutter)
    }

    .ce-intext [data-ce-columns="1"] .ce-column {
        padding-right: 0
    }

    .ce-column {
        margin-bottom: var(--base-size)
    }

    .ce-intext .ce-gallery {
        width: 50%
    }

    .ce-intext.ce-nowrap>.ce-bodytext {
        width: 50%
    }

    .ce-intext.ce-left .ce-gallery {
        margin-right: var(--gutter-half)
    }

    .ce-intext.ce-left .ce-column {
        padding-right: var(--gutter-half)
    }

    .ce-left.ce-nowrap .ce-gallery {
        margin-right: calc(-1*var(--gutter-half));
        margin-left: 0
    }

    .ce-left.ce-nowrap .ce-bodytext {
        padding-left: var(--gutter)
    }

    .ce-right.ce-nowrap.ce-intext .ce-gallery {
        margin-left: calc(-1*var(--gutter-half));
        margin-right: 0
    }

    .ce-right.ce-nowrap .ce-bodytext {
        padding-right: var(--gutter)
    }

    .ce-intext.ce-right .ce-gallery {
        margin-left: var(--gutter-half)
    }

    .ce-intext.ce-right .ce-column {
        padding-left: var(--gutter-half)
    }

    .ce-above .ce-gallery,.ce-below .ce-gallery {
        margin-right: calc(-1*var(--gutter))
    }

    .ce-right.ce-above,.ce-right.ce-below {
        margin-left: calc(-1*var(--gutter));
        margin-right: 0
    }
}

@media(max-width: 1024px) {
    [data-ce-columns="2"] .ce-column:nth-child(odd) {
        clear:left
    }
}

.ce-gallery.imagesize25 {
    width: 25%
}

.ce-nowrap .ce-gallery.imagesize25+.ce-bodytext {
    width: calc(75% - var(--gutter))
}

.ce-center.ce-above .ce-gallery.imagesize25,.ce-center.ce-below .ce-gallery.imagesize25 {
    margin-left: auto;
    margin-right: auto
}

.ce-gallery.imagesize33 {
    width: 33.33333%
}

.ce-nowrap .ce-gallery.imagesize33+.ce-bodytext {
    width: calc(66.6666% - var(--gutter))
}

.ce-center.ce-above .ce-gallery.imagesize33,.ce-center.ce-below .ce-gallery.imagesize33 {
    margin-left: auto;
    margin-right: auto
}

figure,.wrapper-tooltip {
    min-height: var(--base-size);
    position: relative
}

figure .tooltip,.wrapper-tooltip .tooltip {
    position: absolute;
    left: 2px;
    top: 2px;
    right: 0
}

figure .tooltip span,.wrapper-tooltip .tooltip span {
    border-radius: 50%;
    display: block;
    line-height: 1rem;
    width: 1rem;
    height: 1rem;
    font-size: 1rem;
    text-align: center;
    background: var(--black, #000);
    color: var(--white, #fff);
    transition: .25s;
    cursor: pointer
}

figure .tooltip span::after,.wrapper-tooltip .tooltip span::after {
    font-size: var(--font-size-small);
    line-height: var(--line-height-small);
    text-align: left;
    position: absolute;
    text-shadow: none;
    color: var(--font-color);
    left: var(--gutter);
    top: calc(-1*var(--base-size));
    max-width: 80%;
    display: block;
    content: attr(data-tooltip);
    opacity: 0;
    -webkit-transition: all var(--transition);
    -moz-transition: all var(--transition);
    -ms-transition: all var(--transition);
    -o-transition: all var(--transition);
    transition: all var(--transition);
    z-index: 100;
    background: var(--white-opacity, rgba(255, 255, 255, 0.8980392157));
    padding: var(--gutter-quarter)
}

@media(prefers-reduced-motion: reduce) {
    figure .tooltip span::after,.wrapper-tooltip .tooltip span::after {
        transition: none
    }
}

figure .tooltip span:focus::after,figure .tooltip span:hover::after,.wrapper-tooltip .tooltip span:focus::after,.wrapper-tooltip .tooltip span:hover::after {
    opacity: 1;
    top: -2px
}

.rte-icon {
    position: relative;
    margin-left: calc(var(--gutter)*1.5);
    display: block
}

.rte-icon::before {
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    text-align: center;
    display: inline-block;
    width: calc(var(--gutter)*1.5);
    font-size: inherit;
    line-height: inherit;
    position: absolute;
    left: calc(var(--gutter)*-1.5)
}

.ce-row .inclmeta {
    display: inline-block
}

fieldset {
    padding: 0;
    margin: 0;
    border: 0
}

label {
    display: inline-block
}

legend {
    display: block;
    width: 100%;
    font-weight: bold
}

fieldset>div {
    margin-bottom: var(--base-size)
}

input,textarea,select[multiple],label {
    width: 100%
}

input,textarea,select[multiple] {
    background-color: #fff;
    border: var(--border-width, 1px) solid var(--border-color);
    -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075);
    box-shadow: inset 0 1px 1px rgba(0,0,0,.075);
    -webkit-transition: box-shadow ease-in-out .15s;
    transition: box-shadow ease-in-out .15s;
    padding-top: calc(var(--base-size-half) - var(--border-width));
    padding-bottom: calc(var(--base-size-half) - var(--border-width));
    padding-left: var(--gutter-half);
    padding-right: var(--gutter-half);
    display: inline-block
}

input[type=search] {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box
}

input[type=file] {
    display: block
}

textarea {
    min-height: calc(var(--base-size)*8)
}

.content-main .input-group-btn [type=submit] {
    margin: 0
}

input[type=checkbox],input[type=radio] {
    border: 0;
    height: auto;
    display: inline-block;
    width: auto;
    vertical-align: baseline;
    margin: 0;
    -webkit-box-shadow: none;
    box-shadow: none;
    padding: 0
}

input[type=radio]+label {
    display: inline;
    padding-left: var(--gutter-half)
}

.input-group {
    position: relative;
    display: table;
    border-collapse: separate;
    width: 100%
}

.content-main .input-group {
    margin-bottom: var(--base-size)
}

.input-group-btn,.input-group input {
    display: table-cell;
    vertical-align: middle
}

.input-group-btn {
    width: 1%
}

.input-group-btn,.input-group-btn input {
    position: relative;
    white-space: nowrap
}

.input-group input:first-child {
    margin-right: var(--gutter)
}

select[multiple],select[size] {
    height: auto
}

select optgroup {
    font-family: inherit;
    font-size: inherit;
    font-style: inherit
}

select::-ms-expand {
    display: none
}

select {
    width: 100%;
    -moz-appearance: none;
    -webkit-appearance: none;
    appearance: none;
    border: var(--border-width, 1px) solid var(--border-color);
    padding-top: calc(var(--base-size-half) - var(--border-width));
    padding-bottom: calc(var(--base-size-half) - var(--border-width));
    padding-left: var(--gutter-half);
    padding-right: var(--gutter-double);
    border-radius: 0;
    background-color: #fff;
    background-image: linear-gradient var(--white, #fff),var(--white, #fff) 0%,linear-gradient(-135deg, transparent 50%, var(--white, #fff) 50%),linear-gradient(-225deg, transparent 50%, var(--white, #fff) 50%),linear-gradient(var(--white, #fff) 42%, var(--body-link-color) 42%);
    background-repeat: no-repeat;
    background-size: 1px 100%,2.25rem 2.25rem,2.25rem 2.25rem,2.25rem 100%;
    background-position: right center,right bottom,right bottom,right bottom;
    -webkit-transition: all var(--transition);
    -moz-transition: all var(--transition);
    -ms-transition: all var(--transition);
    -o-transition: all var(--transition);
    transition: all var(--transition)
}

@media(prefers-reduced-motion: reduce) {
    select {
        transition: none
    }
}

select:hover,select:active {
    background-image: linear-gradient var(--body-link-color),var(--body-link-color),linear-gradient(-135deg, transparent 50%, var(--body-link-color) 50%),linear-gradient(-225deg, transparent 50%, var(--body-link-color) 50%),linear-gradient(var(--body-link-color) 42%, var(--white, #fff) 42%)
}

select[multiple] {
    background-image: none
}

button,.btn {
    display: inline-block;
    font-weight: normal;
    text-align: center;
    vertical-align: middle;
    cursor: pointer;
    width: auto;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-transition: all var(--transition);
    -moz-transition: all var(--transition);
    -ms-transition: all var(--transition);
    -o-transition: all var(--transition);
    transition: all var(--transition)
}

@media(prefers-reduced-motion: reduce) {
    button,.btn {
        transition: none
    }
}

.btn-primary {
    background: var(--button-bg);
    color: var(--button-color);
    border: var(--border-width, 1px) solid var(--button-border)
}

.btn-primary:hover,.btn-primary:focus {
    background: var(--button-hover-bg);
    color: var(--button-hover-color);
    border-color: var(--button-hover-border)
}

.btn-secondary {
    color: var(--button2-color);
    background: var(--button2-bg);
    border: var(--border-width) solid var(--button2-border)
}

.btn-secondary:hover,.btn-secondary:focus {
    background: var(--button2-hover-bg);
    color: var(--button2-hover-color);
    border-color: var(--button2-hover-border)
}

.btn-thirdary {
    border: var(--border-width, 1px) solid var(--border-color);
    color: var(--font-color-light)
}

.btn-thirdary:hover,.btn-thirdary:focus {
    border-color: var(--button-hover-border)
}

table {
    border-collapse: collapse;
    border-spacing: 0;
    max-width: 100%;
    width: 100%;
    margin: 0 0 var(--base-size) 0;
    border: var(--border-width) solid var(--table-border-color);
    border-bottom-width: 0
}

th,td {
    padding: calc(var(--base-size-half) - var(--border-width)) var(--gutter-quarter) var(--base-size-half) var(--gutter-quarter);
    border-bottom: var(--border-width) solid var(--table-border-color);
    text-align: left;
    vertical-align: top;
    -webkit-transition: all var(--transition);
    -moz-transition: all var(--transition);
    -ms-transition: all var(--transition);
    -o-transition: all var(--transition);
    transition: all var(--transition)
}

@media(prefers-reduced-motion: reduce) {
    th,td {
        transition: none
    }
}

th {
    padding-top: var(--base-size-half);
    font-family: var(--font-family-bold);
    font-weight: var(--font-weight-bold);
    font-variation-settings: var(--font-variation-settings-bold)
}

tr:hover td,tr:focus td {
    background: var(--table-hover-bg);
    color: var(--table-hover-color)
}

.table-responsive,.frame-type-table {
    margin-bottom: var(--base-size);
    overflow-x: auto;
    overflow-y: hidden
}

th {
    background: var(--table-header-bg);
    color: var(--table-header-color)
}

table caption {
    padding: var(--base-size-quarter)
}

.wrapper-search {
    max-width: 100%;
    background: var(--menu-bg);
    height: var(--mobile-header-height);
    z-index: 200;
    position: absolute;
    top: calc(var(--header-height)*-1);
    left: 0;
    right: var(--base-size-triple);
    -webkit-transition: all var(--transition);
    -moz-transition: all var(--transition);
    -ms-transition: all var(--transition);
    -o-transition: all var(--transition);
    transition: all var(--transition)
}

@media(prefers-reduced-motion: reduce) {
    .wrapper-search {
        transition: none
    }
}

.wrapper-search .input-group input {
    display: inline-block;
    width: 100%
}

.wrapper-search button {
    width: var(--base-size-double);
    height: var(--base-size-double)
}

.wrapper-search.visible {
    top: 0
}

.wrapper-search.visible>div {
    padding: 0 0 0 var(--gutter)
}

.wrapper-search fieldset>div {
    padding-bottom: .5rem;
    margin: 0
}

@media screen and (min-width: 769px) {
    .wrapper-search {
        background:var(--header-bg-overlay);
        align-items: center;
        height: var(--header-service-height)
    }

    .wrapper-search button {
        background: var(--header-button-bg);
        color: var(--header-button-color);
        border-color: var(--header-button-border)
    }

    .wrapper-search button:hover,.wrapper-search button:focus {
        background: var(--header-button-hover-bg);
        color: var(--header-button-hover-color);
        border-color: var(--header-button-hover-border)
    }

    .wrapper-search.visible>div {
        width: calc(15*var(--gutter));
        padding: 0 0 0 var(--gutter)
    }
}

.search-hide-btn {
    padding: var(--base-size-quarter) 0;
    width: var(--base-size-double);
    display: inline-block;
    cursor: pointer;
    color: var(--header-link-color);
    -webkit-transition: all var(--transition);
    -moz-transition: all var(--transition);
    -ms-transition: all var(--transition);
    -o-transition: all var(--transition);
    transition: all var(--transition)
}

@media(prefers-reduced-motion: reduce) {
    .search-hide-btn {
        transition: none
    }
}

.search-hide-btn.active .fa-search:before {
    content: ""
}

.search-hide-btn:hover,.search-hide-btn:focus {
    color: var(--header-link-hover-color)
}

.page-searchresult .search-hide-btn {
    display: none
}

.tx-indexedsearch-info>dt {
    float: left;
    clear: left;
    width: 25%;
    overflow: hidden;
    -ms-text-overflow: ellipsis;
    -o-text-overflow: ellipsis;
    text-overflow: ellipsis;
    white-space: nowrap
}

.tx-indexedsearch-info>dd {
    margin-left: 25%
}

.tx-indexedsearch-res span {
    display: inline-block
}

.tx-indexedsearch-res {
    border-bottom: var(--border-width, 1px) solid var(--border-color);
    margin-bottom: var(--base-size)
}

.frame-collapsemobile button {
    cursor: text
}

.accordion>header,.frame-collapse>header {
    cursor: pointer;
    position: relative;
    background: var(--toggle-bg);
    padding: var(--base-size-half) var(--gutter-triple) var(--base-size-half) var(--gutter);
    min-height: var(--base-size-double);
    margin-bottom: var(--base-size)
}

.accordion>header>*,.frame-collapse>header>* {
    margin: 0
}

.accordion>header:hover,.accordion>header:focus,.frame-collapse>header:hover,.frame-collapse>header:focus {
    color: var(--body-link-color)
}

.accordion>header button,.frame-collapse>header button {
    border-style: none;
    display: block;
    width: 100%;
    text-align: left
}

.accordion>header button::-moz-focus-inner,.frame-collapse>header button::-moz-focus-inner {
    border: 0
}

.accordion>header button[aria-expanded=false]::before,
.frame-collapse>header button[aria-expanded=false]::before {
    transform: rotate(180deg)
}

.accordion.container,.width-max>.frame-collapse {
    padding-bottom: 0
}

.accordion>header button:before,.frame-collapse>header button:before {
    content: "";
    display: inline-block;
    font-family: "Font Awesome 5 Free";
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    vertical-align: 0;
    overflow: hidden;
    position: absolute;
    right: var(--gutter);
    top: var(--base-size-half);
    margin: 0;
    font-weight: 900;
    font-size: var(--font-size2);
    -webkit-transition: all var(--transition);
    -moz-transition: all var(--transition);
    -ms-transition: all var(--transition);
    -o-transition: all var(--transition);
    transition: all var(--transition)
}

@media(prefers-reduced-motion: reduce) {
    .accordion>header button:before,.frame-collapse>header button:before {
        transition: none
    }
}

@media(max-width: 768px) {
    .frame-collapsemobile>header *,.frame-collapse>header * {
        margin:0
    }
}

@media(max-width: 1024px) {
    .width-max>.frame-collapsemobile {
        padding-bottom:0
    }

    .frame-collapsemobile>header {
        cursor: pointer;
        position: relative;
        background: var(--toggle-bg);
        padding: var(--base-size-half) var(--gutter-triple) var(--base-size-half) var(--gutter);
        min-height: var(--base-size-double);
        margin-bottom: var(--base-size)
    }

    .frame-collapsemobile>header>* {
        margin: 0
    }

    .frame-collapsemobile>header:hover,.frame-collapsemobile>header:focus {
        color: var(--body-link-color)
    }

    .frame-collapsemobile>header button {
        border-style: none;
        display: block;
        width: 100%;
        text-align: left
    }

    .frame-collapsemobile>header button::-moz-focus-inner {
        border: 0
    }

    .frame-collapsemobile>header button[aria-expanded=false]::before {
        transform: rotate(180deg)
    }

    .frame-collapsemobile>header button::before {
        content: "";
        display: inline-block;
        font-family: "Font Awesome 5 Free";
        text-rendering: auto;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
        vertical-align: 0;
        overflow: hidden;
        position: absolute;
        right: var(--gutter);
        top: var(--base-size-half);
        margin: 0;
        font-weight: 900;
        font-size: var(--font-size2);
        -webkit-transition: all var(--transition);
        -moz-transition: all var(--transition);
        -ms-transition: all var(--transition);
        -o-transition: all var(--transition);
        transition: all var(--transition)
    }
}

@media(max-width: 1024px)and (prefers-reduced-motion: reduce) {
    .frame-collapsemobile>header button::before {
        transition:none
    }
}

@media(max-width: 1024px) {
    .frame-collapsemobile button {
        cursor:pointer
    }
}

.modal {
    display: none;
    position: fixed;
    z-index: 1000;
    padding: 0;
    left: 0;
    top: 0;
    width: 100%;
    max-width: 100%;
    height: 100%;
    overflow: auto;
    background-color: rgba(0,0,0,.4)
}

.modal-content {
    position: relative;
    background-color: var(--white, #fff);
    margin: auto;
    padding: var(--base-size) var(--gutter) 0 var(--gutter);
    border: var(--border-width, 1px) solid var(--border-color);
    width: 100%;
    max-width: 1280px;
    box-shadow: 0 4px 8px 0 rgba(0,0,0,.2),0 6px 20px 0 rgba(0,0,0,.2);
    -webkit-animation-name: animatetop;
    -webkit-animation-duration: .4s;
    animation-name: animatetop;
    animation-duration: .4s
}

@media(min-width: 769px) {
    .modal {
        padding:var(--base-size-half) var(--gutter)
    }

    .modal-content {
        width: 80%;
        padding: var(--base-size) var(--gutter-double)
    }
}

@-webkit-keyframes animatetop {
    from {
        top: -300px;
        opacity: 0
    }

    to {
        top: 0;
        opacity: 1
    }
}

@keyframes animatetop {
    from {
        top: -300px;
        opacity: 0
    }

    to {
        top: 0;
        opacity: 1
    }
}

.modal-close {
    color: var(--body-link-color);
    float: right;
    position: absolute;
    right: var(--gutter-half);
    top: var(--base-size-half)
}

.modal-close:hover,.modal-close:focus {
    color: var(--body-link-hover-color);
    text-decoration: none;
    cursor: pointer
}

.alert {
    text-align: center;
    background: var(--gray5, #eee);
    border: var(--border-width) solid var(--font-color);
    padding: var(--base-size) var(--gutter);
    margin-bottom: var(--base-size);
    color: var(--black, #000)
}

.bg-error,.alert.alert-error {
    background: var(--error-light, #fff2f2);
    border: var(--border-width) solid var(--error, #ba0202)
}

.bg-valid,.alert.alert-valid {
    background: var(--valid-light, #e8f6e7);
    border: var(--border-width) solid var(--valid, #5abc55)
}

.bg-warning,.alert.alert-warning {
    background: var(--warning-light, #fffae8);
    border: var(--border-width) solid var(--warning, #ffc800)
}

.bg-information,.alert.alert-information {
    background: var(--information-light, #ecf5fe);
    border: var(--border-width) solid var(--information, #0080ff)
}

.f3-widget-paginator,.glossary-alphabet {
    display: block;
    margin: 0;
    padding: 0;
    list-style: none
}

.f3-widget-paginator>li,.glossary-alphabet>li {
    display: inline-block;
    margin-bottom: 0;
    padding-bottom: 0;
    text-align: center
}

.f3-widget-paginator>li>a,.f3-widget-paginator>li>span,.glossary-alphabet>li>a,.glossary-alphabet>li>span {
    position: relative;
    padding: 0 var(--gutter-quarter);
    min-width: var(--gutter-double);
    text-decoration: none;
    margin: 0 2px var(--base-size-half) 0;
    line-height: var(--base-size-double);
    border: var(--border-width, 1px) solid var(--border-color);
    border-radius: var(--border-radius);
    background-color: var(--white, #fff);
    display: inline-block
}

.f3-widget-paginator>li>a,.glossary-alphabet>li>a {
    font-family: var(--font-family-bold)
}

.f3-widget-paginator>li.active span,.f3-widget-paginator>li.current a,.f3-widget-paginator>li>a:hover,.f3-widget-paginator>li>a:focus,.glossary-alphabet>li.active span,.glossary-alphabet>li.current a,.glossary-alphabet>li>a:hover,.glossary-alphabet>li>a:focus {
    background-color: var(--body-link-hover-color);
    color: #fff
}

.glossary-alphabet {
    margin-bottom: var(--base-size)
}

.glossary-alphabet a.disabled {
    color: var(--font-color-light);
    cursor: auto
}

.glossary-alphabet a.disabled:hover,.glossary-alphabet a.disabled:focus {
    background-color: var(--white, #fff);
    color: var(--font-color-light)
}

.tx-indexedsearch-browsebox ul {
    display: inline-block;
    margin: 0 0 var(--base-size) 0;
    padding-left: 0;
    font-size: 80%
}

.tx-indexedsearch-browsebox li {
    display: inline-block;
    margin-bottom: 0;
    padding-bottom: 0
}

.tx-indexedsearch-browsebox li a {
    position: relative;
    float: left;
    padding: 3px 6px;
    margin-left: -1px;
    text-decoration: none;
    border: var(border-width, 1px) solid var(--border-color);
    background-color: #fff
}

.tx-indexedsearch-browsebox li.current,.tx-indexedsearch-browsebox li>a:hover,.tx-indexedsearch-browsebox li>a:focus {
    background-color: var(--body-link-hover-color);
    color: #fff
}

.tx-indexedsearch-browsebox li:first-child>a,.tx-indexedsearch-browsebox li.current:first-child {
    margin-left: 0
}

.scrollToTop {
    width: 40px;
    position: fixed;
    bottom: var(--base-size-double);
    right: 0;
    display: none;
    background: var(--button-bg);
    z-index: 1000;
    text-align: center
}

.scrollToTop>a {
    color: var(--button-color);
    display: block;
    line-height: 40px
}

.scrollToTop>a:hover,.scrollToTop>a:focus,.scrollToTop>a:active {
    background: var(--button-hover-bg);
    color: var(--button-hover-color)
}

[class*=frame-type-menu_].frame-layout-261 a,.socialmedia a {
    display: inline-block;
    padding: var(--gutter-quarter);
    margin: var(--base-size-quarter) var(--gutter-half) var(--base-size-quarter) 0;
    background: var(--white, #fff);
    color: var(--font-color);
    border-radius: var(--border-radius);
    width: calc(var(--gutter)*1.5)
}

[class*=frame-type-menu_].frame-layout-261 a span,.socialmedia a span {
    color: var(--font-color)
}

[class*=frame-type-menu_].frame-layout-261 a:hover span:before,[class*=frame-type-menu_].frame-layout-261 a:focus span:before,.socialmedia a:hover span:before,.socialmedia a:focus span:before {
    color: var(--body-link-hover-color)
}

.socialmedia span {
    text-align: center;
    width: var(--base-size)
}

@media print {
    * {
        background: rgba(0,0,0,0) !important;
        color: #000 !important;
        box-shadow: none !important;
        text-shadow: none !important
    }

    @page {
        margin: .5cm
    }

    a,a:visited {
        color: #000 !important;
        text-decoration: underline
    }

    a[href]:after {
        content: " (" attr(href) ")"
    }

    abbr[title]:after {
        content: " (" attr(title) ")"
    }

    .ir a[href]:after,.ir a[href^="javascript:"]:after,.ir a[href^="#"]:after,.wrapper-logo a[href]:after,.wrapper-logo a[href^="javascript:"]:after,.wrapper-logo a[href^="#"]:after,.news-img-wrap a[href]:after,.news-img-wrap a[href^="javascript:"]:after,.news-img-wrap a[href^="#"]:after,a[href]:after,a[href^="javascript:"]:after,a[href^="#"]:after {
        content: ""
    }

    .btn-primary,.btn-secondary {
        border-color: #000
    }

    pre {
        border: 1px solid #000;
        page-break-inside: avoid
    }

    thead {
        display: table-header-group
    }

    tr,img {
        page-break-inside: avoid
    }

    img {
        max-width: 100% !important
    }

    .wrapper-logo img {
        margin: 0
    }

    .content-header {
        border-bottom: 1px solid #999;
        padding-bottom: .5cm;
        margin-bottom: .5cm
    }

    .wrapper-footer {
        border-top: 1px solid #999;
        margin-top: .5cm
    }

    p,h2,h3 {
        orphans: 3;
        widows: 3
    }

    h2,h3 {
        page-break-after: avoid
    }

    .print-hidden,.wrapper-search,.header-service,.header-image,.content-rootline,.wrapper-topmenu,.content-footer,.content-footer2 nav,.scrollToTop a,.f3-widget-paginator,.f3-widget-paginator li {
        display: none !important
    }

    .accordion .togglecontent,.frame-collapse .togglecontent,.frame-collapsemobile .togglecontent {
        display: block !important
    }

    .accordion>header,.frame-collapse>header,.frame-collapsemobile>header {
        padding: 0
    }

    .accordion>header>*:before,.frame-collapse>header>*:before,.frame-collapsemobile>header>*:before {
        display: none
    }
}

.wrapper-footer .grid {
	display: flex;
	align-items: flex-end;
	flex-wrap: wrap; /* wichtig für responsive */
	justify-content: space-between;
}


.frame-space-before-11 { margin-top: 0; }
.frame-space-before-1 { margin-top: var(--s-1) !important; }
.frame-space-before-2 { margin-top: var(--s-2) !important; }
.frame-space-before-3 { margin-top: var(--s-3) !important; }
.frame-space-before-4 { margin-top: var(--s-4) !important; }
.frame-space-before-5 { margin-top: var(--s-5) !important; }
.frame-space-before-6 { margin-top: var(--s-6) !important; }
.frame-space-before-7 { margin-top: var(--s-7) !important; }
.frame-space-before-8 { margin-top: var(--s-8) !important; }
.frame-space-before-9 { margin-top: var(--s-9) !important; }
.frame-space-before-10 { margin-top: var(--s-10) !important; }
.frame-space-before-12 { margin-top: calc(var(--s-5) * -1) !important; }
.frame-space-before-13 { margin-top: calc(var(--s-8) * -1) !important; }
.frame-space-before-14 { margin-top: calc(var(--s-10) * -1) !important; }

.frame-space-after-11 { margin-bottom: 0; }
.frame-space-after-1 { margin-bottom: var(--s-1) !important; }
.frame-space-after-2 { margin-bottom: var(--s-2) !important; }
.frame-space-after-3 { margin-bottom: var(--s-3) !important; }
.frame-space-after-4 { margin-bottom: var(--s-4) !important; }
.frame-space-after-5 { margin-bottom: var(--s-5) !important; }
.frame-space-after-6 { margin-bottom: var(--s-6) !important; }
.frame-space-after-7 { margin-bottom: var(--s-7) !important; }
.frame-space-after-8 { margin-bottom: var(--s-8) !important; }
.frame-space-after-9 { margin-bottom: var(--s-9) !important; }
.frame-space-after-10 { margin-bottom: var(--s-10) !important; }
.frame-space-after-12 { margin-bottom: calc(var(--s-5) * -1) !important; }
.frame-space-after-13 { margin-bottom: calc(var(--s-8) * -1) !important; }
.frame-space-after-14 { margin-bottom: calc(var(--s-10) * -1) !important; }


.u-visually-hidden {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}


.ce-uploads li > div {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 1rem;
}

.ce-uploads a {
  flex: 1 1 auto;
  min-width: 0; /* wichtig für sauberes Umbrechen */
  text-decoration: none;
}

.ce-uploads-fileName {
  display: inline-block;
}

.ce-uploads-filesize {
  flex: 0 0 auto;
  white-space: nowrap;
  margin-left: 1rem;
}