/**
*  @template       GEFA Ingenieure GmbH template.css
*  @version        see info.php of this template
*  @author         WOHLERT.IT
*  @copyright      WOHLERT.IT
*  @license        All rights reserved
*  @license terms  no use without written permission
*  @platform       see info.php of this template
*/
@font-face {font-family: 'RobotoSlab-Regular';src: url('../fonts/RobotoSlab-Regular.woff2') format('woff2');font-weight: normal;font-style: normal;font-display: swap;}
@font-face {font-family: 'RobotoSlab-Bold';src: url('../fonts/RobotoSlab-Bold.woff2') format('woff2');font-weight: normal;font-style: normal;font-display: swap;}
@font-face {font-family: 'tffkaps-semibold';src: url('../fonts/tffkaps-semibold-webfont.woff2') format('woff2'),url('../fonts/tffkaps-semibold-webfont.woff') format('woff');font-weight: normal;font-style: normal;font-display: swap;}
@font-face {font-family: 'tffkaps-light';src: url('../fonts/tffkaps-light-webfont.woff2') format('woff2'),url('../fonts/tffkaps-light-webfont.woff') format('woff');font-weight: normal;font-style: normal;font-display: swap;}
@font-face {font-family: 'Font Awesome solid';font-style: normal;font-weight: 900;src: url("../fonts/fa-solid-900.woff2") format("woff2");}
html {overflow-y:scroll;}
html body {background:#555;font-family:'tffkaps-light',sans-serif;font-size:18px;line-height:24px;color:#4f4f4f;height:100%;}
* {margin:0;padding:0;box-sizing:border-box;}
a, img {border:none;outline:none;}
strong, b {font-family:'tffkaps-semibold',sans-serif;font-weight:normal;}
.js .slicknav_menu , .js #menu {display:none;}
.fa,.fas {font-family: 'Font Awesome solid';font-weight: 900;display: inline-block;font-style: normal;font-variant: normal;text-rendering: auto;line-height: 1; }
.fa-envelope:before {content: "\f0e0"; }
.fa-phone:before {content: "\f095"; }
.fa-tree-city:before {content: "\e587"; }
.fa-faucet-drip:before {content: "\e006"; }
.fa-elevator:before {content: "\e16d"; }
.fa-kitchen-set:before {content: "\e51a"; }
.fa-plug-bolt:before {content: "\e55b"; }
.fa-flask-vial:before {content: "\e4f3"; }
.fa-caret-right:before {content: "\f0da"; }
.fa-caret-left:before {content: "\f0d9"; }
.fa-chevron-right:before {content: "\f054"; }
.fa-ruler-combined:before {content: "\f546"; }
.fa-temperature:before {content: "\f76b"; }
#menu, .slicknav_menu {display:none;}
/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ transitions ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
a, input, textarea, button, form, p, span, .teaser, .teasertext, .teaserlink a, img, div, article {transition:all 0.25s;}
/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ H E A D E R ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
header {width:100%;height:130px;background:#fff;position:fixed;top:0;left:0;z-index:99999;box-shadow:0 4px 2px -2px rgb(0,0,0,0.16);}
#header_frame {width:1400px;height:100%;margin:20px auto;position:relative;z-index:999;display:flex;justify:content:space-between;}
#logo {width:300px;height:auto;}
#logo img {max-width:100%;width:auto;height:auto;line-height:0;}
#logo img:focus, #logo img:hover, #logo img:active {opacity:0.8;}
/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ NAVI ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
nav {position:absolute;top:43px;right:0;z-index:999;}
nav ul {list-style:none;position:relative;z-index:999;display:flex;}
nav ul li {padding:0 0 0 50px;position:relative;}
nav ul li:first-child {display:none;} /* introseite */
nav ul li a {display:block;padding:0 0 15px;font-family:'tffkaps-light',sans-serif;font-size:18px;line-height:24px;font-weight:normal;color:#4f4f4f;text-decoration:none;text-transform:uppercase;letter-spacing:0.5px;border-bottom:2px solid #fff;}
nav ul li a:hover, nav ul li ul li a:hover {color:#017bc0;border-bottom:2px solid #017bc0;}
nav ul ul li a:hover {background:transparent;color:#017bc0;}
nav ul ul {display:none;position:absolute;top:50px;left:-40px;width:300px;background:rgba(255,255,255,0.9);padding:50px 0 34px 40px;z-index:999;-webkit-backdrop-filter: blur(20px);backdrop-filter: blur(20px);}
nav ul li:last-child ul {left:-60px;}
nav ul li:hover > ul {display:inherit;z-index:999;}
nav ul ul li {width:300px;display:list-item;position:relative;float:none;padding:0;border-bottom:1px solid #AEA16C;}
nav ul ul ul {display:none;position:absolute;top:-12px;left:100%;width:300px;background:rgba(255,255,255,0.9);padding:12px 0 34px 40px;z-index:999;-webkit-backdrop-filter: blur(20px);backdrop-filter: blur(20px);}
nav ul ul li:hover > ul {display:inherit;z-index:99;}
nav ul li.menu-current a, nav ul li ul li.menu-current a, nav ul li.menu-parent a, nav ul li.menu-parent li.menu-parent a, nav ul li.menu-parent li.menu-parent li.menu-current a {color:#017bc0;border-bottom:2px solid #017bc0;}
nav ul li.menu-current li a, nav ul li.menu-parent li > a, nav ul li.menu-parent li.menu-parent li a {color:#a9a9a9;}
nav ul li.menu-current li, nav ul li ul li.menu-current {background:transparent;}
nav ul li.menu-parent li.menu-parent li a:focus, nav ul li.menu-parent li.menu-parent li a:hover, nav ul li.menu-parent li.menu-parent li a:active {color:#a9a9a9;}
/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Headerbilder ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
#banner {width:100%;height:300px;margin:120px 0 0 0;background:#017bc0;}
#header_frame img {width:1200px;margin:0 auto;text-align:right;position:relative;}
#header_frame img, #header_frame p {line-height:0;}
#header_frame img:nth-of-type(2) {display:none;}
#claim {position:absolute;top:0;left:0;width:400px;padding:100px 0 0 30px;text-align:left;font-size:38px;line-height:42px;color:#fff;text-transform:uppercase;box-sizing:border-box;}
/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ C O N T E N T   G R I D ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
main {width:100%;min-height:300px;background:#fff;}
.content_frame {width:1400px;margin:0 auto;padding:40px 0;}
.colframe {display:flex;}
.col:nth-child(1) {flex:0 0 25%;width:25%;padding:30px 80px 0 0;text-align:center;}
.col:nth-child(2) {flex:1 1 75%;width:75%;}
.twocol {display:flex;gap:40px;padding:0 0 40px 0;}
.twocol .col {flex:1 1 50%;width:calc(50% - 20px);padding:0;text-align:left;}
/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ C O N T E N T   F O R M A T S ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
main a:link, main a:visited {font-family:'tffkaps-semibold',sans-serif;font-weight:normal;text-decoration:none;color:#017bc0;}
main a:focus, main a:hover, main a:active {color:#4f4f4f;}
main p, main ul {padding:0 0 20px 0;margin:0;}
main td {vertical-align:top;}
main ul {padding:0;margin:0 0 40px 25px;}
main li {padding:0 0 0 10px;}
main h1 {font-family:'RobotoSlab-Bold',serif;font-size:36px;line-height:42px;font-weight:normal;padding:40px 0 60px;color:#017bc0;letter-spacing:1px;text-align:center;}
main h2 {font-family:'RobotoSlab-Bold',sans-serif;font-size:24px;line-height:28px;font-weight:normal;padding:0 0 20px 0;color:#017bc0;letter-spacing:1px;}
main h2.claim {font-size:36px;line-height:42px;}
main h3 {font-family:'tffkaps-semibold',sans-serif;font-size:20px;line-height:28px;font-weight:normal;padding:0 0 20px 0;color:#017bc0;letter-spacing:1.5px;}
.bg_box {background:#eee;padding:40px;margin-top:40px;}
.clr {clear:both;height:0px;font-size:0px;line-height:0px;}
.bildlinks {float:left;padding:0 5px 15px 5px;}
.bildrechts {float:right;padding:0 0 5px 15px;}
.cc-revoke, .cc-revoke > *, .cc-animate.cc-revoke.cc-bottom {display:none !important;/*hide*/}
/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ HOME BUTTONS ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
.cbuttons {width:1400px;display:flex;justify-content:space-between;margin:50px auto 15px auto;}
.cbuttons p {width:calc(50% - 10px);}
.cbuttons p:nth-of-type(1) {margin:0 10px 0 0;}
.cbuttons p:nth-of-type(2) {margin:0 0 0 10px;}
.cbuttons a:link, .cbuttons a:visited {display:block;width:100%;font-family:'tffkaps-semibold',sans-serif;font-size:24px;line-height:70px;color:#fff;background:#017bc0;text-align:center;text-decoration:none;}
.cbuttons a:focus, .cbuttons a:hover, .cbuttons a:active {background:#aaa;}
/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ TEASER ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
.cardframe {width:1400px;margin:60px auto;display:flex;flex-wrap:wrap;gap:20px;}
.card_item {width:calc(25% - 15px);}
.card_item article {background:#29548d;}
.card {position: relative;width:100%;overflow: hidden;color: #fff;}
.card_item:nth-of-type(2) article {background:#e36e5e;}
.card_item:nth-of-type(3) article {background:#faab39;}
.card_item:nth-of-type(4) article {background:#298d3c;}
.card_item:hover article, .card_item:nth-of-type(2):hover article, .card_item:nth-of-type(3):hover article, .card_item:nth-of-type(4):hover article  {background:#aaa;box-shadow: 0 4px 6px rgba(0, 0, 0, 0.4);}
.card__image {width: 100%;height: auto;object-fit: cover;display: block;}
.card__body {height:50px;padding: 10px 18px;display: flex;flex-direction: column;justify-content: center;gap: 6px;}
.card__title {}
.card__link {text-decoration: none;color: inherit;text-align:center;}
.card__link::after {content: "";position: absolute;inset: 0;}
main .card a:link, main .card a:visited {font-family:'tffkaps-semibold',serif;font-weight:normal;font-size:18px;line-height:24px;text-decoration:none;color:#fff;}
main .card a:focus, main .card a:hover, main .card a:active {color:#fff;}
/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ FOOTER ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
footer {width:100%;background:#555;color:#fff;border-top:5px solid #017bc0;}
#footerframe {width:1400px;margin:0 auto;display:flex;padding:40px 0 80px;box-sizing:border-box;justify-content:space-between;}
.footer_adr {flex:0 1 300px;width:300px;}
.footer_adr a:link, .footer_adr a:visited {font-family:'tffkaps-light',sans-serif;font-weight:normal;color:#fff;text-decoration:none;}
.footer_adr a:focus, .footer_adr a:hover, .footer_adr a:active {color:#79bdee;}
.footernav {flex:0 1 150px;width:150px;}
.footernav ul {list-style-type:none;}
.footernav li a:link, .footernav li a:visited {font-family:'tffkaps-light',sans-serif;font-weight:normal;color:#fff;text-decoration:none;display:block;}
.footernav li a:focus, .footernav li a:hover, .footernav a:active {color:#79bdee;}
.footernav li.menu-current a {color:#79bdee;}
/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ BOF UP ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
.move-up {position:fixed;bottom:20px;right:20px;display: none;z-index:1000;width:80px;height:80px;border:none;background:rgba(41,84,141,.7);cursor:pointer;text-align:center;padding:30px 10px 10px;border-radius:40px;box-sizing:border-box;}
.move-up i {border:solid #fff;border-width:0 3px 3px 0;display:inline-block;padding:15px;transform: rotate(-135deg);}
.move-up:hover {background:rgba(41,84,141,1);}
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ SLICKNAV ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
.slicknav_btn {position:fixed;display: block;right:0;top:130px;cursor: pointer;text-decoration: none;background:#fff;z-index:99999999;padding:10px;box-shadow: 0 4px 2px -2px rgb(0,0,0,0.16);}
.slicknav_btn img {width:40px;height:40px; }
.slicknav_btn .slicknav_icon-bar + .slicknav_icon-bar {margin-top: 0; }
.slicknav_menu {position:relative; box-sizing: border-box;background:#fff;padding:0;}
.slicknav_menu .slicknav_menutxt {display: block;float: left; }
.slicknav_menu .slicknav_icon {display:none; }
.slicknav_menu .slicknav_no-text {margin: 0; }
.slicknav_menu:before {content: " ";display: table; }
.slicknav_menu:after {content: " ";display: table;clear: both; }
.slicknav_nav {clear: both; position:fixed;top:130px;left:0;z-index:9999999;background:#f0f0ef;width:100%;color: #fff;padding:10px 0 30px 0%;list-style: none;overflow: hidden;box-sizing:border-box;}
.slicknav_nav ul {display: block;list-style: none;overflow: hidden;padding: 0;margin:0;  }
.slicknav_nav li {display: block;}
.slicknav_nav .slicknav_item {cursor: pointer; }
.slicknav_nav .slicknav_item a {display: inline; padding: 0;margin: 0; }
.slicknav_nav .slicknav_row {display: block; }
.slicknav_nav .slicknav_parent-link a {display: inline;padding: 0;margin: 0;  }
.slicknav_nav a {display: block;padding:0 0 0 20px;font-family:'tffkaps-light',sans-serif;font-size:24px;line-height:36px;font-weight:normal;color:#4f4f4f;text-decoration:none;letter-spacing:1px;}
.slicknav_nav ul ul a {font-size:18px;line-height:20px;color:#4f4f4f;text-transform:none;letter-spacing:0px;}
.slicknav_nav ul ul {padding:10px 0 0 0;}
.slicknav_nav a:focus, .slicknav_nav a:hover, .slicknav_nav a:active {color:#017bc0;}
.slicknav_nav .slicknav_txtnode {margin-left: 15px; }
/* ~~~~~~~~~~~~~~~~~~~~ Arrow ~~~~~~~~~~~~~~~~ */
.slicknav_nav .slicknav_arrow {margin: 0 20px 0 0;float:right;}
i.arrow-r {display:inline-block;width:13px;height:13px;transform: rotate(-45deg);background:transparent;-moz-box-shadow: 2px 2px #fff;-webkit-box-shadow: 2px 2px #fff;box-shadow: 2px 2px #fff;position:relative;top:-1px;}
i.arrow-d {display:inline-block;width:13px;height:13px;transform: rotate(45deg);background:transparent;-moz-box-shadow: 2px 2px #fff;-webkit-box-shadow: 2px 2px #fff;box-shadow: 2px 2px #fff;position:relative;top:-7px;left:6px;}
/* ~~~~~~~~~~~~~~~~~~~~ Aktiv ~~~~~~~~~~~~~~~~ */
.slicknav_nav ul li.menu-current a {color:#017bc0;}
.slicknav_nav ul li.menu-current li > a {color:#4f4f4f;}
.slicknav_nav ul li.menu-current li > a:hover {color:#017bc0;}
.slicknav_nav ul li.menu-current li.menu-current a {color:#4f4f4f;}
.slicknav_nav li li li.menu-current a {color:#4f4f4f;}
/* ~~~~~~~~~~~~~~~~~~~~ Parent ~~~~~~~~~~~~~~~~ */
.slicknav_nav li.menu-parent a, .slicknav_nav li.menu-parent li.menu-parent a {color:#4f4f4f;}
.slicknav_nav ul li.menu-parent li a, .slicknav_nav ul li.menu-parent li.menu-parent li a {color:#fff;}
.slicknav_nav ul li.menu-parent li.menu-current a, .slicknav_nav ul li.menu-parent li.menu-parent li.menu-current a {color:#4f4f4f;}
.slicknav_nav ul li.menu-parent a:hover {color:#ff5800;}
.slicknav_nav ul li.menu-parent li.menu-parent a:hover {color:#ff5800;background:url(../images/dash-orange-m.png)top left no-repeat;}
/* ~~~~~~~~~~~~~~~~~~~~ LANGUAGE ~~~~~~~~~~~~~~~~ */
.slicknav_menu span.easymultilang_current {display:inline-block;font-family:'tffkaps-semibold',sans-serif;font-size:22px;line-height:42px;font-weight:normal;color:#6E6543;text-decoration:none;text-transform:uppercase;}
.slicknav_menu .lang_item, .easymultilang {display:inline-block;}
.slicknav_menu .lang_item::after {content:'|';font-family:'tffkaps-semibold',sans-serif;font-size:22px;line-height:42px;font-weight:normal;color:#6E6543;padding:0 6px 0 8px;}
.slicknav_menu .lang_item:last-child::after {content:'';padding:0;}
.slicknav_nav .lang_item a {color:#6E6543;line-height:42px;}
.slicknav_nav .lang_item a:hover {color:#ff5800;}
/* ~~~~~~~~~~~~~~~~~~~~ Buttons ~~~~~~~~~~~~~~~~ */
#cross {display:none;}
a.slicknav_open #burger {display:none;}
a.slicknav_open #cross {display:block;}
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ START RESPONSIVE ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
@media only screen and (max-width: 1430px) {
img {max-width:100%;width:auto;height:auto;line-height:0;}
#header_frame {width:100%;margin:0;padding:20px;}
nav {top:63px;right:30px;}
.content_frame {width:100%;margin:0;padding:40px 20px 0;}
.cardframe {width:100%;margin:60px 0;}
.cbuttons {width:100%;margin:50px 0 15px 0;}
.twocol {gap:20px;}
.twocol .col {width:calc(50% - 10px);}
#footerframe {width:100%;margin:0;justify-content:space-around;}
}
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
@media only screen and (max-width: 1050px) {
nav ul li {padding:0 0 0 30px;}
}
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
@media only screen and (max-width: 950px) {
.js #menu {display:none;}
.js .slicknav_menu, .slicknav_menu {display:block;}
#logo {margin:0 auto;}
nav {display:none;}
#banner {height:auto;margin:80px 0 0 0;width:100%;height:auto;padding:20px;box-sizing:border-box;}
.content_frame {padding:20px;}
main td, main tr {display:block;}
.cbuttons {flex-wrap:wrap;}
.cbuttons p {flex:1 1 100%;}
.cbuttons p:nth-of-type(1), .cbuttons p:nth-of-type(2) {margin:0;}
.colframe, .twocol {flex-wrap:wrap;}
.colframe .col:nth-child(1) {flex:1 1 100%;width:100%;padding:30px 0 0;order:2;}
.colframe .col:nth-child(2) {flex:1 1 100%;width:100%;order:1;}
.twocol .col:nth-child(1), .twocol .col:nth-child(2) {flex:1 1 100%;width:100%;}
#footer {margin-top:0;}
#footerframe {flex-wrap:wrap;padding:40px 0;text-align:center;}
.footer_adr {flex:1 1 auto;width:100%;padding:0 20px 20px;text-align:center;}
.footernav {flex:1 1 auto;width:100%;padding:20px;text-align:center;}
}
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
@media only screen and (max-width: 950px) {
.card_item {width:100%;}
}
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
@media only screen and (max-width: 400px) {
#logo {width:100%;}
}