{"version":3,"sources":["cash.js","tsi2018.js"],"names":["root","factory","define","amd","exports","module","cash","$","this","frag","doc","document","win","window","ArrayProto","Array","prototype","slice","filter","push","noop","isFunction","item","call","isString","idMatch","classMatch","htmlMatch","singlet","find","selector","context","test","getElementsByClassName","getElementsByTagName","querySelectorAll","parseHTML","str","base","implementation","createHTMLDocument","createElement","href","location","head","appendChild","body","innerHTML","childNodes","onReady","fn","readyState","setTimeout","addEventListener","Init","length","elems","i","getElementById","nodeType","splice","map","init","each","collection","callback","l","matches","el","m","webkitMatchesSelector","mozMatchesSelector","msMatchesSelector","oMatchesSelector","getCompareFunction","is","unique","index","self","indexOf","Object","defineProperty","value","extend","target","args","arguments","key","hasOwnProperty","merge","first","second","len","j","isArray","isNumeric","n","isNaN","parseFloat","isFinite","uid","Date","now","getDataCache","node","setData","getData","c","undefined","dataset","attr","data","name","v","removeData","removeAttr","notWhiteMatch","getClasses","match","hasClass","classList","contains","RegExp","className","addClass","add","removeClass","remove","replace","classes","getAttribute","setAttribute","check","prop","removeAttribute","removeProp","toggleClass","state","eq","get","comparator","e","elem","child","parent","children","last","camelRegex","whiteSpace","cache","style","camelCase","letter","getPrefixedProp","ucProp","charAt","toUpperCase","join","split","p","compute","parseInt","getComputedStyle","removeEvent","eventName","events","eventCache","removeEventListener","event","encode","encodeURIComponent","getValue","values","selectedIndex","type","toLowerCase","options","o","selected","insertContent","prepend","insertAdjacentHTML","insertBefore","insertElement","cloneNode","prefixedProp","css","lower","getBoundingClientRect","margins","off","on","delegate","runOnce","originalCallback","t","parentNode","finalCallback","apply","one","ready","trigger","evt","createEvent","initEvent","dispatchEvent","serialize","query","elements","disabled","tagName","substr","val","after","insertAfter","append","content","appendTo","before","clone","empty","html","source","outerHTML","_this","sibling","nextSibling","_this2","prependTo","removeChild","text","textContent","docEl","documentElement","position","left","offsetLeft","top","offsetTop","offset","rect","pageYOffset","clientTop","pageXOffset","clientLeft","offsetParent","closest","has","next","nextElementSibling","not","result","parents","prev","previousElementSibling","siblings","$document","$header","checked","focus","matchMedia","preventDefault","supportsVideo","canPlayType","stopVideo","$video","video","pause","currentTime","$container","controls","$fallback","url","$dialog","showModal","paused","ended","play","dialog","clientY","height","clientX","width","close"],"mappings":"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","file":"tsi2018.min.js","sourcesContent":["\"use strict\";\n\n/*! cash-dom 1.3.7, https://github.com/kenwheeler/cash @license MIT */\n;(function (root, factory) {\n if (typeof define === \"function\" && define.amd) {\n define(factory);\n } else if (typeof exports !== \"undefined\") {\n module.exports = factory();\n } else {\n root.cash = root.$ = factory();\n }\n})(this, function () {\n var doc = document, win = window, ArrayProto = Array.prototype, slice = ArrayProto.slice, filter = ArrayProto.filter, push = ArrayProto.push;\n\n var noop = function () {}, isFunction = function (item) {\n // @see https://crbug.com/568448\n return typeof item === typeof noop && item.call;\n }, isString = function (item) {\n return typeof item === typeof \"\";\n };\n\n var idMatch = /^#[\\w-]*$/, classMatch = /^\\.[\\w-]*$/, htmlMatch = /<.+>/, singlet = /^\\w+$/;\n\n function find(selector, context) {\n context = context || doc;\n var elems = (classMatch.test(selector) ? context.getElementsByClassName(selector.slice(1)) : singlet.test(selector) ? context.getElementsByTagName(selector) : context.querySelectorAll(selector));\n return elems;\n }\n\n var frag;\n function parseHTML(str) {\n if (!frag) {\n frag = doc.implementation.createHTMLDocument(null);\n var base = frag.createElement(\"base\");\n base.href = doc.location.href;\n frag.head.appendChild(base);\n }\n\n frag.body.innerHTML = str;\n\n return frag.body.childNodes;\n }\n\n function onReady(fn) {\n if (doc.readyState !== \"loading\") {\n setTimeout(fn);\n } else {\n doc.addEventListener(\"DOMContentLoaded\", fn);\n }\n }\n\n function Init(selector, context) {\n if (!selector) {\n return this;\n }\n\n // If already a cash collection, don't do any further processing\n if (selector.cash && selector !== win) {\n return selector;\n }\n\n var elems = selector, i = 0, length;\n\n if (isString(selector)) {\n elems = (idMatch.test(selector) ?\n // If an ID use the faster getElementById check\n doc.getElementById(selector.slice(1)) : htmlMatch.test(selector) ?\n // If HTML, parse it into real elements\n parseHTML(selector) :\n // else use `find`\n find(selector, context));\n\n // If function, use as shortcut for DOM ready\n } else if (isFunction(selector)) {\n onReady(selector);return this;\n }\n\n if (!elems) {\n return this;\n }\n\n // If a single DOM element is passed in or received via ID, return the single element\n if (elems.nodeType || elems === win) {\n this[0] = elems;\n this.length = 1;\n } else {\n // Treat like an array and loop through each item.\n length = this.length = elems.length;\n for (; i < length; i++) {\n this[i] = elems[i];\n }\n }\n\n return this;\n }\n\n function cash(selector, context) {\n return new Init(selector, context);\n }\n\n var fn = cash.fn = cash.prototype = Init.prototype = { // jshint ignore:line\n cash: true,\n length: 0,\n push: push,\n splice: ArrayProto.splice,\n map: ArrayProto.map,\n init: Init\n };\n\n Object.defineProperty(fn, \"constructor\", { value: cash });\n\n cash.parseHTML = parseHTML;\n cash.noop = noop;\n cash.isFunction = isFunction;\n cash.isString = isString;\n\n cash.extend = fn.extend = function (target) {\n target = target || {};\n\n var args = slice.call(arguments), length = args.length, i = 1;\n\n if (args.length === 1) {\n target = this;\n i = 0;\n }\n\n for (; i < length; i++) {\n if (!args[i]) {\n continue;\n }\n for (var key in args[i]) {\n if (args[i].hasOwnProperty(key)) {\n target[key] = args[i][key];\n }\n }\n }\n\n return target;\n };\n\n function each(collection, callback) {\n var l = collection.length, i = 0;\n\n for (; i < l; i++) {\n if (callback.call(collection[i], collection[i], i, collection) === false) {\n break;\n }\n }\n }\n\n function matches(el, selector) {\n var m = el && (el.matches || el.webkitMatchesSelector || el.mozMatchesSelector || el.msMatchesSelector || el.oMatchesSelector);\n return !!m && m.call(el, selector);\n }\n\n function getCompareFunction(selector) {\n return (\n /* Use browser's `matches` function if string */\n isString(selector) ? matches :\n /* Match a cash element */\n selector.cash ? function (el) {\n return selector.is(el);\n } :\n /* Direct comparison */\n function (el, selector) {\n return el === selector;\n });\n }\n\n function unique(collection) {\n return cash(slice.call(collection).filter(function (item, index, self) {\n return self.indexOf(item) === index;\n }));\n }\n\n cash.extend({\n merge: function (first, second) {\n var len = +second.length, i = first.length, j = 0;\n\n for (; j < len; i++, j++) {\n first[i] = second[j];\n }\n\n first.length = i;\n return first;\n },\n\n each: each,\n matches: matches,\n unique: unique,\n isArray: Array.isArray,\n isNumeric: function (n) {\n return !isNaN(parseFloat(n)) && isFinite(n);\n }\n\n });\n\n var uid = cash.uid = \"_cash\" + Date.now();\n\n function getDataCache(node) {\n return (node[uid] = node[uid] || {});\n }\n\n function setData(node, key, value) {\n return (getDataCache(node)[key] = value);\n }\n\n function getData(node, key) {\n var c = getDataCache(node);\n if (c[key] === undefined) {\n c[key] = node.dataset ? node.dataset[key] : cash(node).attr(\"data-\" + key);\n }\n return c[key];\n }\n\n function removeData(node, key) {\n var c = getDataCache(node);\n if (c) {\n delete c[key];\n } else if (node.dataset) {\n delete node.dataset[key];\n } else {\n cash(node).removeAttr(\"data-\" + name);\n }\n }\n\n fn.extend({\n data: function (name, value) {\n if (isString(name)) {\n return (value === undefined ? getData(this[0], name) : this.each(function (v) {\n return setData(v, name, value);\n }));\n }\n\n for (var key in name) {\n this.data(key, name[key]);\n }\n\n return this;\n },\n\n removeData: function (key) {\n return this.each(function (v) {\n return removeData(v, key);\n });\n }\n\n });\n\n var notWhiteMatch = /\\S+/g;\n\n function getClasses(c) {\n return isString(c) && c.match(notWhiteMatch);\n }\n\n function hasClass(v, c) {\n return (v.classList ? v.classList.contains(c) : new RegExp(\"(^| )\" + c + \"( |$)\", \"gi\").test(v.className));\n }\n\n function addClass(v, c) {\n if (v.classList) {\n v.classList.add(c);\n } else if (!hasClass(v, c)) {\n v.className += \" \" + c;\n }\n }\n\n function removeClass(v, c) {\n if (v.classList) {\n v.classList.remove(c);\n } else {\n v.className = v.className.replace(c, \"\");\n }\n }\n\n fn.extend({\n addClass: function (c) {\n var classes = getClasses(c);\n\n return (classes ? this.each(function (v) {\n each(classes, function (c) {\n addClass(v, c);\n });\n }) : this);\n },\n\n attr: function (name, value) {\n if (!name) {\n return undefined;\n }\n\n if (isString(name)) {\n if (value === undefined) {\n return this[0] ? this[0].getAttribute ? this[0].getAttribute(name) : this[0][name] : undefined;\n }\n\n return this.each(function (v) {\n if (v.setAttribute) {\n v.setAttribute(name, value);\n } else {\n v[name] = value;\n }\n });\n }\n\n for (var key in name) {\n this.attr(key, name[key]);\n }\n\n return this;\n },\n\n hasClass: function (c) {\n var check = false, classes = getClasses(c);\n if (classes && classes.length) {\n this.each(function (v) {\n check = hasClass(v, classes[0]);\n return !check;\n });\n }\n return check;\n },\n\n prop: function (name, value) {\n if (isString(name)) {\n return (value === undefined ? this[0][name] : this.each(function (v) {\n v[name] = value;\n }));\n }\n\n for (var key in name) {\n this.prop(key, name[key]);\n }\n\n return this;\n },\n\n removeAttr: function (name) {\n return this.each(function (v) {\n if (v.removeAttribute) {\n v.removeAttribute(name);\n } else {\n delete v[name];\n }\n });\n },\n\n removeClass: function (c) {\n if (!arguments.length) {\n return this.attr(\"class\", \"\");\n }\n var classes = getClasses(c);\n return (classes ? this.each(function (v) {\n each(classes, function (c) {\n removeClass(v, c);\n });\n }) : this);\n },\n\n removeProp: function (name) {\n return this.each(function (v) {\n delete v[name];\n });\n },\n\n toggleClass: function (c, state) {\n if (state !== undefined) {\n return this[state ? \"addClass\" : \"removeClass\"](c);\n }\n var classes = getClasses(c);\n return (classes ? this.each(function (v) {\n each(classes, function (c) {\n if (hasClass(v, c)) {\n removeClass(v, c);\n } else {\n addClass(v, c);\n }\n });\n }) : this);\n } });\n\n fn.extend({\n add: function (selector, context) {\n return unique(cash.merge(this, cash(selector, context)));\n },\n\n each: function (callback) {\n each(this, callback);\n return this;\n },\n\n eq: function (index) {\n return cash(this.get(index));\n },\n\n filter: function (selector) {\n if (!selector) {\n return this;\n }\n\n var comparator = (isFunction(selector) ? selector : getCompareFunction(selector));\n\n return cash(filter.call(this, function (e) {\n return comparator(e, selector);\n }));\n },\n\n first: function () {\n return this.eq(0);\n },\n\n get: function (index) {\n if (index === undefined) {\n return slice.call(this);\n }\n return (index < 0 ? this[index + this.length] : this[index]);\n },\n\n index: function (elem) {\n var child = elem ? cash(elem)[0] : this[0], collection = elem ? this : cash(child).parent().children();\n return slice.call(collection).indexOf(child);\n },\n\n last: function () {\n return this.eq(-1);\n }\n\n });\n\n var camelCase = (function () {\n var camelRegex = /(?:^\\w|[A-Z]|\\b\\w)/g, whiteSpace = /[\\s-_]+/g;\n return function (str) {\n return str.replace(camelRegex, function (letter, index) {\n return letter[index === 0 ? \"toLowerCase\" : \"toUpperCase\"]();\n }).replace(whiteSpace, \"\");\n };\n }());\n\n var getPrefixedProp = (function () {\n var cache = {}, doc = document, div = doc.createElement(\"div\"), style = div.style;\n\n return function (prop) {\n prop = camelCase(prop);\n if (cache[prop]) {\n return cache[prop];\n }\n\n var ucProp = prop.charAt(0).toUpperCase() + prop.slice(1), prefixes = [\"webkit\", \"moz\", \"ms\", \"o\"], props = (prop + \" \" + (prefixes).join(ucProp + \" \") + ucProp).split(\" \");\n\n each(props, function (p) {\n if (p in style) {\n cache[p] = prop = cache[prop] = p;\n return false;\n }\n });\n\n return cache[prop];\n };\n }());\n\n cash.prefixedProp = getPrefixedProp;\n cash.camelCase = camelCase;\n\n fn.extend({\n css: function (prop, value) {\n if (isString(prop)) {\n prop = getPrefixedProp(prop);\n return (arguments.length > 1 ? this.each(function (v) {\n return v.style[prop] = value;\n }) : win.getComputedStyle(this[0])[prop]);\n }\n\n for (var key in prop) {\n this.css(key, prop[key]);\n }\n\n return this;\n }\n\n });\n\n function compute(el, prop) {\n return parseInt(win.getComputedStyle(el[0], null)[prop], 10) || 0;\n }\n\n each([\"Width\", \"Height\"], function (v) {\n var lower = v.toLowerCase();\n\n fn[lower] = function () {\n return this[0].getBoundingClientRect()[lower];\n };\n\n fn[\"inner\" + v] = function () {\n return this[0][\"client\" + v];\n };\n\n fn[\"outer\" + v] = function (margins) {\n return this[0][\"offset\" + v] + (margins ? compute(this, \"margin\" + (v === \"Width\" ? \"Left\" : \"Top\")) + compute(this, \"margin\" + (v === \"Width\" ? \"Right\" : \"Bottom\")) : 0);\n };\n });\n\n function registerEvent(node, eventName, callback) {\n var eventCache = getData(node, \"_cashEvents\") || setData(node, \"_cashEvents\", {});\n eventCache[eventName] = eventCache[eventName] || [];\n eventCache[eventName].push(callback);\n node.addEventListener(eventName, callback);\n }\n\n function removeEvent(node, eventName, callback) {\n var events = getData(node, \"_cashEvents\"), eventCache = (events && events[eventName]), index;\n\n if (!eventCache) {\n return;\n }\n\n if (callback) {\n node.removeEventListener(eventName, callback);\n index = eventCache.indexOf(callback);\n if (index >= 0) {\n eventCache.splice(index, 1);\n }\n } else {\n each(eventCache, function (event) {\n node.removeEventListener(eventName, event);\n });\n eventCache = [];\n }\n }\n\n fn.extend({\n off: function (eventName, callback) {\n return this.each(function (v) {\n return removeEvent(v, eventName, callback);\n });\n },\n\n on: function (eventName, delegate, callback, runOnce) {\n // jshint ignore:line\n\n var originalCallback;\n\n if (!isString(eventName)) {\n for (var key in eventName) {\n this.on(key, delegate, eventName[key]);\n }\n return this;\n }\n\n if (isFunction(delegate)) {\n callback = delegate;\n delegate = null;\n }\n\n if (eventName === \"ready\") {\n onReady(callback);\n return this;\n }\n\n if (delegate) {\n originalCallback = callback;\n callback = function (e) {\n var t = e.target;\n\n while (!matches(t, delegate)) {\n if (t === this) {\n return (t = false);\n }\n t = t.parentNode;\n }\n\n if (t) {\n originalCallback.call(t, e);\n }\n };\n }\n\n return this.each(function (v) {\n var finalCallback = callback;\n if (runOnce) {\n finalCallback = function () {\n callback.apply(this, arguments);\n removeEvent(v, eventName, finalCallback);\n };\n }\n registerEvent(v, eventName, finalCallback);\n });\n },\n\n one: function (eventName, delegate, callback) {\n return this.on(eventName, delegate, callback, true);\n },\n\n ready: onReady,\n\n trigger: function (eventName, data) {\n var evt = doc.createEvent(\"HTMLEvents\");\n evt.data = data;\n evt.initEvent(eventName, true, false);\n return this.each(function (v) {\n return v.dispatchEvent(evt);\n });\n }\n\n });\n\n function encode(name, value) {\n return \"&\" + encodeURIComponent(name) + \"=\" + encodeURIComponent(value).replace(/%20/g, \"+\");\n }\n\n function getSelectMultiple_(el) {\n var values = [];\n each(el.options, function (o) {\n if (o.selected) {\n values.push(o.value);\n }\n });\n return values.length ? values : null;\n }\n\n function getSelectSingle_(el) {\n var selectedIndex = el.selectedIndex;\n return selectedIndex >= 0 ? el.options[selectedIndex].value : null;\n }\n\n function getValue(el) {\n var type = el.type;\n if (!type) {\n return null;\n }\n switch (type.toLowerCase()) {\n case \"select-one\":\n return getSelectSingle_(el);\n case \"select-multiple\":\n return getSelectMultiple_(el);\n case \"radio\":\n return (el.checked) ? el.value : null;\n case \"checkbox\":\n return (el.checked) ? el.value : null;\n default:\n return el.value ? el.value : null;\n }\n }\n\n fn.extend({\n serialize: function () {\n var query = \"\";\n\n each(this[0].elements || this, function (el) {\n if (el.disabled || el.tagName === \"FIELDSET\") {\n return;\n }\n var name = el.name;\n switch (el.type.toLowerCase()) {\n case \"file\":\n case \"reset\":\n case \"submit\":\n case \"button\":\n break;\n case \"select-multiple\":\n var values = getValue(el);\n if (values !== null) {\n each(values, function (value) {\n query += encode(name, value);\n });\n }\n break;\n default:\n var value = getValue(el);\n if (value !== null) {\n query += encode(name, value);\n }\n }\n });\n\n return query.substr(1);\n },\n\n val: function (value) {\n if (value === undefined) {\n return getValue(this[0]);\n } else {\n return this.each(function (v) {\n return v.value = value;\n });\n }\n }\n\n });\n\n function insertElement(el, child, prepend) {\n if (prepend) {\n var first = el.childNodes[0];\n el.insertBefore(child, first);\n } else {\n el.appendChild(child);\n }\n }\n\n function insertContent(parent, child, prepend) {\n var str = isString(child);\n\n if (!str && child.length) {\n each(child, function (v) {\n return insertContent(parent, v, prepend);\n });\n return;\n }\n\n each(parent, str ? function (v) {\n return v.insertAdjacentHTML(prepend ? \"afterbegin\" : \"beforeend\", child);\n } : function (v, i) {\n return insertElement(v, (i === 0 ? child : child.cloneNode(true)), prepend);\n });\n }\n\n fn.extend({\n after: function (selector) {\n cash(selector).insertAfter(this);\n return this;\n },\n\n append: function (content) {\n insertContent(this, content);\n return this;\n },\n\n appendTo: function (parent) {\n insertContent(cash(parent), this);\n return this;\n },\n\n before: function (selector) {\n cash(selector).insertBefore(this);\n return this;\n },\n\n clone: function () {\n return cash(this.map(function (v) {\n return v.cloneNode(true);\n }));\n },\n\n empty: function () {\n this.html(\"\");\n return this;\n },\n\n html: function (content) {\n if (content === undefined) {\n return this[0].innerHTML;\n }\n var source = (content.nodeType ? content[0].outerHTML : content);\n return this.each(function (v) {\n return v.innerHTML = source;\n });\n },\n\n insertAfter: function (selector) {\n var _this = this;\n\n\n cash(selector).each(function (el, i) {\n var parent = el.parentNode, sibling = el.nextSibling;\n _this.each(function (v) {\n parent.insertBefore((i === 0 ? v : v.cloneNode(true)), sibling);\n });\n });\n\n return this;\n },\n\n insertBefore: function (selector) {\n var _this2 = this;\n cash(selector).each(function (el, i) {\n var parent = el.parentNode;\n _this2.each(function (v) {\n parent.insertBefore((i === 0 ? v : v.cloneNode(true)), el);\n });\n });\n return this;\n },\n\n prepend: function (content) {\n insertContent(this, content, true);\n return this;\n },\n\n prependTo: function (parent) {\n insertContent(cash(parent), this, true);\n return this;\n },\n\n remove: function () {\n return this.each(function (v) {\n return v.parentNode.removeChild(v);\n });\n },\n\n text: function (content) {\n if (content === undefined) {\n return this[0].textContent;\n }\n return this.each(function (v) {\n return v.textContent = content;\n });\n }\n\n });\n\n var docEl = doc.documentElement;\n\n fn.extend({\n position: function () {\n var el = this[0];\n return {\n left: el.offsetLeft,\n top: el.offsetTop\n };\n },\n\n offset: function () {\n var rect = this[0].getBoundingClientRect();\n return {\n top: rect.top + win.pageYOffset - docEl.clientTop,\n left: rect.left + win.pageXOffset - docEl.clientLeft\n };\n },\n\n offsetParent: function () {\n return cash(this[0].offsetParent);\n }\n\n });\n\n fn.extend({\n children: function (selector) {\n var elems = [];\n this.each(function (el) {\n push.apply(elems, el.children);\n });\n elems = unique(elems);\n\n return (!selector ? elems : elems.filter(function (v) {\n return matches(v, selector);\n }));\n },\n\n closest: function (selector) {\n if (!selector || this.length < 1) {\n return cash();\n }\n if (this.is(selector)) {\n return this.filter(selector);\n }\n return this.parent().closest(selector);\n },\n\n is: function (selector) {\n if (!selector) {\n return false;\n }\n\n var match = false, comparator = getCompareFunction(selector);\n\n this.each(function (el) {\n match = comparator(el, selector);\n return !match;\n });\n\n return match;\n },\n\n find: function (selector) {\n if (!selector || selector.nodeType) {\n return cash(selector && this.has(selector).length ? selector : null);\n }\n\n var elems = [];\n this.each(function (el) {\n push.apply(elems, find(selector, el));\n });\n\n return unique(elems);\n },\n\n has: function (selector) {\n var comparator = (isString(selector) ? function (el) {\n return find(selector, el).length !== 0;\n } : function (el) {\n return el.contains(selector);\n });\n\n return this.filter(comparator);\n },\n\n next: function () {\n return cash(this[0].nextElementSibling);\n },\n\n not: function (selector) {\n if (!selector) {\n return this;\n }\n\n var comparator = getCompareFunction(selector);\n\n return this.filter(function (el) {\n return !comparator(el, selector);\n });\n },\n\n parent: function () {\n var result = [];\n\n this.each(function (item) {\n if (item && item.parentNode) {\n result.push(item.parentNode);\n }\n });\n\n return unique(result);\n },\n\n parents: function (selector) {\n var last, result = [];\n\n this.each(function (item) {\n last = item;\n\n while (last && last.parentNode && last !== doc.body.parentNode) {\n last = last.parentNode;\n\n if (!selector || (selector && matches(last, selector))) {\n result.push(last);\n }\n }\n });\n\n return unique(result);\n },\n\n prev: function () {\n return cash(this[0].previousElementSibling);\n },\n\n siblings: function () {\n var collection = this.parent().children(), el = this[0];\n\n return collection.filter(function (i) {\n return i !== el;\n });\n }\n\n });\n\n\n return cash;\n});","// cash is an smaller alternative to jQuery.\n// A few catches:\n//\n// - Can't use Cash element as context, i.e., can't do $(\"child\", $parent).\n// Use $parent.find(\"child\") instead.\n// - Can't trigger native events yet. Use native function, i.e. [0].focus().\ncash(function() {\n var $document = $(document);\n var $header = $(\".site-header\");\n $(\"body\").on(\"change\", \"#searching, #primary-nav-toggle\", function() {\n if(this.checked) {\n setTimeout(function() {\n $header.find(\"input[name=\\\"q\\\"]\")[0].focus();\n }, 300);\n }\n });\n\n if (window.matchMedia) {\n if (window.matchMedia('screen and (max-width: 767px)').matches) {\n var $anchor = $(\".secondary-nav\").prev();\n $anchor.on(\"click\", function(e) {\n e.preventDefault();\n $(this).parent().toggleClass(\"mobile-active\");\n });\n }\n }\n\n var supportsVideo = !!document.createElement('video').canPlayType;\n\n /**\n * Play/pause a