/* =====================================================================
   PURE - site.css
   Het ontwerp van de oorspronkelijke Umbraco 7-site, zonder Bootstrap: de
   paar regels van Bootstrap 4 die het ontwerp gebruikte (reboot, container,
   kolommen, knoppen, formuliervelden) staan hieronder als eigen CSS, met
   exact dezelfde maten. Daarna de regels van style.css, dagprogramma.css en
   getuigenissen.css, opgekuist en zonder inline stijlen in de views.
   ===================================================================== */

/* ---------- Letters (zelf gehost: geen verzoek naar Google Fonts) ---------- */
@font-face { font-family: "Lato"; font-style: normal; font-weight: 300; font-display: swap; src: url("/assets/fonts/lato-latin-300.woff2") format("woff2"); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family: "Lato"; font-style: normal; font-weight: 300; font-display: swap; src: url("/assets/fonts/lato-latin-ext-300.woff2") format("woff2"); unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family: "Lato"; font-style: normal; font-weight: 400; font-display: swap; src: url("/assets/fonts/lato-latin-400.woff2") format("woff2"); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family: "Lato"; font-style: normal; font-weight: 400; font-display: swap; src: url("/assets/fonts/lato-latin-ext-400.woff2") format("woff2"); unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family: "Lato"; font-style: normal; font-weight: 700; font-display: swap; src: url("/assets/fonts/lato-latin-700.woff2") format("woff2"); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family: "Lato"; font-style: normal; font-weight: 700; font-display: swap; src: url("/assets/fonts/lato-latin-ext-700.woff2") format("woff2"); unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family: "SignatureCollection_alt"; font-weight: normal; font-style: normal; font-display: swap; src: url("/assets/fonts/signature-collection.woff2") format("woff2"); }
@font-face { font-family: "Copperplate"; font-weight: normal; font-style: normal; font-display: swap; src: url("/assets/fonts/copperplate.woff2") format("woff2"); }
@font-face { font-family: "FuturaLight"; font-weight: normal; font-style: normal; font-display: swap; src: url("/assets/fonts/futura-light.woff2") format("woff2"); }
@font-face { font-family: "FuturaMedium"; font-weight: bold; font-style: normal; font-display: swap; src: url("/assets/fonts/futura-medium.woff2") format("woff2"); }
@font-face { font-family: "FuturaCyrillicBook"; font-weight: normal; font-style: normal; font-display: swap; src: url("/assets/fonts/futura-book.woff2") format("woff2"); }
@font-face { font-family: "Ostrich"; font-weight: normal; font-display: swap; src: url("/assets/fonts/ostrich-regular.woff") format("woff"); }
@font-face { font-family: "Ostrich"; font-weight: bold; font-display: swap; src: url("/assets/fonts/ostrich-black.woff") format("woff"); }

/* ---------- Kleuren van het ontwerp ---------- */
:root {
    --bruin: #8F644B;
    --bruin-donker: #845e4a;
    --groen: #94C43A;
    --lichtgroen: #AACE36;
    --geel: #FFCF07;
    --oranje: #D89423;
    --cyaan: #00AFCB;
    --cyaan-knop: #0095AD;
    --blauwgroen: #66A9A4;
    --blauwgroen-donker: #38B5B0;
    --zand: #F8F6F4;
    --beige: #F0EEE9;
    --donkerbruin: #504638;
    --dagverloop-accent: #9FC938;
    --kop-hoogte: 76px;
    --tekst: #212529;
}

/* ---------- Reboot (de basis van Bootstrap 4 die het ontwerp gebruikte) ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-padding-top: var(--kop-hoogte); }
body { margin: 0; font-family: "Lato", sans-serif; font-size: 1rem; font-weight: 400; line-height: 1.5; color: var(--tekst); text-align: left; background-color: #fff; }
h1, h2, h3, h4, h5, h6 { margin-top: 0; margin-bottom: .5rem; font-weight: 500; line-height: 1.2; }
h1 { font-size: 2.5rem; } h2 { font-size: 2rem; } h3 { font-size: 1.75rem; } h4 { font-size: 1.5rem; } h5 { font-size: 1.25rem; } h6 { font-size: 1rem; }
p { margin-top: 0; font-size: 20px; font-weight: 300; margin-bottom: 20px; }
ul, ol, dl { margin-top: 0; margin-bottom: 1rem; }
small { font-size: 80%; }
b, strong { font-weight: bolder; }
a { color: var(--blauwgroen); text-decoration: none; background-color: transparent; }
a:hover { color: #0097a5; text-decoration: none; }
img { max-width: 100%; height: auto; vertical-align: middle; border-style: none; }
svg { overflow: hidden; vertical-align: middle; }
hr { box-sizing: content-box; height: 0; overflow: visible; margin-top: 1rem; margin-bottom: 1rem; border: 0; border-top: 1px solid rgba(0, 0, 0, .1); }
button, input, select, textarea { margin: 0; font-family: inherit; font-size: inherit; line-height: inherit; }
button { border-radius: 0; text-transform: none; cursor: pointer; }
textarea { overflow: auto; resize: vertical; }
[hidden] { display: none !important; }
main { overflow-x: hidden; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.skiplink { position: absolute; left: -9999px; top: 0; z-index: 2000; background: #fff; color: var(--tekst); padding: 10px 16px; }
.skiplink:focus { left: 16px; top: 16px; }
.tekst-regels { white-space: pre-line; }

/* ---------- Raster (de kolommen van Bootstrap 4, met dezelfde breakpoints en breedtes) ---------- */
.container { width: 100%; padding-right: 15px; padding-left: 15px; margin-right: auto; margin-left: auto; }
@media (min-width: 576px) { .container { max-width: 540px; } }
@media (min-width: 768px) { .container { max-width: 720px; } }
@media (min-width: 992px) { .container { max-width: 960px; } }
@media (min-width: 1200px) { .container { max-width: 1140px; } }
.row { display: flex; flex-wrap: wrap; margin-right: -15px; margin-left: -15px; }
.row.no-gutters { margin-right: 0; margin-left: 0; }
.row.no-gutters > [class*="col-"] { padding-right: 0; padding-left: 0; }
.form-row { display: flex; flex-wrap: wrap; margin-right: -5px; margin-left: -5px; }
.form-row > [class*="col"] { padding-right: 5px; padding-left: 5px; }
[class*="col-"] { position: relative; width: 100%; padding-right: 15px; padding-left: 15px; }
.col-4 { flex: 0 0 33.333333%; max-width: 33.333333%; }
.col-8 { flex: 0 0 66.666667%; max-width: 66.666667%; }
.col-10 { flex: 0 0 83.333333%; max-width: 83.333333%; }
.col-12 { flex: 0 0 100%; max-width: 100%; }
.offset-1 { margin-left: 8.333333%; }
@media (min-width: 576px) {
    .col-sm-6 { flex: 0 0 50%; max-width: 50%; }
    .col-sm-12 { flex: 0 0 100%; max-width: 100%; }
    .offset-sm-0 { margin-left: 0; }
}
@media (min-width: 768px) {
    .col-md-4 { flex: 0 0 33.333333%; max-width: 33.333333%; }
    .col-md-5 { flex: 0 0 41.666667%; max-width: 41.666667%; }
    .col-md-6 { flex: 0 0 50%; max-width: 50%; }
    .col-md-8 { flex: 0 0 66.666667%; max-width: 66.666667%; }
    .col-md-9 { flex: 0 0 75%; max-width: 75%; }
    .col-md-10 { flex: 0 0 83.333333%; max-width: 83.333333%; }
    .col-md-12 { flex: 0 0 100%; max-width: 100%; }
    .offset-md-1 { margin-left: 8.333333%; }
    .offset-md-2 { margin-left: 16.666667%; }
}
@media (min-width: 992px) {
    .col-lg-2 { flex: 0 0 16.666667%; max-width: 16.666667%; }
    .col-lg-3 { flex: 0 0 25%; max-width: 25%; }
    .col-lg-6 { flex: 0 0 50%; max-width: 50%; }
    .col-lg-12 { flex: 0 0 100%; max-width: 100%; }
}
.justify-content-start { justify-content: flex-start; }
.justify-content-end { justify-content: flex-end; }
.justify-content-center { justify-content: center; }
.d-flex { display: flex; }
.flex-column { flex-direction: column; }
.d-block { display: block; }
.w-100 { width: 100%; }
.text-center { text-align: center; }
.text-uppercase { text-transform: uppercase; }
.float-right { float: right; }
.mt-4 { margin-top: 1.5rem; }
.mt-5 { margin-top: 3rem; }
.mb-5 { margin-bottom: 3rem; }
.pb-5 { padding-bottom: 3rem; }
.center-text { text-align: center; }

/* ---------- Kleurklassen van het ontwerp ---------- */
.bruin { color: var(--bruin) !important; }
.groen { color: var(--groen) !important; }
.lichtgroen { color: var(--lichtgroen) !important; }
.geel { color: var(--geel) !important; }
.oranje { color: var(--oranje) !important; }
.cyaan { color: var(--cyaan) !important; }
.blauwgroen { color: var(--blauwgroen-donker) !important; }
.donker { color: var(--tekst) !important; }
.appelblauwzeegroen { color: var(--blauwgroen-donker) !important; }
.wit { color: #fff !important; }
.written { font-family: "SignatureCollection_alt" !important; }
.vet { font-weight: bold; }
.bg-wit { background-color: #fff; }
.bg-zand { background-color: var(--zand); }
.bg-beige { background-color: var(--beige); }
.bg-donker { background-color: var(--donkerbruin); }

/* ---------- Kopbalk en menu ---------- */
.kop { height: var(--kop-hoogte); }
.navbar { position: fixed; top: 0; right: 0; left: 0; z-index: 1030; background: #fff; }
.navbar__binnen { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; }
.navbar-brand { display: inline-block; margin-top: 16px; margin-right: 1rem; padding-top: .3125rem; padding-bottom: .3125rem; line-height: inherit; white-space: nowrap; }
.navbar-brand img { height: 50px; width: auto; }
.navbar-toggler { display: none; padding: .25rem .75rem; font-size: 1.25rem; line-height: 1; background: transparent; border: 0; color: #000; }
.navbar-toggler-icon { display: inline-block; width: 1.5em; height: 1.5em; vertical-align: middle; background: no-repeat center center / 100% 100%;
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(0, 0, 0, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E"); }
.navbar-collapse { display: flex; flex-basis: auto; align-items: center; }
.navbar-nav { display: flex; flex-direction: row; padding-left: 0; margin: 0 0 0 auto; list-style: none; }
.navbar-nav .nav-item { position: relative; }
.navbar-nav .nav-link { position: relative; display: block; font-weight: 500; text-transform: uppercase; font-size: 16px; padding: 26px 24px; color: #000; }
.navbar-nav .nav-link:hover, .navbar-nav .nav-link.active { color: var(--blauwgroen) !important; }
.navbar-nav .nav-link::after { position: absolute; width: 8px; height: 8px; right: -4px; top: 34px; content: " "; display: block; background: var(--blauwgroen); }
.navbar-nav .nav-item:last-child .nav-link::after { display: none; }
.navbar-nav .dropdown-menu { display: none; position: absolute; background: rgba(0, 0, 0, .3); min-width: 160px; right: 0; left: auto; z-index: 1; top: 74px; padding: 10px 0 12px; overflow: visible; }
.navbar-nav .dropdown:hover > .dropdown-menu,
.navbar-nav .dropdown:focus-within > .dropdown-menu,
.navbar-nav .dropdown-submenu:hover > .dropdown-menu,
.navbar-nav .dropdown-submenu:focus-within > .dropdown-menu { display: block; }
.dropdown-item { display: block; width: 100%; clear: both; white-space: nowrap; background: transparent; border: 0; position: relative; text-align: right; color: rgba(255, 255, 255, .8); text-transform: uppercase; padding: 1px 1.5rem; font-size: 14px; font-weight: 400; }
.dropdown-item:hover, .dropdown-submenu:hover > .dropdown-item { background: none; color: #fff; }
.dropdown-item:hover::after, .dropdown-submenu:hover > .dropdown-item::after { position: absolute; content: "\276E"; right: 9px; top: 2px; color: #fff; font-weight: 400; font-size: 13px; }
.dropdown-item.spaced { margin-bottom: 15px; }
.dropdown-submenu { position: relative; }
.navbar-nav .dropdown-submenu .dropdown-menu { top: 0; left: 100%; right: auto; margin-top: -1px; }

@media (min-width: 1200px) and (max-width: 1325px) { .navbar-nav { margin-right: 85px; } }

/* Mobiel menu: schuift onder de kopbalk open, zoals het oorspronkelijke offcanvas-menu. */
@media (max-width: 991px) {
    .navbar-toggler { display: block; margin-right: 15px; }
    .navbar-collapse { display: none; position: fixed; left: 0; right: 0; top: 74px; background: #fff; max-height: calc(100vh - 74px); max-height: calc(100dvh - 74px); overflow-y: auto; overscroll-behavior: contain; }
    .navbar-collapse.is-open { display: block; }
    .navbar-nav { display: block; margin: 0; }
    .navbar-nav .nav-link { padding: 10px 20px; background: #00ADBE; color: #fff; font-weight: 600; font-size: 14px; }
    .navbar-nav .nav-link:hover, .navbar-nav .nav-link.active { background: #32211c; color: #fff !important; }
    .navbar-nav .nav-link::after { display: none; }
    .navbar-nav .dropdown-menu, .navbar-nav .dropdown-submenu .dropdown-menu { display: block; position: static; background: #fff; padding: 0; min-width: 0; }
    .dropdown-item { text-align: left; color: gray; padding: 10px 20px; font-weight: 600; white-space: normal; }
    .dropdown-submenu .dropdown-item { padding-left: 40px; }
    .dropdown-item:hover, .dropdown-submenu:hover > .dropdown-item { background: var(--zand); color: #000; }
    .dropdown-item:hover::after, .dropdown-submenu:hover > .dropdown-item::after { display: none; }
    .dropdown-item.spaced { margin-bottom: 0; }
}

/* ---------- Banner ---------- */
.image_header { position: relative; height: 800px; background-size: cover; background-position: center; }
.image_header .logo { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); max-width: 100%; max-height: 100%; z-index: 2; }
.image_header h1.written_header, section h1.written_header { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); color: #fff; font-family: "SignatureCollection_alt"; text-transform: none; text-align: center !important; font-size: 156px; margin: 0; z-index: 2; white-space: nowrap; }
.banner_overlay { position: absolute; inset: 0; z-index: 1; pointer-events: none; }
.image_carousel { position: relative; }
.image_carousel .carousel-inner { position: relative; display: grid; overflow: hidden; }
.image_carousel .carousel-item { grid-area: 1 / 1; opacity: 0; transition: opacity 2s ease; }
.image_carousel .carousel-item.active { opacity: 1; }
.image_carousel .carousel-item img { object-fit: cover; height: 100%; }
.carousel-caption { position: absolute; right: 15%; left: 15%; top: 50%; transform: translateY(-50%); z-index: 10; color: #fff; text-align: center; }
.carousel-caption .written { font-size: 128px; text-transform: none; }

/* Pijltjes van de carrousels (dezelfde iconen als Bootstrap). */
.carousel-control-prev, .carousel-control-next { position: absolute; top: 0; bottom: 0; z-index: 11; display: flex; align-items: center; justify-content: center; width: 15%; padding: 0; color: #fff; text-align: center; background: none; border: 0; opacity: .5; transition: opacity .15s ease; }
.carousel-control-prev:hover, .carousel-control-next:hover, .carousel-control-prev:focus-visible, .carousel-control-next:focus-visible { opacity: .9; }
.carousel-control-prev { left: 0; } .carousel-control-next { right: 0; }
.carousel-control-prev-icon, .carousel-control-next-icon { display: inline-block; width: 20px; height: 20px; background: no-repeat 50% / 100% 100%; }
.carousel-control-prev-icon { background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3E%3C/svg%3E"); }
.carousel-control-next-icon { background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3E%3C/svg%3E"); }

/* ---------- Tussenbeeld ---------- */
.image_block { height: 400px; background-size: cover; background-position: center; }
.image_block .quote { color: #fff; text-align: center; width: 50%; margin: 0 auto; padding-top: 150px; font-size: 20px; text-transform: uppercase; font-family: "Lato"; }
.image_block p.quoted { color: #fff; font-weight: 400; text-align: center; font-size: 16px; margin-top: 20px; margin-bottom: 0; }

/* ---------- Tekstsecties ---------- */
section h1 { font-family: "FuturaCyrillicBook", "Lato", sans-serif; }
section.text_block { padding: 80px 0; }
section.text_block h1, section.text_block .h1title { text-align: center; font-family: "FuturaCyrillicBook", "Lato", sans-serif; text-transform: uppercase; font-size: 44px; }
section.text_block h2 { text-align: center; font-family: "FuturaLight", "Lato", sans-serif; text-transform: uppercase; color: var(--bruin); font-size: 34px; margin-bottom: 10px; }
section.text_block h2.h1title { font-family: "FuturaCyrillicBook", "Lato", sans-serif; font-size: 44px; color: var(--tekst); }
/* Een tussentitel buiten een tekstvlak: zoals de h1 van het oude ontwerp in een gewone sectie (40px). */
.h1title--gewoon, .kop_gewoon .h1title, .tekst_sectie .h1title { font-family: "FuturaCyrillicBook", "Lato", sans-serif; font-size: 2.5rem; font-weight: 500; margin-bottom: 20px; }
.logo-icon { margin-top: 11px; margin-right: -5px; height: 49px; width: auto; vertical-align: middle; }
h3 .logo-icon { margin-top: 4px; margin-right: -5px; height: 36px; }
section.text_block h1 span, section.text_block .h1title span { color: var(--blauwgroen); }
section.text_block p.intro { text-align: center; font-weight: 400; margin-top: -30px; padding: 40px 0 20px; font-size: 20px; text-transform: uppercase; }
section.text_block p.intro.under_written { font-weight: 500; margin-top: -50px; padding: 0 0 20px; }
hr.blokjes_horizontaal.under_written { margin-bottom: 40px; }
section.text_block .intro_title { margin-top: -40px; }
section.text_block .intro_title h1.written { font-family: "SignatureCollection_alt"; text-transform: none; font-size: 128px; }
section.text_block .intro_title h2 { margin-bottom: 10px; }
hr.intro_scheiding { margin-top: 25px; margin-bottom: 55px; }
p.begeleiders { text-align: center; margin-top: -20px; padding-bottom: 30px; }
p.inleiding { text-align: center; }
.print_link { margin-bottom: 30px; }
section.text_block .werkwijze_box h3, section.text_block .circle_box h3 { color: var(--bruin-donker); font-family: "FuturaCyrillicBook"; text-transform: uppercase; font-size: 28px; text-align: center; }
section.text_block.aanbod_title { background-color: var(--zand); padding: 60px; }
section.text_block.waarden_title { padding: 30px; }
section.text_block.waarden_items { padding: 0; }
.two_columns { column-count: 2; column-gap: 40px; }
.one_column { text-align: center; }
.one_column.links { text-align: left; }
.introtext ul, section.text_block .introtext ul { margin-left: 20px; font-size: 18px; font-weight: 300; }
/* De lijsten van "Mee te nemen" (klasse meenemen in de tekst): grijs, minder ingesprongen, zoals in het origineel. */
.introtext ul.meenemen, section.text_block .introtext ul.meenemen { margin: -10px 0 25px; padding-left: 20px; color: #888; }
ul.meenemen li { padding-left: 15px; }
.juridisch_datum { text-align: center; color: #888; font-size: 16px; }
.circle_box p, .werkwijze_box p { color: #53423A; text-align: center; font-size: 17px; margin-bottom: 50px; }
.werkwijze_box .werkwijze_icon { width: 360px; max-width: 100%; height: 288px; margin: 0 auto 30px; }
.werkwijze_box .werkwijze_icon i { display: block; width: 100%; height: 100%; background-size: contain; background-position: center; background-repeat: no-repeat; }

p.trip_dates { color: #fff; font-family: "FuturaMedium"; text-transform: uppercase; font-size: 28px; }
p.trip_dates span { display: block; }
p.event_dates { color: #fff; font-family: "FuturaLight"; text-transform: uppercase; font-size: 20px; }
p.event_dates span { margin-top: 10px; display: block; }
p.trip_dates.top, p.event_dates.top { color: var(--bruin); font-family: "FuturaLight"; text-transform: uppercase; font-size: 24px; font-weight: bold !important; text-align: center; margin-top: -25px; }
p.gray, div.gray { color: #636363; }
.gray_overruled { color: #888 !important; }
.lightbrown_bg { background: var(--zand); }
.lightbrown_bg h2 { color: #8E634A; font-family: "Ostrich"; font-weight: bold; font-size: 40px; margin-bottom: 20px; text-align: center; }
.dark_bg { background: var(--donkerbruin); }
.blue_arrow { position: relative; padding-left: 30px; }
.blue_arrow::before { display: block; position: absolute; content: ""; width: 9px; height: 13px; left: 0; top: 50%; margin-top: -10px; background: url("/assets/img/blue_square.png") no-repeat; }
.blue_arrow.indent { padding-left: 0; }
.blue_arrow.indent::before { left: -30px; }
.boeken h3 { font-family: "Ostrich"; font-weight: bold; font-size: 28px; color: #8E634A; margin-bottom: 20px; }
.center-box { width: 300px; max-width: 100%; margin: 0 auto; }

/* Agenda */
section.agenda { padding-bottom: 40px; }
.trip_data { display: block; }
.trip_data .datum { color: #9C634C; text-transform: uppercase; font-family: "FuturaMedium"; font-size: 24px; }
.trip_data h4 { color: #00ADBE; font-family: "FuturaLight"; font-size: 30px; text-transform: uppercase; margin-bottom: 0; }
.trip_data p { font-weight: 400; margin-bottom: 35px; color: #000; }
.trip_data:hover { text-decoration: none; }
/* Programma van de reizen: data, naam van de reis en ondertitel, in twee kolommen */
section.programma { padding-bottom: 60px; }
.programma_kolommen { display: grid; grid-template-columns: 1fr 1fr; column-gap: 40px; max-width: 820px; margin: 0 auto; }
.programma_lijst { list-style: none; margin: 0; padding: 0; }
.programma_lijst li { position: relative; padding-left: 28px; margin-bottom: 45px; }
.programma_lijst li::before { content: ""; position: absolute; left: 0; top: 9px; width: 7px; height: 7px; background: var(--lichtgroen); }
.programma_item { display: block; }
.programma_item:hover { text-decoration: none; }
.programma_item span { display: block; }
.programma_datum { color: #6B5750; font-weight: 700; font-size: 18px; line-height: 1.3; text-transform: uppercase; }
.programma_reis { color: #CE7A1B; font-size: 24px; line-height: 1.25; text-transform: uppercase; }
.programma_item:hover .programma_reis { text-decoration: underline; }
.programma_tekst { color: #59423B; font-style: italic; font-weight: 400; font-size: 17px; line-height: 1.45; }
.bg-donker .programma_datum, .bg-donker .programma_tekst { color: #fff; }
@media (max-width: 767px) {
    .programma_kolommen { grid-template-columns: 1fr; max-width: 480px; }
    .programma_lijst li { margin-bottom: 30px; }
    .programma_reis { font-size: 21px; }
}
.eventLocatie { color: var(--bruin) !important; position: relative; display: inline-block; margin-bottom: 3px !important; font-size: 16px !important; padding-left: 20px; }
.eventLocatie::before { content: ""; position: absolute; left: 0; top: 5px; width: 0; height: 0; border-top: 8px solid transparent; border-bottom: 9px solid transparent; border-left: 12px solid #8F644B77; }
.eventTitelInData { font-style: italic; margin-bottom: 3px !important; color: #59423B !important; }
.eventInschrijflink { margin-top: 3px !important; font-family: "Lato" !important; font-weight: 400; }
.eventInschrijflink a { position: relative; color: #59423B; transition: color .3s ease; }
.eventInschrijflink a::after { content: ""; display: inline-block; margin-left: 9px; width: 0; height: 0; border-top: 8.5px solid transparent; border-bottom: 8.5px solid transparent; border-left: 15px solid #00ADBE; vertical-align: middle; }
.eventInschrijflink a:hover { color: #00ADBE; }

/* Inschrijflink */
section.inschrijf_link { background-color: var(--beige); padding-top: 50px; padding-bottom: 50px; }
section.inschrijf_link h2.cta_titel { font-family: "FuturaLight"; text-transform: uppercase; font-size: 2.5rem; margin-bottom: 30px; }
section.inschrijf_link h2.cta_titel .written { font-family: "SignatureCollection_alt"; text-transform: none; font-size: 72px; }
section.inschrijf_link .btn-primary { background-color: #fff; }

/* Link naar externe site: smalle balk met één knop en een pijltje */
section.externe_link { padding-top: 40px; padding-bottom: 30px; }
section.externe_link .container { display: flex; justify-content: center; }
.pijlknop { display: inline-flex; align-items: center; gap: 12px; min-height: 64px; padding: 10px 16px 10px 28px; background: #fff; border: 1px solid var(--bruin); color: var(--bruin); font-family: "FuturaMedium", "Lato", sans-serif; font-weight: bold; font-size: 20px; line-height: 1.2; text-transform: uppercase; text-decoration: none; text-align: center; }
.pijlknop:hover, .pijlknop:focus { color: var(--bruin); text-decoration: none; }
.pijlknop__pijl { flex: none; transition: transform .25s ease; }
.pijlknop:hover .pijlknop__pijl, .pijlknop:focus-visible .pijlknop__pijl { transform: translateX(-4px); }
@media (prefers-reduced-motion: reduce) { .pijlknop__pijl { transition: none; } }

/* ---------- Twee helften: foto en tekst ---------- */
.twoparts_block { position: relative; }
.twoparts_block .bgblock { position: absolute; height: 100%; width: 50%; top: 0; left: 0; background-size: cover; background-position: center; background-repeat: no-repeat; overflow: hidden; }
.twoparts_block .bgblock::before { content: ""; position: absolute; top: 20px; left: 20px; right: 20px; bottom: 20px; border: 1px solid #fff; pointer-events: none; }
.twoparts_block .bgblock.no_border::before { border-color: transparent; }
.twoparts_block.right .bgblock { left: 50%; }
.twoparts_block .container { max-width: 100%; }
.twoparts_block .contentblock { text-align: center; padding: 60px; }
.twoparts_block .contentblock.links { text-align: left; }
.twoparts_block.extra-padding .contentblock { padding: 100px 110px 80px; }
.twoparts_block .contentblock h2 { font-family: "FuturaLight"; color: var(--bruin-donker); text-transform: uppercase; font-weight: 200; font-size: 36px; margin-bottom: 0; }
.twoparts_block .contentblock h3 { font-family: "SignatureCollection_alt"; color: var(--oranje); margin-bottom: -5px; font-size: 96px; font-weight: 500; }
.twoparts_block .contentblock p.subtitle, .twoparts_block .contentblock .subtitle { font-family: "Copperplate"; text-align: center; color: var(--bruin); font-size: 20px; margin: 0 auto 60px; font-weight: 100; max-width: 500px; }
.twoparts_block .contentblock p.subtitle_top { font-family: "FuturaCyrillicBook"; text-align: center; text-transform: uppercase; color: var(--bruin); font-size: 24px; margin: 0 auto 60px; font-weight: 100; max-width: 400px; }
.twoparts_block .contentblock.custom-bg { background-size: cover; background-position: center; background-repeat: no-repeat; min-height: 550px; }
.twoparts_block .contentblock.team_member { min-height: 600px; display: flex; flex-direction: column; justify-content: center; }
.twoparts_block .contentblock.team_member h2 { font-size: 36px; }
.twoparts_block .contentblock.team_member h2 small { color: #888; font-size: 21px; }
.twoparts_block .contentblock.team_member .role { font-size: 18px; font-weight: 300; color: var(--blauwgroen); margin-top: 12px; margin-bottom: 30px; text-transform: uppercase; }
hr.team_blokjes { width: 100%; margin-top: 0; margin-bottom: 2em; }
.contentblock-written-title, .twoparts_block .contentblock h2.contentblock-written-title { font-family: "SignatureCollection_alt" !important; font-size: 64px !important; color: var(--bruin) !important; text-transform: none !important; text-align: center !important; margin-bottom: 30px; }
.contentblock_tekst { text-align: inherit; }
.contentblock_tekst ul { list-style: none; padding-left: 0; }
.contentblock_tekst ul li { position: relative; padding-left: 20px; font-size: 20px; font-weight: 200; }
.contentblock_tekst ul li::before { content: ""; position: absolute; left: 0; top: .6em; width: 7px; height: 7px; background-color: var(--bolletje, var(--cyaan)); }
.twoparts_block .bgblock.fototekst { display: flex; flex-direction: column; justify-content: center; text-align: center; padding: 60px; }
.fototekst_citaat { color: #fff; text-transform: uppercase; font-weight: 400; }
.fototekst_auteur { color: #fff; }
hr.fototekst_blokjes { margin-top: 40px; min-height: 20px; min-width: 300px; }
.databijdrage .bgblock { display: flex; flex-direction: column; justify-content: center; text-align: center; }
.databijdrage_titel { margin-top: 80px; }
.databijdrage .contentblock.databijdrage_tekst { color: var(--bruin) !important; }
.databijdrage_tekst .rte, .databijdrage_tekst .rte p { width: 100%; text-align: left; font-size: 20px; }
.databijdrage .container.bg-zand { background-color: var(--zand); }

/* Overzicht van de events: titel in handschrift op de foto, de data ernaast. */
.event_kaart_titel { font-family: "SignatureCollection_alt"; font-size: 80px; font-weight: 500; margin: 60px 0 0; }
.event_kaart_tekst { color: #fff; text-transform: uppercase; font-weight: 400; margin-top: 40px; }
.event_kaart_datum { margin-bottom: 20px; width: 100%; }
@media (max-width: 600px) { .event_kaart_titel { font-size: 60px; margin-top: 20px; } }

/* ---------- Blokjes en lijnen ---------- */
hr.blokjes_horizontaal { border: none; height: 20px; background: url("/assets/img/blokjes_horizontaal_rgb.svg") no-repeat center / contain; }
hr.blokjes_horizontaal.extra_margin_bottom { margin-bottom: 40px; }
hr.blokjes_horizontaal.extra_margin_top { margin-top: 50px; }
/* Blokjes in drie kleuren, genoemd naar de kleuren van links naar rechts (of van boven naar onder):
   rcg = rood, cyaan, geel; ocg = oranje, cyaan, geel; gbb = geel, blauwgroen, bruin; gbg = geel, blauwgroen, groen.
   Zonder versie: horizontaal rcg, verticaal ocg. */
hr.blokjes_horizontaal.versie_rcg { background-image: url("/assets/img/blokjes_horizontaal_rgb.svg"); }
hr.blokjes_horizontaal.versie_ocg { background-image: url("/assets/img/blokjes_horizontaal_ocg.svg"); }
hr.blokjes_horizontaal.versie_gbb { background-image: url("/assets/img/blokjes_horizontaal_gbb.svg"); }
hr.blokjes_horizontaal.versie_gbg { background-image: url("/assets/img/blokjes_horizontaal_gcg.svg"); }
hr.blokjes_horizontaal.versie_geel { background-image: url("/assets/img/blokjes_horizontaal_geel.svg"); }
hr.blokjes_horizontaal.versie_groen { background-image: url("/assets/img/blokjes_horizontaal_groen.svg"); }
hr.blokjes_horizontaal.versie_oranje { background-image: url("/assets/img/blokjes_horizontaal_oranje.svg"); }
hr.blokjes_horizontaal.versie_cyaan { background-image: url("/assets/img/blokjes_horizontaal_cyaan.svg"); }
hr.blokjes_verticaal { border: none; height: 100px; background: url("/assets/img/blokjes_verticaal_br_bl_ge.svg") no-repeat center / contain; margin-bottom: 30px; }
hr.blokjes_verticaal.extra_margin_bottom { margin-bottom: 40px; }
hr.blokjes_verticaal.versie_rcg { background-image: url("/assets/img/blokjes_verticaal_rcg.svg"); }
hr.blokjes_verticaal.versie_ocg { background-image: url("/assets/img/blokjes_verticaal_br_bl_ge.svg"); }
hr.blokjes_verticaal.versie_gbb { background-image: url("/assets/img/blokjes_verticaal_gbb.svg"); }
hr.blokjes_verticaal.versie_gbg { background-image: url("/assets/img/blokjes_verticaal_gbg.svg"); }
hr.blokjes_verticaal.versie_geel { background-image: url("/assets/img/blokjes_verticaal_geel.svg"); }
hr.blokjes_verticaal.versie_groen { background-image: url("/assets/img/blokjes_verticaal_groen.svg"); }
hr.blokjes_verticaal.versie_oranje { background-image: url("/assets/img/blokjes_verticaal_oranje.svg"); }
hr.blokjes_verticaal.versie_cyaan { background-image: url("/assets/img/blokjes_verticaal_cyaan.svg"); }
hr.blue_line { width: 100px; height: 2px; background: var(--blauwgroen); margin: 20px 0; border: 0; }
hr.blue_line.center { margin: 25px auto 50px; }

/* ---------- Knoppen ---------- */
.btn { display: inline-block; font-weight: 400; color: var(--tekst); text-align: center; vertical-align: middle; user-select: none; background-color: transparent; border: 1px solid transparent; padding: .375rem .75rem; font-size: 1rem; line-height: 1.5; border-radius: 0; transition: all .5s; }
.btn-block { display: block; width: 100%; }
.btn.btn-primary { line-height: 35px; background: none; color: var(--bruin); border: 1px solid var(--bruin); font-size: 18px; text-transform: uppercase; font-weight: 400; padding-left: 50px; padding-right: 50px; }
.btn.btn-primary.white { color: #fff; border-color: #fff; }
.btn.btn-primary:hover { background: var(--beige); }
.btn.btn-secondary { background: var(--cyaan-knop); color: #fff; border: 0; font-family: "Ostrich"; font-weight: bold; font-size: 24px; }
.btn.btn-secondary:hover { background: #00869b; }
.btn.btn-secondary[disabled] { opacity: .6; cursor: wait; }
.btn.btn-round { background: var(--blauwgroen); color: #fff; border: 0; font-weight: 400; font-size: 18px; padding: 3px 70px; border-radius: 15px; position: relative; }
.btn.btn-round::before { position: absolute; display: block; content: ""; background: #fff; border-radius: 100%; height: 24px; width: 24px; top: 4px; right: 6px; }
.btn.btn-round::after { right: 5px; top: 50%; border: solid transparent; content: " "; height: 0; width: 0; position: absolute; pointer-events: none; border-left-color: var(--blauwgroen); border-width: 6px; margin-top: -6px; border-left-width: 10px; }
.btn.btn-round:hover { background: var(--cyaan-knop); }
.btn-transparant { background-color: transparent !important; border: 1px solid #a1806c !important; text-transform: uppercase; color: #a1806c !important; padding-left: 15px !important; padding-right: 15px !important; }
.btn-default { background: #fff; border: 1px solid #ccc; color: #333; }
.linkknop { background: none; border: 0; padding: 0; color: var(--blauwgroen); font: inherit; text-decoration: none; }
.linkknop:hover { color: #0097a5; }

/* ---------- Extra ervaringen ---------- */
.boventitel { text-align: center; color: var(--bruin); text-transform: uppercase; font-family: "FuturaMedium"; font-size: 24px; }
.geschreven-titel { margin-bottom: 0; text-align: center; color: var(--groen); font-family: "SignatureCollection_alt"; font-size: 110px; }
.omschrijving-ervaring { line-height: 1.1; text-align: center; color: var(--bruin); text-transform: uppercase; font-family: "Copperplate"; font-weight: 200; font-size: 22px; }
.prijs-ervaring { padding: 10px 20px; border: 2px solid #000; background-color: #fff; display: inline-block; }

/* ---------- Dagverloop (vervangt Owl Carousel) ---------- */
.location-detail { margin-bottom: 0; }
.location-detail .days-gallery { position: relative; display: flex; }
.location-detail .days-gallery .day-info { width: 50%; text-align: center; padding-bottom: 105px; position: relative; min-height: 660px; }
.location-detail .days-gallery .day-info > div { padding: 100px; position: static; }
.location-detail .days-gallery .slides { display: grid; }
.location-detail .days-gallery .day { grid-area: 1 / 1; padding-right: 90px; visibility: hidden; }
.location-detail .days-gallery .day.is-actief { visibility: visible; }
.location-detail .days-gallery .day-info h2, .days-gallery h2 { display: inline-block; width: auto; vertical-align: top; font-family: "SignatureCollection_alt"; font-size: 64px; color: var(--bruin); font-weight: 500; }
.location-detail .days-gallery .day-info .text { text-align: left; margin-top: 40px; }
.location-detail .days-gallery .day-info .prev, .location-detail .days-gallery .day-info .next { position: absolute; top: 50%; transform: translateY(-50%); right: 0; z-index: 3; width: 30px; height: 30px; padding: 0; border: 0; background: var(--dagverloop-accent); color: #fff; display: flex; align-items: center; justify-content: center; }
.location-detail .days-gallery .day-info .prev { left: 0; right: auto; }
.location-detail .days-gallery .gallery { position: relative; width: 50%; }
.location-detail .days-gallery .bg { position: absolute; inset: 0; background-size: cover; background-position: center; opacity: 0; transition: opacity .7s ease; }
.location-detail .days-gallery .bg[data-actief] { opacity: 1; }
.location-detail .days-gallery.met-kader .bg::before { content: ""; position: absolute; inset: 20px; border: 1px solid #fff; pointer-events: none; }
.dagverloop_bolletjes { position: absolute; left: 0; right: 0; bottom: 100px; display: flex; flex-wrap: wrap; justify-content: center; padding: 0 90px; }
.dagverloop_bolletjes button { flex: 0 0 auto; margin: 5px 7px; padding: 0; width: 12px; height: 12px; border-radius: 0; border: 2px solid var(--dagverloop-accent); background: transparent; cursor: pointer; }
.dagverloop_bolletjes button.is-actief, .dagverloop_bolletjes button:hover { background: var(--dagverloop-accent); }
.days-gallery.accent-cyaan { --dagverloop-accent: var(--cyaan); }
@media (max-width: 1200px) { .dagverloop_bolletjes { display: none; } }
@media (max-width: 800px) {
    .location-detail .days-gallery { flex-direction: column; }
    .location-detail .days-gallery.gallery-left .gallery { order: 2; }
    .location-detail .days-gallery .day-info { width: 100%; padding-bottom: 0; min-height: 500px; }
    .location-detail .days-gallery .day-info > div { padding: 20px; }
    .location-detail .days-gallery .day-info .prev, .location-detail .days-gallery .day-info .next { width: 40px; height: 40px; }
    .location-detail .days-gallery .day-info .text { margin-left: 30px; margin-top: 10px; }
    .location-detail .days-gallery .day-info h2 { margin-top: 20px; margin-bottom: -20px; }
    .location-detail .days-gallery .day-info h3 { line-height: 40px; font-size: 40px; }
    .location-detail .days-gallery .gallery { width: 100%; height: 500px; margin-top: 20px; }
}
@media (max-width: 390px) { .location-detail .days-gallery .day-info { min-height: 650px; } .days-gallery h2 { font-size: 48px !important; } }

/* ---------- Getuigenissen (slide-carrousel) ---------- */
.getuigenissen h2 { position: relative; }
.carousel { position: relative; }
.getuigenissen .carousel-inner { position: relative; width: 100%; overflow: hidden; }
.getuigenissen .carousel-inner::after { content: ""; display: block; clear: both; }
/* Zoals Bootstrap: enkel de getoonde getuigenis neemt plaats in, zodat de hoogte zich aan de tekst aanpast.
   Tijdens het schuiven staan de oude en de nieuwe even naast elkaar. */
.getuigenissen .carousel-item { position: relative; display: none; float: left; width: 100%; margin-right: -100%; backface-visibility: hidden; transition: transform .6s ease-in-out; }
.getuigenissen .carousel-item.active,
.getuigenissen .carousel-item-next,
.getuigenissen .carousel-item-prev { display: block; }
.getuigenissen .carousel-item-next:not(.carousel-item-start),
.getuigenissen .active.carousel-item-end { transform: translateX(100%); }
.getuigenissen .carousel-item-prev:not(.carousel-item-end),
.getuigenissen .active.carousel-item-start { transform: translateX(-100%); }
.getuigenis_tekst { padding-top: 1rem; }
.getuigenis_tekst p { margin: 0; }
.getuigenis_naam { margin-top: 1.5rem; margin-bottom: 0; color: #aaa !important; }
.getuigenis_functie { margin: 0; color: #aaa !important; }
.getuigenissen .carousel-control-prev { left: -100px; color: #a1806c; }
.getuigenissen .carousel-control-next { right: -100px; color: #a1806c; }
.getuigenissen .carousel-control-next-icon { background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%2300AFCB' viewBox='0 0 8 8'%3E%3Cpath d='M2 0l-1 1 3 3-3 3 1 1 4-4-4-4z'/%3E%3C/svg%3E"); }
.getuigenissen .carousel-control-prev-icon { background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%2300AFCB' viewBox='0 0 8 8'%3E%3Cpath d='M6 0l-4 4 4 4 1-1-3-3 3-3-1-1z'/%3E%3C/svg%3E"); }
.carousel-indicators { position: absolute; right: 0; bottom: -50px; left: 0; z-index: 15; display: flex; justify-content: center; padding-left: 0; margin: 0 15%; list-style: none; }
.carousel-indicators li { margin: 0 3px; }
.carousel-indicators button { display: block; width: 12px; height: 12px; padding: 0; border: 1px solid #00ADBE; background: transparent; }
.carousel-indicators button.active { background-color: #00ADBE; }
@media (min-width: 320px) and (max-width: 640px) {
    .getuigenissen .carousel-item p { font-size: 14px; }
    .getuigenissen .carousel-control-prev { left: -40px; }
    .getuigenissen .carousel-control-next { right: -40px; }
}

/* ---------- Accordeon (vragen) ---------- */
.accordion .card { margin-top: 20px; border: 0; background: #fff; }
.accordion .card:first-child { margin-top: 0; }
.accordion .card-header { list-style: none; position: relative; display: block; padding: 11px 45px 11px 27px; border-bottom: 1px solid rgba(0, 0, 0, .125); cursor: pointer; color: #888; font-size: 1rem; }
.accordion .card-header::-webkit-details-marker { display: none; }
.accordion .card[open] .card-header { color: #333; }
.accordion .card-header .icoon { position: absolute; right: 23px; top: 14px; width: 20px; height: 20px; background: url("/assets/img/icon_faq.svg") no-repeat center / contain; }
.accordion .card[open] .card-header .icoon { background-image: url("/assets/img/icon_faq_open.svg"); }
.accordion .card-body { padding: 20px 20px 20px 33px; color: #888; }
.lightbrown_bg .accordion .card, .bg-zand .accordion .card { background: #fff; }

/* ---------- Sfeerbeelden (vervangt Fotorama) ---------- */
.galerij { position: relative; margin-top: 10px; }
.galerij__beeld { position: relative; aspect-ratio: 4 / 3; overflow: hidden; background: #000; }
.galerij__beeld img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transition: opacity .4s ease; }
.galerij__beeld img[data-actief] { opacity: 1; }
.galerij__pijl { position: absolute; top: 50%; width: 44px; height: 44px; margin-top: -22px; border: 0; background: rgba(255, 255, 255, .25) no-repeat center / 16px; opacity: 0; transition: opacity .3s; }
.galerij:hover .galerij__pijl, .galerij__pijl:focus-visible { opacity: 1; }
.galerij__pijl--vorige { left: 10px; background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3E%3C/svg%3E"); }
.galerij__pijl--volgende { right: 10px; background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3E%3C/svg%3E"); }
.galerij__sluit { display: none; position: absolute; top: 10px; right: 10px; z-index: 2; width: 44px; height: 44px; border: 0; background: rgba(0, 0, 0, .4); color: #fff; font-size: 30px; line-height: 1; }
/* Eén regel miniaturen zoals Fotorama: wat niet past, scrolt of sleept opzij. Gecentreerd als alles past. */
.galerij__duimen { display: flex; gap: 2px; padding: 2px 0; overflow-x: auto; overscroll-behavior-x: contain; scrollbar-width: none; cursor: grab; }
.galerij__duimen::-webkit-scrollbar { display: none; }
.galerij__duimen.is-slepen { cursor: grabbing; }
.galerij__duimen.is-slepen button { pointer-events: none; }
.galerij__duimen > :first-child { margin-left: auto; }
.galerij__duimen > :last-child { margin-right: auto; }
.galerij__duimen button { position: relative; flex: 0 0 auto; width: 64px; height: 48px; padding: 0; border: 0; background: none; cursor: pointer; }
.galerij__duimen button.is-actief::after { content: ""; position: absolute; inset: 0; border: 2px solid #00afea; pointer-events: none; }
.galerij__duimen img { display: block; width: 64px; height: 48px; object-fit: cover; -webkit-user-drag: none; user-select: none; }
.galerij.is-volledig { position: fixed; inset: 0; z-index: 2000; background: #000; margin: 0; display: flex; flex-direction: column; }
.galerij.is-volledig .galerij__beeld { flex: 1; aspect-ratio: auto; }
.galerij.is-volledig .galerij__beeld img { object-fit: contain; }
.galerij.is-volledig .galerij__sluit { display: block; }
.galerij.is-volledig .galerij__pijl { opacity: 1; }

/* ---------- Team: het venster "Lees verder" (native dialog) ---------- */
.team_dialoog { width: min(800px, calc(100% - 2rem)); padding: 0; border: 0; border-radius: .3rem; box-shadow: 0 5px 30px rgba(0, 0, 0, .4); }
.team_dialoog::backdrop { background: rgba(0, 0, 0, .5); }
.team_dialoog__kop { display: flex; align-items: center; gap: 15px; padding: 1rem; border-bottom: 1px solid #dee2e6; }
.team_dialoog__kop h3 { margin: 0; }
.team_dialoog__kop p { margin: 0; font-size: 16px; }
.team_dialoog__kop .close { margin-left: auto; align-self: flex-start; font-size: 1.5rem; font-weight: 700; line-height: 1; color: #000; opacity: .5; background: transparent; border: 0; }
.team_dialoog .img-circle { border: 4px solid var(--blauwgroen); border-radius: 50%; box-shadow: 0 0 10px #999, 1px 1px 200px #bcbcbc inset; }
.team_dialoog__tekst { padding: 20px 1rem 20px 36px; }
.team_dialoog__voet { display: flex; justify-content: flex-end; padding: .75rem; border-top: 1px solid #dee2e6; }
.only-mobile { display: none; }
.only-desktop { display: inline; }

/* ---------- Formulieren ---------- */
.form-group { margin-bottom: 1rem; }
.inschrijven .form-group { margin-bottom: 8px; }
.form-control { display: block; width: 100%; height: calc(1.5em + .75rem + 2px); padding: .375rem .75rem; font-size: 1rem; font-weight: 400; line-height: 1.5; color: #495057; background-color: #fff; border: 1px solid #ced4da; border-radius: 0; }
textarea.form-control { height: auto; }
.inschrijven input[type="text"], .inschrijven input[type="email"], .inschrijven input[type="tel"], .inschrijven textarea, .inschrijven select { border: 1px solid #00B7CE; border-radius: 0; outline: none; }
.inschrijven input.form-control { padding: 3px 10px; }
.inschrijven textarea { min-height: 80px; }
.inschrijven select { padding: 2px; }
.inschrijven .form-control:focus { box-shadow: none; border-color: #00B7CE; }
.inschrijven .form-control:user-invalid { border-color: #d9534f; }
.col-form-label { padding: 4px 15px; margin-bottom: 0; line-height: 1.5; font-size: 18px; font-weight: 400; }
.inschrijven .subtitle { color: #20A2B2; font-size: 18px; font-weight: 400; margin-top: 40px; margin-bottom: 10px; }
.inschrijven label .subtitle, .inschrijven .col-form-label .subtitle { margin: 0; }
.inschrijven label.bigger { font-family: "Ostrich"; font-weight: bold; color: #20A2B2; font-size: 24px; line-height: 18px; }
.custom-control { position: relative; display: block; min-height: 1.5rem; padding-left: 1.5rem; }
.custom-control-input { position: absolute; left: 0; z-index: -1; width: 1rem; height: 1.25rem; opacity: 0; }
.custom-control-label { position: relative; margin-bottom: 0; vertical-align: top; font-size: 18px; font-weight: 400; cursor: pointer; }
.custom-control-label::before, .custom-control-label::after { position: absolute; left: -1.5rem; display: block; content: ""; pointer-events: none; top: 50%; margin-top: -13px; width: 22px; height: 22px; }
.custom-control-label::before { background: url("/assets/img/icon_check_brown.svg") no-repeat left bottom / 16px 16px; }
.custom-control-input:checked ~ .custom-control-label::before { background: url("/assets/img/icon_check_brown_checked.svg") no-repeat left bottom / 22px 22px; }
.custom-control-input:focus-visible ~ .custom-control-label { outline: 1px dotted #00B7CE; }
.blue .custom-control-label::before { background-image: url("/assets/img/icon_check_blue.svg"); }
.blue .custom-control-input:checked ~ .custom-control-label::before { background-image: url("/assets/img/icon_check_blue_checked.svg"); }
.inschrijven .form-check-inline { display: inline-flex; align-items: center; margin-right: .75rem; padding-left: 25px; line-height: 35px; }
.veld-verborgen { position: absolute; left: -5000px; width: 1px; height: 1px; overflow: hidden; }
.formulier_melding { margin: 10px 0; font-size: 16px; font-weight: 400; color: #20A2B2; }
.formulier_melding.is-fout { color: #c0392b; }
.formulier_bedankt { font-size: 20px; font-weight: 300; color: var(--bruin); padding: 20px 0; }
.formulier__recaptcha { font-size: 12px; color: #888; margin: 10px 0; font-weight: 300; }
.grecaptcha-badge { visibility: hidden; }
section.text_block.inschrijven h2.h1title { color: var(--bruin); }

/* ---------- Footer ---------- */
footer { background: #fff; color: var(--bruin); padding: 40px 0 0; }
footer .title { font-size: 18px; text-transform: uppercase; color: var(--bruin); }
footer .title.copper { font-family: "Copperplate"; width: 200px; line-height: 1.2; }
footer .written { font-family: "SignatureCollection_alt"; text-align: center; font-size: 64px; }
footer form .title { line-height: 50px; }
footer form input[type="text"], footer form input[type="email"] { width: 100%; background: #fff; border: 1px solid var(--bruin); font-size: 16px; height: 50px; color: #000; text-transform: uppercase; line-height: 50px; padding: 0 15px; text-align: center; }
footer form button[type="submit"] { line-height: 50px; color: #000; border: 1px solid #6FB5B0; font-size: 18px; text-transform: uppercase; font-weight: 400; padding: 0 40px 0 80px; background: url("/assets/img/arrow_right_blue.png?v2") no-repeat 40px center; transition: all .5s; }
footer form button[type="submit"]:hover { background-position: 14px center; }
footer form .formulier__recaptcha, footer form .formulier_melding { text-align: center; }
footer .container.small { padding-bottom: 50px; }
footer ul.basic_info { margin: 0 auto; overflow: hidden; padding: 0; text-align: center; }
footer ul.basic_info li { display: inline-block; list-style-type: none; padding: 0 15px; position: relative; font-size: 18px; }
footer ul.basic_info li::after { position: absolute; width: 8px; height: 8px; right: -5px; top: 10px; content: ""; display: block; background: var(--bruin); }
footer ul.basic_info_soft li::after { width: 6px; height: 6px; right: -4px; top: 8px; background: #b49786; }
footer ul.basic_info li:last-child::after { display: none; }
footer ul.basic_info_soft li, footer ul.basic_info_soft li a, footer ul.basic_info_soft .linkknop { color: #b49786; font-weight: 200; font-size: 14px; }
footer ul li a { color: var(--bruin); }
footer ul li a:hover, footer ul.basic_info_soft li a:hover, footer ul.basic_info_soft .linkknop:hover { color: var(--blauwgroen); }
footer .sociaal { display: inline-flex; vertical-align: middle; }
footer .footer_icoon { display: inline-flex; align-items: center; gap: 4px; }
footer .footer_links ul { padding: 0; margin: 0; }
footer .footer_links ul li { list-style-type: none; padding: 0; margin: 0 0 3px; }
footer .footer_links ul li.title { margin-bottom: 15px; font-weight: 500; }
footer .footer_links ul li.title a { color: var(--bruin); font-size: 17px; }
footer .footer_links ul li a { color: var(--bruin); text-transform: uppercase; font-size: 14px; line-height: 18px; }
footer .footer_links ul li a:hover { color: var(--blauwgroen); }
.basic_info_container { background-color: var(--zand); width: 100%; display: flex; align-items: center; justify-content: center; height: 100px; padding: 0; }
.footer_menu_container { background-color: var(--beige); width: 100%; display: flex; align-items: center; justify-content: center; padding: 50px 0; }
.nobreak { white-space: nowrap; }
::placeholder { color: var(--bruin); opacity: 1; }

/* ---------- Cookiemelding: een balk onderaan, geen venster over de pagina ---------- */
.cookiemelding { position: fixed; left: 0; right: 0; bottom: 0; z-index: 1500; background: #fff; box-shadow: 0 -4px 20px rgba(0, 0, 0, .15); padding: 16px 0; }
.cookiemelding__binnen { display: flex; gap: 20px; align-items: center; justify-content: space-between; flex-wrap: wrap; }
.cookiemelding__tekst { margin: 0; font-size: 16px; font-weight: 400; color: var(--tekst); flex: 1 1 400px; }
.cookiemelding__knoppen { display: flex; gap: 10px; }
.cookiemelding__knoppen .btn { padding-left: 24px; padding-right: 24px; font-size: 15px; }

/* ---------- Tekstopmaak uit de editor (rte-content.css) ---------- */
.black { color: #000; }
.blue_text { color: var(--cyaan); }
.GroeneTekst { color: var(--groen); }
.BruineTekst { color: var(--bruin); }
.inline_title_400 { color: var(--bruin); font-family: "Lato"; font-size: 20px; font-weight: 400; text-transform: uppercase; }
.inline_title { color: var(--bruin); font-family: "Lato"; font-size: 20px; font-weight: 500; text-transform: uppercase; }
.GroeneInlineTitel { color: var(--groen); font-family: "Lato"; font-size: 20px; font-weight: 400; text-transform: uppercase; }
.BlauweInlineTitel { color: var(--cyaan); font-family: "Lato"; font-size: 20px; font-weight: 400; text-transform: uppercase; }
.BruineCopperplateTitel { color: var(--bruin); font-family: "Copperplate"; font-size: 20px; font-weight: 400; text-transform: uppercase; }
.GroeneCopperplateTitel { color: var(--groen); font-family: "Copperplate"; font-size: 20px; font-weight: 200; text-transform: uppercase; }
.BlauweCopperplateTitel { color: var(--cyaan); font-family: "Copperplate"; font-size: 20px; font-weight: 200; text-transform: uppercase; }
.DunnerLettertypeBulletList { font-weight: 300 !important; }
.rte ol { padding-left: 16px; counter-reset: item; list-style-type: none; }
.rte ol li { padding-left: 10px; color: #888; font-size: 18px; font-weight: 300; display: block; position: relative; }
.rte ol li::before { content: counter(item) "  "; counter-increment: item; position: absolute; left: -16px; color: #000; }

/* ---------- Responsief (de breekpunten van het oorspronkelijke ontwerp) ---------- */
@media (max-width: 1200px) {
    footer .title { font-size: 16px; }
    footer form .title { font-size: 14px; }
    .twoparts_block.extra-padding .contentblock { padding: 60px 70px 40px; }
}
@media (min-width: 992px) and (max-width: 1140px) { .image_header { height: 600px; } }
@media (max-width: 992px) {
    :root { --kop-hoogte: 74px; }
    .image_block .quote { width: 75%; padding-top: 120px; }
    .twoparts_block .contentblock, .twoparts_block.right .contentblock { padding-top: 60px; padding-bottom: 60px; }
    .image_header h1.written_header { font-size: 100px; }
    footer form .title { font-size: 16px; text-align: center; }
    footer .footer_links ul { margin-bottom: 20px; }
    .image_header { height: 400px; }
    footer .title.copper { width: auto; }
}
@media (max-width: 870px) {
    .image_header { height: 300px; }
    .twoparts_block.extra-padding .contentblock { padding: 50px 60px 40px; }
}
@media (max-width: 768px) {
    section.text_block { padding: 50px 0; }
    .image_block .quote { width: 90%; padding-top: 100px; }
    .twoparts_block .bgblock, .twoparts_block.right .bgblock { position: relative; left: 0; width: 100%; min-height: 500px; height: auto; }
    .twoparts_block .bgblock::before { top: 10px; left: 10px; right: 10px; bottom: 10px; }
    .twoparts_block .contentblock, .twoparts_block.right .contentblock { padding: 20px 15px 40px; }
    .twoparts_block .contentblock.custom-bg { min-height: 400px; }
    footer form .send-col { text-align: center; }
    footer form button[type="submit"] { margin-top: 10px; }
    section.text_block h2 { font-size: 28px; }
    .only-mobile { display: block; }
    .only-desktop { display: none; }
    .twoparts_block .contentblock.team_member { min-height: 200px; }
    .image_block { max-height: 350px; }
    p.trip_dates.top, p.event_dates.top { font-size: 20px; }
    .logo-icon { margin-top: 6px; height: 36px; }
    section.text_block .intro_title h1.written { font-size: 72px; }
    section.text_block h1, section.text_block .h1title, section.text_block h2.h1title { font-size: 32px; }
}
@media (max-width: 767px) { .carousel-caption { display: none; } }
@media (max-width: 600px) {
    .image_header .logo { max-width: 220px; height: auto; }
    .two_columns { column-count: 1; }
    .navbar-brand { padding-left: 12px; margin-right: 0; }
    .twoparts_block.extra-padding .contentblock { padding: 30px 30px 20px; }
    .container.small { width: 90% !important; }
    .twoparts_block .contentblock p.subtitle { margin-bottom: 30px; }
    .twoparts_block .contentblock h3 { margin-bottom: -15px; font-size: 72px; }
    section.text_block h1, section.text_block .h1title, section h1.h1title, .h1title--gewoon, section.waarden_title .h1title { font-size: 28px !important; }
    .logo-icon { margin-top: 5px; height: 34px; }
    .image_header h1.written_header { font-size: 70px; }
    footer form input { margin-bottom: 10px; }
    .footer_links { text-align: center; }
    .blue_arrow.indent { padding-left: 30px; }
    .blue_arrow.indent::before { left: 0; }
    section.text_block.waarden_title { padding-left: 0 !important; padding-right: 0 !important; }
    [class*="col-sm-12"] { padding-right: 10px !important; padding-left: 10px !important; }
    .geschreven-titel { font-size: 80px !important; }
    .trip_data h4 { font-size: 24px; }
    section.inschrijven .container { width: 90% !important; }
    .cookiemelding__knoppen { width: 100%; }
    .cookiemelding__knoppen .btn { flex: 1; }
}
@media (max-width: 390px) {
    :root { --kop-hoogte: 59px; }
    .navbar-brand img { height: 35px; }
    .navbar-collapse { top: 59px; max-height: calc(100vh - 59px); max-height: calc(100dvh - 59px); }
    section.text_block h1, section.text_block .h1title, section.text_block.waarden_title .h1title, section h1.h1title, .h1title--gewoon { font-size: 24px !important; }
    .logo-icon { margin-top: 5px; height: 28px; }
    .geschreven-titel { font-size: 70px !important; }
    .trip_data .datum { font-size: 20px; }
}
@media (max-width: 375px) {
    section.text_block { padding: 30px 0; }
    hr.blue_line.center { margin: 15px auto 30px; }
    .image_block .quote { font-size: 18px; }
}
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; }
}

/* ---------- Sluit aan bij de vorige / volgende sectie (Sectie-opties, Blokken.cshtml) ----------
   De ruimte van een sectie zit op verschillende plaatsen: de padding van de section, de padding van een
   .contentblock (tekst naast foto) of de mt-5/mb-5 van de kolom. Na de responsieve regels, en met
   !important, zodat ook de kleinere paddings op tablet en gsm wegvallen. */
.sluit-boven > section:first-of-type,
.sluit-boven > section:first-of-type .contentblock { padding-top: 0 !important; }
.sluit-boven > section:first-of-type > .container > .row:first-child > [class*="col-"],
.sluit-boven > section:first-of-type > .container > [class*="col-"],
.sluit-boven > section:first-of-type .intro_title { margin-top: 0 !important; }
.sluit-onder > section:last-of-type,
.sluit-onder > section:last-of-type .contentblock { padding-bottom: 0 !important; }
.sluit-onder > section:last-of-type > .container > .row:last-child > [class*="col-"],
.sluit-onder > section:last-of-type > .container > [class*="col-"] { margin-bottom: 0 !important; }
.sluit-onder > section:last-of-type .werkwijze_box p:last-child { margin-bottom: 0; }
/* De bolletjes van de getuigenissen hangen 50px onder de carrousel: die ruimte blijft nodig. */
.sluit-onder > section.getuigenissen:last-of-type { padding-bottom: 60px !important; }
