var Typekit = (function (y) {
    var x = {
        ua: function (j) {
            if (j) {
                for (var S = 0; S < this.enabledMatchers.length; S++) {
                    var U = this.enabledMatchers[S][1];
                    if (U.call(null, j)) {
                        var T = this.enabledMatchers[S][0];
                        return {
                            fonts: ( !! T),
                            format: T
                        }
                    }
                }
                return {
                    fonts: false
                }
            }
        }, enabledMatchers: [],
        enable: function (T) {
            this.enabledMatchers = [];
            for (var j = 0; j < this.matchers.length; j++) {
                var U = this.matchers[j];
                for (var S = 0; S < T.length; S++) {
                    if (U[0] == T[S]) {
                        this.enabledMatchers.push([U[1], U[2]]);
                        break
                    }
                }
            }
        }, matchers: [],
        add: function (j, S, i) {
            this.matchers.push([S, j, i])
        }
    };
    var M = {};
    x.add("d", "ff36", function (S) {
        var j = S.match(/rv:(\d+\.\d+)\.(\d+).*Gecko\//);
        if (j) {
            var i = parseFloat(j[1]);
            var T = parseInt(j[2]);
            if (i >= 1.9 && T > 1) {
                return true
            } else {
                return false
            }
        }
    });
    x.add("b", "ff35", function (j) {
        var i = j.match(/rv:1\.9\.1.*Gecko\//);
        if (j.match(/rv:1.9.1b[123]{1}/)) {
            return false
        }
        if (i) {
            return true
        } else {
            return false
        }
    });
    M.isMobileOSX = function (j) {
        var i = j.match(/OS.(\d)_(\d)/);
        if (i) {
            if (i[1] == "3") {
                return parseInt(i[2]) > 0
            } else {
                if (parseInt(i[1]) > 3) {
                    return true
                }
            }
        }
        return false
    };
    x.add("f", "iphone", function (i) {
        if (!i.match(/(iPhone|iPod)/)) {
            return false
        }
        return M.isMobileOSX(i)
    });
    x.add("f", "ipad", function (i) {
        if (!i.match(/iPad/)) {
            return false
        }
        return M.isMobileOSX(i)
    });
    M.isSafari = function (S) {
        if (S.match(/Chrome/)) {
            return false
        }
        if (S.match(/(iPhone|iPad|iPod)/)) {
            return false
        }
        if (S.match(/webOS/)) {
            return false
        }
        if (S.match(/Android/)) {
            return false
        }
        var j = S.match(/AppleWebKit\/(\d+\.\d+)/);
        if (j) {
            var i = j[1];
            return parseFloat(i) >= 525.13
        }
    };
    M.isChrome = function (S) {
        var j;
        if (S.match(/Chrome/)) {
            j = S.match(/Chrome\/(\d+\.\d+)\.(\d+)\.(\d+)/);
            if (j) {
                var i = parseFloat(j[1]);
                var T = parseInt(j[2]);
                var U = parseInt(j[3]);
                if (i > 4) {
                    return true
                } else {
                    if (i == 4 && T > 249) {
                        return true
                    } else {
                        if (i == 4 && T == 249 && U >= 4) {
                            return true
                        } else {
                            return false
                        }
                    }
                }
            }
        }
    };
    x.add("b", "chromewin", function (i) {
        return M.isChrome(i)
    });
    x.add("b", "safari", M.isSafari);
    x.add("c", "ie", function (S) {
        var j = S.match(/MSIE\s(\d+\.\d+)/);
        if (j) {
            var i = j[1];
            return parseFloat(i) >= 6
        }
    });
    var g = (function () {
        var j = document.defaultView || {};
        var T = false;
        var V = false;
        var U = [];

        function i() {
            if (!T) {
                T = true;
                for (var W = 0; W < U.length; W++) {
                    U[W].call(null)
                }
            }
        }
        function S() {
            if (V) {
                return
            }
            V = true;
            if (document.addEventListener) {
                document.addEventListener("DOMContentLoaded", function () {
                    document.removeEventListener("DOMContentLoaded", arguments.callee, false);
                    i()
                }, false)
            } else {
                if (document.attachEvent) {
                    document.attachEvent("onreadystatechange", function () {
                        if (document.readyState === "complete") {
                            document.detachEvent("onreadystatechange", arguments.callee);
                            i()
                        }
                    });
                    if (document.documentElement.doScroll && window == window.top) {
                        (function () {
                            if (T) {
                                return
                            }
                            try {
                                document.documentElement.doScroll("left")
                            } catch (X) {
                                setTimeout(arguments.callee, 0);
                                return
                            }
                            i()
                        })()
                    }
                }
            }
            if (window.onload) {
                var W = window.onload;
                window.onload = function () {
                    W();
                    i()
                }
            } else {
                window.onload = i
            }
        }
        return {
            ready: function (W) {
                S();
                if (T) {
                    W()
                } else {
                    U.push(W)
                }
            }, insertInto: function (X, Y) {
                var W = document.getElementsByTagName(X)[0];
                if (W && W.lastChild) {
                    W.insertBefore(Y, W.lastChild);
                    return true
                } else {
                    return false
                }
            }, createStyleElement: function (W) {
                var X = document.createElement("style");
                X.setAttribute("type", "text/css");
                if (X.styleSheet) {
                    X.styleSheet.cssText = W
                } else {
                    X.appendChild(document.createTextNode(W))
                }
                return X
            }, createCssLink: function (X) {
                var W = document.createElement("link");
                W.setAttribute("rel", "stylesheet");
                W.setAttribute("type", "text/css");
                W.setAttribute("href", X);
                return W
            }, css: function (X, Y) {
                if (j.getComputedStyle) {
                    var W = j.getComputedStyle(X, null);
                    return W ? W.getPropertyValue(Y) : null
                } else {
                    if (X.currentStyle) {
                        return X.currentStyle[Y]
                    }
                }
            }, loadScript: function (aa, Z) {
                var Y = document.getElementsByTagName("head")[0];
                if (Y) {
                    var X = document.createElement("script");
                    X.src = aa;
                    var W = false;
                    X.onload = X.onreadystatechange = function () {
                        if (!W && (!this.readyState || this.readyState == "loaded" || this.readyState == "complete")) {
                            W = true;
                            if (Z) {
                                Z()
                            }
                            X.onload = X.onreadystatechange = null;
                            if (X.parentNode.tagName == "HEAD") {
                                Y.removeChild(X)
                            }
                        }
                    };
                    Y.appendChild(X)
                }
            }, appendClassName: function (Y, W) {
                var X = " " + Y.className + " ";
                if (!X.match("\\s+" + W + "\\s+")) {
                    Y.className = Y.className + " " + W
                }
            }, removeClassName: function (aa, X) {
                var Z = " " + aa.className + " ";
                if (Z.match("\\s+" + X + "\\s+")) {
                    var W = Z.split(/\s+/);
                    var Y = 0;
                    var ab = [];
                    for (Y = 0; Y < W.length; Y++) {
                        if (W[Y] != X && W[Y] != "") {
                            ab.push(W[Y])
                        }
                    }
                    aa.className = ab.join(" ")
                }
            }
        }
    })();

    function A() {
        return "/k"
    }
    function h() {
        return "http://"
    }
    var L = {};
    var q = {};
    var B = {};
    var E = [];
    var d = {};
    var t = {};
    var o = [];
    if (window.tkKitsTracked == undefined) {
        window.tkKitsTracked = 0
    }
    function l(j) {
        for (var i in j) {
            q[i] = j[i]
        }
        e("setOptions", q)
    }
    function c(S) {
        if (S.enabledBrowsers) {
            x.enable(S.enabledBrowsers)
        }
        var j = q.ua;
        if (j) {
            var i = x.ua(j);
            q.fonts = i.fonts;
            q.compatibility = i.format;
            e("detectUA", q.fonts, q.compatibility)
        }
    }
    function e(i) {
        if (q.debug && window.console && window.console.log) {
            window.console.log(arguments)
        }
    }
    function P(i, j) {
        if (!d[i]) {
            d[i] = []
        }
        if (j) {
            d[i].push(j);
            e("addCallback", i, d[i].length, j)
        }
    }
    function r(i) {
        var j = document.getElementsByTagName("html")[0];
        if (j) {
            g.appendClassName(j, i)
        }
    }
    function J(i) {
        var j = document.getElementsByTagName("html")[0];
        if (j) {
            g.removeClassName(j, i)
        }
    }
    function z(j) {
        var i = new Date().getTime();
        P(j, function (S) {
            Q(j).time = (new Date().getTime()) - i
        })
    }
    function D(U, T) {
        e("executeCallbacks", U);
        var S = d[U];
        if (S) {
            for (var j = 0; j < S.length; j++) {
                S[j](T)
            }
        }
    }
    function b(T, i, U, j, S) {
        e("addDataSet", T, i, U, j, S);
        E.push(T);
        B[T] = {
            kitId: T,
            securityToken: i,
            badgeOptions: U,
            kitOptions: j,
            callbackData: S
        };
        B[T].callbackData.kitId = T
    }
    function u(j, i) {
        if (j) {
            e("loading kit", j);
            I(B[j], i)
        } else {
            for (var S in B) {
                e("loading kit", S);
                I(B[S], i)
            }
        }
    }
    function I(i, j) {
        c(i.kitOptions);
        if (i && i.kitId) {
            e("loadKit", i);
            o.push(i);
            m(i.callbackData);
            if (j["kit-initialized"]) {
                j["kit-initialized"](i.callbackData)
            }
            if (q.fonts) {
                z(i.kitId);
                J("wf-inactive");
                r("wf-loading");
                if (j.loading) {
                    j.loading(i.callbackData)
                }
                P(i.kitId, function () {
                    J("wf-loading");
                    r("wf-active");
                    if (j.active) {
                        j.active(i.callbackData)
                    }
                });
                R(i.kitId, i.securityToken, q.compatibility)
            } else {
                J("wf-loading");
                r("wf-inactive");
                if (j.inactive) {
                    j.inactive(i.callbackData)
                }
            }
            if (j["kit-loaded"]) {
                j["kit-loaded"](i.callbackData)
            }
        } else {
            e("loadKit", "data is invalid", i)
        }
    }
    function m(Y) {
        if (Y && Y.fonts) {
            var Z = Y.fonts;
            var W = [];
            for (var V = 0; V < Z.length; V++) {
                var S = Z[V];
                if (S) {
                    var X = Z[V].css_stack;
                    var U = Z[V].css_selectors;
                    if (X && U) {
                        for (var T = 0; T < U.length; T++) {
                            W.push(U[T] + "{font-family:" + X + ";}")
                        }
                    }
                }
            }
            g.insertInto("head", g.createStyleElement(W.join("")))
        }
    }
    function R(T, i, j) {
        var S = h() + q.host + q.root + A() + "/" + T + "-" + j + ".css?" + i;
        e("loadKitStyle", S);
        if (g.insertInto("head", g.createCssLink(S))) {
            n(T)
        }
    }
    function n(U) {
        e("waitForStyleLoaded", U);
        var j = function (X) {
            var i = document.createElement("span");
            i.setAttribute("class", "wf-font-watcher");
            i.setAttribute("style", "position:absolute;left:-999px;font-size:200px;font-family:" + X + ",NONE");
            i.innerHTML = "Mm";
            return i
        };
        var V = function (X, ab) {
            var i = j("NONE");
            var aa = j(W[S].css_stack);
            g.insertInto("html", i);
            g.insertInto("html", aa);
            var Z = i.offsetWidth;
            var Y = function () {
                if (aa.offsetWidth != Z) {
                    ab()
                } else {
                    setTimeout(Y, q.styleLoadIntervalTime)
                }
            };
            Y()
        };
        var W = B[U].callbackData.fonts;
        if (W && W.length > 0) {
            var T = W.length;
            for (var S = 0; S < W.length; S++) {
                V(W[S].css_stack, function () {
                    if (--T == 0) {
                        if (B[U]) {
                            D(U, B[U].callbackData)
                        }
                    }
                })
            }
        } else {
            D(U, B[U].callbackData)
        }
    }
    function Q(j) {
        var i = t[j];
        if (!i) {
            i = t[j] = {
                time: 0
            }
        }
        return i
    }
    function f(j, i) {
        L[j] = i
    }
    function w() {
        if (!q.fonts) {
            return
        }
        for (var T = 0; T < o.length; T++) {
            var S = o[T];
            var V = S.badgeOptions;
            if (V && V.enabled) {
                var U = L["default"];
                if (U) {
                    var j = U(S.kitId, V, q);
                    if (j) {
                        j.setAttribute("id", "typekit-badge-" + S.kitId);
                        g.insertInto("body", j)
                    }
                }
            }
        }
    }
    function p() {
        if (window.tkKitsTracked > 0) {
            return
        }
        for (var S = 0; S < o.length; S++) {
            var j = o[S];
            var T = j.kitOptions;
            if (T && T.ga) {
                if (window._gat) {
                    v()
                } else {
                    var V = h();
                    var U = V.match(/https/) ? "ssl" : "www";
                    g.loadScript(V + U + ".google-analytics.com/ga.js", v)
                }
                break
            }
        }
    }
    function v() {
        try {
            window._gat._getTracker("UA-8850781-3")._trackPageview()
        } catch (i) {}
        window.tkKitsTracked++
    }
    g.ready(w);
    g.ready(p);
    l({
        host: "use.typekit.com",
        root: "",
        assetHost: "use.typekit.com",
        assetRoot: "",
        colophonHost: "typekit.com",
        ua: navigator.userAgent,
        styleLoadIntervalTime: 30,
        bodyWaitIntervalTime: 20,
        debug: false
    });

    function C() {
        return {
            addDataSet: b,
            clearDataSets: function () {
                B = {}
            }, insertBadges: w,
            optionallyCallGoogleAnalytics: p
        }
    }
    function k() {
        return {
            configure: l,
            load: function (i) {
                var S, j;
                if (typeof arguments[0] == "string") {
                    S = arguments[0];
                    j = arguments[1]
                } else {
                    S = null;
                    j = arguments[0]
                }
                u(S, j || {})
            }, stats: Q
        }
    }
    f("default", function (X, V, aa) {
        function Z(ad, ac) {
            var ab = 0,
                ae = 0;
            if (document.documentElement && (document.documentElement[ad] || document.documentElement[ac])) {
                ab = document.documentElement[ad];
                ae = document.documentElement[ac]
            } else {
                if (document.body && (document.body[ad] || document.body[ac])) {
                    ab = document.body[ad];
                    ae = document.body[ac]
                }
            }
            return [ab, ae]
        }
        function U() {
            return Z("clientWidth", "clientHeight")
        }
        function S() {
            return Z("scrollLeft", "scrollTop")
        }
        function T(ad, ac, ab) {
            if (ad.attachEvent) {
                ad["e" + ac + ab] = ab;
                ad[ac + ab] = function () {
                    ad["e" + ac + ab](window.event)
                };
                ad.attachEvent("on" + ac, ad[ac + ab])
            } else {
                ad.addEventListener(ac, ab, false)
            }
        }
        var W = document.createElement("img");
        var j = 62;
        var Y = 25;
        W.setAttribute("width", j);
        W.setAttribute("height", Y);
        W.setAttribute("src", h() + aa.assetHost + aa.assetRoot + "/badges/default.gif");
        W.setAttribute("class", "typekit-badge");
        W.setAttribute("alt", "Fonts by Typekit");
        W.setAttribute("title", "Information about the fonts used on this site");
        W.style.position = "fixed";
        W.style.zIndex = 2000000000;
        W.style.right = 0;
        W.style.bottom = 0;
        W.style.cursor = "pointer";
        W.style.border = 0;
        W.style.content = "normal";
        W.style.display = "inline";
        W.style["float"] = "none";
        W.style.height = Y + "px";
        W.style.left = "auto";
        W.style.margin = 0;
        W.style.maxHeight = Y + "px";
        W.style.maxWidth = j + "px";
        W.style.minHeight = Y + "px";
        W.style.minWidth = j + "px";
        W.style.orphans = 2;
        W.style.outline = "none";
        W.style.overflow = "visible";
        W.style.padding = 0;
        W.style.pageBreakAfter = "auto";
        W.style.pageBreakBefore = "auto";
        W.style.pageBreakInside = "auto";
        W.style.tableLayout = "auto";
        W.style.textIndent = 0;
        W.style.top = "auto";
        W.style.unicodeBidi = "normal";
        W.style.verticalAlign = "baseline";
        W.style.visibility = "visible";
        W.style.widows = 2;
        W.style.width = "65px";
        T(W, "click", function () {
            document.location.href = "http://" + aa.colophonHost + "/colophons/" + X
        });
        if (aa.ua.match(/MSIE\s(\d+\.\d+)/)) {
            W.style.position = "absolute";

            function i() {
                W.style.bottom = "auto";
                W.style.right = "auto";
                W.style.top = (S()[1] + U()[1] - Y) + "px";
                W.style.left = (S()[0] + U()[0] - 3 - j) + "px"
            }
            g.ready(i);
            T(window, "scroll", i);
            T(window, "resize", i)
        }
     /*   return W */ /*pft!*/
    });
    b("rot4uie", "3bb2a6e53c9684ffdc9a9afe1f5b2a62e5d76b099c828680e711f4376c78c49abff6641411f48b56c755b49a0180c43acb7bc31eba857d07592d54cc97fbec2e3aa7925c894c550bf65b261dcc0da942de6154ae08", {
        enabled: true
    }, {
        enabledBrowsers: ["ff36", "ff35", "safari", "chrome", "chromewin", "ie"],
        ga: true
    }, {
        fonts: [{
            css_selectors: [".tk-gesta"],
            css_stack: '"gesta-1","gesta-2",sans-serif',
            font_family_name: '"gesta-1","gesta-2"',
            fvds: ["n3", "i3", "n4", "i4", "n5", "i5", "n7", "i7"]
        }]
    });
    if (window.__webfonttypekitmodule__) {
        for (var G = 0; G < E.length; G++) {
            var s = E[G];
            var a = window.__webfonttypekitmodule__[s];
            if (a) {
                var N = B[s];
                var K = [];
                var O = {};
                for (var F = 0; F < N.callbackData.fonts.length; F++) {
                    var H = N.callbackData.fonts[F];
                    K.push(H.font_family_name);
                    O[H.font_family_name] = H.fvds
                }
                a(function (j, T, S) {
                    l(T.configure || {});
                    u(s, {});
                    var i = q.fonts;
                    S(i, K, O)
                })
            }
        }
    }
    return k()
})();