├── README.md ├── assets ├── fonts │ ├── gotham-bold-italic.ttf │ ├── gotham-bold.ttf │ ├── gotham-book-italic.ttf │ ├── gotham-book.ttf │ ├── gotham-light-italic.ttf │ └── gotham-light.ttf ├── icons │ ├── ionicons.eot │ ├── ionicons.svg │ ├── ionicons.ttf │ └── ionicons.woff ├── images │ ├── favicon.png │ ├── profile.jpg │ └── signature.png ├── scripts │ ├── jquery.js │ ├── limit.js │ └── main.js ├── styles │ ├── animations.css │ ├── main.css │ ├── normalize.css │ └── responsive.css ├── templates │ └── post.php └── works │ ├── api-mailchimp.php │ ├── main.php │ ├── meta │ ├── vimeo-110170664-loves.txt │ ├── vimeo-110170664-plays.txt │ ├── vimeo-123004006-loves.txt │ ├── vimeo-123004006-plays.txt │ ├── vimeo-129568177-loves.txt │ ├── vimeo-129568177-plays.txt │ ├── vimeo-134482681-loves.txt │ ├── vimeo-134482681-plays.txt │ ├── vimeo-136938394-loves.txt │ ├── vimeo-136938394-plays.txt │ ├── vimeo-139157653-loves.txt │ ├── vimeo-139157653-plays.txt │ ├── vimeo-87701971-loves.txt │ └── vimeo-87701971-plays.txt │ ├── post-count.php │ ├── post-mail.php │ └── post-subscribe.php ├── content ├── vimeo-110170664.jpg ├── vimeo-110170664.txt ├── vimeo-123004006.jpg ├── vimeo-123004006.txt ├── vimeo-129568177.jpg ├── vimeo-129568177.txt ├── vimeo-134482681.jpg ├── vimeo-134482681.txt ├── vimeo-136938394.jpg ├── vimeo-136938394.txt ├── vimeo-139157653.jpg ├── vimeo-139157653.txt ├── vimeo-87701971.jpg └── vimeo-87701971.txt ├── index.php ├── screenshot.jpg └── settings.php /README.md: -------------------------------------------------------------------------------- 1 | # Episodes 2 | 3 | Create simple video-centric websites. 4 | 5 | ![Alt text](screenshot.jpg?raw=true) 6 | 7 | ## Description 8 | 9 | A simple flat-file solution for creating dynamic video-centric websites without the need for anything but your favorite text editor and video service (e.g. YouTube, Vimeo). For example, to publish a Vimeo video you would create “vimeo-129568177.txt” which would publish (title, text, embed code and thumbnail) on your Episodes powered site. Episodes also includes auto “plays” & “loves” counting, a fully functional contact form and even MailChimp integration for your newsletter. Episodes will function perfectly on any PHP compatible server. 10 | 11 | ## Setup 12 | 13 | 1. Update your text and options within “settings.php”. 14 | 4. Upload everything to any PHP compatable server. 15 | 16 | ## Posting Videos 17 | 18 | Here’s how you post videos (YouTube and Vimeo are currently supported). 19 | 20 | 1. Create a new text file using the editor of your choice. 21 | 2. On the 1st line, add the video title (e.g. “Some Video”). 22 | 3. On the 3rd line, add the post date (e.g. “September 21st, 2015”). 23 | 4. On the 5th line, add the video text (only one line of text is supported for now). 24 | 5. Prefix your file name with the video service you’re using (e.g. “youtube-”). 25 | 6. End your file name with the video ID for the video you would like to embed. 26 | 7. You file name should look something like “youtube-5Qo0Q_91ZXg.txt” or “vimeo-110170664.txt”. 27 | 8. Upload your new file to the “content” directory on your site. 28 | 9. When you refresh your site, your video will be posted and a thumbnail image will automatically be generated for you. 29 | 30 | ## Services 31 | 32 | If you need help developing the functionality you need for your own site, I'm available for hire to help you with whatever customization or implementation services you might need. To get started, just send me an email (jason@circa75.co). 33 | 34 | ## Version 1.0 35 | 36 | - NEW: Initial release. 37 | 38 | ## License 39 | 40 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 41 | 42 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 43 | 44 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 45 | 46 | -------------------------------------------------------------------------------- /assets/fonts/gotham-bold-italic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jptksc/episodes/e3d533f6f24139e0adeba0c731db0f57682d1494/assets/fonts/gotham-bold-italic.ttf -------------------------------------------------------------------------------- /assets/fonts/gotham-bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jptksc/episodes/e3d533f6f24139e0adeba0c731db0f57682d1494/assets/fonts/gotham-bold.ttf -------------------------------------------------------------------------------- /assets/fonts/gotham-book-italic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jptksc/episodes/e3d533f6f24139e0adeba0c731db0f57682d1494/assets/fonts/gotham-book-italic.ttf -------------------------------------------------------------------------------- /assets/fonts/gotham-book.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jptksc/episodes/e3d533f6f24139e0adeba0c731db0f57682d1494/assets/fonts/gotham-book.ttf -------------------------------------------------------------------------------- /assets/fonts/gotham-light-italic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jptksc/episodes/e3d533f6f24139e0adeba0c731db0f57682d1494/assets/fonts/gotham-light-italic.ttf -------------------------------------------------------------------------------- /assets/fonts/gotham-light.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jptksc/episodes/e3d533f6f24139e0adeba0c731db0f57682d1494/assets/fonts/gotham-light.ttf -------------------------------------------------------------------------------- /assets/icons/ionicons.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jptksc/episodes/e3d533f6f24139e0adeba0c731db0f57682d1494/assets/icons/ionicons.eot -------------------------------------------------------------------------------- /assets/icons/ionicons.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jptksc/episodes/e3d533f6f24139e0adeba0c731db0f57682d1494/assets/icons/ionicons.ttf -------------------------------------------------------------------------------- /assets/icons/ionicons.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jptksc/episodes/e3d533f6f24139e0adeba0c731db0f57682d1494/assets/icons/ionicons.woff -------------------------------------------------------------------------------- /assets/images/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jptksc/episodes/e3d533f6f24139e0adeba0c731db0f57682d1494/assets/images/favicon.png -------------------------------------------------------------------------------- /assets/images/profile.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jptksc/episodes/e3d533f6f24139e0adeba0c731db0f57682d1494/assets/images/profile.jpg -------------------------------------------------------------------------------- /assets/images/signature.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jptksc/episodes/e3d533f6f24139e0adeba0c731db0f57682d1494/assets/images/signature.png -------------------------------------------------------------------------------- /assets/scripts/jquery.js: -------------------------------------------------------------------------------- 1 | 2 | /******************************************************************************* 3 | 4 | jQuery 5 | 6 | ********************************************************************************/ 7 | 8 | !function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){var c=[],d=c.slice,e=c.concat,f=c.push,g=c.indexOf,h={},i=h.toString,j=h.hasOwnProperty,k={},l=a.document,m="2.1.4",n=function(a,b){return new n.fn.init(a,b)},o=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,p=/^-ms-/,q=/-([\da-z])/gi,r=function(a,b){return b.toUpperCase()};n.fn=n.prototype={jquery:m,constructor:n,selector:"",length:0,toArray:function(){return d.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:d.call(this)},pushStack:function(a){var b=n.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a,b){return n.each(this,a,b)},map:function(a){return this.pushStack(n.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(d.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:c.sort,splice:c.splice},n.extend=n.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||n.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(a=arguments[h]))for(b in a)c=g[b],d=a[b],g!==d&&(j&&d&&(n.isPlainObject(d)||(e=n.isArray(d)))?(e?(e=!1,f=c&&n.isArray(c)?c:[]):f=c&&n.isPlainObject(c)?c:{},g[b]=n.extend(j,f,d)):void 0!==d&&(g[b]=d));return g},n.extend({expando:"jQuery"+(m+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===n.type(a)},isArray:Array.isArray,isWindow:function(a){return null!=a&&a===a.window},isNumeric:function(a){return!n.isArray(a)&&a-parseFloat(a)+1>=0},isPlainObject:function(a){return"object"!==n.type(a)||a.nodeType||n.isWindow(a)?!1:a.constructor&&!j.call(a.constructor.prototype,"isPrototypeOf")?!1:!0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?h[i.call(a)]||"object":typeof a},globalEval:function(a){var b,c=eval;a=n.trim(a),a&&(1===a.indexOf("use strict")?(b=l.createElement("script"),b.text=a,l.head.appendChild(b).parentNode.removeChild(b)):c(a))},camelCase:function(a){return a.replace(p,"ms-").replace(q,r)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b,c){var d,e=0,f=a.length,g=s(a);if(c){if(g){for(;f>e;e++)if(d=b.apply(a[e],c),d===!1)break}else for(e in a)if(d=b.apply(a[e],c),d===!1)break}else if(g){for(;f>e;e++)if(d=b.call(a[e],e,a[e]),d===!1)break}else for(e in a)if(d=b.call(a[e],e,a[e]),d===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(o,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(s(Object(a))?n.merge(c,"string"==typeof a?[a]:a):f.call(c,a)),c},inArray:function(a,b,c){return null==b?-1:g.call(b,a,c)},merge:function(a,b){for(var c=+b.length,d=0,e=a.length;c>d;d++)a[e++]=b[d];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,f=0,g=a.length,h=s(a),i=[];if(h)for(;g>f;f++)d=b(a[f],f,c),null!=d&&i.push(d);else for(f in a)d=b(a[f],f,c),null!=d&&i.push(d);return e.apply([],i)},guid:1,proxy:function(a,b){var c,e,f;return"string"==typeof b&&(c=a[b],b=a,a=c),n.isFunction(a)?(e=d.call(arguments,2),f=function(){return a.apply(b||this,e.concat(d.call(arguments)))},f.guid=a.guid=a.guid||n.guid++,f):void 0},now:Date.now,support:k}),n.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(a,b){h["[object "+b+"]"]=b.toLowerCase()});function s(a){var b="length"in a&&a.length,c=n.type(a);return"function"===c||n.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var t=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+1*new Date,v=a.document,w=0,x=0,y=ha(),z=ha(),A=ha(),B=function(a,b){return a===b&&(l=!0),0},C=1<<31,D={}.hasOwnProperty,E=[],F=E.pop,G=E.push,H=E.push,I=E.slice,J=function(a,b){for(var c=0,d=a.length;d>c;c++)if(a[c]===b)return c;return-1},K="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",L="[\\x20\\t\\r\\n\\f]",M="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",N=M.replace("w","w#"),O="\\["+L+"*("+M+")(?:"+L+"*([*^$|!~]?=)"+L+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+N+"))|)"+L+"*\\]",P=":("+M+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+O+")*)|.*)\\)|)",Q=new RegExp(L+"+","g"),R=new RegExp("^"+L+"+|((?:^|[^\\\\])(?:\\\\.)*)"+L+"+$","g"),S=new RegExp("^"+L+"*,"+L+"*"),T=new RegExp("^"+L+"*([>+~]|"+L+")"+L+"*"),U=new RegExp("="+L+"*([^\\]'\"]*?)"+L+"*\\]","g"),V=new RegExp(P),W=new RegExp("^"+N+"$"),X={ID:new RegExp("^#("+M+")"),CLASS:new RegExp("^\\.("+M+")"),TAG:new RegExp("^("+M.replace("w","w*")+")"),ATTR:new RegExp("^"+O),PSEUDO:new RegExp("^"+P),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+L+"*(even|odd|(([+-]|)(\\d*)n|)"+L+"*(?:([+-]|)"+L+"*(\\d+)|))"+L+"*\\)|)","i"),bool:new RegExp("^(?:"+K+")$","i"),needsContext:new RegExp("^"+L+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+L+"*((?:-\\d)?\\d*)"+L+"*\\)|)(?=[^-]|$)","i")},Y=/^(?:input|select|textarea|button)$/i,Z=/^h\d$/i,$=/^[^{]+\{\s*\[native \w/,_=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,aa=/[+~]/,ba=/'|\\/g,ca=new RegExp("\\\\([\\da-f]{1,6}"+L+"?|("+L+")|.)","ig"),da=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},ea=function(){m()};try{H.apply(E=I.call(v.childNodes),v.childNodes),E[v.childNodes.length].nodeType}catch(fa){H={apply:E.length?function(a,b){G.apply(a,I.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function ga(a,b,d,e){var f,h,j,k,l,o,r,s,w,x;if((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,d=d||[],k=b.nodeType,"string"!=typeof a||!a||1!==k&&9!==k&&11!==k)return d;if(!e&&p){if(11!==k&&(f=_.exec(a)))if(j=f[1]){if(9===k){if(h=b.getElementById(j),!h||!h.parentNode)return d;if(h.id===j)return d.push(h),d}else if(b.ownerDocument&&(h=b.ownerDocument.getElementById(j))&&t(b,h)&&h.id===j)return d.push(h),d}else{if(f[2])return H.apply(d,b.getElementsByTagName(a)),d;if((j=f[3])&&c.getElementsByClassName)return H.apply(d,b.getElementsByClassName(j)),d}if(c.qsa&&(!q||!q.test(a))){if(s=r=u,w=b,x=1!==k&&a,1===k&&"object"!==b.nodeName.toLowerCase()){o=g(a),(r=b.getAttribute("id"))?s=r.replace(ba,"\\$&"):b.setAttribute("id",s),s="[id='"+s+"'] ",l=o.length;while(l--)o[l]=s+ra(o[l]);w=aa.test(a)&&pa(b.parentNode)||b,x=o.join(",")}if(x)try{return H.apply(d,w.querySelectorAll(x)),d}catch(y){}finally{r||b.removeAttribute("id")}}}return i(a.replace(R,"$1"),b,d,e)}function ha(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function ia(a){return a[u]=!0,a}function ja(a){var b=n.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function ka(a,b){var c=a.split("|"),e=a.length;while(e--)d.attrHandle[c[e]]=b}function la(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||C)-(~a.sourceIndex||C);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function ma(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function na(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function oa(a){return ia(function(b){return b=+b,ia(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function pa(a){return a&&"undefined"!=typeof a.getElementsByTagName&&a}c=ga.support={},f=ga.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},m=ga.setDocument=function(a){var b,e,g=a?a.ownerDocument||a:v;return g!==n&&9===g.nodeType&&g.documentElement?(n=g,o=g.documentElement,e=g.defaultView,e&&e!==e.top&&(e.addEventListener?e.addEventListener("unload",ea,!1):e.attachEvent&&e.attachEvent("onunload",ea)),p=!f(g),c.attributes=ja(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ja(function(a){return a.appendChild(g.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=$.test(g.getElementsByClassName),c.getById=ja(function(a){return o.appendChild(a).id=u,!g.getElementsByName||!g.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c=b.getElementById(a);return c&&c.parentNode?[c]:[]}},d.filter.ID=function(a){var b=a.replace(ca,da);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(ca,da);return function(a){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return"undefined"!=typeof b.getElementsByTagName?b.getElementsByTagName(a):c.qsa?b.querySelectorAll(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return p?b.getElementsByClassName(a):void 0},r=[],q=[],(c.qsa=$.test(g.querySelectorAll))&&(ja(function(a){o.appendChild(a).innerHTML="",a.querySelectorAll("[msallowcapture^='']").length&&q.push("[*^$]="+L+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+L+"*(?:value|"+K+")"),a.querySelectorAll("[id~="+u+"-]").length||q.push("~="),a.querySelectorAll(":checked").length||q.push(":checked"),a.querySelectorAll("a#"+u+"+*").length||q.push(".#.+[+~]")}),ja(function(a){var b=g.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+L+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=$.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ja(function(a){c.disconnectedMatch=s.call(a,"div"),s.call(a,"[s!='']:x"),r.push("!=",P)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=$.test(o.compareDocumentPosition),t=b||$.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===g||a.ownerDocument===v&&t(v,a)?-1:b===g||b.ownerDocument===v&&t(v,b)?1:k?J(k,a)-J(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,e=a.parentNode,f=b.parentNode,h=[a],i=[b];if(!e||!f)return a===g?-1:b===g?1:e?-1:f?1:k?J(k,a)-J(k,b):0;if(e===f)return la(a,b);c=a;while(c=c.parentNode)h.unshift(c);c=b;while(c=c.parentNode)i.unshift(c);while(h[d]===i[d])d++;return d?la(h[d],i[d]):h[d]===v?-1:i[d]===v?1:0},g):n},ga.matches=function(a,b){return ga(a,null,null,b)},ga.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(U,"='$1']"),!(!c.matchesSelector||!p||r&&r.test(b)||q&&q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return ga(b,n,null,[a]).length>0},ga.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},ga.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&D.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},ga.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},ga.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=ga.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=ga.selectors={cacheLength:50,createPseudo:ia,match:X,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(ca,da),a[3]=(a[3]||a[4]||a[5]||"").replace(ca,da),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||ga.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&ga.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return X.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&V.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(ca,da).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+L+")"+a+"("+L+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||"undefined"!=typeof a.getAttribute&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=ga.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e.replace(Q," ")+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h;if(q){if(f){while(p){l=b;while(l=l[p])if(h?l.nodeName.toLowerCase()===r:1===l.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){k=q[u]||(q[u]={}),j=k[a]||[],n=j[0]===w&&j[1],m=j[0]===w&&j[2],l=n&&q.childNodes[n];while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if(1===l.nodeType&&++m&&l===b){k[a]=[w,n,m];break}}else if(s&&(j=(b[u]||(b[u]={}))[a])&&j[0]===w)m=j[1];else while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if((h?l.nodeName.toLowerCase()===r:1===l.nodeType)&&++m&&(s&&((l[u]||(l[u]={}))[a]=[w,m]),l===b))break;return m-=e,m===d||m%d===0&&m/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||ga.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?ia(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=J(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:ia(function(a){var b=[],c=[],d=h(a.replace(R,"$1"));return d[u]?ia(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),b[0]=null,!c.pop()}}),has:ia(function(a){return function(b){return ga(a,b).length>0}}),contains:ia(function(a){return a=a.replace(ca,da),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:ia(function(a){return W.test(a||"")||ga.error("unsupported lang: "+a),a=a.replace(ca,da).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return Z.test(a.nodeName)},input:function(a){return Y.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:oa(function(){return[0]}),last:oa(function(a,b){return[b-1]}),eq:oa(function(a,b,c){return[0>c?c+b:c]}),even:oa(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:oa(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:oa(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:oa(function(a,b,c){for(var d=0>c?c+b:c;++db;b++)d+=a[b].value;return d}function sa(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=x++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j=[w,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(i=b[u]||(b[u]={}),(h=i[d])&&h[0]===w&&h[1]===f)return j[2]=h[2];if(i[d]=j,j[2]=a(b,c,g))return!0}}}function ta(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function ua(a,b,c){for(var d=0,e=b.length;e>d;d++)ga(a,b[d],c);return c}function va(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(!c||c(f,d,e))&&(g.push(f),j&&b.push(h));return g}function wa(a,b,c,d,e,f){return d&&!d[u]&&(d=wa(d)),e&&!e[u]&&(e=wa(e,f)),ia(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||ua(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:va(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=va(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?J(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=va(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):H.apply(g,r)})}function xa(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=sa(function(a){return a===b},h,!0),l=sa(function(a){return J(b,a)>-1},h,!0),m=[function(a,c,d){var e=!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d));return b=null,e}];f>i;i++)if(c=d.relative[a[i].type])m=[sa(ta(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;f>e;e++)if(d.relative[a[e].type])break;return wa(i>1&&ta(m),i>1&&ra(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(R,"$1"),c,e>i&&xa(a.slice(i,e)),f>e&&xa(a=a.slice(e)),f>e&&ra(a))}m.push(c)}return ta(m)}function ya(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,m,o,p=0,q="0",r=f&&[],s=[],t=j,u=f||e&&d.find.TAG("*",k),v=w+=null==t?1:Math.random()||.1,x=u.length;for(k&&(j=g!==n&&g);q!==x&&null!=(l=u[q]);q++){if(e&&l){m=0;while(o=a[m++])if(o(l,g,h)){i.push(l);break}k&&(w=v)}c&&((l=!o&&l)&&p--,f&&r.push(l))}if(p+=q,c&&q!==p){m=0;while(o=b[m++])o(r,s,g,h);if(f){if(p>0)while(q--)r[q]||s[q]||(s[q]=F.call(i));s=va(s)}H.apply(i,s),k&&!f&&s.length>0&&p+b.length>1&&ga.uniqueSort(i)}return k&&(w=v,j=t),r};return c?ia(f):f}return h=ga.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=xa(b[c]),f[u]?d.push(f):e.push(f);f=A(a,ya(e,d)),f.selector=a}return f},i=ga.select=function(a,b,e,f){var i,j,k,l,m,n="function"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&"ID"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(ca,da),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=X.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(ca,da),aa.test(j[0].type)&&pa(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&ra(j),!a)return H.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,aa.test(a)&&pa(b.parentNode)||b),e},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ja(function(a){return 1&a.compareDocumentPosition(n.createElement("div"))}),ja(function(a){return a.innerHTML="","#"===a.firstChild.getAttribute("href")})||ka("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ja(function(a){return a.innerHTML="",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||ka("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),ja(function(a){return null==a.getAttribute("disabled")})||ka(K,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),ga}(a);n.find=t,n.expr=t.selectors,n.expr[":"]=n.expr.pseudos,n.unique=t.uniqueSort,n.text=t.getText,n.isXMLDoc=t.isXML,n.contains=t.contains;var u=n.expr.match.needsContext,v=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,w=/^.[^:#\[\.,]*$/;function x(a,b,c){if(n.isFunction(b))return n.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return n.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(w.test(b))return n.filter(b,a,c);b=n.filter(b,a)}return n.grep(a,function(a){return g.call(b,a)>=0!==c})}n.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?n.find.matchesSelector(d,a)?[d]:[]:n.find.matches(a,n.grep(b,function(a){return 1===a.nodeType}))},n.fn.extend({find:function(a){var b,c=this.length,d=[],e=this;if("string"!=typeof a)return this.pushStack(n(a).filter(function(){for(b=0;c>b;b++)if(n.contains(e[b],this))return!0}));for(b=0;c>b;b++)n.find(a,e[b],d);return d=this.pushStack(c>1?n.unique(d):d),d.selector=this.selector?this.selector+" "+a:a,d},filter:function(a){return this.pushStack(x(this,a||[],!1))},not:function(a){return this.pushStack(x(this,a||[],!0))},is:function(a){return!!x(this,"string"==typeof a&&u.test(a)?n(a):a||[],!1).length}});var y,z=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,A=n.fn.init=function(a,b){var c,d;if(!a)return this;if("string"==typeof a){if(c="<"===a[0]&&">"===a[a.length-1]&&a.length>=3?[null,a,null]:z.exec(a),!c||!c[1]&&b)return!b||b.jquery?(b||y).find(a):this.constructor(b).find(a);if(c[1]){if(b=b instanceof n?b[0]:b,n.merge(this,n.parseHTML(c[1],b&&b.nodeType?b.ownerDocument||b:l,!0)),v.test(c[1])&&n.isPlainObject(b))for(c in b)n.isFunction(this[c])?this[c](b[c]):this.attr(c,b[c]);return this}return d=l.getElementById(c[2]),d&&d.parentNode&&(this.length=1,this[0]=d),this.context=l,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):n.isFunction(a)?"undefined"!=typeof y.ready?y.ready(a):a(n):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),n.makeArray(a,this))};A.prototype=n.fn,y=n(l);var B=/^(?:parents|prev(?:Until|All))/,C={children:!0,contents:!0,next:!0,prev:!0};n.extend({dir:function(a,b,c){var d=[],e=void 0!==c;while((a=a[b])&&9!==a.nodeType)if(1===a.nodeType){if(e&&n(a).is(c))break;d.push(a)}return d},sibling:function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c}}),n.fn.extend({has:function(a){var b=n(a,this),c=b.length;return this.filter(function(){for(var a=0;c>a;a++)if(n.contains(this,b[a]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=u.test(a)||"string"!=typeof a?n(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&n.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?n.unique(f):f)},index:function(a){return a?"string"==typeof a?g.call(n(a),this[0]):g.call(this,a.jquery?a[0]:a):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(n.unique(n.merge(this.get(),n(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function D(a,b){while((a=a[b])&&1!==a.nodeType);return a}n.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return n.dir(a,"parentNode")},parentsUntil:function(a,b,c){return n.dir(a,"parentNode",c)},next:function(a){return D(a,"nextSibling")},prev:function(a){return D(a,"previousSibling")},nextAll:function(a){return n.dir(a,"nextSibling")},prevAll:function(a){return n.dir(a,"previousSibling")},nextUntil:function(a,b,c){return n.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return n.dir(a,"previousSibling",c)},siblings:function(a){return n.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return n.sibling(a.firstChild)},contents:function(a){return a.contentDocument||n.merge([],a.childNodes)}},function(a,b){n.fn[a]=function(c,d){var e=n.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=n.filter(d,e)),this.length>1&&(C[a]||n.unique(e),B.test(a)&&e.reverse()),this.pushStack(e)}});var E=/\S+/g,F={};function G(a){var b=F[a]={};return n.each(a.match(E)||[],function(a,c){b[c]=!0}),b}n.Callbacks=function(a){a="string"==typeof a?F[a]||G(a):n.extend({},a);var b,c,d,e,f,g,h=[],i=!a.once&&[],j=function(l){for(b=a.memory&&l,c=!0,g=e||0,e=0,f=h.length,d=!0;h&&f>g;g++)if(h[g].apply(l[0],l[1])===!1&&a.stopOnFalse){b=!1;break}d=!1,h&&(i?i.length&&j(i.shift()):b?h=[]:k.disable())},k={add:function(){if(h){var c=h.length;!function g(b){n.each(b,function(b,c){var d=n.type(c);"function"===d?a.unique&&k.has(c)||h.push(c):c&&c.length&&"string"!==d&&g(c)})}(arguments),d?f=h.length:b&&(e=c,j(b))}return this},remove:function(){return h&&n.each(arguments,function(a,b){var c;while((c=n.inArray(b,h,c))>-1)h.splice(c,1),d&&(f>=c&&f--,g>=c&&g--)}),this},has:function(a){return a?n.inArray(a,h)>-1:!(!h||!h.length)},empty:function(){return h=[],f=0,this},disable:function(){return h=i=b=void 0,this},disabled:function(){return!h},lock:function(){return i=void 0,b||k.disable(),this},locked:function(){return!i},fireWith:function(a,b){return!h||c&&!i||(b=b||[],b=[a,b.slice?b.slice():b],d?i.push(b):j(b)),this},fire:function(){return k.fireWith(this,arguments),this},fired:function(){return!!c}};return k},n.extend({Deferred:function(a){var b=[["resolve","done",n.Callbacks("once memory"),"resolved"],["reject","fail",n.Callbacks("once memory"),"rejected"],["notify","progress",n.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return n.Deferred(function(c){n.each(b,function(b,f){var g=n.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&n.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?n.extend(a,d):d}},e={};return d.pipe=d.then,n.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=d.call(arguments),e=c.length,f=1!==e||a&&n.isFunction(a.promise)?e:0,g=1===f?a:n.Deferred(),h=function(a,b,c){return function(e){b[a]=this,c[a]=arguments.length>1?d.call(arguments):e,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(e>1)for(i=new Array(e),j=new Array(e),k=new Array(e);e>b;b++)c[b]&&n.isFunction(c[b].promise)?c[b].promise().done(h(b,k,c)).fail(g.reject).progress(h(b,j,i)):--f;return f||g.resolveWith(k,c),g.promise()}});var H;n.fn.ready=function(a){return n.ready.promise().done(a),this},n.extend({isReady:!1,readyWait:1,holdReady:function(a){a?n.readyWait++:n.ready(!0)},ready:function(a){(a===!0?--n.readyWait:n.isReady)||(n.isReady=!0,a!==!0&&--n.readyWait>0||(H.resolveWith(l,[n]),n.fn.triggerHandler&&(n(l).triggerHandler("ready"),n(l).off("ready"))))}});function I(){l.removeEventListener("DOMContentLoaded",I,!1),a.removeEventListener("load",I,!1),n.ready()}n.ready.promise=function(b){return H||(H=n.Deferred(),"complete"===l.readyState?setTimeout(n.ready):(l.addEventListener("DOMContentLoaded",I,!1),a.addEventListener("load",I,!1))),H.promise(b)},n.ready.promise();var J=n.access=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===n.type(c)){e=!0;for(h in c)n.access(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,n.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(n(a),c)})),b))for(;i>h;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f};n.acceptData=function(a){return 1===a.nodeType||9===a.nodeType||!+a.nodeType};function K(){Object.defineProperty(this.cache={},0,{get:function(){return{}}}),this.expando=n.expando+K.uid++}K.uid=1,K.accepts=n.acceptData,K.prototype={key:function(a){if(!K.accepts(a))return 0;var b={},c=a[this.expando];if(!c){c=K.uid++;try{b[this.expando]={value:c},Object.defineProperties(a,b)}catch(d){b[this.expando]=c,n.extend(a,b)}}return this.cache[c]||(this.cache[c]={}),c},set:function(a,b,c){var d,e=this.key(a),f=this.cache[e];if("string"==typeof b)f[b]=c;else if(n.isEmptyObject(f))n.extend(this.cache[e],b);else for(d in b)f[d]=b[d];return f},get:function(a,b){var c=this.cache[this.key(a)];return void 0===b?c:c[b]},access:function(a,b,c){var d;return void 0===b||b&&"string"==typeof b&&void 0===c?(d=this.get(a,b),void 0!==d?d:this.get(a,n.camelCase(b))):(this.set(a,b,c),void 0!==c?c:b)},remove:function(a,b){var c,d,e,f=this.key(a),g=this.cache[f];if(void 0===b)this.cache[f]={};else{n.isArray(b)?d=b.concat(b.map(n.camelCase)):(e=n.camelCase(b),b in g?d=[b,e]:(d=e,d=d in g?[d]:d.match(E)||[])),c=d.length;while(c--)delete g[d[c]]}},hasData:function(a){return!n.isEmptyObject(this.cache[a[this.expando]]||{})},discard:function(a){a[this.expando]&&delete this.cache[a[this.expando]]}};var L=new K,M=new K,N=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,O=/([A-Z])/g;function P(a,b,c){var d;if(void 0===c&&1===a.nodeType)if(d="data-"+b.replace(O,"-$1").toLowerCase(),c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:N.test(c)?n.parseJSON(c):c}catch(e){}M.set(a,b,c)}else c=void 0;return c}n.extend({hasData:function(a){return M.hasData(a)||L.hasData(a)},data:function(a,b,c){ 9 | return M.access(a,b,c)},removeData:function(a,b){M.remove(a,b)},_data:function(a,b,c){return L.access(a,b,c)},_removeData:function(a,b){L.remove(a,b)}}),n.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=M.get(f),1===f.nodeType&&!L.get(f,"hasDataAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=n.camelCase(d.slice(5)),P(f,d,e[d])));L.set(f,"hasDataAttrs",!0)}return e}return"object"==typeof a?this.each(function(){M.set(this,a)}):J(this,function(b){var c,d=n.camelCase(a);if(f&&void 0===b){if(c=M.get(f,a),void 0!==c)return c;if(c=M.get(f,d),void 0!==c)return c;if(c=P(f,d,void 0),void 0!==c)return c}else this.each(function(){var c=M.get(this,d);M.set(this,d,b),-1!==a.indexOf("-")&&void 0!==c&&M.set(this,a,b)})},null,b,arguments.length>1,null,!0)},removeData:function(a){return this.each(function(){M.remove(this,a)})}}),n.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=L.get(a,b),c&&(!d||n.isArray(c)?d=L.access(a,b,n.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=n.queue(a,b),d=c.length,e=c.shift(),f=n._queueHooks(a,b),g=function(){n.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return L.get(a,c)||L.access(a,c,{empty:n.Callbacks("once memory").add(function(){L.remove(a,[b+"queue",c])})})}}),n.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.lengthx",k.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue}();var U="undefined";k.focusinBubbles="onfocusin"in a;var V=/^key/,W=/^(?:mouse|pointer|contextmenu)|click/,X=/^(?:focusinfocus|focusoutblur)$/,Y=/^([^.]*)(?:\.(.+)|)$/;function Z(){return!0}function $(){return!1}function _(){try{return l.activeElement}catch(a){}}n.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=L.get(a);if(r){c.handler&&(f=c,c=f.handler,e=f.selector),c.guid||(c.guid=n.guid++),(i=r.events)||(i=r.events={}),(g=r.handle)||(g=r.handle=function(b){return typeof n!==U&&n.event.triggered!==b.type?n.event.dispatch.apply(a,arguments):void 0}),b=(b||"").match(E)||[""],j=b.length;while(j--)h=Y.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o&&(l=n.event.special[o]||{},o=(e?l.delegateType:l.bindType)||o,l=n.event.special[o]||{},k=n.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&n.expr.match.needsContext.test(e),namespace:p.join(".")},f),(m=i[o])||(m=i[o]=[],m.delegateCount=0,l.setup&&l.setup.call(a,d,p,g)!==!1||a.addEventListener&&a.addEventListener(o,g,!1)),l.add&&(l.add.call(a,k),k.handler.guid||(k.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,k):m.push(k),n.event.global[o]=!0)}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=L.hasData(a)&&L.get(a);if(r&&(i=r.events)){b=(b||"").match(E)||[""],j=b.length;while(j--)if(h=Y.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=n.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,m=i[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),g=f=m.length;while(f--)k=m[f],!e&&q!==k.origType||c&&c.guid!==k.guid||h&&!h.test(k.namespace)||d&&d!==k.selector&&("**"!==d||!k.selector)||(m.splice(f,1),k.selector&&m.delegateCount--,l.remove&&l.remove.call(a,k));g&&!m.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||n.removeEvent(a,o,r.handle),delete i[o])}else for(o in i)n.event.remove(a,o+b[j],c,d,!0);n.isEmptyObject(i)&&(delete r.handle,L.remove(a,"events"))}},trigger:function(b,c,d,e){var f,g,h,i,k,m,o,p=[d||l],q=j.call(b,"type")?b.type:b,r=j.call(b,"namespace")?b.namespace.split("."):[];if(g=h=d=d||l,3!==d.nodeType&&8!==d.nodeType&&!X.test(q+n.event.triggered)&&(q.indexOf(".")>=0&&(r=q.split("."),q=r.shift(),r.sort()),k=q.indexOf(":")<0&&"on"+q,b=b[n.expando]?b:new n.Event(q,"object"==typeof b&&b),b.isTrigger=e?2:3,b.namespace=r.join("."),b.namespace_re=b.namespace?new RegExp("(^|\\.)"+r.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=d),c=null==c?[b]:n.makeArray(c,[b]),o=n.event.special[q]||{},e||!o.trigger||o.trigger.apply(d,c)!==!1)){if(!e&&!o.noBubble&&!n.isWindow(d)){for(i=o.delegateType||q,X.test(i+q)||(g=g.parentNode);g;g=g.parentNode)p.push(g),h=g;h===(d.ownerDocument||l)&&p.push(h.defaultView||h.parentWindow||a)}f=0;while((g=p[f++])&&!b.isPropagationStopped())b.type=f>1?i:o.bindType||q,m=(L.get(g,"events")||{})[b.type]&&L.get(g,"handle"),m&&m.apply(g,c),m=k&&g[k],m&&m.apply&&n.acceptData(g)&&(b.result=m.apply(g,c),b.result===!1&&b.preventDefault());return b.type=q,e||b.isDefaultPrevented()||o._default&&o._default.apply(p.pop(),c)!==!1||!n.acceptData(d)||k&&n.isFunction(d[q])&&!n.isWindow(d)&&(h=d[k],h&&(d[k]=null),n.event.triggered=q,d[q](),n.event.triggered=void 0,h&&(d[k]=h)),b.result}},dispatch:function(a){a=n.event.fix(a);var b,c,e,f,g,h=[],i=d.call(arguments),j=(L.get(this,"events")||{})[a.type]||[],k=n.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=n.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,c=0;while((g=f.handlers[c++])&&!a.isImmediatePropagationStopped())(!a.namespace_re||a.namespace_re.test(g.namespace))&&(a.handleObj=g,a.data=g.data,e=((n.event.special[g.origType]||{}).handle||g.handler).apply(f.elem,i),void 0!==e&&(a.result=e)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&(!a.button||"click"!==a.type))for(;i!==this;i=i.parentNode||this)if(i.disabled!==!0||"click"!==a.type){for(d=[],c=0;h>c;c++)f=b[c],e=f.selector+" ",void 0===d[e]&&(d[e]=f.needsContext?n(e,this).index(i)>=0:n.find(e,this,null,[i]).length),d[e]&&d.push(f);d.length&&g.push({elem:i,handlers:d})}return h]*)\/>/gi,ba=/<([\w:]+)/,ca=/<|&#?\w+;/,da=/<(?:script|style|link)/i,ea=/checked\s*(?:[^=]|=\s*.checked.)/i,fa=/^$|\/(?:java|ecma)script/i,ga=/^true\/(.*)/,ha=/^\s*\s*$/g,ia={option:[1,""],thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};ia.optgroup=ia.option,ia.tbody=ia.tfoot=ia.colgroup=ia.caption=ia.thead,ia.th=ia.td;function ja(a,b){return n.nodeName(a,"table")&&n.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function ka(a){return a.type=(null!==a.getAttribute("type"))+"/"+a.type,a}function la(a){var b=ga.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function ma(a,b){for(var c=0,d=a.length;d>c;c++)L.set(a[c],"globalEval",!b||L.get(b[c],"globalEval"))}function na(a,b){var c,d,e,f,g,h,i,j;if(1===b.nodeType){if(L.hasData(a)&&(f=L.access(a),g=L.set(b,f),j=f.events)){delete g.handle,g.events={};for(e in j)for(c=0,d=j[e].length;d>c;c++)n.event.add(b,e,j[e][c])}M.hasData(a)&&(h=M.access(a),i=n.extend({},h),M.set(b,i))}}function oa(a,b){var c=a.getElementsByTagName?a.getElementsByTagName(b||"*"):a.querySelectorAll?a.querySelectorAll(b||"*"):[];return void 0===b||b&&n.nodeName(a,b)?n.merge([a],c):c}function pa(a,b){var c=b.nodeName.toLowerCase();"input"===c&&T.test(a.type)?b.checked=a.checked:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}n.extend({clone:function(a,b,c){var d,e,f,g,h=a.cloneNode(!0),i=n.contains(a.ownerDocument,a);if(!(k.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||n.isXMLDoc(a)))for(g=oa(h),f=oa(a),d=0,e=f.length;e>d;d++)pa(f[d],g[d]);if(b)if(c)for(f=f||oa(a),g=g||oa(h),d=0,e=f.length;e>d;d++)na(f[d],g[d]);else na(a,h);return g=oa(h,"script"),g.length>0&&ma(g,!i&&oa(a,"script")),h},buildFragment:function(a,b,c,d){for(var e,f,g,h,i,j,k=b.createDocumentFragment(),l=[],m=0,o=a.length;o>m;m++)if(e=a[m],e||0===e)if("object"===n.type(e))n.merge(l,e.nodeType?[e]:e);else if(ca.test(e)){f=f||k.appendChild(b.createElement("div")),g=(ba.exec(e)||["",""])[1].toLowerCase(),h=ia[g]||ia._default,f.innerHTML=h[1]+e.replace(aa,"<$1>")+h[2],j=h[0];while(j--)f=f.lastChild;n.merge(l,f.childNodes),f=k.firstChild,f.textContent=""}else l.push(b.createTextNode(e));k.textContent="",m=0;while(e=l[m++])if((!d||-1===n.inArray(e,d))&&(i=n.contains(e.ownerDocument,e),f=oa(k.appendChild(e),"script"),i&&ma(f),c)){j=0;while(e=f[j++])fa.test(e.type||"")&&c.push(e)}return k},cleanData:function(a){for(var b,c,d,e,f=n.event.special,g=0;void 0!==(c=a[g]);g++){if(n.acceptData(c)&&(e=c[L.expando],e&&(b=L.cache[e]))){if(b.events)for(d in b.events)f[d]?n.event.remove(c,d):n.removeEvent(c,d,b.handle);L.cache[e]&&delete L.cache[e]}delete M.cache[c[M.expando]]}}}),n.fn.extend({text:function(a){return J(this,function(a){return void 0===a?n.text(this):this.empty().each(function(){(1===this.nodeType||11===this.nodeType||9===this.nodeType)&&(this.textContent=a)})},null,a,arguments.length)},append:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=ja(this,a);b.appendChild(a)}})},prepend:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=ja(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},remove:function(a,b){for(var c,d=a?n.filter(a,this):this,e=0;null!=(c=d[e]);e++)b||1!==c.nodeType||n.cleanData(oa(c)),c.parentNode&&(b&&n.contains(c.ownerDocument,c)&&ma(oa(c,"script")),c.parentNode.removeChild(c));return this},empty:function(){for(var a,b=0;null!=(a=this[b]);b++)1===a.nodeType&&(n.cleanData(oa(a,!1)),a.textContent="");return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return n.clone(this,a,b)})},html:function(a){return J(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a&&1===b.nodeType)return b.innerHTML;if("string"==typeof a&&!da.test(a)&&!ia[(ba.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(aa,"<$1>");try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(n.cleanData(oa(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=arguments[0];return this.domManip(arguments,function(b){a=this.parentNode,n.cleanData(oa(this)),a&&a.replaceChild(b,this)}),a&&(a.length||a.nodeType)?this:this.remove()},detach:function(a){return this.remove(a,!0)},domManip:function(a,b){a=e.apply([],a);var c,d,f,g,h,i,j=0,l=this.length,m=this,o=l-1,p=a[0],q=n.isFunction(p);if(q||l>1&&"string"==typeof p&&!k.checkClone&&ea.test(p))return this.each(function(c){var d=m.eq(c);q&&(a[0]=p.call(this,c,d.html())),d.domManip(a,b)});if(l&&(c=n.buildFragment(a,this[0].ownerDocument,!1,this),d=c.firstChild,1===c.childNodes.length&&(c=d),d)){for(f=n.map(oa(c,"script"),ka),g=f.length;l>j;j++)h=c,j!==o&&(h=n.clone(h,!0,!0),g&&n.merge(f,oa(h,"script"))),b.call(this[j],h,j);if(g)for(i=f[f.length-1].ownerDocument,n.map(f,la),j=0;g>j;j++)h=f[j],fa.test(h.type||"")&&!L.access(h,"globalEval")&&n.contains(i,h)&&(h.src?n._evalUrl&&n._evalUrl(h.src):n.globalEval(h.textContent.replace(ha,"")))}return this}}),n.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){n.fn[a]=function(a){for(var c,d=[],e=n(a),g=e.length-1,h=0;g>=h;h++)c=h===g?this:this.clone(!0),n(e[h])[b](c),f.apply(d,c.get());return this.pushStack(d)}});var qa,ra={};function sa(b,c){var d,e=n(c.createElement(b)).appendTo(c.body),f=a.getDefaultComputedStyle&&(d=a.getDefaultComputedStyle(e[0]))?d.display:n.css(e[0],"display");return e.detach(),f}function ta(a){var b=l,c=ra[a];return c||(c=sa(a,b),"none"!==c&&c||(qa=(qa||n("'); 54 | } 55 | 56 | // Vimeo embeds. 57 | if (videoType === 'vimeo') { 58 | $('#video .video').empty().append(''); 59 | } 60 | 61 | // Wistia embeds. 62 | if (videoType === 'wistia') { 63 | $('#video .video').empty().append(''); 64 | } 65 | 66 | return false; 67 | }); 68 | 69 | $(document).on('click', '.stop', function() { 70 | setTimeout(function() { 71 | $('#video .video').empty().removeClass('youtube vimeo'); 72 | }, 200); 73 | 74 | return false; 75 | }); 76 | }); 77 | 78 | /*********************************************************************************** 79 | 80 | Counting Plays and Loves 81 | 82 | ************************************************************************************/ 83 | 84 | $(document).ready(function(){ 85 | $(document).on('click', '.count', function() { 86 | 87 | // Variables. 88 | var video = $(this).data('video'); 89 | var meta = $(this).data('meta'); 90 | 91 | $.ajax({ 92 | type: 'POST', 93 | url: 'assets/works/post-count.php', 94 | data: {video: video, meta: meta} 95 | }); 96 | 97 | $('#'+video+' .'+meta+'').addClass('animated fast fade-out'); 98 | 99 | setTimeout(function(){ 100 | $('#'+video+' .'+meta+' span').load('index.php #'+video+' .'+meta+' span'); 101 | $('#'+video+' .'+meta+'').removeClass('fade-out').addClass('fade-in'); 102 | }, 500); 103 | 104 | return false; 105 | }); 106 | }); 107 | 108 | /*********************************************************************************** 109 | 110 | The More Panel for Videos 111 | 112 | ************************************************************************************/ 113 | 114 | $(document).ready(function(){ 115 | $('.more').click(function(){ 116 | 117 | // Variables. 118 | var video = $(this).data('video'); 119 | var video_id = $(this).data('video-id'); 120 | var video_type = $(this).data('video-type'); 121 | 122 | var $play = ''; 123 | var $title = $('#'+video+' .copy').contents('h2'); 124 | var $text = $('#'+video+' .copy').contents('p'); 125 | 126 | $('#more .content').empty().append($play).append($title.clone()).append($text.clone()); 127 | }); 128 | }); 129 | 130 | /*********************************************************************************** 131 | 132 | Contact Form Textarea Limitation & Autosize 133 | 134 | ************************************************************************************/ 135 | 136 | $(document).ready(function() { 137 | $('textarea').autosize(); 138 | }); 139 | 140 | $('textarea').keypress(function(e) { 141 | var tval = $('textarea').val(), 142 | tlength = tval.length, 143 | set = 600, 144 | remain = parseInt(set - tlength); 145 | $('p.characters').text(remain); 146 | if (remain <= 0 && e.which !== 0 && e.charCode !== 0) { 147 | $('textarea').val((tval).substring(0, tlength - 1)); 148 | } 149 | }); 150 | 151 | /*********************************************************************************** 152 | 153 | Contact Form Processing 154 | 155 | ************************************************************************************/ 156 | 157 | $(function() { 158 | 159 | // Get the form. 160 | var form = $('#contact-form'); 161 | 162 | // Get the messages div. 163 | var formMessages = $('#contact-form .form-message'); 164 | 165 | // Set up an event listener for the contact form. 166 | $(form).submit(function(e) { 167 | 168 | // Stop the browser from submitting the form. 169 | e.preventDefault(); 170 | 171 | // Serialize the form data. 172 | var formData = $(form).serialize(); 173 | 174 | // Submit the form using AJAX. 175 | $.ajax({ 176 | type: 'POST', 177 | url: $(form).attr('action'), 178 | data: formData 179 | }) 180 | 181 | .done(function(response) { 182 | 183 | // Make sure that the formMessages div has the 'success' class. 184 | $(formMessages).removeClass('error'); 185 | $(formMessages).addClass('success'); 186 | 187 | // Set the message text. 188 | $(formMessages).text(response); 189 | 190 | // Clear the form. 191 | $('#name').val(''); 192 | $('#email').val(''); 193 | $('#message').val(''); 194 | }) 195 | 196 | .fail(function(data) { 197 | 198 | // Make sure that the formMessages div has the 'error' class. 199 | $(formMessages).removeClass('success'); 200 | $(formMessages).addClass('error'); 201 | 202 | // Set the message text. 203 | if (data.responseText !== '') { 204 | $(formMessages).text(data.responseText); 205 | } else { 206 | $(formMessages).text('Oops! An error occured and your message could not be sent.'); 207 | } 208 | }); 209 | }); 210 | }); 211 | 212 | /*********************************************************************************** 213 | 214 | Mailchimp Form Processing 215 | 216 | ************************************************************************************/ 217 | 218 | $(function() { 219 | 220 | // Get the form. 221 | var form = $('#mailchimp-form'); 222 | 223 | // Get the messages div. 224 | var formMessages = $('#mailchimp-form .form-message'); 225 | 226 | // Set up an event listener for the subscribe form. 227 | $(form).submit(function(e) { 228 | 229 | // Stop the browser from submitting the form. 230 | e.preventDefault(); 231 | 232 | // Serialize the form data. 233 | var formData = $(form).serialize(); 234 | 235 | // Submit the form using AJAX. 236 | $.ajax({ 237 | type: 'POST', 238 | url: $(form).attr('action'), 239 | data: formData 240 | }) 241 | 242 | .done(function(response) { 243 | 244 | // Make sure that the formMessages div has the 'success' class. 245 | $(formMessages).removeClass('error'); 246 | $(formMessages).addClass('success'); 247 | 248 | // Set the message text. 249 | $(formMessages).text(response); 250 | 251 | // Clear the form. 252 | $('#mc-email').val(''); 253 | }) 254 | 255 | .fail(function(data) { 256 | 257 | // Make sure that the formMessages div has the 'error' class. 258 | $(formMessages).removeClass('success'); 259 | $(formMessages).addClass('error'); 260 | 261 | // Set the message text. 262 | if (data.responseText !== '') { 263 | $(formMessages).text(data.responseText); 264 | } else { 265 | $(formMessages).text('Oops! An error occured.'); 266 | } 267 | }); 268 | }); 269 | }); 270 | -------------------------------------------------------------------------------- /assets/styles/animations.css: -------------------------------------------------------------------------------- 1 | 2 | /*********************************************************************************** 3 | 4 | Animations 5 | 6 | ************************************************************************************/ 7 | 8 | .animated { 9 | -webkit-animation-duration: .5s; 10 | animation-duration: .5s; 11 | -webkit-animation-fill-mode: both; 12 | animation-fill-mode: both; 13 | } 14 | 15 | .animated.fast { 16 | -webkit-animation-duration: .5s; 17 | animation-duration: .5s; 18 | } 19 | 20 | .animated.slow { 21 | -webkit-animation-duration: 1.25s; 22 | animation-duration: 1.25s; 23 | } 24 | 25 | /* Pulse */ 26 | 27 | .pulse { 28 | -webkit-animation: pulse ease infinite; 29 | animation: pulse ease infinite; 30 | } 31 | 32 | @-webkit-keyframes pulse{from{-webkit-transform:scale(.95)}50%{-webkit-transform:scale(1)}to{-webkit-transform:scale(.95)}} 33 | @-moz-keyframes pulse{from{-moz-transform:scale(.95)}50%{-moz-transform:scale(1)}to{-moz-transform:scale(.95)}} 34 | @keyframes pulse{from{transform:scale(.95)}50%{transform:scale(1)}to{transform:scale(.95)}} 35 | 36 | /* Fade In */ 37 | 38 | .fade-in { 39 | -webkit-animation-name: fade-in; 40 | animation-name: fade-in; 41 | } 42 | 43 | @-webkit-keyframes fade-in{from{opacity:0}to{opacity:1}} 44 | @-moz-keyframes fade-in{from{opacity:0}to{opacity:1}} 45 | @keyframes fade-in{from{opacity:0}to{opacity:1}} 46 | 47 | /* Fade Out */ 48 | 49 | .fade-out { 50 | -webkit-animation-name: fade-out; 51 | animation-name: fade-out; 52 | } 53 | 54 | @-webkit-keyframes fade-out{0%{opacity:1}100%{opacity:0}} 55 | @-moz-keyframes fade-out{0%{opacity:1}100%{opacity:0}} 56 | @keyframes fade-out{0%{opacity:1}100%{opacity:0}} 57 | 58 | /* Slide In */ 59 | 60 | .slide-in { 61 | -webkit-animation-name: slide-in; 62 | animation-name: slide-in; 63 | } 64 | 65 | @-webkit-keyframes slide-in{0%{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0);visibility:visible}100%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}} 66 | @-moz-keyframes slide-in{0%{-moz-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0);visibility:visible}100%{-moz-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}} 67 | @keyframes slide-in{0%{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0);visibility:visible}100%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}} 68 | 69 | /* Slide Out */ 70 | 71 | .slide-out { 72 | -webkit-animation-name: slide-out; 73 | animation-name: slide-out; 74 | } 75 | 76 | @-webkit-keyframes slide-out{0%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}100%{visibility:hidden;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}} 77 | @-moz-keyframes slide-out{0%{-moz-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}100%{visibility:hidden;-moz-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}} 78 | @keyframes slide-out{0%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}100%{visibility:hidden;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}} 79 | -------------------------------------------------------------------------------- /assets/styles/main.css: -------------------------------------------------------------------------------- 1 | 2 | /*********************************************************************************** 3 | 4 | Setup 5 | 6 | ************************************************************************************/ 7 | 8 | html, body { 9 | width: 100%; 10 | height: 100%; 11 | } 12 | 13 | *, *:after, *:after { 14 | box-sizing: border-box; 15 | } 16 | 17 | /*********************************************************************************** 18 | 19 | Typography 20 | 21 | ************************************************************************************/ 22 | 23 | @font-face { 24 | font-family: gotham-book; 25 | src: url('../fonts/gotham-book.ttf') 26 | } 27 | 28 | @font-face { 29 | font-family: gotham-light; 30 | src: url('../fonts/gotham-light.ttf') 31 | } 32 | 33 | @font-face { 34 | font-family: gotham-bold; 35 | src: url('../fonts/gotham-bold.ttf') 36 | } 37 | 38 | body { 39 | font-family: 'gotham-book', sans-serif; 40 | font-size: 14px; 41 | line-height: 1.5; 42 | color: rgba(0, 0, 0, 0.5); 43 | } 44 | 45 | h1, h2 { 46 | font-family: 'gotham-bold', sans-serif; 47 | color: rgba(0, 0, 0, 0.75); 48 | letter-spacing: -1px; 49 | } 50 | 51 | h1 { 52 | font-size: 32px; 53 | } 54 | 55 | h2 { 56 | font-size: 22px; 57 | line-height: 1.2; 58 | } 59 | 60 | a { 61 | text-decoration: none; 62 | } 63 | 64 | a, 65 | button { 66 | transition-duration: 0.25s; 67 | } 68 | 69 | strong { 70 | font-family: 'gotham-bold', sans-serif; 71 | } 72 | 73 | /*********************************************************************************** 74 | 75 | Icons 76 | 77 | ************************************************************************************/ 78 | 79 | @font-face { 80 | font-family: 'ionicons'; 81 | src: url("../icons/ionicons.eot?v=1.4.1"); 82 | src: url("../icons/ionicons.eot?v=1.4.1#iefix") format("embedded-opentype"), url("../icons/ionicons.ttf?v=1.4.1") format("truetype"), url("../icons/ionicons.woff?v=1.4.1") format("woff"), url("../icons/ionicons.svg?v=1.4.1#Ionicons") format("svg"); 83 | font-weight: normal; 84 | font-style: normal; 85 | } 86 | 87 | .icon:after { 88 | font-family: 'ionicons'; 89 | speak: none; 90 | font-style: normal; 91 | font-weight: normal; 92 | font-variant: normal; 93 | text-transform: none; 94 | text-rendering: auto; 95 | text-decoration: none; 96 | -webkit-font-smoothing: antialiased; 97 | -moz-osx-font-smoothing: grayscale; 98 | } 99 | 100 | .icon.love:after { 101 | content: '\f443'; 102 | } 103 | 104 | .icon.play:after { 105 | content: '\f488'; 106 | } 107 | 108 | .icon.twitter:after { 109 | content: '\f243'; 110 | } 111 | 112 | .icon.facebook:after { 113 | content: '\f231'; 114 | } 115 | 116 | .icon.instagram:after { 117 | content: '\f350'; 118 | } 119 | 120 | .icon.email:after { 121 | content: '\f10f'; 122 | } 123 | 124 | .icon.close:after, 125 | .icon.error:after { 126 | content: '\f2d7'; 127 | } 128 | 129 | .icon.submit:after, 130 | .icon.success:after { 131 | content: '\f3fd'; 132 | } 133 | 134 | /*********************************************************************************** 135 | 136 | Universals 137 | 138 | ************************************************************************************/ 139 | 140 | .row { 141 | width: 100%; 142 | 143 | float: left; 144 | } 145 | 146 | .content { 147 | width: -webkit-calc(100% - 200px); 148 | width: -moz-calc(100% - 200px); 149 | width: calc(100% - 200px); 150 | 151 | margin: 0px auto; 152 | 153 | overflow: hidden; 154 | } 155 | 156 | /*********************************************************************************** 157 | 158 | Header & Nav 159 | 160 | ************************************************************************************/ 161 | 162 | header .content { 163 | border-bottom: 1px solid rgba(0, 0, 0, 0.05); 164 | 165 | margin-bottom: 40px; 166 | 167 | position: relative; 168 | } 169 | 170 | header.logo .content { 171 | padding: 80px 0 40px; 172 | } 173 | 174 | header.title .content, 175 | header.tagline .content { 176 | padding: 72px 0 33px; 177 | } 178 | 179 | header .intro { 180 | width: 75%; 181 | float: left; 182 | } 183 | 184 | header .intro img { 185 | height: 100px; 186 | } 187 | 188 | header.tagline .intro img { 189 | margin-bottom: 7px; 190 | } 191 | 192 | header nav { 193 | position: absolute; 194 | bottom: 36px; 195 | right: 0; 196 | } 197 | 198 | header nav a { 199 | border-bottom: 1px solid rgba(0, 0, 0, 0.075); 200 | 201 | color: rgba(0, 0, 0, 0.5); 202 | line-height: 1; 203 | 204 | float: left; 205 | 206 | margin-right: 20px; 207 | } 208 | 209 | header nav a:last-of-type { 210 | margin-right: 0; 211 | } 212 | 213 | header nav a:hover { 214 | border-color: rgba(0, 0, 0, 0.25); 215 | } 216 | 217 | /*********************************************************************************** 218 | 219 | Universal Video Classes 220 | 221 | ************************************************************************************/ 222 | 223 | .video { 224 | width: 100%; 225 | 226 | float: left; 227 | 228 | position: relative; 229 | } 230 | 231 | .video:after { 232 | padding-top: 56.25%; 233 | 234 | display: block; 235 | 236 | content: ''; 237 | } 238 | 239 | .video .play { 240 | border-radius: 6px; 241 | 242 | background-size: cover; 243 | background-repeat: no-repeat; 244 | background-position: center center; 245 | 246 | position: absolute; 247 | top: 0; 248 | bottom: 0; 249 | right: 0; 250 | left: 0; 251 | z-index: 100; 252 | } 253 | 254 | .video .play:after { 255 | font-size: 60px; 256 | color: rgba(255, 255, 255, 0.0); 257 | 258 | position: absolute; 259 | top: 50%; 260 | left: 50%; 261 | 262 | -webkit-transform: translate(-50%, -50%); 263 | -moz-transform: translate(-50%, -50%); 264 | transform: translate(-50%, -50%); 265 | 266 | transition-duration: 0.25s; 267 | } 268 | 269 | .video .play:hover:after { 270 | color: rgba(255, 255, 255, 1.0); 271 | } 272 | 273 | .video iframe { 274 | width: 100%; 275 | height: 100%; 276 | 277 | position: absolute; 278 | top: 0; 279 | left: 0; 280 | } 281 | 282 | /*********************************************************************************** 283 | 284 | Episodes 285 | 286 | ************************************************************************************/ 287 | 288 | #episodes .content article { 289 | position: relative; 290 | 291 | float: left; 292 | 293 | margin-bottom: 33px; 294 | } 295 | 296 | /* Episode Copy */ 297 | 298 | #episodes .content article .copy { 299 | width: 100%; 300 | 301 | float: left; 302 | 303 | margin-top: 13px; 304 | 305 | position: relative; 306 | } 307 | 308 | #episodes .content article .copy h2 { 309 | width: -webkit-calc(100% - 120px); 310 | width: -moz-calc(100% - 120px); 311 | width: calc(100% - 120px); 312 | 313 | margin-bottom: 8px; 314 | } 315 | 316 | #episodes .content article .copy p { 317 | max-width: 75%; 318 | height: 42px; 319 | 320 | margin-bottom: 7px; 321 | 322 | position: relative; 323 | 324 | overflow: hidden; 325 | } 326 | 327 | #episodes .content article .copy p:after { 328 | background: -moz-linear-gradient(top, rgba(255, 255, 255, 0.0) 0%, white 100%); 329 | background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, rgba(255, 255, 255, 0.0)), color-stop(100%, white)); 330 | background: -webkit-linear-gradient(top, rgba(255, 255, 255, 0.0) 0%, white 100%); 331 | background: -o-linear-gradient(top, rgba(255, 255, 255, 0.0) 0%, white 100%); 332 | background: -ms-linear-gradient(top, rgba(255, 255, 255, 0.0) 0%, white 100%); 333 | background: linear-gradient(to bottom, rgba(255, 255, 255, 0.0) 0%, white 100%); 334 | 335 | filter: progid: DXImageTransform.Microsoft.gradient(startColorstr='#00ffffff', endColorstr='#ffffff', GradientType=0); 336 | 337 | width: 100%; 338 | height: 30px; 339 | 340 | position: absolute; 341 | bottom: 0; 342 | left: 0; 343 | 344 | display: block; 345 | 346 | overflow: hidden; 347 | 348 | content: ''; 349 | } 350 | 351 | /* Episode Details */ 352 | 353 | #episodes .content article .copy .details, 354 | #episodes .content article .copy .details a { 355 | font-size: 12px; 356 | color: rgba(0, 0, 0, 0.5); 357 | } 358 | 359 | #episodes .content article .copy .details a { 360 | border-bottom: 1px solid rgba(0, 0, 0, 0.075); 361 | } 362 | 363 | #episodes .content article .copy .details a:hover { 364 | border-color: rgba(0, 0, 0, 0.25); 365 | } 366 | 367 | /* Episode Actions */ 368 | 369 | #episodes .content article .copy .actions { 370 | position: absolute; 371 | top: -1px; 372 | right: 0; 373 | z-index: 100; 374 | } 375 | 376 | #episodes .content article .copy .actions .action { 377 | font-size: 12px; 378 | line-height: 28px; 379 | color: rgba(0, 0, 0, 0.25); 380 | 381 | float: left; 382 | 383 | margin-left: 10px; 384 | } 385 | 386 | #episodes .content article .copy .actions .action a { 387 | border-radius: 13px; 388 | border: 1px solid rgba(0, 0, 0, 0.15); 389 | 390 | color: rgba(0, 0, 0, 0.25); 391 | text-align: center; 392 | 393 | width: 26px; 394 | height: 26px; 395 | 396 | float: right; 397 | 398 | margin-left: 5px; 399 | 400 | position: relative; 401 | } 402 | 403 | #episodes .content article .copy .actions .action .play { 404 | font-size: 16px; 405 | line-height: 24px; 406 | 407 | padding-left: 2px; 408 | } 409 | 410 | #episodes .content article .copy .actions .action .play:hover { 411 | border-color: rgba(85, 172, 239, 0.5); 412 | 413 | color: rgba(85, 172, 239, 0.5); 414 | } 415 | 416 | #episodes .content article .copy .actions .action .love { 417 | font-size: 12px; 418 | line-height: 25px; 419 | } 420 | 421 | #episodes .content article .copy .actions .action .love:hover { 422 | border-color: rgba(232, 27, 60, 0.5); 423 | 424 | color: rgba(232, 27, 60, 0.5); 425 | } 426 | 427 | /* The Latest Episode */ 428 | 429 | #episodes .content article:first-of-type { 430 | width: 100%; 431 | } 432 | 433 | #episodes .content article.latest { 434 | border-bottom: 1px solid rgba(0, 0, 0, 0.05); 435 | 436 | padding-bottom: 33px; 437 | margin-bottom: 40px; 438 | } 439 | 440 | /* Episode Archive */ 441 | 442 | #episodes .content article.archive { 443 | width: -webkit-calc(50% - 20px); 444 | width: -moz-calc(50% - 20px); 445 | width: calc(50% - 20px); 446 | } 447 | 448 | #episodes .content article.archive:nth-child(odd) { 449 | margin-left: 20px; 450 | } 451 | 452 | #episodes .content article.archive:nth-child(even) { 453 | margin-right: 20px; 454 | } 455 | 456 | /*********************************************************************************** 457 | 458 | Panel Forms 459 | 460 | ************************************************************************************/ 461 | 462 | .panel { 463 | background-color: rgba(255, 255, 255, 0.95); 464 | 465 | width: 100%; 466 | height: 100%; 467 | 468 | position: fixed; 469 | top: 0; 470 | left: 0; 471 | z-index: 200; 472 | } 473 | 474 | /* Panel States */ 475 | 476 | .panel.closed { 477 | display: none; 478 | } 479 | 480 | .panel.opened { 481 | display: block; 482 | } 483 | 484 | /* Close Button */ 485 | 486 | .panel .close { 487 | font-size: 25px; 488 | line-height: 96px; 489 | color: rgba(0, 0, 0, 0.75); 490 | text-align: center; 491 | 492 | width: 96px; 493 | height: 96px; 494 | 495 | position: fixed; 496 | top: 0; 497 | right: 0; 498 | z-index: 220; 499 | } 500 | 501 | .panel .close:hover { 502 | color: rgba(0, 0, 0, 0.5); 503 | } 504 | 505 | .panel .content { 506 | width: -webkit-calc(100% - 400px); 507 | width: -moz-calc(100% - 400px); 508 | width: calc(100% - 400px); 509 | 510 | position: absolute; 511 | top: 50%; 512 | left: 50%; 513 | 514 | -webkit-transform: translate(-50%, -50%); 515 | -moz-transform: translate(-50%, -50%); 516 | transform: translate(-50%, -50%); 517 | } 518 | 519 | .panel.copy .content { 520 | max-width: 600px; 521 | } 522 | 523 | .panel.copy .content h2 { 524 | font-size: 32px; 525 | 526 | margin-bottom: 5px; 527 | } 528 | 529 | .panel.copy .content p { 530 | margin-bottom: 20px; 531 | } 532 | 533 | .panel.copy .content p a { 534 | border-bottom: 1px solid rgba(0, 0, 0, 0.075); 535 | 536 | color: rgba(0, 0, 0, 0.5); 537 | } 538 | 539 | .panel.copy .content a:hover { 540 | border-color: rgba(0, 0, 0, 0.25); 541 | } 542 | 543 | /*********************************************************************************** 544 | 545 | Panel Forms 546 | 547 | ************************************************************************************/ 548 | 549 | .panel .content form { 550 | margin-top: 10px; 551 | } 552 | 553 | .panel .content form .form-message.success, 554 | .panel .content form .form-message.error { 555 | border-radius: 3px; 556 | 557 | background-color: rgba(0, 0, 0, 0.075); 558 | 559 | font-size: 12px; 560 | line-height: 26px; 561 | text-align: center; 562 | 563 | height: 26px; 564 | 565 | margin: 4px 0 36px; 566 | } 567 | 568 | .panel .content form input[type="text"], 569 | .panel .content form input[type="password"], 570 | .panel .content form input[type="email"], 571 | .panel .content form textarea { 572 | border: none; 573 | border-bottom: 1px solid rgba(0, 0, 0, 0.075); 574 | 575 | background: none; 576 | 577 | outline: none; 578 | resize: none; 579 | 580 | font-family: 'gotham-book', sans-serif; 581 | font-size: 14px; 582 | line-height: 16px; 583 | color: rgba(102, 102, 102, 0.75); 584 | 585 | width: 100%; 586 | 587 | float: left; 588 | 589 | position: relative; 590 | 591 | padding: 0 0 4px; 592 | margin: 0 0 16px; 593 | } 594 | 595 | ::-webkit-input-placeholder { 596 | color: rgba(102, 102, 102, 0.75); 597 | } 598 | 599 | :-moz-placeholder { 600 | color: rgba(102, 102, 102, 0.75); 601 | } 602 | 603 | ::-moz-placeholder { 604 | color: rgba(102, 102, 102, 0.75); 605 | } 606 | 607 | :-ms-input-placeholder { 608 | color: rgba(102, 102, 102, 0.75); 609 | } 610 | 611 | .panel .content form textarea { 612 | height: 16px; 613 | 614 | padding-bottom: 6px; 615 | } 616 | 617 | .panel .content form p.characters { 618 | font-size: 12px; 619 | line-height: 1; 620 | 621 | color: rgba(0, 0, 0, 0.15); 622 | 623 | position: absolute; 624 | bottom: 25px; 625 | right: 0; 626 | } 627 | 628 | .panel .content form button { 629 | border: none; 630 | border-radius: 13px; 631 | 632 | background: none; 633 | background-color: rgba(0, 0, 0, 0.75); 634 | 635 | font-family: 'gotham-book', sans-serif; 636 | font-size: 12px; 637 | color: rgba(255, 255, 255, 0.85); 638 | text-align: center; 639 | 640 | height: 26px; 641 | 642 | float: left; 643 | 644 | padding: 0 12px; 645 | margin-top: 24px; 646 | 647 | cursor: pointer; 648 | } 649 | 650 | .panel .content form button:hover { 651 | background-color: rgba(0, 0, 0, 0.5); 652 | } 653 | 654 | .panel .content form button:focus { 655 | outline: 0; 656 | } 657 | 658 | /*********************************************************************************** 659 | 660 | The About Panel 661 | 662 | ************************************************************************************/ 663 | 664 | #about img.profile { 665 | border-radius: 50%; 666 | 667 | width: 100px; 668 | height: 100px; 669 | 670 | display: inline-block; 671 | 672 | margin-bottom: 20px; 673 | } 674 | 675 | #about img.signature { 676 | width: 75px; 677 | } 678 | 679 | /*********************************************************************************** 680 | 681 | The More Panel 682 | 683 | ************************************************************************************/ 684 | 685 | #more .content { 686 | padding-left: 140px; 687 | } 688 | 689 | #more .content .play { 690 | border-radius: 50%; 691 | 692 | background-size: cover; 693 | background-repeat: no-repeat; 694 | background-position: center center; 695 | 696 | font-size: 38px; 697 | line-height: 100px; 698 | color: rgba(255, 255, 255, 1); 699 | text-align: center; 700 | 701 | width: 100px; 702 | height: 100px; 703 | 704 | position: absolute; 705 | top: 0; 706 | left: 0; 707 | z-index: 220; 708 | 709 | padding-left: 5px; 710 | } 711 | 712 | #more .content .play:hover { 713 | opacity: 0.75; 714 | } 715 | 716 | #more .content .play:after { 717 | z-index: 230; 718 | } 719 | 720 | /*********************************************************************************** 721 | 722 | The Footer 723 | 724 | ************************************************************************************/ 725 | 726 | footer .content { 727 | border-top: 1px solid rgba(0, 0, 0, 0.05); 728 | 729 | padding: 37px 0; 730 | } 731 | 732 | footer .content h3, 733 | footer .content a { 734 | line-height: 1; 735 | color: rgba(0, 0, 0, 0.25); 736 | } 737 | 738 | footer .content h3 { 739 | float: left; 740 | } 741 | 742 | footer .content a { 743 | border-bottom: 1px solid rgba(0, 0, 0, 0.05); 744 | } 745 | 746 | footer .content a:hover { 747 | border-color: rgba(0, 0, 0, 0.15); 748 | } 749 | 750 | footer .content nav { 751 | float: right; 752 | } 753 | 754 | footer .content nav a { 755 | float: left; 756 | 757 | margin-right: 20px; 758 | } 759 | 760 | footer .content nav a:last-of-type { 761 | margin-right: 0; 762 | } 763 | 764 | footer .content nav a.twitter { 765 | border-color: rgba(85, 172, 239, 0.25); 766 | } 767 | 768 | footer .content nav a.twitter:hover { 769 | border-color: rgba(85, 172, 239, 0.5); 770 | } 771 | 772 | footer .content nav a.instagram { 773 | border-color: rgba(232, 27, 60, 0.25); 774 | } 775 | 776 | footer .content nav a.instagram:hover { 777 | border-color: rgba(232, 27, 60, 0.5); 778 | } 779 | 780 | footer .content nav a.facebook { 781 | border-color: rgba(56, 100, 163, 0.25); 782 | } 783 | 784 | footer .content nav a.facebook:hover { 785 | border-color: rgba(56, 100, 163, 0.5); 786 | } 787 | -------------------------------------------------------------------------------- /assets/styles/normalize.css: -------------------------------------------------------------------------------- 1 | 2 | /******************************************************************************* 3 | 4 | Normalization: No need to edit this. 5 | 6 | ********************************************************************************/ 7 | 8 | html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{border:0;font-size:100%;font:inherit;vertical-align:baseline;margin:0;padding:0}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:none}table{border-collapse:collapse;border-spacing:0} 9 | -------------------------------------------------------------------------------- /assets/styles/responsive.css: -------------------------------------------------------------------------------- 1 | 2 | /*********************************************************************************** 3 | 4 | Universals 5 | 6 | ************************************************************************************/ 7 | 8 | @media (max-width: 960px) { 9 | .content { 10 | width: -webkit-calc(100% - 80px); 11 | width: -moz-calc(100% - 80px); 12 | width: calc(100% - 80px); 13 | } 14 | } 15 | 16 | @media (max-width: 420px) { 17 | .content { 18 | width: -webkit-calc(100% - 40px); 19 | width: -moz-calc(100% - 4px); 20 | width: calc(100% - 40px); 21 | } 22 | } 23 | 24 | /*********************************************************************************** 25 | 26 | Header & Nav 27 | 28 | ************************************************************************************/ 29 | 30 | @media (max-width: 420px) { 31 | header .intro, 32 | header nav { 33 | width: 100%; 34 | } 35 | 36 | header .intro blockquote { 37 | font-family: 'gotham-bold', sans-serif; 38 | } 39 | 40 | header nav { 41 | position: relative; 42 | 43 | float: left; 44 | 45 | bottom: 0; 46 | left: 0; 47 | 48 | margin-top: 10px; 49 | } 50 | 51 | header .content nav a { 52 | font-size: 12px; 53 | 54 | margin-right: 10px; 55 | } 56 | 57 | } 58 | 59 | /*********************************************************************************** 60 | 61 | Episodes 62 | 63 | ************************************************************************************/ 64 | 65 | @media (max-width: 720px) { 66 | #episodes .content article.latest { 67 | border-bottom: none; 68 | 69 | padding-bottom: 0; 70 | margin-bottom: 34px; 71 | } 72 | 73 | #episodes .content article.archive, 74 | #episodes .content article.archive:nth-child(odd), 75 | #episodes .content article.archive:nth-child(even) { 76 | width: 100%; 77 | 78 | margin-left: 0; 79 | margin-right: 0; 80 | } 81 | } 82 | 83 | @media (max-width: 420px) { 84 | #episodes .content article .copy p { 85 | max-width: 100%; 86 | } 87 | } 88 | 89 | /*********************************************************************************** 90 | 91 | Panels 92 | 93 | ************************************************************************************/ 94 | 95 | @media (max-width: 1080px) { 96 | .panel .content { 97 | width: -webkit-calc(100% - 200px); 98 | width: -moz-calc(100% - 200px); 99 | width: calc(100% - 200px); 100 | } 101 | } 102 | 103 | @media (max-width: 768px) { 104 | .panel .content { 105 | width: -webkit-calc(100% - 80px); 106 | width: -moz-calc(100% - 80px); 107 | width: calc(100% - 80px); 108 | } 109 | } 110 | 111 | @media (max-width: 420px) { 112 | .panel .close { 113 | line-height: 56px; 114 | 115 | width: 56px; 116 | height: 56px; 117 | } 118 | 119 | .panel .content { 120 | width: -webkit-calc(100% - 40px); 121 | width: -moz-calc(100% - 40px); 122 | width: calc(100% - 40px); 123 | } 124 | } 125 | 126 | /*********************************************************************************** 127 | 128 | The More Panel 129 | 130 | ************************************************************************************/ 131 | 132 | @media (max-width: 420px) { 133 | #more .content { 134 | padding-left: 0; 135 | } 136 | 137 | #more .content .play { 138 | display: none; 139 | } 140 | } 141 | 142 | /*********************************************************************************** 143 | 144 | The Footer 145 | 146 | ************************************************************************************/ 147 | 148 | @media (max-width: 580px) { 149 | footer .content h3, 150 | footer .content nav { 151 | width: 100%; 152 | 153 | float: left; 154 | } 155 | 156 | footer .content h3 { 157 | font-family: 'gotham-bold', sans-serif; 158 | 159 | margin-bottom: 14px; 160 | } 161 | 162 | footer .content nav, 163 | footer .content nav a { 164 | font-size: 12px; 165 | 166 | margin-right: 10px; 167 | } 168 | } 169 | -------------------------------------------------------------------------------- /assets/templates/post.php: -------------------------------------------------------------------------------- 1 |
2 |
3 | 4 |
5 |
6 |

7 |

8 | Posted | Read More 9 | 10 |
11 |
12 | 13 | 14 |
15 |
16 | 17 | 18 |
19 |
20 |
21 |
-------------------------------------------------------------------------------- /assets/works/api-mailchimp.php: -------------------------------------------------------------------------------- 1 | 10 | * Lorna Jane Mitchell, github.com/lornajane 11 | * 12 | * @author Drew McLellan 13 | * @version 1.1.1 14 | */ 15 | class MailChimp 16 | { 17 | private $api_key; 18 | private $api_endpoint = 'https://.api.mailchimp.com/2.0'; 19 | private $verify_ssl = false; 20 | 21 | /** 22 | * Create a new instance 23 | * @param string $api_key Your MailChimp API key 24 | */ 25 | function __construct($api_key) 26 | { 27 | $this->api_key = $api_key; 28 | list(, $datacentre) = explode('-', $this->api_key); 29 | $this->api_endpoint = str_replace('', $datacentre, $this->api_endpoint); 30 | } 31 | 32 | /** 33 | * Call an API method. Every request needs the API key, so that is added automatically -- you don't need to pass it in. 34 | * @param string $method The API method to call, e.g. 'lists/list' 35 | * @param array $args An array of arguments to pass to the method. Will be json-encoded for you. 36 | * @return array Associative array of json decoded API response. 37 | */ 38 | public function call($method, $args=array()) 39 | { 40 | return $this->makeRequest($method, $args); 41 | } 42 | 43 | /** 44 | * Performs the underlying HTTP request. Not very exciting 45 | * @param string $method The API method to be called 46 | * @param array $args Assoc array of parameters to be passed 47 | * @return array Assoc array of decoded result 48 | */ 49 | private function makeRequest($method, $args=array()) 50 | { 51 | $args['apikey'] = $this->api_key; 52 | 53 | $url = $this->api_endpoint.'/'.$method.'.json'; 54 | 55 | if (function_exists('curl_init') && function_exists('curl_setopt')){ 56 | $ch = curl_init(); 57 | curl_setopt($ch, CURLOPT_URL, $url); 58 | curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json')); 59 | curl_setopt($ch, CURLOPT_USERAGENT, 'PHP-MCAPI/2.0'); 60 | curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 61 | curl_setopt($ch, CURLOPT_TIMEOUT, 10); 62 | curl_setopt($ch, CURLOPT_POST, true); 63 | curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, $this->verify_ssl); 64 | curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($args)); 65 | $result = curl_exec($ch); 66 | curl_close($ch); 67 | } else { 68 | $json_data = json_encode($args); 69 | $result = file_get_contents($url, null, stream_context_create(array( 70 | 'http' => array( 71 | 'protocol_version' => 1.1, 72 | 'user_agent' => 'PHP-MCAPI/2.0', 73 | 'method' => 'POST', 74 | 'header' => "Content-type: application/json\r\n". 75 | "Connection: close\r\n" . 76 | "Content-length: " . strlen($json_data) . "\r\n", 77 | 'content' => $json_data, 78 | ), 79 | ))); 80 | } 81 | 82 | return $result ? json_decode($result, true) : false; 83 | } 84 | } 85 | -------------------------------------------------------------------------------- /assets/works/main.php: -------------------------------------------------------------------------------- 1 | = $intervals[$j] && $j < count($intervals)-1; $j++) { 54 | $difference /= $intervals[$j]; 55 | } 56 | $difference = round($difference); 57 | 58 | // Add 's' if greater than 1 'minute', 'year', etc. 59 | if($difference != 1) { 60 | $units[$j].= "s"; 61 | } 62 | 63 | // Final formatting '1 day ago'. 64 | $ago = "$difference ".$units[$j]." Ago"; 65 | 66 | // Echo result. 67 | echo $ago; 68 | } 69 | 70 | /*********************************************************************************** 71 | 72 | The "Truncate Text" Function 73 | 74 | ************************************************************************************/ 75 | 76 | function truncate($text, $chars = 25) { 77 | $text = $text." "; 78 | $text = substr($text,0,$chars); 79 | $text = substr($text,0,strrpos($text,' ')); 80 | $text = $text." ..."; 81 | return $text; 82 | } 83 | 84 | /*********************************************************************************** 85 | 86 | The Get Count Function 87 | 88 | ************************************************************************************/ 89 | 90 | function get_count($meta, $post_id) { 91 | 92 | // Set the data folder. 93 | $meta_folder = './assets/works/meta/'; 94 | 95 | // Loves count. 96 | $meta_file = file($meta_folder . $post_id . '-' . $meta . '.txt'); 97 | $meta_count = number_format($meta_file[0]); 98 | 99 | // Return the loves. 100 | echo $meta_count; 101 | } 102 | 103 | /*********************************************************************************** 104 | 105 | The "Get Content" Function 106 | 107 | ************************************************************************************/ 108 | 109 | function get_content() { 110 | 111 | // The content directory. 112 | $content_dir = '././content/'; 113 | 114 | // Read the content posts. 115 | if($handle = opendir($content_dir)) { 116 | 117 | // Set up the posts array. 118 | $posts = array(); 119 | 120 | // Set up the post times array. 121 | $post_times = array(); 122 | 123 | // Let’s loop throught the entires. 124 | while (false !== ($post = readdir($handle))) { 125 | if(substr(strrchr($post,'.'),1)==ltrim('.txt', '.')) { 126 | 127 | // Post meta. 128 | $post_content = file($content_dir.$post); 129 | $post_time = strtotime($post_content[2]); 130 | $post_id = str_replace(".txt", '', $post); 131 | $post_video_type = strtok($post_id, '-'); 132 | $post_video_id = str_replace($post_video_type . '-', '', $post_id); 133 | 134 | // Post content. 135 | $post_title = str_replace("\n", '', $post_content[0]); 136 | $post_date = str_replace("\n", '', $post_content[2]); 137 | $post_text = str_replace("\n", '', $post_content[4]); 138 | 139 | // Post image. 140 | $post_image = 'content/' . $post_id . '.jpg'; 141 | 142 | // The content array. 143 | $posts[] = array( 144 | 'time' => $post_time, 145 | 'id' => $post_id, 146 | 'video_type' => $post_video_type, 147 | 'video_id' => $post_video_id, 148 | 'title' => $post_title, 149 | 'date' => $post_date, 150 | 'text' => $post_text, 151 | 'image' => $post_image 152 | ); 153 | 154 | // Sort by time. 155 | $post_times[] = $post_time; 156 | } 157 | } 158 | array_multisort($post_times, SORT_DESC, $posts); 159 | return $posts; 160 | } else { 161 | return false; 162 | } 163 | } 164 | 165 | /*********************************************************************************** 166 | 167 | The Content Loop 168 | 169 | ************************************************************************************/ 170 | 171 | if(empty($_GET['v'])) { 172 | $posts = get_content(); 173 | if($posts) { 174 | ob_start(); 175 | 176 | // Reset the content. 177 | $content = ''; 178 | 179 | // Reset the counter. 180 | $count = 0; 181 | 182 | // Start the loop. 183 | foreach($posts as $post) { 184 | 185 | // Generate post loves file. 186 | if(!is_readable('./assets/works/meta/' . $post['id'] . '-loves.txt')) { 187 | file_put_contents('./assets/works/meta/' . $post['id'] . '-loves.txt', '0'); 188 | } 189 | 190 | // Generate post plays file. 191 | if(!is_readable('./assets/works/meta/' . $post['id'] . '-plays.txt')) { 192 | file_put_contents('./assets/works/meta/' . $post['id'] . '-plays.txt', '0'); 193 | } 194 | 195 | // Generate post images. 196 | if(!is_readable('./content/' . $post['id'] . '.jpg')) { 197 | 198 | // YouTube post images. 199 | if($post['video_type'] == 'youtube') { 200 | $thumbnail = file_get_contents('https://img.youtube.com/vi/' . $post['video_id'] . '/maxresdefault.jpg'); 201 | } 202 | 203 | // Vimeo post images. 204 | if($post['video_type'] == 'vimeo') { 205 | $the_video_meta = json_decode(file_get_contents('https://vimeo.com/api/oembed.json?url=https%3A%2F%2Fvimeo.com%2F' . $post['video_id'])); 206 | $thumbnail = file_get_contents($the_video_meta->thumbnail_url); 207 | } 208 | 209 | // Save the post image. 210 | file_put_contents('./content/' . $post['id'] . '.jpg', $thumbnail); 211 | } 212 | 213 | if($count == 0) { 214 | $post['class'] = 'latest'; 215 | } else { 216 | $post['class'] = 'archive'; 217 | } 218 | 219 | // Get the video template. 220 | include('././assets/templates/post.php'); 221 | 222 | $count++; 223 | } 224 | echo $content; 225 | $content = ob_get_contents(); 226 | ob_end_clean(); 227 | } 228 | } else { 229 | ob_start(); 230 | 231 | // The post ID. 232 | $post['id'] = $_GET['v']; 233 | 234 | // Set the content directory. 235 | $content_dir = '././content/'; 236 | 237 | // Post meta. 238 | $post_content = file($content_dir.$post['id'].'.txt'); 239 | $post_time = strtotime($post_content[2]); 240 | $post['video_type'] = strtok($post['id'], '-'); 241 | $post['video_id'] = str_replace($post['video_type'] . '-', '', $post['id']); 242 | 243 | // Post content. 244 | $post['title'] = str_replace("\n", '', $post_content[0]); 245 | $post['date'] = str_replace("\n", '', $post_content[2]); 246 | $post['text'] = str_replace("\n", '', $post_content[4]); 247 | 248 | // The post image. 249 | $post['image'] = 'content/' . $post['id'] . '.jpg'; 250 | 251 | // The post class. 252 | $post['class'] = 'single'; 253 | 254 | // Get the video template. 255 | include('././assets/templates/post.php'); 256 | 257 | $content = ob_get_contents(); 258 | ob_end_clean(); 259 | ob_start(); 260 | } -------------------------------------------------------------------------------- /assets/works/meta/vimeo-110170664-loves.txt: -------------------------------------------------------------------------------- 1 | 30 -------------------------------------------------------------------------------- /assets/works/meta/vimeo-110170664-plays.txt: -------------------------------------------------------------------------------- 1 | 32 -------------------------------------------------------------------------------- /assets/works/meta/vimeo-123004006-loves.txt: -------------------------------------------------------------------------------- 1 | 19 -------------------------------------------------------------------------------- /assets/works/meta/vimeo-123004006-plays.txt: -------------------------------------------------------------------------------- 1 | 17 -------------------------------------------------------------------------------- /assets/works/meta/vimeo-129568177-loves.txt: -------------------------------------------------------------------------------- 1 | 310 -------------------------------------------------------------------------------- /assets/works/meta/vimeo-129568177-plays.txt: -------------------------------------------------------------------------------- 1 | 47 -------------------------------------------------------------------------------- /assets/works/meta/vimeo-134482681-loves.txt: -------------------------------------------------------------------------------- 1 | 13 -------------------------------------------------------------------------------- /assets/works/meta/vimeo-134482681-plays.txt: -------------------------------------------------------------------------------- 1 | 26 -------------------------------------------------------------------------------- /assets/works/meta/vimeo-136938394-loves.txt: -------------------------------------------------------------------------------- 1 | 30 -------------------------------------------------------------------------------- /assets/works/meta/vimeo-136938394-plays.txt: -------------------------------------------------------------------------------- 1 | 22 -------------------------------------------------------------------------------- /assets/works/meta/vimeo-139157653-loves.txt: -------------------------------------------------------------------------------- 1 | 36 -------------------------------------------------------------------------------- /assets/works/meta/vimeo-139157653-plays.txt: -------------------------------------------------------------------------------- 1 | 2 -------------------------------------------------------------------------------- /assets/works/meta/vimeo-87701971-loves.txt: -------------------------------------------------------------------------------- 1 | 39 -------------------------------------------------------------------------------- /assets/works/meta/vimeo-87701971-plays.txt: -------------------------------------------------------------------------------- 1 | 44 -------------------------------------------------------------------------------- /assets/works/post-count.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/works/post-mail.php: -------------------------------------------------------------------------------- 1 | "; 36 | 37 | // Send the email. 38 | if (mail($contact['email'], $subject, $email_content, $email_headers)) { 39 | 40 | // Set a 200 (okay) response code. 41 | http_response_code(200); 42 | echo "Thank You!"; 43 | } else { 44 | 45 | // Set a 500 (internal server error) response code. 46 | http_response_code(500); 47 | echo "Oops! Something went wrong."; 48 | } 49 | 50 | } else { 51 | 52 | // Not a POST request, set a 403 (forbidden) response code. 53 | http_response_code(403); 54 | echo "Oops! There was a problem."; 55 | } 56 | 57 | ?> -------------------------------------------------------------------------------- /assets/works/post-subscribe.php: -------------------------------------------------------------------------------- 1 | call('lists/subscribe', array( 38 | 'id' => $mailchimp['list'], 39 | 'email' => array('email' => $email), 40 | 'merge_vars' => array('FNAME' => $name, 'LNAME' => ''), 41 | 'double_optin' => true, 42 | 'update_existing' => true, 43 | 'replace_interests' => false, 44 | 'send_welcome' => false 45 | )); 46 | 47 | // Set a 200 (okay) response code. 48 | http_response_code(200); 49 | echo "Thank You! Check your mail."; 50 | 51 | } else { 52 | 53 | // Not a POST request, set a 403 (forbidden) response code. 54 | http_response_code(403); 55 | echo "Oops! Something went wrong."; 56 | } 57 | 58 | ?> -------------------------------------------------------------------------------- /content/vimeo-110170664.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jptksc/episodes/e3d533f6f24139e0adeba0c731db0f57682d1494/content/vimeo-110170664.jpg -------------------------------------------------------------------------------- /content/vimeo-110170664.txt: -------------------------------------------------------------------------------- 1 | Iceland 2 | 3 | March 20th, 2015 4 | 5 | Iceland is magical! There's no other way to describe it. My wife and I recently took a trip to Iceland and explored some incredible spots along the southern coast and around Reykjavik. I put together a little video to recap some of our trip, but nothing compares to experiencing it in person. -------------------------------------------------------------------------------- /content/vimeo-123004006.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jptksc/episodes/e3d533f6f24139e0adeba0c731db0f57682d1494/content/vimeo-123004006.jpg -------------------------------------------------------------------------------- /content/vimeo-123004006.txt: -------------------------------------------------------------------------------- 1 | On Melancholy 2 | 3 | March 23rd, 2015 4 | 5 | Melancholy doesn’t mean grim and miserable… it means grasping without rage the fact that the world is full of folly and greed, that it is rare to find inner peace, that is is hard to live comfortably with those who we love, that it’s very unusual to find a career that’s both financially rewarding and morally uplifting and that many decent people in this world have a very hard time. -------------------------------------------------------------------------------- /content/vimeo-129568177.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jptksc/episodes/e3d533f6f24139e0adeba0c731db0f57682d1494/content/vimeo-129568177.jpg -------------------------------------------------------------------------------- /content/vimeo-129568177.txt: -------------------------------------------------------------------------------- 1 | Waveform 2 | 3 | September 15th, 2015 4 | 5 | The O’Neill UNREASONABLE film festival continues with film no. 4 "Waveform" from award-winning artist Stefan Nadelman from Portland, USA. Immerse yourself in fast-paced surfing sequences full of action, color, and fluid motion that expose waveforms in a new light. -------------------------------------------------------------------------------- /content/vimeo-134482681.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jptksc/episodes/e3d533f6f24139e0adeba0c731db0f57682d1494/content/vimeo-134482681.jpg -------------------------------------------------------------------------------- /content/vimeo-134482681.txt: -------------------------------------------------------------------------------- 1 | Pause Repeat 2 | 3 | August 15th, 2015 4 | 5 | A track from their recently-released sophomore album Born Under Saturn. The clip was created by bassist Jimmy Nixon with help from director Dan Brereton, who both turned to the literal meaning of the song’s title for inspiration and made a stop-motion animated video using a cellphone. -------------------------------------------------------------------------------- /content/vimeo-136938394.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jptksc/episodes/e3d533f6f24139e0adeba0c731db0f57682d1494/content/vimeo-136938394.jpg -------------------------------------------------------------------------------- /content/vimeo-136938394.txt: -------------------------------------------------------------------------------- 1 | Teahupo'o, Du Ciel 2 | 3 | April 15th, 2015 4 | 5 | It means Teahupo’o: From The Sky, but in French because French is really pretty and so is this. Brent Bielmann and Eric Sterman spent a few weeks in Tahiti during the season’s best run of swell. They flew a little white dove (sounds prettier than drone, right?) with a camera attached to it in order to get an angle that presents Teahupo’o in a way that we’ve never seen it before. We’ll go out on a limb and say it’s the best drone edit we’ve ever seen — it speaks for itself, in any language. -------------------------------------------------------------------------------- /content/vimeo-139157653.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jptksc/episodes/e3d533f6f24139e0adeba0c731db0f57682d1494/content/vimeo-139157653.jpg -------------------------------------------------------------------------------- /content/vimeo-139157653.txt: -------------------------------------------------------------------------------- 1 | Letterpress 2 | 3 | August 21st, 2015 4 | 5 | A look behind the scenes at the letterpress printing process for the Ugmonk 7th Anniversary Set packaging. Letterpress printing has been around for hundreds of years but still creates a beautiful, tactile print that digital printing just can't replicate. -------------------------------------------------------------------------------- /content/vimeo-87701971.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jptksc/episodes/e3d533f6f24139e0adeba0c731db0f57682d1494/content/vimeo-87701971.jpg -------------------------------------------------------------------------------- /content/vimeo-87701971.txt: -------------------------------------------------------------------------------- 1 | Yosemite 2 | 3 | August 26th, 2015 4 | 5 | A 200+ mile backpacking experience through Yosemite National Park captured by Colin Delehanty and Sheldon Neill. This project was filmed over the course of 10 months. We spent a combined 45 days in the park capturing the images in this video. -------------------------------------------------------------------------------- /index.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | <?php echo($site['title']); ?> | <?php echo($site['tagline']); ?> 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 |
28 | 29 |
30 | 31 | 32 | 33 |

34 | 35 | 36 |
37 | 38 |
39 | 40 | 41 | 46 |
47 |
48 | 49 | 50 | 51 |
52 | 53 | 54 |
55 | 56 |

57 |

58 | 59 |
60 |
61 | 62 | 63 | 64 | 65 |
66 | 67 | 68 |
69 |

70 |

71 | 72 | 73 |
74 |
75 | 76 |
77 | 78 |
79 | 80 |
81 | 82 |
83 | 84 |
85 | 86 |

87 |
88 | 89 | 90 |
91 |
92 |
93 | 94 | 95 | 96 | 97 |
98 | 99 | 100 |
101 |

102 |

103 | 104 | 105 |
106 |
107 | 108 |
109 | 110 |
111 | 112 |
113 | 114 |
115 | 116 | 117 |
118 |
119 |
120 | 121 | 122 | 123 |
124 |
125 | 126 |
127 |
128 | 129 | 130 |
131 | 132 | 133 |
134 |
135 |
136 |
137 |
138 | 139 | 140 |
141 | 142 | 143 |
144 |
145 |
146 | 147 | 148 | 160 | 161 | 162 | 163 | 164 | 165 | 166 | -------------------------------------------------------------------------------- /screenshot.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jptksc/episodes/e3d533f6f24139e0adeba0c731db0f57682d1494/screenshot.jpg -------------------------------------------------------------------------------- /settings.php: -------------------------------------------------------------------------------- 1 | Jason Schuller, and I design and make websites. This is “Episodes”, a simple solution for creating a dynamic video-centric website without the need for anything but your favorite text editor and video service (e.g. YouTube, Vimeo, Wistia).'; 29 | 30 | 31 | // About Panel Images 32 | // Replace or delete “profile.jpg” & “signature.png” within the “assets/images/”. 33 | 34 | $about['profile'] = 'profile.jpg'; 35 | $about['signature'] = 'signature.png'; 36 | 37 | 38 | // Contact Panel Text 39 | // Edit your contact panel text below. 40 | 41 | $contact['title'] = 'Just Say Hello'; 42 | $contact['text'] = 'Here’s an example contact panel for the “Episodes” template. The form below is functional, so test it out, ask a question or just say hello.'; 43 | 44 | 45 | // Contact Form Email 46 | // Edit your contact panel form email below. 47 | 48 | $contact['email'] = 'jason@circa75.co'; 49 | 50 | 51 | // News Panel 52 | // Edit your news panel text below. 53 | 54 | $news['title'] = 'Join Our Newsletter'; 55 | $news['text'] = 'Here’s an example newsletter panel for the “Episodes” template. It’s powered by MailChimp so you can easily integrate an existing or new newsletter.'; 56 | 57 | 58 | // MailChimp Integration 59 | // Edit your MailChimp API and List ID below. 60 | 61 | $mailchimp['api'] = 'e12346bff12345cff16fc123efb4c6e8-us1'; 62 | $mailchimp['list'] = '123a15ea16'; 63 | 64 | 65 | // Footer Text 66 | // Edit your footer text below. 67 | 68 | $footer['text'] = 'The Episodes Template by Jason Schuller'; 69 | 70 | 71 | // Social Links 72 | // Edit your social links for the footer. 73 | 74 | $social['twitter'] = 'jschuller'; 75 | $social['facebook'] = 'yourusername'; 76 | $social['instagram'] = 'yourusername'; 77 | 78 | --------------------------------------------------------------------------------