{"id":3563,"date":"2026-08-30T23:34:23","date_gmt":"2026-08-30T21:34:23","guid":{"rendered":"https:\/\/clashrooms.nl\/?page_id=3563"},"modified":"2026-09-04T23:55:00","modified_gmt":"2026-09-04T21:55:00","slug":"request-for-quotation","status":"publish","type":"page","link":"https:\/\/clashrooms.nl\/en\/offerte-aanvraag\/","title":{"rendered":"Request for Quotation"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"3563\" class=\"elementor elementor-3563\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-27681c3 e-con-full e-flex e-con e-parent\" data-id=\"27681c3\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-ccf288e e-con-full e-flex e-con e-child\" data-id=\"ccf288e\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t<div class=\"elementor-element elementor-element-bbde74a e-con-full e-flex e-con e-child\" data-id=\"bbde74a\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-bab1e19 e-con-full e-flex e-con e-child\" data-id=\"bab1e19\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-6669f2c elementor-widget elementor-widget-heading\" data-id=\"6669f2c\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h1 class=\"elementor-heading-title elementor-size-default\">Offerte Aanvraag<\/h1>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-7131dfc elementor-widget__width-initial elementor-widget-tablet__width-initial elementor-widget elementor-widget-text-editor\" data-id=\"7131dfc\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Wij verzorgen graag een offerte op maat<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-f20ea1c e-con-full e-flex e-con e-parent\" data-id=\"f20ea1c\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t<div class=\"elementor-element elementor-element-5d16479 e-con-full e-flex e-con e-child\" data-id=\"5d16479\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;position&quot;:&quot;absolute&quot;}\">\n\t\t<div class=\"elementor-element elementor-element-aff4d00 e-con-full e-flex e-con e-child\" data-id=\"aff4d00\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;gradient&quot;,&quot;position&quot;:&quot;fixed&quot;}\">\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-8e0888f elementor-absolute elementor-widget-tablet__width-initial elementor-hidden-mobile elementor-widget elementor-widget-image\" data-id=\"8e0888f\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_position&quot;:&quot;absolute&quot;,&quot;motion_fx_motion_fx_scrolling&quot;:&quot;yes&quot;,&quot;motion_fx_translateY_effect&quot;:&quot;yes&quot;,&quot;motion_fx_translateY_speed&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:2,&quot;sizes&quot;:[]},&quot;motion_fx_translateY_affectedRange&quot;:{&quot;unit&quot;:&quot;%&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:{&quot;start&quot;:0,&quot;end&quot;:100}},&quot;motion_fx_devices&quot;:[&quot;desktop&quot;,&quot;laptop&quot;,&quot;tablet&quot;,&quot;mobile&quot;]}\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img fetchpriority=\"high\" decoding=\"async\" width=\"208\" height=\"536\" src=\"https:\/\/clashrooms.nl\/wp-content\/uploads\/2024\/03\/frame-left.svg\" class=\"attachment-large size-large wp-image-762\" alt=\"frame left\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f24a97a elementor-absolute elementor-widget-tablet__width-initial elementor-widget elementor-widget-image\" data-id=\"f24a97a\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_position&quot;:&quot;absolute&quot;,&quot;motion_fx_motion_fx_scrolling&quot;:&quot;yes&quot;,&quot;motion_fx_translateY_effect&quot;:&quot;yes&quot;,&quot;motion_fx_translateY_speed&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:2,&quot;sizes&quot;:[]},&quot;motion_fx_translateY_affectedRange&quot;:{&quot;unit&quot;:&quot;%&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:{&quot;start&quot;:0,&quot;end&quot;:100}},&quot;motion_fx_devices&quot;:[&quot;desktop&quot;,&quot;laptop&quot;,&quot;tablet&quot;,&quot;mobile&quot;]}\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"208\" height=\"536\" src=\"https:\/\/clashrooms.nl\/wp-content\/uploads\/2024\/03\/frame-right.svg\" class=\"attachment-large size-large wp-image-764\" alt=\"frame right\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-df9902c e-con-full animated-fast e-flex elementor-invisible e-con e-child\" data-id=\"df9902c\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;animation&quot;:&quot;fadeInUp&quot;,&quot;animation_delay&quot;:100}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-a5f0cb7 elementor-widget elementor-widget-heading\" data-id=\"a5f0cb7\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Vrijblijvend een offerte aanvragen<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-c0b7f97 e-con-full e-flex e-con e-child\" data-id=\"c0b7f97\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-bd80e76 elementor-widget elementor-widget-text-editor\" data-id=\"bd80e76\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Vul in wat je in gedachten hebt. Weet je de datum of het tijdstip nog niet, of twijfel je over de extra&#8217;s? Geen probleem, laat het gerust open.<\/p><p>Wij sturen zo snel mogelijk de offerte op, of nemen contact met je op om de mogelijkheden te bespreken.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-ca596e3 elementor-widget elementor-widget-html\" data-id=\"ca596e3\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!--\r\n  ============================================================\r\n  CLASHROOMS \u2014 OFFERTEFORMULIER (voor Elementor HTML-widget)\r\n  ============================================================\r\n  Plak dit VOLLEDIG in een Elementor \"HTML\"-widget op \/offerte-aanvraag\/.\r\n  Zelfstandig: eigen opmaak (CSS) + logica (JS). Tweetalig (NL\/EN):\r\n  detecteert automatisch \/en\/ (TranslatePress) en schakelt alle tekst mee.\r\n\r\n  Anders dan de boekingswidget praat dit formulier NIET met de agenda. Het post\r\n  naar \/wp-json\/clashrooms\/v1\/offerte, en die route handelt de aanvraag verder\r\n  af. Er wordt dus niets gereserveerd en er komt niets in de agenda.\r\n\r\n  De opmaak volgt bewust de boekingswidget (zelfde kleuren, knoppen en velden),\r\n  maar de code is een kopie en geen gedeelde bron. Dat is hier de veiligere\r\n  keuze: een wijziging hier kan het geteste boekingsproces niet raken.\r\n  Build: 0f356d6 (2026-09-03 14:29)\r\n  ============================================================\r\n-->\r\n\r\n<style>\r\n.cr-offerte-form {\r\n  --cr-blue:   #000F4C;\r\n  --cr-pink:   #DF1550;\r\n  --cr-yellow: #F9CB08;\r\n  --cr-light:  #F0F5FF;\r\n  max-width: 700px;\r\n  margin: 0 auto;\r\n  color: var(--cr-blue);\r\n  position: relative;\r\n}\r\n\r\n.cr-of-section { margin-bottom: 40px; }\r\n.cr-of-section__title { font-family: \"Lexend Deca\", sans-serif; font-size: 1.25rem; color: var(--cr-blue); margin: 0 0 6px; }\r\n.cr-of-section__sub { font-size: .9rem; color: #5a6488; margin: 0 0 20px; }\r\n\r\n.cr-bf-field { margin-bottom: 20px; }\r\n.cr-bf-row { display: flex; gap: 16px; flex-wrap: wrap; }\r\n.cr-bf-row .cr-bf-field { flex: 1 1 220px; }\r\n.cr-bf-label { display: block; font-weight: 600; font-size: .9rem; margin-bottom: 7px; color: var(--cr-blue); }\r\n.cr-bf-input, .cr-bf-select, .cr-bf-textarea {\r\n  width: 100%; padding: 11px 13px; border: 2px solid #dde3f0; border-radius: 8px;\r\n  font-size: .95rem; font-family: inherit; color: var(--cr-blue); background: #fff; box-sizing: border-box;\r\n}\r\n.cr-bf-input:focus, .cr-bf-select:focus, .cr-bf-textarea:focus { outline: none; border-color: var(--cr-pink); }\r\n.cr-bf-textarea { resize: vertical; }\r\n\r\n.cr-bf-btn-group { display: flex; gap: 10px; flex-wrap: wrap; }\r\n.cr-bf-btn-group--wrap { flex-wrap: wrap; }\r\n.cr-bf-opt-btn { padding: 10px 18px; border: 2px solid #dde3f0; border-radius: 8px; background: #fff; color: var(--cr-blue); font-size: .9rem; cursor: pointer; transition: all .2s; font-family: inherit; }\r\n.cr-bf-opt-btn:hover, .cr-bf-opt-btn:focus { background: #fff; border-color: var(--cr-pink); color: var(--cr-pink); text-decoration: none; }\r\n.cr-bf-opt-btn.cr-bf-opt-btn--active, .cr-bf-opt-btn.cr-bf-opt-btn--active:hover, .cr-bf-opt-btn.cr-bf-opt-btn--active:focus { background: var(--cr-pink); border-color: var(--cr-pink); color: #fff; }\r\n.cr-bf-opt-btn small { opacity: .75; }\r\n\r\n\/* Het thema van de site zet invoervelden graag op volle breedte. Daarom staan\r\n   hier twee klassen in de selector en zijn flex-basis, width \u00e9n max-width alle\r\n   drie gezet. Zonder dat rekt het getalvakje op tot de hele regel en klapt de\r\n   schuifbalk naar de volgende. Zelfde aanpak als in de boekingswidget, waar dit\r\n   al bewezen is; ook de flex-wrap moet eraf, anders wrapt hij alsnog. *\/\r\n.cr-bf-persons-row { display: flex; align-items: center; gap: 16px; }\r\n.cr-bf-persons-row .cr-bf-persons-input { flex: 0 0 76px; width: 76px; max-width: 76px; padding: 9px 8px; border: 2px solid #dde3f0; border-radius: 8px; font-family: \"Lexend Deca\", sans-serif; font-size: 1rem; font-weight: 700; text-align: center; color: var(--cr-blue); background: #fff; box-sizing: border-box; }\r\n.cr-bf-persons-row .cr-bf-persons-input:focus { outline: none; border-color: var(--cr-blue); }\r\n.cr-bf-slider-wrap { flex: 1 1 auto; min-width: 0; }\r\n.cr-bf-persons-row .cr-bf-slider { width: 100%; accent-color: var(--cr-pink); }\r\n.cr-price-calc__slider-labels { display: flex; justify-content: space-between; font-size: .75rem; color: #8a92ab; margin-top: 2px; }\r\n.cr-bf-groepsmelding { font-size: .85rem; color: var(--cr-blue); background: var(--cr-light); border-radius: 8px; padding: 10px 12px; margin: 10px 0 0; }\r\n\r\n.cr-bf-onzeker { background: var(--cr-light); border-radius: 10px; padding: 14px 16px; margin-bottom: 20px; }\r\n.cr-bf-onzeker-check { display: flex; align-items: center; gap: 9px; font-size: .9rem; cursor: pointer; }\r\n.cr-bf-onzeker-check input { width: 17px; height: 17px; accent-color: var(--cr-pink); }\r\n.cr-bf-onzeker-uitleg { margin-top: 12px; }\r\n.cr-bf-onzeker-note { font-size: .8rem; color: #5a6488; margin: 8px 0 0; }\r\n\r\n.cr-bf-extra { border-top: 1px solid #e4eafb; padding: 18px 0; }\r\n.cr-bf-extra:first-of-type { border-top: none; }\r\n.cr-bf-extra-head { display: flex; align-items: center; justify-content: space-between; gap: 14px; flex-wrap: wrap; }\r\n.cr-bf-extra-label { font-weight: 600; font-size: .95rem; display: flex; align-items: center; gap: 8px; }\r\n.cr-bf-extra-uitleg { font-size: .85rem; color: #5a6488; margin: 8px 0 0; }\r\n.cr-bf-extra-uitleg--sub { font-size: .8rem; opacity: .85; }\r\n\r\n.cr-bf-info-btn { width: 20px; height: 20px; border-radius: 50%; border: 1.5px solid var(--cr-blue); background: #fff; color: var(--cr-blue); font-size: .72rem; font-weight: 700; line-height: 1; cursor: pointer; padding: 0; font-family: inherit; }\r\n.cr-bf-info-btn:hover { background: var(--cr-blue); color: #fff; }\r\n.cr-bf-info-paneel { background: var(--cr-light); border-radius: 8px; padding: 14px 16px; margin-top: 12px; font-size: .86rem; }\r\n.cr-bf-info-paneel p { margin: 0 0 9px; }\r\n.cr-bf-info-paneel p:last-child { margin-bottom: 0; }\r\n.cr-bf-info-paneel a { color: var(--cr-pink); font-weight: 600; }\r\n\r\n\/* Eten: twee partnerkaarten naast elkaar, op mobiel onder elkaar.\r\n   Zelfde voorzorg als bij het personenvak: twee klassen in de selector en de\r\n   breedte expliciet, anders duwt het thema de knoppen op volle breedte en komen\r\n   ze onder elkaar. flex-basis 0 in plaats van auto maakt beide kaarten even\r\n   breed, ongeacht hoeveel tekst erin staat. *\/\r\n.cr-offerte-form .cr-of-eten-keuze { display: flex; gap: 12px; align-items: stretch; margin-top: 6px; }\r\n.cr-offerte-form .cr-of-eten-kaart {\r\n  flex: 1 1 0; min-width: 0; width: auto; max-width: none;\r\n  display: flex; flex-direction: column;\r\n  \/* Een knop breekt zijn tekst niet af: browsers en thema's zetten er\r\n     white-space: nowrap op, en dan loopt de zin gewoon door tot buiten de kaart\r\n     en wordt hij afgekapt. Daarom hier expliciet terug naar normaal afbreken,\r\n     samen met appearance en font, zodat er geen knop-eigenschappen overblijven\r\n     die de opmaak sturen. *\/\r\n  -webkit-appearance: none; appearance: none;\r\n  font: inherit; line-height: 1.45;\r\n  white-space: normal; overflow-wrap: break-word; word-break: normal;\r\n  text-align: left; padding: 16px 18px; border: 2px solid #dde3f0;\r\n  border-radius: 10px; background: #fff; cursor: pointer; transition: all .2s; color: var(--cr-blue);\r\n}\r\n.cr-offerte-form .cr-of-eten-kaart span { white-space: normal; }\r\n\/* Hoort bij de rechterkaart, dus lijnt daar ook onder uit. De kaarten zijn even\r\n   breed met 12px ertussen, dus de helft plus de halve tussenruimte. *\/\r\n.cr-offerte-form .cr-of-noot-rechts { margin-left: calc(50% + 6px); }\r\n.cr-of-eten-kaart:hover { border-color: var(--cr-pink); }\r\n.cr-of-eten-kaart.cr-of-eten-kaart--active { border-color: var(--cr-pink); background: #fff5f8; }\r\n.cr-offerte-form .cr-of-eten-kaart--uit { opacity: .5; cursor: not-allowed; background: #fafbff; }\r\n.cr-offerte-form .cr-of-eten-kaart--uit:hover { border-color: #dde3f0; }\r\n.cr-of-eten-kaart__naam { display: block; font-weight: 700; font-size: .95rem; margin-bottom: 5px; }\r\n.cr-of-eten-kaart__tekst { display: block; font-size: .83rem; color: #5a6488; line-height: 1.45; }\r\n\/* margin-top:auto duwt deze regel naar de onderkant van de kaart, zodat hij bij\r\n   beide kaarten op dezelfde hoogte staat ook al is de ene tekst langer. *\/\r\n.cr-of-eten-kaart__meta { display: block; font-size: .78rem; color: var(--cr-pink); font-weight: 600; margin-top: auto; padding-top: 9px; }\r\n.cr-of-buffetten { margin-top: 16px; }\r\n.cr-of-link { font-size: .82rem; }\r\n.cr-of-link a { color: var(--cr-pink); font-weight: 600; }\r\n\r\n\/* Prijsindicatie *\/\r\n.cr-of-prijs { background: var(--cr-light); border-radius: 12px; padding: 20px 22px; margin-top: 8px; }\r\n.cr-of-prijs__titel { font-family: \"Lexend Deca\", sans-serif; font-size: 1.05rem; margin: 0 0 14px; }\r\n.cr-of-rij { display: flex; justify-content: space-between; gap: 12px; font-size: .9rem; padding: 5px 0; }\r\n.cr-of-rij span:last-child { white-space: nowrap; font-variant-numeric: tabular-nums; }\r\n.cr-of-totaal { display: flex; justify-content: space-between; gap: 12px; border-top: 2px solid #cfdbf4; margin-top: 10px; padding-top: 10px; font-weight: 700; font-size: 1rem; }\r\n.cr-of-rij--btw { color: #5a6488; padding: 2px 0 0; }\r\n.cr-of-totaal + .cr-of-rij--btw + .cr-of-totaal { border-top: none; margin-top: 4px; padding-top: 0; }\r\n.cr-of-pp { font-style: italic; color: var(--cr-blue); padding-top: 8px; }\r\n.cr-of-drank { margin-top: 16px; padding-top: 12px; border-top: 1px dashed #cfdbf4; }\r\n.cr-of-optioneel { margin-top: 12px; padding-top: 10px; border-top: 1px dashed #cfdbf4; }\r\n.cr-of-optioneel .cr-of-rij { color: #5a6488; }\r\n.cr-of-optioneel__kop { font-size: .78rem; text-transform: uppercase; letter-spacing: .08em; color: #8a92ab; margin: 0 0 4px; }\r\n.cr-of-voorbehoud { font-size: .78rem; color: #8a92ab; margin: 12px 0 0; line-height: 1.5; }\r\n\r\n.cr-bf-field--check label { display: flex; align-items: flex-start; gap: 10px; font-size: .88rem; cursor: pointer; }\r\n.cr-bf-submit-btn { background: var(--cr-pink); color: #fff; border: none; border-radius: 8px; padding: 14px 30px; font-size: 1rem; font-weight: 700; cursor: pointer; font-family: inherit; transition: opacity .2s; }\r\n.cr-bf-submit-btn:hover { opacity: .9; }\r\n.cr-bf-submit-btn:disabled { opacity: .55; cursor: default; }\r\n.cr-of-verzendrij { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; margin-top: 8px; }\r\n.cr-of-privacy { font-size: .78rem; color: #8a92ab; margin: 14px 0 0; }\r\n.cr-bf-error { color: var(--cr-pink); font-size: .82rem; margin: 6px 0 0; }\r\n\r\n.cr-of-terug { text-align: center; margin-top: 26px; font-size: .88rem; color: #5a6488; }\r\n.cr-of-terug a { color: var(--cr-pink); font-weight: 600; }\r\n\r\n.cr-of-success { display: none; text-align: center; padding: 30px 10px; }\r\n.cr-of-success__logo { width: 90px; height: auto; margin-bottom: 16px; }\r\n.cr-of-success h3 { font-family: \"Lexend Deca\", sans-serif; color: var(--cr-blue); margin: 0 0 10px; }\r\n.cr-of-success p { font-size: .95rem; color: #5a6488; margin: 0 auto; max-width: 460px; }\r\n\r\n@media (max-width: 600px) {\r\n  .cr-bf-row { gap: 0; }\r\n  \/* Onder elkaar op mobiel. Zelfde specificiteit als de regel hierboven, anders\r\n     wint die en blijven de kaarten naast elkaar geperst. *\/\r\n  .cr-offerte-form .cr-of-eten-keuze { flex-wrap: wrap; }\r\n  .cr-offerte-form .cr-of-eten-kaart { flex: 1 1 100%; }\r\n  .cr-offerte-form .cr-of-noot-rechts { margin-left: 0; }\r\n}\r\n<\/style>\r\n\r\n<div class=\"cr-offerte-form\" id=\"cr-offerte-form\">\r\n\r\n  <!-- Geen introtekst hier: die staat als los element op de pagina erboven. -->\r\n\r\n  <!-- Jouw uitje -->\r\n  <div class=\"cr-of-section\">\r\n    <h3 class=\"cr-of-section__title\" data-i18n=\"s_uitje\">Jouw uitje<\/h3>\r\n    <p class=\"cr-of-section__sub\" data-i18n=\"s_uitje_sub\">Waar denken jullie ongeveer aan?<\/p>\r\n\r\n    <div class=\"cr-bf-field\">\r\n      <label class=\"cr-bf-label\" data-i18n=\"duur_label\">Duur<\/label>\r\n      <div class=\"cr-bf-btn-group\">\r\n        <button type=\"button\" class=\"cr-bf-opt-btn cr-bf-opt-btn--active\" data-field=\"duur\" data-value=\"1.5\"><span data-i18n=\"duur_15\">1,5 uur<\/span> <small data-i18n=\"duur_15_sub\">\u00b7 6 spellen<\/small><\/button>\r\n        <button type=\"button\" class=\"cr-bf-opt-btn\" data-field=\"duur\" data-value=\"2.5\"><span data-i18n=\"duur_25\">2,5 uur<\/span> <small data-i18n=\"duur_25_sub\">\u00b7 9 spellen<\/small><\/button>\r\n      <\/div>\r\n      <input type=\"hidden\" id=\"of-duur\" value=\"1.5\" \/>\r\n    <\/div>\r\n\r\n    <div class=\"cr-bf-field\">\r\n      <label class=\"cr-bf-label\" for=\"of-personen-number\" data-i18n=\"personen_label\">Aantal personen<\/label>\r\n      <div class=\"cr-bf-persons-row\">\r\n        <input type=\"number\" id=\"of-personen-number\" min=\"4\" max=\"70\" value=\"15\" class=\"cr-bf-persons-input\" inputmode=\"numeric\" \/>\r\n        <div class=\"cr-bf-slider-wrap\">\r\n          <input type=\"range\" id=\"of-personen-slider\" min=\"4\" max=\"70\" value=\"15\" class=\"cr-bf-slider\" \/>\r\n          <div class=\"cr-price-calc__slider-labels\"><span>6-<\/span><span>60+<\/span><\/div>\r\n        <\/div>\r\n      <\/div>\r\n      <input type=\"hidden\" id=\"of-personen\" value=\"15\" \/>\r\n      <p class=\"cr-bf-groepsmelding\" id=\"of-groepsmelding\" hidden><\/p>\r\n    <\/div>\r\n\r\n    <div class=\"cr-bf-onzeker\">\r\n      <label class=\"cr-bf-onzeker-check\">\r\n        <input type=\"checkbox\" id=\"of-personen-onzeker\" \/>\r\n        <span data-i18n=\"pers_onzeker_label\">Aantal deelnemers nog niet zeker?<\/span>\r\n      <\/label>\r\n      <div class=\"cr-bf-onzeker-uitleg\" id=\"of-personen-toelichting-wrap\" hidden>\r\n        <label class=\"cr-bf-label\" for=\"of-personen-toelichting\" data-i18n=\"licht_toe\">Licht toe<\/label>\r\n        <textarea id=\"of-personen-toelichting\" class=\"cr-bf-textarea\" rows=\"2\"\r\n                  placeholder=\"Bijv. tussen de 12 en 18 personen, dat weten we over twee weken.\"\r\n                  data-i18n-ph=\"pers_onzeker_ph\"><\/textarea>\r\n        <p class=\"cr-bf-onzeker-note\" data-i18n=\"pers_onzeker_note\">We rekenen in de offerte met het gekozen aantal. Je toelichting komt bij de aanvraag te staan.<\/p>\r\n      <\/div>\r\n    <\/div>\r\n\r\n    <div class=\"cr-bf-row\">\r\n      <div class=\"cr-bf-field\">\r\n        <label class=\"cr-bf-label\" data-i18n=\"taal_label\">Taal<\/label>\r\n        <div class=\"cr-bf-btn-group\">\r\n          <button type=\"button\" class=\"cr-bf-opt-btn cr-bf-opt-btn--active\" data-field=\"taal\" data-value=\"Nederlands\" data-i18n=\"taal_nl\">Nederlands<\/button>\r\n          <button type=\"button\" class=\"cr-bf-opt-btn\" data-field=\"taal\" data-value=\"Engels\" data-i18n=\"taal_en\">Engels<\/button>\r\n        <\/div>\r\n        <input type=\"hidden\" id=\"of-taal\" value=\"Nederlands\" \/>\r\n      <\/div>\r\n      <div class=\"cr-bf-field\">\r\n        <label class=\"cr-bf-label\" for=\"of-type-uitje\" data-i18n=\"type_label\">Type uitje<\/label>\r\n        <select id=\"of-type-uitje\" class=\"cr-bf-select\">\r\n          <option value=\"Bedrijfsuitje\" data-i18n=\"type_bedrijfsuitje\">Bedrijfsuitje<\/option>\r\n          <option value=\"Teambuilding\" data-i18n=\"type_teambuilding\">Teambuilding<\/option>\r\n          <option value=\"Eindejaarsuitje\" data-i18n=\"type_eindejaars\">Eindejaarsuitje<\/option>\r\n          <option value=\"Familiedag\" data-i18n=\"type_familiedag\">Familiedag<\/option>\r\n          <option value=\"Vrijgezellenfeest\" data-i18n=\"type_vrijgezellen\">Vrijgezellenfeest<\/option>\r\n          <option value=\"Verjaardag\" data-i18n=\"type_verjaardag\">Verjaardag<\/option>\r\n          <option value=\"Vriendenuitje\" data-i18n=\"type_vrienden\">Vriendenuitje<\/option>\r\n          <option value=\"Anders\" data-i18n=\"type_anders\">Anders<\/option>\r\n        <\/select>\r\n      <\/div>\r\n    <\/div>\r\n  <\/div>\r\n\r\n  <!-- Wanneer -->\r\n  <div class=\"cr-of-section\">\r\n    <h3 class=\"cr-of-section__title\" data-i18n=\"s_wanneer\">Wanneer<\/h3>\r\n    <p class=\"cr-of-section__sub\" data-i18n=\"s_wanneer_sub\">Weet je het nog niet precies? Dat mag je gerust openlaten.<\/p>\r\n\r\n    <div class=\"cr-bf-field\">\r\n      <div class=\"cr-bf-btn-group cr-bf-btn-group--wrap\">\r\n        <button type=\"button\" class=\"cr-bf-opt-btn cr-bf-opt-btn--active\" data-field=\"datumzekerheid\" data-value=\"Datum en tijd bekend\" data-i18n=\"wanneer_beide\">Datum en tijd weet ik al<\/button>\r\n        <button type=\"button\" class=\"cr-bf-opt-btn\" data-field=\"datumzekerheid\" data-value=\"Alleen datum\" data-i18n=\"wanneer_datum\">Alleen de datum<\/button>\r\n        <button type=\"button\" class=\"cr-bf-opt-btn\" data-field=\"datumzekerheid\" data-value=\"Nog open\" data-i18n=\"wanneer_open\">Nog helemaal open<\/button>\r\n      <\/div>\r\n      <input type=\"hidden\" id=\"of-datumzekerheid\" value=\"Datum en tijd bekend\" \/>\r\n    <\/div>\r\n\r\n    <div class=\"cr-bf-row\" id=\"of-datum-blok\">\r\n      <div class=\"cr-bf-field\">\r\n        <label class=\"cr-bf-label\" for=\"of-datum\" data-i18n=\"datum_label\">Gewenste datum<\/label>\r\n        <input type=\"date\" id=\"of-datum\" class=\"cr-bf-input\" \/>\r\n      <\/div>\r\n      <div class=\"cr-bf-field\" id=\"of-tijd-blok\">\r\n        <label class=\"cr-bf-label\" for=\"of-tijd\" data-i18n=\"tijd_label\">Gewenste starttijd<\/label>\r\n        <select id=\"of-tijd\" class=\"cr-bf-select\"><\/select>\r\n      <\/div>\r\n    <\/div>\r\n\r\n    <div class=\"cr-bf-field\" id=\"of-periode-blok\" hidden>\r\n      <label class=\"cr-bf-label\" for=\"of-periode\" data-i18n=\"periode_label\">Wanneer ongeveer?<\/label>\r\n      <textarea id=\"of-periode\" class=\"cr-bf-textarea\" rows=\"2\"\r\n                placeholder=\"Bijv. ergens in november, liefst op een vrijdagmiddag.\"\r\n                data-i18n-ph=\"periode_ph\"><\/textarea>\r\n    <\/div>\r\n\r\n    <div class=\"cr-bf-field\" id=\"of-datum2-blok\">\r\n      <label class=\"cr-bf-label\" for=\"of-datum2\" data-i18n=\"datum2_label\">Of eventueel deze datum (optioneel)<\/label>\r\n      <input type=\"date\" id=\"of-datum2\" class=\"cr-bf-input\" \/>\r\n      <p class=\"cr-bf-onzeker-note\" data-i18n=\"datum2_note\">Handig als je twee opties hebt: we kijken dan naar allebei.<\/p>\r\n    <\/div>\r\n  <\/div>\r\n\r\n  <!-- Extra's -->\r\n  <div class=\"cr-of-section\">\r\n    <h3 class=\"cr-of-section__title\" data-i18n=\"s_extras\">Extra's<\/h3>\r\n    <p class=\"cr-of-section__sub\" data-i18n=\"s_extras_sub\">Nog niet zeker? Kies dan \"Misschien\", dan zetten we het als optie in de offerte.<\/p>\r\n\r\n    <div class=\"cr-bf-extra\">\r\n      <div class=\"cr-bf-extra-head\">\r\n        <span class=\"cr-bf-extra-label\" data-i18n=\"beker_label\">Beker<\/span>\r\n        <div class=\"cr-bf-btn-group\">\r\n          <button type=\"button\" class=\"cr-bf-opt-btn\" data-field=\"beker\" data-value=\"Ja\" data-i18n=\"ja\">Ja<\/button>\r\n          <button type=\"button\" class=\"cr-bf-opt-btn cr-bf-opt-btn--active\" data-field=\"beker\" data-value=\"Misschien\" data-i18n=\"misschien\">Misschien<\/button>\r\n          <button type=\"button\" class=\"cr-bf-opt-btn\" data-field=\"beker\" data-value=\"Nee\" data-i18n=\"nee\">Nee<\/button>\r\n        <\/div>\r\n      <\/div>\r\n      <p class=\"cr-bf-extra-uitleg\" data-i18n=\"beker_uitleg\">Het winnende team neemt een \u00e9chte beker (25cm) mee naar huis. Per groep van 20 personen wordt 1 beker uitgereikt (\u20ac20 p.st.).<\/p>\r\n      <input type=\"hidden\" id=\"of-beker\" value=\"Misschien\" \/>\r\n    <\/div>\r\n\r\n    <div class=\"cr-bf-extra\">\r\n      <div class=\"cr-bf-extra-head\">\r\n        <span class=\"cr-bf-extra-label\">\r\n          <span data-i18n=\"pv_label\">Persoonlijke vragen<\/span>\r\n          <button type=\"button\" class=\"cr-bf-info-btn\" id=\"of-pv-info-btn\" aria-expanded=\"false\" aria-controls=\"of-pv-info\"\r\n                  data-i18n-aria=\"pv_info_knop\" aria-label=\"Meer uitleg over persoonlijke vragen\">i<\/button>\r\n        <\/span>\r\n        <div class=\"cr-bf-btn-group\">\r\n          <button type=\"button\" class=\"cr-bf-opt-btn\" data-field=\"persoonlijke_vragen\" data-value=\"Ja\" data-i18n=\"ja\">Ja<\/button>\r\n          <button type=\"button\" class=\"cr-bf-opt-btn cr-bf-opt-btn--active\" data-field=\"persoonlijke_vragen\" data-value=\"Misschien\" data-i18n=\"misschien\">Misschien<\/button>\r\n          <button type=\"button\" class=\"cr-bf-opt-btn\" data-field=\"persoonlijke_vragen\" data-value=\"Nee\" data-i18n=\"nee\">Nee<\/button>\r\n        <\/div>\r\n      <\/div>\r\n      <p class=\"cr-bf-extra-uitleg\" data-i18n=\"pv_uitleg\">Lever zelf vragen aan die wij opnemen in jullie spellen (+\u20ac35).<\/p>\r\n      <div class=\"cr-bf-info-paneel\" id=\"of-pv-info\" hidden>\r\n        <p data-i18n=\"pv_info\">In onze Brains-kamer spelen we onder andere een Quiz- en een Schattingsspel. Hoe leuk en verrassend is het als er tussen de gewone vragen door opeens vragen worden gesteld over jullie persoonlijk! Via een formulier kunnen jullie de vragen aanleveren, wij zorgen dat de GameMaster ze bij jullie boeking in de spellen verwerkt.<\/p>\r\n      <\/div>\r\n      <input type=\"hidden\" id=\"of-pv\" value=\"Misschien\" \/>\r\n    <\/div>\r\n\r\n    <div class=\"cr-bf-extra\">\r\n      <div class=\"cr-bf-extra-head cr-bf-extra-head--top\">\r\n        <span class=\"cr-bf-extra-label\" data-i18n=\"drank_label\">Drankjes<\/span>\r\n        <div class=\"cr-bf-btn-group cr-bf-btn-group--wrap\">\r\n          <button type=\"button\" class=\"cr-bf-opt-btn cr-bf-opt-btn--active\" data-field=\"drank\" data-value=\"Nacalculatie\" data-i18n=\"drank_nacalc\">Nacalculatie<\/button>\r\n          <button type=\"button\" class=\"cr-bf-opt-btn\" data-field=\"drank\" data-value=\"Drankafkoop\" data-i18n=\"drank_afkoop\">Drankafkoop<\/button>\r\n          <button type=\"button\" class=\"cr-bf-opt-btn\" data-field=\"drank\" data-value=\"Aantal\" data-i18n=\"drank_aantal_knop\">Rekenen met een aantal<\/button>\r\n          <button type=\"button\" class=\"cr-bf-opt-btn\" data-field=\"drank\" data-value=\"Munten\" data-i18n=\"drank_munten_knop\">Consumptiemunten<\/button>\r\n        <\/div>\r\n      <\/div>\r\n      <p class=\"cr-bf-extra-uitleg\" id=\"of-drank-uitleg\" data-i18n=\"drank_uitleg_nacalc\">Je betaalt achteraf wat er gedronken is. In de offerte staat dan geen bedrag voor drankjes.<\/p>\r\n      <p class=\"cr-bf-extra-uitleg cr-bf-extra-uitleg--sub\" data-i18n=\"drank_prijzen_nonalc\">Non-alcoholisch (koffie, thee, fris): \u20ac2,95<\/p>\r\n      <p class=\"cr-bf-extra-uitleg cr-bf-extra-uitleg--sub\" data-i18n=\"drank_prijzen_alc\">Alcoholisch (bier 33cl Hertog Jan, wijn 25cl St\u00eblz): \u20ac4,50<\/p>\r\n      <input type=\"hidden\" id=\"of-drank\" value=\"Nacalculatie\" \/>\r\n\r\n      <div class=\"cr-bf-onzeker-uitleg\" id=\"of-drank-aantal-blok\" hidden>\r\n        <div class=\"cr-bf-row\">\r\n          <div class=\"cr-bf-field\">\r\n            <label class=\"cr-bf-label\" for=\"of-drank-aantal\" data-i18n=\"drank_aantal_label\">Aantal drankjes per persoon<\/label>\r\n            <input type=\"number\" id=\"of-drank-aantal\" class=\"cr-bf-input\" min=\"0.25\" max=\"10\" step=\"0.25\" value=\"2\" inputmode=\"decimal\" \/>\r\n          <\/div>\r\n          <div class=\"cr-bf-field\">\r\n            <label class=\"cr-bf-label\" data-i18n=\"drank_soort_label\">Wat voor drankjes?<\/label>\r\n            <div class=\"cr-bf-btn-group\">\r\n              <button type=\"button\" class=\"cr-bf-opt-btn cr-bf-opt-btn--active\" data-field=\"drank_soort\" data-value=\"Gemengd\" data-i18n=\"drank_gemengd\">Gemengd<\/button>\r\n              <button type=\"button\" class=\"cr-bf-opt-btn\" data-field=\"drank_soort\" data-value=\"Non-alcoholisch\" data-i18n=\"drank_nonalc\">Non-alcoholisch<\/button>\r\n            <\/div>\r\n            <input type=\"hidden\" id=\"of-drank-soort\" value=\"Gemengd\" \/>\r\n            <p class=\"cr-bf-onzeker-note\" id=\"of-drank-mixprijs\" data-i18n=\"drank_mix_prijs\">Rekenprijs \u20ac3,50 per drankje, exclusief btw.<\/p>\r\n          <\/div>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <div class=\"cr-bf-onzeker-uitleg\" id=\"of-munten-blok\" hidden>\r\n        <div class=\"cr-bf-field\">\r\n          <label class=\"cr-bf-label\" for=\"of-munten-aantal\" data-i18n=\"munten_aantal_label\">Aantal munten per persoon<\/label>\r\n          <input type=\"number\" id=\"of-munten-aantal\" class=\"cr-bf-input\" min=\"1\" max=\"20\" value=\"2\" inputmode=\"numeric\" \/>\r\n          <p class=\"cr-bf-onzeker-note\" data-i18n=\"munten_prijs_note\">E\u00e9n munt geldt voor elk drankje, met of zonder alcohol. De prijs van \u20ac3,50 excl. btw is daar een gemiddelde van.<\/p>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <p class=\"cr-bf-onzeker-note\" id=\"of-drank-peakz\" hidden><\/p>\r\n    <\/div>\r\n  <\/div>\r\n\r\n  <!-- Combi met eten -->\r\n  <div class=\"cr-of-section\">\r\n    <h3 class=\"cr-of-section__title\" data-i18n=\"s_eten\">Wil je een combinatie met eten?<\/h3>\r\n    <p class=\"cr-of-section__sub\" data-i18n=\"s_eten_sub\">Wij hebben twee partners die we hiervoor willen aanraden.<\/p>\r\n\r\n    <div class=\"cr-of-eten-keuze\">\r\n      <button type=\"button\" class=\"cr-of-eten-kaart\" data-eten=\"De Lichttoren\">\r\n        <span class=\"cr-of-eten-kaart__naam\" data-i18n=\"eten_lichttoren_naam\">Restaurant De Lichttoren<\/span>\r\n        <span class=\"cr-of-eten-kaart__tekst\" data-i18n=\"eten_lichttoren_tekst\">Op 3 minuten lopen. Mooi groot restaurant met vrijwel altijd plek voor grote groepen.<\/span>\r\n        <span class=\"cr-of-eten-kaart__meta\" data-i18n=\"eten_lichttoren_meta\">Facturatie loopt via De Lichttoren<\/span>\r\n      <\/button>\r\n      <button type=\"button\" class=\"cr-of-eten-kaart\" data-eten=\"Peakz buffet\">\r\n        <span class=\"cr-of-eten-kaart__naam\" data-i18n=\"eten_peakz_naam\">Lopend buffet bij Peakz Padel<\/span>\r\n        <span class=\"cr-of-eten-kaart__tekst\" data-i18n=\"eten_peakz_tekst\">Activiteit en eten onder \u00e9\u00e9n dak. Op het grote binnenterras wordt een buffet naar keuze geserveerd. Drankjes bestel je bij de bar van Peakz.<\/span>\r\n        <span class=\"cr-of-eten-kaart__meta\" data-i18n=\"eten_peakz_meta\">v.a. \u20ac23,50 p.p. excl. btw<\/span>\r\n      <\/button>\r\n    <\/div>\r\n    <!-- Hoort bij de rechterkaart, dus staat hij daar ook onder. Eerder stond\r\n         hij onder de knop \"Nee, geen eten\" en leek hij daarbij te horen. -->\r\n    <p class=\"cr-bf-onzeker-note cr-of-noot-rechts\" id=\"of-eten-min\" hidden data-i18n=\"buffet_min\">Dit buffet bieden we aan vanaf 30 personen.<\/p>\r\n\r\n    <div class=\"cr-bf-btn-group\" style=\"margin-top:12px;\">\r\n      <button type=\"button\" class=\"cr-of-eten-geen cr-bf-opt-btn cr-bf-opt-btn--active\" data-eten=\"Nee\" data-i18n=\"eten_geen\">Nee, geen eten<\/button>\r\n    <\/div>\r\n    <input type=\"hidden\" id=\"of-eten\" value=\"Nee\" \/>\r\n\r\n    <!-- Alleen bij grotere groepen. Kleine groepen regelen het zelf, en dan is\r\n         het aanbod om na te vragen alleen maar ruis.\r\n         De mailto staat bewust buiten de kaart: die kaart is zelf een knop, en\r\n         een link daarbinnen zou bij aanklikken ook de kaart aan- of uitzetten. -->\r\n    <div class=\"cr-bf-onzeker-uitleg\" id=\"of-eten-lichttoren\" hidden>\r\n      <div class=\"cr-bf-extra-head\">\r\n        <span class=\"cr-bf-extra-label\" data-i18n=\"lichttoren_vraag\">Zullen wij alvast informeren of er plek is?<\/span>\r\n        <div class=\"cr-bf-btn-group\">\r\n          <button type=\"button\" class=\"cr-bf-opt-btn cr-bf-opt-btn--active\" data-field=\"lichttoren_informeren\" data-value=\"Ja\" data-i18n=\"ja\">Ja<\/button>\r\n          <button type=\"button\" class=\"cr-bf-opt-btn\" data-field=\"lichttoren_informeren\" data-value=\"Nee\" data-i18n=\"nee\">Nee<\/button>\r\n        <\/div>\r\n      <\/div>\r\n      <input type=\"hidden\" id=\"of-lichttoren-informeren\" value=\"Ja\" \/>\r\n      <p class=\"cr-bf-onzeker-note\">\r\n        <span data-i18n=\"lichttoren_zelf\">Liever zelf regelen? Dat kan via<\/span>\r\n        <a href=\"mailto:groepen@delichttoren.nl\">groepen@delichttoren.nl<\/a>.\r\n      <\/p>\r\n    <\/div>\r\n\r\n    <div class=\"cr-of-buffetten\" id=\"of-buffet-blok\" hidden>\r\n      <label class=\"cr-bf-label\" data-i18n=\"buffet_label\">Welk buffet heeft je voorkeur?<\/label>\r\n      <div class=\"cr-bf-btn-group cr-bf-btn-group--wrap\">\r\n        <button type=\"button\" class=\"cr-bf-opt-btn\" data-field=\"eten_buffet\" data-value=\"Italiaans\" data-i18n=\"buffet_italiaans\">Italiaans \u00b7 \u20ac23,50 p.p.<\/button>\r\n        <button type=\"button\" class=\"cr-bf-opt-btn\" data-field=\"eten_buffet\" data-value=\"Indische rijsttafel\" data-i18n=\"buffet_indisch\">Indische rijsttafel \u00b7 \u20ac23,50 p.p.<\/button>\r\n        <button type=\"button\" class=\"cr-bf-opt-btn\" data-field=\"eten_buffet\" data-value=\"Meat lovers\" data-i18n=\"buffet_meat\">Meat lovers \u00b7 \u20ac27,00 p.p.<\/button>\r\n      <\/div>\r\n      <p class=\"cr-bf-onzeker-note\" data-i18n=\"buffet_btw_note\">Dit zijn de prijzen van de cateraar, exclusief btw. In de indicatie onderaan staan ze inclusief btw, net als onze eigen tarieven.<\/p>\r\n      <input type=\"hidden\" id=\"of-buffet\" value=\"\" \/>\r\n      <p class=\"cr-of-link\"><a href=\"https:\/\/www.datocms-assets.com\/115107\/1781792159-foodbook-beursgebouw-1.pdf\" target=\"_blank\" rel=\"noopener\" data-i18n=\"buffet_foodbook\">Bekijk het foodbook van Peakz (pdf)<\/a><\/p>\r\n    <\/div>\r\n\r\n    <div class=\"cr-bf-field\" id=\"of-eten-toelichting-blok\" hidden style=\"margin-top:16px;\">\r\n      <label class=\"cr-bf-label\" for=\"of-eten-toelichting\" data-i18n=\"eten_toelichting_label\">Wensen rond het eten (optioneel)<\/label>\r\n      <textarea id=\"of-eten-toelichting\" class=\"cr-bf-textarea\" rows=\"2\"\r\n                placeholder=\"Bijv. graag eten na afloop, en er zijn twee vegetari\u00ebrs.\"\r\n                data-i18n-ph=\"eten_toelichting_ph\"><\/textarea>\r\n    <\/div>\r\n  <\/div>\r\n\r\n  <!-- Gegevens -->\r\n  <div class=\"cr-of-section\">\r\n    <h3 class=\"cr-of-section__title\" data-i18n=\"s_gegevens\">Jouw gegevens<\/h3>\r\n    <p class=\"cr-of-section__sub\" data-i18n=\"s_gegevens_sub\">Zodat we de offerte naar de juiste persoon kunnen sturen.<\/p>\r\n\r\n    <div class=\"cr-bf-field\">\r\n      <label class=\"cr-bf-label\" data-i18n=\"boeking_type_label\">Type aanvraag<\/label>\r\n      <div class=\"cr-bf-btn-group\">\r\n        <button type=\"button\" class=\"cr-bf-opt-btn cr-bf-opt-btn--active\" data-field=\"boeking_type\" data-value=\"Zakelijk\" data-i18n=\"zakelijk\">Zakelijk<\/button>\r\n        <button type=\"button\" class=\"cr-bf-opt-btn\" data-field=\"boeking_type\" data-value=\"Particulier\" data-i18n=\"particulier\">Particulier<\/button>\r\n      <\/div>\r\n      <input type=\"hidden\" id=\"of-boeking-type\" value=\"Zakelijk\" \/>\r\n    <\/div>\r\n\r\n    <div id=\"of-zakelijk-velden\">\r\n      <div class=\"cr-bf-row\">\r\n        <div class=\"cr-bf-field\">\r\n          <label class=\"cr-bf-label\" for=\"of-bedrijfsnaam\" data-i18n=\"bedrijfsnaam_label\">Bedrijfsnaam<\/label>\r\n          <input type=\"text\" id=\"of-bedrijfsnaam\" class=\"cr-bf-input\" placeholder=\"Naam van je bedrijf\" data-i18n-ph=\"bedrijfsnaam_ph\" \/>\r\n        <\/div>\r\n        <div class=\"cr-bf-field\">\r\n          <label class=\"cr-bf-label\" for=\"of-factuur\" data-i18n=\"factuur_label\">Factuurgegevens \/ kostenpost<\/label>\r\n          <input type=\"text\" id=\"of-factuur\" class=\"cr-bf-input\" placeholder=\"Bijv. kostenplaats, projectnummer\" data-i18n-ph=\"factuur_ph\" \/>\r\n        <\/div>\r\n      <\/div>\r\n    <\/div>\r\n\r\n    <!-- Honeypot: verborgen voor mensen, bots vullen 'm vaak w\u00e9l in. -->\r\n    <div aria-hidden=\"true\" style=\"position:absolute;left:-9999px;top:-9999px;width:1px;height:1px;overflow:hidden;\">\r\n      <label for=\"of-website\">Website (niet invullen)<\/label>\r\n      <input type=\"text\" id=\"of-website\" tabindex=\"-1\" autocomplete=\"off\" \/>\r\n    <\/div>\r\n\r\n    <div class=\"cr-bf-row\">\r\n      <div class=\"cr-bf-field\">\r\n        <label class=\"cr-bf-label\" for=\"of-voornaam\" data-i18n=\"voornaam_label\">Voornaam *<\/label>\r\n        <input type=\"text\" id=\"of-voornaam\" class=\"cr-bf-input\" placeholder=\"Voornaam\" data-i18n-ph=\"voornaam_ph\" \/>\r\n      <\/div>\r\n      <div class=\"cr-bf-field\">\r\n        <label class=\"cr-bf-label\" for=\"of-achternaam\" data-i18n=\"achternaam_label\">Achternaam<\/label>\r\n        <input type=\"text\" id=\"of-achternaam\" class=\"cr-bf-input\" placeholder=\"Achternaam\" data-i18n-ph=\"achternaam_ph\" \/>\r\n      <\/div>\r\n    <\/div>\r\n    <div class=\"cr-bf-row\">\r\n      <div class=\"cr-bf-field\">\r\n        <label class=\"cr-bf-label\" for=\"of-email\" data-i18n=\"email_label\">E-mailadres *<\/label>\r\n        <input type=\"email\" id=\"of-email\" class=\"cr-bf-input\" placeholder=\"jouw@email.nl\" data-i18n-ph=\"email_ph\" \/>\r\n      <\/div>\r\n      <div class=\"cr-bf-field\">\r\n        <label class=\"cr-bf-label\" for=\"of-telefoon\" data-i18n=\"telefoon_label\">Telefoonnummer<\/label>\r\n        <input type=\"tel\" id=\"of-telefoon\" class=\"cr-bf-input\" placeholder=\"06...\" data-i18n-ph=\"telefoon_ph\" \/>\r\n      <\/div>\r\n    <\/div>\r\n    <div class=\"cr-bf-field\">\r\n      <label class=\"cr-bf-label\" for=\"of-opmerkingen\" data-i18n=\"opmerkingen_label\">Vragen of opmerkingen<\/label>\r\n      <textarea id=\"of-opmerkingen\" class=\"cr-bf-textarea\" rows=\"4\" placeholder=\"Alles wat we moeten weten om een goede offerte te maken...\" data-i18n-ph=\"opmerkingen_ph\"><\/textarea>\r\n    <\/div>\r\n  <\/div>\r\n\r\n  <!-- Prijsindicatie -->\r\n  <div class=\"cr-of-section\">\r\n    <h3 class=\"cr-of-section__title\" data-i18n=\"s_prijs\">Prijsindicatie<\/h3>\r\n    <p class=\"cr-of-section__sub\" data-i18n=\"s_prijs_sub\">Een richtbedrag op basis van je keuzes. De definitieve prijzen staan in de offerte.<\/p>\r\n    <div class=\"cr-of-prijs\" id=\"of-prijs\"><\/div>\r\n  <\/div>\r\n\r\n  <div class=\"cr-of-verzendrij\">\r\n    <button type=\"button\" id=\"of-submit\" class=\"cr-bf-submit-btn\" data-i18n=\"submit\">Offerte aanvragen<\/button>\r\n  <\/div>\r\n  <p class=\"cr-of-privacy\" data-i18n=\"privacy\">We gebruiken je gegevens alleen om deze aanvraag te beantwoorden. Je krijgt van ons geen nieuwsbrief.<\/p>\r\n\r\n  <p class=\"cr-of-terug\">\r\n    <span data-i18n=\"terug_pre\">Weet je het al zeker?<\/span>\r\n    <a id=\"of-boeken-link\" href=\"https:\/\/clashrooms.nl\/boeken\/\" data-i18n=\"terug_link\">Direct boeken<\/a>\r\n  <\/p>\r\n\r\n  <div class=\"cr-of-success\" id=\"of-success\">\r\n    <img decoding=\"async\" class=\"cr-of-success__logo\" src=\"\/wp-content\/uploads\/2024\/03\/CR-favicon-300x300.png\" alt=\"ClashRooms\" width=\"300\" height=\"300\" \/>\r\n    <h3 id=\"of-success-title\" data-i18n=\"success_title\">Aanvraag verstuurd!<\/h3>\r\n    <p id=\"of-success-body\" data-i18n=\"success_body\">Bedankt voor je offerteaanvraag. Je ontvangt binnen 2 werkdagen een offerte per e-mail. Er is nog niets vastgelegd.<\/p>\r\n  <\/div>\r\n\r\n<\/div>\r\n\r\n<script>\r\n(function () {\r\n  'use strict';\r\n\r\n  \/\/ Zelfde principe als de boekingswidget: alleen deze paden gaan naar de\r\n  \/\/ testroute, al het andere naar productie. Een misser levert dus hooguit een\r\n  \/\/ testaanvraag in het echte postvak op, niet een echte aanvraag die verdwijnt.\r\n  var TEST_PADEN = ['\/offerte-test\/', '\/offerte-test', '\/en\/offerte-test\/', '\/en\/offerte-test'];\r\n  var IS_TEST    = TEST_PADEN.indexOf(location.pathname) !== -1;\r\n  var POST_URL   = IS_TEST ? '\/wp-json\/clashrooms\/v1\/offerte-test' : '\/wp-json\/clashrooms\/v1\/offerte';\r\n\r\n  try { console.log('[ClashRooms offerte] ' + (IS_TEST ? 'TEST' : 'PRODUCTIE') + ' \u2014 ' + POST_URL); } catch (e) {}\r\n\r\n  var FORM_LOADED_AT = Date.now();\r\n  var PERS_MIN = 4, PERS_MAX = 70, MIN_TARIEF_AANTAL = 6;\r\n\r\n  var LANG = (\/^\\\/en(\\\/|$)\/.test(location.pathname) || \/^en\/i.test(document.documentElement.lang || '')) ? 'en' : 'nl';\r\n\r\n  \/\/ \u2500\u2500 Prijzen \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\r\n  \/\/ Zelfde tabel als de boekingswidget (Tarieven-tabblad, inclusief BTW).\r\n  var PRICES = {\r\n    1.5: [ { max: 8, pp: 32.00 }, { max: 12, pp: 29.00 }, { max: 16, pp: 27.50 }, { max: 99, pp: 26.50 } ],\r\n    2.5: [ { max: 8, pp: 39.00 }, { max: 12, pp: 35.50 }, { max: 16, pp: 33.50 }, { max: 99, pp: 32.00 } ]\r\n  };\r\n\r\n  \/\/ Deel van de offerteaanvragen dat uiteindelijk een boeking wordt. De waarde\r\n  \/\/ die naar de advertentiekanalen gaat is de indicatie maal dit getal, zodat\r\n  \/\/ een aanvraag niet meetelt alsof hij al geboekt is. Loopt de praktijk uit\r\n  \/\/ elkaar, dan is dit het enige getal dat aangepast hoeft te worden.\r\n  var OFFERTE_SCORINGSKANS = 0.5;\r\n\r\n  var AFKOOP_PP = 9.50;\r\n  var PV_PRIJS = 35;\r\n  var BEKER_PRIJS = 20;\r\n\r\n  \/\/ Drankjes. De losse prijzen staan bruto in het Tarieven-tabblad; alcohol valt\r\n  \/\/ onder 21%, non-alcoholisch onder 9%. Bij \"gemengd\" rekenen we met 60% alcohol\r\n  \/\/ en 40% non-alcoholisch, zodat er \u00e9\u00e9n prijs per drankje uitkomt.\r\n  var DRANK_ALC_INCL    = 4.50;\r\n  var DRANK_NONALC_INCL = 2.95;\r\n  var DRANK_MIX_ALC     = 0.60;   \/\/ aandeel alcoholisch bij \"gemengd\"\r\n\r\n  \/\/ Een gemengd drankje en een consumptiemunt zijn hetzelfde ding: \u00e9\u00e9n gemiddeld\r\n  \/\/ drankje uit de mix hierboven. Ze staan daarom op \u00e9\u00e9n prijs, zodat er geen\r\n  \/\/ twee bedragen voor hetzelfde bestaan. Rekenkundig komt de mix op 3,32 uit;\r\n  \/\/ 3,50 is de commerci\u00eble prijs die we hanteren. Dat verschil is een keuze en\r\n  \/\/ geen rekenfout, dus reken deze waarde niet \"terug\" naar de mix.\r\n  var MIX_EXCL = 3.50;\r\n\r\n  \/\/ BTW-tarief per onderdeel. Nodig om onderaan een totaal exclusief btw te\r\n  \/\/ kunnen tonen: onze eigen tarieven zijn bruto (inclusief), dus daar moet de\r\n  \/\/ btw uit gerekend worden, en dat kan alleen per onderdeel.\r\n  \/\/\r\n  \/\/ De beker is een product en valt daarom onder 21%, de rest onder 9%\r\n  \/\/ (bevestigd door Joost op 31-08-2026). Dit is de enige plek waar dat staat.\r\n  var BTW = {\r\n    clashrooms:  0.09,\r\n    afkoop:      0.09,\r\n    pv:          0.09,\r\n    beker:       0.21,\r\n    buffet:      0.09,\r\n    alcohol:     0.21,\r\n    nonalcohol:  0.09\r\n  };\r\n\r\n  \/\/ Btw op een munt of een gemengd drankje: het gewogen tarief van de mix\r\n  \/\/ waarvoor hij ingeruild wordt. Staat hier en niet bij de drankprijzen\r\n  \/\/ hierboven, want hij leunt op de tabel die net is gedefinieerd.\r\n  var BTW_MIX = DRANK_MIX_ALC * BTW.alcohol + (1 - DRANK_MIX_ALC) * BTW.nonalcohol;\r\n\r\n  \/\/ Buffetprijzen komen uit het foodbook van Peakz en staan daar EXCLUSIEF btw.\r\n  \/\/ Op het formulier tonen we ze zo, want zo kent de cateraar ze. In de\r\n  \/\/ indicatie staan ze inclusief, net als onze eigen tarieven, anders tel je\r\n  \/\/ twee verschillende grondslagen bij elkaar op.\r\n  var BUFFET_MIN_PERSONEN = 30;\r\n  \/\/ Boven dit aantal bieden we aan om bij De Lichttoren de beschikbaarheid na te\r\n  \/\/ vragen. Daaronder regelen mensen dat zelf.\r\n  var LICHTTOREN_MIN_PERSONEN = 15;\r\n  var BUFFETTEN = {\r\n    'Italiaans':           23.50,\r\n    'Indische rijsttafel': 23.50,\r\n    'Meat lovers':         27.00\r\n  };\r\n\r\n  var I18N = {\r\n    nl: {\r\n      s_uitje:'Jouw uitje', s_uitje_sub:'Waar denken jullie ongeveer aan?',\r\n      duur_label:'Duur', duur_15:'1,5 uur', duur_15_sub:'\u00b7 6 spellen', duur_25:'2,5 uur', duur_25_sub:'\u00b7 9 spellen',\r\n      personen_label:'Aantal personen', licht_toe:'Licht toe',\r\n      pers_onzeker_label:'Aantal deelnemers nog niet zeker?',\r\n      pers_onzeker_ph:'Bijv. tussen de 12 en 18 personen, dat weten we over twee weken.',\r\n      pers_onzeker_note:'We rekenen in de offerte met het gekozen aantal. Je toelichting komt bij de aanvraag te staan.',\r\n      groep_klein:'Ook met 4 of 5 personen ben je welkom. Je betaalt dan wel het tarief voor 6 personen.',\r\n      groep_groot:'Grotere groep? Tot 70 personen kunnen we je groep ontvangen. Zit je daarboven, zet dat dan bij je opmerkingen: met onze partners kunnen we tot 150 personen aan.',\r\n      taal_label:'Taal', taal_nl:'Nederlands', taal_en:'Engels', type_label:'Type uitje',\r\n      type_bedrijfsuitje:'Bedrijfsuitje', type_teambuilding:'Teambuilding', type_eindejaars:'Eindejaarsuitje',\r\n      type_familiedag:'Familiedag', type_vrijgezellen:'Vrijgezellenfeest', type_verjaardag:'Verjaardag',\r\n      type_vrienden:'Vriendenuitje', type_anders:'Anders',\r\n      s_wanneer:'Wanneer', s_wanneer_sub:'Weet je het nog niet precies? Dat mag je gerust openlaten.',\r\n      wanneer_beide:'Datum en tijd weet ik al', wanneer_datum:'Alleen de datum', wanneer_open:'Nog helemaal open',\r\n      datum_label:'Gewenste datum', tijd_label:'Gewenste starttijd',\r\n      periode_label:'Wanneer ongeveer?', periode_ph:'Bijv. ergens in november, liefst op een vrijdagmiddag.',\r\n      datum2_label:'Of eventueel deze datum (optioneel)',\r\n      datum2_note:'Handig als je twee opties hebt: we kijken dan naar allebei.',\r\n      s_extras:'Extra\\'s', s_extras_sub:'Nog niet zeker? Kies dan \"Misschien\", dan zetten we het als optie in de offerte.',\r\n      ja:'Ja', misschien:'Misschien', nee:'Nee',\r\n      drank_label:'Drankjes',\r\n      drank_nacalc:'Nacalculatie', drank_afkoop:'Drankafkoop', drank_aantal_knop:'Rekenen met een aantal', drank_munten_knop:'Consumptiemunten',\r\n      drank_uitleg_nacalc:'Je betaalt achteraf wat er gedronken is. In de offerte staat dan geen bedrag voor drankjes.',\r\n      drank_uitleg_afkoop:'Onbeperkt koffie, thee en frisdrank voor \u20ac9,50 p.p. Alleen non-alcoholisch, en alleen bij ClashRooms zelf (dus los van een eventuele combinatie met eten).',\r\n      drank_uitleg_aantal:'We zetten een geschat aantal drankjes in de offerte, zodat je een richtbedrag hebt. Je betaalt uiteindelijk wat er gedronken is.',\r\n      drank_uitleg_munten:'Je krijgt munten die jullie onderling verdelen, zodat je de kosten in de hand houdt. We bieden deze optie puur aan voor bedrijven die aan een budget gebonden zitten. Maar hierbij geldt alsnog, er is geen controle op het gebruik van de munten, dus je betaalt wat daadwerkelijk is gedronken.',\r\n      drank_aantal_label:'Aantal drankjes per persoon', drank_soort_label:'Wat voor drankjes?',\r\n      drank_gemengd:'Gemengd', drank_nonalc:'Non-alcoholisch',\r\n      drank_prijzen_nonalc:'Non-alcoholisch (koffie, thee, fris): \u20ac2,95',\r\n      drank_prijzen_alc:'Alcoholisch (bier 33cl Hertog Jan, wijn 25cl St\u00eblz): \u20ac4,50',\r\n      drank_mix_prijs:'Rekenprijs \u20ac3,50 per drankje, exclusief btw.',\r\n      munten_prijs_note:'E\u00e9n munt geldt voor elk drankje, met of zonder alcohol. De prijs van \u20ac3,50 excl. btw is daar een gemiddelde van.',\r\n      munten_aantal_label:'Aantal munten per persoon',\r\n      drank_peakz_afkoop:'Let op: de drankafkoop geldt alleen bij ClashRooms. Drankjes op het terras van Peakz gaan apart op nacalculatie.',\r\n      drank_peakz_munten:'Fijn bij deze combinatie: de munten gelden zowel bij ClashRooms als bij Peakz. Dat verrekenen wij onderling.',\r\n      pv_label:'Persoonlijke vragen', pv_uitleg:'Lever zelf vragen aan die wij opnemen in jullie spellen (+\u20ac35).',\r\n      pv_info_knop:'Meer uitleg over persoonlijke vragen',\r\n      pv_info:'In onze Brains-kamer spelen we onder andere een Quiz- en een Schattingsspel. Hoe leuk en verrassend is het als er tussen de gewone vragen door opeens vragen worden gesteld over jullie persoonlijk! Via een formulier kunnen jullie de vragen aanleveren, wij zorgen dat de GameMaster ze bij jullie boeking in de spellen verwerkt.',\r\n      beker_label:'Beker', beker_uitleg:'Het winnende team neemt een \u00e9chte beker (25cm) mee naar huis. Per groep van 20 personen wordt 1 beker uitgereikt (\u20ac20 p.st.).',\r\n      s_eten:'Wil je een combinatie met eten?', s_eten_sub:'Wij hebben twee partners die we hiervoor willen aanraden.',\r\n      eten_lichttoren_naam:'Restaurant De Lichttoren',\r\n      eten_lichttoren_tekst:'Op 3 minuten lopen. Mooi groot restaurant met vrijwel altijd plek voor grote groepen.',\r\n      eten_lichttoren_meta:'Facturatie loopt via De Lichttoren',\r\n      lichttoren_vraag:'Zullen wij alvast informeren of er plek is?',\r\n      lichttoren_zelf:'Liever zelf regelen? Dat kan via',\r\n      eten_peakz_naam:'Lopend buffet bij Peakz Padel',\r\n      eten_peakz_tekst:'Activiteit en eten onder \u00e9\u00e9n dak. Op het grote binnenterras wordt een buffet naar keuze geserveerd. Drankjes bestel je bij de bar van Peakz.',\r\n      eten_peakz_meta:'v.a. \u20ac23,50 p.p. excl. btw',\r\n      buffet_min:'Dit buffet bieden we aan vanaf 30 personen.',\r\n      eten_geen:'Nee, geen eten',\r\n      buffet_label:'Welk buffet heeft je voorkeur?',\r\n      buffet_italiaans:'Italiaans \u00b7 \u20ac23,50 p.p.', buffet_indisch:'Indische rijsttafel \u00b7 \u20ac23,50 p.p.', buffet_meat:'Meat lovers \u00b7 \u20ac27,00 p.p.',\r\n      buffet_btw_note:'Dit zijn de prijzen van de cateraar, exclusief btw. In de indicatie onderaan staan ze inclusief btw, net als onze eigen tarieven.',\r\n      buffet_foodbook:'Bekijk het foodbook van Peakz (pdf)',\r\n      eten_toelichting_label:'Wensen rond het eten (optioneel)',\r\n      eten_toelichting_ph:'Bijv. graag eten na afloop, en er zijn twee vegetari\u00ebrs.',\r\n      s_gegevens:'Jouw gegevens', s_gegevens_sub:'Zodat we de offerte naar de juiste persoon kunnen sturen.',\r\n      boeking_type_label:'Type aanvraag', zakelijk:'Zakelijk', particulier:'Particulier',\r\n      bedrijfsnaam_label:'Bedrijfsnaam', bedrijfsnaam_ph:'Naam van je bedrijf',\r\n      factuur_label:'Factuurgegevens \/ kostenpost', factuur_ph:'Bijv. kostenplaats, projectnummer',\r\n      voornaam_label:'Voornaam *', voornaam_ph:'Voornaam', achternaam_label:'Achternaam', achternaam_ph:'Achternaam',\r\n      email_label:'E-mailadres *', email_ph:'jouw@email.nl', telefoon_label:'Telefoonnummer', telefoon_ph:'06...',\r\n      opmerkingen_label:'Vragen of opmerkingen', opmerkingen_ph:'Alles wat we moeten weten om een goede offerte te maken...',\r\n      s_prijs:'Prijsindicatie', s_prijs_sub:'Een richtbedrag op basis van je keuzes. De definitieve prijzen staan in de offerte.',\r\n      prijs_titel:'Indicatie', prijs_clashrooms:'ClashRooms, {n} personen, {duur}',\r\n      prijs_afkoop:'Drankafkoop', prijs_pv:'Persoonlijke vragen', prijs_beker:'Beker ({n}\u00d7)',\r\n      prijs_totaal:'Indicatie totaal incl. btw', prijs_totaal_excl:'Indicatie totaal excl. btw', prijs_btw:'Btw', prijs_pp:'p.p.',\r\n      prijs_pp_kop:'Prijs per persoon', prijs_pp_suffix:'p.p. (ex btw)',\r\n      prijs_optioneel:'Nog niet meegeteld',\r\n      prijs_drank_kop:'Drankjes, schatting op nacalculatie',\r\n      prijs_drank_aantal:'{n} \u00d7 {soort} per persoon',\r\n      prijs_drank_munten:'{n} consumptiemunten per persoon',\r\n      prijs_drank_totaal:'Richtbedrag inclusief drankjes, excl. btw',\r\n      prijs_drank_nacalc:'De drankjes gaan op nacalculatie. Je betaalt achteraf wat er gedronken is.',\r\n      prijs_drank_let_op:'Dit is een schatting om mee te rekenen. Wat je uiteindelijk betaalt volgt uit wat er werkelijk gedronken is.',\r\n      prijs_optie_regel:'+ {bedrag} als je hiervoor kiest',\r\n      prijs_lichttoren:'Eten bij De Lichttoren reken je rechtstreeks met hen af.',\r\n      prijs_buffet_kies:'Kies hierboven een buffet om het mee te rekenen.',\r\n      voorbehoud:'Dit is een indicatie, geen offerte. Buffetprijzen zijn onder voorbehoud van prijswijzigingen van de cateraar. Je ontvangt van ons een offerte met de definitieve prijzen.',\r\n      submit:'Offerte aanvragen', submitting:'Versturen...',\r\n      privacy:'We gebruiken je gegevens alleen om deze aanvraag te beantwoorden. Je krijgt van ons geen nieuwsbrief.',\r\n      terug_pre:'Weet je het al zeker?', terug_link:'Direct boeken',\r\n      success_title:'Aanvraag verstuurd!',\r\n      success_body:'Bedankt voor je offerteaanvraag. Je ontvangt binnen 2 werkdagen een offerte per e-mail. Er is nog niets vastgelegd.',\r\n      err_voornaam:'Vul je voornaam in.', err_email:'Vul een geldig e-mailadres in (met @ en een punt).',\r\n      err_datum:'Kies een datum, of geef aan dat het nog open is.',\r\n      err_bedrijfsnaam:'Vul de naam van het bedrijf in.',\r\n      err_algemeen:'Er ging iets mis. Probeer opnieuw of mail info@clashrooms.nl',\r\n      err_verbinding:'Verbindingsfout. Probeer opnieuw of mail info@clashrooms.nl'\r\n    },\r\n    en: {\r\n      s_uitje:'Your outing', s_uitje_sub:'Roughly what do you have in mind?',\r\n      duur_label:'Duration', duur_15:'1.5 hours', duur_15_sub:'\u00b7 6 games', duur_25:'2.5 hours', duur_25_sub:'\u00b7 9 games',\r\n      personen_label:'Number of people', licht_toe:'Please explain',\r\n      pers_onzeker_label:'Number of participants not final yet?',\r\n      pers_onzeker_ph:'E.g. between 12 and 18 people, we will know in two weeks.',\r\n      pers_onzeker_note:'We will base the quote on the number you picked. Your note is added to the request.',\r\n      groep_klein:'Groups of 4 or 5 are welcome too. However you will pay the rate for 6 people.',\r\n      groep_groot:'Larger group? Up to 70 people we can host your group. Above that, mention it in the comments: with our partners we can host up to 150.',\r\n      taal_label:'Language', taal_nl:'Dutch', taal_en:'English', type_label:'Type of outing',\r\n      type_bedrijfsuitje:'Company outing', type_teambuilding:'Team building', type_eindejaars:'End of year outing',\r\n      type_familiedag:'Family day', type_vrijgezellen:'Bachelor party', type_verjaardag:'Birthday',\r\n      type_vrienden:'Friends outing', type_anders:'Other',\r\n      s_wanneer:'When', s_wanneer_sub:'Not sure yet? Feel free to leave it open.',\r\n      wanneer_beide:'I know the date and time', wanneer_datum:'Only the date', wanneer_open:'Completely open',\r\n      datum_label:'Preferred date', tijd_label:'Preferred start time',\r\n      periode_label:'Roughly when?', periode_ph:'E.g. somewhere in November, preferably a Friday afternoon.',\r\n      datum2_label:'Or possibly this date (optional)',\r\n      datum2_note:'Useful if you have two options: we will look at both.',\r\n      s_extras:'Extras', s_extras_sub:'Not sure yet? Choose \"Maybe\" and we will put it in the quote as an option.',\r\n      ja:'Yes', misschien:'Maybe', nee:'No',\r\n      drank_label:'Drinks',\r\n      drank_nacalc:'Settled afterwards', drank_afkoop:'Unlimited drinks', drank_aantal_knop:'Estimate a number', drank_munten_knop:'Drink tokens',\r\n      drank_uitleg_nacalc:'You pay afterwards for what is actually consumed. The quote will not include an amount for drinks.',\r\n      drank_uitleg_afkoop:'Unlimited coffee, tea and soft drinks for \u20ac9.50 p.p. Non-alcoholic only, and only at ClashRooms itself (so separate from any combination with food).',\r\n      drank_uitleg_aantal:'We put an estimated number of drinks in the quote so you have a guide price. You pay for what is actually consumed.',\r\n      drank_uitleg_munten:'You receive tokens to hand out among yourselves, so you can cap the cost. We offer this purely for companies working to a fixed budget. Even so, there is no check on how the tokens are used, so you pay for what is actually consumed.',\r\n      drank_aantal_label:'Drinks per person', drank_soort_label:'What kind of drinks?',\r\n      drank_gemengd:'Mixed', drank_nonalc:'Non-alcoholic',\r\n      drank_prijzen_nonalc:'Non-alcoholic (coffee, tea, soft drinks): \u20ac2.95',\r\n      drank_prijzen_alc:'Alcoholic (beer 33cl Hertog Jan, wine 25cl St\u00eblz): \u20ac4.50',\r\n      drank_mix_prijs:'Calculated at \u20ac3.50 per drink, excluding VAT.',\r\n      munten_prijs_note:'One token is valid for any drink, with or without alcohol. The price of \u20ac3.50 excl. VAT is an average of the two.',\r\n      munten_aantal_label:'Tokens per person',\r\n      drank_peakz_afkoop:'Please note: the unlimited drinks package only applies at ClashRooms. Drinks on the Peakz terrace are settled separately afterwards.',\r\n      drank_peakz_munten:'Handy with this combination: the tokens are valid at both ClashRooms and Peakz. We settle that between ourselves.',\r\n      pv_label:'Personal questions', pv_uitleg:'Supply your own questions for us to include in your games (+\u20ac35).',\r\n      pv_info_knop:'More about personal questions',\r\n      pv_info:'In our Brains room we play a Quiz and an Estimation game, among others. How fun and surprising is it when questions about you personally suddenly appear between the regular ones! You supply the questions through a form and we make sure the GameMaster works them into your games.',\r\n      beker_label:'Trophy', beker_uitleg:'The winning team takes home a real trophy (25cm). One trophy is awarded per group of 20 people (\u20ac20 each).',\r\n      s_eten:'Would you like to combine it with a meal?', s_eten_sub:'We are happy to recommend these two partners.',\r\n      eten_lichttoren_naam:'Restaurant De Lichttoren',\r\n      eten_lichttoren_tekst:'A 3 minute walk away. Beautiful large restaurant with room for large groups almost any time.',\r\n      eten_lichttoren_meta:'Invoiced by De Lichttoren',\r\n      lichttoren_vraag:'Shall we check whether there is room?',\r\n      lichttoren_zelf:'Rather arrange it yourself? You can reach them at',\r\n      eten_peakz_naam:'Walking buffet at Peakz Padel',\r\n      eten_peakz_tekst:'Activity and food under one roof. A buffet of your choice is served on the large indoor terrace. Drinks are ordered at the Peakz bar.',\r\n      eten_peakz_meta:'from \u20ac23.50 p.p. excl. VAT',\r\n      buffet_min:'We offer this buffet from 30 people.',\r\n      eten_geen:'No, no food',\r\n      buffet_label:'Which buffet do you prefer?',\r\n      buffet_italiaans:'Italian \u00b7 \u20ac23.50 p.p.', buffet_indisch:'Indonesian rice table \u00b7 \u20ac23.50 p.p.', buffet_meat:'Meat lovers \u00b7 \u20ac27.00 p.p.',\r\n      buffet_btw_note:'These are the prices from the caterer, excluding VAT. In the indication below they are shown including VAT, like our own rates.',\r\n      buffet_foodbook:'View the Peakz foodbook (pdf)',\r\n      eten_toelichting_label:'Wishes about the food (optional)',\r\n      eten_toelichting_ph:'E.g. we would like to eat afterwards, and there are two vegetarians.',\r\n      s_gegevens:'Your details', s_gegevens_sub:'So we can send the quote to the right person.',\r\n      boeking_type_label:'Type of request', zakelijk:'Business', particulier:'Private',\r\n      bedrijfsnaam_label:'Company name', bedrijfsnaam_ph:'Your company name',\r\n      factuur_label:'Invoice details \/ cost centre', factuur_ph:'E.g. cost centre, project number',\r\n      voornaam_label:'First name *', voornaam_ph:'First name', achternaam_label:'Last name', achternaam_ph:'Last name',\r\n      email_label:'Email address *', email_ph:'your@email.com', telefoon_label:'Phone number', telefoon_ph:'06...',\r\n      opmerkingen_label:'Questions or comments', opmerkingen_ph:'Anything we should know to make you a good quote...',\r\n      s_prijs:'Price indication', s_prijs_sub:'A guide price based on your choices. The final prices are in the quote.',\r\n      prijs_titel:'Indication', prijs_clashrooms:'ClashRooms, {n} people, {duur}',\r\n      prijs_afkoop:'Unlimited drinks', prijs_pv:'Personal questions', prijs_beker:'Trophy ({n}\u00d7)',\r\n      prijs_totaal:'Indicated total incl. VAT', prijs_totaal_excl:'Indicated total excl. VAT', prijs_btw:'VAT', prijs_pp:'p.p.',\r\n      prijs_pp_kop:'Price per person', prijs_pp_suffix:'p.p. (excl. VAT)',\r\n      prijs_optioneel:'Not included yet',\r\n      prijs_drank_kop:'Drinks, estimate settled afterwards',\r\n      prijs_drank_aantal:'{n} \u00d7 {soort} per person',\r\n      prijs_drank_munten:'{n} drink tokens per person',\r\n      prijs_drank_totaal:'Guide price including drinks, excl. VAT',\r\n      prijs_drank_nacalc:'Drinks are settled afterwards. You pay for what is actually consumed.',\r\n      prijs_drank_let_op:'This is an estimate to work with. What you pay in the end follows from what is actually consumed.',\r\n      prijs_optie_regel:'+ {bedrag} if you choose this',\r\n      prijs_lichttoren:'Food at De Lichttoren is settled directly with them.',\r\n      prijs_buffet_kies:'Pick a buffet above to include it.',\r\n      voorbehoud:'This is an indication, not a quote. Buffet prices are subject to price changes by the caterer. You will receive a quote from us with the final prices.',\r\n      submit:'Request a quote', submitting:'Sending...',\r\n      privacy:'We only use your details to answer this request. We will not add you to a newsletter.',\r\n      terug_pre:'Already sure?', terug_link:'Book directly',\r\n      success_title:'Request sent!',\r\n      success_body:'Thank you for your request. You will receive a quote by email within 2 working days. Nothing has been reserved.',\r\n      err_voornaam:'Please fill in your first name.', err_email:'Please enter a valid email address (with @ and a dot).',\r\n      err_datum:'Pick a date, or indicate that it is still open.',\r\n      err_bedrijfsnaam:'Please fill in the company name.',\r\n      err_algemeen:'Something went wrong. Please try again or email info@clashrooms.nl',\r\n      err_verbinding:'Connection error. Please try again or email info@clashrooms.nl'\r\n    }\r\n  };\r\n\r\n  function t(key) { return (I18N[LANG] && I18N[LANG][key] != null) ? I18N[LANG][key] : key; }\r\n\r\n  \/\/ Het aantal drankjes per persoon mag in kwarten: 2,5 drankje per persoon is\r\n  \/\/ een geldige schatting voor een groep. Een <input type=\"number\"> geeft op een\r\n  \/\/ Nederlandse instelling soms een komma terug, en parseFloat maakt van \"2,5\"\r\n  \/\/ dan gewoon 2. Vandaar dat de komma eerst een punt wordt.\r\n  function leesAantal(el, standaard) {\r\n    if (!el) return standaard;\r\n    var n = parseFloat(String(el.value).replace(',', '.').trim());\r\n    return (isNaN(n) || n <= 0) ? standaard : n;\r\n  }\r\n\r\n  \/\/ 2.5 wordt \"2,5\" in het Nederlands en \"2.5\" in het Engels; 2 blijft \"2\".\r\n  \/\/ Alleen voor weergave, nooit om mee te rekenen.\r\n  function toonAantal(n) {\r\n    var s = String(Math.round(n * 100) \/ 100);\r\n    return LANG === 'nl' ? s.replace('.', ',') : s;\r\n  }\r\n\r\n  function formatEuro(amount) {\r\n    if (LANG === 'en') {\r\n      var parts = amount.toFixed(2).split('.');\r\n      parts[0] = parts[0].replace(\/\\B(?=(\\d{3})+(?!\\d))\/g, ',');\r\n      return '\u20ac' + parts.join('.');\r\n    }\r\n    return '\u20ac' + amount.toFixed(2).replace('.', ',').replace(\/(\\d)(?=(\\d{3})+(?!\\d))\/g, '$1.');\r\n  }\r\n\r\n  function fmtDuur(d) {\r\n    var v = (LANG === 'en') ? String(d) : String(d).replace('.', ',');\r\n    return v + (LANG === 'en' ? ' hours' : ' uur');\r\n  }\r\n\r\n  function getPricePerPerson(persons, duration) {\r\n    var table = PRICES[duration] || PRICES[1.5];\r\n    for (var i = 0; i < table.length; i++) { if (persons <= table[i].max) return table[i].pp; }\r\n    return table[table.length - 1].pp;\r\n  }\r\n  function getBekerAantal(persons) { return persons < 21 ? 1 : (persons <= 40 ? 2 : 3); }\r\n\r\n  function initOfferteForm() {\r\n    var form = document.getElementById('cr-offerte-form');\r\n    if (!form) return;\r\n\r\n    \/\/ \u2500\u2500 Teksten \u2500\u2500\r\n    form.querySelectorAll('[data-i18n]').forEach(function (el) {\r\n      var k = el.getAttribute('data-i18n');\r\n      if (I18N[LANG][k] != null) el.textContent = I18N[LANG][k];\r\n    });\r\n    form.querySelectorAll('[data-i18n-ph]').forEach(function (el) {\r\n      var k = el.getAttribute('data-i18n-ph');\r\n      if (I18N[LANG][k] != null) el.placeholder = I18N[LANG][k];\r\n    });\r\n    form.querySelectorAll('[data-i18n-aria]').forEach(function (el) {\r\n      var k = el.getAttribute('data-i18n-aria');\r\n      if (I18N[LANG][k] != null) el.setAttribute('aria-label', I18N[LANG][k]);\r\n    });\r\n    if (LANG === 'en') {\r\n      var boekenLink = document.getElementById('of-boeken-link');\r\n      if (boekenLink) boekenLink.href = 'https:\/\/clashrooms.nl\/en\/boeken\/';\r\n    }\r\n\r\n    var $ = function (sel) { return form.querySelector(sel); };\r\n    var val = function (sel) { var el = $(sel); return el ? el.value : ''; };\r\n\r\n    \/\/ \u2500\u2500 Starttijden: half uur vanaf 10:00 tot 21:30 \u2500\u2500\r\n    var tijdSelect = $('#of-tijd');\r\n    if (tijdSelect) {\r\n      for (var u = 10; u <= 21; u++) {\r\n        ['00', '30'].forEach(function (m) {\r\n          var tijd = (u < 10 ? '0' + u : u) + ':' + m;\r\n          var opt = document.createElement('option');\r\n          opt.value = tijd; opt.textContent = tijd;\r\n          if (tijd === '15:00') opt.selected = true;\r\n          tijdSelect.appendChild(opt);\r\n        });\r\n      }\r\n    }\r\n    \/\/ Vanaf morgen: een offerte voor vandaag heeft weinig zin.\r\n    var morgen = new Date(); morgen.setDate(morgen.getDate() + 1);\r\n    var minDatum = morgen.toISOString().slice(0, 10);\r\n    ['#of-datum', '#of-datum2'].forEach(function (sel) { var el = $(sel); if (el) el.min = minDatum; });\r\n\r\n    \/\/ \u2500\u2500 Info-knopjes \u2500\u2500\r\n    form.querySelectorAll('.cr-bf-info-btn').forEach(function (knop) {\r\n      var paneel = form.querySelector('#' + knop.getAttribute('aria-controls'));\r\n      if (!paneel) return;\r\n      knop.addEventListener('click', function () {\r\n        var open = knop.getAttribute('aria-expanded') === 'true';\r\n        knop.setAttribute('aria-expanded', open ? 'false' : 'true');\r\n        paneel.hidden = open;\r\n      });\r\n    });\r\n\r\n    \/\/ \u2500\u2500 Keuzeknoppen \u2500\u2500\r\n    var hiddenMap = {\r\n      duur: '#of-duur', taal: '#of-taal',\r\n      drank: '#of-drank', drank_soort: '#of-drank-soort',\r\n      persoonlijke_vragen: '#of-pv', beker: '#of-beker',\r\n      boeking_type: '#of-boeking-type', datumzekerheid: '#of-datumzekerheid',\r\n      eten_buffet: '#of-buffet',\r\n      lichttoren_informeren: '#of-lichttoren-informeren'\r\n    };\r\n    form.querySelectorAll('.cr-bf-opt-btn[data-field]').forEach(function (btn) {\r\n      btn.addEventListener('click', function () {\r\n        var field = this.dataset.field;\r\n        var value = this.dataset.value;\r\n        form.querySelectorAll('[data-field=\"' + field + '\"]').forEach(function (b) { b.classList.remove('cr-bf-opt-btn--active'); });\r\n        this.classList.add('cr-bf-opt-btn--active');\r\n        var hidden = $(hiddenMap[field]);\r\n        if (hidden) hidden.value = value;\r\n        if (field === 'datumzekerheid') zetDatumBlokken(value);\r\n        if (field === 'boeking_type') zetBoekingType(value);\r\n        if (field === 'drank') zetDrankBlokken(value);\r\n        if (field === 'drank_soort') zetMixPrijs(value);\r\n        \/\/ Zegt iemand Ja, dan wil hij ook weten waar hij Ja tegen zegt. Klap de\r\n        \/\/ uitleg van dit blok dan meteen open. Via een klik op het i-knopje,\r\n        \/\/ zodat aria-expanded en het paneel niet uit elkaar kunnen lopen.\r\n        if (value === 'Ja') {\r\n          var extraBlok = this.closest('.cr-bf-extra');\r\n          var infoKnop  = extraBlok ? extraBlok.querySelector('.cr-bf-info-btn') : null;\r\n          if (infoKnop && infoKnop.getAttribute('aria-expanded') !== 'true') infoKnop.click();\r\n        }\r\n        updatePrijs();\r\n      });\r\n    });\r\n\r\n    function zetDatumBlokken(waarde) {\r\n      var datumBlok  = $('#of-datum-blok');\r\n      var tijdBlok   = $('#of-tijd-blok');\r\n      var periodeBlok = $('#of-periode-blok');\r\n      var datum2Blok = $('#of-datum2-blok');\r\n      var open = (waarde === 'Nog open');\r\n      if (datumBlok)   datumBlok.hidden = open;\r\n      if (tijdBlok)    tijdBlok.style.display = (waarde === 'Datum en tijd bekend') ? '' : 'none';\r\n      if (periodeBlok) periodeBlok.hidden = !open;\r\n      if (datum2Blok)  datum2Blok.hidden = open;\r\n    }\r\n\r\n    \/\/ Welke vervolgvraag hoort bij de gekozen manier van afrekenen, en welke\r\n    \/\/ uitleg staat eronder. De uitleg wisselt mee, want \"niets afspreken\" en\r\n    \/\/ \"consumptiemunten\" vragen om een heel ander zinnetje.\r\n    function zetDrankBlokken(waarde) {\r\n      var aantalBlok = $('#of-drank-aantal-blok');\r\n      var muntenBlok = $('#of-munten-blok');\r\n      if (aantalBlok) aantalBlok.hidden = (waarde !== 'Aantal');\r\n      if (muntenBlok) muntenBlok.hidden = (waarde !== 'Munten');\r\n\r\n      var uitleg = $('#of-drank-uitleg');\r\n      if (uitleg) {\r\n        var sleutel = { Nacalculatie: 'drank_uitleg_nacalc', Drankafkoop: 'drank_uitleg_afkoop',\r\n                        Aantal: 'drank_uitleg_aantal', Munten: 'drank_uitleg_munten' }[waarde];\r\n        uitleg.textContent = t(sleutel || 'drank_uitleg_nacalc');\r\n      }\r\n      updatePrijs();\r\n    }\r\n\r\n    \/\/ Bij een zakelijke aanvraag is de bedrijfsnaam verplicht: zonder die naam\r\n    \/\/ kunnen we de offerte niet op de juiste partij zetten. Zichtbaarheid, het\r\n    \/\/ sterretje en de required-vlag moeten alle drie hetzelfde zeggen, anders\r\n    \/\/ staat er een sterretje bij een veld dat niemand invult of andersom.\r\n    \/\/ De rekenprijs van 3,50 hoort bij een gemengd drankje. Bij non-alcoholisch\r\n    \/\/ geldt gewoon de losse prijs, en die staat al bij de consumpties hierboven.\r\n    function zetMixPrijs(soort) {\r\n      var regel = $('#of-drank-mixprijs');\r\n      if (regel) regel.hidden = (soort !== 'Gemengd');\r\n    }\r\n\r\n    function zetBoekingType(waarde) {\r\n      var zakelijk = (waarde === 'Zakelijk');\r\n      var blok = $('#of-zakelijk-velden');\r\n      if (blok) blok.style.display = zakelijk ? '' : 'none';\r\n\r\n      var veld = $('#of-bedrijfsnaam');\r\n      if (veld) veld.required = zakelijk;\r\n\r\n      var label = form.querySelector('label[for=\"of-bedrijfsnaam\"]');\r\n      if (label) label.textContent = t('bedrijfsnaam_label') + (zakelijk ? ' *' : '');\r\n    }\r\n    zetBoekingType('Zakelijk');\r\n\r\n    \/\/ \u2500\u2500 Eten: twee kaarten plus \"geen eten\" \u2500\u2500\r\n    function zetEten(waarde) {\r\n      var hidden = $('#of-eten');\r\n      if (hidden) hidden.value = waarde;\r\n      form.querySelectorAll('.cr-of-eten-kaart').forEach(function (k) {\r\n        k.classList.toggle('cr-of-eten-kaart--active', k.dataset.eten === waarde);\r\n      });\r\n      var geen = form.querySelector('.cr-of-eten-geen');\r\n      if (geen) geen.classList.toggle('cr-bf-opt-btn--active', waarde === 'Nee');\r\n\r\n      var buffetBlok = $('#of-buffet-blok');\r\n      if (buffetBlok) buffetBlok.hidden = (waarde !== 'Peakz buffet');\r\n      \/\/ Alleen bij het buffet. Wie voor De Lichttoren kiest regelt de wensen\r\n      \/\/ rechtstreeks met het restaurant, dus dan is dit vak alleen maar ruis.\r\n      var toelichtingBlok = $('#of-eten-toelichting-blok');\r\n      if (toelichtingBlok) toelichtingBlok.hidden = (waarde !== 'Peakz buffet');\r\n      zetLichttorenBlok();\r\n\r\n      \/\/ Kiest iemand iets anders dan het buffet, dan is een eerder gekozen\r\n      \/\/ buffet niet meer van toepassing.\r\n      if (waarde !== 'Peakz buffet') {\r\n        var b = $('#of-buffet');\r\n        if (b) b.value = '';\r\n        form.querySelectorAll('[data-field=\"eten_buffet\"]').forEach(function (x) { x.classList.remove('cr-bf-opt-btn--active'); });\r\n      }\r\n      updatePrijs();\r\n    }\r\n    form.querySelectorAll('.cr-of-eten-kaart, .cr-of-eten-geen').forEach(function (el) {\r\n      el.addEventListener('click', function () { zetEten(this.dataset.eten); });\r\n    });\r\n\r\n    \/\/ \u2500\u2500 Aantal personen \u2500\u2500\r\n    var nummerVeld = $('#of-personen-number');\r\n    var slider     = $('#of-personen-slider');\r\n    function zetPersonen(waarde, bron) {\r\n      var n = parseInt(waarde, 10);\r\n      if (isNaN(n)) n = PERS_MIN;\r\n      n = Math.max(PERS_MIN, Math.min(PERS_MAX, n));\r\n      if (bron !== 'nummer' && nummerVeld) nummerVeld.value = n;\r\n      if (bron !== 'slider' && slider) slider.value = n;\r\n      var hidden = $('#of-personen');\r\n      if (hidden) hidden.value = n;\r\n\r\n      var melding = $('#of-groepsmelding');\r\n      if (melding) {\r\n        var tekst = (n < MIN_TARIEF_AANTAL) ? t('groep_klein') : (n >= PERS_MAX ? t('groep_groot') : '');\r\n        melding.textContent = tekst;\r\n        melding.hidden = !tekst;\r\n      }\r\n      zetBuffetBeschikbaarheid(n);\r\n      zetLichttorenBlok();\r\n      updatePrijs();\r\n    }\r\n\r\n    \/\/ Het buffet kan pas vanaf 16 personen. Onder die grens zetten we de knop uit\r\n    \/\/ in plaats van hem te laten kiezen en het bedrag daarna stilzwijgend weg te\r\n    \/\/ laten. Op de kaart staat geen aantal meer, want dat zou een vaste belofte\r\n    \/\/ zijn die botst met het foodbook van de cateraar. In plaats daarvan\r\n    \/\/ verschijnt de reden alleen bij wie er iets aan heeft: een groep die te\r\n    \/\/ klein is.\r\n    \/\/\r\n    \/\/ Bewust aangeroepen vanuit zetPersonen en niet vanuit updatePrijs: deze\r\n    \/\/ functie kan zetEten() aanroepen, en die roept updatePrijs weer aan.\r\n    \/\/ Het aanbod om beschikbaarheid na te vragen hangt van twee dingen af: de\r\n    \/\/ keuze voor De Lichttoren en de groepsgrootte. Kleine groepen regelen dat\r\n    \/\/ zelf, dus daar laten we het hele blok weg.\r\n    function zetLichttorenBlok() {\r\n      var blok = $('#of-eten-lichttoren');\r\n      if (!blok) return;\r\n      var aantal = parseInt(val('#of-personen'), 10) || 0;\r\n      blok.hidden = !(val('#of-eten') === 'De Lichttoren' && aantal > LICHTTOREN_MIN_PERSONEN);\r\n    }\r\n\r\n    function zetBuffetBeschikbaarheid(n) {\r\n      var teKlein = (n < BUFFET_MIN_PERSONEN);\r\n      var kaart = form.querySelector('.cr-of-eten-kaart[data-eten=\"Peakz buffet\"]');\r\n      if (kaart) {\r\n        kaart.disabled = teKlein;\r\n        kaart.classList.toggle('cr-of-eten-kaart--uit', teKlein);\r\n      }\r\n      var minNoot = $('#of-eten-min');\r\n      if (minNoot) minNoot.hidden = !teKlein;\r\n      \/\/ Stond het buffet al aan en zakt het aantal onder de grens, dan mag die\r\n      \/\/ keuze niet blijven staan: hij is niet meer te maken en zou anders toch\r\n      \/\/ in de aanvraag belanden.\r\n      if (teKlein && val('#of-eten') === 'Peakz buffet') zetEten('Nee');\r\n    }\r\n    if (nummerVeld) nummerVeld.addEventListener('input', function () { zetPersonen(this.value, 'nummer'); });\r\n    if (slider)     slider.addEventListener('input', function () { zetPersonen(this.value, 'slider'); });\r\n\r\n    \/\/ \u2500\u2500 Toelichting aantal \u2500\u2500\r\n    var onzekerCheck = $('#of-personen-onzeker');\r\n    if (onzekerCheck) {\r\n      onzekerCheck.addEventListener('change', function () {\r\n        var wrap = $('#of-personen-toelichting-wrap');\r\n        if (wrap) wrap.hidden = !this.checked;\r\n      });\r\n    }\r\n\r\n    \/\/ \u2500\u2500 Prijsindicatie \u2500\u2500\r\n    \/\/ Het laatst berekende totaal inclusief btw. Wordt bij het verzenden\r\n    \/\/ gebruikt als conversiewaarde. Inclusief btw, want de boekingswidget\r\n    \/\/ rekent daar ook mee en anders zijn de twee cijfers niet te vergelijken.\r\n    var laatsteTotaalIncl = 0;\r\n\r\n    function updatePrijs() {\r\n      var blok = $('#of-prijs');\r\n      if (!blok) return;\r\n\r\n      var nPers     = parseInt(val('#of-personen'), 10) || 15;\r\n      var rekenPers = Math.max(nPers, MIN_TARIEF_AANTAL);\r\n      var duur      = parseFloat(val('#of-duur')) || 1.5;\r\n      var basePP    = getPricePerPerson(rekenPers, duur);\r\n\r\n      \/\/ De hele indicatie rekent EXCLUSIEF btw. Dat is wat een bedrijf wil zien,\r\n      \/\/ en het voorkomt de rare optelling van eerder: bedragen inclusief tonen en\r\n      \/\/ er een totaal exclusief onder zetten telt zichtbaar niet op.\r\n      \/\/\r\n      \/\/ Onze eigen tarieven staan bruto in de tabel, dus die worden hier per\r\n      \/\/ persoon teruggerekend en pas dan vermenigvuldigd. Zo klopt de prijs per\r\n      \/\/ persoon precies met het regelbedrag, en tellen de regels op het scherm\r\n      \/\/ exact op tot het totaal. De buffetprijzen zijn al netto, die gaan\r\n      \/\/ ongewijzigd mee.\r\n      function excl(bedragIncl, btwTarief) {\r\n        return Math.round((bedragIncl \/ (1 + btwTarief)) * 100) \/ 100;\r\n      }\r\n\r\n      var rijen = [];\r\n      var opties = [];\r\n\r\n      var basePPExcl = excl(basePP, BTW.clashrooms);\r\n      rijen.push({\r\n        naam: t('prijs_clashrooms').replace('{n}', rekenPers).replace('{duur}', fmtDuur(duur)),\r\n        pp: basePPExcl, bedrag: basePPExcl * rekenPers, btw: BTW.clashrooms\r\n      });\r\n\r\n      \/\/ Volgorde van de regels volgt die van het formulier: beker, persoonlijke\r\n      \/\/ vragen, drankjes, eten. Zo staan drinken en eten bij elkaar.\r\n\r\n      \/\/ Beker\r\n      var bekerAantal = getBekerAantal(nPers);\r\n      var bekerExcl = excl(BEKER_PRIJS, BTW.beker);\r\n      var beker = val('#of-beker');\r\n      if (beker === 'Ja') {\r\n        rijen.push({ naam: t('prijs_beker').replace('{n}', bekerAantal), pp: null, bedrag: bekerExcl * bekerAantal, btw: BTW.beker });\r\n      } else if (beker === 'Misschien') {\r\n        opties.push({ naam: t('prijs_beker').replace('{n}', bekerAantal), tekst: t('prijs_optie_regel').replace('{bedrag}', formatEuro(bekerExcl * bekerAantal)) });\r\n      }\r\n\r\n      \/\/ Persoonlijke vragen\r\n      var pv = val('#of-pv');\r\n      var pvExcl = excl(PV_PRIJS, BTW.pv);\r\n      if (pv === 'Ja') {\r\n        rijen.push({ naam: t('prijs_pv'), pp: null, bedrag: pvExcl, btw: BTW.pv });\r\n      } else if (pv === 'Misschien') {\r\n        opties.push({ naam: t('prijs_pv'), tekst: t('prijs_optie_regel').replace('{bedrag}', formatEuro(pvExcl)) });\r\n      }\r\n\r\n      \/\/ Drankjes. Een geschat aantal drankjes of munten telt gewoon mee in het\r\n      \/\/ totaal: het hele blok heet niet voor niets een indicatie. Dat het bij\r\n      \/\/ nacalculatie anders kan uitvallen staat als zin onder de totalen.\r\n      var drank = val('#of-drank');\r\n      var afkoopPPExcl = excl(AFKOOP_PP, BTW.afkoop);\r\n      if (drank === 'Drankafkoop') {\r\n        rijen.push({ naam: t('prijs_afkoop'), pp: afkoopPPExcl, bedrag: afkoopPPExcl * rekenPers, btw: BTW.afkoop });\r\n      } else if (drank === 'Aantal') {\r\n        var aantalDrank = leesAantal($('#of-drank-aantal'), 1);\r\n        var soort = val('#of-drank-soort');\r\n        var drankPP = (soort === 'Non-alcoholisch')\r\n          ? excl(DRANK_NONALC_INCL, BTW.nonalcohol)\r\n          : MIX_EXCL;\r\n        var drankBtw = (soort === 'Non-alcoholisch') ? BTW.nonalcohol : BTW_MIX;\r\n        rijen.push({\r\n          naam: t('prijs_drank_aantal').replace('{n}', toonAantal(aantalDrank)).replace('{soort}', t(soort === 'Non-alcoholisch' ? 'drank_nonalc' : 'drank_gemengd').toLowerCase()),\r\n          pp: drankPP * aantalDrank,\r\n          bedrag: drankPP * aantalDrank * rekenPers,\r\n          btw: drankBtw\r\n        });\r\n      } else if (drank === 'Munten') {\r\n        var aantalMunten = Math.max(1, parseInt(val('#of-munten-aantal'), 10) || 1);\r\n        rijen.push({\r\n          naam: t('prijs_drank_munten').replace('{n}', aantalMunten),\r\n          pp: MIX_EXCL * aantalMunten,\r\n          bedrag: MIX_EXCL * aantalMunten * rekenPers,\r\n          btw: BTW_MIX\r\n        });\r\n      }\r\n\r\n      \/\/ Eten. Onder de 16 personen is het buffet niet te kiezen (de knop staat\r\n      \/\/ dan uit), dus die situatie hoeft hier niet meer afgevangen te worden.\r\n      var etenKeuze = val('#of-eten');\r\n      var buffet    = val('#of-buffet');\r\n      var notities  = [];\r\n\r\n      \/\/ De combinatie eten + drankjes is waar het misgaat als je het niet zegt:\r\n      \/\/ de afkoop geldt alleen bij ClashRooms, de munten juist op beide plekken.\r\n      var peakzNoot = $('#of-drank-peakz');\r\n      if (peakzNoot) {\r\n        var noodTekst = '';\r\n        if (etenKeuze === 'Peakz buffet' && drank === 'Drankafkoop') noodTekst = t('drank_peakz_afkoop');\r\n        if (etenKeuze === 'Peakz buffet' && drank === 'Munten')      noodTekst = t('drank_peakz_munten');\r\n        peakzNoot.textContent = noodTekst;\r\n        peakzNoot.hidden = !noodTekst;\r\n      }\r\n\r\n      if (etenKeuze === 'De Lichttoren') {\r\n        notities.push(t('prijs_lichttoren'));\r\n      } else if (etenKeuze === 'Peakz buffet') {\r\n        if (!buffet) {\r\n          notities.push(t('prijs_buffet_kies'));\r\n        } else {\r\n          var buffetPP = BUFFETTEN[buffet] || 0;   \/\/ staat al exclusief btw\r\n          rijen.push({ naam: buffet, pp: buffetPP, bedrag: buffetPP * nPers, btw: BTW.buffet });\r\n        }\r\n      }\r\n\r\n      var totaalExcl = 0, btwBedrag = 0;\r\n      rijen.forEach(function (r) {\r\n        totaalExcl += r.bedrag;\r\n        btwBedrag  += Math.round(r.bedrag * r.btw * 100) \/ 100;\r\n      });\r\n      var totaalIncl = totaalExcl + btwBedrag;\r\n      laatsteTotaalIncl = totaalIncl;\r\n\r\n      var html = '<p class=\"cr-of-prijs__titel\">' + t('prijs_titel') + '<\/p>';\r\n      rijen.forEach(function (r) {\r\n        var links = r.naam + (r.pp != null ? ' <span style=\"color:#8a92ab;\">\u00b7 ' + formatEuro(r.pp) + ' ' + t('prijs_pp') + '<\/span>' : '');\r\n        html += '<div class=\"cr-of-rij\"><span>' + links + '<\/span><span>' + formatEuro(r.bedrag) + '<\/span><\/div>';\r\n      });\r\n\r\n      \/\/ De prijs per persoon staat bij het totaal exclusief btw, want daar\r\n      \/\/ rekenen bedrijven hun budget per hoofd mee.\r\n      html += '<div class=\"cr-of-totaal\"><span>' + t('prijs_totaal_excl') + '<\/span><span>' +\r\n              formatEuro(totaalExcl) + '<\/span><\/div>';\r\n      html += '<div class=\"cr-of-rij cr-of-rij--btw\"><span>' + t('prijs_btw') + '<\/span><span>' +\r\n              formatEuro(btwBedrag) + '<\/span><\/div>';\r\n      html += '<div class=\"cr-of-totaal\"><span>' + t('prijs_totaal') + '<\/span><span>' +\r\n              formatEuro(totaalIncl) + '<\/span><\/div>';\r\n\r\n      \/\/ De prijs per persoon krijgt een eigen blok onder de totalen. Bedrijven\r\n      \/\/ rekenen met een budget per hoofd, dus dat getal moet je kunnen vinden\r\n      \/\/ zonder het uit een regel met twee bedragen te moeten vissen.\r\n      html += '<div class=\"cr-of-rij cr-of-pp\"><span>' + t('prijs_pp_kop') + '<\/span><span>' +\r\n              formatEuro(totaalExcl \/ rekenPers) + ' ' + t('prijs_pp_suffix') + '<\/span><\/div>';\r\n\r\n      \/\/ De drankjes tellen mee in het totaal, maar het blijft een schatting. Die\r\n      \/\/ kanttekening hoort er dus wel bij te staan.\r\n      if (drank === 'Aantal' || drank === 'Munten') {\r\n        notities.push(t('prijs_drank_let_op'));\r\n      } else if (drank === 'Nacalculatie') {\r\n        notities.push(t('prijs_drank_nacalc'));\r\n      }\r\n\r\n      if (opties.length) {\r\n        html += '<div class=\"cr-of-optioneel\"><p class=\"cr-of-optioneel__kop\">' + t('prijs_optioneel') + '<\/p>';\r\n        opties.forEach(function (o) {\r\n          html += '<div class=\"cr-of-rij\"><span>' + o.naam + '<\/span><span>' + o.tekst + '<\/span><\/div>';\r\n        });\r\n        html += '<\/div>';\r\n      }\r\n      notities.forEach(function (n) { html += '<p class=\"cr-of-voorbehoud\">' + n + '<\/p>'; });\r\n      html += '<p class=\"cr-of-voorbehoud\">' + t('voorbehoud') + '<\/p>';\r\n      blok.innerHTML = html;\r\n    }\r\n\r\n    \/\/ Platte tekst van de indicatie, zodat de mail kan tonen wat de aanvrager zag.\r\n    function prijsAlsTekst() {\r\n      var blok = $('#of-prijs');\r\n      if (!blok) return '';\r\n      return blok.innerText.replace(\/\\n{2,}\/g, '\\n').trim();\r\n    }\r\n\r\n    function toonFout(el, tekst) {\r\n      if (!el) return;\r\n      var wrap = el.closest('.cr-bf-field') || el.parentNode;\r\n      var oud = wrap.querySelector('.cr-bf-error');\r\n      if (oud) oud.remove();\r\n      var p = document.createElement('p');\r\n      p.className = 'cr-bf-error';\r\n      p.textContent = tekst;\r\n      wrap.appendChild(p);\r\n      el.scrollIntoView({ behavior: 'smooth', block: 'center' });\r\n      setTimeout(function () { if (p.parentNode) p.parentNode.removeChild(p); }, 6000);\r\n    }\r\n\r\n    \/\/ \u2500\u2500 Verzenden \u2500\u2500\r\n    var submitBtn = $('#of-submit');\r\n    if (submitBtn) {\r\n      submitBtn.addEventListener('click', function () {\r\n        var voornaam = val('#of-voornaam').trim();\r\n        var email    = val('#of-email').trim();\r\n\r\n        if (!voornaam) { toonFout($('#of-voornaam'), t('err_voornaam')); return; }\r\n        if (!\/^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$\/.test(email)) { toonFout($('#of-email'), t('err_email')); return; }\r\n\r\n        \/\/ Bij een zakelijke aanvraag hoort er een bedrijfsnaam bij. Alleen\r\n        \/\/ controleren als het veld ook echt zichtbaar is, anders houdt een\r\n        \/\/ eerder gekozen Zakelijk een particuliere aanvraag tegen.\r\n        if (val('#of-boeking-type') === 'Zakelijk' && !val('#of-bedrijfsnaam').trim()) {\r\n          toonFout($('#of-bedrijfsnaam'), t('err_bedrijfsnaam')); return;\r\n        }\r\n\r\n        var zekerheid = val('#of-datumzekerheid');\r\n        if (zekerheid !== 'Nog open' && !val('#of-datum')) {\r\n          toonFout($('#of-datum'), t('err_datum')); return;\r\n        }\r\n\r\n        submitBtn.disabled = true;\r\n        submitBtn.textContent = t('submitting');\r\n\r\n        var payload = {\r\n          hp: val('#of-website'),\r\n          ft: Date.now() - FORM_LOADED_AT,\r\n\r\n          voornaam:     voornaam,\r\n          achternaam:   val('#of-achternaam'),\r\n          email:        email,\r\n          telefoon:     val('#of-telefoon'),\r\n          boeking_type: val('#of-boeking-type'),\r\n          bedrijfsnaam: val('#of-bedrijfsnaam'),\r\n          factuur:      val('#of-factuur'),\r\n\r\n          persons:  val('#of-personen'),\r\n          duration: val('#of-duur'),\r\n          taal:     val('#of-taal'),\r\n          type_uitje: val('#of-type-uitje'),\r\n          personen_onzeker:     ($('#of-personen-onzeker') || {}).checked ? 'Ja' : 'Nee',\r\n          personen_toelichting: val('#of-personen-toelichting'),\r\n\r\n          datumzekerheid:      zekerheid,\r\n          date:                (zekerheid === 'Nog open') ? '' : val('#of-datum'),\r\n          time:                (zekerheid === 'Datum en tijd bekend') ? val('#of-tijd') : '',\r\n          datum_2:             (zekerheid === 'Nog open') ? '' : val('#of-datum2'),\r\n          periode_toelichting: (zekerheid === 'Nog open') ? val('#of-periode') : '',\r\n\r\n          \/\/ afkoop blijft Ja\/Nee, want kolom L van de agenda kent niets anders.\r\n          \/\/ De gekozen manier van afrekenen reist daarnaast apart mee.\r\n          afkoop:              (val('#of-drank') === 'Drankafkoop') ? 'Ja' : 'Nee',\r\n          drank:               val('#of-drank'),\r\n          drank_aantal:        val('#of-drank-aantal'),\r\n          drank_soort:         val('#of-drank-soort'),\r\n          munten_aantal:       val('#of-munten-aantal'),\r\n          persoonlijke_vragen: val('#of-pv'),\r\n          beker:               val('#of-beker'),\r\n\r\n          eten:             val('#of-eten'),\r\n          eten_buffet:      val('#of-buffet'),\r\n          lichttoren_informeren: (val('#of-eten') === 'De Lichttoren' && !$('#of-eten-lichttoren').hidden)\r\n                                   ? val('#of-lichttoren-informeren') : '',\r\n          eten_toelichting: val('#of-eten-toelichting'),\r\n\r\n          opmerkingen:     val('#of-opmerkingen'),\r\n          prijs_indicatie: prijsAlsTekst()\r\n        };\r\n\r\n        \/\/ Nu vastleggen, terwijl de keuzes nog op het scherm staan. Wordt pas\r\n        \/\/ gebruikt als de aanvraag geslaagd is.\r\n        updatePrijs();\r\n        var conversieWaarde = Math.round(laatsteTotaalIncl * OFFERTE_SCORINGSKANS * 100) \/ 100;\r\n\r\n        fetch(POST_URL, {\r\n          method: 'POST',\r\n          headers: { 'Content-Type': 'application\/json' },\r\n          body: JSON.stringify(payload)\r\n        })\r\n          .then(function (r) { return r.json(); })\r\n          .then(function (data) {\r\n            if (data && data.success) {\r\n              form.querySelectorAll('.cr-of-section, .cr-of-verzendrij, .cr-of-privacy, .cr-of-terug')\r\n                  .forEach(function (el) { el.style.display = 'none'; });\r\n              var succes = $('#of-success');\r\n              if (succes) succes.style.display = 'block';\r\n              form.scrollIntoView({ behavior: 'smooth', block: 'start' });\r\n              meldConversie(payload, conversieWaarde);\r\n            } else {\r\n              submitBtn.disabled = false;\r\n              submitBtn.textContent = t('submit');\r\n              alert((data && data.error) ? data.error : t('err_algemeen'));\r\n            }\r\n          })\r\n          .catch(function () {\r\n            submitBtn.disabled = false;\r\n            submitBtn.textContent = t('submit');\r\n            alert(t('err_verbinding'));\r\n          });\r\n      });\r\n    }\r\n\r\n    \/\/ Eigen event, bewust NIET dezelfde als een boeking: anders lopen de\r\n    \/\/ conversiecijfers van het boekingsproces door elkaar met offerteaanvragen.\r\n    var conversieGemeld = false;\r\n    function meldConversie(payload, waarde) {\r\n      if (conversieGemeld) return;   \/\/ dubbele klik of een tweede antwoord: toch \u00e9\u00e9n melding\r\n      conversieGemeld = true;\r\n      var velden = {\r\n        event:    'offerte_aanvraag',\r\n        value:    Math.round((Number(waarde) || 0) * 100) \/ 100,\r\n        currency: 'EUR',\r\n        personen: parseInt(payload.persons, 10) || 0,\r\n        duur:     payload.duration,\r\n        eten:     payload.eten\r\n      };\r\n\r\n      \/\/ Op de testpagina niets versturen, anders lopen eigen testaanvragen mee in\r\n      \/\/ de cijfers waarop de advertenties worden bijgestuurd. Wel loggen, zodat te\r\n      \/\/ controleren is dat het afgaat en met welke waarde.\r\n      if (IS_TEST) {\r\n        try { console.log('[ClashRooms offerte] conversie (TEST, niet verstuurd):', velden); } catch (e) {}\r\n        return;\r\n      }\r\n\r\n      try {\r\n        window.dataLayer = window.dataLayer || [];\r\n        window.dataLayer.push(velden);\r\n      } catch (e) {}\r\n    }\r\n\r\n    \/\/ De twee aantalvelden bij de drankjes sturen de indicatie net zo aan als de\r\n    \/\/ knoppen dat doen.\r\n    ['#of-drank-aantal', '#of-munten-aantal'].forEach(function (sel) {\r\n      var veld = $(sel);\r\n      if (veld) veld.addEventListener('input', updatePrijs);\r\n    });\r\n\r\n    zetDatumBlokken('Datum en tijd bekend');\r\n    zetDrankBlokken('Nacalculatie');\r\n    zetMixPrijs('Gemengd');\r\n    zetPersonen(15);\r\n    updatePrijs();\r\n  }\r\n\r\n  if (document.readyState === 'loading') {\r\n    document.addEventListener('DOMContentLoaded', initOfferteForm);\r\n  } else {\r\n    initOfferteForm();\r\n  }\r\n})();\r\n<\/script>\r\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Offerte Aanvraag Wij verzorgen graag een offerte op maat Vrijblijvend een offerte aanvragen Vul in wat je in gedachten hebt. Weet je de datum of het tijdstip nog niet, of twijfel je over de extra&#8217;s? Geen probleem, laat het gerust open. Wij sturen zo snel mogelijk de offerte op, of nemen contact met je op [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"footnotes":""},"class_list":["post-3563","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/clashrooms.nl\/en\/wp-json\/wp\/v2\/pages\/3563","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/clashrooms.nl\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/clashrooms.nl\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/clashrooms.nl\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/clashrooms.nl\/en\/wp-json\/wp\/v2\/comments?post=3563"}],"version-history":[{"count":40,"href":"https:\/\/clashrooms.nl\/en\/wp-json\/wp\/v2\/pages\/3563\/revisions"}],"predecessor-version":[{"id":3624,"href":"https:\/\/clashrooms.nl\/en\/wp-json\/wp\/v2\/pages\/3563\/revisions\/3624"}],"wp:attachment":[{"href":"https:\/\/clashrooms.nl\/en\/wp-json\/wp\/v2\/media?parent=3563"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}