.cms-content,
.cms-content *,
.cms-content *::before,
.cms-content *::after {
    box-sizing: border-box;
}

.cms-content {
    width: 100%;
    min-width: 0;
    overflow-wrap: break-word;
}

.cms-content .container {
    width: 100%;
    max-width: 1170px;
    margin-right: auto;
    margin-left: auto;
    padding-right: 15px;
    padding-left: 15px;
}

.cms-content .container-fluid {
    width: 100%;
    margin-right: auto;
    margin-left: auto;
    padding-right: 15px;
    padding-left: 15px;
}

.cms-content .row {
    display: flex;
    flex-wrap: wrap;
    margin-right: -15px;
    margin-left: -15px;
}

.cms-content .row::before,
.cms-content .row::after {
    display: none;
}

.cms-content [class*="col-"] {
    position: relative;
    width: 100%;
    min-width: 0;
    padding-right: 15px;
    padding-left: 15px;
}

.cms-content .col-xs-1  { width: 8.333333%; }
.cms-content .col-xs-2  { width: 16.666667%; }
.cms-content .col-xs-3  { width: 25%; }
.cms-content .col-xs-4  { width: 33.333333%; }
.cms-content .col-xs-5  { width: 41.666667%; }
.cms-content .col-xs-6  { width: 50%; }
.cms-content .col-xs-7  { width: 58.333333%; }
.cms-content .col-xs-8  { width: 66.666667%; }
.cms-content .col-xs-9  { width: 75%; }
.cms-content .col-xs-10 { width: 83.333333%; }
.cms-content .col-xs-11 { width: 91.666667%; }
.cms-content .col-xs-12 { width: 100%; }

@media (min-width: 768px) {
    .cms-content .col-sm-1  { width: 8.333333%; }
    .cms-content .col-sm-2  { width: 16.666667%; }
    .cms-content .col-sm-3  { width: 25%; }
    .cms-content .col-sm-4  { width: 33.333333%; }
    .cms-content .col-sm-5  { width: 41.666667%; }
    .cms-content .col-sm-6  { width: 50%; }
    .cms-content .col-sm-7  { width: 58.333333%; }
    .cms-content .col-sm-8  { width: 66.666667%; }
    .cms-content .col-sm-9  { width: 75%; }
    .cms-content .col-sm-10 { width: 83.333333%; }
    .cms-content .col-sm-11 { width: 91.666667%; }
    .cms-content .col-sm-12 { width: 100%; }
}

@media (min-width: 992px) {
    .cms-content .col-md-1  { width: 8.333333%; }
    .cms-content .col-md-2  { width: 16.666667%; }
    .cms-content .col-md-3  { width: 25%; }
    .cms-content .col-md-4  { width: 33.333333%; }
    .cms-content .col-md-5  { width: 41.666667%; }
    .cms-content .col-md-6  { width: 50%; }
    .cms-content .col-md-7  { width: 58.333333%; }
    .cms-content .col-md-8  { width: 66.666667%; }
    .cms-content .col-md-9  { width: 75%; }
    .cms-content .col-md-10 { width: 83.333333%; }
    .cms-content .col-md-11 { width: 91.666667%; }
    .cms-content .col-md-12 { width: 100%; }
}

.cms-content img {
    max-width: 100%;
    height: auto;
}

.cms-content .img-responsive {
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto;
}

.cms-content figure {
    margin: 0;
}

.cms-content .cms-layout {
    width: 100%;
    margin-bottom: 30px;
}

.cms-content .well,
.cms-content .cms-layout-well {
    min-height: 20px;
    margin-bottom: 20px;
    padding: 24px;
    background: #f7f7f7;
    border: 1px solid #e3e3e3;
    border-radius: 4px;
}

.cms-content .jumbotron,
.cms-content .cms-layout-jumbo {
    margin-bottom: 30px;
    padding: 40px 30px;
    background: #f3f3f3;
    border-radius: 5px;
}

.cms-content blockquote,
.cms-content .cms-layout-quote {
    margin: 25px 0;
    padding: 10px 20px;
    border-left: 5px solid #dddddd;
    font-size: 1.15rem;
    line-height: 1.6;
}

.cms-content .cms-layout-quote p:last-child {
    margin-bottom: 0;
}

.cms-content .cms-well-row {
    align-items: center;
}

.cms-content .cms-well-text,
.cms-content .cms-well-image {
    min-width: 0;
}

.cms-content .cms-layout-tile-list > .row {
    align-items: stretch;
}

.cms-content .cms-layout-tile-list [class*="col-"] {
    display: flex;
    margin-bottom: 30px;
}

.cms-content .cms-layout-tile-list article,
.cms-content .cms-layout-tile-list .cms-tile,
.cms-content .cms-layout-tile-list .thumbnail {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    width: 100%;
}

.cms-content .thumbnail {
    display: block;
    margin-bottom: 20px;
    padding: 4px;
    background: #ffffff;
    border: 1px solid #dddddd;
    border-radius: 4px;
}

.cms-content .thumbnail img {
    display: block;
    width: 100%;
    height: auto;
}

.cms-content .thumbnail .caption {
    padding: 15px;
}

.cms-content .btn {
    display: inline-block;
    padding: 9px 16px;
    border: 1px solid transparent;
    border-radius: 4px;
    font: inherit;
    line-height: 1.4;
    text-align: center;
    text-decoration: none;
    vertical-align: middle;
    cursor: pointer;
}

.cms-content .btn-default {
    color: #333333;
    background: #ffffff;
    border-color: #cccccc;
}

.cms-content .btn-primary {
    color: #ffffff;
    background: #496b2c;
    border-color: #3d5a25;
}

.cms-content .btn:hover,
.cms-content .btn:focus {
    text-decoration: none;
    filter: brightness(0.94);
}

.cms-content .text-left {
    text-align: left;
}

.cms-content .text-center {
    text-align: center;
}

.cms-content .text-right {
    text-align: right;
}

.cms-content .pull-left {
    float: left;
}

.cms-content .pull-right {
    float: right;
}

.cms-content .clearfix::after {
    display: table;
    clear: both;
    content: "";
}

.cms-content .hidden {
    display: none !important;
}

.cms-content .embed-responsive {
    position: relative;
    display: block;
    width: 100%;
    height: 0;
    padding: 0;
    overflow: hidden;
}

.cms-content .embed-responsive-16by9 {
    padding-bottom: 56.25%;
}

.cms-content .embed-responsive iframe,
.cms-content .embed-responsive video,
.cms-content .embed-responsive embed,
.cms-content .embed-responsive object {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

@media (max-width: 767px) {
    .cms-content .container,
    .cms-content .container-fluid {
        padding-right: 16px;
        padding-left: 16px;
    }

    .cms-content .row {
        margin-right: -8px;
        margin-left: -8px;
    }

    .cms-content [class*="col-"] {
        padding-right: 8px;
        padding-left: 8px;
    }

    .cms-content .well,
    .cms-content .cms-layout-well,
    .cms-content .jumbotron,
    .cms-content .cms-layout-jumbo {
        padding: 20px 16px;
    }

    .cms-content .row:not(.media) > [class*="col-"] {
        margin-bottom: 20px;
    }

    .cms-content .row.media > [class*="col-"] {
        margin-bottom: 0;
    }

    .cms-content .cms-layout-tile-list [class*="col-"] {
        margin-bottom: 20px;
    }

    .cms-content .pull-left,
    .cms-content .pull-right {
        float: none;
    }
}
.cms-layout-cta {
    width: 100%;
    margin: 0;
    padding: 34px 20px 48px;

    color: var(--cms-cta-color, #24301e);
    background: #eeeeee;
}

.cms-layout-cta,
.cms-layout-cta *,
.cms-layout-cta *::before,
.cms-layout-cta *::after {
    box-sizing: border-box;
}

.cms-layout-cta .cms-cta-inner {
    width: 100%;
    max-width: 1070px;
    margin: 0 auto;
    padding: 52px 36px 48px;

    color: inherit;
    background: var(--cms-cta-background, #f8f9f4);

    text-align: center;
}

.cms-layout-cta .cms-cta-text {
    max-width: 720px;
    margin: 0 auto;
}

.cms-layout-cta .cms-cta-text h1,
.cms-layout-cta .cms-cta-text h2,
.cms-layout-cta .cms-cta-text h3 {
    margin: 0 0 18px;

    color: inherit;
    font-size: clamp(30px, 3.2vw, 44px);
    font-weight: 500;
    line-height: 1.15;
    letter-spacing: -0.015em;
}

.cms-layout-cta .cms-cta-text p {
    margin: 0 0 16px;

    color: inherit;
    font-size: 16px;
    line-height: 1.55;
}

.cms-layout-cta .cms-cta-text p:last-child {
    margin-bottom: 0;
}

/* Afbeelding/output uit attributes.pict */
.cms-layout-cta .cms-cta-media {
    margin: 28px auto 0;
    text-align: center;
}

.cms-layout-cta .cms-cta-media .cms-par-image {
    display: inline-block;
    margin: 0;
    padding: 0;
}

.cms-layout-cta .cms-cta-media .cms-par-image-link {
    display: inline-block;
    max-width: 100%;

    line-height: 0;
    text-decoration: none;
}

.cms-layout-cta .cms-cta-media img {
    display: block;
    width: auto;
    max-width: min(100%, 320px);
    height: auto;
    margin: 0 auto;

    transition:
            transform 160ms ease,
            opacity 160ms ease;
}

.cms-layout-cta .cms-cta-media a:hover img,
.cms-layout-cta .cms-cta-media a:focus img {
    transform: translateY(-2px);
    opacity: 0.92;
}

.cms-layout-cta .cms-cta-media figcaption {
    max-width: 560px;
    margin: 10px auto 0;

    font-size: 14px;
    line-height: 1.45;
}

/* Alleen gebruikt wanneer de afbeelding niet zelf aanklikbaar is */
.cms-layout-cta .cms-cta-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px;

    margin-top: 26px;
}

.cms-layout-cta .cms-cta-actions a,
.cms-layout-cta .cms-cta-actions .button,
.cms-layout-cta .cms-cta-actions .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-height: 46px;
    padding: 11px 22px;

    color: #ffffff !important;
    background: #426b2b;
    border: 1px solid #365823;
    border-radius: 5px;

    font: inherit;
    font-weight: 700;
    line-height: 1.25;
    text-align: center;
    text-decoration: none;
}

.cms-layout-cta .cms-cta-actions a:hover,
.cms-layout-cta .cms-cta-actions a:focus {
    color: #ffffff !important;
    background: #365823;
    text-decoration: none;
}

@media (max-width: 767px) {
    .cms-layout-cta {
        padding: 20px 12px 30px;
    }

    .cms-layout-cta .cms-cta-inner {
        padding: 34px 20px 32px;
    }

    .cms-layout-cta .cms-cta-text h1,
    .cms-layout-cta .cms-cta-text h2,
    .cms-layout-cta .cms-cta-text h3 {
        margin-bottom: 14px;
        font-size: clamp(28px, 9vw, 36px);
    }

    .cms-layout-cta .cms-cta-text p {
        font-size: 15px;
    }

    .cms-layout-cta .cms-cta-media {
        margin-top: 22px;
    }

    .cms-layout-cta .cms-cta-media img {
        max-width: min(100%, 280px);
    }

    .cms-layout-cta .cms-cta-actions a,
    .cms-layout-cta .cms-cta-actions .button,
    .cms-layout-cta .cms-cta-actions .btn {
        width: 100%;
    }
}

.cms-layout-tile-list {
    width: 100%;
    padding: 34px 20px 48px;
    background: #eeeeee;
}

.cms-layout-tile-list,
.cms-layout-tile-list *,
.cms-layout-tile-list *::before,
.cms-layout-tile-list *::after {
    box-sizing: border-box;
}

/* Grid */

.cms-layout-tile-list .cms-tile-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: start;
    gap: 26px;

    width: 100%;
    max-width: 1110px;
    margin: 0 auto;
    padding: 0;
}

/* Legacy Bootstrap-kolommen neutraliseren binnen de grid */

.cms-layout-tile-list .cms-tile-grid > [class*="col-"] {
    width: auto;
    max-width: none;
    min-width: 0;

    margin: 0;
    padding: 0;

    float: none;
}

/* Kaart */

.cms-layout-tile-list .cms-tile {
    display: flex;
    flex-direction: column;
    min-width: 0;
    overflow: hidden;
/*
    background: #ffffff;
    border: 1px solid #d9ded6;
    border-radius: 14px;

    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.05);*/
}

.cms-layout-tile-list .cms-tile {
    min-width: 0;
}

.cms-layout-tile-list .cms-tile-card {
    display: flex;
    flex-direction: column;
    min-width: 0;
    overflow: hidden;

    background: #ffffff;
    border: 1px solid #d9ded6;
    border-radius: 14px;

    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.05);
}
/* Afbeelding */

.cms-layout-tile-list .cms-tile-media {
    width: 100%;
    margin: 0;
    padding: 0;
    overflow: hidden;

    background: #f5f5f3;
    border-bottom: 1px solid #e3e6e0;
}

.cms-layout-tile-list .cms-tile-media figure,
.cms-layout-tile-list .cms-tile-media .cms-par-image {
    display: block;
    width: 100%;
    margin: 0;
    padding: 0;
}

.cms-layout-tile-list .cms-tile-media a,
.cms-layout-tile-list .cms-tile-media .cms-par-image-link {
    display: block;
    width: 100%;
    line-height: 0;
}

.cms-layout-tile-list .cms-tile-media img {
    display: block;
    width: 100%;
    height: 212px;
    margin: 0;
    padding: 0;

    object-fit: cover;
    object-position: center;

    border: 0;
    border-radius: 0 !important;
}

/* Tekstblok */

.cms-layout-tile-list .cms-tile-body {
    display: flex;
    flex-direction: column;
    min-width: 0;
    padding: 24px 24px 26px;
}

.cms-layout-tile-list .cms-tile-text {
    min-width: 0;
}

.cms-layout-tile-list .cms-tile h1,
.cms-layout-tile-list .cms-tile h2,
.cms-layout-tile-list .cms-tile h3 {
    margin: 0 0 16px;

    color: #35404a;

    font-size: 26px;
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: -0.01em;
    text-transform: uppercase;
}

.cms-layout-tile-list .cms-tile p {
    margin: 0 0 15px;

    color: #333333;

    font-size: 15px;
    line-height: 1.55;
}

.cms-layout-tile-list .cms-tile p:last-child {
    margin-bottom: 0;
}

.cms-layout-tile-list .cms-tile a {
    overflow-wrap: anywhere;
}

/* CTA */

.cms-layout-tile-list .cms-tile-actions,
.cms-layout-tile-list .cms-cta-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;

    margin-top: 22px;
    padding: 0;
}

.cms-layout-tile-list .cms-tile-actions a,
.cms-layout-tile-list .cms-cta-actions a,
.cms-layout-tile-list .cms-tile .btn,
.cms-layout-tile-list .cms-tile .button {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-height: 43px;
    padding: 9px 16px;

    color: #2d3928;
    background: #ffffff;
    border: 1px solid #c6cdc1;
    border-radius: 5px;

    font: inherit;
    font-weight: 600;
    line-height: 1.2;
    text-align: center;
    text-decoration: none;

    cursor: pointer;
}

.cms-layout-tile-list .cms-tile-actions a:hover,
.cms-layout-tile-list .cms-tile-actions a:focus,
.cms-layout-tile-list .cms-cta-actions a:hover,
.cms-layout-tile-list .cms-cta-actions a:focus,
.cms-layout-tile-list .cms-tile .btn:hover,
.cms-layout-tile-list .cms-tile .btn:focus,
.cms-layout-tile-list .cms-tile .button:hover,
.cms-layout-tile-list .cms-tile .button:focus {
    color: #ffffff;
    background: #426b2b;
    border-color: #365823;
    text-decoration: none;
}

/* Formulieren */

.cms-layout-tile-list .cms-tile form {
    margin: 18px 0 0;
    padding: 18px;

    background: #f7f8f5;
    border: 1px solid #dce1d9;
    border-radius: 8px;
}

.cms-layout-tile-list .cms-tile form label {
    display: block;
    margin: 0 0 8px;
    font-weight: 600;
}

.cms-layout-tile-list .cms-tile form input[type="text"],
.cms-layout-tile-list .cms-tile form input[type="email"],
.cms-layout-tile-list .cms-tile form select,
.cms-layout-tile-list .cms-tile form textarea {
    display: block;
    width: 100%;
    min-height: 43px;
    padding: 9px 11px;

    color: #222222;
    background: #ffffff;
    border: 1px solid #b9c1b6;
    border-radius: 4px;

    font: inherit;
}

.cms-layout-tile-list .cms-tile form input[type="submit"],
.cms-layout-tile-list .cms-tile form button {
    min-height: 42px;
    margin-top: 14px;
    padding: 9px 16px;

    color: #ffffff;
    background: #426b2b;
    border: 1px solid #365823;
    border-radius: 4px;

    font: inherit;
    font-weight: 600;

    cursor: pointer;
}

.cms-layout-tile-list .cms-tile form input[type="submit"]:hover,
.cms-layout-tile-list .cms-tile form button:hover {
    background: #365823;
}

/* Tablet */

@media (max-width: 991px) {
    .cms-layout-tile-list .cms-tile-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 22px;
    }
}

/* Mobiel */

@media (max-width: 640px) {
    .cms-layout-tile-list {
        padding: 24px 14px 34px;
    }

    .cms-layout-tile-list .cms-tile-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 20px;
    }

    .cms-layout-tile-list .cms-tile-media img {
        height: auto;
        aspect-ratio: 16 / 10;
    }

    .cms-layout-tile-list .cms-tile-body {
        padding: 21px 20px 23px;
    }

    .cms-layout-tile-list .cms-tile h1,
    .cms-layout-tile-list .cms-tile h2,
    .cms-layout-tile-list .cms-tile h3 {
        font-size: 23px;
    }

    .cms-layout-tile-list .cms-tile-actions a,
    .cms-layout-tile-list .cms-cta-actions a,
    .cms-layout-tile-list .cms-tile .btn,
    .cms-layout-tile-list .cms-tile .button {
        width: 100%;
    }
}