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

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

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

.no-margin .rs-column,
.no-margin .rs-column.-medium-first-row {
  margin-top: 0;
}

.main-navigation > ul > li > a.active:not(.highlight)::after, .main-navigation > ul > li > a.trail:not(.highlight)::after, .main-navigation > ul > li > a.forward:not(.highlight)::after, .main-navigation > ul > li > strong.active:not(.highlight)::after, .main-navigation > ul > li > strong.trail:not(.highlight)::after, .main-navigation > ul > li > strong.forward:not(.highlight)::after, .main-navigation > ul > li > span.active:not(.highlight)::after, .main-navigation > ul > li > span.trail:not(.highlight)::after, .main-navigation > ul > li > span.forward:not(.highlight)::after {
  display: none;
}

.main-navigation ul.level_1 li.highlight.phone a.highlight.phone {
    padding-top:0;
    padding-bottom:0;
    font-size:1.0925em !important;
    color: #1d1d1b !important;
    background: #ddd;
}

.main-navigation ul li.highlight.phone.icon-phone a.highlight.phone.icon-phone span,
.main-navigation ul li.highlight.mail.icon-at a.highlight.mail.icon-at span {
    display: none !important;
}

.main-navigation ul li.highlight.phone.icon-phone a.highlight.phone.icon-phone::before,
.main-navigation ul li.highlight.mail.icon-at a.highlight.mail.icon-at::before {
    margin-right:0;
}

.main-navigation > ul > li > a.highlight::after,
.main-navigation > ul > li > strong.highlight::after,
.main-navigation > ul > li > span.active.highlight::after,
.main-navigation > ul > li > span.trail.highlight::after,
.main-navigation > ul > li > span.forward.highlight::after {
    border: none !important;
}

.main-navigation ul.level_1 li.highlight.mail a.highlight.mail {
    padding-top:0;
    padding-bottom:0;
    font-size:1.0925em !important;
    color: #1d1d1b !important;
    background: #ddd;
}

.main-navigation > ul > li > a.highlight.mail::after {
    border: none !important;
}

.main-navigation > ul > li.highlight.mail {
    margin-left:1em;
}

.main-navigation > ul > li > a.active,
.main-navigation > ul > li > a.trail,
.main-navigation > ul > li > a.forward,
.main-navigation > ul > li > strong.active,
.main-navigation > ul > li > strong.trail,
.main-navigation > ul > li > strong.forward,
.main-navigation > ul > li > span.active,
.main-navigation > ul > li > span.trail,
.main-navigation > ul > li > span.forward {
  background: #fff;
  color: #242424;
}

.main-navigation > ul > li > a,
.main-navigation > ul > li > strong,
.main-navigation > ul > li > span.active,
.main-navigation > ul > li > span.trail,
.main-navigation > ul > li > span.forward {
  padding: 0.61538em 1.07692em 0.65em;
  font-size: 0.8em !important;
}

html {
    scroll-behavior: smooth;
}

.only-mobile {
  display: none;
}

.no-border img,
.no-border.content-gallery.content-gallery--cols-4 ul li,
.no-border.content-gallery ul {
  border: none !important;
}

.no-border.content-gallery.content-gallery--cols-4 ul li img {
  border-right: 1px solid #f5f5f5 !important;
}

.referenzbilder.content-gallery.content-gallery--cols-6 ul li {
  border-right: 1px solid #f5f5f5 !important;
  border-bottom: 1px solid #f5f5f5 !important;
  width: 16.66667% !important;
}

.lp-galerie-ablauf.content-gallery.content-gallery--cols-5 ul li {
  border-right: 1px solid #f5f5f5 !important;
  border-bottom: 1px solid #f5f5f5 !important;
  width: 20% !important;
}

.lp-galerie-ablauf.content-gallery figure figcaption {
  text-align: center !important;
  padding: 0;
}

.no-border fieldset legend {
  padding: 0 !important;
}

.margin-top-none,
p.margin-top-none, 
.margin-top-none p,
.margin-top-none .rs-column {
  margin-top: 0 !important;
}

.margin-bottom-none,
p.margin-bottom-none, 
.margin-bottom-none p,
.margin-bottom-none .rs-column {
  margin-bottom: 0 !important;
}

h1, h2, h3, h4, h5, h6 {
  text-transform: uppercase;
  font-weight: 400 !important;
  font-family: 'Open Sans' !important;
  letter-spacing: 0.05em;
}

.main-content h1, .main-content h2, .main-content h3, .main-content h4, .main-content h5, .main-content h6 {
  margin-top: 0;
  margin-bottom: 0;
}

.normal {
  font-weight: 400 !important;
}

.bold {
  font-weight: 700 !important;
}

.uppercase {
  text-transform: uppercase !important;
  letter-spacing: 0.05em;
}

.white,
.icon-white .icon-boxes-item-icon::before,
.white.icon-text-block::before,
.white .counter-boxes-item::before,
.white .counter-boxes-item h3 {
  color: #fff !important;
}

.grey {
  color: #b3b2b2 !important;
}

.black {
  color: #242424 !important;
}

.blue {
  color: #004c9c !important;
}

.white, p.white, .white p, .white.icon-text-block p, .white.icon-text-block a {
  color: #fff !important;
}

.counter-boxes-item p {
  margin: 1em -0.4em 0.5em;
  font-size: 1.1em;
}

.testimonial-author img {
  margin-right: 0;
}

.button.-tertiary.white {
  color: #fff;
  background: transparent;
  border-color: #fff !important;
}

.fullwidth.content-image figure, .fullwidth.content-image figure img,
.teaser-boxes-image > img,
.team-boxes-image-wrapper img{
  display: block !important;
  width: 100%;
}

.team-boxes-item h3 {
  color: #004c9c;
  padding-top: 1em;
  letter-spacing: 0.05em;
}

.team-boxes-item h4 {
  letter-spacing: 0.05em;
}

.team-boxes-item p a.button {
  font-size: 1em !important;
}

.border img {
  border: 1px solid #ccc;
}

.shadow img {
  box-shadow: 8px 8px #ccc;
}

.not-in-view > .icon-boxes-item > .icon-boxes-item-icon,
.icon-boxes-item > .icon-boxes-item-icon {
  background: none !important;
  color: #224535 !important;
  transform: scale(1);
  border: none !important;
  padding: none !important;
}

.icon-boxes-item.-headline-icon {
  padding-left: 3.5em;
}

.-headline-icon > .icon-boxes-item-icon {
  padding: 0.2em 0.42857em 0.2em 0;
}

.icon-boxes-item.-background-color.-headline-icon {
  padding-left: 4.5em;
}

.icon-boxes-item-link.-link {
  font-weight: bold;
}

.icon-boxes-item h3 {
  font-size: 1.25em;
}

.teaser-boxes-item, .teaser-boxes-image {
  overflow: hidden;
}

.teaser-boxes-image img,
figure a img {
  -webkit-transform: scale(1);
  -moz-transform: scale(1);
  -ms-transform: scale(1);
  -o-transform: scale(1);
  transform: scale(1);
  -webkit-transition: all 0.3s linear;
  -moz-transition: all 0.3s linear;
  -ms-transition: all 0.3s linear;
  -o-transition: all 0.3s linear;
  transition: all 0.3s linear;
}

.teaser-boxes-image:hover img, 
.teaser-boxes-image:focus img,
figure a img:hover {
  -webkit-transform: scale(1.2);
  -moz-transform: scale(1.2);
  -ms-transform: scale(1.2);
  -o-transform: scale(1.2);
  transform: scale(1.2);
  filter: none;
}

:hover > .icon-boxes-item-icon,
:focus > .icon-boxes-item-icon {
  opacity: 1 !important;
}

button, .button, input[type="submit"], .main-navigation-search-form button, .feature-box-link, .headline-box-link, .pricing-table-plan a, .feature-box-link, .headline-box-link, .pricing-table-plan a, button, .button, input[type="submit"], input[type="reset"], input[type="button"] {
    border: 2px solid #224535;
    font-size: 1em !important;
    padding: 0.92857em 1.28571em !important;
    line-height: 1.25 !important;
}

div#colorbox button { padding: unset !important; }

button.-secondary, .button.-secondary, input[type="submit"].-secondary, .feature-box-link.-secondary, .headline-box-link.-secondary, .pricing-table-plan a.-secondary {
  border: 2px solid #242424;
  background: #242424;
  color: #fff;
  font-size: 1em !important;
  padding: 0.92857em 1.28571em !important;
  line-height: 1.25 !important;
}

button.-tertiary, .button.-tertiary, input[type="submit"].-tertiary {
  position: relative;
  padding: 0.92857em 1.28571em !important;
  line-height: 1.25 !important;
  font-size: 1em !important;
  display: inline-block;
  outline: none;
  letter-spacing: 0.1em;
  color: #242424;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
  background: #eee;
  border: 2px solid #242424;
}

button:not(#colorbox button):hover, .button:hover {
  background: #242424 !important;
  border-color: #242424 !important;
  color: #fff !important;
}

div#colorbox button:hover {}
div#colorbox #cboxNext {}

button.-secondary:hover, .button.-secondary:hover, input[type="submit"].-secondary:hover, .main-navigation-search-form button:hover, .feature-box-link.-secondary:hover, .headline-box-link.-secondary:hover, .pricing-table-plan a.-secondary:hover, button.-secondary:focus, .button.-secondary:focus, input[type="submit"].-secondary:focus, .main-navigation-search-form button:focus, .feature-box-link.-secondary:focus, .headline-box-link.-secondary:focus, .pricing-table-plan a.-secondary:focus {
  background-color: transparent !important;
  color: #242424 !important;
}

button.-tertiary::before, .button.-tertiary::before, input[type="submit"].-tertiary::before {
  top: inherit;
  font-size: inherit;
}

section.icon-boxes.white p.icon-boxes-item-link.button {
  background: transparent !important;
  border-color: #fff !important;
}

table td,
table th {
  vertical-align: top;
}

.home .main-content .content-gallery figure figcaption,
.home .main-content .content-gallery figure .caption,
.home .main-content .image_container figcaption,
.home .main-content .image_container .caption {
  display: none;
}

.content-gallery,
.content-gallery ul,
.content-gallery ul li {
  margin: 0 !important;
  padding: 0 !important;
}

.content-gallery ul {
  border-top: 1px solid #ddd;
  border-left: 1px solid #ddd;
}

.content-gallery.content-gallery--cols-4 ul li {
  width: 25% !important;
  margin: 0 !important;
  border-bottom: 1px solid #ddd;
  border-right: 1px solid #ddd;
}

.multicolumn-icon-list ul {
  background: #f5f5f5;
  border: 1px solid #ccc;
  padding: 1em 1em 0.005em 2.25em;
}

.ce_rsce_oneo_multicolumn_icon_list .multicolumn-icon-list ul li strong {
  display: block;
  font-size: 1.15em;
}

.ce_rsce_oneo_multicolumn_icon_list .multicolumn-icon-list ul li {
  margin-bottom: 1.6em;
  font-size: 0.8em;
}

.ce_rsce_oneo_multicolumn_icon_list .multicolumn-icon-list ul li::before {
  left: -2em;
}

.teaser-boxes-content > h3 {
  color: #224535;
}

.teaser-boxes-content p,
.icon-boxes-item-text p {
  hyphens: auto;
}

.no-hyphens, p.no-hyphens, .no-hyphens p {
  hyphens: none;
}

article.news-boxed-item:nth-child(3),
article.news-boxed-item:nth-child(6),
article.news-boxed-item:nth-child(9),
article.news-boxed-item:nth-child(12) {
  margin-right: 0;
}

article.news-boxed-item {
  margin-bottom: 3%;
}

.news-boxed-item p {
  hyphens: auto;
}

.news-boxed-item-image::after {
  display: none;
}

.mod_newsreader.block p.back.button.-tertiary a:hover,
.mod_newsreader.block p.back.button.-tertiary:hover,
.mod_newsreader.block p.back.button.-tertiary a {
  color: #242424 !important;
  text-decoration: none;
  background: none !important;
}

.koernerliste .info-list dt::before,
.koernerliste .info-list dt {
  color: #224535;
  font-weight: bold;
  text-transform: none;
  letter-spacing: 0;
  font-size: 1.15em;
}

.koernerliste .info-list dt::before {
  margin-right: 0.5em;
}

.koernerliste .info-list dd {
  font-size: 0.875em;
  margin-bottom: 1.5em;
}

footer.page-footer .icon-text-block p a {
  color: #242424;
}

.footer-top-link {
    right: 0.5rem;
    bottom: 0.5rem;
    position: fixed;
    display: block;
    width: 2.875em;
    height: 2.875em;
    margin: 0 auto;
    color: #242424;
    white-space: nowrap;
}

.footer-top-link::after {
    border-radius: 100%;
    border-bottom: 1px solid #b2b9c4;
    background: rgb(255,255,255,0.75) !important;
    font: 1em/1 "RockSolid Icons";
    content: "\e01a";
    -webkit-font-smoothing: antialiased;
    font-smoothing: antialiased;
    text-rendering: geometricPrecision;
    text-indent: 0;
    display: inline-block;
    position: relative;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    padding-top: 0.9375em;
    border: 1px solid #b2b9c4;
    text-align: center;
    box-sizing: border-box;
    box-shadow: none;
}

.footer-links {
  float: none;
  margin: 0;
  padding: 0;
  font-size: 1em;
}

.buttons-404-horizontal {
  display: flex;
  gap: 20px;
  margin-top: 0 !important;
}

.fehler .content-gallery figcaption {
  display: none;
}