/* latin-ext */
@font-face {
  font-family: 'Lato';
  font-style: normal;
  font-weight: 300;
  src: url(../fonts/lato300ext.woff2) format('woff2');
  unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Lato';
  font-style: normal;
  font-weight: 300;
  src: url(../fonts/lato300.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Lato';
  font-style: normal;
  font-weight: 400;
  src: url(../fonts/lato400ext.woff2) format('woff2');
  unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Lato';
  font-style: normal;
  font-weight: 400;
  src: url(../fonts/lato400.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

.d-none {
	display: none;
}

.logo-frame {
	position: absolute;
	right: 0;
	top: 0;
	transform: translateX(50%);
}

.logo-frame img {
	max-width: 180px;
}

@media (max-width:1399px) {
	.logo-frame {
		transform: unset;
	}
	.logo-frame img {
		max-width: 100px;
	}
}

@media (max-width:991px) {
	.logo-frame {
		position: unset;
		transform: unset;
		display: flex;
		justify-content: center;
		align-items: center;
		margin-bottom: 50px;
	}
	.logo-frame img {
		max-width: 140px;
	}
}

/******************************************************* ALLGEMEIN *********/
html {
	width: 100%;
}
body {
	font-family: 'Lato', sans-serif;
	background-color: transparent;
	font-weight: 400;
	min-height: 100%;
	background-image: url('../img/bg-image.svg');
	background-position: right bottom;
	background-repeat: no-repeat;
	background-size: auto 25vw;
}
h2 {
	color: #6db52d;
	font-size: 24px;
	margin-top: 23px;
	margin-bottom: 4px;
	line-height: 1.3;
}
.btn-wrap {
	margin-top: 25px;
}
table td {
	padding: 30px 15px 10px 0;
	font-size: 18px;
}
td .minwidth {
	display: inline-block;
	min-width: 54px;
	text-align: right;
	margin-right: 5px;
}
table i {
	font-size: 30px;
}
img.corner-img {
	position: absolute;
	bottom: 0;
	right: 0;
	z-index: 2;
}
/******************************************************* BUTTONS *********/
.buttons {
	margin-top: 30px;
	padding-left: 20px;
	display: inline-block;
}
.kompetenzen-btn, .leistungen-btn, .unternehmen-btn, .anfahrt-btn, .video-btn, .nachwuchs-btn  {
	border: 2px solid;
	border-radius: 15px;
	font-size: 18px;
	padding: 10px 15px 10px 25px;
	text-align: center;
	display: inline-block;
	width: 220px;
	margin-bottom: 40px;
	transition: 750ms;
}
.kompetenzen-btn:hover, .leistungen-btn:hover, .unternehmen-btn:hover, .anfahrt-btn:hover, .video-btn:hover, .nachwuchs-btn:hover {
	text-decoration: none;
	color: white;
}
.kompetenzen-btn:focus, .leistungen-btn:focus, .unternehmen-btn:focus, .anfahrt-btn:focus, .video-btn:focus, .nachwuchs-btn:focus {
	text-decoration: none;
}
.kompetenzen-btn {
	color: #6db52d;
	border-color: #6db52d;	
	background: linear-gradient(to left, white 50%, #6db52d 50%);
	background-size: 200% 100%;
	background-position:right bottom;	
}
.kompetenzen-btn:hover {
	background-color: #6db52d;
	background-position: left bottom
}
.leistungen-btn {
	color: #6e6e6e;
	border-color: #6e6e6e;
	background: linear-gradient(to left, white 50%, #6e6e6e 50%);
	background-size: 200% 100%;
	background-position:right bottom;		
}
.leistungen-btn:hover {
	background-color: #6e6e6e;	
	background-position: left bottom	
}
.unternehmen-btn {
	color: #999999;
	border-color: #999999;
	background: linear-gradient(to left, white 50%, #999999 50%);
	background-size: 200% 100%;
	background-position:right bottom;		
}
.unternehmen-btn:hover {
	background-color: #999999;	
	background-position: left bottom	
}
.anfahrt-btn {
	color: #a5c711;
	border-color: #a5c711;
	background: linear-gradient(to left, white 50%, #a5c711 50%);
	background-size: 200% 100%;
	background-position:right bottom;		
}
.anfahrt-btn:hover {
	background-color: #a5c711;
	background-position: left bottom	
}
.video-btn {
	color: #367817;
	border-color: #367817;	
	background: linear-gradient(to left, white 50%, #367817 50%);
	background-size: 200% 100%;
	background-position:right bottom;	
}
.video-btn:hover {
	background-color: #367817;
	background-position: left bottom
}
.nachwuchs-btn {
	color: #1e460c;
	border-color: #1e460c;	
	background: linear-gradient(to left, white 50%, #1e460c 50%);
	background-size: 200% 100%;
	background-position:right bottom;	
}
.nachwuchs-btn:hover {
	background-color: #1e460c;
	background-position: left bottom
}
.kompetenzen, .leistungen, .unternehmen, .anfahrt, .video, .nachwuchs {
	position: relative;
	cursor: pointer;
}
.kompetenzen img, .leistungen img, .unternehmen img, .anfahrt img, .video img, .nachwuchs img {
	position: absolute;
	max-width: 75px;
	left: -50px;
	top: -13px;
}
/******************************************************* CONTENT *********/
img.logo {
	padding: 10px 25px 10px;
	background-color: rgba(255, 255, 255, 0.90);
	border-radius: 0 0 0px 0px;
	max-width: 180px;
	margin-left: 0;
}
.img-frame-4-3 {
	aspect-ratio: 16 / 9;
	height: auto;
	width: 100%;
	margin-bottom: 20px;
}
.img-frame-4-3 img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center top;
}
.content-frame a {
	color: #6DB52D;
}
.hex {
    width: 0;
    border-top: 30px solid rgba(255, 255, 255, 0.90);
    border-left: 90px solid transparent;
    border-right: 90px solid transparent;
}
.logo-container {
	top: 0;
}
.cover {
	position: relative;
	background-repeat: no-repeat;
	background-size: 100% auto;
	background-position: center top;
}
.cover-slider-frame {
	width: 100%;
	overflow: hidden;
	display: flex;
	justify-content: center;
	align-items: center;
}
.cover-slider-frame .splide__track {
	overflow: unset;
}
.cover-slider-frame .splide__slide img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.cover .spacer {
	width: 100%;
	max-width: 1920px;
	height: 1px;
	padding-bottom: 23%;
}
.cover img.transparent {
	width: 100%;
	height: auto;
	position: absolute;
	max-width: 1920px;
}
.cover .abswrap {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	pointer-events: none;
}

.content-wrap {
	position: relative;
	background-color: transparent;
	margin-top: 35px;
}
.content h2 {
	text-transform: uppercase;
}
.content h3 {
	color: #6db52d;
	font-size: 18px;
	margin-top: 0px;
	margin-bottom: 4px;
	line-height: 1.3;
	text-transform: uppercase;
}
.content p {
	font-size: 18px;
}
.content table, .content p, .content a {
	color: #8b898d;
}
table td div {
	display: inline-block;
	vertical-align: middle;
}
.content table td div i {
	color: #6db52d;
	transition: 325ms;
	display: inline-block;
	width: 25px;
	text-align: center;
	margin-right: 10px;
}
.content a:hover, .content a:focus {
	color: #6db52d;
	text-decoration: none;
}
.partner {
	padding-top: 30px;
}
.modal p, li {
	font-size: 16px;
	font-weight: 300;
}
.modal .modal-footer button {
	width: 100%;
	margin-top: 23px;
}
.logo-alt {
	max-width: 70px;
	/*float: right;
	margin: 10px 15px 20px 20px;*/
	position: absolute;
	right: 20px;
	top: 15px;
}
@media (max-width:992px) {
	.logo-alt {
		display: none;
	}
}
.modal-body h2 {
	color: rgb(51, 51, 51);
}
.modal-body img {
	margin-bottom: 15px;
}
#myModal h3, #myModal h4, #myModal2 h4, #myModal3 h4, #myModal4 h4, #myModal5 h4, #myModal8 h4 {
	color: #6db52d;
}
#myModal4 ul {
	display: inline-block;
}
#myModal li, #myModal2 li, #myModal4 li {
	margin-top: 10px;
}
.modal3-text {
	color: #6db52d;
}
.img-cover-1, .img-cover-2 {
	height: 200px;
	margin-bottom: 25px;
}
.img-cover-1 {
	padding: 0px 7.5px 0px 0px;
}
.img-cover-2 {
	padding: 0px 0px 0px 7.5px;
}
.is-img-1, .is-img-2 {
	object-fit: cover;
	min-width: 100%;
	min-height: 100%;
	max-height: 100%;
	max-width: 100%;
}
/******************************************************* FOOTER *********/
.footer {
	/*position: absolute;
	bottom: 10px;*/
	width: 100%;
	padding-top: 80px;
	padding-bottom: 20px;
}
.footer p {	
	color: #8b898d;
	font-size: 14px;
	font-weight: 300;
}
.footer a {
	color: #8b898d;
	transition: 325ms;
	font-weight: 300;
}
.footer a:hover, .footer a:focus {
	text-decoration: none;
	color: #6db52d;
}
/******************************************************* MEDIA QUERIES *********/
@media (max-width: 1199px) {
	body {
		background: none;
	}
	.cover .spacer {
		padding-bottom: 38.3333%;
	}
	img.logo, .hex {
		max-width: 180px;
		padding-bottom: 20px;
		margin-left: auto;
		margin-right: auto;
	}
	.hex {
		border-left: 90px solid transparent;
	    border-right: 90px solid transparent;
	}
	.footer {
		position: static;
	}
}
@media (min-width: 980px) {
	.img-cover-1, .img-cover-2 {
		height: 400px;
	}
	.is-img-1 {
		object-position: 50% 50%;
	}
	.is-img-2 {
		object-position: 50% 77%;
	}
}
@media (min-width: 769px) and (max-width: 979px) {
	.is-img-2 {
		object-position: 50% 68%;
	}
}
@media (min-width: 769px) {
	.content h2, .content h3, .content p {
		/*margin-left: 38px;*/
	}
	td.scnd-row {
		padding-left: 15px;
	}
}
@media (max-width: 992px) {
	.sm-leftalign {
		text-align: left;
	}
	.is--small-margin-top {
		display: block;
	}
	.cover .spacer {
		padding-bottom: 68.75%;
	}
	.buttons {
		margin-top: 50px;
		padding-left: 0;
	}
	.kompetenzen, .leistungen, .unternehmen, .anfahrt, .video, .nachwuchs {
		width: 230px;
		display: block;
		margin: 0 auto;
		padding-left: 50px;
	}
	.kompetenzen img, .leistungen img, .unternehmen img, .anfahrt img, .video img, .nachwuchs img {
		left: 0;
	}
	img.logo {
		background-color: rgba(255, 255, 255, 0.90);
		max-width: 160px;
		margin-right: 10%;
	}
	.hex {
		border-left: 80px solid transparent;
		border-right: 80px solid transparent;
		margin-right: 10%;
	}
	.content-wrap {
		margin-top: 20px;
	}
	.content h2 {
		text-align: center;
		font-size: 25px;
	}
	.content h3 {
		text-align: center;
	}
	.content p {
		text-align: center;
	}
	table a {
		font-size: 18px;
	}
	table i {
		font-size: 22px;
	}
	table {
		text-align: center;
		width: 100%;
	}
	table td {
		display: inline-block;
		float: left;
		width: 100%;
		padding-top: 10px;
	}
	.is-img-1 {
		object-position: 10% 50%;
	}
	.is-img-2 {
		object-position: 40% 60%;
	}
}
@media (max-width: 600px) {
	.kompetenzen, .leistungen, .unternehmen, .anfahrt, .video, .nachwuchs {
		display: block;
		margin: 0 auto;
	}
	img.logo, .hex {
		margin-right: 0;
		max-width: 150px;
	}
	.hex {
		border-left: 75px solid transparent;
		border-right: 75px solid transparent;
	}
}
@media (max-width: 475px) {
	img.logo {
		max-width: 120px;
	}
	.hex {
		border-left: 60px solid transparent;
		border-right: 60px solid transparent;
	}
	.buttons {
		padding-left: 0;
	}
}
@media (max-height: 883px) {
	.footer {
		position: static;
	}
}
@media (max-height: 842px) {
	html {
		background: none;
    }
}


@media (max-width: 767px) {
	.logo, .hex {
		display: none !important;
	}
}



/******************************************************* POP-UP *********/

.modal {
    z-index: 950;
}

.modal-backdrop {
    z-index: 940;
}

#pop-up.modal.fade.in {
    display: flex !important;
    justify-content: center;
    align-items: center;
}
#pop-up .modal-content {
    border: unset;
    background: unset;
    box-shadow: unset;
}

#pop-up .modal-content .modal-header {
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    z-index: 2;
    border: unset;
}

#pop-up .modal-content .modal-header .close {
    opacity: 1;
}

#pop-up .modal-content .modal-body {
    position: relative;
    z-index: 1;
    padding: unset;
}

#pop-up .modal-content .modal-body a {
    text-decoration: unset !important;
}

#pop-up .modal-content .modal-body img {
    width: 100%;
    height: auto;
    margin: unset;
}

#pop-up .modal-content .modal-body .label-frame {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: flex-end;
    align-items: center;
    gap: 15px;
    margin-top: 15px;
}

#pop-up .modal-content .modal-body .label-frame svg {
    width: 30px;
    height: auto;
}

#pop-up .modal-content .modal-body .label-frame svg * {
    fill: #FFFFFF;
    transition: ease 250ms fill;
}

#pop-up .modal-content .modal-body .label-frame p {
    color: #FFFFFF;
    font-size: 20px;
    font-weight: 400;
    margin: unset;
    transition: ease 250ms color;
}

#pop-up .modal-content .modal-body a:hover .label-frame p {
    color: #A5C711;
}
#pop-up .modal-content .modal-body a:hover .label-frame svg * {
    fill: #A5C711;
}