/********************************************************************
*
*	karl-joos-gmbh.de - style
*	Copyright 2019 karl-joos-gmbh.de
*
* Entwickelt und entworfen von www.metastack.de
*	by Patrick Bredemeier (patrick.bredemeier@metastack.de)
*
********************************************************************/
body {
  font-family: Verdana, Geneva, sans-serif;
  -webkit-tap-highlight-color: rgba(0,0,0,0);
  -webkit-tap-highlight-color: transparent;
}
::selection {
  background-color: #C4DDB6;
  color: #2F3642;
  text-shadow: none;
}
a {
  color: #1B9238;
  text-decoration:none;
  outline: 0;
}
a:hover {
  color: #1EA440;
}

/* =============================================================================
 * typography
 * ========================================================================== */
h1 {
  font-size: 26px;
  color:#2F3642;
}
h2 {
  font-size: 22px;
  color:#2F3642;
}
h3 {
  color:#2F3642;
}
.kj-headline h1 {
  position: relative;
  display: inline-block;
  font-weight: 500;
}
@media only screen and (max-width: 768px) {
  .kj-headline h1:before{
    display:none;
  }
  .kj-headline h1 {
    text-decoration: underline;
    text-decoration-color: #C4DDB6;
  }
}
.kj-headline h1.has-sub {
  margin-top:0px;
}
.kj-headline h1:before {
  content: '';
  width: 100%;
  position: absolute;
  z-index: -1;
  height: 20%;
  bottom: 8%;
  background: #C4DDB6;
}
.kj-headline h2 {
  color: #979797;
  font-weight: 400;
  margin-bottom: 10px;
}

.kj-headline-v2 h2 {
  letter-spacing: 2px;
  font-weight: 600;
  position: relative;
  padding-left: 76px;
  text-transform: uppercase;
}
.kj-headline-v2 h2:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  margin-top: -.5px;
  width: 61px;
  height: 5px;
  background-color: #C4DDB6;
}

h2.green {
  color: #1B9238;
  font-size: 24px;
}

/* =============================================================================
 * contao
 * ========================================================================== */
.mod_article {
  overflow: visible;
}

/* =============================================================================
 * buttons
 * ========================================================================== */
.a-button--full {
  cursor: pointer;
  display: block;
  padding: 0.7em 1.1em;
  vertical-align: top;
  width: 100%;
  border: 1px solid #C4DDB6;
  background-color: #C4DDB6;
  color: #2F3642;
  line-height: 1.2;
  font-size: 17px;
  font-weight: bold;
  text-align: center;
  -webkit-appearance: none;
  -webkit-transition: all .2s;
  transition: all .2s;
}
.a-button--full:hover {
  border: 1px solid #AED09B;
  background-color: #AED09B;
  text-decoration: none;
}
.a-button--full-green {
  cursor: pointer;
  display: block;
  padding: 0.7em 1.1em;
  vertical-align: top;
  width: 100%;
  color:#2F3642;
  border: 1px solid #C4DDB6;
  background-color: #C4DDB6;
  line-height: 1.2;
  font-size: 17px;
  font-weight: bold;
  text-align: center;
  -webkit-appearance: none;
  -webkit-transition: all .2s;
  transition: all .2s;
}
.a-button--full-green:hover {
  border: 1px solid #AED09B;
  background-color: #AED09B;
  text-decoration: none;
  color:#2F3642;
}
.button-block {
  position: relative;
  z-index: 2;
  transition: all 0.25s ease-out;
  margin:10px 5px;
}
.button-block {
  display: inline-block;
  padding: 1em 1.3em 1em;
  text-transform: uppercase;
  font-family: "Poppins", sans-serif;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.1em;
  transition: cubic-bezier(0.22, 0.61, 0.36, 1);
  text-decoration: none;
}
.button-block.green {
  background: #C4DDB6;
}
.button-block--brand {
  border: 2px solid #313A47;
  color: #313A47;
  box-shadow: 2px 2px 0;
}
.button-block--brand:hover {
  border: 2px solid #313A47;
  color: #1B9238;
  box-shadow: -2px -2px 0 #313A47;
  -webkit-transition: color 0.15s ease-out;
  -moz-transition: color 0.15s ease-out;
  transition: color 0.15s ease-out;
  transition: all 0.4s;
  text-decoration: none !important;
}
.button-block--brand.green:hover {
  color: #313A47;
}
.button-block--brand:hover:after {
  content: "";
  position: absolute;
  left: 14%;
  bottom: 13px;
  width: 80%;
  background: url(../images/nav-hover.png) 50% repeat;
  background-size: 12px auto;
  height: 12px;
  -webkit-transition: all 0.5s ease;
  -moz-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  -ms-transition: all 0.5s ease;
  transition: all 0.5s ease;
  z-index: -1;
}
.a-button {
  cursor: pointer;
  padding: 10px;
  vertical-align: top;
  border: 1px solid #1B9238;
  background-color: #1B9238;
  color: #fff;
  line-height: 1.2;
  font-size: 17px;
  font-weight: bold;
  text-align: center;
  -webkit-appearance: none;
  -webkit-transition: all .2s;
  transition: all .2s;
  outline: 0;
  display:block;
  margin: 10px 0;
}
.a-button:hover {
  border: 1px solid #1EA440;
  background-color: #1EA440;
  text-decoration: none;
  color:#fff;
}

.glass-button-light {
  font-size: 16px;
  background: #1B9238;
  color: #fff;
  padding: 6px;
  outline: 0;
  display: block;
  line-height: 0;
  border-radius: 2px;
}
.glass-button-light i {
  margin-right:5px;
}
.glass-button-light:hover {
  background: #1EA440;
  color: #fff;
  cursor: pointer;
}
body.home-page .glass-button-light {
  margin-left:10px;
}
@media only screen and (max-width: 1200px) {
  .glass-button-light .text {
    display:none;
  }
  .glass-button-light i {
    margin-right:0px;
    font-size:18px;
  }
}

.glass-button {
  background: #1B9238;
  color: #fff;
  display: block;
  padding: 0px 10px;
  margin: 0 5px;
}
.glass-button:hover {
  background: #1EA440;
  cursor: pointer;
  color:#fff;
}
.glass-button i {
  margin-right: 5px;
}
@media only screen and (max-width: 768px) {
  .glass-button .text {
    display:none;
  }
  .glass-button i {
    margin-right:0px;
    font-size:18px;
  }
}

.btn-green {
  background: #1B9238;
  color: #fff;
  padding: 18px;
  outline: 0;
  line-height: 0;
  border-radius: 2px;
  display:inline-block;
  margin:10px;
}
.btn-green.lg {
  padding: 25px;
  font-size: 20px;
}
.btn-green:hover {
  background: #1EA440;
  color: #fff;
  cursor: pointer;
}
.btn-group.center {
  text-align: center;
}

/* =============================================================================
 * sonstiges
 * ========================================================================== */
.flexStretch {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  display: block;
}
.margin-10-0 {
  margin:10px 0;
}
.divider-v1 {
  background: #1B9238;
  width: 65px;
  height: 5px;
  margin-bottom: 20px;
  margin-top: 5px;
}
.d-flex {
  display:flex;
}
.flex-end {
  justify-content: flex-end;
}
.flex-center {
  justify-content: center;
  align-items: center;
}
.text-center {
  text-align: center;
}
.bl-text-box {
  padding: 35px;
  background: rgba(0,0,0,0.5);
  color: #fff;
}
@media only screen and (max-width: 768px) {
  .bl-text-box {
    padding:25px;
  }
}
.gr-text-box {
  padding: 35px;
  background: rgba(196,221,182,0.5);
}
@media only screen and (max-width: 768px) {
  .gr-text-box {
    padding:25px;
  }
}
.checkbox-ctn {
  position: relative;
  margin:15px 0;
  text-align: left;
}
.checkbox-ctn label {
  cursor: pointer;
  display: inline;
  line-height: 1.25em;
  vertical-align: top;
  clear: both;
  padding-left: 1px;
}
.checkbox-ctn.small label {
  font-size:13px;
}
.checkbox-ctn label:not(:empty) {
  padding-left: 0.75em;
}
.checkbox-ctn label:before, .checkbox-ctn label:after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
}
.checkbox-ctn label:before {
  width: 1.25em;
  height: 1.25em;
  background: #fff;
  border: 2px solid rgba(0, 0, 0, 0.54);
  border-radius: 0.125em;
  cursor: pointer;
  transition: background .3s;
}
.checkbox-ctn.small label:before {
  width: 16px;
  height: 16px;
}
.checkbox-ctn input[type="checkbox"] {
  outline: 0;
  visibility: hidden;
  width: 1.25em;
  margin: 0;
  display: block;
  float: left;
  font-size: inherit;
}
.checkbox-ctn.small input[type="checkbox"] {
  width: 16px;
}
.checkbox-ctn input[type="checkbox"]:checked + label:before {
  background: #1B9238;
  border: none;
}
.checkbox-ctn input[type="checkbox"]:checked + label:after {
  transform: translate(0.25em, 0.3365384615em) rotate(-45deg);
  width: 0.75em;
  height: 0.375em;
  border: 0.125em solid #fff;
  border-top-style: none;
  border-right-style: none;
}
.checkbox-ctn.small input[type="checkbox"]:checked + label:after {
  transform: translate(0.25em, 0.3365384615em) rotate(-45deg);
  width: 10px;
  height: 5px;
  border: 0.125em solid #fff;
  border-top-style: none;
  border-right-style: none;
}
.checkbox-ctn input[type="checkbox"]:disabled + label:before {
  border-color: rgba(0, 0, 0, 0.26);
}
.checkbox-ctn input[type="checkbox"]:disabled:checked + label:before {
  background: rgba(0, 0, 0, 0.26);
}

.gmap {
  margin:40px 0;
}
.section-grey {
  padding: 40px 0;
  background: rgba(238,240,242,0.5);
  margin:50px 0;
}
.img-ctn-md {
  padding:10px;
  margin:20px;
}
/* .img-opacity {
  opacity:0.7;
} */
.shadow-box {
  box-shadow: 0px 2px 5px 0px rgba(0, 0, 0, 0.2);
  padding:25px;
  margin:10px 0;
  min-height: 210px;
}
.green--marked {
  font-size: 25px;
  color:#1B9238;
}
/* =============================================================================
 * top-bar
 * ========================================================================== */
.top-bar {
  background: #EEF0F2;
  color: #2F3642;
  line-height: 36px;
  font-size: 14px;
  box-shadow: rgba(0, 0, 0, 0.2) 0px 0px 5px;
}
.top-bar .mod-top-bar {
  display:flex;
  flex-wrap: wrap;
  align-items: center;
}
.top-bar .mod-top-bar .tb-cell a, .top-bar .mod-top-bar .tb-cell span {
  color: #2F3642;
  padding: 0 12px;
  display: inline-block;
  transition: background 0.3s ease;
  -webkit-transition: background 0.3s ease;
}
.top-bar .mod-top-bar .tb-cell a:hover {
  background: #C4DDB6;
}
.top-bar .mod-top-bar .tb-cell a:hover i {
  color: #fff;
}
.top-bar .mod-top-bar .tb-cell i {
  padding-right: 8px;
  color: #1B9238;
}
@media only screen and (max-width: 991px) {
  .top-bar .mod-top-bar .tb-cell.location {
    display:none;
  }
}
body.home-page .top-bar {
  display:none;
}
/* body.home-page .header-bar .mod-login-top {
  margin-left:50px;
}
@media only screen and (max-width: 1200px) {
  body.home-page .header-bar .mod-login-top {
    margin-left:10px;
  }
} */
@media only screen and (max-width: 991px) {
  body.home-page .top-bar {
    display:block;
  }
  body.home-page .header-bar .mod-login-top {
    display:none;
  }
  body.home-page .header-bar .mod-dispo-top {
    display:none;
  }
}
@media only screen and (max-width: 768px) {
  .top-bar .mod-top-bar {
    padding: 10px 0;
  }
  .top-bar .mod-top-bar .tb-cell.mail {
    display:none;
  }
}
.top-bar .mod-top-bar .btn-light {
  margin: 0;
}

/* =============================================================================
 * header
 * ========================================================================== */
header {
  margin-bottom:20px;
}
.header {
  border-bottom: 1px solid #f3f3f3;
}
.header .logo {
  width:300px;
  padding: 20px 0;
}
.header .logo a {
  display:flex;
  align-items:center;
}
.header .logo .p1 {
  height: 86px;
  width: 86px;
/*   -webkit-animation:spin 20s linear infinite;
  -moz-animation:spin 20s linear infinite;
  animation:spin 20s linear infinite; */
}
@-moz-keyframes spin { 100% { -moz-transform: rotate(360deg); } }
@-webkit-keyframes spin { 100% { -webkit-transform: rotate(360deg); } }
@keyframes spin { 100% { -webkit-transform: rotate(360deg); transform:rotate(360deg); } }
.header .logo .p2 {
  height: 86px;
  width: 250px;
}
.header-bar {
  display:flex;
  align-items: center;
}
.header-extensions {
  margin-top: 50px;
}
.header-extensions .icon-box {
  /* max-width:250px;
  display: flex;
  align-items: center; */
  margin-bottom: 20px;
  font-size: 15px;
}
.header-extensions .icon-box i {
  padding-right: 8px;
  /* font-size: 30px; */
  color: #2F3642;
}
/* .header-bar .icon-box .text {
  font-weight: 600;
  font-size: 12px;
} */
.header-extensions .icon-box a {
  color: #2F3642;
}
.header-bar .icon-box a:hover {
  text-decoration: underline;
}
@media only screen and (max-width: 991px) {
  header {
    margin-bottom:0px;
  }
  .header-bar .main {
    display:flex;
    align-items:center;
    justify-content: space-between;
  }
  /* .header-extensions {
    min-height:0;
    display:none;
  } */
  .header-bar .icon-box {
    min-height:0;
  }
}
@media only screen and (max-width:1200px) {
  .header .logo {
    width:250px;
  }
}
@media only screen and (max-width: 768px) {
  .header .logo {
    width:200px;
  }
}
.menu-bar .menu-wrapper {
  display:flex;
}
.menu-bar {
  background: rgba(238,240,242,0.5);
  position: relative;
}
.menu-bar .submenu-wrapper .submenu-bar {
  position: relative;
  /* z-index: 2; */
}
.menu-bar .mainmenu > ul {
  list-style-type: none;
  margin: 0;
  padding: 0;
  height: 100%;
  align-items: center;
  display: flex;
}
.menu-bar .mainmenu .level_1 > li > a, .menu-bar .mainmenu .level_1 > li > strong {
  color: #2F3642;
  font-size: 18px;
  text-decoration: none;
  margin:0 15px;
  padding: 10px 0;
  font-weight:400;
  display: block;
}
.menu-bar .mainmenu .level_1 > li > a:hover {
  color: #1B9238;
  font-weight: 400;
  padding: 10px 0;
  display: block;
}
.menu-bar .mainmenu .level_1 > li.active > strong {
  color: #1B9238;
  font-weight: 400;
  padding: 10px 0;
}
@media only screen and (max-width: 991px) {
  .menu-bar {
    display:none;
  }
}
.menu-bar .mainmenu .level_2 {
  list-style: none;
  padding: 5px 0;
  margin: 0;
  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.12), 0 1px 2px 0 rgba(0, 0, 0, 0.24);
  position: absolute;
  left: auto;
  z-index: 100;
  margin-left: 15px;
  display: none;
  background: #fff;
}
.menu-bar .mainmenu .level_2 li {
  list-style: none;
  padding: 0;
  margin: 0;
}
.menu-bar .mainmenu .level_2 > li a {
  color:#222;
  font-weight:400;
  padding:10px;
  display:block;
}
.menu-bar .mainmenu .level_2 > li a:hover {
  color: #1B9238;
  background: rgba(0,0,0,0.04);
}
.menu-bar .mainmenu .level_2 > li > strong {
  padding:10px;
  display:block;
  color: #1B9238;
  background: rgba(0,0,0,0.04);
}
.menu-bar .mainmenu ul li:hover > ul {
  display: block;
}
.mainmenu .level_3 {
	display:none !important;	
}

/* =============================================================================
 * headroom styles
 * ========================================================================== */
.totop {
  position: fixed;
  display: none;
  right: 20px;
  bottom: 20px;
  background: #fff;
  box-shadow: 0px 2px 5px 0px rgba(0, 0, 0, 0.2);
  padding:5px;
  z-index: 1000;
}
.totop i {
  margin-right: 8px;
}
.totop.headroom--unpinned {
  display:block;
}
/* .home-page .totop {
  left: 20px;
  right: auto;
} */

/* =============================================================================
 * mod-login
 * ========================================================================== */
.mod_login .error {
  color: red;
  margin-bottom: 45px;
}
.mod_login h2 {
  font-size:18px;
}
.mod_login .checkbox_container_login {
  margin: 35px 0;	
}
.mod_login .checkbox_container_login {
  position: relative;
  margin: 30px 0;
  text-align: left;
}
.mod_login .checkbox_container_login label {
  cursor: pointer;
  display: inline;
  line-height: 1.25em;
  vertical-align: top;
  clear: both;
  padding-left: 1px;
}
.mod_login .checkbox_container_login label:not(:empty) {
  padding-left: 0.75em;
}
.mod_login .checkbox_container_login label:before, .checkbox_container_login label:after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
}
.mod_login .checkbox_container_login label:before {
  width: 1.25em;
  height: 1.25em;
  background: #fff;
  border: 2px solid rgba(0, 0, 0, 0.54);
  border-radius: 0.125em;
  cursor: pointer;
  transition: background .3s;
}
.mod_login .checkbox_container_login input[type="checkbox"] {
  outline: 0;
  visibility: hidden;
  width: 1.25em;
  margin: 0;
  display: block;
  float: left;
  font-size: inherit;
}
.mod_login .checkbox_container_login input[type="checkbox"]:checked + label:before {
  background: #1B9238;
  border: none;
}
.mod_login .checkbox_container_login input[type="checkbox"]:checked + label:after {
  transform: translate(0.25em, 0.3365384615em) rotate(-45deg);
  width: 0.75em;
  height: 0.375em;
  border: 0.125em solid #fff;
  border-top-style: none;
  border-right-style: none;
}
.mod_login .checkbox_container_login input[type="checkbox"]:disabled + label:before {
  border-color: rgba(0, 0, 0, 0.26);
}
.mod_login .checkbox_container_login input[type="checkbox"]:disabled:checked + label:before {
  background: rgba(0, 0, 0, 0.26);
}
.mod_login .input_container {
  position: relative;
  margin-top:25px;
}
.mod_login .input_container input {
  font-size:18px;
  padding:10px 10px 10px 5px;
  display:block;
  width: 100%;
  border:none;
  border-bottom:2px solid #2F3642;
}
.mod_login .input_container input:invalid {
  box-shadow: none;
}
.mod_login .input_container input:focus{ outline:none; }
.mod_login .input_container label {
  color: #2F3642;
  font-size:18px;
  font-weight:normal;
  position:absolute;
  pointer-events:none;
  left:5px;
  top:10px;
  transition:0.2s ease all; 
  -moz-transition:0.2s ease all; 
  -webkit-transition:0.2s ease all;
}
.mod_login .input_container input:focus ~ label, .input_container input:valid ~ label {
  top:-20px;
  font-size:14px;
  color:#1B9238;
}
.mod_login .input_container .bar { 
  position:relative; display:block; width:100%;
}
.mod_login .input_container .bar:before, .input_container .bar:after {
  content:'';
  height:2px; 
  width:0;
  bottom:0.5px;
  z-index: 20;
  position:absolute;
  background:#1B9238;
  transition:0.2s ease all; 
  -moz-transition:0.2s ease all; 
  -webkit-transition:0.2s ease all;
}
.mod_login .input_container .bar:before {
  left:50%;
}
.mod_login .input_container .bar:after {
  right:50%; 
}
.mod_login .input_container input:focus ~ .bar:before, .input_container input:focus ~ .bar:after {
  width:50%;
}
.mod_login .input_container .highlight {
  position:absolute;
  height:60%; 
  width:100%; 
  top:25%; 
  left:0;
  pointer-events:none;
  opacity:0.5;
}
.mod_login .input_container input:focus ~ .input_container .highlight {
  -webkit-animation:inputHighlighter 0.3s ease;
  -moz-animation:inputHighlighter 0.3s ease;
  animation:inputHighlighter 0.3s ease;
}
@-webkit-keyframes inputHighlighter {
	from { background:#fff; }
  to 	{ width:0; background:transparent; }
}
@-moz-keyframes inputHighlighter {
	from { background:#fff; }
  to 	{ width:0; background:transparent; }
}
@keyframes inputHighlighter {
	from { background:#fff; }
  to 	{ width:0; background:transparent; }
}
.mod_login .link_container {
  margin: 20px 0;
}
.top-login-bar {
  display: none;
  overflow: visible;
  background: #fff;
  position: absolute;
  margin-top: 20px;
  right: 0px;
  width: 380px;
  min-width: 10rem;
  z-index: 1001;
  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.12), 0 1px 2px 0 rgba(0, 0, 0, 0.24);
}
.home-page .top-login-bar {
  margin-top: -30px;
}
@media only screen and (max-width: 991px) {
  .home-page .top-login-bar {
    margin-top: -105px;
  }
}
@media only screen and (max-width: 768px) {
  .home-page .top-login-bar {
    margin-top: -93px;
  }
}
.top-login-bar:after {
  content: '';
  position: absolute;
  z-index: -1;
  width: 1rem;
  display:block;
  height: 1rem;
  background: #000;
  top: -.375rem;
  right: 23px;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
  background: inherit;
  border-radius: .125rem;
  border-width: 1px 0 0 1px;
  border-style: solid;
  border-color: #f9fafd;
  -webkit-box-shadow: 0 0.125rem 0.25rem rgba(0,0,0,.075);
  box-shadow: 0 0.125rem 0.25rem rgba(0,0,0,.075);
}
.top-login-bar .mod_login {
  background: #fff !important;
  padding: 24px;
}
.login-container {
  position: relative; 
}
@media only screen and (max-width: 768px) {
  .top-login-bar {
    width: 100%;
    right: 0;
  }
}

/* =============================================================================
 * footer
 * ========================================================================== */
#footer {
  padding-top: 20px;
  margin-top:40px;
}
footer .single-footer {
  margin-top:30px;
}
footer .single-footer h3 {
  color: #333;
  margin-top: 0;
  margin-bottom: 25px;
  font-weight: 600;
  font-size: 20px;
}
footer h3::after {
  content: "";
  display: block;
  height: 2px;
  width: 40px;
  background: #1B9238;
  margin-top: 20px;
}
footer .single-footer .logo {
  margin-bottom:20px;
}
footer .single-footer p {
  color: #666;
  font-size: 15px;
}
footer ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
footer ul li a {
  color: #666;
  line-height: 36px;
  font-size: 15px;
}
footer .single-footer .logos {
  display: flex;
  flex-wrap: nowrap;
}
footer .single-footer .logos img {
  margin:10px;
}
/* =============================================================================
 * bottom
 * ========================================================================== */
#bottom .copyright {
  padding-top: 40px;
  color: #333;
  font-size: 15px;
  border-top: 1px solid #eee;
  text-align: center;
  margin-top:40px;
  margin-bottom:40px;
}
/* =============================================================================
 * mobile
 * ========================================================================== */
.navbar-trigger {
  display: none;
}
@media only screen and (max-width: 991px) {
  .navbar-trigger {
    display: flex;
    align-items: center;
  }
}
.navbar-trigger:hover {
  cursor: pointer;
}
.navbar-trigger .menu-name {
  margin-right: 10px;
  font-size: 14px;
  font-weight: 600;
}
.hamburger {
  float:right;
  display:inline-block;
  position:relative;
  width:4em;
  height:4em;
  margin: 8px 0 0;
  padding:0;
  background:0 0;
  border:0;
  outline:0;
  color:inherit;
  cursor:pointer;
  -webkit-appearance:normal;
  -moz-appearance:normal;
  appearance:normal;
}
@media (max-width:1280px){
  .hamburger {
	font-size:10px;
  }
}
@media (max-width:359px){
  .hamburger {
	font-size:8px;
  }
}
.hamburger span {
  width:4em;
  top:.5em
}
.hamburger span,.hamburger span::after,.hamburger span::before {
  display:block;
  position:absolute;
  height:4px;
  right:0;
  background:#1B9238;
  transition:width .2s;
  border-radius:5px;
}
.hamburger span::after,.hamburger span::before {
  content:''
}
.hamburger span::before {
  width:3em;
  top:1em
}
.hamburger span::after {
  width:3.5em;
  top:2em
}
.hamburger:hover span::after,.hamburger:hover span::before{
  width:100%
}
.close {
  padding: 10px;
  margin-right: 5px;
}
.close .line {
  width: 25px;
  border-radius: 5px;
  height: 4px;
  background-color: #2F3642;
  display: block;
  margin: 5px auto;
  -webkit-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
.navbar-trigger:hover .hamburger {
  cursor: pointer;
  opacity: .7;
}
.navbar-trigger:hover .hamburger span::after, .navbar-trigger:hover .hamburger span::before{
  width:100%
}
.navbar-trigger:hover .menu-name {
  color: #1B9238;
}
.close:hover {
  cursor: pointer;
  opacity: .7;
}
.close .line:nth-child(2){
  opacity: 0;
}
.close .line:nth-child(1){
  -webkit-transform: translateY(8px) rotate(45deg);
  -ms-transform: translateY(8px) rotate(45deg);
  -o-transform: translateY(8px) rotate(45deg);
  transform: translateY(8px) rotate(45deg);
}
.close .line:nth-child(3){
  -webkit-transform: translateY(-10px) rotate(-45deg);
  -ms-transform: translateY(-10px) rotate(-45deg);
  -o-transform: translateY(-10px) rotate(-45deg);
  transform: translateY(-10px) rotate(-45deg);
}
.sidenav-overlay {
  height: 0;
  left: 0;
  opacity: 0;
  position: fixed;
  top: 0;
  width: 0;
  z-index: 510;
  background-color: rgba(0, 0, 0, 0.4);
  -webkit-transition: opacity .2s;
  transition: opacity .2s; }
.sidenav-overlay.is-open {
  height: 100%;
  opacity: 1;
  width: 100%;
}
.sidenav-bar {
  display: none;
  height: 100%;
  overflow: auto;
  position: fixed;
  right: 0;
  top: 0;
  width: 310px;
  z-index: 520;
  background-color: #fff;
  -webkit-box-shadow: 0 0 5px rgba(0, 0, 0, 0.2);
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.2);
  -webkit-transform: translateX(100%);
  transform: translateX(100%);
  -webkit-transition: -webkit-transform .2s ease-in;
  transition: -webkit-transform .2s ease-in;
  transition: transform .2s ease-in;
  transition: transform .2s ease-in, -webkit-transform .2s ease-in;
}
.sidenav-bar.is-visible {
  display: block;
}
.sidenav-bar.is-open {
  -webkit-transform: translateX(0);
  transform: translateX(0);
}
.sidenav-bar--trigger {
  position: absolute;
  right: 8px;
  top: 11px;
}
.sidenav-nav-title {
  margin: 22px 0;
  color: #96A5AC;
  font-size: 22px;
  padding: 0 16px;
  text-transform: uppercase;
}
.sidenav-bar .divider-v1 {
  margin: 0 16px;	
}
.sidenav-nav .mobilemenu {
  margin:15px 0;
}
.sidenav-nav .mobilemenu ul {
  list-style:none;
  margin:0;
  padding:0;
  width:100%;
}
.sidenav-nav .mobilemenu > ul > li a {
  padding: 8px 16px;
  display: block;
  font-size:18px;
  color:#2F3642;
  min-width: 220px;
}
.sidenav-nav .mobilemenu > ul > li > strong {
  padding: 8px 16px;
  display: block;
  font-size:18px;
  color:#1B9238;
  min-width: 220px;
}
.sidenav-nav .mobilemenu > ul > li > .active {
  padding: 8px 16px;
  display: block;
  font-size:18px;
  color:#1B9238;
}
.sidenav-nav .mobilemenu .submenu {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap:wrap;
}
.sidenav-nav .mobilemenu .trail > a {
  font-weight:600;
}
.sidenav-nav .mobilemenu > ul .arrow-down {
  padding: 11px 26px;
  transition: all 0.5s;
}
.sidenav-nav .mobilemenu > ul .arrow-down.is-clicked {
  transform: rotate(180deg);	
}
.sidenav-nav .mobilemenu > ul ul {
  display:none;
}
.sidenav-nav .mobilemenu > ul ul > li a {
  padding: 8px 16px;
  display: block;
  font-size:18px;
  color:#2F3642;
  min-width: 200px;
}
.sidenav-nav .mobilemenu > ul ul > li > strong {
  padding: 8px 16px;
  display: block;
  font-size: 18px;
  color: #2F3642;
  min-width: 200px;
}
.sidenav-nav .mobilemenu ul li a:hover {
  text-decoration:none;
}
.sidenav-nav .mobilemenu .level_1 .arrow-down:hover {
  text-decoration:none;
  cursor:pointer;
}
.sidenav-nav .mobilemenu .level_1 .level_2.is-open {
  display:block;
  /* background: rgba(0,0,0,0.02); */
  padding:10px;
}

/* =============================================================================
 * mein profil
 * ========================================================================== */
.personal-data--row {
  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.12), 0 1px 2px 0 rgba(0, 0, 0, 0.24);
  margin: 20px 0;
  padding: 0 10px;
}

.mod_changePassword .widget-text, .mod_changePassword .widget-password, .mod_personalData .widget-text  {
  margin: 15px 0;
}
.mod_changePassword .widget-text > input, .mod_changePassword .widget-password > input, .mod_personalData .widget-text > input {
  width: 100%;
  font-family: 'Source Sans Pro', sans-serif;
}
.mod_changePassword .widget-text label, .mod_changePassword .widget-password label, .mod_personalData .widget-text label {
  margin-top: 20px;
  margin-bottom: 5px;
  font-weight: 600;
  display:block;
} 
.mod_changePassword .widget-text input, .mod_changePassword .widget-password input, .mod_personalData .widget-text input {
  width: 100%;
  padding: 5px;
  border-bottom: 3px solid #ededed;
  border-top: none;
  border-left: none;
  border-right: none;	
}
.mod_changePassword .widget-text input:focus, .mod_changePassword .widget-password input:focus, .mod_personalData .widget-text input:focus {
  border-color: #C4DDB6;
  outline: none;
}
.mod_changePassword .widget-textarea textarea {
  font-family: 'Source Sans Pro', sans-serif;
  width: 100%;
  padding: 5px;
  border: 3px solid #ededed;
  outline: none;
}
.mod_changePassword .widget-textarea textarea:focus {
  border-color: #C4DDB6;
  outline: none;
}
.mod_changePassword .submit, .mod_personalData .submit {
  margin: 15px 0;
  cursor: pointer;
  display: block;
  padding: 0.7em 1.1em;
  vertical-align: top;
  /* width: 100%; */
  border: 1px solid #1B9238;
  background-color: #1B9238;
  color: #fff;
  line-height: 1.2;
  font-size: 17px;
  font-weight: bold;
  text-align: center;
  -webkit-appearance: none;
  -webkit-transition: all .2s;
  transition: all .2s;
}
.mod_changePassword .submit:hover, .mod_personalData .submit:hover {
  border: 1px solid #1EA440;
  background-color: #1EA440;
}

/* =============================================================================
 * modalbox
 * ========================================================================== */
.modalbox {
  margin: 80px 0px 30px 0px;
}
.modalbox.success,
.modalbox.info,
.modalbox.error {
  box-shadow: 0 1px 3px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.24);
  transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
  -webkit-border-radius: 2px;
  -moz-border-radius: 2px;
  border-radius: 2px;
  background: #fff;
  padding: 25px 25px 15px;
  text-align: center;
}
.modalbox.success.animate .icon,
.modalbox.info.animate .icon,
.modalbox.error.animate .icon {
  -webkit-animation: fall-in 0.75s;
  -moz-animation: fall-in 0.75s;
  -o-animation: fall-in 0.75s;
  animation: fall-in 0.75s;
  box-shadow: 0 1px 3px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.24);
}
.modalbox.success .icon,
.modalbox.info .icon,
.modalbox.error .icon {
  position: relative;
  margin: 0 auto;
  margin-top: -75px;
  background: #4caf50;
  height: 100px;
  width: 100px;
  border-radius: 50%;
}
.modalbox.success .icon span {
  font-size: 4em;
  color: #fff;
  text-align: center;
  display: block;
  padding-top: 10px;
}
.modalbox.info .icon span {
  font-size: 4em;
  color: #fff;
  text-align: center;
  display: block;
  padding-top: 10px;
}
.modalbox.error .icon span {
  font-size: 3em;
  color: #fff;
  text-align: center;
  display: block;
  padding-top: 10px;
}
.modalbox.info .icon {
  background: #4caf50;
}
.modalbox.error .icon {
  background: #f44336;
}
.modalbox.error .icon span {
  padding-top: 25px;
}
@-webkit-keyframes fall-in {
  0% {
    -ms-transform: scale(3, 3);
    -webkit-transform: scale(3, 3);
    transform: scale(3, 3);
    opacity: 0;
  }
  50% {
    -ms-transform: scale(1, 1);
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
    opacity: 1;
  }
  60% {
    -ms-transform: scale(1.1, 1.1);
    -webkit-transform: scale(1.1, 1.1);
    transform: scale(1.1, 1.1);
  }
  100% {
    -ms-transform: scale(1, 1);
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
  }
}
@-moz-keyframes fall-in {
  0% {
    -ms-transform: scale(3, 3);
    -webkit-transform: scale(3, 3);
    transform: scale(3, 3);
    opacity: 0;
  }
  50% {
    -ms-transform: scale(1, 1);
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
    opacity: 1;
  }
  60% {
    -ms-transform: scale(1.1, 1.1);
    -webkit-transform: scale(1.1, 1.1);
    transform: scale(1.1, 1.1);
  }
  100% {
    -ms-transform: scale(1, 1);
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
  }
}
@-o-keyframes fall-in {
  0% {
    -ms-transform: scale(3, 3);
    -webkit-transform: scale(3, 3);
    transform: scale(3, 3);
    opacity: 0;
  }
  50% {
    -ms-transform: scale(1, 1);
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
    opacity: 1;
  }
  60% {
    -ms-transform: scale(1.1, 1.1);
    -webkit-transform: scale(1.1, 1.1);
    transform: scale(1.1, 1.1);
  }
  100% {
    -ms-transform: scale(1, 1);
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
  }
}
@-webkit-keyframes plunge {
  0% {
    margin-top: -100%;
  }
  100% {
    margin-top: 25%;
  }
}
@-moz-keyframes plunge {
  0% {
    margin-top: -100%;
  }
  100% {
    margin-top: 25%;
  }
}
@-o-keyframes plunge {
  0% {
    margin-top: -100%;
  }
  100% {
    margin-top: 25%;
  }
}
@-moz-keyframes fall-in {
  0% {
    -ms-transform: scale(3, 3);
    -webkit-transform: scale(3, 3);
    transform: scale(3, 3);
    opacity: 0;
  }
  50% {
    -ms-transform: scale(1, 1);
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
    opacity: 1;
  }
  60% {
    -ms-transform: scale(1.1, 1.1);
    -webkit-transform: scale(1.1, 1.1);
    transform: scale(1.1, 1.1);
  }
  100% {
    -ms-transform: scale(1, 1);
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
  }
}
@-webkit-keyframes fall-in {
  0% {
    -ms-transform: scale(3, 3);
    -webkit-transform: scale(3, 3);
    transform: scale(3, 3);
    opacity: 0;
  }
  50% {
    -ms-transform: scale(1, 1);
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
    opacity: 1;
  }
  60% {
    -ms-transform: scale(1.1, 1.1);
    -webkit-transform: scale(1.1, 1.1);
    transform: scale(1.1, 1.1);
  }
  100% {
    -ms-transform: scale(1, 1);
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
  }
}
@-o-keyframes fall-in {
  0% {
    -ms-transform: scale(3, 3);
    -webkit-transform: scale(3, 3);
    transform: scale(3, 3);
    opacity: 0;
  }
  50% {
    -ms-transform: scale(1, 1);
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
    opacity: 1;
  }
  60% {
    -ms-transform: scale(1.1, 1.1);
    -webkit-transform: scale(1.1, 1.1);
    transform: scale(1.1, 1.1);
  }
  100% {
    -ms-transform: scale(1, 1);
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
  }
}
@keyframes fall-in {
  0% {
    -ms-transform: scale(3, 3);
    -webkit-transform: scale(3, 3);
    transform: scale(3, 3);
    opacity: 0;
  }
  50% {
    -ms-transform: scale(1, 1);
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
    opacity: 1;
  }
  60% {
    -ms-transform: scale(1.1, 1.1);
    -webkit-transform: scale(1.1, 1.1);
    transform: scale(1.1, 1.1);
  }
  100% {
    -ms-transform: scale(1, 1);
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
  }
}
@-moz-keyframes plunge {
  0% {
    margin-top: -100%;
  }
  100% {
    margin-top: 15%;
  }
}
@-webkit-keyframes plunge {
  0% {
    margin-top: -100%;
  }
  100% {
    margin-top: 15%;
  }
}
@-o-keyframes plunge {
  0% {
    margin-top: -100%;
  }
  100% {
    margin-top: 15%;
  }
}
@keyframes plunge {
  0% {
    margin-top: -100%;
  }
  100% {
    margin-top: 15%;
  }
}

/* =============================================================================
 * inputs
 * ========================================================================== */
.inputfields .widget-text, .inputfields .widget-textarea {
  margin: 15px 0;
}
.inputfields .widget-text > input {
  width: 100%;
  font-family: Verdana, Geneva, sans-serif;
}
.inputfields .widget-text label {
  display: none;	
} 
.inputfields .widget-text input {
  width: 100%;
  padding: 5px;
  border-bottom: 3px solid #ededed;
  border-top: none;
  border-left: none;
  border-right: none;	
}
.inputfields .widget-text input:focus {
  border-color: #C4DDB6;
  outline: none;
}
.inputfields .widget-textarea textarea {
  width: 100%;
  padding: 5px;
  border: 3px solid #ededed;
  outline: none;
  font-family: Verdana, Geneva, sans-serif;
}
.inputfields .widget-textarea textarea:focus {
  border-color: #C4DDB6;
  outline: none;
}
.inputfields .submit {
  margin: 15px 0;
  cursor: pointer;
  display: block;
  padding: 0.7em 1.1em;
  vertical-align: top;
  width: 100%;
  border: 1px solid #1B9238;
  background-color: #1B9238;
  color: #fff;
  line-height: 1.2;
  font-size: 17px;
  font-weight: bold;
  text-align: center;
  -webkit-appearance: none;
  -webkit-transition: all .2s;
  transition: all .2s;
}
.inputfields .submit:hover {
  border: 1px solid #1EA440;
  background-color: #1EA440;
}
.ce_form {
  margin-bottom:20px;
}

/* =============================================================================
 * contact
 * ========================================================================== */
.contact--page {
  margin-bottom:20px;
}

/* =============================================================================
 * usermenu
 * ========================================================================== */
.usermenu > ul {
  list-style-type: none;
  margin: 0;
  padding: 0;
  height: 100%;
  align-items: center;
  display: flex;
}
.usermenu i {
  padding-right: 8px;
  display:none;
}
.usermenu .level_1 > li > a, .usermenu .level_1 > li > strong {
  font-size: 18px;
  text-decoration: none;
  font-weight:400;
  margin:0 15px;
  padding: 10px 0;
  display: block;
  color:#2F3642;
/*   border-radius: 5px; */
  /* background: #AED09B; */
}
.usermenu .level_1 > li > a:hover {
/*   color: #fff;
  background: #1B9238; */
  color:#1B9238;
}
.usermenu .level_1 > li.active > strong {
/*   color: #fff;
  background: #1B9238; */
  color:#1B9238;
}

/* =============================================================================
 * usermenu-mob
 * ========================================================================== */
.usermenu-mo {
  margin:15px 0;
}
.usermenu-mo i {
  padding-right:8px;
  min-width: 40px;
  display:none;
}
.usermenu-mo ul {
  list-style:none;
  margin:0;
  padding:0;
  width:100%;
}
.usermenu-mo > ul > li a {
  padding: 8px 16px;
  display: block;
  font-size:18px;
  color:#2F3642;
  min-width: 220px;
}
.usermenu-mo > ul > li > strong {
  padding: 8px 16px;
  display: block;
  font-size:18px;
  color:#1B9238;
  min-width: 220px;
}
.usermenu-mo > ul > li > .active {
  padding: 8px 16px;
  display: block;
  font-size:18px;
  color:#1B9238;
}

/* =============================================================================
 * ce_downloads
 * ========================================================================== */
.ce_downloads {

}
.ce_downloads > ul {
  list-style:none;
  margin:0;
  padding:0;
  width:100%;
}
.ce_downloads > ul > li {
  width: 100%;
  margin:10px 0;
  padding:10px;
  background:#E7F1E0;
}
.ce_downloads > ul > li:before {
  font-size:25px;
}
.ce_downloads > ul > li.ext-pdf:before {
  font-family: "Font Awesome 5 Pro";
  content: "\f1c1";
}
.ce_downloads > ul > li.ext-docx:before {
  font-family: "Font Awesome 5 Pro";
  content: "\f1c2";
}
.ce_downloads > ul > li.ext-png:before {
  font-family: "Font Awesome 5 Pro";
  content: "\f1c5";
}
.ce_downloads > ul > li.ext-jpg:before {
  font-family: "Font Awesome 5 Pro";
  content: "\f1c5";
}

/* =============================================================================
 * baselink-card
 * ========================================================================== */
.baselinks {
  /* margin-top:20px; */
  margin-bottom:40px;
}
.baselink-card {
  margin:20px 0;
  display: block;
}
.baselink-card h3 {
  color:#1B9238;
}
.baselink-card .image-holder {
  margin-bottom: 16px;
  position: relative;
}
.baselink-card .image-holder .arrow-box {
  width: 90px;
  height: 90px;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 1px 3.9px 26px 0 rgba(0,0,0,.15);
  background-color: #fff;
  position: absolute;
  top: 100%;
  right: 30px;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  transition: .25s cubic-bezier(.4,0,.2,1);
}
.baselink-card.xs .image-holder .arrow-box {
  width: 70px;
  height: 70px;
}
.baselink-card:hover .arrow-box {
  -webkit-transform: translateX(10px) translateY(-50%);
  transform: translateX(10px) translateY(-50%);
}
.baselink-card .image-holder .arrow-box i {
  font-size: 30px;
}
.baselink-card .heading {
  font-weight: 400;
  font-size: 28px;
  padding-right: 150px;
  margin: 0px;
}
.baselink-card.xs .heading {
  font-weight: 400;
  font-size: 20px;
  padding-right: 120px;
  margin: 0px;
}

/* =============================================================================
 * intro-section
 * ========================================================================== */
.intro-section {
  min-height:300px;
  position: relative;
  display: flex;
  align-items: center;
  margin:20px 0;
}
.intro-section h1 {
  font-size: 36px;
}
.intro-section p {
  font-size: 22px;
  color:#2F3642;
}
.brush-right {
	right: 0px;
  top: -120px;
  position: absolute;
  opacity: 0.3;
  z-index: -1;
}
.brush-right, .brush-left {
  overflow: hidden;
}
.brush-right img {
  width:1000px;
}
.intro-section .contact-info {
  display:flex;
}
.intro-section .contact-info div {
  margin:0 10px;
  font-size: 14px;
}
.intro-section .contact-info div i {
  margin-right:8px;
  color: #1B9238;
}
.intro-section .contact-info div a {
  color: #2F3642;
}
.intro-section .contact-info div a:hover {
  text-decoration: underline;
}
@media only screen and (max-width: 1200px) {
  .brush-right img {
    width:600px;
  }
  .brush-right {
    top: 0px;
  }
}
@media only screen and (max-width: 991px) {
  .intro-section .contact-info {
    display:none;
  }
  .brush-right img {
    width:500px;
  }
}
@media only screen and (max-width: 768px) {
  .brush-right {
    display:none;
  }
}

/* =============================================================================
 * cloud
 * ========================================================================== */
.cloud-message {
  padding:10px;
  background:#E7F1E0;
}
.ce_hofff_recursive-download-folder {
  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.12), 0 1px 2px 0 rgba(0, 0, 0, 0.24);
  margin: 20px 2px;
}
.ce_hofff_recursive-download-folder a {
  color:#2F3642;
}
.ce_hofff_recursive-download-folder .level_1 {
  list-style: none;
  padding: 0;
  margin: 10px 0;
  width:100%;
}
.ce_hofff_recursive-download-folder .level_2, .ce_hofff_recursive-download-folder .level_3, .ce_hofff_recursive-download-folder .level_4, .ce_hofff_recursive-download-folder .level_5 {
  list-style: none;
  padding: 0;
  width:100%;
  margin: 10px 0;
}

.ce_hofff_recursive-download-folder .download-element {
  padding:5px 20px;
}
.ce_hofff_recursive-download-folder .download-element:before {
  font-size:20px;
  padding-right:8px;
  min-width: 30px;
  display:inline-block;
}
.ce_hofff_recursive-download-folder .download-element.ext-pdf:before {
  font-family: "Font Awesome 5 Pro";
  content: "\f1c1";
}
.ce_hofff_recursive-download-folder .download-element.ext-docx:before {
  font-family: "Font Awesome 5 Pro";
  content: "\f1c2";
}
.ce_hofff_recursive-download-folder .download-element.ext-png:before {
  font-family: "Font Awesome 5 Pro";
  content: "\f1c5";
}
.ce_hofff_recursive-download-folder .download-element.ext-jpg:before {
  font-family: "Font Awesome 5 Pro";
  content: "\f1c5";
}
.ce_hofff_recursive-download-folder .download-element.folder:before {
  font-family: "Font Awesome 5 Pro";
  content: "\f07b";
  color: #1B9238;
}
.ce_hofff_recursive-download-folder .download-element.folder-open:before {
  font-family: "Font Awesome 5 Pro";
  content: "\f07c";
  color: #1B9238;
}

.ce_hofff_recursive-download-folder .download-element.folder {
padding: 5px 20px;
}
.ce_hofff_recursive-download-folder .download-element.folder > a {
  margin-left:-5px;
}
.ce_hofff_recursive-download-folder .download-element.folder > span {
  margin-left:-5px;
}

/* =============================================================================
 * mod_sitemap
 * ========================================================================== */
.mod_sitemap {
  width:100%;
}
.mod_sitemap ul {
  margin: 10px;
  background: rgba(0,0,0,0.05);
  padding: 20px;
  list-style:none;
}
.mod_sitemap ul > li {
  margin: 8px 0;
}
.mod_sitemap ul li:before {
  font-family: "Font Awesome 5 Pro";
  content: '\f105';
  font-weight: 700;
  display: inline-block;
  transform: translate(0, 0);
  margin-right: 5px;
}

/* =============================================================================
 * ul style
 * ========================================================================== */
ul.kj-ul {
  list-style: none;
  padding:0;
}
ul.kj-ul li {
  padding-left: 25px;
  margin: 20px 0;
  display:block;
}
ul.kj-ul li:before {
  font-family: "Font Awesome 5 Pro";
  content: '\f00c';
  font-weight: 700;
  margin-right: 15px;
  color: #C4DDB6;
  font-size:20px;
}

/* =============================================================================
 * popup-xs
 * ========================================================================== */
.popup-xs {
  background: #fff;
  -ms-border-radius: 2px;
  border-radius: 2px;
/*   -webkit-box-shadow: 0 8px 6px -6px #e0e0e0;
  -ms-box-shadow: 0 8px 6px -6px #e0e0e0;
  box-shadow: 0 8px 6px -6px #e0e0e0; */
  box-shadow: 0px 2px 5px 0px rgba(0, 0, 0, 0.2);
  border: 1px solid #dce4e9;
  margin-bottom: 20px;
  -ms-word-wrap: break-word;
  word-wrap: break-word;
  z-index:1000;
  display:flex;
  align-items: center;
  position: fixed;
  /* bottom: 10px; */
  bottom:30%;
  width: 300px;
  right: -310px;
}
.popup-xs .popup-content {
  padding: 20px;
}
.popup-xs .toggle-popup-xs:hover {
  cursor:pointer;
}
.popup-xs .toggle-popup-xs.open-p:before {
  font-family: "Font Awesome 5 Pro";
  content: "\f053";
  color: #1B9238;
  font-size: 25px;
  padding-left:10px;
}
.popup-xs .toggle-popup-xs.close-p:before {
  font-family: "Font Awesome 5 Pro";
  content: "\f054";
  color: #1B9238;
  font-size: 25px;
  padding-left:10px;
}
.popup-xs h4 {
  font-size: 14px;
}

/* =============================================================================
 * popup-xl
 * ========================================================================== */
.wrap-popup-xl {
  display: none;
  position: fixed;
  z-index: 1;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
  overflow: auto;
  background-color: rgba(0, 0, 0, 0.4);
}
.popup-xl {
  display: none;
  position: absolute;
  top: 100px;
  left: 50%;
  width: 700px;
  margin-left: -350px;
  padding: 50px 30px;
  background: #fff;
  font-size: 19px;
  line-height: 30px;
  border: 1px solid #dce4e9;
  -webkit-box-shadow: 0 3px 9px rgba(0,0,0,.5);
  box-shadow: 0 3px 9px rgba(0,0,0,.5);
  z-index:1000;
}
.popup-xl .popup-content .a-button {
  display: inline-block;
}
.popup-xl-mobile {
  position: relative;
  top: 0;
  left: 0;
  margin: 30px 0 0;
  width: 100%;
}
.toggle-popup-xl {
  position: absolute;
  top: 8px;
  right: 14px;
  color: #1B9238;
  font-size: 24px;
  font-weight: bold;
  text-transform: uppercase;
  cursor: pointer;
}

.popup-xl .private--content {
  display:none;
}
.popup-xl h4 {
  margin-bottom:10px;
  font-size: 16px;
}
.popup-xl p {
  margin-bottom:10px;
  font-size: 14px;
}

/* =============================================================================
 * .popup-karriere
 * ========================================================================== */
/* Popup Karriere Wrapper */
.wrap-popup-karriere {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,0.5);
  z-index: 999;
  display: none;
}

/* Desktop Popup */
.popup-karriere {
  display: none;
  position: absolute;
  top: 100px;
  left: 50%;
  width: 700px;
  margin-left: -350px;
  padding: 50px 30px;
  background: #fff;
  font-size: 19px;
  line-height: 30px;
  border: 1px solid #dce4e9;
  -webkit-box-shadow: 0 3px 9px rgba(0,0,0,.5);
  box-shadow: 0 3px 9px rgba(0,0,0,.5);
  z-index: 1000;
}

.popup-karriere .popup-content .a-button {
  display: inline-block;
}

/* Close Button */
.toggle-popup-karriere {
  position: absolute;
  top: 8px;
  right: 14px;
  color: #4EBD79;
  font-size: 24px;
  font-weight: bold;
  text-transform: uppercase;
  cursor: pointer;
}

.toggle-popup-karriere:hover {
  color: #3a9960;
}

/* Content Styling */
.popup-karriere .private--content {
  display: none;
}

.popup-karriere h4 {
  margin-bottom: 10px;
  font-size: 16px;
}

.popup-karriere p {
  margin-bottom: 10px;
  font-size: 14px;
}

/* Mobile Responsive */
@media (max-width: 767px) {
  .popup-karriere-mobile {
    position: relative !important;
    top: 0 !important;
    left: 0 !important;
    margin: 30px 15px 0 15px !important;
    width: calc(100% - 30px) !important;
    margin-left: 15px !important;
    padding: 30px 20px !important;
    font-size: 16px !important;
    line-height: 24px !important;
  }
  
  .wrap-popup-karriere {
    background: rgba(0,0,0,0.3);
  }
}

/* Tablet */
@media (max-width: 768px) and (min-width: 767px) {
  .popup-karriere {
    width: 90%;
    margin-left: -45%;
    padding: 40px 25px;
    font-size: 17px;
  }
}

/* =============================================================================
 * howitworks
 * ========================================================================== */
.how-it-works.center-item {
  text-align: center;
  padding:30px 0;
}
.how-it-works.item {
  margin:20px 0;
  padding:20px;
}
.how-it-works.item .step {
  width: 50px;
  height:0;
  font-size:20px;
  text-align:center;
  line-height:0;
  padding: 25px 0;
  border-radius:50%;
  background: #C4DDB6;
  margin:0 auto;
  margin-bottom:20px;
}
.how-it-works.item .content {
  border: 1px solid #eee;
  box-shadow: 0px 2px 5px 0px rgba(0, 0, 0, 0.2);
/*   -webkit-box-shadow: 0 0 20px -8px #c8c8c8;
  -moz-box-shadow: 0 0 20px -8px #c8c8c8;
  box-shadow: 0 0 20px -8px #c8c8c8; */
  padding:10px;
}
.how-it-works.item .content .icon {
  text-align: center;
  padding:20px 0;
}
.how-it-works.item.v2 .content .icon {
  text-align: center;
  padding-top:20px;
  padding-bottom:10px;
}
.how-it-works.item .content .icon i {
  color: #4EBD79;
  font-size: 80px;
}
.how-it-works.item.v2 .content .icon i {
  color: #4EBD79;
  font-size: 30px;
}
.how-it-works.item.v2 .content .icon.red i {
  color: red;
}
.how-it-works.item .content h2 {
  text-align:center;
  min-height: 54px;
}
.how-it-works.item .content .text {
  text-align:center;
  margin:25px 0;
  min-height: 40px;
  color:#222;
}
.how-it-works.item.v2 .content .text {
  text-align:center;
  margin:15px 0;
  min-height: 76px;
  color:#222;
  font-weight: bold;
}
.how-it-works.item .content .text p {
  margin:0;
  padding:0;
}
@media only screen and (max-width: 768px) {
  .how-it-works.item {
    margin:20px 0;
    padding:10px;
  }
}
.how-it-works.item .content:hover {
  /* cursor:pointer; */
  /* box-shadow: -1px 1px 30px -12px black; */
}
.how-it-works.item .content:hover .text {
  color: #4EBD79;
}
.how-it-works.item.v2 .content:hover .text {
  color:#222;
}
.detail-headline {
  text-align: center;
}
.how-it-works-detail {
  margin:40px 20px;
  padding:20px;
  box-shadow: 0 0 20px -8px #c8c8c8;
}
@media only screen and (max-width: 768px) {
  .how-it-works-detail {
    margin:40px 10px;
  }
}
/* .how-it-works-detail .tab-content {
  display:none;
}
.how-it-works-detail .tab-content.current {
  display: flex;
}
.how-it-works-detail .tab-content.current.info {
  display: flex;
  align-items: center;
}
.how-it-works-detail .tab-content .icon {
  text-align: center;
  padding: 20px 40px 20px 20px;
}
.how-it-works-detail .tab-content .icon i {
  color: #4EBD79;
  font-size: 55px;
} */

/* =============================================================================
 * productcard
 * ========================================================================== */
.categories--page {
  margin-bottom:50px;
}
.product-card {
  border: 1px solid #eee;
  display: block;
  margin-top: 35px;
  -webkit-box-shadow: 0 0 20px -8px #c8c8c8;
  -moz-box-shadow: 0 0 20px -8px #c8c8c8;
  box-shadow: 0 0 20px -8px #c8c8c8;
}
.product-card .preis-info {
  font-size: 1.17rem;
  line-height: 1.125rem;
  color: #808c95;
  margin-left: 26px;
  margin-top: 16px;
}
.product-card .preis-info .number {
  color: #1B9238;
}
.product-card h2 {
  font-size: 1.3rem;
  font-weight: 700;
  margin-left: 26px;
  margin-top: 32px;
}
.product-card i {
  top: 70px;
  right: 50px;
  position: absolute;
  font-size: 35px;
}
.product-card.last {
  margin-bottom: 35px;
}

/* =============================================================================
 * step-box
 * ========================================================================== */
.step-box {
  /* box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.12), 0 1px 2px 0 rgba(0, 0, 0, 0.24); */
  padding: 20px;
  margin:25px 0;
  background: rgba(0,0,0,0.03);
}
.step-box.green {
  background: #C4DDB6;
}
.step-box h2 {
  text-align: center;
}
.step-details {
  text-align: center;
}
.step-options {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}
.step-options .option--card {
  box-shadow: 0 0 20px -8px #c8c8c8;
  display: inline-block;
  background-color: #fff;
  padding: 25px;
  margin: 20px;
  min-width: 190px;
  text-align: center;
  color: #222;
}
.step-options .option--card:hover i {
  color: #1B9238;
}
.step-options .option--card i {
  font-size: 80px;
  padding:20px;
}
.final-step .section {
  margin:80px 0;
}

/* =============================================================================
 * ce_download
 * ========================================================================== */
 .ce_download {

}
.ce_download .download-element {
  width: 100%;
  margin:10px 0;
  padding:10px;
  background:#E7F1E0;
}
.ce_download .download-element a:before {
  font-size:18px;
  color: #222;
  margin:0px 10px 0px 5px;
}
.ce_download .download-element.ext-pdf a:before {
  font-family: "Font Awesome 5 Pro";
  content: "\f1c1";
}
.ce_download .download-element.ext-docx a:before {
  font-family: "Font Awesome 5 Pro";
  content: "\f1c2";
}
.ce_download .download-element.ext-png a:before {
  font-family: "Font Awesome 5 Pro";
  content: "\f1c5";
}
.ce_download .download-element.ext-jpg a:before {
  font-family: "Font Awesome 5 Pro";
  content: "\f1c5";
}

.ce_download .download-element-lg {
  border: 1px solid #eee;
  padding: 20px;
  text-align: center;
  margin: 20px;
}
.ce_download .download-element-lg .title {
  padding:10px 0;
  font-weight: bold;
  font-size:18px;
  color: #1B9238;
}
.ce_download .download-element-lg .btn-green {
  margin: 20px 0;
}
.ce_download .download-element-lg .download-element-icon:before {
  font-size: 50px;
  color: #C4DDB6;
}
.ce_download .download-element-lg .download-element-icon.ext-pdf:before {
  font-family: "Font Awesome 5 Pro";
  content: "\f1c1";
}

/* =============================================================================
 * jobs-section
 * ========================================================================== */
.jobs-section {
	margin-bottom: 40px;
}
@media (min-width: 992px) {
	.jobs-section {
		margin-bottom: 40px;
	}
}
.job-item.job-item-card .job-inner {
		padding: 15px;
	}
.job-item.job-item-card {
  color: #2F3642;
	font-size: 16px;
	position: relative;
}
.job-item.job-item-card:before {
	width: 100%;
	height: 100%;
  background: url(../images/nav-hover.png) 50% repeat;
	position: absolute;
	content: '';
	z-index: 0;
	transition: 500ms;
	left: 10px;
	top: 10px;
}
@media (min-width: 768px) {
	.job-item.job-item-card:before {
		left: 10px;
		top: 10px;
	}
}
.job-item.job-item-card .job-inner {
  background: #fff;
  box-shadow: -1px 1px 20px -12px black;
	position: relative;
}
@media (min-width: 992px) {
	.job-item.job-item-card .job-inner {
		padding: 15px;
	}
}
@media (min-width: 1200px) {
	.job-item.job-item-card .job-caption--link {
		display: flex;
		justify-content: center;
		align-items: center;
		margin-left: 20px;
	}
	.job-item.job-item-card p {
    	font-size: 18px;
	}
	.job-item.job-item-card .job-inner {
		display: flex;
		justify-content: space-between;
		align-items: center;
		padding: 15px;
	}
}
.job-item.job-item-card .job-caption--link p {
	padding: 0;
}
@media (min-width: 992px) {
	.job-item.job-item-card .job-caption--link .btn,
	.job-item.job-item-card .job-caption--link .main-navigation ul li:last-child a,
	.main-navigation ul li:last-child .job-item.job-item-card .job-caption--link a {
		white-space: nowrap
	}
}
.job-item.job-item-card h2,
.job-item.job-item-card h3 {
	color: #2F3642;
	word-break: break-word;
	font-size: 16px;
}
.job-item.job-item-card h2 strong,
.job-item.job-item-card h3 strong {
	color: #2F3642;
}




.job-details-container {
            background: #fff;
            padding: 50px;
            border-radius: 12px;
            box-shadow: 0 2px 10px rgba(0,0,0,0.05);
            margin: 40px 0;
            max-width: 900px;
            margin-left: auto;
            margin-right: auto;
        }
        
        .job-details-section {
            margin-bottom: 45px;
        }
        
        .job-details-section h2 {
            color: #2F3642;
            font-size: 1.4rem;
            font-weight: 600;
            margin-bottom: 25px;
            padding-bottom: 10px;
            border-bottom: 1px solid #e9ecef;
        }
        
        .job-details-content {
            color: #333;
            line-height: 1.8;
            font-size: 1rem;
        }
        
        .job-details-content ul {
            list-style: none;
            padding: 0;
            margin: 0;
        }
        
        .job-details-content li {
            margin-bottom: 12px;
            padding-left: 20px;
            position: relative;
        }
        
        .job-details-content li:before {
            content: '';
            position: absolute;
            left: 6px;
            top: 14px;
            width: 4px;
            height: 4px;
            background: #28a745;
            border-radius: 50%;
        }
        
        @media (max-width: 768px) {
            .job-details-container {
                padding: 30px 20px;
                margin: 20px 10px;
            }
            
            .job-details-section h2 {
                font-size: 1.2rem;
            }
            
            .job-details-content {
                font-size: 0.95rem;
            }
        }

/* =============================================================================
 * callto-section
 * ========================================================================== */
 .callto-section {
	margin-bottom: 40px;
}
@media (min-width: 992px) {
	.callto-section {
		margin-bottom: 100px;
	}
}
.item.item-cta {
  /* color: rgba(255, 255, 255, 0.5); */
  color: #2F3642;
	font-size: 16px;
	position: relative;
}
.item.item-cta:before {
  /* display: none; */
	width: 100%;
	height: 100%;
  /* background: #C4DDB6; */
  background: url(../images/nav-hover.png) 50% repeat;
	position: absolute;
	content: '';
	z-index: 0;
	transition: 500ms;
	left: 10px;
	top: 10px;
}
@media (min-width: 768px) {
	.item.item-cta:before {
		left: 20px;
		top: 20px;
	}
}
.item.item-cta .inner {
  background: #fff;
  box-shadow: -1px 1px 20px -12px black;
  /* border: 2px solid #313A47; */
	position: relative;
	padding-right: 11.08871vw;
	padding-left: 11.08871vw;
	padding-top: 12.09677vw;
	padding-bottom: 8.06452vw
}
@media (min-width: 992px) {
	.item.item-cta .inner {
		padding-right: 110px;
		padding-left: 110px;
		padding-top: 50px;
		padding-bottom: 50px;
	}
}
@media (min-width: 1200px) {
	.item.item-cta .item-caption--link {
		display: flex;
		justify-content: center;
		align-items: center;
		margin-left: 60px;
	}
	.item.item-cta p {
    font-size: 21px;
	}
	.item.item-cta .inner {
		display: flex;
		justify-content: space-between;
	}
}
.item.item-cta .item-caption--link p {
	padding: 0;
}
@media (min-width: 992px) {
	.item.item-cta .item-caption--link .btn,
	.item.item-cta .item-caption--link .main-navigation ul li:last-child a,
	.main-navigation ul li:last-child .item.item-cta .item-caption--link a {
		white-space: nowrap
	}
}
.item.item-cta h2,
.item.item-cta h3 {
	color: #2F3642;
}
.item.item-cta h2 strong,
.item.item-cta h3 strong {
	color: #2F3642;
}



/* =============================================================================
 * service card
 * ========================================================================== */
.services-cards {
  margin-top:30px;
  margin-bottom:50px;
}
.services-cards .service-card {
  display: flex;
  padding: 20px;
  /* background: #EEF0F2; */
  margin: 20px 0;
  min-height: 210px;
  box-shadow: 0px 2px 5px 0px rgba(0, 0, 0, 0.2);
  /* border: 4px solid #C4DDB6; */
}
.services-cards .service-card .serviceIcon {
  font-size: 40px;
  /* color: #2F3642; */
  color: #1B9238;
  margin-right: 30px;
  /* margin-left: 10px; */
}
.services-cards .service-card .serviceContent h2 {
  margin-top: 0px;
  min-height: 60px;
  display: flex;
  align-items: center;
}
.services-cards .service-card:hover h2 {
  text-decoration: underline;
  text-decoration-color: #C4DDB6;
}

/* =============================================================================
 * companyTeaser
 * ========================================================================== */
.companyTeaser {
  padding:40px 0;
  background: rgba(238,240,242,0.5);
}
.companyTeaser .content {
  text-align: center;
  margin-bottom:40px;
}
.companyTeaser .content h2 {
  margin-top:0px;
  font-size: 28px;
}
.companyTeaser .content p {
  color: #666;
  font-size: 20px;
}
.companyTeaser .about-right {
  position: relative;
}
.companyTeaser .about-box {
  margin-bottom: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.companyTeaser .about-box .item-img {
  position: relative;
  z-index: 1;
  padding:20px;
}
.companyTeaser .about-box .item-img .main-img img {
  /* width: 400px; */
  box-shadow: -1px 1px 30px -12px black;
  /* opacity:0.6; */
}

.companyTeaser .about-box .item-img .main-img:before {
  display:none;
	width: 100%;
	height: 100%;
	background-color: #C4DDB6;
	position: absolute;
	content: '';
	z-index: -1;
	transition: 500ms;
	left: 20px;
	top: 20px;
}

/* =============================================================================
 * testTeaser
 * ========================================================================== */
.testTeaser {
  margin: 40px 0;
}
.testTeaser--content {
  box-shadow: -1px 1px 30px -12px black;
  min-height: 300px;
  padding: 40px;
  position: relative;
}
.testTeaser--content {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}
.testTeaser--content:after {
  content : "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  background-position: center !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
  width: 100%;
  height: 100%;
  opacity : 0.4;
  z-index: -1;
}
.testTeaser .testTeaser--content.bg-1:after {
  background-image: url(../images/content/AdobeStock_129613072.jpg);
}
.testTeaser .testTeaser--content.bg-2:after {
  background-image: url(../images/content/AdobeStock_192944764.jpg);
  opacity:0.1;
}
.testTeaser .testTeaser--content.bg-3:after {
  
}

/* =============================================================================
 * Ablauf Ankauf
 * ========================================================================== */
.ablauf--section {
  margin: 30px 0;
  /* background: rgba(0,0,0,0.03); */
  display: inline-block;
}
.ablauf--section .col-lg-2 {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #C4DDB6;
  text-align: center;
}
.ablauf--section .main-step .sub-step .col-lg-3 {
  justify-content: center;
  display: flex;
  flex-direction: column;
  text-align: center;
}
.ablauf--section .main-step .sub-step {
  background: rgba(0,0,0,0.03);
}
.ablauf--section .main-step .sub-step.step-1 {
  margin-bottom: 10px;
}
.ablauf--section .main-step .sub-step.step-2 {
  margin-top: 10px;
}
.ablauf--section .main-step .sub-step .step-item {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 10px;
}
.ablauf--section .main-step .sub-step .step-item.item {
  background: rgba(0,0,0,0.03);
}
.ablauf--section .main-step .sub-step .step-item.first {
  background: rgba(0,0,0,0.3);
}
.ablauf--section .main-step .sub-step .step-item.first h3 {
  color: #fff;
}
.ablauf--section .main-step .sub-step .step-item h3 {
  margin: 0px;
}
@media only screen and (min-width: 991px) {
  .ablauf--section .main-step .sub-step .col-lg-3 {
    min-height: 220px;
  }
  .ablauf--section .main-step .sub-step .step-item {
    min-height: 170px;
  }
/*   .ablauf--section .first-step {
    border-top-left-radius: 20px;
    border-bottom-left-radius: 20px;
  }
  .ablauf--section .last-step {
    border-top-right-radius: 20px;
    border-bottom-right-radius: 20px;
  } */
  .ablauf--section .main-step .sub-step.step-1 {
    padding-right: 10px;
    padding-left: 10px;
  }
  .ablauf--section .main-step .sub-step.step-2 {
    padding-right: 10px;
    padding-left: 10px;
  }
}
@media only screen and (max-width: 991px) {
  .ablauf--section .col-lg-8 {
    padding:0;
  }
  .ablauf--section .main-step .sub-step {
    margin: 20px 0;
  }
  .ablauf--section .main-step .sub-step .col-lg-3 {
    margin: 15px 0;
  }
  .ablauf--section .col-lg-2 {
    margin:20px 0;
  }
  .ablauf--section .main-step .sub-step, .ablauf--section .main-step .sub-step.step-2, .ablauf--section .main-step .sub-step.step-1 {
    margin-top:20px;
    margin-bottom:20px;
  }
  .ablauf--section .main-step .sub-step .step-item {
    margin: 5px 20px;
  }
}

/* =============================================================================
 * icon-box
 * ========================================================================== */
.icon-box-v2 {
  border: 1px solid #eee;
  padding: 20px;
  text-align: center;
  margin: 20px;
}
.icon-box-v2 .title {
  padding:10px 0;
  font-weight: bold;
  font-size:18px;
  color: #1B9238;
}
.icon-box-v2 .btn-green {
  margin: 20px 0;
}
.icon-box-v2 .icon i {
  font-size: 50px;
  color: #C4DDB6;
}

.bottom-notification {
    position: fixed;
    /* height: 3.5em; */
    background: #313A47;
    color: white;
    width: 100%;
    bottom: -3.5em; /* Startet außerhalb des Bildschirms */
    text-align: center;
    /*line-height: 3.5em; */
    transition: bottom 0.5s ease-in-out; /* Sanfte Animation */
    z-index: 1000;
    padding: 14px;
    line-height: 1.3;
}
.bottom-notification.show {
    bottom: 0; /* Fährt nach oben ein */
}

.notification-btn a {
  font-weight: 600;
  color: #1B9238;
  padding-left: 8px;
  padding-right: 8px;
}