/* libre-franklin-300 - latin */
@font-face {
	font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
	font-family: 'Libre Franklin';
	font-style: normal;
	font-weight: 300;
	src: url('../fonts/libre-franklin-v20-latin-300.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* libre-franklin-regular - latin */
@font-face {
	font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
	font-family: 'Libre Franklin';
	font-style: normal;
	font-weight: 400;
	src: url('../fonts/libre-franklin-v20-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* libre-franklin-600 - latin */
@font-face {
	font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
	font-family: 'Libre Franklin';
	font-style: normal;
	font-weight: 600;
	src: url('../fonts/libre-franklin-v20-latin-600.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* libre-franklin-700 - latin */
@font-face {
	font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
	font-family: 'Libre Franklin';
	font-style: normal;
	font-weight: 700;
	src: url('../fonts/libre-franklin-v20-latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* saira-condensed-regular - latin */
@font-face {
	font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
	font-family: 'Saira Condensed';
	font-style: normal;
	font-weight: 400;
	src: url('../fonts/saira-condensed-v12-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* saira-condensed-500 - latin */
@font-face {
	font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
	font-family: 'Saira Condensed';
	font-style: normal;
	font-weight: 500;
	src: url('../fonts/saira-condensed-v12-latin-500.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}




:root {
  --schwarz: #1D1D1B;
  --weiss: #FFFFFF;
	--grau: #666666;
	--bgcolor: #FFF9EB;
	--linecolor: #CCCCCC;
  
  --maincolor: #1F3F7C;
  --actioncolor: #FFD135;
  
	--basefont: 'Libre Franklin', Arial, Helvetica;
	--navfont: 'Saira Condensed';
  --bold: 700;
	--medium: 600;
	--regular: 400;
  --fontsize: 110%;
	--lineheight: 155%;
	
	--abstand1: 1vh;
	--abstand2: 2vh;
	--abstand3: 3vh;
	--abstand5: 5vh;
	--abstand7: 7vh;
	--abstand10: 10vh;
	
	--headerheight: 100px;
	--headerspace: 25px;
	--logowidth: 170px;
	--logoheight: calc(var(--headerheight) - 50px);
	--seitenrand: 5vw;
	--socialmediaicons: 30px;
	--admintopspace: 73px;
	--sliderarrow: 60px;
	--klickmenuwidth: 90px;
	
	--maxwidthcontent: 1440px;
}

*:focus {
	outline: none;
}





label.js-form-required:after {
	content: "*";
}






div.tabs {
  margin: 1em 0;
}
ul.tabs {
  list-style: none;
  margin: 0 0 0.5em;
  padding: 0;
}
.tabs > li {
  display: inline-block;
  margin-right: 0.3em; /* LTR */
}
[dir="rtl"] .tabs > li {
  margin-left: 0.3em;
  margin-right: 0;
}
.tabs a {
  display: block;
  padding: 0.2em 1em;
  text-decoration: none;
}
.tabs a.is-active {
  background-color: #eee;
}
.tabs a:focus,
.tabs a:hover {
  background-color: #f5f5f5;
}



/* Colorbox Overrides*/

button:focus {outline:0;}


#cboxPrevious,
#cboxPrevious:hover {
	background-image:url('../images/galleft.svg') !important;
	width:33px !important;
	height:33px !important;
	background-position: left top !important;
	background-size: 100% 100% !important;
	margin-top: 0px !important;
	-webkit-transform: translateY(-50%) !important;
	-moz-transform: translateY(-50%) !important;
	transform: translateY(-50%) !important;
}

#cboxNext,
#cboxNext:hover {
	background-image:url('../images/galnext.svg') !important;
	width:33px !important;
	height:33px !important;
	background-position: left top !important;
	background-size: 100% 100% !important;
	margin-top: 0px !important;
	-webkit-transform: translateY(-50%) !important;
	-moz-transform: translateY(-50%) !important;
	transform: translateY(-50%) !important;
}

#cboxClose,
#cboxClose:hover {
	background-image:url('../images/galclose.svg') !important;
	background-size: 100% 100% !important;
	background-position: left top !important;
	width:33px !important;
	height:33px !important;
	top:-7px !important;
	right:-7px !important;
}
#cboxOverlay {
	background:var(--weiss) !important;
}

#cboxContent {
	background:var(--weiss) !important;
	overflow: visible !important;
}

#cboxLoadedContent {
	border: 12px solid var(--weiss) !important;
	background: var(--weiss) !important;
}

#cboxWrapper {
	background:transparent !important;
	padding-top:0px !important;
	overflow: visible !important;
}

#cboxTitle {
	left:12px !important;
	top:-18px !important;
	color: var(--schwarz) !important;
	display: none !important;
}

#cboxCurrent {
	right:12px !important;
	top:-18px !important;
	color:var(--schwarz) !important;
	display: none !important;
}


#cboxLoadedContent {
	border: 0px !important;
	overflow: visible !important;
}

#colorbox, #cboxOverlay, #cboxWrapper {
	overflow: visible !important;
}



/* Login und Pass-Form */


.user-login-form {
	display: table;
}


.user-login-form .form-type-textfield,
.user-login-form .form-type-password  {
	width: calc(50% - 20px);
	float: left;
	margin-right: 20px;
}

.user-login-form .js-form-type-checkbox {
	clear: both;
	padding-top: 20px;
	display: table;
}



.user-login-form .js-form-item input[type="text"],
.user-pass .js-form-item input[type="text"],
.user-login-form .js-form-item input[type="password"],
.user-pass .js-form-item input[type="password"]  {
	width: 100%;
	padding: 10px 20px;
	box-sizing: border-box;
	border-radius: 0px;
	border: solid 1px var(--linecolor);
}








input[type="checkbox"] {
	appearance: none;
	background-color: #fff;
	margin: 0;
	font: inherit;
	color: currentColor;
	width: 1.15em;
	height: 1.15em;
	border: 1px solid var(--schwarz);
	border-radius: 0.15em;
	transform: translateY(-0.075em);
	
	display: grid;
	float: left;
	margin-right: 7px;
	margin-top: 3px;
	place-content: center;
}

input[type="checkbox"]::before {
	content: "";
	width: 0.65em;
	height: 0.65em;
	transform: scale(0);
	transition: 120ms transform ease-in-out;
	box-shadow: inset 1em 1em var(--maincolor);
	
	/* Windows High Contrast Mode */
	background-color: CanvasText;
	
	transform-origin: bottom left;
	clip-path: polygon(14% 44%, 0 65%, 50% 100%, 100% 16%, 80% 0%, 43% 62%);
}

input[type="checkbox"]:checked::before {
	transform: scale(1);
}

input[type="checkbox"]:focus {
	outline: max(2px, 0.15em) solid currentColor;
	outline-offset: max(2px, 0.15em);
}


.form-type-radio {
	display: flex;
	flex-direction: row;
	justify-content: flex-start;
	align-items: center;
	align-content: center;
}

input[type="radio"] {
	/* Add if not using autoprefixer */
	-webkit-appearance: none;
	appearance: none;
	/* For iOS < 15 to remove gradient background */
	background-color: #fff;
	/* Not removed via appearance */
	margin: 0;
	font: inherit;
	color: var(--actioncolor);
	width: 22px;
	height: 22px;
	border: 1px solid var(--actioncolor);
	border-radius: 50%;
	transform: translateY(-0.075em);
	display: grid;
	place-content: center;
	margin-right: 7px;
	top: 2px;
	position: relative
}

input[type="radio"]::before {
	content: "";
	width: 0.65em;
	height: 0.65em;
	border-radius: 50%;
	transform: scale(0);
	transition: 120ms transform ease-in-out;
	box-shadow: inset 1em 1em var(--actioncolor);
}

input[type="radio"]:checked::before {
	transform: scale(1);
}



/* Suche im Content */

.region-content .search-form input.js-form-submit {
	margin-top: 1em;
	background-color: var(--actioncolor);
	color: var(--weiss);
	border-style: none;
	padding: 10px 25px;
}

.region-content .search-form input.js-form-submit:hover {
	background-color: var(--grau);
}

.region-content .search-form input.form-search {
	padding: 8px 25px;
	box-sizing: border-box;
}

.region-content .search-form label {
	clear: both;
	display: block;
}

.region-content .search-form .search-help-link {
	font-size: 80%;
}

/* !WEBFORM */

.webform {
	
}

.webformflex {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	flex-wrap: wrap;
}

.webformflex > div {
	flex-basis: calc(50% - 20px);
}

.webform label {
	margin-bottom: 5px;
	display: table;
}

.webform input[type=text],
.webform input[type=tel],
.webform input[type=email] {
	border: solid 1px var(--linecolor);
	padding: 10px 20px;
	box-sizing: border-box;
	height: 50px;
	width: 100%;
	color: var(--schwarz);
	border-radius: 0px;
} 

.webform select {
	height: 50px;
	border: solid 1px var(--lineheight);
	width: 100%;
	background-color: var(--weiss);
	padding: 0px 15px;
	box-sizing: border-box;
	border-radius: 0;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	color: var(--schwarz);
	border-radius: 0px;
	
	background-image: url("../images/select-arrow.svg");
	background-position: calc(100% - 20px) center;
	background-repeat: no-repeat;
	background-size: 13px 13px;
}

.webform textarea {
	border: solid 1px var(--linecolor);
	padding: 10px 20px;
	box-sizing: border-box;
	color: var(--schwarz);
	border-radius: 0px;
	width: 100%;
}

.webform .js-form-wrapper {
	margin: 0px 0px 0px 0px;
}

.webform .form-item {
	margin: 20px 0px 20px 0px;
}

.webform .wfleft {
	width: 50%;
	float: left;
}

.webform .wfleft input {
	width: calc(100% - 10px);
	float: left;
}

.webform .wfright {
	width: 50%;
	float: right;
}

.webform .form-item-datenschutz {
	margin-top: var(--abstand3);
	margin-bottom: var(--abstand3);
}


.webform .form-item-datenschutz a,
.webform .form-item-datenschutz a:visited {
	color: var(--grau);
}

.webform .form-item-datenschutz a:hover,
.webform .form-item-datenschutz a:active {
	color: var(--actioncolor);
}


input.js-form-submit {
	display: table;
	margin-top: 3vh;
	text-align: center;
	text-transform: uppercase;
	margin-bottom: 20px;
	border: solid 0px var(--linecolor);
	background-color: var(--actioncolor);
	color: var(--schwarz);
	border-radius: 0px;
	padding: 15px 30px 15px 30px;
	box-sizing: border-box;
	white-space: nowrap;
	font-weight: var(--regular);
	
	-o-transition:.3s;
	-ms-transition:.3s;
	-moz-transition:.3s;
	-webkit-transition:.3s;
	transition:.3s;
}

input.js-form-submit:hover {
	background-color: var(--maincolor);
	color: var(--actioncolor);
	
	-o-transition:.3s;
	-ms-transition:.3s;
	-moz-transition:.3s;
	-webkit-transition:.3s;
	transition:.3s;
}


.webform .messages--error {
	margin-bottom: 20px;
}
.webform .wfcont {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
}


.webform .wfcont > div {
	flex-basis: 45%;
}

.webform .webform-actions input {

}
.webform-confirmation {
	background: red;
	padding: 20px;
	box-sizing: border-box;
}


::-webkit-input-placeholder { /* Chrome/Opera/Safari */
	color: var(--linecolor);
}
::-moz-placeholder { /* Firefox 19+ */
	color: var(--linecolor);
}
:-ms-input-placeholder { /* IE 10+ */
	color: var(--linecolor);
}
:-moz-placeholder { /* Firefox 18- */
	color: var(--linecolor);
}


/* !ADMIN*/ 


ul.tabs {
	border-bottom: solid 1px #CCCCCC;
	margin-top: 50px !important;
}

ul.tabs a,
ul.tabs a:visited {
	color: var(--schwarz);
}

ul.tabs a:hover,
ul.tabs a:active {
	color: var(--maincolor);
}


/* !ALLGEMEIN */

body {
  font-size: var(--fontsize);
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  line-height: var(--lineheight);
}


html,
button,
input,
select,
textarea {
	font-family: var(--basefont);
	font-style: normal;
	font-weight: var(--regular);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;  
}

.node--type-error-page .field--name-body {
	font-size: 500%;
	line-height: 100%;
}



a,
a:visited {
	text-decoration: none;
}

a:hover,
a:active {
	text-decoration: none;
}


h1,
h2 {
	font-style: normal;
	font-size: 280%;
	line-height: 115%;
	font-weight: var(--regular);
	color: var(--actioncolor);
	margin-top: 0px;
	padding-top: 0px;
}

.node--type-legal h2 {
	margin-top: var(--abstand7);
}

h3 {
	font-size: 160%;
	line-height: 115%;
	margin: 30px 0px 10px 0px;
	font-weight: var(--regular);
}

h4 {
	font-size: 140%;
	line-height: 115%;
	margin: 30px 0px 10px 0px;
	font-weight: var(--regular);
}

h5 {
	margin: 0px;
	padding: 0px;
	font-size: 105%;
	line-height: 115%;
}

.text-s {
	font-size: 80%;
	line-height: var(--lineheight);
}

.text-m {
	font-size: 90%;
	line-height: var(--lineheight);
}


body {
	padding: 0px;
	margin: 0px;
	background: var(--weiss);
	color: var(--schwarz);
}

.layout-container {
	background: var(--weiss);
	padding-top: var(--headerheight);
	box-sizing: border-box;
}

.maxwidth {
	margin-left: var(--seitenrand);
	margin-right: var(--seitenrand);
}


.show-mobile {
	display: none;
}

.maxwidthcontent,
.user-login-form,
.user-pass,
.profile {
	margin-left: var(--seitenrand);
	margin-right: var(--seitenrand);
}

.view-content .dropbutton-wrapper {
	display: table;
}


/* UNPUBLISHED */
.node--unpublished {
	background-color: rgba(255, 0, 0, 0.2);
	padding: 60px 20px 20px 20px;
	position: relative;
}
.node--unpublished:before {
	content: "unpublished";
	display: block;
	position: absolute;
	left: 10px;
	top: 10px;
	font-size: 200%;
	color: rgba(255, 0, 0, 0.7);
	line-height: 100%;
}

/*  !HEADER */ 

header {
	height: var(--headerheight);
	background: var(--weiss);
	position: fixed;
	left: 0px;
	top: 0px;
	width: 100%;
	z-index: 98;
}

.user-logged-in header {
	top: var(--admintopspace);
}

.region-header {
	position: relative;
	height: var(--logoheight);
	margin-top: var(--headerspace);
}


.block-system-branding-block img {
	height: var(--logoheight);
	width: auto;
}

.sprachwechsler {
	position: absolute;
	right: 0px;
	top: -35px;
}

.sprachwechsler ul.links {
	list-style: none;
	padding: 0px;
	margin: 0px;
	display: flex;
	flex-direction: row;
	justify-content: flex-end;
	text-transform: uppercase;
}

.sprachwechsler ul.links li {
	margin: 0px;
	padding: 0px;
}

.sprachwechsler ul.links > li:not(:last-child) {
	margin-right: 10px !important;
}

.sprachwechsler ul.links li a,
.sprachwechsler ul.links li a:visited {
	color: var(--schwarz);
}

.sprachwechsler ul.links li a:hover,
.sprachwechsler ul.links li a:active {
	color: var(--actioncolor);
}

.sprachwechsler ul.links li a.is-active {
	color: var(--maincolor);
	font-weight: var(--bold);
}


/* !TOPMENU */

.region-primary-menu {
	position: absolute;
	right: 0px;
	bottom: 0px;
}

.topmenu {
	font-family: var(--navfont);
	font-weight: 500;
	font-size: 150%;
	line-height: 100%;
}

.topmenu ul.level1 {
	margin: 0px;
	padding: 0px;
	display: flex;
	flex-direction: row;
	justify-content: flex-start;
	list-style: none;
	text-transform: uppercase;
}

.topmenu ul.level1 > li:not(:last-child) {
	margin-right: 40px;
}

.topmenu a,
.topmenu a:visited {
	color: var(--maincolor);
}

.topmenu a:hover,
.topmenu a:active,
.topmenu a.is-active {
	color: var(--actioncolor);
}


/* !MOBILE MENU */

.menuclick {
	position: absolute;
	top: 0%;
	right: 0px;
	z-index: 99;
	height: var(--logoheight);
	width: var(--klickmenuwidth);
	display: none;
	-o-transition:.3s;
	-ms-transition:.3s;
	-moz-transition:.3s;
	-webkit-transition:.3s;
	transition:.3s;
}

.topmenutrigger {
	border: none;
	width: var(--klickmenuwidth);
	height: var(--logoheight);
	text-indent: -900em;
	overflow: hidden;
	cursor: pointer;
	outline: none;
	top: 50%;
	right: 0px;
	z-index: 94;
	position: absolute;
	-webkit-transform: translateY(-50%);
	-moz-transform: translateY(-50%);
	transform: translateY(-50%);
}


	
	 
.topmenutrigger span {
	box-sizing: border-box;
	background: var(--maincolor);
	border: none;
	height: 2px;
	border-radius: 0px;
	width:70%;
	position: absolute;
	top: 50%;
	right: 0px;
	cursor: pointer;
	-webkit-transition: all .35s ease;
	transition: all .35s ease;
	display: block;
		
	
}
.topmenutrigger.active span {
	background: var(--maincolor);
}
	
.topmenutrigger span:nth-of-type(1) {
	-webkit-transform: translateY(-11px);
	-moz-transform: translateY(-11px);
	transform: translateY(-11px);
}
	
.topmenutrigger span:nth-of-type(2) {
	width: 50px;
}
.topmenutrigger span:nth-of-type(3) {
	width: 80%;
	-webkit-transform: translateY(11px);
	-moz-transform: translateY(11px);
	transform: translateY(11px);
}
	
	
.topmenutrigger.active {
	
}
	
.topmenutrigger.active span {
		top: 50%;
}
	
	
.topmenutrigger.active .top {
	-moz-transform: translateY(0px) translateX(0%) rotate(45deg);
	-webkit-transform: translateY(0px) translateX(0%) rotate(45deg);
	transform: translateY(0px) translateX(0%) rotate(45deg);
	
	background: var(--maincolor);
	width:50px;
	right: 5px;
	height: 2px;
}
.topmenutrigger.active .middle {
	display: none;
	background: var(--maincolor);
	width:40px;
}
.topmenutrigger.active .bottom {
	-moz-transform: translateY(0px) translateX(0%) rotate(-45deg);
	-webkit-transform: translateY(0px) translateX(0%) rotate(-45deg);
	transform: translateY(0px) translateX(0%) rotate(-45deg);
	width:50px;
	background: var(--maincolor);
	right: 5px;
	height: 2px;
}



/* !HEADERSLIDER */
.region-headerslider {
	height: 60vh;
	position: relative;
	border-bottom: solid 22px var(--maincolor);
}

.region-headerslider .tns-outer {
	z-index: 50;
}

.region-headerslider .tns-outer,
.region-headerslider .tns-inner,
.region-headerslider .tns-inner > div,
.region-headerslider .tns-inner > div > .tns-item {
	position: absolute;
	width: 100%;
	height: 100%;
}

.region-headerslider .tns-inner > div > .tns-item img {
	object-fit: cover;
	object-position: center center;
	width: 100%;
	height: 100%;
	position: relative;
}

.region-headerslider .tns-controls {
	position: absolute;
	z-index: 70;
	top: 50%;
	-webkit-transform:  translateY(-50%);
	-moz-transform: translateY(-50%);
	transform: translateY(-50%);
	width: calc(100% - 40px);
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	margin-left: 20px;
}

.region-headerslider .tns-outer .tns-controls [aria-controls] {
	width: var(--sliderarrow);
	height: var(--sliderarrow);
	background-color: transparent;
	border: solid 0px green;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: contain;
}

.region-headerslider .tns-outer .tns-controls button:nth-child(1) {
	background-image: url("../images/pfeil-left.svg");
}

.region-headerslider .tns-outer .tns-controls button:nth-child(2) {
	background-image: url("../images/pfeil-right.svg");
}

.region-headerslider .tns-outer .tns-controls button {
	opacity: 0.5;
	-o-transition:.3s;
	-ms-transition:.3s;
	-moz-transition:.3s;
	-webkit-transition:.3s;
	transition:.3s;
}

.region-headerslider .tns-outer .tns-controls button:hover {
	opacity: 1;
}



/* !FOOTER */

footer {
	background: var(--maincolor);
	padding: var(--abstand7) 0px;
	box-sizing: border-box;
	color: var(--weiss);
}

footer a,
footer a:visited {
	color: var(--weiss);
}

footer a:hover,
footer a:active,
footer a.is-active {
	color: var(--actioncolor);
}

.footer-wrapper {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
}

.footer-wrapper > .footerlogo {
	margin-right: 5vw;
}

.footer-wrapper > .footerlogo img {
	width: auto;
	height: var(--logoheight);
}


.footer-wrapper .region-footer {
	display: flex;
	flex-direction: row;
	justify-content: flex-start;
	flex-wrap: wrap;
}

.footer-wrapper .region-footer > div {
	flex-basis: 50%;
	margin-bottom: 30px;
} 

.footer-wrapper .views-label {
	margin-right: 10px;
}

.footer-wrapper .telmail {
	font-weight: var(--bold);
}

.usermenu ul.menu {
	display: flex;
	flex-direction: row;
	justify-content: flex-start;
	list-style: none;
	margin: 0px;
	padding: 0px;
	flex-wrap: wrap;
}

.usermenu ul.menu > li {
	margin: 0px;
	padding: 0px;
}

.usermenu ul.menu > li:not(:last-child):after {
	content: "|";
	margin: 0px 10px;
}

.region-regionbottom {
	margin-top: var(--abstand5);
}


/* !CONTENT */

main {
	padding-top: var(--abstand7);
	margin-bottom: var(--abstand7);
}

.contentnode {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
}

.contentnode > div {
	flex-basis: calc(50% - 15px);
}

.contentnode .node-leftcol {
	padding-right: 5vw;
	box-sizing: border-box;
}

.contentnode .node-rightcol img {
	object-fit: cover;
	object-position: center center;
	width: 100%;
	height: 100%;
	position: relative;
}

.contactnode {
	
}

.contactnode a,
.contactnode a:visited {
	color: var(--schwarz);
}

.contactnode a:hover,
.contactnode a:active {
	color: var(--actioncolor);
}

.contactnode .views-element-container {
	font-size: 140%;
	line-height: var(--lineheight);
	margin-bottom: 30px;
}

.views-field-field-name-unternehmen {
	font-weight: var(--bold);
}


.contact-content-wrapper {
	display: flex;
	flex-direction: row;
	justify-content: flex-start;
	margin-top: var(--abstand3);
}

.contact-content-wrapper > div:not(:last-child) {
	margin-right: 5vw;
}

.contact-content-wrapper .views-label {
	margin-right: 7px;
}

.region-content ul {
	padding: 0px;
	margin: 0px;
	list-style-type: none;
}

.region-content ul:not(.dropbutton) li {
	padding: 0px 0px 0px 25px;
	background-image: url('../images/listicon.svg');
	background-repeat: no-repeat;
	background-position: left 5px;
	background-size: 18px 18px;
}

.region-content a,
.region-content a:valid {
	color: var(--schwarz);
}

.region-content a:hover,
.region-content a:active {
	color: var(--actioncolor);
}

.referenzencontent  {
	
}

.referenzencontent .button.center {
	margin-top: var(--abstand7);
}

.referenzencontent .ref-bilder {
	line-height: 0px;
}

.referenzencontent .ref-bilder img {
	width: 100%;
	height: auto;
}

.referenzencontent h3 {
	margin-bottom: 0px;
	padding-bottom: 0px;
}

.referenzencontent .tns-controls {
	position: absolute;
	z-index: 70;
	top: 50%;
	-webkit-transform:  translateY(-50%);
	-moz-transform: translateY(-50%);
	transform: translateY(-50%);
	width: 100%;
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	margin-left: 0px;
}

.referenzencontent .tns-outer .tns-controls button {
	border: solid 0px red;
	background-color: transparent;
	width: 30px;
	height: 30px;
	margin: 10px;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: contain;
	opacity: 0.5;
}

.referenzencontent .tns-outer .tns-controls button:nth-child(1) {
	background-image: url("../images/pfeil-left-d.svg");
	-webkit-transform: translateX(-180%);
	-moz-transform: translateX(-180%);
	transform: translateX(-180%);
}

.referenzencontent .tns-outer .tns-controls button:nth-child(2) {
	background-image: url("../images/pfeil-right-d.svg");
	-webkit-transform: translateX(180%);
	-moz-transform: translateX(180%);
	transform: translateX(180%);
}

.referenzencontent .tns-outer .tns-controls [disabled] {
	visibility: hidden;
}

.referenzencontent .tns-outer .tns-ovh {
	position: relative;
	z-index: 60;
}

.referenzencontent .tns-outer .tns-controls {
	z-index: 50;
}


.referenzenliste .view-content {
	display: flex;
	flex-direction: row;
	justify-content: flex-start;
	flex-wrap: wrap;
}

.referenzenliste .view-content > .views-row {
	flex-basis: calc(33.333333% - 20px);
	margin-right: 30px;
	margin-bottom: var(--abstand7);
}

.referenzenliste .view-content > .views-row:nth-child(3n+3) {
	margin-right: 0px;
}


/* !PARAGRAPH */

.paragraphcontainer > .paragraph:nth-child(1) {
	margin-top: 30px;
}

.paragraphcontainer > .paragraph:not(:first-child) {
	margin-top: var(--abstand7);
}

.p-bilder-inline {
	
}

.p-bilder-inline .field__items {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
}

.p-bilder-inline .field__items > .field__item {
	line-height: 0px;
}

.p-bilder-inline .field__items > .field__item:not(:last-child) {
	margin-right: 30px;
}

.p-bilder-inline .field__items > .field__item img {
	width: 100%;
	height: auto;
}

.p-content.leistungen,
.p-content.jobs {
	padding: var(--abstand7) 0px;
	box-sizing: border-box;
	background: var(--bgcolor);
}

.p-content > a,
.p-content > a:visited {
	display: table;
	background: var(--actioncolor);
	padding: 5px 20px;
	box-sizing: border-box;
	color: var(--weiss);
	margin-left: var(--seitenrand);
}

.p-content > a:hover,
.p-content > a:active {
	background: var(--maincolor);
}

.p-bildergalerie {
	
}

.p-bildergalerie .field--name-field-bild {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	flex-wrap: wrap;
}

.p-bildergalerie .field--name-field-bild > .field__item {
	line-height: 0px;
	flex-basis: calc((100% / 3) - 4px);
	margin-bottom: 6px;
}

.p-bildergalerie .field--name-field-bild > .field__item img {
	width: 100%;
	height: auto;
}

.p-bildergalerie .tns-outer .tns-controls button {
	border: solid 0px red;
	background-color: transparent;
	width: 30px;
	height: 30px;
	margin: 10px;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: contain;
	opacity: 0.5;
}

.p-bildergalerie .tns-outer .tns-controls button:nth-child(1) {
	background-image: url("../images/pfeil-left-d.svg");
}

.p-bildergalerie .tns-outer .tns-controls button:nth-child(2) {
	background-image: url("../images/pfeil-right-d.svg");
}

/* !GMAP */

.wh-gmap {
	line-height: 0px;
}

.wh-gmap iframe {
	border: 0px;
	width: 100%;
	height: 10vh;
	min-height: 400px;
}

/* !BUTTONS */

.button {
	display: table;
	margin-top: 3vh;
	text-align: center;
	text-transform: uppercase;
}

.button.center {
	margin-left: auto;
	margin-right: auto;
}

.button a,
.button a:visited {
	display: block;
	color: var(--schwarz);
	background-color: var(--actioncolor);

	padding: 13px 30px;
	box-sizing: border-box;
	white-space: nowrap;
	
	-webkit-transition: all .35s ease;
	 transition: all .35s ease;
}

.button a:hover,
.button a:active {
	display: block;
	color: var(--actioncolor);
	background-color: var(--maincolor);
	cursor: pointer;
	
	-webkit-transition: all .35s ease;
	 transition: all .35s ease;
}

.button.opengallery {
	margin-top: 1vh;
	font-size: 90%;
	line-height: var(--lineheight);
}

.button.opengallery a,
.button.opengallery a:visited {
	color: var(--weiss);
	background-color: var(--maincolor);
	padding: 5px 15px;
}

.button.opengallery a:hover,
.button.opengallery a:active {
	color: var(--schwarz);
	background-color: var(--actioncolor);
}



/* !SOCIAL MEDIA LINKS */


.socialmedialinks {

}

.socialmedialinks .view-content {
	display: flex;
	flex-direction: row;
	justify-content: flex-start;
	align-items: center;
	align-content: center;
}


.socialmedialinks .views-row {
	align-self: center;
}

.socialmedialinks .views-row:not(:last-child) {
	margin-right: 20px;
}

.socialmedialinks a,
.socialmedialinks a:visited {
	display: flex;
	width: var(--socialmediaicons);
	height: var(--socialmediaicons);
	justify-content: center;
	align-items: center;
	align-content: center;
	color: var(--schwarz);
	font-size:var(--socialmediaicons);
	
	-o-transition:.3s;
	-ms-transition:.3s;
	-moz-transition:.3s;
	-webkit-transition:.3s;
	transition:.3s;
}

.socialmedialinks a:hover,
.socialmedialinks a:active {
	color: var(--actioncolor);
	-o-transition:.3s;
	-ms-transition:.3s;
	-moz-transition:.3s;
	-webkit-transition:.3s;
	transition:.3s;
}

footer .socialmedialinks a,
footer .socialmedialinks a:visited {
	color: var(--weiss);
}

footer .socialmedialinks a:hover,
footer .socialmedialinks a:active {
	color: var(--actioncolor);
}


/*
	
	
	
	
*/

@media all and (min-width: 1740px) {
	
	.maxwidth,
	.maxwidthcontent,
	.user-login-form,
	.user-pass,
	.profile {
		margin-left: auto;
		margin-right: auto;
		max-width: 1560px;
	}
	
}


@media all and (max-width: 1440px) {
	
	:root {
		--fontsize: 100%;
		--lineheight: 155%;
		
		--socialmediaicons: 30px;
		--sliderarrow: 60px;
	}
	
		
	h1,
	h2 {
		font-size: 270%;
		line-height: 115%;
	}
	
	h3 {
		font-size: 160%;
		line-height: 115%;
	}
	
	h4 {
		font-size: 140%;
		line-height: 115%;
	}

	.contactnode .views-element-container {
		font-size: 120%;
	}
	
	.region-content ul li {
		padding: 0px 0px 0px 25px;
		background-position: left 4px;
		background-size: 16px 16px;
	}

}


@media all and (max-width: 1024px) {
	
	:root {
		--headerheight: 80px;
		--logoheight: calc(var(--headerheight) - 40px);
		--headerspace: 20px;
		
		--socialmediaicons: 30px;
		--sliderarrow: 30px;
	}

	/* !MOBILEMENU */
	.menuclick {
		display: block !important;
	}
	
	.region-primary-menu {
		position: fixed;
		/* width: calc((100% / 2) - (var(--logowidth) / 2)); */
		width: 100%;
		height: calc(100vh - var(--headerheight));
		overflow: auto;
		top: var(--headerheight);
		right: 0px;
		background-color: var(--maincolor);
		color: var(--weiss);
		z-index: 97;
		padding: var(--abstand5) var(--seitenrand) 0px var(--seitenrand);
		box-sizing: border-box;
		
		-webkit-transform: translateY(0%);
		-moz-transform: translateY(0%);
		transform: translateY(0%);
		
		display: none;
	}
	
	.region-primary-menu.active {
		display: block;
	}
	
	.topmenu {
		position: relative;
		font-size: 360%;
		line-height: var(--lineheight);
	}
	
	.topmenu ul.level1 {
		display: block;
	}
	
	
	.topmenu ul.level1 li a,
	.topmenu ul.level1 li a:visited {
		color: var(--weiss);
	}
	
	.topmenu ul.level1 li a:hover,
	.topmenu ul.level1 li a:active,
	.topmenu ul.level1 li a.is-active {
		color: var(--actioncolor);
	}
	
	.sprachwechsler {
		position: relative;
		top: 0px;
		margin-top: var(--abstand5);
		margin-bottom: 100px;
	}
	
	.sprachwechsler ul.links {
		justify-content: flex-start;
	}
	
	.sprachwechsler ul.links li a,
	.sprachwechsler ul.links li a:visited {
		color: var(--weiss);
	}

	.sprachwechsler ul.links li a.is-active {
		color: var(--weiss);
	}
	
	.contentnode .node-leftcol {
		padding-right: 0px;
	}
	
	.footer-wrapper > .footerlogo {
		display: none;
	}
	
	.referenzencontent .tns-outer .tns-controls button {
		width: 25px;
		height: 25px;
	}
	
	.referenzencontent .tns-outer .tns-controls button:nth-child(1) {
		-webkit-transform: translateX(-150%);
		-moz-transform: translateX(-150%);
		transform: translateX(-150%);
	}
	
	.referenzencontent .tns-outer .tns-controls button:nth-child(2) {
		-webkit-transform: translateX(150%);
		-moz-transform: translateX(150%);
		transform: translateX(150%);
	}


}


@media all and (max-width: 834px) {
	
	.footer-wrapper .region-footer {
		justify-content: space-between;
	}
	
	.contact-content-wrapper {
		justify-content: space-between;
		flex-wrap: wrap;
	}
	
	.contact-content-wrapper > div {
		flex-basis: 100%;
	}
	
	.referenzenliste .view-content {
		justify-content: space-between;
	}
	
	.referenzenliste .view-content > .views-row {
		flex-basis: calc(50% - 10px);
		margin-right: 0px;
	}
	
	.referenzenliste .view-content > .views-row:nth-child(3n+3) {
		margin-right: 0px;
	}

	
}


@media all and (max-width:768px) {

	.contentnode {
		flex-wrap: wrap;
	}
	
	.contentnode > div {
		flex-basis: 100%;
	}
	
	.contentnode .node-rightcol {
		margin-top: var(--abstand5);
	}
	
	
	.referenzencontent .tns-outer .tns-controls button {
		width: 35px;
		height: 35px;
	}
	
	.referenzencontent .tns-outer .tns-controls button:nth-child(1) {
		-webkit-transform: translateX(0%);
		-moz-transform: translateX(0%);
		transform: translateX(0%);
	}
	
	.referenzencontent .tns-outer .tns-controls button:nth-child(2) {
		-webkit-transform: translateX(0%);
		-moz-transform: translateX(0%);
		transform: translateX(0%);
	}
	
	.referenzencontent .tns-controls {
		position: relative;
		z-index: 70;
		top: auto;
		-webkit-transform:  translateY(0%);
		-moz-transform: translateY(0%);
		transform: translateY(0%);
		width: 100%;
		display: flex;
		flex-direction: row;
		justify-content: center;
		margin-left: 0px;
		margin-top: var(--abstand3);
	}
	
	.referenzencontent .tns-outer .tns-controls button {
		border: solid 0px red;
		background-color: transparent;
		width: 30px;
		height: 30px;
		margin: 10px;
		background-position: center center;
		background-repeat: no-repeat;
		background-size: contain;
		opacity: 0.5;
	}
	
	.referenzencontent .tns-outer .tns-controls [disabled] {
		visibility: visible;
		opacity: 0.2;
	}
	
	.referenzencontent .button.center {
		margin-top: var(--abstand3);
	}
	
	.user-login-form .form-item-name,
	.user-login-form .form-item-pass {
		width: 100%;
		float: none;
	}
	
	.node--type-legal .node__content {
		overflow-x: hidden;
	}
	
	.page-node-type-legal .node__content a {
	
		/* These are technically the same, but use both */
		overflow-wrap: break-word;
		word-wrap: break-word;
	
		-ms-word-break: break-all;
		/* This is the dangerous one in WebKit, as it breaks things wherever */
		word-break: break-all;
		/* Instead use this non-standard one: */
		word-break: break-word;
	
		/* Adds a hyphen where the word breaks, if supported (No Blink) */
		-ms-hyphens: auto;
		-moz-hyphens: auto;
		-webkit-hyphens: auto;
		hyphens: auto;
	
	}


	
}




@media all and (max-width: 667px) {
	

	
	.topmenu {
		font-size: 330%;
		line-height: var(--lineheight);
	}
	
	.footer-wrapper .region-footer > div {
		flex-basis: 100%;
	}
	
	.webform .wfleft {
		width: 100%;
		float: none;
		clear: both;
	}
	
	.webform .wfleft input {
		width: 100%;
		float: none;
		clear: both;
	}
	
	.webform .wfright {
		width: 100%;
		float: none;
		clear: both;
	
	}
	
	.webform .wfright input,
	.webform .wfright select {
		width: 100%;
		float: none;
		clear: both;
	}
	
	input.js-form-submit {
		
	}
	
}


@media all and (max-width: 550px) {
	
	:root {
			
		--abstand1: 10px;
		--abstand2: 20px;
		--abstand3: 30px;
		--abstand5: 40px;
		--abstand7: 50px;
		--abstand10: 70px;
	}
	
	.topmenu {
		font-size: 270%;
		line-height: var(--lineheight);
	}
	
	.show-mobile {
		display: block;
	}
	.show-desktop {
		display: none;
	}
	
	.p-bilder-inline .field__items > .field__item:not(:last-child) {
		margin-right: 10px;
	}
	
	.paragraphcontainer > .paragraph:nth-child(1) {
		margin-top: 10px;
	}
	
	h1,
	h2 {
		font-size: 250%;
		line-height: 115%;
	}
	
	h3 {
		font-size: 160%;
		line-height: 115%;
	}
	
	h4 {
		font-size: 140%;
		line-height: 115%;
	}
	
	.contactnode .views-element-container {
		font-size: 120%;
	}

	.referenzenliste .view-content > .views-row {
		flex-basis: 100%;
		margin-right: 0px;
	}
	
	.button a,
	.button a:visited {
		white-space: initial;
	}
	
}


@media all and (max-width: 414px) {


}

@media all and (max-width: 375px) {


}

@media all and (max-width: 320px) {


}







@media only screen and (min-device-width: 768px) and (max-device-width: 1366px) and (orientation:landscape) {
	


	
  
	
}


@media only screen and (max-width: 736px) and (orientation:landscape)  {
	

	
}

