function isMobile() {
    return "small" == breakpoint.value || "xsmall" == breakpoint.value
}

function fireEvent(e, t) {
    var n = e;
    if (document.createEvent) {
        var a = document.createEvent("MouseEvents");
        a.initEvent(t, !0, !1), n.dispatchEvent(a)
    } else if (document.createEventObject) {
        var a = document.createEventObject();
        n.fireEvent("on" + t, a)
    }
}

function insertAfter(e, t) {
    var n = t.parentNode;
    n.lastchild == t ? n.appendChild(e) : n.insertBefore(e, t.nextSibling)
}

function removeElement(e) {
    var t = e.parentNode;
    t.removeChild(e)
}

function toggleClass(e, t) {
    if (e && t) {
        var n = e.className,
            a = n.indexOf(t);
        a == -1 ? n += " " + t : n = n.substr(0, a) + n.substr(a + t.length), e.className = n
    }
}

function isNumeric(e) {
    return !isNaN(parseFloat(e)) && isFinite(e)
}

function wrap(e, t) {
    var n = e.parentNode,
        a = e.nextSibling;
    t.appendChild(e), a ? n.insertBefore(t, a) : n.appendChild(t)
}

function addClass(e, t) {
    e.classList ? e.classList.add(t) : e.className += " " + t
}

function hasClass(e, t) {
    return e.classList ? e.classList.contains(t) : new RegExp("(^| )" + t + "( |$)", "gi").test(e.className)
}

function removeClass(e, t) {
    e.classList ? e.classList.remove(t) : e.className = e.className.replace(new RegExp("(^|\\b)" + t.split(" ").join("|") + "(\\b|$)", "gi"), " ")
}

function stripTags(e) {
    var t = document.createElement("DIV");
    return t.innerHTML = e, t.textContent || t.innerText
}

function uniqueId() {
    var e = 32,
        t = (Math.floor(25 * Math.random()) + 10).toString(36) + "_";
    t += (new Date).getTime().toString(36) + "_";
    do t += Math.floor(35 * Math.random()).toString(36); while (t.length < e);
    return t
}

function scrollTo(e, t, n, a) {
    if (!(n < 0)) {
        var i = t - e.scrollTop,
            o = i / n * 10;
        setTimeout(function() {
            e.scrollTop === t || n <= 0 ? a() : (e.scrollTop = e.scrollTop + o, scrollTo(e, t, n - 10, a))
        }, 10)
    }
}

function randomIntFromInterval(e, t) {
    return Math.floor(Math.random() * (t - e + 1) + e)
}

function jsonToQueryString(e, t) {
    return (t ? "?" : "&") + Object.keys(e).map(function(t) {
        return encodeURIComponent(t) + "=" + encodeURIComponent(e[t])
    }).join("&")
}! function(e, t, n) {
    function a(e, t) {
        return typeof e === t
    }

    function i() {
        var e, t, n, i, o, s, r;
        for (var l in b)
            if (b.hasOwnProperty(l)) {
                if (e = [], t = b[l], t.name && (e.push(t.name.toLowerCase()), t.options && t.options.aliases && t.options.aliases.length))
                    for (n = 0; n < t.options.aliases.length; n++) e.push(t.options.aliases[n].toLowerCase());
                for (i = a(t.fn, "function") ? t.fn() : t.fn, o = 0; o < e.length; o++) s = e[o], r = s.split("."), 1 === r.length ? _[r[0]] = i : (!_[r[0]] || _[r[0]] instanceof Boolean || (_[r[0]] = new Boolean(_[r[0]])), _[r[0]][r[1]] = i), g.push((i ? "" : "no-") + r.join("-"))
            }
    }

    function o(e) {
        var t = A.className,
            n = _._config.classPrefix || "";
        if (q && (t = t.baseVal), _._config.enableJSClass) {
            var a = new RegExp("(^|\\s)" + n + "no-js(\\s|$)");
            t = t.replace(a, "$1" + n + "js$2")
        }
        _._config.enableClasses && (t += " " + n + e.join(" " + n), q ? A.className.baseVal = t : A.className = t)
    }

    function s(e) {
        return e.replace(/([a-z])-([a-z])/g, function(e, t, n) {
            return t + n.toUpperCase()
        }).replace(/^-/, "")
    }

    function r(e, t) {
        return !!~("" + e).indexOf(t)
    }

    function l() {
        return "function" != typeof t.createElement ? t.createElement(arguments[0]) : q ? t.createElementNS.call(t, "http://www.w3.org/2000/svg", arguments[0]) : t.createElement.apply(t, arguments)
    }

    function c(e, t) {
        return function() {
            return e.apply(t, arguments)
        }
    }

    function u(e, t, n) {
        var i;
        for (var o in e)
            if (e[o] in t) return n === !1 ? e[o] : (i = t[e[o]], a(i, "function") ? c(i, n || t) : i);
        return !1
    }

    function f(e) {
        return e.replace(/([A-Z])/g, function(e, t) {
            return "-" + t.toLowerCase()
        }).replace(/^ms-/, "-ms-")
    }

    function d() {
        var e = t.body;
        return e || (e = l(q ? "svg" : "body"), e.fake = !0), e
    }

    function p(e, n, a, i) {
        var o, s, r, c, u = "modernizr",
            f = l("div"),
            p = d();
        if (parseInt(a, 10))
            for (; a--;) r = l("div"), r.id = i ? i[a] : u + (a + 1), f.appendChild(r);
        return o = l("style"), o.type = "text/css", o.id = "s" + u, (p.fake ? p : f).appendChild(o), p.appendChild(f), o.styleSheet ? o.styleSheet.cssText = e : o.appendChild(t.createTextNode(e)), f.id = u, p.fake && (p.style.background = "", p.style.overflow = "hidden", c = A.style.overflow, A.style.overflow = "hidden", A.appendChild(p)), s = n(f, e), p.fake ? (p.parentNode.removeChild(p), A.style.overflow = c, A.offsetHeight) : f.parentNode.removeChild(f), !!s
    }

    function h(t, a) {
        var i = t.length;
        if ("CSS" in e && "supports" in e.CSS) {
            for (; i--;)
                if (e.CSS.supports(f(t[i]), a)) return !0;
            return !1
        }
        if ("CSSSupportsRule" in e) {
            for (var o = []; i--;) o.push("(" + f(t[i]) + ":" + a + ")");
            return o = o.join(" or "), p("@supports (" + o + ") { #modernizr { position: absolute; } }", function(e) {
                return "absolute" == getComputedStyle(e, null).position
            })
        }
        return n
    }

    function m(e, t, i, o) {
        function c() {
            f && (delete E.style, delete E.modElem)
        }
        if (o = !a(o, "undefined") && o, !a(i, "undefined")) {
            var u = h(e, i);
            if (!a(u, "undefined")) return u
        }
        for (var f, d, p, m, v, w = ["modernizr", "tspan"]; !E.style;) f = !0, E.modElem = l(w.shift()), E.style = E.modElem.style;
        for (p = e.length, d = 0; p > d; d++)
            if (m = e[d], v = E.style[m], r(m, "-") && (m = s(m)), E.style[m] !== n) {
                if (o || a(i, "undefined")) return c(), "pfx" != t || m;
                try {
                    E.style[m] = i
                } catch (e) {}
                if (E.style[m] != v) return c(), "pfx" != t || m
            }
        return c(), !1
    }

    function v(e, t, n, i, o) {
        var s = e.charAt(0).toUpperCase() + e.slice(1),
            r = (e + " " + j.join(s + " ") + s).split(" ");
        return a(t, "string") || a(t, "undefined") ? m(r, t, i, o) : (r = (e + " " + k.join(s + " ") + s).split(" "), u(r, t, n))
    }

    function w(e, t, a) {
        return v(e, n, n, t, a)
    }
    var g = [],
        b = [],
        y = {
            _version: "3.3.1",
            _config: {
                classPrefix: "",
                enableClasses: !0,
                enableJSClass: !0,
                usePrefixes: !0
            },
            _q: [],
            on: function(e, t) {
                var n = this;
                setTimeout(function() {
                    t(n[e])
                }, 0)
            },
            addTest: function(e, t, n) {
                b.push({
                    name: e,
                    fn: t,
                    options: n
                })
            },
            addAsyncTest: function(e) {
                b.push({
                    name: null,
                    fn: e
                })
            }
        },
        _ = function() {};
    _.prototype = y, _ = new _;
    var A = t.documentElement,
        q = "svg" === A.nodeName.toLowerCase(),
        C = "Moz O ms Webkit",
        j = y._config.usePrefixes ? C.split(" ") : [];
    y._cssomPrefixes = j;
    var $ = function(t) {
        var a, i = prefixes.length,
            o = e.CSSRule;
        if ("undefined" == typeof o) return n;
        if (!t) return !1;
        if (t = t.replace(/^@/, ""), a = t.replace(/-/g, "_").toUpperCase() + "_RULE", a in o) return "@" + t;
        for (var s = 0; i > s; s++) {
            var r = prefixes[s],
                l = r.toUpperCase() + "_" + a;
            if (l in o) return "@-" + r.toLowerCase() + "-" + t
        }
        return !1
    };
    y.atRule = $;
    var k = y._config.usePrefixes ? C.toLowerCase().split(" ") : [];
    y._domPrefixes = k;
    var x = {
        elem: l("modernizr")
    };
    _._q.push(function() {
        delete x.elem
    });
    var E = {
        style: x.elem.style
    };
    _._q.unshift(function() {
        delete E.style
    }), y.testAllProps = v, y.testAllProps = w, _.addTest("bgsizecover", w("backgroundSize", "cover")), _.addTest("flexbox", w("flexBasis", "1px", !0));
    var S = y.prefixed = function(e, t, n) {
        return 0 === e.indexOf("@") ? $(e) : (-1 != e.indexOf("-") && (e = s(e)), t ? v(e, t, n) : v(e, "pfx"))
    };
    _.addTest("objectfit", !!S("objectFit"), {
        aliases: ["object-fit"]
    }), i(), o(g), delete y.addTest, delete y.addAsyncTest;
    for (var T = 0; T < _._q.length; T++) _._q[T]();
    e.Modernizr = _
}(window, document);
var reqAnimationFrame = window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || window.msRequestAnimationFrame || window.oRequestAnimationFrame || function(e) {
        e()
    },
    vl = {};
breakpoint = {}, breakpoint.refreshValue,
    function() {
        breakpoint.value = window.getComputedStyle(document.querySelector("body"), ":before").getPropertyValue("content").replace(/\"/g, ""), breakpoint.refreshValue = function() {
            this.value = window.getComputedStyle(document.querySelector("body"), ":before").getPropertyValue("content").replace(/\"/g, "")
        }, window.addEventListener("resize", function() {
            breakpoint.refreshValue()
        })
    }(), Array.prototype.forEach || (Array.prototype.forEach = function(e, t) {
        var n, a;
        if (null == this) throw new TypeError(" this is null or not defined");
        var i = Object(this),
            o = i.length >>> 0;
        if ("function" != typeof e) throw new TypeError(e + " is not a function");
        for (arguments.length > 1 && (n = t), a = 0; a < o;) {
            var s;
            a in i && (s = i[a], e.call(n, s, a, i)), a++
        }
    }), this.Element && function(e) {
        e.matches = e.matches || e.matchesSelector || e.webkitMatchesSelector || e.msMatchesSelector || function(e) {
            for (var t = this, n = (t.parentNode || t.document).querySelectorAll(e), a = -1; n[++a] && n[a] != t;);
            return !!n[a]
        }
    }(Element.prototype), this.Element && function(e) {
        e.closest = e.closest || function(e) {
            for (var t = this; t.matches && !t.matches(e);) t = t.parentNode;
            return t.matches ? t : null
        }
    }(Element.prototype),
    function() {
        for (var e = 0, t = ["webkit", "moz"], n = 0; n < t.length && !window.requestAnimationFrame; ++n) window.requestAnimationFrame = window[t[n] + "RequestAnimationFrame"], window.cancelAnimationFrame = window[t[n] + "CancelAnimationFrame"] || window[t[n] + "CancelRequestAnimationFrame"];
        window.requestAnimationFrame || (window.requestAnimationFrame = function(t, n) {
            var a = (new Date).getTime(),
                i = Math.max(0, 16 - (a - e)),
                o = window.setTimeout(function() {
                    t(a + i)
                }, i);
            return e = a + i, o
        }), window.cancelAnimationFrame || (window.cancelAnimationFrame = function(e) {
            clearTimeout(e)
        })
    }(), Array.prototype.map || (Array.prototype.map = function(e) {
        "use strict";
        if (void 0 === this || null === this) throw new TypeError;
        var t = Object(this),
            n = t.length >>> 0;
        if ("function" != typeof e) throw new TypeError;
        for (var a = new Array(n), i = arguments.length >= 2 ? arguments[1] : void 0, o = 0; o < n; o++) o in t && (a[o] = e.call(i, t[o], o, t));
        return a
    }), Math.trunc = Math.trunc || function(e) {
        return e < 0 ? Math.ceil(e) : Math.floor(e)
    };
var getParents = function(e, t) {
        var n, a = [];
        for (t && (n = t.charAt(0)); e && e !== document; e = e.parentNode) t ? ("." === n && e.classList.contains(t.substr(1)) && a.push(e), "#" === n && e.id === t.substr(1) && a.push(e), "[" === n && e.hasAttribute(t.substr(1, t.length - 1)) && a.push(e), e.tagName.toLowerCase() === t && a.push(e)) : a.push(e);
        return 0 === a.length ? null : a
    },
    getParentsUntil = function(e, t, n) {
        var a = [];
        if (t) var i = t.charAt(0);
        if (n) var o = n.charAt(0);
        for (; e && e !== document; e = e.parentNode) {
            if (t) {
                if ("." === i && e.classList.contains(t.substr(1))) break;
                if ("#" === i && e.id === t.substr(1)) break;
                if ("[" === i && e.hasAttribute(t.substr(1, t.length - 1))) break;
                if (e.tagName.toLowerCase() === t) break
            }
            n ? ("." === o && e.classList.contains(n.substr(1)) && a.push(e), "#" === o && e.id === n.substr(1) && a.push(e), "[" === o && e.hasAttribute(n.substr(1, n.length - 1)) && a.push(e), e.tagName.toLowerCase() === n && a.push(e)) : a.push(e)
        }
        return 0 === a.length ? null : a
    },
    getJSON = function(e, t) {
        var n = new XMLHttpRequest;
        n.open("get", e, !0), n.responseType = "json", n.onload = function() {
            var e = n.status;
            200 == e ? t(null, n.response) : t(e)
        }, n.send()
    },
    extend = function() {
        var e = {};
        for (key in arguments) {
            var t = arguments[key];
            for (prop in t) Object.prototype.hasOwnProperty.call(t, prop) && (e[prop] = t[prop])
        }
        return e
    };
hw = {}, hw.initiateAll,
    function() {
        function e(e, t) {
            function n(e, t, n) {
                var a = $("<div/>", {
                    class: n ? "hw-faq__group js-hw-faq-group-" + n.tag : "hw-faq__group"
                });
                if (n) {
                    var i = $("<h4/>", {
                        class: "hw-faq__group__title",
                        text: n.title,
                        id: "hw-faq-" + n.tag,
                        "aria-label": 'Vragen over "' + n.title + '"',
                        tabindex: 0
                    });
                    i.appendTo(a)
                }
                for (var o = $("<ul/>", {
                        class: "hw-faq__group__list"
                    }), s = 0; s < t.length; s++) {
                    var r = t[s],
                        l = $("<a/>", {
                            class: "hw-faq__question",
                            href: "javascript:;",
                            text: r.question,
                            "aria-label": 'Open de vraag "' + r.question + '"'
                        }).data("question", r).data("tag", n),
                        c = $("<li/>", {
                            class: "hw-faq__list-item"
                        }).append(l);
                    c.appendTo(o)
                }
                o.appendTo(a), a.appendTo(e), $(".js-hw-faq-slider").first().hide()
            }
            var a = [];
            $widget = e, $positioner = $widget.parent(".hw__positioner"), $widget.openFAQAt = function(e) {
                $widget.addClass("hw--open"), $(".js-hw-faq .js-accordion-panel__toggle", $widget).trigger("click"), $(".js-hw-faq .js-hw-faq-slider__back", $widget).trigger("click"), $(".js-hw-faq-group-" + e + " .hw-faq__group__title", $widget).first().focus(), location.hash = "#hw-faq-" + e
            }, $widget.openFirstFAQ = function(e) {
                $widget.addClass("hw--open"), $(".js-hw-faq .js-accordion-panel__toggle", $widget).trigger("click"), $(".js-hw-faq-group-" + e + " .hw-faq__question", $widget).first().trigger("click")
            }, $widget.on("click", ".js-hw__toggle", function() {
                $widget.hasClass("hw--open") ? $widget.removeClass("hw--open") : $widget.addClass("hw--open").focus()
            }), $(".js-hw-faq", $widget).each(function() {
                function e(e, t) {
                    var n = $(a[e]).data("question"),
                        i = $(a[e]).data("tag"),
                        o = l.clone();
                    if (o.find(".js-template-hw-faq-slider__slide__question").html(n.question).removeClass("js-template-hw-faq-slider__slide__question"), o.find(".js-template-hw-faq-slider__slide__answer").html(n.answer).removeClass("js-template-hw-faq-slider__slide__answer"), null !== i) {
                        var s = o.find(".js-template-hw-faq-slider__slide__footer__text__link").append(i.title).removeClass("slider__slide__footer__text");
                        s.on("click", function() {
                            $widget.openFAQAt(i.tag)
                        })
                    } else o.find(".js-template-hw-faq-slider__slide__footer").remove();
                    f.append(o), f.show().addClass("hw-faq-slider--visible"), f.find(".hw-faq__slide__question  ").focus(), u = e;
                    var r = "-50px";
                    t && (r = "50px"), o.css("marginLeft", r), o.addClass("hw-faq-slider__slide--sliding"), o.animate({
                        marginLeft: "0px"
                    }, function() {
                        c && c.remove(), c = o, o.removeClass("hw-faq-slider__slide--sliding")
                    })
                }

                function o() {
                    f.hide().removeClass("hw-faq-slider"), c && c.remove(), c = null, $(".js-hw-faq .js-accordion-panel__toggle").focus()
                }

                function s(e) {
                    i;
                    "/" !== e.substring(0, 1) && (e = "/" + e);
                    var t = e;
                    return $.getJSON(t)
                }
                var r = $(this),
                    l = ($(".js-hw-faq-list", r), $(".js-template-hw-faq-slider__slide", r).first().clone().removeClass("js-template-hw-faq-slider__slide")),
                    c = null,
                    u = 0,
                    f = $(".js-hw-faq-slider", r).first();
                $(".js-template-hw-faq-slider__slide", r).first().remove(), $(".js-hw-faq-slider__back", f).on("click", function() {
                    o()
                }), $(".js-hw-faq-slider__previous", f).on("click", function() {
                    var t = u - 1 < 0 ? a.length - 1 : u - 1;
                    e(t, !1)
                }), $(".js-hw-faq-slider__next", f).on("click", function() {
                    var t = u + 1 > a.length - 1 ? 0 : u + 1;
                    e(t, !0)
                }), $(".js-hw-faq-list", r).on("click", ".hw-faq__question", function() {
                    var t = a.index($(this));
                    e(t, !0)
                });
                var d = [],
                    p = [],
                    h = t.split(" "),
                    m = [];
                for (i = 0; i < h.length; i++) m.push(s(h[i]));
                $.when.apply($, m).done(function() {
                    1 == h.length && (arguments = [arguments]);
                    for (var e = 0, t = arguments.length; e < t; e++) $.merge(d, arguments[e][0].questions), $.merge(p, arguments[e][0].tags);
                    var i = $.grep(d, function(e) {
                        return 0 == e.tags.length
                    });
                    n($(".js-hw-faq-list", r), i, !1);
                    for (var e = 0; e < p.length; e++) {
                        var o = p[e],
                            i = $.grep(d, function(e) {
                                return $.inArray(o.tag, e.tags) >= 0
                            });
                        n($(".js-hw-faq-list", r), i, o)
                    }
                    a = $(".hw-faq__question", r)
                }), $(".js-auth-method__info").on("click", function(e) {
                    e.preventDefault(), $widget.openFAQAt($(this).data("tag"))
                })
            }), $(".js-accordion", $widget).each(function() {
                var e = $(this);
                $(".js-accordion-panel__toggle", e).on("click", function() {
                    var t = $(this).closest(".js-accordion-panel");
                    if ($(".hw-accordion-panel__content", t).focus(), !t.hasClass(".js-accordion-panel--open")) {
                        var n = function(e, t) {
                            $("> .js-accordion-panel--open", e).removeClass("js-accordion-panel--open"), t.addClass("js-accordion-panel--open")
                        };
                        reqAnimationFrame(function() {
                            n(e, t)
                        })
                    }
                }), $("> .js-accordion-panel--default-open", e).first().find(".js-accordion-panel__toggle").trigger("click"), isMobile() || $("> .js-accordion-panel--default-open-desktop", e).first().find(".js-accordion-panel__toggle").trigger("click")
            })
        }
        hw.initiateAll = function() {
            $(".hw").each(function() {
                e($(this), $(this).data("faq-files"))
            })
        }
    }(jQuery);
var sticky = {};
sticky.initiateAll,
    function() {
        function e(e) {
            t(e);
            var n = document.createElement("div");
            addClass(n, "js-sticky-placeholder"), wrap(e, n), n.style.height = n.offsetHeight + "px"
        }

        function t(e) {
            removeClass(e, l), removeClass(e, r), e.style.top = "auto", e.style.bottom = "auto", e.style.left = "auto", e.style.width = "auto";
            var t = e.getBoundingClientRect(),
                n = t.top + window.pageYOffset;
            e.setAttribute("data-original-top", n);
            var a = t.left + window.pageXOffset;
            e.setAttribute("data-original-left", a), e.setAttribute("data-original-width", t.width);
            var i = $(e).closest(".layout, .region")[0];
            e.setAttribute("data-max-y", i.getBoundingClientRect().bottom + window.pageYOffset)
        }

        function n(e, t, n) {
            e.parentElement;
            if (n + t >= e.getAttribute("data-original-top")) {
                var a = e.offsetHeight;
                e.getAttribute("data-max-y") > a && e.getAttribute("data-max-y") - n - t < a ? (hasClass(e, r) || (e.style.top = "auto", e.style.bottom = parseInt(e.getAttribute("data-original-top")) + a - e.getAttribute("data-max-y") + "px", e.style.left = "0px", e.style.width = "100%"), addClass(e, r), removeClass(e, l)) : hasClass(e, l) || (addClass(e, l), removeClass(e, r), e.style.top = t + "px", e.style.bottom = "auto", e.style.left = e.getAttribute("data-original-left") + "px", e.style.width = e.getAttribute("data-original-width") + "px")
            } else(hasClass(e, r) || hasClass(e, l)) && (removeClass(e, l), removeClass(e, r), e.style.top = "auto", e.style.bottom = "auto", e.style.left = "auto", e.style.width = "auto")
        }

        function a() {
            d = !0, [].forEach.call(c, function(e) {
                t(e), i()
            })
        }

        function i() {
            u = window.pageYOffset, o()
        }

        function o() {
            f || requestAnimationFrame(s), f = !0
        }

        function s() {
            f = !1;
            var e = u,
                t = 75;
            [].forEach.call(c, function(a) {
                a.hasAttribute("data-sticky-offset-top") && isNumeric(a.getAttribute("data-sticky-offset-top")) && (t = parseInt(a.getAttribute("data-sticky-offset-top"))), n(a, t, e)
            })
        }
        var r = "js-sticky--absolute",
            l = "js-sticky--fixed",
            c = document.getElementsByClassName("js-sticky"),
            u = 0,
            f = !1,
            d = !0;
        sticky.initiateAll = function() {
            "small" != breakpoint.value && "xsmall" != breakpoint.value && ([].forEach.call(c, function(t) {
                e(t)
            }), window.addEventListener("scroll", i, !1), window.addEventListener("resize", p, !1), i())
        };
        var p = function() {
            d && requestAnimationFrame(a), d = !1
        }
    }();
var showOverlay;
! function(e) {
    function t(t) {
        e("body > .page").removeClass("has-overlay");
        var n = e("#" + t);
        n.fadeOut(function() {
            e(this).removeClass("overlay--visible")
        }), n.unbind("keyup")
    }
    showOverlay = function(n, a, i, s) {
        function o() {
            clearTimeout(c), a instanceof Function ? a() : t(n)
        }

        function r() {
            clearTimeout(c);
            if (s instanceof Function) {
                t(n);
                s();
            } else {
                t(n);
            }
            t(n);
        }
        i = i || 5e3, s = s || null, e("body > .page").addClass("has-overlay");
        var l = e("#" + n);
        l.fadeIn(function() {
            e(this).addClass("overlay--visible"), e(this).focus()
        });
        var c = setTimeout(function() {
            a()
        }, i);
        e(".js-skip-loading", l).one("click", function() {
            o()
        }), e(".js-cancel-loading", l).one("click", function() {
            r()
        }), l.keyup(function(e) {
            27 == e.keyCode ? r() : 13 == e.keyCode && o()
        })
    }
}(jQuery), vl.tabs = {}, vl.tabs.dress, vl.tabs.initiateAll,
    function() {
        function e(e) {
            [].forEach.call(e, function(e) {
                e.setAttribute("aria-hidden", !0), e.setAttribute("data-show", !1), e.setAttribute("tabindex", "-1")
            })
        }

        function t(e, t) {
            var n = e.querySelector('[data-tab-pane][aria-labelledby="' + t + '"]');
            n.setAttribute("aria-hidden", "false"), n.setAttribute("data-show", "true"), n.removeAttribute("tabindex")
        }

        function n(e, t, n, a) {
            t.setAttribute("role", "tablist"), [].forEach.call(t.querySelectorAll(".tab"), function(e) {
                e.setAttribute("role", "presentation")
            });
            var i = !1,
                o = 0;
            [].forEach.call(n, function(e) {
                e.setAttribute("role", "tab");
                var t = e.id,
                    n = a[o].id;
                "" == t && (t = "tab" + c + "-" + o, e.setAttribute("id", t)), "" == n && (n = "panel" + c + "-" + o, a[o].setAttribute("id", n)), e.setAttribute("aria-controls", n), e.setAttribute("aria-selected", "false"), e.setAttribute("data-index", o), a[o].setAttribute("id", n), a[o].setAttribute("role", "tabpanel"), a[o].setAttribute("aria-labelledby", t), a[o].setAttribute("aria-hidden", "true"), a[o].setAttribute("data-show", "false");
                var s = e.closest(".tab");
                hasClass(s, "tab--active") && (i = !0, e.setAttribute("aria-selected", "true"), a[o].setAttribute("aria-hidden", "false"), a[o].setAttribute("data-show", "true")), o++, c++
            })
        }
        var a = (document.querySelectorAll("[data-tabs]"), "tab--active"),
            i = "tabs__wrapper",
            o = "tab",
            s = "[data-tabs-list]",
            r = "[data-tab]",
            l = "[data-tab-pane]",
            c = 0;
        vl.tabs.dress = function(c) {
            var u = c.querySelector(s),
                f = c.querySelectorAll(r),
                d = c.querySelectorAll(l),
                p = c.querySelector("." + i);
            if (n(p, u, f, d), [].forEach.call(f, function(n) {
                    n.addEventListener("click", function(i) {
                        if (i.preventDefault(), !hasClass(n.closest("." + o), a)) {
                            window.location = "#" + n.id, [].forEach.call(f, function(e) {
                                var t = e.closest("." + o);
                                hasClass(t, a) && (removeClass(t, a), e.setAttribute("aria-selected", "false"))
                            });
                            var s = n.closest("." + o);
                            addClass(s, a), n.setAttribute("aria-selected", "true"), e(d), t(c, n.id)
                        }
                    }), n.addEventListener("keydown", function(e) {
                        switch (e.keyCode) {
                            case 37:
                            case 38:
                                var t = n.getAttribute("data-index");
                                if (t > 0) {
                                    t--;
                                    var a = u.querySelector('[data-index="' + t + '"]');
                                    a.click()
                                }
                                break;
                            case 39:
                            case 40:
                                var t = n.getAttribute("data-index");
                                if (t < f.length - 1) {
                                    t++;
                                    var a = u.querySelector('[data-index="' + t++ + '"]');
                                    a.click()
                                }
                        }
                    })
                }), c.hasAttribute("data-active")) {
                var h = c.querySelector("#" + c.getAttribute("data-active"));
                null !== h ? h.click() : console.warn("data-active attribute doesn't match an ID selector in the list of tabs.")
            }
        }, vl.tabs.initiateAll = function() {
            [].forEach.call(document.querySelectorAll("[data-tabs]"), function(e) {
                vl.tabs.dress(e)
            })
        }
    }();
var eh = {};
eh.initiateAll, eh.refresh,
    function() {
        function e(e) {
            var t = e.getElementsByClassName("js-equal-height"),
                n = [].slice.call(t),
                a = Math.max.apply(Math, n.map(function(e, t) {
                    return e.offsetHeight
                }));
            a++, n.forEach(function(e, t, n) {
                e.hasAttribute("data-equal-height") && "height" == e.getAttribute("data-equal-height") ? e.style.height = a + "px" : e.style.minHeight = a + "px"
            })
        }

        function t(e) {
            var t = e.getElementsByClassName("js-equal-height"),
                n = [].slice.call(t);
            n.map(function(e, t) {
                e.style.minHeight = "", e.style.height = ""
            })
        }
        var n = !0;
        eh.initiateAll = function() {
            n = !0;
            var t = document.getElementsByClassName("js-equal-height-container");
            [].forEach.call(t, function(t) {
                e(t)
            })
        }, eh.resetAll = function() {
            var e = document.getElementsByClassName("js-equal-height-container");
            [].forEach.call(e, function(e) {
                t(e)
            })
        }, eh.refresh = function() {
            n && (requestAnimationFrame(eh.resetAll), requestAnimationFrame(eh.initiateAll)), n = !1
        }, window.addEventListener("load", function() {
            if ($("#template").length) {
                render('template', 'body', getCookie('vo-taalkeuze'));
            } else {
                initACM();
            }

            if (inIframe() || inPopup()) debrand();
            window.addEventListener("resize", eh.refresh, !1)
        })
    }(), vl.popups = {}, vl.popups.show,
    function() {
        var e = {},
            t = {};
        $.getJSON("/stb/static/widget/popups.json", function(n) {
            e = n.defaults, t = n.popups
        }), vl.popups.show = function(n, a) {
            if (!t.hasOwnProperty(n)) return void console.error('The key "' + n + ' " has no matching popup window. Abborting action.');
            var i = extend(e, t[n]);
            i.center && (i.specs.left = screen.width / 2 - i.specs.width / 2, i.specs.top = screen.height / 2 - i.specs.height / 2);
            var o = a ? jsonToQueryString(a, !i.url.match(/\?./)) : "",
                s = [];
            for (n in i.specs) Object.prototype.hasOwnProperty.call(i.specs, n) && s.push(n + "=" + i.specs[n]);
            window.open(i.url + o, i.target, s.join(","))
        }
    }();
var initACM = function() {
    sticky.initiateAll(), vl.tabs.initiateAll(), eh.initiateAll(), $(window).on("load", function() {
        eh.refresh()
    }), hw.initiateAll()
};

function inIframe() {
    try {
        return window.self !== window.top;
    } catch (e) {
        return true;
    }
}

function inPopup() {
    try {
        return (window.opener && window.opener !== window);
    } catch (e) {
        return false;
    }
}