Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

Initial commit

  • Loading branch information...
commit 448288106c6495eca7b95b110f2f7d9a6c839649 0 parents
@robhawkes authored
43 .gitignore
@@ -0,0 +1,43 @@
+# Rawkes #
+#########
+fonts/
+geomicons/
+
+# Compiled source #
+###################
+*.com
+*.class
+*.dll
+*.exe
+*.o
+*.so
+
+# Packages #
+############
+# it's better to unpack these files and commit the raw source
+# git has its own built in compression methods
+*.7z
+*.dmg
+*.gz
+*.iso
+*.jar
+*.rar
+*.tar
+*.zip
+
+# Logs and databases #
+######################
+*.log
+*.sql
+*.sqlite
+
+# OS generated files #
+######################
+.DS_Store
+ehthumbs.db
+Icon
+Thumbs.db
+/.project
+/.settings/
+.tmp_*
+*.swp
66 extensions/fullscreen/deck.fullscreen.js
@@ -0,0 +1,66 @@
+/*!
+Deck JS - deck.scale
+Copyright (c) 2011-2012 Caleb Troughton
+Dual licensed under the MIT license and GPL license.
+https://github.com/imakewebthings/deck.js/blob/master/MIT-license.txt
+https://github.com/imakewebthings/deck.js/blob/master/GPL-license.txt
+*/
+
+/*
+This module adds automatic scaling to the deck. Slides are scaled down
+using CSS transforms to fit within the deck container. If the container is
+big enough to hold the slides without scaling, no scaling occurs. The user
+can disable and enable scaling with a keyboard shortcut.
+
+Note: CSS transforms may make Flash videos render incorrectly. Presenters
+that need to use video may want to disable scaling to play them. HTML5 video
+works fine.
+*/
+(function($, deck, window, undefined) {
+ var $d = $(document),
+ $w = $(window);
+
+ $.extend(true, $[deck].defaults, {
+ keys: {
+ fullscreen: 70 // f
+ }
+ });
+
+ /*
+ jQuery.deck('disableFullscreen')
+
+ Disables full screen and removes the class from the deck container.
+ */
+ $[deck]('extend', 'disableFullscreen', function() {
+ //$[deck]('getContainer').removeClass($[deck]('getOptions').classes.scale);
+ //scaleDeck();
+ });
+
+ /*
+ jQuery.deck('enableFullscreen')
+
+ Enables full screen and adds the class to the deck container.
+ */
+ $[deck]('extend', 'enableFullscreen', function() {
+ var $container = $d[0].body;
+ //$[deck]('getContainer').addClass($[deck]('getOptions').classes.scale);
+ if ($container.mozRequestFullScreen) {
+ $container.mozRequestFullScreen();
+ } else {
+ $container.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT);
+ }
+ });
+
+ $d.bind('deck.init', function() {
+ var opts = $[deck]('getOptions');
+
+ // Bind key events
+ $d.unbind('keydown.deckfullscreen').bind('keydown.deckfullscreen', function(e) {
+ if (e.which === opts.keys.fullscreen || $.inArray(e.which, opts.keys.fullscreen) > -1) {
+ //$[deck]('toggleScale');
+ $[deck]('enableFullscreen');
+ e.preventDefault();
+ }
+ });
+ });
+})(jQuery, 'deck', this);
24 extensions/media/deck.media.js
@@ -0,0 +1,24 @@
+(function($, deck, window, undefined) {
+ var $d = $(document),
+ $w = $(window),
+ videos,
+
+ handleMedia = function(current, previous) {
+ $.deck("getSlide", current).find("video, audio").each(function() {
+ $(this)[0].play();
+ });
+
+ $.deck("getSlide", previous).find("video, audio").each(function() {
+ $(this)[0].pause();
+ });
+ }
+
+ $d.bind("deck.change", function(e, from, to) {
+ // Don't run if within a presenter iframe
+ if (!$d.find("body").hasClass("deck-presenter-iframe")) {
+ return;
+ }
+
+ handleMedia(to, from);
+ });
+})(jQuery, 'deck', this);
91 extensions/presenter/deck.presenter.css
@@ -0,0 +1,91 @@
+body {
+ background: #ccc;
+ font-family: "Helvetica Neue", "Helvetica", "Verdana", "Arial", sans-serif;
+ padding: 40px;
+ position: relative;
+}
+
+h2 {
+ background: #666;
+ color: #fff;
+ font-size: 30px;
+ margin: 0;
+ padding: 10px 15px;
+ text-align: center;
+}
+
+.left, .right {
+ float: left;
+ width: 25%;
+}
+
+ .right {
+ float: right;
+ }
+
+.timer, .clock {
+ background: #222;
+ color: #fff;
+ font-family: monospace;
+ font-size: 50px;
+ line-height: 1em;
+ margin: 20px 0;
+ padding: 15px 15px 10px;
+ text-align: center;
+ text-transform: uppercase;
+}
+
+.slides-wrapper {
+ height: 220px;
+ position: relative;
+ width: 100%;
+}
+
+ .slides-cover {
+ -webkit-transition: background 500ms ease-in-out, color 500ms ease-in-out;
+ -moz-transition: background 500ms ease-in-out, color 500ms ease-in-out;
+ -ms-transition: background 500ms ease-in-out, color 500ms ease-in-out;
+ -o-transition: background 500ms ease-in-out, color 500ms ease-in-out;
+ transition: background 500ms ease-in-out, color 500ms ease-in-out;
+ color: rgba(0, 0, 0, 0);
+ font-size: 50px;
+ height: 220px;
+ left: 0;
+ line-height: 220px;
+ position: absolute;
+ top: 0;
+ width: 100%;
+ text-align: center;
+ text-transform: uppercase;
+ z-index: 10;
+ }
+
+ .slides-cover.end {
+ background: #000;
+ color: #fff;
+ }
+
+ .slides {
+ border: 0;
+ height: 220px;
+ left: 0;
+ position: absolute;
+ top: 0;
+ width: 100%;
+ z-index: -10;
+ }
+
+.notes-wrapper {
+ float: left;
+ position: relative;
+ width: 50%;
+}
+
+ .notes-wrapper > * {
+ font-size: 30px;
+ margin: 0 40px;
+ }
+
+ .notes {
+ line-height: 1.5em;
+ }
44 extensions/presenter/deck.presenter.html
@@ -0,0 +1,44 @@
+<!DOCTYPE html>
+
+<html>
+ <head>
+ <title>Presenter Display</title>
+
+ <link rel="stylesheet" href="deck.presenter.css">
+ </head>
+ <body>
+ <section class="left">
+ <div class="slides-wrapper">
+ <iframe src="../../slides/index.html" class="slides" id="current"></iframe>
+ <div class="slides-cover"></div>
+ </div>
+ <h2>Current slide</h2>
+ <p class="timer">00:00:00</p>
+ </section>
+
+ <section class="notes-wrapper">
+ <h2>Notes for current slide</h2>
+ <div class="notes"></div>
+ </section>
+
+ <section class="right">
+ <div class="slides-wrapper slides-next">
+ <iframe src="../../slides/index.html" class="slides" id="next"></iframe>
+ <div class="slides-cover"></div>
+ </div>
+ <h2>Next slide</h2>
+ <p class="clock">00:00:00</p>
+ </section>
+
+ <!-- Grab CDN jQuery, with a protocol relative URL; fall back to local if offline -->
+ <script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.7.min.js"></script>
+ <script>window.jQuery || document.write('<script src="../jquery-1.7.min.js"><\/script>')</script>
+
+ <!-- Momoment.js -->
+ <script src="moment.min.js"></script>
+
+ <!-- Deck Core and extensions -->
+ <script src="../../core/deck.core.js"></script>
+ <script src="deck.presenter.js"></script>
+ </body>
+</html>
134 extensions/presenter/deck.presenter.js
@@ -0,0 +1,134 @@
+$(function() {
+ var $current,
+ $next,
+ currentIndex,
+ slidesWindow,
+ $external,
+ started;
+
+ // Prevent click-through to slide iframes
+ $(".slides-cover").bind("click", function(e) {
+ e.preventDefault();
+ e.stopPropagation();
+ return false;
+ });
+
+ // Naive wait for iframes to load
+ $("#next").bind("load", function(e) {
+ // Load slides in a new window for external monitor
+ openSlidesWindow();
+ });
+
+ // Load display
+ function loadDisplay() {
+ $current = $("#current")[0].contentWindow["$"];
+ $next = $("#next")[0].contentWindow["$"];
+ currentIndex = 0;
+ started = false;
+
+ // Move slides to initial positions
+ $external.deck("go", currentIndex);
+ $current.deck("go", currentIndex);
+ $next.deck("go", currentIndex+1);
+
+ // Update notes for the first time
+ updateNotes();
+
+ // Load clock
+ loadClock();
+
+ $(document).bind("keydown", function(e) {
+ var options = $.deck.defaults;
+ if (e.which === options.keys.next || $.inArray(e.which, options.keys.next) > -1) {
+ e.preventDefault();
+
+ if (!started) {
+ // Start timer
+ startTimer();
+ started = true;
+ }
+
+ // Do nothing is this is the last slide
+ if ($current.deck("getSlide", currentIndex+1) === null) {
+ return;
+ }
+
+ $current.deck("go", ++currentIndex);
+ $external.deck("go", currentIndex);
+
+ var nextSlideIndex = currentIndex+1;
+ if ($next.deck("getSlide", nextSlideIndex) !== null) {
+ $next.deck("go", nextSlideIndex);
+ } else {
+ // Show black screen to signify end of deck
+ $("#next").next(".slides-cover").addClass("end").html("End");
+ }
+
+ updateNotes();
+ } else if (e.which === options.keys.previous || $.inArray(e.which, options.keys.previous) > -1) {
+ e.preventDefault();
+
+ if (currentIndex > 0) {
+ $current.deck("go", --currentIndex);
+ $external.deck("go", currentIndex);
+ $next.deck("go", currentIndex+1);
+
+ // Remove black screen over last slide (add conditional check here)
+ $("#next").next(".slides-cover").removeClass("end").html("");
+
+ updateNotes();
+ }
+ } else if (e.which == 116) {
+ // Stop the laser button on my remote from causing a refresh
+ e.preventDefault();
+ e.stopPropagation();
+ }
+ });
+ }
+
+ // Update notes
+ function updateNotes() {
+ var notes = $(".notes"),
+ currentNotes = $current(".deck-current .notes").html();
+
+ notes.html(currentNotes);
+ }
+
+ // Open slide window
+ function openSlidesWindow() {
+ slidesWindow = window.open("../../slides/index.html", "presenter-display-"+(Math.random()*1), "width=800, height=600");
+
+ // Wait until the slides have loaded
+ $(slidesWindow).bind("load", function(e) {
+ $external = slidesWindow["$"];
+ $external("body").addClass("deck-presenter-iframe");
+ loadDisplay();
+ });
+ }
+
+ // Set up clock
+ function loadClock() {
+ var clock = $(".clock"),
+ time;
+
+ setInterval(function() {
+ time = moment();
+ clock.html(time.format("HH:mm:ss"));
+ }, 1000);
+ }
+
+ // Start timer
+ function startTimer() {
+ var timer = $(".timer"),
+ time = Date.now();
+
+ setInterval(function() {
+ var diffTime = Math.floor((Date.now()-time)/1000),
+ diffHours = ("0"+(Math.floor(diffTime/60/60))).substr(-2),
+ diffMinutes = ("0"+(Math.floor(diffTime/60)-(Math.floor(diffTime/60/60)*60))).substr(-2),
+ diffSeconds = ("0"+(Math.floor(diffTime-Math.floor(diffTime/60)*60))).substr(-2);
+
+ timer.html(diffHours+":"+diffMinutes+":"+diffSeconds);
+ }, 1000);
+ }
+});
2  extensions/presenter/moment.min.js
@@ -0,0 +1,2 @@
+/* Moment.js | version : 1.4.0 | author : Tim Wood | license : MIT */
+(function(a,b){function r(a){this._d=a}function s(a,b){var c=a+"";while(c.length<b)c="0"+c;return c}function t(b,c,d,e){var f=typeof c=="string",g=f?{}:c,h,i,j,k;return f&&e&&(g[c]=+e),h=(g.ms||g.milliseconds||0)+(g.s||g.seconds||0)*1e3+(g.m||g.minutes||0)*6e4+(g.h||g.hours||0)*36e5,i=(g.d||g.days||0)+(g.w||g.weeks||0)*7,j=(g.M||g.months||0)+(g.y||g.years||0)*12,h&&b.setTime(+b+h*d),i&&b.setDate(b.getDate()+i*d),j&&(k=b.getDate(),b.setDate(1),b.setMonth(b.getMonth()+j*d),b.setDate(Math.min((new a(b.getFullYear(),b.getMonth()+1,0)).getDate(),k))),b}function u(a){return Object.prototype.toString.call(a)==="[object Array]"}function v(b){return new a(b[0],b[1]||0,b[2]||1,b[3]||0,b[4]||0,b[5]||0,b[6]||0)}function w(b,d){function u(d){var e,j;switch(d){case"M":return f+1;case"Mo":return f+1+q(f+1);case"MM":return s(f+1,2);case"MMM":return c.monthsShort[f];case"MMMM":return c.months[f];case"D":return g;case"Do":return g+q(g);case"DD":return s(g,2);case"DDD":return e=new a(h,f,g),j=new a(h,0,1),~~((e-j)/864e5+1.5);case"DDDo":return e=u("DDD"),e+q(e);case"DDDD":return s(u("DDD"),3);case"d":return i;case"do":return i+q(i);case"ddd":return c.weekdaysShort[i];case"dddd":return c.weekdays[i];case"w":return e=new a(h,f,g-i+5),j=new a(e.getFullYear(),0,4),~~((e-j)/864e5/7+1.5);case"wo":return e=u("w"),e+q(e);case"ww":return s(u("w"),2);case"YY":return s(h%100,2);case"YYYY":return h;case"a":return m>11?t.pm:t.am;case"A":return m>11?t.PM:t.AM;case"H":return m;case"HH":return s(m,2);case"h":return m%12||12;case"hh":return s(m%12||12,2);case"m":return n;case"mm":return s(n,2);case"s":return o;case"ss":return s(o,2);case"zz":case"z":return(b.toString().match(l)||[""])[0].replace(k,"");case"Z":return(p>0?"+":"-")+s(~~(Math.abs(p)/60),2)+":"+s(~~(Math.abs(p)%60),2);case"ZZ":return(p>0?"+":"-")+s(~~(10*Math.abs(p)/6),4);case"L":case"LL":case"LLL":case"LLLL":case"LT":return w(b,c.longDateFormat[d]);default:return d.replace(/(^\[)|(\\)|\]$/g,"")}}var e=new r(b),f=e.month(),g=e.date(),h=e.year(),i=e.day(),m=e.hours(),n=e.minutes(),o=e.seconds(),p=-e.zone(),q=c.ordinal,t=c.meridiem;return d.replace(j,u)}function x(b,d){function p(a,b){var d;switch(a){case"M":case"MM":e[1]=~~b-1;break;case"MMM":case"MMMM":for(d=0;d<12;d++)if(c.monthsParse[d].test(b)){e[1]=d;break}break;case"D":case"DD":case"DDD":case"DDDD":e[2]=~~b;break;case"YY":b=~~b,e[0]=b+(b>70?1900:2e3);break;case"YYYY":e[0]=~~Math.abs(b);break;case"a":case"A":l=b.toLowerCase()==="pm";break;case"H":case"HH":case"h":case"hh":e[3]=~~b;break;case"m":case"mm":e[4]=~~b;break;case"s":case"ss":e[5]=~~b;break;case"Z":case"ZZ":h=!0,d=(b||"").match(o),d&&d[1]&&(f=~~d[1]),d&&d[2]&&(g=~~d[2]),d&&d[0]==="+"&&(f=-f,g=-g)}}var e=[0,0,1,0,0,0,0],f=0,g=0,h=!1,i=b.match(n),j=d.match(m),k,l;for(k=0;k<j.length;k++)p(j[k],i[k]);return l&&e[3]<12&&(e[3]+=12),l===!1&&e[3]===12&&(e[3]=0),e[3]+=f,e[4]+=g,h?new a(a.UTC.apply({},e)):v(e)}function y(a,b){var c=Math.min(a.length,b.length),d=Math.abs(a.length-b.length),e=0,f;for(f=0;f<c;f++)~~a[f]!==~~b[f]&&e++;return e+d}function z(a,b){var c,d=a.match(n),e=[],f=99,g,h,i;for(g=0;g<b.length;g++)h=x(a,b[g]),i=y(d,w(h,b[g]).match(n)),i<f&&(f=i,c=h);return c}function A(a,b,d){var e=c.relativeTime[a];return typeof e=="function"?e(b||1,!!d,a):e.replace(/%d/i,b||1)}function B(a,b){var c=d(Math.abs(a)/1e3),e=d(c/60),f=d(e/60),g=d(f/24),h=d(g/365),i=c<45&&["s",c]||e===1&&["m"]||e<45&&["mm",e]||f===1&&["h"]||f<22&&["hh",f]||g===1&&["d"]||g<=25&&["dd",g]||g<=45&&["M"]||g<345&&["MM",d(g/30)]||h===1&&["y"]||["yy",h];return i[2]=b,A.apply({},i)}function C(a,b){c.fn[a]=function(a){return a!=null?(this._d["set"+b](a),this):this._d["get"+b]()}}var c,d=Math.round,e={},f=typeof module!="undefined",g="months|monthsShort|monthsParse|weekdays|weekdaysShort|longDateFormat|calendar|relativeTime|ordinal|meridiem".split("|"),h,i=/^\/?Date\((\d+)/i,j=/(\[[^\[]*\])|(\\)?(Mo|MM?M?M?|Do|DDDo|DD?D?D?|dddd?|do?|w[o|w]?|YYYY|YY|a|A|hh?|HH?|mm?|ss?|zz?|ZZ?|LT|LL?L?L?)/g,k=/[^A-Z]/g,l=/\([A-Za-z ]+\)|:[0-9]{2} [A-Z]{3} /g,m=/(\\)?(MM?M?M?|dd?d?d|DD?D?D?|YYYY|YY|a|A|hh?|HH?|mm?|ss?|ZZ?|T)/g,n=/(\\)?([0-9]+|([a-zA-Z\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+|([\+\-]\d\d:?\d\d))/gi,o=/([\+\-]|\d\d)/gi,p="1.4.0",q="Month|Date|Hours|Minutes|Seconds|Milliseconds".split("|");c=function(c,d){if(c===null)return null;var e,f;return c&&c._d instanceof a?e=new a(+c._d):d?u(d)?e=z(c,d):e=x(c,d):(f=i.exec(c),e=c===b?new a:f?new a(+f[1]):c instanceof a?c:u(c)?v(c):new a(c)),new r(e)},c.version=p,c.lang=function(a,b){var d,h,i,j=[];if(b){for(d=0;d<12;d++)j[d]=new RegExp("^"+b.months[d]+"|^"+b.monthsShort[d].replace(".",""),"i");b.monthsParse=b.monthsParse||j,e[a]=b}if(e[a])for(d=0;d<g.length;d++)h=g[d],c[h]=e[a][h]||c[h];else f&&(i=require("./lang/"+a),c.lang(a,i))},c.lang("en",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),longDateFormat:{LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D YYYY",LLL:"MMMM D YYYY LT",LLLL:"dddd, MMMM D YYYY LT"},meridiem:{AM:"AM",am:"am",PM:"PM",pm:"pm"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},ordinal:function(a){var b=a%10;return~~(a%100/10)===1?"th":b===1?"st":b===2?"nd":b===3?"rd":"th"}}),c.fn=r.prototype={clone:function(){return c(this)},valueOf:function(){return+this._d},"native":function(){return this._d},toString:function(){return this._d.toString()},toDate:function(){return this._d},format:function(a){return w(this._d,a)},add:function(a,b){return this._d=t(this._d,a,1,b),this},subtract:function(a,b){return this._d=t(this._d,a,-1,b),this},diff:function(a,b,e){var f=c(a),g=(this.zone()-f.zone())*6e4,h=this._d-f._d-g,i=this.year()-f.year(),j=this.month()-f.month(),k=this.date()-f.date(),l;return b==="months"?l=i*12+j+k/30:b==="years"?l=i+j/12:l=b==="seconds"?h/1e3:b==="minutes"?h/6e4:b==="hours"?h/36e5:b==="days"?h/864e5:b==="weeks"?h/6048e5:h,e?l:d(l)},from:function(a,b){var d=this.diff(a),e=c.relativeTime,f=B(d,b);return b?f:(d<=0?e.past:e.future).replace(/%s/i,f)},fromNow:function(a){return this.from(c(),a)},calendar:function(){var a=this.diff(c().sod(),"days",!0),b=c.calendar,d=b.sameElse,e=a<-6?d:a<-1?b.lastWeek:a<0?b.lastDay:a<1?b.sameDay:a<2?b.nextDay:a<7?b.nextWeek:d;return this.format(typeof e=="function"?e.apply(this):e)},isLeapYear:function(){var a=this.year();return a%4===0&&a%100!==0||a%400===0},isDST:function(){return this.zone()<c([this.year()]).zone()||this.zone()<c([this.year(),5]).zone()},day:function(a){var b=this._d.getDay();return a==null?b:this.add({d:a-b})},sod:function(){return this.clone().hours(0).minutes(0).seconds(0).milliseconds(0)},eod:function(){return this.sod().add({d:1,ms:-1})}};for(h=0;h<q.length;h++)C(q[h].toLowerCase(),q[h]);C("year","FullYear"),c.fn.zone=function(){return this._d.getTimezoneOffset()},f&&(module.exports=c),typeof window!="undefined"&&(window.moment=c),typeof define=="function"&&define.amd&&define("moment",[],function(){return c})})(Date)
25 extensions/scale-to-fit/deck.scale-to-fit.css
@@ -0,0 +1,25 @@
+.csstransforms .deck-container.deck-scale:not(.deck-menu) {
+ overflow: hidden;
+}
+.csstransforms .deck-container.deck-scale:not(.deck-menu) > .slide {
+ -webkit-box-sizing: padding-box;
+ -moz-box-sizing: padding-box;
+ box-sizing: padding-box;
+ width: 100%;
+ padding-bottom: 20px;
+}
+.csstransforms .deck-container.deck-scale:not(.deck-menu) > .slide > .deck-slide-scaler {
+ -webkit-transform-origin: 50% 0;
+ -moz-transform-origin: 50% 0;
+ -o-transform-origin: 50% 0;
+ -ms-transform-origin: 50% 0;
+ transform-origin: 50% 0;
+}
+
+.csstransforms .deck-container.deck-menu .deck-slide-scaler {
+ -webkit-transform: none !important;
+ -moz-transform: none !important;
+ -o-transform: none !important;
+ -ms-transform: none !important;
+ transform: none !important;
+}
48 extensions/scale-to-fit/deck.scale-to-fit.js
@@ -0,0 +1,48 @@
+(function($, deck, window, undefined) {
+ var $d = $(document),
+ $w = $(window),
+ rootSlides,
+
+ scaleDeck = function() {
+ var $container = $[deck]('getContainer');
+
+ // Scale each slide down if necessary (but don't scale up)
+ $.each(rootSlides, function(i, $slide) {
+ var containerWidth = $container.innerWidth(),
+ containerHeight = $container.innerHeight(),
+ scaleX = containerWidth / $w.innerWidth(),
+ scaleY = containerHeight / $w.innerHeight(),
+ scale = 1/Math.max(scaleX, scaleY);
+
+ $.each('Webkit Moz O ms Khtml'.split(' '), function(i, prefix) {
+ $container.css(prefix + 'Transform', 'scale(' + scale + ')');
+ });
+ });
+ }
+
+ $d.bind('deck.init', function() {
+ var opts = $[deck]('getOptions'),
+ slideTest = $.map([
+ opts.classes.before,
+ opts.classes.previous,
+ opts.classes.current,
+ opts.classes.next,
+ opts.classes.after
+ ], function(el, i) {
+ return '.' + el;
+ }).join(', ');
+
+ // Build top level slides array
+ rootSlides = [];
+ $.each($[deck]('getSlides'), function(i, $el) {
+ if (!$el.parentsUntil(opts.selectors.container, slideTest).length) {
+ rootSlides.push($el);
+ }
+ });
+
+ $w.unbind('resize.deckscale').bind('resize.deckscale', scaleDeck)
+ // Scale once on load, in case images or something change layout
+ .unbind('load.deckscale').bind('load.deckscale', scaleDeck);
+ });
+})(jQuery, 'deck', this);
+
27 extensions/scale-to-fit/deck.scale-to-fit.scss
@@ -0,0 +1,27 @@
+.csstransforms .deck-container.deck-scale:not(.deck-menu) {
+ overflow:hidden;
+
+ > .slide {
+ -webkit-box-sizing: padding-box;
+ -moz-box-sizing: padding-box;
+ box-sizing: padding-box;
+ width:100%;
+ padding-bottom:20px;
+
+ > .deck-slide-scaler {
+ -webkit-transform-origin: 50% 0;
+ -moz-transform-origin: 50% 0;
+ -o-transform-origin: 50% 0;
+ -ms-transform-origin: 50% 0;
+ transform-origin: 50% 0;
+ }
+ }
+}
+
+.csstransforms .deck-container.deck-menu .deck-slide-scaler {
+ -webkit-transform:none !important;
+ -moz-transform:none !important;
+ -o-transform:none !important;
+ -ms-transform:none !important;
+ transform:none !important;
+}
424 themes/style/rawkes/rawkes.css
@@ -0,0 +1,424 @@
+@font-face {
+ font-family: "TitilliumText Thin";
+ src: url('fonts/titilliumtext25l005-webfont.eot');
+ src: url('fonts/titilliumtext25l005-webfont.eot?iefix') format('eot'), url('fonts/titilliumtext25l005-webfont.woff') format('woff'), url('fonts/titilliumtext25l005-webfont.ttf') format('truetype'), url('fonts/titilliumtext25l005-webfont.svg') format('svg');
+}
+
+@font-face {
+ font-family: "TitilliumText Light";
+ src: url('fonts/titilliumtext25l004-webfont.eot');
+ src: url('fonts/titilliumtext25l004-webfont.eot?iefix') format('eot'), url('fonts/titilliumtext25l004-webfont.woff') format('woff'), url('fonts/titilliumtext25l004-webfont.ttf') format('truetype'), url('fonts/titilliumtext25l004-webfont.svg') format('svg');
+}
+
+@font-face {
+ font-family: "TitilliumText Regular";
+ src: url('fonts/titilliumtext25l003-webfont.eot');
+ src: url('fonts/titilliumtext25l003-webfont.eot?iefix') format('eot'), url('fonts/titilliumtext25l003-webfont.woff') format('woff'), url('fonts/titilliumtext25l003-webfont.ttf') format('truetype'), url('fonts/titilliumtext25l003-webfont.svg') format('svg');
+}
+
+@font-face {
+ font-family: "TitilliumText Medium";
+ src: url('fonts/titilliumtext25l002-webfont.eot');
+ src: url('fonts/titilliumtext25l002-webfont.eot?iefix') format('eot'), url('fonts/titilliumtext25l002-webfont.woff') format('woff'), url('fonts/titilliumtext25l002-webfont.ttf') format('truetype'), url('fonts/titilliumtext25l002-webfont.svg') format('svg');
+}
+
+@font-face {
+ font-family: "TitilliumText Bold";
+ src: url('fonts/titilliumtext25l001-webfont.eot');
+ src: url('fonts/titilliumtext25l001-webfont.eot?iefix') format('eot'), url('fonts/titilliumtext25l001-webfont.woff') format('woff'), url('fonts/titilliumtext25l001-webfont.ttf') format('truetype'), url('fonts/titilliumtext25l001-webfont.svg') format('svg');
+}
+
+@font-face {
+ font-family: "TitilliumText XBold";
+ src: url('fonts/titilliumtext25l-webfont.eot');
+ src: url('fonts/titilliumtext25l-webfont.eot?iefix') format('eot'), url('fonts/titilliumtext25l-webfont.woff') format('woff'), url('fonts/titilliumtext25l-webfont.ttf') format('truetype'), url('fonts/titilliumtext25l-webfont.svg') format('svg');
+}
+
+/* line 25, rawkes.scss */
+html {
+ overflow: hidden;
+}
+
+/* line 29, rawkes.scss */
+body {
+ background: #000;
+ background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #333333), color-stop(100%, #191919));
+ background-image: -webkit-linear-gradient(#333333, #191919);
+ background-image: -moz-linear-gradient(#333333, #191919);
+ background-image: -o-linear-gradient(#333333, #191919);
+ background-image: -ms-linear-gradient(#333333, #191919);
+ background-image: linear-gradient(#333333, #191919);
+ height: 100%;
+ margin: 0;
+ width: 100%;
+}
+
+/* line 37, rawkes.scss */
+.deck-container {
+ -moz-transform-origin: 50% 0%;
+ -webkit-transform-origin: 50% 0%;
+ -o-transform-origin: 50% 0%;
+ -ms-transform-origin: 50% 0%;
+ transform-origin: 50% 0%;
+ color: #fff;
+ font-family: "TitilliumText Thin", "Helvetica Neue", "Helvetica", "Verdana", "Arial", sans-serif;
+ font-size: 30px;
+ font-weight: normal;
+ height: 768px;
+ left: 50%;
+ line-height: 1em;
+ margin: 0 0 0 -512px;
+ overflow: visible;
+ padding: 0;
+ position: absolute;
+ top: 0;
+ width: 1024px;
+}
+/* line 53, rawkes.scss */
+.deck-container .slide {
+ -moz-transform-origin: 50% 50%;
+ -webkit-transform-origin: 50% 50%;
+ -o-transform-origin: 50% 50%;
+ -ms-transform-origin: 50% 50%;
+ transform-origin: 50% 50%;
+ -moz-transform: rotate(-30deg);
+ -webkit-transform: rotate(-30deg);
+ -o-transform: rotate(-30deg);
+ -ms-transform: rotate(-30deg);
+ transform: rotate(-30deg);
+ box-sizing: border-box;
+ left: 0;
+ margin: 0 !important;
+ padding: 0 !important;
+ position: absolute;
+ top: 0;
+ width: 100%;
+}
+/* line 65, rawkes.scss */
+.deck-container .slide h1, .deck-container .slide h2, .deck-container .slide h3, .deck-container .slide h4, .deck-container .slide h5 {
+ border: none;
+ font-family: "TitilliumText Light";
+ font-weight: normal;
+ letter-spacing: -1px;
+ line-height: 1em;
+ text-align: left;
+}
+/* line 73, rawkes.scss */
+.csstransforms .deck-container .slide h1, .csstransforms .deck-container .slide h2, .csstransforms .deck-container .slide h3, .csstransforms .deck-container .slide h4, .csstransforms .deck-container .slide h5 {
+ -moz-transform: none;
+ -webkit-transform: none;
+ -o-transform: none;
+ -ms-transform: none;
+ transform: none;
+ left: 0;
+ padding: 0;
+ position: static;
+ right: 0;
+ top: 50%;
+}
+/* line 83, rawkes.scss */
+.deck-container .slide a {
+ color: inherit;
+ text-decoration: none;
+}
+/* line 88, rawkes.scss */
+.deck-container .slide a:hover {
+ text-decoration: underline;
+}
+/* line 93, rawkes.scss */
+.deck-container .slide .notes {
+ display: none;
+}
+/* line 98, rawkes.scss */
+.deck-container .slide .icon {
+ filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=20);
+ opacity: 0.2;
+ left: 50%;
+ height: 256px;
+ margin: -128px 0 0 -128px;
+ position: absolute;
+ top: 210px;
+ width: 256px;
+}
+/* line 110, rawkes.scss */
+.deck-container .slide.title h1 {
+ background: #ff0080;
+ font-family: "TitilliumText XBold";
+ font-size: 100px;
+ margin: 230px -300px 0 80px;
+ padding: 20px 20px 20px 30px;
+ text-transform: uppercase;
+}
+/* line 119, rawkes.scss */
+.deck-container .slide.title h2 {
+ background: #00bafb;
+ font-family: "TitilliumText Light";
+ font-size: 60px;
+ margin: 30px 80px 0 -300px;
+ padding: 25px 30px 25px 25px;
+ text-align: right;
+}
+/* line 128, rawkes.scss */
+.deck-container .slide.title footer {
+ font-family: "TitilliumText Thin";
+ font-size: 36px;
+ margin: 30px 150px 0 0;
+ padding: 0;
+ text-align: right;
+}
+/* line 139, rawkes.scss */
+.deck-container .slide.sub-title h2 {
+ background: #00bafb;
+ font-family: "TitilliumText Thin";
+ font-size: 64px;
+ margin: 420px 180px 0 -300px;
+ padding: 25px 30px 25px 25px;
+ text-align: right;
+}
+/* line 148, rawkes.scss */
+.deck-container .slide.sub-title h3 {
+ font-family: "TitilliumText Thin";
+ font-size: 36px;
+ letter-spacing: 0;
+ margin: 30px 205px 0 0;
+ text-align: right;
+}
+/* line 158, rawkes.scss */
+.deck-container .slide.full-media {
+ -moz-transform: rotate(0deg);
+ -webkit-transform: rotate(0deg);
+ -o-transform: rotate(0deg);
+ -ms-transform: rotate(0deg);
+ transform: rotate(0deg);
+}
+/* line 161, rawkes.scss */
+.deck-container .slide.full-media h2 {
+ background: #00bafb;
+ font-family: "TitilliumText Thin";
+ font-size: 64px;
+ margin: 60px 250px 0 -300px;
+ padding: 25px 30px 25px 25px;
+ text-align: right;
+}
+/* line 170, rawkes.scss */
+.deck-container .slide.full-media img, .deck-container .slide.full-media video {
+ height: 100%;
+ left: 50%;
+ margin: -384px 0 0 -512px;
+ max-width: none;
+ position: absolute;
+ top: 50%;
+ width: 100%;
+ z-index: -10;
+}
+/* line 183, rawkes.scss */
+.deck-container .slide.full-icon {
+ -moz-transform: rotate(0deg);
+ -webkit-transform: rotate(0deg);
+ -o-transform: rotate(0deg);
+ -ms-transform: rotate(0deg);
+ transform: rotate(0deg);
+}
+/* line 186, rawkes.scss */
+.deck-container .slide.full-icon .icon {
+ filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
+ opacity: 1;
+ height: 400px;
+ margin: -200px 0 0 -200px;
+ top: 50%;
+ width: 400px;
+}
+/* line 193, rawkes.scss */
+.deck-container .slide.full-icon .icon.custom-width-620 {
+ height: 620px;
+ margin: -310px 0 0 -310px;
+ width: 620px;
+}
+/* line 200, rawkes.scss */
+.deck-container .slide.full-icon.blue {
+ background: #00bafb;
+}
+/* line 204, rawkes.scss */
+.deck-container .slide.full-icon.green {
+ background: #61cb42;
+}
+/* line 208, rawkes.scss */
+.deck-container .slide.full-icon.pink {
+ background: #ff0080;
+}
+/* line 212, rawkes.scss */
+.deck-container .slide.full-icon.orange {
+ background: #ffa52c;
+}
+/* line 218, rawkes.scss */
+.deck-container .slide.personal-info {
+ -moz-transform: rotate(0deg);
+ -webkit-transform: rotate(0deg);
+ -o-transform: rotate(0deg);
+ -ms-transform: rotate(0deg);
+ transform: rotate(0deg);
+}
+/* line 221, rawkes.scss */
+.deck-container .slide.personal-info header {
+ background: #00bafb;
+ margin: 60px 250px 0 -300px;
+ padding: 20px 132px 20px 460px;
+ position: relative;
+}
+/* line 227, rawkes.scss */
+.deck-container .slide.personal-info header h2 {
+ font-family: "TitilliumText Thin";
+ font-size: 64px;
+ margin: 0;
+ text-align: left;
+}
+/* line 234, rawkes.scss */
+.deck-container .slide.personal-info header p {
+ font-family: "TitilliumText Thin";
+ font-size: 26px;
+ margin: 0;
+ text-align: left;
+}
+/* line 241, rawkes.scss */
+.deck-container .slide.personal-info header .avatar {
+ border: 6px solid #3c99ce;
+ height: 80px;
+ margin: -46px 20px 0 0;
+ position: absolute;
+ right: 0;
+ top: 50%;
+ width: 80px;
+}
+/* line 252, rawkes.scss */
+.deck-container .slide.personal-info .recent-projects {
+ float: left;
+ width: 50%;
+}
+/* line 256, rawkes.scss */
+.deck-container .slide.personal-info .recent-projects h3 {
+ border: solid #b3b3b3;
+ border-width: 1px 0;
+ color: #b3b3b3;
+ font-family: "TitilliumText Regular";
+ font-size: 24px;
+ letter-spacing: 0;
+ padding: 10px 0 10px 98px;
+ margin: 0 0 40px 60px;
+ text-transform: uppercase;
+}
+/* line 268, rawkes.scss */
+.deck-container .slide.personal-info .recent-projects .project {
+ margin: 40px 20px 40px 60px;
+}
+/* line 273, rawkes.scss */
+.deck-container .slide.personal-info .more-cool-stuff {
+ float: right;
+ width: 50%;
+}
+/* line 277, rawkes.scss */
+.deck-container .slide.personal-info .more-cool-stuff h3 {
+ border: solid #b3b3b3;
+ border-width: 1px 0;
+ color: #b3b3b3;
+ font-family: "TitilliumText Regular";
+ font-size: 24px;
+ letter-spacing: 0;
+ padding: 10px 0 10px 118px;
+ margin: 0 60px 40px 0;
+ text-transform: uppercase;
+}
+/* line 289, rawkes.scss */
+.deck-container .slide.personal-info .more-cool-stuff .project {
+ margin: 40px 60px 40px 20px;
+}
+/* line 294, rawkes.scss */
+.deck-container .slide.personal-info .project {
+ margin: 40px 0;
+ padding: 0 0 0 98px;
+ position: relative;
+}
+/* line 299, rawkes.scss */
+.deck-container .slide.personal-info .project h4, .deck-container .slide.personal-info .project h5 {
+ letter-spacing: 0;
+ line-height: 1em;
+ font-family: "TitilliumText Light";
+}
+/* line 305, rawkes.scss */
+.deck-container .slide.personal-info .project h4 span, .deck-container .slide.personal-info .project h5 {
+ color: #b3b3b3;
+ font-family: "TitilliumText Thin";
+}
+/* line 310, rawkes.scss */
+.deck-container .slide.personal-info .project h4 {
+ font-size: 24px;
+}
+/* line 314, rawkes.scss */
+.deck-container .slide.personal-info .project h5 {
+ font-size: 20px;
+}
+/* line 318, rawkes.scss */
+.deck-container .slide.personal-info .project .icon {
+ filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
+ opacity: 1;
+ left: 34px;
+ position: absolute;
+ top: 50%;
+}
+/* line 324, rawkes.scss */
+.deck-container .slide.personal-info .project .icon.icon-twitter {
+ height: 41px;
+ margin: -20px 0 0 -30px;
+ width: 60px;
+}
+/* line 330, rawkes.scss */
+.deck-container .slide.personal-info .project .icon.icon-rawkets {
+ height: 66px;
+ margin: -33px 0 0 -20px;
+ width: 40px;
+}
+/* line 336, rawkes.scss */
+.deck-container .slide.personal-info .project .icon.icon-mozilla {
+ height: 49px;
+ margin: -25px 0 0 -30px;
+ width: 60px;
+}
+/* line 342, rawkes.scss */
+.deck-container .slide.personal-info .project .icon.icon-exw {
+ height: 60px;
+ margin: -30px 0 0 -30px;
+ width: 60px;
+}
+/* line 350, rawkes.scss */
+.deck-container .slide.personal-info .banner {
+ margin: 80px 60px;
+}
+/* line 354, rawkes.scss */
+.deck-container .slide.personal-info .banner .project h3, .deck-container .slide.personal-info .banner .project h4 {
+ letter-spacing: -1px;
+ line-height: 0.8em;
+ font-family: "TitilliumText Light";
+}
+/* line 360, rawkes.scss */
+.deck-container .slide.personal-info .banner .project h3 span, .deck-container .slide.personal-info .banner .project h4 {
+ color: #b3b3b3;
+ font-family: "TitilliumText Thin";
+}
+/* line 365, rawkes.scss */
+.deck-container .slide.personal-info .banner .project h3 {
+ font-size: 48px;
+}
+/* line 369, rawkes.scss */
+.deck-container .slide.personal-info .banner .project h4 {
+ font-size: 48px;
+}
+/* line 373, rawkes.scss */
+.deck-container .slide.personal-info .banner .project .icon {
+ filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
+ opacity: 1;
+ height: 80px;
+ left: 0;
+ margin: -40px 0 0 0;
+ position: absolute;
+ top: 50%;
+ width: 68px;
+}
386 themes/style/rawkes/rawkes.scss
@@ -0,0 +1,386 @@
+// Compass
+@import "compass";
+@import "compass/typography/lists/horizontal-list";
+@import "compass/utilities";
+
+// CSS3
+@import "compass/css3/border-radius";
+@import "compass/css3/box-shadow";
+@import "compass/css3/font-face";
+@import "compass/css3/images";
+@import "compass/css3/transform";
+@import "compass/css3/transition";
+
+// Colours
+
+// Typography
+
+@include font-face("TitilliumText Thin", font-files("titilliumtext25l005-webfont.woff", woff, "titilliumtext25l005-webfont.ttf", truetype, "titilliumtext25l005-webfont.svg", svg), "titilliumtext25l005-webfont.eot");
+@include font-face("TitilliumText Light", font-files("titilliumtext25l004-webfont.woff", woff, "titilliumtext25l004-webfont.ttf", truetype, "titilliumtext25l004-webfont.svg", svg), "titilliumtext25l004-webfont.eot");
+@include font-face("TitilliumText Regular", font-files("titilliumtext25l003-webfont.woff", woff, "titilliumtext25l003-webfont.ttf", truetype, "titilliumtext25l003-webfont.svg", svg), "titilliumtext25l003-webfont.eot");
+@include font-face("TitilliumText Medium", font-files("titilliumtext25l002-webfont.woff", woff, "titilliumtext25l002-webfont.ttf", truetype, "titilliumtext25l002-webfont.svg", svg), "titilliumtext25l002-webfont.eot");
+@include font-face("TitilliumText Bold", font-files("titilliumtext25l001-webfont.woff", woff, "titilliumtext25l001-webfont.ttf", truetype, "titilliumtext25l001-webfont.svg", svg), "titilliumtext25l001-webfont.eot");
+@include font-face("TitilliumText XBold", font-files("titilliumtext25l-webfont.woff", woff, "titilliumtext25l-webfont.ttf", truetype, "titilliumtext25l-webfont.svg", svg), "titilliumtext25l-webfont.eot");
+
+html {
+ overflow: hidden;
+}
+
+body {
+ background: #000;
+ @include background-image(linear-gradient(#333333, #191919));
+ height: 100%;
+ margin: 0;
+ width: 100%;
+}
+
+.deck-container {
+ @include transform-origin(50%, 0%);
+ color: #fff;
+ font-family: "TitilliumText Thin", "Helvetica Neue", "Helvetica", "Verdana", "Arial", sans-serif;
+ font-size: 30px;
+ font-weight: normal;
+ height: 768px;
+ left: 50%;
+ line-height: 1em;
+ margin: 0 0 0 -512px;
+ overflow: visible;
+ padding: 0;
+ position: absolute;
+ top: 0;
+ width: 1024px;
+
+ .slide {
+ @include transform-origin(50%, 50%);
+ @include rotate(-30deg);
+ box-sizing: border-box;
+ left: 0;
+ margin: 0 !important;
+ padding: 0 !important;
+ position: absolute;
+ top: 0;
+ width: 100%;
+
+ // Typography
+ h1, h2, h3, h4, h5 {
+ border: none;
+ font-family: "TitilliumText Light";
+ font-weight: normal;
+ letter-spacing: -1px;
+ line-height: 1em;
+ text-align: left;
+
+ .csstransforms & {
+ @include transform(none);
+ left:0;
+ padding: 0;
+ position: static;
+ right:0;
+ top:50%;
+ }
+ }
+
+ a {
+ color: inherit;
+ text-decoration: none;
+ }
+
+ a:hover {
+ text-decoration: underline;
+ }
+
+ // Presenter notes
+ .notes {
+ display: none;
+ }
+
+ // Icons
+ .icon {
+ @include opacity(0.2);
+ left: 50%;
+ height: 256px;
+ margin: -128px 0 0 -128px;
+ position: absolute;
+ top: 210px;
+ width: 256px;
+ }
+
+ // Title slide
+ &.title {
+ h1 {
+ background: rgb(255, 0, 128);
+ font-family: "TitilliumText XBold";
+ font-size: 100px;
+ margin: 230px -300px 0 80px;
+ padding: 20px 20px 20px 30px;
+ text-transform: uppercase;
+ }
+
+ h2 {
+ background: rgb(0, 186, 251);
+ font-family: "TitilliumText Light";
+ font-size: 60px;
+ margin: 30px 80px 0 -300px;
+ padding: 25px 30px 25px 25px;
+ text-align: right;
+ }
+
+ footer {
+ font-family: "TitilliumText Thin";
+ font-size: 36px;
+ margin: 30px 150px 0 0;
+ padding: 0;
+ text-align: right;
+ }
+ }
+
+ // Sub-title slide
+ &.sub-title {
+ h2 {
+ background: rgb(0, 186, 251);
+ font-family: "TitilliumText Thin";
+ font-size: 64px;
+ margin: 420px 180px 0 -300px;
+ padding: 25px 30px 25px 25px;
+ text-align: right;
+ }
+
+ h3 {
+ font-family: "TitilliumText Thin";
+ font-size: 36px;
+ letter-spacing: 0;
+ margin: 30px 205px 0 0;
+ text-align: right;
+ }
+ }
+
+ // Full media slide
+ &.full-media {
+ @include rotate(0deg);
+
+ h2 {
+ background: rgb(0, 186, 251);
+ font-family: "TitilliumText Thin";
+ font-size: 64px;
+ margin: 60px 250px 0 -300px;
+ padding: 25px 30px 25px 25px;
+ text-align: right;
+ }
+
+ img, video {
+ height: 100%;
+ left: 50%;
+ margin: -384px 0 0 -512px;
+ max-width: none;
+ position: absolute;
+ top: 50%;
+ width: 100%;
+ z-index: -10;
+ }
+ }
+
+ // Full icon slide
+ &.full-icon {
+ @include rotate(0deg);
+
+ .icon {
+ @include opacity(1);
+ height: 400px;
+ margin: -200px 0 0 -200px;
+ top: 50%;
+ width: 400px;
+
+ &.custom-width-620 {
+ height: 620px;
+ margin: -310px 0 0 -310px;
+ width: 620px;
+ }
+ }
+
+ &.blue {
+ background: rgb(0, 186, 251);
+ }
+
+ &.green {
+ background: rgb(97, 203, 66);
+ }
+
+ &.pink {
+ background: rgb(255, 0, 128);
+ }
+
+ &.orange {
+ background: rgb(255, 165, 44);
+ }
+ }
+
+ // Personal info slide
+ &.personal-info {
+ @include rotate(0deg);
+
+ header {
+ background: rgb(0, 186, 251);
+ margin: 60px 250px 0 -300px;
+ padding: 20px 132px 20px 460px;
+ position: relative;
+
+ h2 {
+ font-family: "TitilliumText Thin";
+ font-size: 64px;
+ margin: 0;
+ text-align: left;
+ }
+
+ p {
+ font-family: "TitilliumText Thin";
+ font-size: 26px;
+ margin: 0;
+ text-align: left;
+ }
+
+ .avatar {
+ border: 6px solid rgb(60, 153, 206);
+ height: 80px;
+ margin: -46px 20px 0 0;
+ position: absolute;
+ right: 0;
+ top: 50%;
+ width: 80px;
+ }
+ }
+
+ .recent-projects {
+ float: left;
+ width: 50%;
+
+ h3 {
+ border: solid rgb(179, 179, 179);
+ border-width: 1px 0;
+ color: rgb(179, 179, 179);
+ font-family: "TitilliumText Regular";
+ font-size: 24px;
+ letter-spacing: 0;
+ padding: 10px 0 10px 98px;
+ margin: 0 0 40px 60px;
+ text-transform: uppercase;
+ }
+
+ .project {
+ margin: 40px 20px 40px 60px;
+ }
+ }
+
+ .more-cool-stuff {
+ float: right;
+ width: 50%;
+
+ h3 {
+ border: solid rgb(179, 179, 179);
+ border-width: 1px 0;
+ color: rgb(179, 179, 179);
+ font-family: "TitilliumText Regular";
+ font-size: 24px;
+ letter-spacing: 0;
+ padding: 10px 0 10px 118px;
+ margin: 0 60px 40px 0;
+ text-transform: uppercase;
+ }
+
+ .project {
+ margin: 40px 60px 40px 20px;
+ }
+ }
+
+ .project {
+ margin: 40px 0;
+ padding: 0 0 0 98px;
+ position: relative;
+
+ h4, h5 {
+ letter-spacing: 0;
+ line-height: 1em;
+ font-family: "TitilliumText Light";
+ }
+
+ h4 span, h5 {
+ color: rgb(179, 179, 179);
+ font-family: "TitilliumText Thin";
+ }
+
+ h4 {
+ font-size: 24px;
+ }
+
+ h5 {
+ font-size: 20px;
+ }
+
+ .icon {
+ @include opacity(1);
+ left: 34px;
+ position: absolute;
+ top: 50%;
+
+ &.icon-twitter {
+ height: 41px;
+ margin: -20px 0 0 -30px;
+ width: 60px;
+ }
+
+ &.icon-rawkets {
+ height: 66px;
+ margin: -33px 0 0 -20px;
+ width: 40px;
+ }
+
+ &.icon-mozilla {
+ height: 49px;
+ margin: -25px 0 0 -30px;
+ width: 60px;
+ }
+
+ &.icon-exw {
+ height: 60px;
+ margin: -30px 0 0 -30px;
+ width: 60px;
+ }
+ }
+ }
+
+ .banner {
+ margin: 80px 60px;
+
+ .project {
+ h3, h4 {
+ letter-spacing: -1px;
+ line-height: 0.8em;
+ font-family: "TitilliumText Light";
+ }
+
+ h3 span, h4 {
+ color: rgb(179, 179, 179);
+ font-family: "TitilliumText Thin";
+ }
+
+ h3 {
+ font-size: 48px;
+ }
+
+ h4 {
+ font-size: 48px;
+ }
+
+ .icon {
+ @include opacity(1);
+ height: 80px;
+ left: 0;
+ margin: -40px 0 0 0;
+ position: absolute;
+ top: 50%;
+ width: 68px;
+ }
+ }
+ }
+ }
+ }
+}
52 themes/transition/horizontal-slide-no-transform.css
@@ -0,0 +1,52 @@
+.csstransitions.csstransforms {
+ overflow-x: hidden;
+}
+.csstransitions.csstransforms .deck-container > .slide {
+ -webkit-transition: left 500ms ease-in-out;
+ -moz-transition: left 500ms ease-in-out;
+ -ms-transition: left 500ms ease-in-out;
+ -o-transition: left 500ms ease-in-out;
+ transition: left 500ms ease-in-out;
+}
+.csstransitions.csstransforms .deck-container:not(.deck-menu) > .slide {
+ position: absolute;
+ top: 0;
+ left: 0;
+ -webkit-box-sizing: border-box;
+ -moz-box-sizing: border-box;
+ box-sizing: border-box;
+ width: 100%;
+ padding: 0 48px;
+}
+.csstransitions.csstransforms .deck-container:not(.deck-menu) > .slide .slide {
+ position: relative;
+ left: 0;
+ top: 0;
+ -webkit-transition: left 500ms ease-in-out, opacity 500ms ease-in-out;
+ -moz-transition: left 500ms ease-in-out, opacity 500ms ease-in-out;
+ -ms-transition: left 500ms ease-in-out, opacity 500ms ease-in-out;
+ -o-transition: left 500ms ease-in-out, opacity 500ms ease-in-out;
+ transition: left 500ms ease-in-out, opacity 500ms ease-in-out;
+}
+.csstransitions.csstransforms .deck-container:not(.deck-menu) > .slide .deck-next, .csstransitions.csstransforms .deck-container:not(.deck-menu) > .slide .deck-after {
+ visibility: visible;
+ left: 200%;
+}
+.csstransitions.csstransforms .deck-container:not(.deck-menu) > .deck-previous {
+ left: -200%;
+}
+.csstransitions.csstransforms .deck-container:not(.deck-menu) > .deck-before {
+ left: -400%;
+}
+.csstransitions.csstransforms .deck-container:not(.deck-menu) > .deck-next {
+ left: 200%;
+}
+.csstransitions.csstransforms .deck-container:not(.deck-menu) > .deck-after {
+ left: 400%;
+}
+.csstransitions.csstransforms .deck-container:not(.deck-menu) > .deck-before .slide, .csstransitions.csstransforms .deck-container:not(.deck-menu) > .deck-previous .slide {
+ visibility: visible;
+}
+.csstransitions.csstransforms .deck-container:not(.deck-menu) > .deck-child-current {
+ left: 0;
+}
Please sign in to comment.
Something went wrong with that request. Please try again.