.elementor-kit-6{--e-global-color-primary:#0F2342;--e-global-color-secondary:#0B1A33;--e-global-color-text:#7D828C;--e-global-color-accent:#9B0000;--e-global-color-10d2e9b:#FFFFFF;--e-global-color-f8fa775:#0E1A2E;--e-global-color-4c96edb:#9B0000;--e-global-color-0b94b89:#FFFFFF;--e-global-color-bd6302b:#0E1A2E;--e-global-color-rvdcanv:#F5F6F8;--e-global-color-rvdline:#E2E5EA;--e-global-color-rvdrodd:#FF6B5B;--e-global-color-rvdrodl:#FF8A7E;--e-global-color-rvdwt88:#FFFFFFE0;--e-global-color-rvdwt95:#FFFFFFF2;--e-global-color-rvdwl14:#FFFFFF24;--e-global-color-rvdwl24:#FFFFFF3D;--e-global-color-rvdwt75:#FFFFFFBF;--e-global-color-rvdwt60:#FFFFFF99;--e-global-color-rvdnote:#9AA0AA;--e-global-color-rvdtxtd:#5A6272;--e-global-color-rvdnacd:#050C18;--e-global-color-rvdgcir:#8C929C;--e-global-color-rvdgstp:#A9AEB7;--e-global-color-rvdgcij:#D3D8E0;--e-global-color-rvdins7:#9B0000B3;--e-global-color-rvdgrey:#B8BEC8;--e-global-color-rvdph80:#0B1A33CC;--e-global-color-rvdph64:#0B1A33A3;--e-global-color-rvdbar7:#0B1A33C7;--e-global-color-rvdred8:#9B0000DB;--e-global-color-rvdph84:#0B1A33D6;--e-global-color-rvdph60:#0B1A3399;--e-global-color-rvdwt03:#FFFFFF08;--e-global-typography-primary-font-family:"Rethink Sans";--e-global-typography-primary-font-size:39px;--e-global-typography-primary-font-weight:700;--e-global-typography-primary-line-height:1.13;--e-global-typography-primary-letter-spacing:-0.02em;--e-global-typography-secondary-font-family:"Rethink Sans";--e-global-typography-secondary-font-size:24px;--e-global-typography-secondary-font-weight:700;--e-global-typography-secondary-line-height:1.13;--e-global-typography-secondary-letter-spacing:-0.02em;--e-global-typography-text-font-family:"Onest";--e-global-typography-text-font-size:16px;--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:1.8;--e-global-typography-accent-font-family:"Onest";--e-global-typography-accent-font-size:16px;--e-global-typography-accent-font-weight:500;--e-global-typography-accent-line-height:1.2;--e-global-typography-rvdh1x-font-family:"Rethink Sans";--e-global-typography-rvdh1x-font-size:80px;--e-global-typography-rvdh1x-font-weight:700;--e-global-typography-rvdh1x-line-height:1.08;--e-global-typography-rvdh1x-letter-spacing:-0.02em;--e-global-typography-rvdh1p-font-family:"Rethink Sans";--e-global-typography-rvdh1p-font-size:72px;--e-global-typography-rvdh1p-font-weight:700;--e-global-typography-rvdh1p-line-height:1.05;--e-global-typography-rvdh1p-letter-spacing:-0.02em;--e-global-typography-rvdeye-font-family:"Onest";--e-global-typography-rvdeye-font-size:14px;--e-global-typography-rvdeye-font-weight:600;--e-global-typography-rvdeye-text-transform:uppercase;--e-global-typography-rvdeye-line-height:1.4;--e-global-typography-rvdeye-letter-spacing:0.1em;--e-global-typography-rvdlead-font-family:"Onest";--e-global-typography-rvdlead-font-size:17px;--e-global-typography-rvdlead-font-weight:500;--e-global-typography-rvdlead-line-height:1.55;--e-global-typography-rvdnum-font-family:"Rethink Sans";--e-global-typography-rvdnum-font-size:44px;--e-global-typography-rvdnum-font-weight:700;--e-global-typography-rvdnum-line-height:1;--e-global-typography-rvdnum-letter-spacing:-0.02em;--e-global-typography-rvdcard-font-family:"Rethink Sans";--e-global-typography-rvdcard-font-size:26px;--e-global-typography-rvdcard-font-weight:700;--e-global-typography-rvdcard-line-height:1.13;--e-global-typography-rvdcard-letter-spacing:-0.02em;--e-global-typography-rvdmenu-font-family:"Onest";--e-global-typography-rvdmenu-font-size:17px;--e-global-typography-rvdmenu-font-weight:500;--e-global-typography-rvdmenu-line-height:1.5;--e-global-typography-rvdsmal-font-family:"Onest";--e-global-typography-rvdsmal-font-size:14px;--e-global-typography-rvdsmal-font-weight:500;--e-global-typography-rvdsmal-line-height:1.3;--e-global-typography-rvdnote-font-family:"Onest";--e-global-typography-rvdnote-font-size:14px;--e-global-typography-rvdnote-font-weight:400;--e-global-typography-rvdnote-line-height:1.6;--e-global-typography-rvdh4-font-family:"Rethink Sans";--e-global-typography-rvdh4-font-size:24px;--e-global-typography-rvdh4-font-weight:700;--e-global-typography-rvdh4-line-height:1.13;--e-global-typography-rvdh4-letter-spacing:-0.02em;--e-global-typography-rvdlay-font-family:"Rethink Sans";--e-global-typography-rvdlay-font-size:26px;--e-global-typography-rvdlay-font-weight:700;--e-global-typography-rvdlay-line-height:1.3;--e-global-typography-rvdlay-letter-spacing:-0.02em;--e-global-typography-rvdlays-font-family:"Rethink Sans";--e-global-typography-rvdlays-font-size:18px;--e-global-typography-rvdlays-font-weight:400;--e-global-typography-rvdlays-line-height:1.5;--e-global-typography-rvdbtxt-font-family:"Onest";--e-global-typography-rvdbtxt-font-size:16px;--e-global-typography-rvdbtxt-font-weight:500;--e-global-typography-rvdbtxt-line-height:1.8;--e-global-typography-rvdflnk-font-family:"Onest";--e-global-typography-rvdflnk-font-size:16px;--e-global-typography-rvdflnk-font-weight:400;--e-global-typography-rvdflnk-line-height:2.35;--e-global-typography-rvdwa-font-family:"Rethink Sans";--e-global-typography-rvdwa-font-size:18px;--e-global-typography-rvdwa-font-weight:700;--e-global-typography-rvdwa-line-height:1.2;--e-global-typography-rvdcrmb-font-family:"Onest";--e-global-typography-rvdcrmb-font-size:15px;--e-global-typography-rvdcrmb-font-weight:500;--e-global-typography-rvdcrmb-line-height:1.8;--e-global-typography-rvdnr-font-family:"Onest";--e-global-typography-rvdnr-font-size:17px;--e-global-typography-rvdnr-font-weight:600;--e-global-typography-rvdnr-line-height:1;--e-global-typography-rvdmini-font-family:"Onest";--e-global-typography-rvdmini-font-size:12px;--e-global-typography-rvdmini-font-weight:400;--e-global-typography-rvdmini-line-height:1.2;--e-global-typography-rvdbadg-font-family:"Rethink Sans";--e-global-typography-rvdbadg-font-size:19px;--e-global-typography-rvdbadg-font-weight:700;--e-global-typography-rvdbadg-line-height:1.25;--e-global-typography-rvdfeit-font-family:"Onest";--e-global-typography-rvdfeit-font-size:16px;--e-global-typography-rvdfeit-font-weight:500;--e-global-typography-rvdfeit-line-height:1.4;--e-global-typography-rvdplay-font-family:"Onest";--e-global-typography-rvdplay-font-size:16px;--e-global-typography-rvdplay-font-weight:500;--e-global-typography-rvdplay-line-height:1.6;--e-global-typography-rvdquot-font-family:"Onest";--e-global-typography-rvdquot-font-size:19px;--e-global-typography-rvdquot-font-weight:400;--e-global-typography-rvdquot-font-style:italic;--e-global-typography-rvdquot-line-height:1.6;--e-global-typography-rvdh2b-font-family:"Rethink Sans";--e-global-typography-rvdh2b-font-size:40px;--e-global-typography-rvdh2b-font-weight:700;--e-global-typography-rvdh2b-line-height:1.22;--e-global-typography-rvdh2b-letter-spacing:-0.02em;--e-global-typography-rvdbig-font-family:"Rethink Sans";--e-global-typography-rvdbig-font-size:54px;--e-global-typography-rvdbig-font-weight:700;--e-global-typography-rvdbig-line-height:1;--e-global-typography-rvdbig-letter-spacing:-0.02em;--e-global-typography-rvdpcal-font-family:"Onest";--e-global-typography-rvdpcal-font-size:18px;--e-global-typography-rvdpcal-font-weight:600;--e-global-typography-rvdpcal-line-height:1.4;--e-global-typography-rvdh2s-font-family:"Rethink Sans";--e-global-typography-rvdh2s-font-size:32px;--e-global-typography-rvdh2s-font-weight:700;--e-global-typography-rvdh2s-line-height:1.13;--e-global-typography-rvdh2s-letter-spacing:-0.02em;--e-global-typography-rvdpros-font-family:"Onest";--e-global-typography-rvdpros-font-size:17px;--e-global-typography-rvdpros-font-weight:400;--e-global-typography-rvdpros-line-height:1.8;--e-global-typography-rvdkind-font-family:"Rethink Sans";--e-global-typography-rvdkind-font-size:19px;--e-global-typography-rvdkind-font-weight:700;--e-global-typography-rvdkind-line-height:1.7;--e-global-typography-rvdchk-font-family:"Onest";--e-global-typography-rvdchk-font-size:16px;--e-global-typography-rvdchk-font-weight:500;--e-global-typography-rvdchk-line-height:1.8;--e-global-typography-rvdh3c-font-family:"Rethink Sans";--e-global-typography-rvdh3c-font-size:26px;--e-global-typography-rvdh3c-font-weight:700;--e-global-typography-rvdh3c-line-height:1.2;--e-global-typography-rvdh3c-letter-spacing:-0.02em;--e-global-typography-rvdslt-font-family:"Onest";--e-global-typography-rvdslt-font-size:16px;--e-global-typography-rvdslt-font-weight:500;--e-global-typography-rvdslt-line-height:1.4;--e-global-typography-rvdsls-font-family:"Onest";--e-global-typography-rvdsls-font-size:13px;--e-global-typography-rvdsls-font-weight:500;--e-global-typography-rvdsls-line-height:1.4;--e-global-typography-rvdwkt-font-family:"Rethink Sans";--e-global-typography-rvdwkt-font-size:21px;--e-global-typography-rvdwkt-font-weight:700;--e-global-typography-rvdwkt-line-height:1.25;--e-global-typography-rvdwkn-font-family:"Rethink Sans";--e-global-typography-rvdwkn-font-size:42px;--e-global-typography-rvdwkn-font-weight:700;--e-global-typography-rvdwkn-line-height:1;--e-global-typography-rvdphs-font-family:"Onest";--e-global-typography-rvdphs-font-size:13px;--e-global-typography-rvdphs-font-weight:600;--e-global-typography-rvdphs-text-transform:uppercase;--e-global-typography-rvdphs-line-height:1.8;--e-global-typography-rvdphs-letter-spacing:0.08em;--e-global-typography-rvdphb-font-family:"Rethink Sans";--e-global-typography-rvdphb-font-size:20px;--e-global-typography-rvdphb-font-weight:700;--e-global-typography-rvdphb-line-height:1.25;--e-global-typography-rvdlsp-font-family:"Onest";--e-global-typography-rvdlsp-font-size:18px;--e-global-typography-rvdlsp-font-weight:400;--e-global-typography-rvdlsp-line-height:1.8;--e-global-typography-rvdcrd4-font-family:"Rethink Sans";--e-global-typography-rvdcrd4-font-size:21px;--e-global-typography-rvdcrd4-font-weight:700;--e-global-typography-rvdcrd4-line-height:1.13;--e-global-typography-rvdcrd4-letter-spacing:-0.02em;--e-global-typography-rvdboxt-font-family:"Rethink Sans";--e-global-typography-rvdboxt-font-size:24px;--e-global-typography-rvdboxt-font-weight:700;--e-global-typography-rvdboxt-line-height:1.65;--e-global-typography-rvdboxt-letter-spacing:-0.02em;--e-global-typography-rvdboxp-font-family:"Onest";--e-global-typography-rvdboxp-font-size:16px;--e-global-typography-rvdboxp-font-weight:400;--e-global-typography-rvdboxp-line-height:1.65;--e-global-typography-rvdcolt-font-family:"Rethink Sans";--e-global-typography-rvdcolt-font-size:24px;--e-global-typography-rvdcolt-font-weight:700;--e-global-typography-rvdcolt-line-height:1.8;--e-global-typography-rvdcolt-letter-spacing:-0.02em;--e-global-typography-rvdcab-font-family:"Rethink Sans";--e-global-typography-rvdcab-font-size:18px;--e-global-typography-rvdcab-font-weight:700;--e-global-typography-rvdcab-line-height:1.7;--e-global-typography-rvdtx17-font-family:"Onest";--e-global-typography-rvdtx17-font-size:16px;--e-global-typography-rvdtx17-font-weight:400;--e-global-typography-rvdtx17-line-height:1.7;--e-global-typography-rvdkl15-font-family:"Onest";--e-global-typography-rvdkl15-font-size:15px;--e-global-typography-rvdkl15-font-weight:400;--e-global-typography-rvdkl15-line-height:1.8;--e-global-typography-rvdlab-font-family:"Onest";--e-global-typography-rvdlab-font-size:15px;--e-global-typography-rvdlab-font-weight:500;--e-global-typography-rvdlab-line-height:1.4;--e-global-typography-rvdfld-font-family:"Onest";--e-global-typography-rvdfld-font-size:16px;--e-global-typography-rvdfld-font-weight:400;--e-global-typography-rvdfld-line-height:1.6;--e-global-typography-rvdhrt-font-family:"Rethink Sans";--e-global-typography-rvdhrt-font-size:24px;--e-global-typography-rvdhrt-font-weight:700;--e-global-typography-rvdhrt-line-height:1.2;--e-global-typography-rvdhrl-font-family:"Onest";--e-global-typography-rvdhrl-font-size:16px;--e-global-typography-rvdhrl-font-weight:500;--e-global-typography-rvdhrl-line-height:1.8;--e-global-typography-rvdh3l-font-family:"Rethink Sans";--e-global-typography-rvdh3l-font-size:30px;--e-global-typography-rvdh3l-font-weight:700;--e-global-typography-rvdh3l-line-height:1.13;--e-global-typography-rvdh3l-letter-spacing:-0.02em;--e-global-typography-rvdlcp-font-family:"Onest";--e-global-typography-rvdlcp-font-size:17px;--e-global-typography-rvdlcp-font-weight:400;--e-global-typography-rvdlcp-line-height:1.8;background-color:var( --e-global-color-rvdcanv );color:var( --e-global-color-text );font-family:"Onest", system-ui, sans-serif;font-size:16px;font-weight:400;line-height:1.8;}.elementor-kit-6 button,.elementor-kit-6 input[type="button"],.elementor-kit-6 input[type="submit"],.elementor-kit-6 .elementor-button{background-color:var( --e-global-color-4c96edb );font-family:"Onest", system-ui, sans-serif;font-size:16px;font-weight:500;line-height:1.2;color:var( --e-global-color-0b94b89 );border-style:none;border-radius:6px 6px 6px 6px;padding:3px 3px 3px 26px;}.elementor-kit-6 button:hover,.elementor-kit-6 button:focus,.elementor-kit-6 input[type="button"]:hover,.elementor-kit-6 input[type="button"]:focus,.elementor-kit-6 input[type="submit"]:hover,.elementor-kit-6 input[type="submit"]:focus,.elementor-kit-6 .elementor-button:hover,.elementor-kit-6 .elementor-button:focus{background-color:var( --e-global-color-primary );color:var( --e-global-color-0b94b89 );border-style:none;}.elementor-kit-6 e-page-transition{background-color:#FFBC7D;}.elementor-kit-6 a{color:var( --e-global-color-f8fa775 );}.elementor-kit-6 a:hover{color:var( --e-global-color-accent );}.elementor-kit-6 h1{color:var( --e-global-color-f8fa775 );font-family:"Rethink Sans", system-ui, sans-serif;font-size:58px;font-weight:700;line-height:1.13;letter-spacing:-0.02em;}.elementor-kit-6 h2{color:var( --e-global-color-f8fa775 );font-family:"Rethink Sans", system-ui, sans-serif;font-size:39px;font-weight:700;line-height:1.13;letter-spacing:-0.02em;}.elementor-kit-6 h3{color:var( --e-global-color-f8fa775 );font-family:"Rethink Sans", system-ui, sans-serif;font-size:24px;font-weight:700;line-height:1.13;letter-spacing:-0.02em;}.elementor-kit-6 h4{color:var( --e-global-color-f8fa775 );font-family:"Rethink Sans", system-ui, sans-serif;font-size:24px;font-weight:700;line-height:1.13;letter-spacing:-0.02em;}.elementor-kit-6 h5{color:var( --e-global-color-f8fa775 );font-family:"Rethink Sans", system-ui, sans-serif;font-size:20px;font-weight:700;line-height:1.2;letter-spacing:-0.02em;}.elementor-kit-6 h6{color:var( --e-global-color-f8fa775 );font-family:"Rethink Sans", system-ui, sans-serif;font-size:18px;font-weight:700;line-height:1.25;letter-spacing:-0.02em;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1380px;}.e-con{--container-max-width:1380px;}.elementor-widget:not(:last-child){margin-block-end:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1024px){.elementor-kit-6{--e-global-typography-primary-font-size:34px;--e-global-typography-rvdh1x-font-size:64px;--e-global-typography-rvdh1p-font-size:56px;--e-global-typography-rvdcard-font-size:22px;--e-global-typography-rvdh2b-font-size:40px;--e-global-typography-rvdhrt-font-size:20px;--e-global-typography-rvdh3l-font-size:24px;--e-global-typography-rvdlcp-font-size:15px;font-size:16px;line-height:1.8;}.elementor-kit-6 h1{font-size:50px;line-height:1.13;}.elementor-kit-6 h2{font-size:34px;line-height:1.13;}.elementor-kit-6 h3{font-size:24px;line-height:1.13;}.elementor-kit-6 h4{font-size:24px;line-height:1.13;}.elementor-kit-6 h5{font-size:20px;line-height:1.2;}.elementor-kit-6 h6{font-size:18px;line-height:1.25;}.elementor-kit-6 button,.elementor-kit-6 input[type="button"],.elementor-kit-6 input[type="submit"],.elementor-kit-6 .elementor-button{font-size:16px;padding:3px 3px 3px 26px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-6{--e-global-typography-primary-font-size:29px;--e-global-typography-secondary-font-size:21px;--e-global-typography-text-font-size:15px;--e-global-typography-rvdh1x-font-size:44px;--e-global-typography-rvdh1x-line-height:1.1;--e-global-typography-rvdh1p-font-size:42px;--e-global-typography-rvdnum-font-size:32px;--e-global-typography-rvdcard-font-size:21px;--e-global-typography-rvdh4-font-size:21px;--e-global-typography-rvdbtxt-font-size:14px;--e-global-typography-rvdflnk-font-size:15px;--e-global-typography-rvdfeit-font-size:14px;--e-global-typography-rvdh2b-font-size:29px;--e-global-typography-rvdbig-font-size:44px;--e-global-typography-rvdh2s-font-size:26px;--e-global-typography-rvdpros-font-size:16px;--e-global-typography-rvdchk-font-size:15px;--e-global-typography-rvdslt-font-size:15px;--e-global-typography-rvdwkt-font-size:18px;--e-global-typography-rvdwkn-font-size:28px;--e-global-typography-rvdlsp-font-size:16px;--e-global-typography-rvdboxt-font-size:21px;--e-global-typography-rvdboxp-font-size:15px;--e-global-typography-rvdtx17-font-size:15px;font-size:15px;line-height:1.8;}.elementor-kit-6 h1{font-size:38px;line-height:1.15;}.elementor-kit-6 h2{font-size:29px;line-height:1.13;}.elementor-kit-6 h3{font-size:21px;line-height:1.13;}.elementor-kit-6 h4{font-size:21px;}.elementor-kit-6 h5{font-size:19px;}.elementor-kit-6 h6{font-size:17px;}.elementor-kit-6 button,.elementor-kit-6 input[type="button"],.elementor-kit-6 input[type="submit"],.elementor-kit-6 .elementor-button{font-size:16px;padding:3px 3px 3px 26px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* RVD Dakbedekking — the site's own CSS (Site Settings → Custom CSS), from design/final/6.css (direction 6 "Crest").
   Only what Elementor has no setting for; colours are the kit's globals (var(--e-global-color-…)). Classes: rvd-… */

:root {
	/* the crossed hammers of the labels (6.css .eye) */
	--rvd-hamer: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 19l8.5-8.5M19 19l-8.5-8.5'/%3E%3Cpath d='M11.5 8.5l3-3 3 3-3 3zM12.5 8.5l-3-3-3 3 3 3z'/%3E%3C/svg%3E");
	--rvd-ease: cubic-bezier(.6, 0, .2, 1);
	/* the arrow (rvd-ic-i-arr.svg) as a mask, for links drawn by CSS */
	--rvd-pijl: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12h16M14 6l6 6-6 6'/%3E%3C/svg%3E");
	/* the faint line drawing of the dark bands (also the media file rvd-patroon.svg) */
	--rvd-patroon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='360' height='360'%3E%3Cg fill='none' stroke='%23ffffff' stroke-opacity='.035' stroke-width='1.2'%3E%3Cpath d='M20 220 L120 140 L220 220 V330 H20Z M60 330 V250 H110 V330 M150 250 H200 V290 H150Z M120 140 V110 H150 V165'/%3E%3Ccircle cx='290' cy='70' r='34'/%3E%3Ccircle cx='290' cy='70' r='16'/%3E%3Cpath d='M0 40 H190 M210 0 V150 M250 170 L360 280 M0 360 L70 290 M240 330 H360 M300 230 V360'/%3E%3C/g%3E%3C/svg%3E");
}
body { -webkit-font-smoothing: antialiased; }
h1, h2, h3, h4, .elementor-heading-title { text-wrap: balance; }
/* the design's spacing is exact: no theme margin under a text's last paragraph, no text-baseline gap under an icon */
.elementor-widget-text-editor p:last-child { margin-bottom: 0; }
.elementor-widget-icon .elementor-icon-wrapper { line-height: 0; }
.elementor-widget-icon .elementor-icon { vertical-align: top; }

/* ── icon lists with the site's line icons: Elementor colours an icon list's SVG with `fill` only, the lines follow
   `color` — so the colour comes from the class (rvd-ic-roodl = Rood op donker · rvd-ic-wit = Wit · rvd-ic-rood = Accent;
   the widget's Icon Color is set to the same global) ── */
.rvd-ic-roodl .elementor-icon-list-icon svg { color: var(--e-global-color-rvdrodd); }
.rvd-ic-wit .elementor-icon-list-icon svg { color: var(--e-global-color-10d2e9b); }
.rvd-ic-rood .elementor-icon-list-icon svg { color: var(--e-global-color-accent); }

/* ── labels (6.css .eye): hammers before the text; --both: on both sides ── */
.rvd-eye .elementor-heading-title { display: flex; width: fit-content; align-items: center; gap: 8px; }
.rvd-eye--both .elementor-heading-title { margin-left: auto; margin-right: auto; }
.rvd-eye .elementor-heading-title::before,
.rvd-eye--both .elementor-heading-title::after { content: ""; width: 15px; height: 15px; flex: none; background-color: currentColor; -webkit-mask: var(--rvd-hamer) center / contain no-repeat; mask: var(--rvd-hamer) center / contain no-repeat; }

/* ── the house button Types (6.css .btn): square corners, the arrow in a square; hover "vlak" ──
   primary = Fill 1st color (red) · black-outline = dark-blue outline, red square · white-fill = white on red/dark ·
   white-outline = white outline on dark. ⚠️ The base's Additional CSS sets these Types with !important — pinned here. */
.elementor-widget-button a.elementor-button { display: inline-flex; align-items: center; height: 52px; padding: 3px 3px 3px 26px; border: 0; border-radius: 6px; white-space: nowrap; transition: background-color .3s, color .35s, transform .15s ease; }
.elementor-widget-button a.elementor-button .elementor-button-content-wrapper { align-items: center; gap: 26px; }
.elementor-widget-button .elementor-button-icon { width: 46px; height: 46px; flex: none; display: grid; place-items: center; overflow: hidden; border-radius: 4px; transition: background-color .3s, color .3s; }
.elementor-widget-button .elementor-button-icon svg { width: 20px; height: 20px; fill: currentColor; transition: transform .3s; }
.elementor-widget-button a.elementor-button:hover .elementor-button-icon svg { transform: translateX(3px); }

.elementor-widget-button.elementor-button-primary a.elementor-button { background-color: var(--e-global-color-4c96edb); color: var(--e-global-color-0b94b89); }
.elementor-widget-button.elementor-button-primary a.elementor-button:hover,
.elementor-widget-button.elementor-button-primary a.elementor-button:focus-visible { background-color: var(--e-global-color-primary); color: var(--e-global-color-0b94b89); }
.elementor-button-primary .elementor-button-icon { background-color: var(--e-global-color-0b94b89); color: var(--e-global-color-bd6302b); }

.elementor-widget-button.elementor-button-black-outline a.elementor-button { background-color: transparent !important; color: var(--e-global-color-bd6302b) !important; box-shadow: inset 0 0 0 1.5px var(--e-global-color-bd6302b); }
.elementor-widget-button.elementor-button-black-outline a.elementor-button:hover,
.elementor-widget-button.elementor-button-black-outline a.elementor-button:focus-visible { background-color: var(--e-global-color-bd6302b) !important; color: var(--e-global-color-0b94b89) !important; }
.elementor-button-black-outline .elementor-button-icon { background-color: var(--e-global-color-4c96edb); color: var(--e-global-color-0b94b89); }
.elementor-button-black-outline a.elementor-button:hover .elementor-button-icon { background-color: var(--e-global-color-0b94b89); color: var(--e-global-color-4c96edb); }

.elementor-widget-button.elementor-button-white-fill a.elementor-button { background-color: var(--e-global-color-0b94b89) !important; color: var(--e-global-color-bd6302b) !important; }
.elementor-widget-button.elementor-button-white-fill a.elementor-button:hover,
.elementor-widget-button.elementor-button-white-fill a.elementor-button:focus-visible { background-color: var(--e-global-color-primary) !important; color: var(--e-global-color-0b94b89) !important; }
.elementor-button-white-fill .elementor-button-icon { background-color: var(--e-global-color-4c96edb); color: var(--e-global-color-0b94b89); }

.elementor-widget-button.elementor-button-white-outline a.elementor-button { background-color: transparent !important; color: var(--e-global-color-0b94b89) !important; box-shadow: inset 0 0 0 1.5px var(--e-global-color-0b94b89); }
.elementor-widget-button.elementor-button-white-outline a.elementor-button:hover,
.elementor-widget-button.elementor-button-white-outline a.elementor-button:focus-visible { background-color: var(--e-global-color-0b94b89) !important; color: var(--e-global-color-bd6302b) !important; }
.elementor-button-white-outline .elementor-button-icon { background-color: var(--e-global-color-0b94b89); color: var(--e-global-color-bd6302b); }
.elementor-button-white-outline a.elementor-button:hover .elementor-button-icon { background-color: var(--e-global-color-4c96edb); color: var(--e-global-color-0b94b89); }

/* rvd-anim (his "do this bit more animation", header + Diensten button): the dark fill sweeps in from the left, the
   arrow slides out and back in once, a soft press — calm, no bounce. The colour under the sweep stays as at rest. */
.elementor-widget-button.rvd-anim a.elementor-button { position: relative; overflow: hidden; isolation: isolate; }
.elementor-widget-button.rvd-anim a.elementor-button::before { content: ""; position: absolute; inset: 0; z-index: -1; background-color: var(--e-global-color-primary); transform: scaleX(0); transform-origin: left center; transition: transform .45s var(--rvd-ease); }
.elementor-widget-button.rvd-anim a.elementor-button:hover::before { transform: scaleX(1); }
.elementor-widget-button.rvd-anim a.elementor-button:active { transform: scale(.97); }
.elementor-widget-button.rvd-anim a.elementor-button:hover .elementor-button-icon svg { transform: none; animation: rvd-doorschuif .6s var(--rvd-ease); }
.elementor-widget-button.elementor-button-primary.rvd-anim a.elementor-button:hover { background-color: var(--e-global-color-4c96edb); }
.elementor-widget-button.elementor-button-black-outline.rvd-anim a.elementor-button::before { background-color: var(--e-global-color-bd6302b); }
.elementor-widget-button.elementor-button-black-outline.rvd-anim a.elementor-button:hover { background-color: transparent !important; }
.elementor-widget-button.elementor-button-white-fill.rvd-anim a.elementor-button:hover { background-color: var(--e-global-color-0b94b89) !important; }
@keyframes rvd-doorschuif { 0% { transform: translateX(0); } 45% { transform: translateX(160%); } 46% { transform: translateX(-160%); } 100% { transform: translateX(0); } }
/* rvd-wide: full width, text left and the arrow square right (menu layer, side cards) */
.elementor-widget-button.rvd-wide a.elementor-button { display: flex; width: 100%; }
.elementor-widget-button.rvd-wide .elementor-button-content-wrapper { width: 100%; justify-content: space-between; }

/* ── header: the top bar (6.css .tbar) ── */
.rvd-tbar .rvd-sl { position: relative; padding-left: 23px; }
.rvd-tbar .rvd-sl::before { content: ""; position: absolute; left: 0; top: 50%; width: 1px; height: 18px; margin-top: -9px; background-color: var(--e-global-color-rvdwl24); }
.rvd-tbar .rvd-push { margin-left: auto; }
.rvd-tbar .elementor-icon-list-text { white-space: nowrap; }
.rvd-tbar .elementor-icon-list-item a:hover .elementor-icon-list-text { color: var(--e-global-color-rvdrodd); }
.rvd-tsoc .elementor-social-icon { background-color: transparent; }
.rvd-tsoc .elementor-social-icon:hover { opacity: .75; }

/* the menu bar (6.css .hbar / .nav / .drop / .hcall) */
.rvd-nav .elementor-nav-menu .sub-arrow { padding-inline-start: 6px; }
.rvd-nav .elementor-nav-menu .sub-arrow svg { width: 14px; height: 14px; }
.rvd-nav .elementor-nav-menu .sub-arrow i { font-size: 14px; }
.rvd-nav .elementor-nav-menu--main .elementor-nav-menu--dropdown { width: 250px !important; min-width: 250px !important; padding: 10px 0; border-top: 3px solid var(--e-global-color-accent); border-radius: 0 0 6px 6px; box-shadow: 0 20px 40px rgba(14, 26, 46, .12); }
.rvd-nav .elementor-nav-menu--dropdown a.elementor-sub-item { transition: color .2s, padding .2s; }
/* on a service page its parent "Diensten" is red too (Elementor marks only the page itself) */
.rvd-nav .elementor-nav-menu--main > .elementor-nav-menu > li.current-menu-ancestor > a.elementor-item { color: var(--e-global-color-accent); }
.rvd-laynav .elementor-nav-menu--main > .elementor-nav-menu > li.current-menu-ancestor > a.elementor-item { color: var(--e-global-color-rvdrodd); }
.rvd-nav .elementor-nav-menu--dropdown a.elementor-sub-item:hover,
.rvd-nav .elementor-nav-menu--dropdown a.elementor-sub-item:focus-visible { padding-left: 28px !important; }
.rvd-hcall .elementor-icon { transition: background-color .3s, color .3s; }
.rvd-hcall:hover .elementor-icon,
.rvd-hcall:focus-visible .elementor-icon { background-color: var(--e-global-color-accent) !important; color: var(--e-global-color-10d2e9b) !important; fill: var(--e-global-color-10d2e9b) !important; }
.rvd-hcall:hover .elementor-icon svg, .rvd-hcall:focus-visible .elementor-icon svg { fill: var(--e-global-color-10d2e9b) !important; }
@media (min-width: 1025px) and (max-width: 1300px) {   /* 6.css @media 1300: tighter menu, the call circle without its text */
	.rvd-hcall-t { display: none !important; }
	.rvd-menugroep { --padding-left: 40px !important; }
	.rvd-nav { --e-nav-menu-horizontal-menu-item-margin: 14px !important; }
}

/* ── the menu layer (sync_menu, 6.css .layer) ── */
.rvd-laynav .elementor-nav-menu > li { border-bottom: 1px solid rgba(255, 255, 255, .12); }
.rvd-laynav .elementor-nav-menu--main .elementor-item { justify-content: flex-start; }
.rvd-laynav .elementor-nav-menu .sub-arrow { margin-left: auto; padding: 0 0 0 14px; }
.rvd-laynav .elementor-nav-menu .sub-arrow svg { width: 22px; height: 22px; transition: transform .2s; }
.rvd-laynav .elementor-nav-menu .sub-arrow i { font-size: 22px; transition: transform .2s; }
.rvd-laynav .elementor-item.highlighted .sub-arrow svg, .rvd-laynav .elementor-item.highlighted .sub-arrow i { transform: rotate(180deg); }
/* the sub-menu opens in place (SmartMenus' collapsible mode = position static) */
.rvd-laynav .elementor-nav-menu--main .elementor-nav-menu ul { position: static !important; width: auto !important; min-width: 0 !important; margin: 0 !important; padding: 0 0 16px 4px; border: 0; box-shadow: none; background: transparent; }
.rvd-laynav .elementor-nav-menu--main .elementor-nav-menu ul li { border: 0; }
.rvd-laynav .elementor-nav-menu--dropdown a.elementor-sub-item { border: 0 !important; opacity: .85; }
.rvd-layer .rvd-laycontact .elementor-icon-list-item a:hover .elementor-icon-list-text { color: var(--e-global-color-rvdrodd); }

/* ── footer (sync_footer, 6.css .foot) ── */
.rvd-box .elementor-icon { transition: background-color .3s, box-shadow .3s; }
a.rvd-box:hover .elementor-icon,
a.rvd-box:focus-visible .elementor-icon { background-color: var(--e-global-color-primary) !important; box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .3); }
.rvd-fnav .elementor-nav-menu--main .elementor-item { justify-content: flex-start; }
.rvd-two ul { columns: 2; column-gap: 20px; margin: 0; padding: 0; list-style: none; }
.rvd-two li { white-space: nowrap; }
.rvd-foot .elementor-widget-text-editor a { color: inherit; }
.rvd-foot .elementor-widget-text-editor a:hover { color: var(--e-global-color-rvdrodl); }
.rvd-fsoc .elementor-social-icon { transition: background-color .3s, color .3s; }
@media (min-width: 1025px) and (max-width: 1300px) {   /* 6.css @media 1300: three columns, logo + WhatsApp full width */
	.elementor .rvd-cols.e-grid.e-con { --e-con-grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.elementor .rvd-cols .rvd-c1.e-con, .elementor .rvd-cols .rvd-c5.e-con { grid-column: 1 / -1; }
	.elementor .rvd-c1-tekst { width: 520px; max-width: 100%; }
}
/* the WhatsApp pill (his "make it like button maybe some different shape"): white sweeps in, the icon shakes once */
.rvd-wa.e-con { position: relative; overflow: hidden; isolation: isolate; transition: transform .15s ease; }
.rvd-wa.e-con::after { content: ""; position: absolute; inset: 0; z-index: -1; background-color: var(--e-global-color-10d2e9b); transform: scaleX(0); transform-origin: left center; transition: transform .45s var(--rvd-ease); }
.rvd-wa.e-con:hover::after, .rvd-wa.e-con:focus-visible::after { transform: scaleX(1); }
.rvd-wa.e-con:active { transform: scale(.97); }
.rvd-wa .elementor-heading-title { white-space: nowrap; transition: color .35s; }
.rvd-wa:hover .elementor-heading-title, .rvd-wa:focus-visible .elementor-heading-title { color: var(--e-global-color-bd6302b) !important; transition-delay: .18s; }
.rvd-wa .elementor-icon { transition: background-color .35s, color .35s; }
.rvd-wa:hover .elementor-icon, .rvd-wa:focus-visible .elementor-icon { background-color: var(--e-global-color-accent) !important; color: var(--e-global-color-10d2e9b) !important; }
.rvd-wa:hover .elementor-icon svg, .rvd-wa:focus-visible .elementor-icon svg { fill: var(--e-global-color-10d2e9b) !important; }
.rvd-wa:hover .elementor-icon svg { animation: rvd-tril .5s ease .1s; }
@keyframes rvd-tril { 0%, 100% { transform: rotate(0); } 20% { transform: rotate(-14deg); } 40% { transform: rotate(12deg); } 60% { transform: rotate(-8deg); } 80% { transform: rotate(4deg); } }

/* ════════ Homepage ════════ */
/* hero: the contact column's links (6.css .hero-r a:hover) */
.rvd-hero-r .elementor-heading-title a { transition: color .25s; }
.rvd-hero-r .elementor-heading-title a:hover { color: var(--e-global-color-rvdrodd); }

/* photo cards — Diensten (.card), Projecten (.pc), Instagram: the photo fills the card, a slow zoom on hover */
.rvd-card.e-con, .rvd-pc.e-con, .rvd-insta-a.e-con { position: relative; }
.rvd-cover { position: absolute !important; inset: 0; width: 100% !important; max-width: none !important; margin: 0 !important; z-index: 0; }
.rvd-cover > .elementor-widget-container { height: 100%; }
.rvd-cover img { display: block; width: 100% !important; height: 100% !important; max-width: none; object-fit: cover; transition: transform .7s; }
a.rvd-card:hover .rvd-cover img, .rvd-pc:hover .rvd-cover img { transform: scale(1.05); }
/* Diensten: the bar at the bottom — red icon square + dark title, red on hover */
.rvd-bar.e-con { position: absolute; left: 0; right: 0; bottom: 0; z-index: 1; }
.rvd-bar-t.e-con { transition: background-color .3s; }
a.rvd-card:hover .rvd-bar-t.e-con, a.rvd-card:focus-visible .rvd-bar-t.e-con { background-color: var(--e-global-color-rvdred8) !important; }

/* Werkwijze: the number on the circle, the dashed line to the next step */
.rvd-step.e-con { position: relative; }
.rvd-step-c .elementor-icon { border-color: var(--e-global-color-rvdgcir) !important; }
.rvd-step-n { position: absolute !important; top: -21px; left: calc(50% + 36px); width: 60px !important; height: 60px; margin: 0 !important; border-radius: 50%; background-color: var(--e-global-color-secondary); }
.rvd-step-n .elementor-heading-title { line-height: 60px; text-align: center; }
.rvd-steps .rvd-step.e-con:not(:last-child)::after { content: ""; position: absolute; top: 75px; left: calc(50% + 75px); width: calc(100% - 150px); border-top: 2px dashed var(--e-global-color-rvdgstp); }
.rvd-rc .elementor-icon { transition: background-color .3s; }
a.rvd-play:hover .rvd-rc .elementor-icon, a.rvd-play:focus-visible .rvd-rc .elementor-icon { background-color: var(--e-global-color-primary) !important; }

/* Projecten: a still row of staggered cards, cut off at both sides (6.css .track / .pc) */
.rvd-track.e-con { width: max-content !important; max-width: none !important; margin-left: calc(50% - 818px) !important; }
.rvd-pc.e-con { margin-top: 60px; border: 1px solid rgba(255, 255, 255, .2); }
.rvd-pc--up.e-con { margin-top: 0; margin-bottom: 60px; }
.rvd-pc.e-con::after { content: ""; position: absolute; inset: 40% 0 0; z-index: 1; pointer-events: none; background: linear-gradient(to top, rgba(11, 26, 51, .95) 15%, rgba(11, 26, 51, 0)); }
.rvd-pc-t { position: absolute !important; z-index: 2; left: 30px; right: 30px; bottom: 32px; width: auto !important; margin: 0 !important; }
.rvd-dots p { display: flex; justify-content: center; align-items: center; gap: 28px; margin: 54px 0 0; font-size: 0; line-height: 0; }
.rvd-dots span { width: 8px; height: 8px; border-radius: 50%; background-color: var(--e-global-color-10d2e9b); }
.rvd-dots span.on { background-color: var(--e-global-color-rvdrodd); box-shadow: 0 0 0 7px var(--e-global-color-secondary), 0 0 0 8px var(--e-global-color-rvdrodd); }

/* Google reviews (sync_reviews): the note's link */
.rvd-note a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
.rvd-note a:hover { color: var(--e-global-color-accent); }

/* Over mij: his photo rises 70 px over the band's top edge (6.css .about .bgph); the badges */
.rvd-about.e-con { position: relative; }
.rvd-about-ph { position: absolute !important; top: -70px; right: 0; bottom: 0; width: 48% !important; max-width: none !important; margin: 0 !important; z-index: 0; }
.rvd-about-ph > .elementor-widget-container { height: 100%; }
.rvd-about-ph img { display: block; width: 100% !important; height: 100% !important; max-width: none; object-fit: cover; border-radius: 10px 0 0 0; }
.rvd-badge.e-con { box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .45); transition: background-color .3s; }
a.rvd-badge.e-con:hover, a.rvd-badge.e-con:focus-visible { background-color: var(--e-global-color-accent) !important; }

/* Waarom RVD: the photo fills the left column; the cards' dark sweep from below (the buttons' family) */
.rvd-why-ph { position: relative; flex-grow: 1; min-height: 280px; margin-top: 40px !important; }
.rvd-why-ph img { position: absolute; inset: 0; width: 100% !important; height: 100% !important; max-width: none; object-fit: cover; border-radius: 10px; }
.rvd-wc.e-con { position: relative; isolation: isolate; overflow: hidden; transition: border-color .35s; }
.rvd-wc.e-con::after { content: ""; position: absolute; inset: 0; z-index: -1; background: var(--e-global-color-secondary) var(--rvd-patroon); transform: scaleY(0); transform-origin: bottom center; transition: transform .45s var(--rvd-ease); }
.rvd-wc.e-con:hover { border-color: var(--e-global-color-secondary) !important; }
.rvd-wc.e-con:hover::after { transform: scaleY(1); }
.rvd-wc-n { position: absolute !important; top: 34px; right: 34px; width: auto !important; margin: 0 !important; }
.rvd-wc-n .elementor-heading-title { color: transparent !important; -webkit-text-stroke: 1.5px var(--e-global-color-rvdgcij); transition: -webkit-text-stroke-color .35s; }
.rvd-wc .elementor-icon, .rvd-wc .elementor-heading-title, .rvd-wc .elementor-widget-text-editor { transition: color .35s, background-color .35s; }
.rvd-wc.e-con:hover .rvd-wc-n .elementor-heading-title { -webkit-text-stroke-color: rgba(255, 255, 255, .35); }
.rvd-wc.e-con:hover h3.elementor-heading-title { color: var(--e-global-color-10d2e9b) !important; }
.rvd-wc.e-con:hover .elementor-widget-text-editor { color: rgba(255, 255, 255, .82) !important; }
.rvd-wc.e-con:hover .rvd-wc-ic .elementor-icon { background-color: var(--e-global-color-10d2e9b) !important; color: var(--e-global-color-accent) !important; }
/* the colours wait until the dark fill has reached them (otherwise the title fades out on white) */
.rvd-wc.e-con:hover .elementor-heading-title, .rvd-wc.e-con:hover .elementor-widget-text-editor, .rvd-wc.e-con:hover .elementor-icon { transition-delay: .2s; }

/* Instagram (sync_instagram): square tiles, red veil + the Instagram icon on hover */
.rvd-insta-a.e-con { aspect-ratio: 1; }
.rvd-insta-a.e-con::after { content: ""; position: absolute; inset: 0; z-index: 1; opacity: 0; background-color: var(--e-global-color-rvdins7); transition: opacity .3s; }
.rvd-insta-ic { position: absolute !important; inset: 0; z-index: 2; width: 100% !important; margin: 0 !important; display: grid; place-items: center; opacity: 0; transition: opacity .3s; }
.rvd-insta-a.e-con:hover::after, .rvd-insta-a.e-con:hover .rvd-insta-ic, .rvd-insta-a.e-con:focus-visible::after, .rvd-insta-a.e-con:focus-visible .rvd-insta-ic { opacity: 1; }

@media (min-width: 1025px) and (max-width: 1300px) {   /* 6.css @media 1300 */
	.elementor .rvd-revs-in.e-grid.e-con { --e-con-grid-template-columns: minmax(0, 1fr) 420px; }
}
@media (max-width: 1024px) {
	.rvd-steps .rvd-step.e-con:nth-child(2)::after { display: none; }
	.rvd-track.e-con { margin-left: calc(50% - 690px) !important; }
	.rvd-about-ph { position: relative !important; top: 0; width: 100% !important; height: 340px; }
	.rvd-about-ph img { border-radius: 0; }
	.rvd-why-ph { flex-grow: 0; min-height: 0; height: 340px; }
}
@media (max-width: 767px) {
	.rvd-steps .rvd-step.e-con::after { display: none; }
	.rvd-track.e-con { margin-left: calc(50% - 563px) !important; }
	.rvd-pc.e-con { margin-top: 40px; }
	.rvd-pc--up.e-con { margin-top: 0; margin-bottom: 40px; }
	.rvd-pc-t { left: 20px; right: 20px; bottom: 22px; }
	.rvd-about-ph { height: 240px; }
	.rvd-why-ph { height: 280px; margin-top: 30px !important; }   /* 280: the design's minimum still holds on a phone */
	.rvd-wc-n { top: 28px; right: 26px; }
	.rvd-insta-a--wide.e-con { aspect-ratio: 2 / 1; }
}

/* ════════ Service page (Platte daken — the one template for the five services) ════════ */
/* page hero: the white ring with the phone turns red (6.css .pcall) */
.rvd-pcall .elementor-icon { border-color: var(--e-global-color-rvdwt60) !important; transition: background-color .3s, border-color .3s; }
a.rvd-pcall:hover .elementor-icon, a.rvd-pcall:focus-visible .elementor-icon { background-color: var(--e-global-color-accent) !important; border-color: var(--e-global-color-accent) !important; }
/* intro: the small photo over the big one's corner (6.css .iph) */
.rvd-iph.e-con { position: relative; }
.rvd-iph img { display: block; }
.rvd-iph-s { position: absolute !important; right: 0; bottom: 0; z-index: 1; width: 46% !important; max-width: none !important; margin: 0 !important; }
/* the three checks: a white tick in a red square (6.css .checks) */
.rvd-checks .elementor-icon-list-icon { display: flex; align-items: center; justify-content: center; width: 26px; height: 26px; flex: none; border-radius: 4px; background-color: var(--e-global-color-accent); }
.rvd-checks .elementor-icon-list-icon svg { flex: none; width: 16px !important; height: 16px !important; margin: 0 !important; }
/* the text block (the old page's texts, one block per service): sub-headings, the kinds as white cards (6.css .prose / .kinds) */
.e-con > .elementor-widget.rvd-prose { max-width: 780px !important; }   /* Elementor gives every widget max-width: 100% */
.rvd-prose h2 { margin: 56px 0 18px; font-family: var(--e-global-typography-rvdh2s-font-family), sans-serif; font-size: var(--e-global-typography-rvdh2s-font-size); font-weight: var(--e-global-typography-rvdh2s-font-weight); line-height: var(--e-global-typography-rvdh2s-line-height); letter-spacing: var(--e-global-typography-rvdh2s-letter-spacing); }
.rvd-prose h2:first-child { margin-top: 0; }
.rvd-prose p { margin: 0; }
.rvd-prose ul { display: grid; gap: 14px; margin: 26px 0 0; padding: 0; list-style: none; }
.rvd-prose li { padding: 22px 26px; border-left: 3px solid var(--e-global-color-accent); border-radius: 0 10px 10px 0; background-color: var(--e-global-color-10d2e9b); font-size: var(--e-global-typography-text-font-size); line-height: 1.7; }
.rvd-prose li strong, .rvd-prose li b { display: block; margin-bottom: 4px; font-family: var(--e-global-typography-rvdkind-font-family), sans-serif; font-size: var(--e-global-typography-rvdkind-font-size); font-weight: var(--e-global-typography-rvdkind-font-weight); line-height: var(--e-global-typography-rvdkind-line-height); color: var(--e-global-color-f8fa775); }
/* the contact card stays in view beside the text (6.css .scard); its lines' circle turns white */
.rvd-scard.e-con { position: sticky; top: 124px; }
.rvd-sline .rvd-rc .elementor-icon { transition: background-color .3s, color .3s; }
a.rvd-sline:hover .rvd-rc .elementor-icon, a.rvd-sline:focus-visible .rvd-rc .elementor-icon { background-color: var(--e-global-color-10d2e9b) !important; color: var(--e-global-color-accent) !important; }
a.rvd-sline:hover .rvd-rc .elementor-icon svg, a.rvd-sline:focus-visible .rvd-rc .elementor-icon svg { fill: var(--e-global-color-accent) !important; }
/* werkzaamheden: the outlined number in the tile's corner (6.css .wk .n) */
.rvd-wk.e-con { position: relative; }
.rvd-wk-n { position: absolute !important; top: 30px; right: 28px; width: auto !important; margin: 0 !important; }
.rvd-wk-n .elementor-heading-title { color: transparent !important; -webkit-text-stroke: 1.2px rgba(255, 255, 255, .25); }
.rvd-wk .elementor-heading-title, .rvd-phhold .elementor-heading-title { text-wrap: wrap; }   /* plain lines here, as the design */
/* projectfoto's: photos fill their place; the empty place striped, "Voorbeeldfoto" (6.css .pgrid / .ph-hold) */
.rvd-pg.e-con { position: relative; }
.rvd-phhold.e-con { background: repeating-linear-gradient(135deg, #E9ECF0 0 12px, #F1F3F6 12px 24px); }
@media (min-width: 1025px) and (max-width: 1300px) {   /* 6.css @media 1300 */
	.elementor .rvd-isplit.e-grid.e-con { --gap: 60px 60px; --row-gap: 60px; --column-gap: 60px; }
	.elementor .rvd-tarea.e-grid.e-con { --e-con-grid-template-columns: minmax(0, 1fr) 360px; --gap: 60px 60px; --row-gap: 60px; --column-gap: 60px; }
	.rvd-scard.e-con { --padding-top: 36px !important; --padding-right: 30px !important; --padding-bottom: 36px !important; --padding-left: 30px !important; }
}
@media (max-width: 1024px) {
	.e-con > .elementor-widget.rvd-prose { max-width: none !important; }
	.rvd-scard.e-con { position: relative; top: auto; }
	.rvd-ls-tx.e-con { flex: 1 1 calc(100% - 106px) !important; min-width: 0; }   /* the drop icon stays beside the text, the buttons below */
}
@media (max-width: 767px) {
	.rvd-prose h2 { margin-top: 44px; }
	.rvd-prose h2:first-child { margin-top: 0; }
	.rvd-prose li { padding: 18px 20px; }
	/* the Icon widget has no phone setting for its padding: the icon squares' phone sizes (6.css @640) */
	.rvd-box-ic .elementor-icon { padding: 19px !important; }   /* footer boxes 64 */
	.rvd-wc-ic .elementor-icon { padding: 14px !important; }    /* Waarom cards 58 */
	.rvd-wk-ic .elementor-icon { padding: 12px !important; }    /* Werkzaamheden tiles 52 */
	.rvd-ls-ic .elementor-icon { padding: 15px !important; }    /* leak strip circle 60 */
	.rvd-wk.e-con { flex-wrap: nowrap !important; }   /* one row: icon · title (takes the free width) · number */
	.rvd-wk > .elementor-widget-heading:not(.rvd-wk-n) { flex: 1 1 0 !important; min-width: 0; width: auto !important; }
	.rvd-wk-n { position: static !important; order: 3; margin-left: auto !important; }
	.rvd-ls-tx.e-con { flex: 1 1 calc(100% - 78px) !important; }
	.rvd-ls-act .elementor-widget-button a.elementor-button { display: flex; width: 100%; }
	.rvd-ls-act .elementor-button-content-wrapper { width: 100%; justify-content: space-between; }
}

/* ════════ Contact ════════ */
.rvd-ccard.e-con { box-shadow: 0 30px 60px -40px rgba(11, 26, 51, .35); }
.rvd-sline-t.e-con { flex: 1 1 auto; min-width: 0; }   /* a long line (the address) wraps beside its circle */
.rvd-sl-arr .elementor-icon { transition: transform .3s; }
a.rvd-sline:hover .rvd-sl-arr .elementor-icon, a.rvd-sline:focus-visible .rvd-sl-arr .elementor-icon { transform: translateX(4px); }
/* the contactformulier — Elementor Pro's Form drawn as the design's fields (6.css .fl / .fcheck / .fsend) */
.rvd-cf .elementor-field-group input.elementor-field, .rvd-cf .elementor-field-group textarea.elementor-field { height: 56px; min-height: 0; padding: 0 18px; transition: border-color .2s, background-color .2s, box-shadow .2s; }
.rvd-cf .elementor-field-group textarea.elementor-field { height: auto; min-height: 150px; margin-bottom: 9px; padding: 14px 18px; resize: vertical; }   /* 9 px: the design's text box sits on a text line */
.rvd-cf .elementor-field-group .elementor-field:focus { outline: none; border-color: var(--e-global-color-primary) !important; background-color: var(--e-global-color-10d2e9b) !important; box-shadow: 0 0 0 3px rgba(15, 35, 66, .12); }
.rvd-cf .elementor-error .elementor-field { border-color: var(--e-global-color-accent) !important; }
.rvd-cf .elementor-message { font-size: 15px; line-height: 1.5; }
.rvd-cf .elementor-message.elementor-help-inline { margin-top: 6px; }
/* the privacy tick: a 22 px square, red with a white tick once checked */
.rvd-cf .elementor-field-type-acceptance .elementor-field-option { display: flex; align-items: flex-start; gap: 12px; }
/* (!important: Elementor's own field rules — padding, border, background, font — outrank a class) */
.rvd-cf .elementor-field-type-acceptance input[type="checkbox"] { -webkit-appearance: none; appearance: none; flex: none; width: 22px !important; height: 22px; min-height: 0; margin: 1px 0 0; padding: 0 !important; border: 1.5px solid var(--e-global-color-rvdgrey) !important; border-radius: 4px !important; background: var(--e-global-color-10d2e9b) center / 14px no-repeat !important; cursor: pointer; transition: background-color .2s, border-color .2s, box-shadow .2s; }
.rvd-cf .elementor-field-type-acceptance input[type="checkbox"]:checked { border-color: var(--e-global-color-accent) !important; background-color: var(--e-global-color-accent) !important; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") !important; }
.rvd-cf .elementor-field-type-acceptance input[type="checkbox"]:focus-visible { outline: none; box-shadow: 0 0 0 3px rgba(155, 0, 0, .2); }
.rvd-cf .elementor-field-type-acceptance label { font-family: var(--e-global-typography-text-font-family), sans-serif !important; font-size: 15px !important; font-weight: 400 !important; line-height: 1.5 !important; color: var(--e-global-color-text) !important; cursor: pointer; }
.rvd-cf .elementor-field-type-acceptance label a { color: var(--e-global-color-f8fa775); text-decoration: underline; text-underline-offset: 3px; }
.rvd-cf .rvd-req { color: var(--e-global-color-accent); }
/* the send row: the button, and "Liever direct een offerte?" on the right */
.rvd-cf .elementor-field-group.e-form__buttons { order: 1; width: auto !important; flex: none; margin-top: 10px; }
.rvd-cf .elementor-field-group.elementor-field-type-html { order: 2; display: flex !important; align-items: center; justify-content: flex-end; width: auto !important; flex: 1 1 auto; margin-top: 10px; }
.rvd-cf a.rvd-tolink, a.rvd-tolink { display: inline-flex; align-items: center; gap: 6px; font-size: 15px; line-height: 1.8; color: var(--e-global-color-text); }   /* grey, not the kit's link colour */
.rvd-tolink b { font-weight: 600; color: var(--e-global-color-accent); white-space: nowrap; }
.rvd-tolink::after { content: ""; width: 16px; height: 16px; flex: none; background-color: var(--e-global-color-accent); -webkit-mask: var(--rvd-pijl) center / contain no-repeat; mask: var(--rvd-pijl) center / contain no-repeat; transition: transform .3s; }
.rvd-tolink:hover::after, .rvd-tolink:focus-visible::after { transform: translateX(4px); }
/* the form's button = the house button with the sweep (as .rvd-anim) */
.rvd-cf button.elementor-button { position: relative; overflow: hidden; isolation: isolate; display: inline-flex; align-items: center; height: 52px; min-height: 0; padding: 3px 3px 3px 26px; border: 0; border-radius: 6px; white-space: nowrap; transition: color .35s, transform .15s ease; }
.rvd-cf button.elementor-button .elementor-button-content-wrapper { align-items: center; gap: 26px; }
.rvd-cf button.elementor-button .elementor-button-icon { width: 46px; height: 46px; flex: none; display: grid; place-items: center; overflow: hidden; margin: 0; border-radius: 4px; background-color: var(--e-global-color-0b94b89); color: var(--e-global-color-bd6302b); }
.rvd-cf button.elementor-button .elementor-button-icon svg { width: 20px; height: 20px; fill: currentColor; }
.rvd-cf button.elementor-button::before { content: ""; position: absolute; inset: 0; z-index: -1; background-color: var(--e-global-color-primary); transform: scaleX(0); transform-origin: left center; transition: transform .45s var(--rvd-ease); }
.rvd-cf button.elementor-button:hover::before, .rvd-cf button.elementor-button:focus-visible::before { transform: scaleX(1); }
.rvd-cf button.elementor-button:active { transform: scale(.97); }
.rvd-cf button.elementor-button:hover .elementor-button-icon svg { animation: rvd-doorschuif .6s var(--rvd-ease); }
@media (max-width: 767px) {
	.rvd-cf .elementor-field-group { margin-bottom: 16px !important; }
	.rvd-cf .elementor-form-fields-wrapper { margin-bottom: -16px !important; }
	.rvd-cf .elementor-field-group.e-form__buttons { width: 100% !important; flex: 1 1 100%; margin-top: 14px; }
	.rvd-cf button.elementor-button { width: 100%; }
	.rvd-cf button.elementor-button .elementor-button-content-wrapper { width: 100%; justify-content: space-between; }
	.rvd-cf .elementor-field-group.elementor-field-type-html { width: 100% !important; flex: 1 1 100%; justify-content: center; margin-top: 4px; }
	.rvd-cf a.rvd-tolink, a.rvd-tolink { display: block; text-align: center; }
	.rvd-tolink::after { display: inline-block; margin-left: 6px; vertical-align: -3px; }
}

/* ════════ Offerte aanvragen ════════ */
.rvd-hot { display: block; margin-top: 6px; font-weight: 600; color: var(--e-global-color-rvdrodl); }
/* the "Lekkage?" card beside the form (6.css .oside / .lcard): stays in view on a computer */
.rvd-oside.e-con { position: sticky; top: 124px; }
.rvd-lc-h { margin: 22px 0 6px !important; }
.rvd-lc-p { margin: 0 0 26px !important; }
.rvd-lc-b + .rvd-lc-b { margin-top: 12px !important; }
@media (max-width: 1024px) {   /* above the form, one row: icon · title + line · two buttons */
	.rvd-oside.e-con { position: relative; top: auto; order: -1; }
	.rvd-lc.e-con { display: grid !important; grid-template-columns: auto minmax(0, 1fr) auto auto; align-items: center; gap: 0 18px; }
	.rvd-lc-ic { grid-column: 1; grid-row: 1 / span 2; }
	.rvd-lc-ic .elementor-icon { padding: 15px !important; }
	.rvd-lc-h { grid-column: 2; grid-row: 1; margin: 0 !important; }
	.rvd-lc-p { grid-column: 2; grid-row: 2; margin: 0 !important; }
	.rvd-lc-b { grid-column: 3; grid-row: 1 / span 2; margin: 0 !important; }
	.rvd-lc-b + .rvd-lc-b { grid-column: 4; grid-row: 1 / span 2; margin: 0 !important; }
	.rvd-lc .elementor-widget-button.rvd-wide a.elementor-button { display: inline-flex; width: auto; }
}
@media (max-width: 767px) {    /* icon + text, the buttons full width under it */
	.rvd-lc.e-con { grid-template-columns: auto minmax(0, 1fr); gap: 4px 16px; }
	.rvd-lc-ic .elementor-icon { padding: 11px !important; }
	.rvd-lc-b, .rvd-lc-b + .rvd-lc-b { grid-column: 1 / -1; grid-row: auto; margin: 10px 0 0 !important; }
	.rvd-lc .elementor-widget-button.rvd-wide a.elementor-button { display: flex; width: 100%; }
}

/* ── the offerteformulier = WPStack Forms "Offerteformulier" in Forms' widget (.rvd-of), drawn as 6.css .fstep / .fq / .tile /
   .opt / .fl / .fcheck / .fsend. Forms prints its fields as ONE row of boxes, so each box is a slice of a white block: the
   head (b<n>_kop) opens it, the questions are its middle, b<n>_eind closes it (block 4: the send row). Keyed on the field
   ids b1_… b4_ that Forms' editor keeps. The small hints after a question ("één keuze" …) are drawn here too. ── */
.rvd-of { --rvd-of-x: 44px; --rvd-of-roze: #FBF3F3; }   /* 6.css: the block's side room; the light red of a chosen answer */
.rvd-of .wpsf-form-wrap { max-width: none; }
.rvd-of .wpsf-form { gap: 0; font-family: var(--e-global-typography-text-font-family), sans-serif; color: var(--e-global-color-text); }
.rvd-of .wpsf-form :is(.wpsf-field, .wpsf-submit-row) { --wpsf-gap: 0px; gap: 0; padding: 26px var(--rvd-of-x) 0; border: 0 solid var(--e-global-color-rvdline); border-width: 0 1px; background: var(--e-global-color-10d2e9b); transition: border-color .3s, box-shadow .3s; }
.rvd-of .wpsf-form [data-field-id$="_kop"] { padding: 40px var(--rvd-of-x) 26px; border-top-width: 1px; border-radius: 10px 10px 0 0; }
.rvd-of .wpsf-form [data-field-id$="_eind"] { margin-bottom: 20px; padding-top: 40px; border-bottom-width: 1px; border-radius: 0 0 10px 10px; }
.rvd-of .wpsf-form .wpsf-submit-row { display: flex; padding: 30px var(--rvd-of-x) 40px; border-bottom-width: 1px; border-radius: 0 0 10px 10px; }
/* the room above each question (6.css .fq + .fq 26 · .fgrid gap 20 · .fcheck 28 · .fsend 30); a block's first question none */
.rvd-of .wpsf-form :is([data-field-id="b1_soort"], [data-field-id^="b2_leeg"], [data-field-id="b2_lek_waar"], [data-field-id="b2_pan_soort"], [data-field-id="b2_plat_nu"], [data-field-id="b2_zink"], [data-field-id="b2_kapel"], [data-field-id="b2_overk"], [data-field-id="b3_omschrijving"], [data-field-id="b4_naam"], [data-field-id="b4_straat"]) { padding-top: 0; }
.rvd-of .wpsf-form :is([data-field-id="b4_telefoon"], [data-field-id="b4_email"], [data-field-id="b4_postcode"], [data-field-id="b4_plaats"]) { padding-top: 20px; }
.rvd-of .wpsf-form :is([data-field-id="b4_telefoon"], [data-field-id="b4_postcode"]) { padding-right: 10px; border-right-width: 0; }   /* two side by side: 20 between */
.rvd-of .wpsf-form :is([data-field-id="b4_email"], [data-field-id="b4_plaats"]) { padding-left: 10px; border-left-width: 0; }
/* the block you are filling: a darker edge, the shadow under it, its number red (6.css .fstep:focus-within) */
.rvd-of .wpsf-form:has([data-field-id^="b1_"]:focus-within) [data-field-id^="b1_"],
.rvd-of .wpsf-form:has([data-field-id^="b2_"]:focus-within) [data-field-id^="b2_"],
.rvd-of .wpsf-form:has([data-field-id^="b3_"]:focus-within) [data-field-id^="b3_"],
.rvd-of .wpsf-form:has([data-field-id^="b4_"]:focus-within, .wpsf-submit-row:focus-within) :is([data-field-id^="b4_"], .wpsf-submit-row) { border-color: rgba(15, 35, 66, .35); }
.rvd-of .wpsf-form:has([data-field-id^="b1_"]:focus-within) [data-field-id="b1_eind"],
.rvd-of .wpsf-form:has([data-field-id^="b2_"]:focus-within) [data-field-id="b2_eind"],
.rvd-of .wpsf-form:has([data-field-id^="b3_"]:focus-within) [data-field-id="b3_eind"],
.rvd-of .wpsf-form:has([data-field-id^="b4_"]:focus-within, .wpsf-submit-row:focus-within) .wpsf-submit-row { box-shadow: 0 24px 44px -34px rgba(11, 26, 51, .45); }
.rvd-of .wpsf-form:has([data-field-id^="b1_"]:focus-within) [data-field-id="b1_kop"] .rvd-of-num,
.rvd-of .wpsf-form:has([data-field-id^="b2_"]:focus-within) [data-field-id="b2_kop"] .rvd-of-num,
.rvd-of .wpsf-form:has([data-field-id^="b3_"]:focus-within) [data-field-id="b3_kop"] .rvd-of-num,
.rvd-of .wpsf-form:has([data-field-id^="b4_"]:focus-within, .wpsf-submit-row:focus-within) [data-field-id="b4_kop"] .rvd-of-num { background-color: var(--e-global-color-accent); }
/* the head: number + title (6.css .fhead) */
.rvd-of .rvd-of-kop { display: flex; align-items: center; gap: 16px; }
.rvd-of .rvd-of-num { width: 46px; height: 46px; flex: none; display: grid; place-items: center; border-radius: 6px; background-color: var(--e-global-color-secondary); color: var(--e-global-color-10d2e9b); font-family: var(--e-global-typography-primary-font-family), sans-serif; font-size: 20px; font-weight: 700; line-height: 1; transition: background-color .3s; }
.rvd-of .rvd-of-kop h2 { margin: 0; font-family: var(--e-global-typography-primary-font-family), sans-serif; font-size: 26px; font-weight: 700; line-height: 1.13; letter-spacing: -0.02em; color: var(--e-global-color-f8fa775); }
.rvd-of .wpsf-info p { margin: 0; }
.rvd-of .wpsf-info p.rvd-of-q { margin-bottom: 12px; }
/* questions: a choice's question 600 16 (6.css .fq > b), a field's label 500 15 (.fl > span); the star red */
.rvd-of .wpsf-form .wpsf-field > label, .rvd-of .rvd-of-q { display: block; margin: 0 0 8px; font-family: inherit; font-size: 15px; font-weight: 500; line-height: 1.4; color: var(--e-global-color-f8fa775); }
.rvd-of .wpsf-form :is([data-field-type="radio"], [data-field-type="checkboxes"], [data-field-type="file"]) > label, .rvd-of .rvd-of-q { margin-bottom: 12px; font-size: 16px; font-weight: 600; }
.rvd-of .wpsf-form .wpsf-required { margin-left: 0; color: var(--e-global-color-accent); }
.rvd-of .wpsf-form .wpsf-field > label::after, .rvd-of .rvd-of-q small { font-size: 14px; font-weight: 400; color: var(--e-global-color-text); }
.rvd-of .wpsf-form [data-field-id="b1_soort"] > label::after { content: " één keuze"; }
.rvd-of .wpsf-form [data-field-id="b2_zink"] > label::after { content: " meer keuzes mogelijk"; }
.rvd-of .wpsf-form :is([data-field-id="b2_plat_m2"], [data-field-id="b2_overk"]) > label::after { content: " (optioneel)"; }
/* "no extra questions" lines (6.css .fnone) */
.rvd-of .wpsf-form [data-field-id^="b2_leeg"] .wpsf-info { padding: 16px 20px; border-radius: 6px; background-color: var(--e-global-color-rvdcanv); font-size: 15px; line-height: 1.8; }
/* text fields (6.css .fl input / textarea) */
.rvd-of .wpsf-form .wpsf-field :is(input[type="text"], input[type="tel"], input[type="email"], textarea) { height: 56px; padding: 0 18px; border: 1px solid var(--e-global-color-rvdline); border-radius: 6px; background-color: var(--e-global-color-rvdcanv); box-shadow: none; font-family: inherit; font-size: 16px; line-height: 1.6; color: var(--e-global-color-f8fa775); transition: border-color .2s, background-color .2s, box-shadow .2s; }
.rvd-of .wpsf-form .wpsf-field textarea { height: auto; min-height: 158px; margin-bottom: 10px; padding: 14px 18px; resize: vertical; }   /* the design's 5 lines (Forms prints 4); 10 px: its text box sits on a text line */
.rvd-of .wpsf-form .wpsf-field :is(input, textarea):focus { outline: none; border-color: var(--e-global-color-primary); background-color: var(--e-global-color-10d2e9b); box-shadow: 0 0 0 3px rgba(15, 35, 66, .12); }
.rvd-of .wpsf-form :is([data-field-id="b2_plat_m2"], [data-field-id="b2_overk"]) input { max-width: 320px; }
/* the six kinds: tiles with the line icon in a square, red once chosen (6.css .tile) */
.rvd-of .wpsf-form .wpsf-cards { gap: 12px; }
.rvd-of .wpsf-form .wpsf-card { display: block; height: 100%; }
.rvd-of .wpsf-form .wpsf-card-box { position: relative; justify-content: flex-start; gap: 14px; height: 100%; min-height: 0; padding: 12px; border: 1px solid var(--e-global-color-rvdline); border-radius: 10px; background-color: var(--e-global-color-10d2e9b); box-sizing: border-box; font-family: var(--e-global-typography-primary-font-family), sans-serif; font-size: 17px; font-weight: 700; line-height: 1.25; color: var(--e-global-color-f8fa775); transition: border-color .2s, box-shadow .2s; }
.rvd-of .wpsf-form .wpsf-card-text { line-height: inherit; }
.rvd-of .wpsf-form .wpsf-card-box::before { content: ""; width: 52px; height: 52px; flex: none; border-radius: 6px; background-color: var(--e-global-color-rvdcanv); transition: background-color .2s; }
.rvd-of .wpsf-form .wpsf-card-box::after { content: ""; position: absolute; left: 23px; top: 50%; width: 30px; height: 30px; margin-top: -15px; background-color: var(--e-global-color-primary); -webkit-mask: var(--rvd-of-ic) center / contain no-repeat; mask: var(--rvd-of-ic) center / contain no-repeat; transition: background-color .2s; }
.rvd-of .wpsf-form .wpsf-card-check { display: none; }
.rvd-of .wpsf-form .wpsf-card:hover .wpsf-card-box { border-color: var(--e-global-color-rvdgrey); }
.rvd-of .wpsf-form .wpsf-card-input:checked + .wpsf-card-box { border-color: var(--e-global-color-accent); box-shadow: inset 0 0 0 1px var(--e-global-color-accent); }
.rvd-of .wpsf-form .wpsf-card-input:checked + .wpsf-card-box::before { background-color: var(--e-global-color-accent); }
.rvd-of .wpsf-form .wpsf-card-input:checked + .wpsf-card-box::after { background-color: var(--e-global-color-10d2e9b); }
.rvd-of .wpsf-form .wpsf-card-input:focus-visible + .wpsf-card-box { outline: none; box-shadow: 0 0 0 3px rgba(155, 0, 0, .2); }
.rvd-of .wpsf-form .wpsf-field--error .wpsf-card-box { border-color: var(--e-global-color-accent); }
.rvd-of .wpsf-card:nth-child(1) { --rvd-of-ic: url("/wp-content/uploads/2026/10/rvd-ic-l-drop.svg"); }
.rvd-of .wpsf-card:nth-child(2) { --rvd-of-ic: url("/wp-content/uploads/2026/10/rvd-ic-l-tiles.svg"); }
.rvd-of .wpsf-card:nth-child(3) { --rvd-of-ic: url("/wp-content/uploads/2026/10/rvd-ic-l-gutter.svg"); }
.rvd-of .wpsf-card:nth-child(4) { --rvd-of-ic: url("/wp-content/uploads/2026/10/rvd-ic-l-dormer.svg"); }
.rvd-of .wpsf-card:nth-child(5) { --rvd-of-ic: url("/wp-content/uploads/2026/10/rvd-ic-l-canopy.svg"); }
.rvd-of .wpsf-card:nth-child(6) { --rvd-of-ic: url("/wp-content/uploads/2026/10/rvd-ic-l-chat.svg"); }
/* answers: buttons with a round (one choice) or square (more) mark (6.css .opt) */
.rvd-of .wpsf-form .wpsf-options { flex-direction: row; flex-wrap: wrap; gap: 10px; }
.rvd-of .wpsf-form .wpsf-option { display: inline-flex; align-items: center; gap: 10px; min-height: 48px; margin: 0; padding: 10px 18px 10px 14px; border: 1px solid var(--e-global-color-rvdline); border-radius: 6px; background-color: var(--e-global-color-rvdcanv); box-sizing: border-box; font-family: inherit; font-size: 15px; font-weight: 500; line-height: 1.3; color: var(--e-global-color-f8fa775); cursor: pointer; transition: border-color .2s, background-color .2s; }
.rvd-of .wpsf-form .wpsf-option input { -webkit-appearance: none; appearance: none; width: 18px; height: 18px; flex: none; margin: 0; border: 1.5px solid var(--e-global-color-rvdgrey); border-radius: 50%; background-color: var(--e-global-color-10d2e9b); cursor: pointer; transition: .2s; }
.rvd-of .wpsf-form .wpsf-option input[type="checkbox"] { border-radius: 4px; }
.rvd-of .wpsf-form .wpsf-option:hover { border-color: var(--e-global-color-rvdgrey); }
.rvd-of .wpsf-form .wpsf-option:has(input:checked) { border-color: var(--e-global-color-accent); background-color: var(--rvd-of-roze); }
.rvd-of .wpsf-form .wpsf-option input:checked { border-color: var(--e-global-color-accent); background-color: var(--e-global-color-accent); box-shadow: inset 0 0 0 3px var(--e-global-color-10d2e9b); }
.rvd-of .wpsf-form .wpsf-option input:focus-visible { outline: none; }
.rvd-of .wpsf-form .wpsf-option:has(input:focus-visible) { box-shadow: 0 0 0 3px rgba(155, 0, 0, .2); }
/* the photos (block 3): Forms' upload area ("Allow several files", 1.4.60) drawn as the design's drop field and file
   list (6.css .upl / .files): the red square with the camera, the dashed area, the chosen photos as small grey chips */
.rvd-of .wpsf-form [data-field-id="b3_fotos"] > label::after { content: " (optioneel, max. 5)"; }
.rvd-of .wpsf-form .wpsf-drop { gap: 12px; }
.rvd-of .wpsf-form .wpsf-drop-zone { position: relative; gap: 4px; padding: 30px 20px; border: 1.5px dashed var(--e-global-color-rvdgrey); border-radius: 10px; background-color: var(--e-global-color-rvdcanv); color: var(--e-global-color-text); font-size: 14px; line-height: 1.8; transition: border-color .2s, background-color .2s; }
.rvd-of .wpsf-form .wpsf-drop-zone > svg { display: none; }
.rvd-of .wpsf-form .wpsf-drop-zone::before { content: ""; width: 56px; height: 56px; margin-bottom: 8px; border-radius: 6px; background-color: var(--e-global-color-accent); }
.rvd-of .wpsf-form .wpsf-drop-zone::after { content: ""; position: absolute; top: 43px; left: 50%; width: 30px; height: 30px; margin-left: -15px; background-color: var(--e-global-color-10d2e9b); -webkit-mask: url("/wp-content/uploads/2026/10/rvd-ic-l-cam.svg") center / contain no-repeat; mask: url("/wp-content/uploads/2026/10/rvd-ic-l-cam.svg") center / contain no-repeat; }
.rvd-of .wpsf-form .wpsf-drop-text { display: block; font-family: var(--e-global-typography-primary-font-family), sans-serif; font-size: 18px; font-weight: 700; line-height: 1.8; color: var(--e-global-color-f8fa775); }
.rvd-of .wpsf-form .wpsf-drop-link { color: inherit; font-weight: inherit; text-decoration: underline; text-underline-offset: 3px; }
.rvd-of .wpsf-form [data-field-id="b3_fotos"] .wpsf-drop-text::after { content: "Maximaal 5 foto's"; display: block; margin-top: 4px; font-family: var(--e-global-typography-text-font-family), sans-serif; font-size: 14px; font-weight: 400; line-height: 1.8; color: var(--e-global-color-text); }
.rvd-of .wpsf-form .wpsf-drop-zone:hover, .rvd-of .wpsf-form .wpsf-drop-zone.is-over { border-color: var(--e-global-color-accent); background-color: var(--rvd-of-roze); }
.rvd-of .wpsf-form .wpsf-drop-zone:focus-visible, .rvd-of .wpsf-form .wpsf-drop.is-ready input[type="file"]:focus + .wpsf-drop-zone { outline: none; box-shadow: 0 0 0 3px rgba(155, 0, 0, .2); }
.rvd-of .wpsf-form .wpsf-field--error .wpsf-drop-zone { border-color: var(--e-global-color-accent); }
.rvd-of .wpsf-form .wpsf-drop .wpsf-drop-list { flex-direction: row; flex-wrap: wrap; gap: 8px; }
.rvd-of .wpsf-form .wpsf-drop .wpsf-drop-item { max-width: 100%; gap: 8px; padding: 6px 6px 6px 12px; border: 0; border-radius: 4px; background-color: var(--e-global-color-rvdcanv); font-size: 14px; line-height: 1.4; color: var(--e-global-color-f8fa775); }
.rvd-of .wpsf-form .wpsf-drop-size { color: var(--e-global-color-text); }
.rvd-of .wpsf-form .wpsf-drop .wpsf-drop-remove { width: 24px; height: 24px; border-radius: 4px; color: var(--e-global-color-text); font-size: 17px; }
.rvd-of .wpsf-form .wpsf-drop .wpsf-drop-remove:hover { background-color: var(--rvd-of-roze); color: var(--e-global-color-accent); }
.rvd-of .wpsf-form .wpsf-drop .wpsf-drop-remove:focus-visible { outline: none; box-shadow: 0 0 0 3px rgba(155, 0, 0, .2); }
.rvd-of .wpsf-form .wpsf-drop-foot { font-size: 14px; line-height: 1.5; color: var(--e-global-color-text); }
.rvd-of .wpsf-form .wpsf-drop-msg { padding: 6px 12px; border-radius: 4px; background-color: var(--rvd-of-roze); color: var(--e-global-color-accent); }
.rvd-of .wpsf-form .wpsf-drop:has(.wpsf-drop-list[hidden]):has(.wpsf-drop-msg:empty) .wpsf-drop-foot { display: none; }   /* nothing chosen: no "0 / 5" (the design shows none) */
/* the privacy tick: the box + "Ik ga akkoord met de" (the field) and "privacyverklaring. *" (the next line, the link) on
   one line (6.css .fcheck); the field's own question is for screen readers only */
.rvd-of .wpsf-form [data-field-id="b4_privacy"] { position: relative; flex: 0 0 auto; max-width: calc(100% - 120px); padding-top: 28px; padding-right: 0; border-right-width: 0; }
.rvd-of .wpsf-form [data-field-id="b4_privacy"] > label:first-child { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.rvd-of .wpsf-form [data-field-id="b4_privacy"] .wpsf-option { display: flex; margin: 0; align-items: flex-start; gap: 12px; min-height: 0; padding: 0; border: 0; background: none; font-size: 15px; font-weight: 400; line-height: 1.5; color: var(--e-global-color-text); }
.rvd-of .wpsf-form [data-field-id="b4_privacy"] .wpsf-option:has(input:focus-visible) { box-shadow: none; }
.rvd-of .wpsf-form [data-field-id="b4_privacy"] .wpsf-option input { width: 22px; height: 22px; margin-top: 1px; border-radius: 4px; background: var(--e-global-color-10d2e9b) center / 14px no-repeat; }
.rvd-of .wpsf-form [data-field-id="b4_privacy"] .wpsf-option input:checked { box-shadow: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E"); }
.rvd-of .wpsf-form [data-field-id="b4_privacy"] .wpsf-option input:focus-visible { box-shadow: 0 0 0 3px rgba(155, 0, 0, .2); }
.rvd-of .wpsf-form [data-field-id="b4_privacy"] .wpsf-field-error-msg { position: absolute; top: 100%; left: var(--rvd-of-x); z-index: 1; white-space: nowrap; }
.rvd-of .wpsf-form [data-field-id="b4_privacy_link"] { flex: 1 1 0; min-width: 0; padding-top: 28px; padding-left: 4px; border-left-width: 0; font-size: 15px; line-height: 1.5; }
.rvd-of .wpsf-form [data-field-id="b4_privacy_link"] a { color: var(--e-global-color-f8fa775); text-decoration: underline; text-underline-offset: 3px; }
.rvd-of .rvd-req { color: var(--e-global-color-accent); }
/* the button: the house button with the sweep and the arrow square (6.css .btn.anim) */
.rvd-of .wpsf-form .wpsf-submit { position: relative; overflow: hidden; isolation: isolate; display: inline-flex; align-items: center; gap: 26px; height: 52px; margin: 0; padding: 3px 3px 3px 26px; border: 0; border-radius: 6px; background-color: var(--e-global-color-accent); color: var(--e-global-color-10d2e9b); font-family: var(--e-global-typography-accent-font-family), sans-serif; font-size: 16px; font-weight: 500; line-height: 1; white-space: nowrap; cursor: pointer; transition: transform .15s ease; }
.rvd-of .wpsf-form .wpsf-submit::after { content: ""; width: 46px; height: 46px; flex: none; border-radius: 4px; background: var(--e-global-color-10d2e9b) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230E1A2E' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12h16M14 6l6 6-6 6'/%3E%3C/svg%3E") center / 20px no-repeat; }
.rvd-of .wpsf-form .wpsf-submit::before { content: ""; position: absolute; inset: 0; z-index: -1; background-color: var(--e-global-color-primary); transform: scaleX(0); transform-origin: left center; transition: transform .45s var(--rvd-ease); }
.rvd-of .wpsf-form .wpsf-submit:hover, .rvd-of .wpsf-form .wpsf-submit:focus-visible { background-color: var(--e-global-color-accent); }
.rvd-of .wpsf-form .wpsf-submit:hover::before, .rvd-of .wpsf-form .wpsf-submit:focus-visible::before { transform: scaleX(1); }
.rvd-of .wpsf-form .wpsf-submit:hover::after { animation: rvd-of-pijl .6s var(--rvd-ease); }
.rvd-of .wpsf-form .wpsf-submit:active { transform: scale(.97); }
.rvd-of .wpsf-form .wpsf-submit:disabled { opacity: .7; cursor: progress; }
@keyframes rvd-of-pijl { 0% { background-position: center; } 45% { background-position: 46px center; } 46% { background-position: -26px center; } 100% { background-position: center; } }
/* field errors, the error box, the thank-you */
.rvd-of .wpsf-form .wpsf-field-error-msg { margin-top: 6px; font-size: 14px; line-height: 1.4; color: var(--e-global-color-accent); }
.rvd-of .wpsf-form .wpsf-field--error :is(input[type="text"], input[type="tel"], input[type="email"], textarea) { border-color: var(--e-global-color-accent); }
.rvd-of .wpsf-form .wpsf-field--error .wpsf-option input { border-color: var(--e-global-color-accent); }
.rvd-of .wpsf-error { margin-top: 16px; padding: 14px 18px; border: 1px solid rgba(155, 0, 0, .25); border-radius: 6px; background-color: var(--rvd-of-roze); font-size: 15px; line-height: 1.5; color: var(--e-global-color-accent); }
.rvd-of .wpsf-success { padding: 40px var(--rvd-of-x); border: 1px solid var(--e-global-color-rvdline); border-radius: 10px; background-color: var(--e-global-color-10d2e9b); font-family: var(--e-global-typography-primary-font-family), sans-serif; font-size: 22px; font-weight: 700; line-height: 1.4; color: var(--e-global-color-f8fa775); }
.rvd-of .wpsf-success:focus { outline: none; }
@media (max-width: 767px) {   /* 6.css @media 640 */
	.rvd-of { --rvd-of-x: 20px; }
	.rvd-of .wpsf-form [data-field-id$="_kop"] { padding: 28px var(--rvd-of-x) 20px; }
	.rvd-of .wpsf-form [data-field-id$="_eind"] { padding-top: 28px; }
	.rvd-of .wpsf-form .wpsf-submit-row { padding-bottom: 28px; }
	.rvd-of .rvd-of-kop h2 { font-size: 22px; }
	.rvd-of .wpsf-form :is([data-field-id="b4_telefoon"], [data-field-id="b4_email"], [data-field-id="b4_postcode"], [data-field-id="b4_plaats"]) { padding-top: 16px; }
	.rvd-of .wpsf-form .wpsf-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
	.rvd-of .wpsf-form .wpsf-card-box { flex-direction: column; align-items: flex-start; gap: 12px; font-size: 15px; }
	.rvd-of .wpsf-form .wpsf-card-box::before { width: 44px; height: 44px; }
	.rvd-of .wpsf-form .wpsf-card-box::after { left: 21px; top: 21px; width: 26px; height: 26px; margin-top: 0; }
	.rvd-of .wpsf-form .wpsf-option { min-height: 44px; }
	.rvd-of .wpsf-form :is([data-field-id="b2_plat_m2"], [data-field-id="b2_overk"]) input { max-width: none; }
	.rvd-of .wpsf-form [data-field-id="b4_privacy"] { max-width: calc(100% - 100px); }
	.rvd-of .wpsf-form .wpsf-submit { width: 100%; justify-content: space-between; }
}
@media (max-width: 560px) {   /* Forms puts every field on its own line here: the two side-by-side pairs get both edges back */
	.rvd-of .wpsf-form :is([data-field-id="b4_telefoon"], [data-field-id="b4_email"], [data-field-id="b4_postcode"], [data-field-id="b4_plaats"]) { padding-left: var(--rvd-of-x); padding-right: var(--rvd-of-x); border-left-width: 1px; border-right-width: 1px; }
}

/* ── slim hero (sync_hero_slim) ── */
.rvd-crumb-a a:hover { color: var(--e-global-color-10d2e9b); }

@media (max-width: 767px) {
	.rvd-tbar .rvd-sl { padding-left: 0; }
	.rvd-tbar .rvd-sl::before { display: none; }
	.rvd-tbar .rvd-push { margin-left: 0; }
	.rvd-tbar .rvd-tsoc { margin-left: auto; }
}
@media (prefers-reduced-motion: reduce) {
	.elementor-widget-button.rvd-anim a.elementor-button::before, .elementor-widget-button .elementor-button-icon svg, .rvd-wa.e-con::after, .rvd-wa .elementor-icon svg { transition: none; animation: none; }
}/* End custom CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'Rethink Sans';
	font-style: normal;
	font-weight: 400 800;
	font-display: auto;
	src: url('https://rvd-dakbedekking.inthedemo.com/wp-content/uploads/2026/10/rethink-sans.woff2') format('woff2');
}
/* End Custom Fonts CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'Onest';
	font-style: normal;
	font-weight: 100 900;
	font-display: auto;
	src: url('https://rvd-dakbedekking.inthedemo.com/wp-content/uploads/2026/10/onest.woff2') format('woff2');
}
/* End Custom Fonts CSS */