:root {
    --content-element-distance: 74px;
}

/* rte text aligments */
.text-center { text-align: center !important; }
.text-left { text-align: left !important; }
.text-right { text-align: right !important; }
.text-justify { text-align: justify !important; }

/* news teaser bold to distinguish from bodytext */
main .news.news-single .teaser {
    font-weight: bold;
}

/* news need an extra div around the p for schema.org in news articles and when nesting content wrapped elements */
section.one-column-container.centered .container .row .col-md-12 > div {
    text-align: center;
    width: 70%;
}
section.one-column-container.centered .container .row .col-md-12 > div > p {
    width: 100%;
}

/* line height in this teaser was not good when headline was running longer */
section.product-link-element .container .row .col-md-6 .content-wrapper .headline {
    line-height: 5rem;
}

/* back button adjustments, delete when we have an official back button element */
.ce-gallery, .ce-column, figure.image, figure.video, img.image-embed-item {
    width: 100%;
}

/* brown is default color for button */
.button {
    border: 1px solid #603d20;
    background-color: #603d20;
}

/* linked checkbox element */

.frame-type-form_formframework .checkbox input[type="checkbox"] {
    position: absolute;
    width: 20px !important;
    height: 31px !important;
}

.frame-type-form_formframework .form-check .form-check-label > span {
    display: block;
    margin-left: 35px;
}

.frame-type-form_formframework .form-check .form-check-label span a {
    color: #c74b22;
}

/* input field description */

.frame-type-form_formframework .form-group .form-text {
    margin-top: 5px;
}

/* show red error color for form fields in error cases */
form input.form-control.error, label.form-label.error { color: #B21E28 !important; }

.frame-type-news_newsdetail section.one-column-container.centered .container .row .col-md-12 p { display: inherit; }

@media (min-width: 1101px) {
    .page-header ul.secondary li:nth-of-type(10) { display: none; }
}

.page-content .article > .frame-type-header,
.page-content .article > .frame-type-table,
.page-content .article > .frame-type-text,
.page-content .article > .frame-type-textmedia,
.page-content  .article > .frame-type-uploads {
    width: 70%;
    max-width: 1310px;
    margin: 112px auto;
    padding: 0 20px;
}

@media (max-width: 991.98px) {
    .page-content .article > .frame-type-header,
    .page-content .article > .frame-type-table,
    .page-content .article > .frame-type-text,
    .page-content .article > .frame-type-textmedia,
    .page-content .article > .frame-type-uploads {
        margin: 56px auto;
        width: 100%;
    }
}

/* reduce margin and padding of all the sections */

section.stage {
    margin-bottom: var(--content-element-distance);
}
section.categories-teaser,
section.product-slider,
section.fullscreen-img-text-element-center,
section.news-list,
section.store-link-element,
section.fullscreen.img.text-element.left,
section.two-column-container,
section.one-column-container,
section.image-text-50-50-element.img-left,
section.image-text-50-50-element.img-right,
section.quote-slider,
section.usp-element,
section.teaser-50-50-element,
section.newsletter-banner-element,
section.teaser-50-50-element.half-image.right,
section.teaser-50-50-element.half-image.left,
section.timeline,
section.three-column-container,
section.career-list,
section.contact,
section.cards-element {
    margin: var(--content-element-distance) 0;
}
section.fullscreen-img-text-element-center,
section.fullscreen.img.text-element.left,
section.usp-element,
section.newsletter-banner-element,
section.quote-slider {
    padding: var(--content-element-distance) 0;
}
section.teaser-50-50-element .container-fluid .container .row>div:first-of-type.col .content-wrapper {
    padding: var(--content-element-distance) 70px;
}
section.newsletter-banner-element,
section.news-list.category+.news-list,
section.pagination-element nav {
    margin-bottom: var(--content-element-distance);
}
.fullwidth+.fullwidth {
    margin-top: -74px;
}
.frame-type-list:has(#fsmarktfinder),
.page-content > .frame-type-text,
.page-content > .frame-type-header {
    margin: var(--content-element-distance) auto;
}
section.cross-linking-element,
.page-content > .frame-type-text + footer {
    margin-top: var(--content-element-distance);
}
.teasers {
    row-gap: calc(var(--content-element-distance)/2);
}
.page-content > .frame-type-text h2  {
    padding-bottom: 15px;
}
.page-content > .frame-type-text h2 + p {
    padding-top: 15px;
}
section.one-column-container .headline-element,
section.one-column-container .headline-element .headline {
    padding: 0;
}
section.one-column-container .headline-element + .row {
    padding-top: 45px;
}
section.one-column-container section {
    margin-bottom: 0 !important;
}
section.career-list .category-wrapper {
    padding-bottom: var(--content-element-distance);
}