Repository: zurb/responsive-tables Branch: master Commit: 0d34bc64dfc8 Files: 21 Total size: 105.6 KB Directory structure: gitextract_7h81t2zw/ ├── .gitignore ├── index.html ├── javascripts/ │ ├── app.js │ ├── app.js.orig │ ├── forms.jquery.js │ ├── jquery.customforms.js │ ├── jquery.orbit-1.3.0.js │ ├── jquery.reveal.js │ └── modernizr.foundation.js ├── responsive-tables.css ├── responsive-tables.js └── stylesheets/ ├── app.css ├── forms.css ├── globals.css ├── grid.css ├── ie.css ├── mobile.css ├── orbit.css ├── reveal.css ├── typography.css └── ui.css ================================================ FILE CONTENTS ================================================ ================================================ FILE: .gitignore ================================================ .DS_Store ================================================ FILE: index.html ================================================ Responsive Tables by ZURB

Responsive Tables

A CSS/JS solution for tables that allows them to shrink on small devices without sacrificing the value of tables, comparison of columns.

Our solution for responsive tables requires two included files (both linked on this page): responsive-tables.css and responsive-tables.js.

The JS will help us create some new elements on small devices, so we don't have to modify our table markup on the page. The CSS applies the requisite positioning and overflow styles to make the new elements work.

/* Attach the Table CSS and Javascript */
<link rel="stylesheet" href="responsive-tables.css">
<script src="stylesheet" href="responsive-tables.js"></script>

Small Word Table
Header 1 Header 2 Header 3 Header 4 Header 5 Header 6 Header 7 Header 8
row 1, cell 1 row 1, cell 2 row 1, cell 3 row 1, cell 4 row 1, cell 5 row 1, cell 6 row 1, cell 7 row 1, cell 8
row 2, cell 1 row 2, cell 2 row 2, cell 3 row 2, cell 4 row 2, cell 5 row 2, cell 6 row 2, cell 7 row 2, cell 8
row 3, cell 1 row 3, cell 2 row 3, cell 3 row 3, cell 4 row 3, cell 5 row 3, cell 6 row 3, cell 7 row 3, cell 8
row 4, cell 1 row 4, cell 2 row 4, cell 3 row 4, cell 4 row 4, cell 5 row 4, cell 6 row 4, cell 7 row 4, cell 8

In most cases, tables like this are okay at smaller sizes (since they'll break on every small word). However, with this many columns a very small device like a phone would still be a problem.

By attaching a class of .responsive to the table, our JS/CSS will kick in.

/* Put the responsive class on the table */
<table class="responsive">
  <tr>

Larger Content Table
Perk Description ID Skill Req Perk Req
Steel Smithing Can create Steel armor and weapons at forges, and improve them twice as much. 000cb40d
Arcane Blacksmith You can improve magical weapons and armor. 0005218e 60 Smithing Steel Smithing
Dwarven Smithing Can create Dwarven armor and weapons at forges, and improve them twice as much. 000cb40e 30 Smithing Steel Smithing
Orcish Smithing Can create Orcish armor and weapons at forges, and improve them twice as much. 000cb410 50 Smithing Dwarven Smithing
Ebony Smithing Can create Ebony armor and weapons at forges, and improve them twice as much. 000cb412 80 Smithing Orcish Smithing
Daedric Smithing Can create Daedric armor and weapons at forges, and improve them twice as much. 000cb413 90 Smithing Ebony Smithing
Elven Smithing Can create Elven armor and weapons at forges, and improve them twice as much. 000cb40f 30 Smithing Steel Smithing
Advanced Armors Can create Scaled and Plate armor at forges, and improve them twice as much. 000cb414 50 Smithing Elven Smithing
Glass Smithing Can create Glass armor and weapons at forges, and improve them twice as much. 000cb411 70 Smithing Advanced Armors
Dragon Armor Can create Dragon armor at forges, and improve them twice as much. 00052190 100 Smithing Daedric Smithing or Glass Smithing

The effect is even more pronounced on a table like this one, where we detail how to craft different armor types in Skyrim (we're nerds, okay).

Notice on a small device how we maintain the left column when it has so much content.


Very Long 1st Cell Content
Header 1 Header 2 Header 3 Header 4 Header 5 Header 6 Header 7 Header 8
Ham pork leberkas bresaola, brisket t-bone filet mignon hamburger salami andouille short loin sausage. row 1, cell 2 row 1, cell 3 row 1, cell 4 row 1, cell 5 row 1, cell 6 row 1, cell 7 row 1, cell 8
Ham pork leberkas bresaola, brisket t-bone filet mignon hamburger salami andouille short loin sausage. row 2, cell 2 row 2, cell 3 row 2, cell 4 row 2, cell 5 row 2, cell 6 row 2, cell 7 row 2, cell 8
Ham pork leberkas bresaola, brisket t-bone filet mignon hamburger salami andouille short loin sausage. row 3, cell 2 row 3, cell 3 row 3, cell 4 row 3, cell 5 row 3, cell 6 row 3, cell 7 row 3, cell 8
Ham pork leberkas bresaola, brisket t-bone filet mignon hamburger salami andouille short loin sausage. row 4, cell 2 row 4, cell 3 row 4, cell 4 row 4, cell 5 row 4, cell 6 row 4, cell 7 row 4, cell 8

Finally, in this example you'll see how this works for very long first-cell content. Both the first cell and the remaining cells are independently scrollable on small devices.

We do this so we can correctly predict the height of the cells for both the pinned columns and the rest of the columns.

================================================ FILE: javascripts/app.js ================================================ $(document).ready(function () { /* Use this js doc for all application specific JS */ /* TABS --------------------------------- */ /* Remove if you don't need :) */ function activateTab($tab) { var $activeTab = $tab.closest('dl').find('a.active'), contentLocation = $tab.attr("href") + 'Tab'; //Make Tab Active $activeTab.removeClass('active'); $tab.addClass('active'); //Show Tab Content $(contentLocation).closest('.tabs-content').children('li').hide(); $(contentLocation).show(); } $('dl.tabs').each(function () { //Get all tabs var tabs = $(this).children('dd').children('a'); tabs.click(function (e) { activateTab($(this)); }); }); if (window.location.hash) { activateTab($('a[href="' + window.location.hash + '"]')); } /* ALERT BOXES ------------ */ $(".alert-box").delegate("a.close", "click", function(event) { event.preventDefault(); $(this).closest(".alert-box").fadeOut(function(event){ $(this).remove(); }); }); /* PLACEHOLDER FOR FORMS ------------- */ /* Remove this and jquery.placeholder.min.js if you don't need :) */ $('input, textarea').placeholder(); /* UNCOMMENT THE LINE YOU WANT BELOW IF YOU WANT IE6/7/8 SUPPORT AND ARE USING .block-grids */ // $('.block-grid.two-up>li:nth-child(2n+1)').css({clear: 'left'}); // $('.block-grid.three-up>li:nth-child(3n+1)').css({clear: 'left'}); // $('.block-grid.four-up>li:nth-child(4n+1)').css({clear: 'left'}); // $('.block-grid.five-up>li:nth-child(5n+1)').css({clear: 'left'}); /* DROPDOWN NAV ------------- */ var currentFoundationDropdown = null; $('.nav-bar li a').each(function() { $(this).data('clicks', 0); }); $('.nav-bar li a').on('click', function(e) { e.preventDefault(); if (currentFoundationDropdown !== $(this).index() || currentFoundationDropdown === null) { $(this).data('clicks', 0); currentFoundationDropdown = $(this).index(); } $(this).data('clicks', ($(this).data('clicks') + 1)); var f = $(this).siblings('.flyout'); if (!f.is(':visible') && $(this).parent('.has-flyout').length > 1) { $('.nav-bar li .flyout').hide(); f.show(); } else if (($(this).data('clicks') > 1) || ($(this).parent('.has-flyout').length < 1)) { window.location = $(this).attr('href'); } }); $('.nav-bar').on('click', function(e) { e.stopPropagation(); if ($(e.target).parents().is('.flyout') || $(e.target).is('.flyout')) { e.preventDefault(); } }); // $('body').bind('touchend', function(e) { // if (!$(e.target).parents().is('.nav-bar') || !$(e.target).is('.nav-bar')) { // $('.nav-bar li .flyout').is(':visible').hide(); // } // }); /* DISABLED BUTTONS ------------- */ /* Gives elements with a class of 'disabled' a return: false; */ }); ================================================ FILE: javascripts/app.js.orig ================================================ $(document).ready(function () { /* Use this js doc for all application specific JS */ /* TABS --------------------------------- */ /* Remove if you don't need :) */ function activateTab($tab) { var $activeTab = $tab.closest('dl').find('a.active'), contentLocation = $tab.attr("href") + 'Tab'; //Make Tab Active $activeTab.removeClass('active'); $tab.addClass('active'); <<<<<<< HEAD //Show Tab Content $(contentLocation).closest('.tabs-content').children('li').hide(); ======= //Show Tab Content $(contentLocation).closest('ul.tabs-content').find('> li').hide(); >>>>>>> bd561f03d730cf888789bb44e12c4e56c5f445ae $(contentLocation).show(); } $('dl.tabs').each(function () { //Get all tabs var tabs = $(this).children('dd').children('a'); tabs.click(function (e) { activateTab($(this)); }); }); if (window.location.hash) { activateTab($('a[href="' + window.location.hash + '"]')); } /* PLACEHOLDER FOR FORMS ------------- */ /* Remove this and jquery.placeholder.min.js if you don't need :) */ $('input, textarea').placeholder(); /* DROPDOWN NAV ------------- */ /* $('.nav-bar li a, .nav-bar li a:after').each(function() { $(this).data('clicks', 0); }); $('.nav-bar li a, .nav-bar li a:after').bind('touchend click', function(e){ e.stopPropagation(); e.preventDefault(); var f = $(this).siblings('.flyout'); $(this).data('clicks', ($(this).data('clicks') + 1)); if (!f.is(':visible') && f.length > 0) { $('.nav-bar li .flyout').hide(); f.show(); } }); $('.nav-bar li a, .nav-bar li a:after').bind(' touchend click', function(e) { e.stopPropagation(); e.preventDefault(); if ($(this).data('clicks') > 1) { window.location = $(this).attr('href'); } }); $('.nav-bar').bind('touchend click', function(e) { e.stopPropagation(); if (!$(e.target).parents('.nav-bar li .flyout') || $(e.target) != $('.nav-bar li .flyout')) { e.preventDefault(); } }); $('body').bind('touchend', function(e) { if (!$(e.target).parents('.nav-bar li .flyout') || $(e.target) != $('.nav-bar li .flyout')) { $('.nav-bar li .flyout').hide(); } }); */ /* DISABLED BUTTONS ------------- */ /* Gives elements with a class of 'disabled' a return: false; */ <<<<<<< HEAD }); ======= }); >>>>>>> bd561f03d730cf888789bb44e12c4e56c5f445ae ================================================ FILE: javascripts/forms.jquery.js ================================================ /** * jQuery.placeholder - Placeholder plugin for input fields * Written by Blair Mitchelmore (blair DOT mitchelmore AT gmail DOT com) * Licensed under the WTFPL (http://sam.zoy.org/wtfpl/). * Date: 2008/10/14 * * @author Blair Mitchelmore * @version 1.0.1 * **/ new function($) { $.fn.placeholder = function(settings) { settings = settings || {}; var key = settings.dataKey || "placeholderValue"; var attr = settings.attr || "placeholder"; var className = settings.className || "placeholder"; var values = settings.values || []; var block = settings.blockSubmit || false; var blank = settings.blankSubmit || false; var submit = settings.onSubmit || false; var value = settings.value || ""; var position = settings.cursor_position || 0; return this.filter(":input").each(function(index) { $.data(this, key, values[index] || $(this).attr(attr)); }).each(function() { if ($.trim($(this).val()) === "") $(this).addClass(className).val($.data(this, key)); }).focus(function() { if ($.trim($(this).val()) === $.data(this, key)) $(this).removeClass(className).val(value) if ($.fn.setCursorPosition) { $(this).setCursorPosition(position); } }).blur(function() { if ($.trim($(this).val()) === value) $(this).addClass(className).val($.data(this, key)); }).each(function(index, elem) { if (block) new function(e) { $(e.form).submit(function() { return $.trim($(e).val()) != $.data(e, key) }); }(elem); else if (blank) new function(e) { $(e.form).submit(function() { if ($.trim($(e).val()) == $.data(e, key)) $(e).removeClass(className).val(""); return true; }); }(elem); else if (submit) new function(e) { $(e.form).submit(submit); }(elem); }); }; }(jQuery); ================================================ FILE: javascripts/jquery.customforms.js ================================================ /* * jQuery Custom Forms Plugin 1.0 * www.ZURB.com * Copyright 2010, ZURB * Free to use under the MIT license. * http://www.opensource.org/licenses/mit-license.php */ jQuery(document).ready(function ($) { function appendCustomMarkup(type) { $('form.custom input:' + type).each(function () { var $this = $(this).hide(), $span = $this.next('span.custom.' + type); if ($span.length === 0) { $span = $('').insertAfter($this); } $span.toggleClass('checked', $this.is(':checked')); }); } appendCustomMarkup('checkbox'); appendCustomMarkup('radio'); function appendCustomSelect(sel) { var $this = $(sel), $customSelect = $this.next('div.custom.dropdown'), $options = $this.find('option'), maxWidth = 0, $li; if ($customSelect.length === 0) { $customSelect = $('"'); $options.each(function () { $li = $('
  • ' + $(this).html() + '
  • '); $customSelect.find('ul').append($li); }); $customSelect.prepend('' + $options.first().html() + ''); $this.after($customSelect); $this.hide(); } else { // refresh the ul with options from the select in case the supplied markup doesn't match $customSelect.find('ul').html(''); $options.each(function () { $li = $('
  • ' + $(this).html() + '
  • '); $customSelect.find('ul').append($li); }); } $options.each(function (index) { if (this.selected) { $customSelect.find('li').eq(index).addClass('selected'); $customSelect.find('.current').html($(this).html()); } }); $customSelect.find('li').each(function () { $customSelect.addClass('open'); if ($(this).outerWidth() > maxWidth) { maxWidth = $(this).outerWidth(); } $customSelect.removeClass('open'); }); $customSelect.css('width', maxWidth + 18 + 'px'); $customSelect.find('ul').css('width', maxWidth + 16 + 'px'); } $('form.custom select').each(function () { appendCustomSelect(this); }); }); (function ($) { function refreshCustomSelect($select) { var maxWidth = 0, $customSelect = $select.next(); $options = $select.find('option'); $customSelect.find('ul').html(''); $options.each(function () { $li = $('
  • ' + $(this).html() + '
  • '); $customSelect.find('ul').append($li); }); // re-populate $options.each(function (index) { if (this.selected) { $customSelect.find('li').eq(index).addClass('selected'); $customSelect.find('.current').html($(this).html()); } }); // fix width $customSelect.removeAttr('style') .find('ul').removeAttr('style'); $customSelect.find('li').each(function () { $customSelect.addClass('open'); if ($(this).outerWidth() > maxWidth) { maxWidth = $(this).outerWidth(); } $customSelect.removeClass('open'); }); $customSelect.css('width', maxWidth + 18 + 'px'); $customSelect.find('ul').css('width', maxWidth + 16 + 'px'); } function toggleCheckbox($element) { var $input = $element.prev(), input = $input[0]; input.checked = ((input.checked) ? false : true); $element.toggleClass('checked'); $input.trigger('change'); } function toggleRadio($element) { var $input = $element.prev(), input = $input[0]; $('input:radio[name="' + $input.attr('name') + '"]').each(function () { $(this).next().removeClass('checked'); }); input.checked = ((input.checked) ? false : true); $element.toggleClass('checked'); $input.trigger('change'); } $('form.custom span.custom.checkbox').live('click', function (event) { event.preventDefault(); event.stopPropagation(); toggleCheckbox($(this)); }); $('form.custom span.custom.radio').live('click', function (event) { event.preventDefault(); event.stopPropagation(); toggleRadio($(this)); }); $('form.custom select').live('change', function (event) { refreshCustomSelect($(this)); }); $('form.custom label').live('click', function (event) { var $associatedElement = $('#' + $(this).attr('for')), $customCheckbox, $customRadio; if ($associatedElement.length !== 0) { if ($associatedElement.attr('type') === 'checkbox') { event.preventDefault(); $customCheckbox = $(this).find('span.custom.checkbox'); toggleCheckbox($customCheckbox); } else if ($associatedElement.attr('type') === 'radio') { event.preventDefault(); $customRadio = $(this).find('span.custom.radio'); toggleRadio($customRadio); } } }); $('form.custom div.custom.dropdown a.current, form.custom div.custom.dropdown a.selector').live('click', function (event) { var $this = $(this), $dropdown = $this.closest('div.custom.dropdown'); event.preventDefault(); $dropdown.toggleClass('open'); if ($dropdown.hasClass('open')) { $(document).bind('click.customdropdown', function (event) { $dropdown.removeClass('open'); $(document).unbind('.customdropdown'); }); } else { $(document).unbind('.customdropdown'); } }); $('form.custom div.custom.dropdown li').live('click', function (event) { var $this = $(this), $customDropdown = $this.closest('div.custom.dropdown'), $select = $customDropdown.prev(), selectedIndex = 0; event.preventDefault(); event.stopPropagation(); $this .closest('ul') .find('li') .removeClass('selected'); $this.addClass('selected'); $customDropdown .removeClass('open') .find('a.current') .html($this.html()); $this.closest('ul').find('li').each(function (index) { if ($this[0] == this) { selectedIndex = index; } }); $select[0].selectedIndex = selectedIndex; $select.trigger('change'); }); })(jQuery); ================================================ FILE: javascripts/jquery.orbit-1.3.0.js ================================================ /* * jQuery Orbit Plugin 1.3.0 * www.ZURB.com/playground * Copyright 2010, ZURB * Free to use under the MIT license. * http://www.opensource.org/licenses/mit-license.php */ (function($) { var ORBIT = { defaults: { animation: 'horizontal-push', // fade, horizontal-slide, vertical-slide, horizontal-push, vertical-push animationSpeed: 600, // how fast animtions are timer: true, // true or false to have the timer advanceSpeed: 4000, // if timer is enabled, time between transitions pauseOnHover: false, // if you hover pauses the slider startClockOnMouseOut: false, // if clock should start on MouseOut startClockOnMouseOutAfter: 1000, // how long after MouseOut should the timer start again directionalNav: true, // manual advancing directional navs captions: true, // do you want captions? captionAnimation: 'fade', // fade, slideOpen, none captionAnimationSpeed: 600, // if so how quickly should they animate in bullets: false, // true or false to activate the bullet navigation bulletThumbs: false, // thumbnails for the bullets bulletThumbLocation: '', // location from this file where thumbs will be afterSlideChange: $.noop, // empty function fluid: true, centerBullets: true // center bullet nav with js, turn this off if you want to position the bullet nav manually }, activeSlide: 0, numberSlides: 0, orbitWidth: null, orbitHeight: null, locked: null, timerRunning: null, degrees: 0, wrapperHTML: '
    ', timerHTML: '
    ', captionHTML: '
    ', directionalNavHTML: '
    RightLeft
    ', bulletHTML: '', init: function (element, options) { var $imageSlides, imagesLoadedCount = 0, self = this; // Bind functions to correct context this.clickTimer = $.proxy(this.clickTimer, this); this.addBullet = $.proxy(this.addBullet, this); this.resetAndUnlock = $.proxy(this.resetAndUnlock, this); this.stopClock = $.proxy(this.stopClock, this); this.startTimerAfterMouseLeave = $.proxy(this.startTimerAfterMouseLeave, this); this.clearClockMouseLeaveTimer = $.proxy(this.clearClockMouseLeaveTimer, this); this.rotateTimer = $.proxy(this.rotateTimer, this); this.options = $.extend({}, this.defaults, options); if (this.options.timer === 'false') this.options.timer = false; if (this.options.captions === 'false') this.options.captions = false; if (this.options.directionalNav === 'false') this.options.directionalNav = false; this.$element = $(element); this.$wrapper = this.$element.wrap(this.wrapperHTML).parent(); this.$slides = this.$element.children('img, a, div'); this.$element.bind('orbit.next', function () { self.shift('next'); }); this.$element.bind('orbit.prev', function () { self.shift('prev'); }); this.$element.bind('orbit.goto', function (event, index) { self.shift(index); }); this.$element.bind('orbit.start', function (event, index) { self.startClock(); }); this.$element.bind('orbit.stop', function (event, index) { self.stopClock(); }); $imageSlides = this.$slides.filter('img'); if ($imageSlides.length === 0) { this.loaded(); } else { $imageSlides.bind('imageready', function () { imagesLoadedCount += 1; if (imagesLoadedCount === $imageSlides.length) { self.loaded(); } }); } }, loaded: function () { this.$element .addClass('orbit') .css({width: '1px', height: '1px'}); this.setDimentionsFromLargestSlide(); this.updateOptionsIfOnlyOneSlide(); this.setupFirstSlide(); if (this.options.timer) { this.setupTimer(); this.startClock(); } if (this.options.captions) { this.setupCaptions(); } if (this.options.directionalNav) { this.setupDirectionalNav(); } if (this.options.bullets) { this.setupBulletNav(); this.setActiveBullet(); } }, currentSlide: function () { return this.$slides.eq(this.activeSlide); }, setDimentionsFromLargestSlide: function () { //Collect all slides and set slider size of largest image var self = this, $fluidPlaceholder; self.$element.add(self.$wrapper).width(this.$slides.first().width()); self.$element.add(self.$wrapper).height(this.$slides.first().height()); self.orbitWidth = this.$slides.first().width(); self.orbitHeight = this.$slides.first().height(); $fluidPlaceholder = this.$slides.first().clone(); this.$slides.each(function () { var slide = $(this), slideWidth = slide.width(), slideHeight = slide.height(); if (slideWidth > self.$element.width()) { self.$element.add(self.$wrapper).width(slideWidth); self.orbitWidth = self.$element.width(); } if (slideHeight > self.$element.height()) { self.$element.add(self.$wrapper).height(slideHeight); self.orbitHeight = self.$element.height(); $fluidPlaceholder = $(this).clone(); } self.numberSlides += 1; }); if (this.options.fluid) { if (typeof this.options.fluid === "string") { $fluidPlaceholder = $('') } self.$element.prepend($fluidPlaceholder); $fluidPlaceholder.addClass('fluid-placeholder'); self.$element.add(self.$wrapper).css({width: 'inherit'}); self.$element.add(self.$wrapper).css({height: 'inherit'}); $(window).bind('resize', function () { self.orbitWidth = self.$element.width(); self.orbitHeight = self.$element.height(); }); } }, //Animation locking functions lock: function () { this.locked = true; }, unlock: function () { this.locked = false; }, updateOptionsIfOnlyOneSlide: function () { if(this.$slides.length === 1) { this.options.directionalNav = false; this.options.timer = false; this.options.bullets = false; } }, setupFirstSlide: function () { //Set initial front photo z-index and fades it in var self = this; this.$slides.first() .css({"z-index" : 3}) .fadeIn(function() { //brings in all other slides IF css declares a display: none self.$slides.css({"display":"block"}) }); }, startClock: function () { var self = this; if(!this.options.timer) { return false; } if (this.$timer.is(':hidden')) { this.clock = setInterval(function () { this.$element.trigger('orbit.next'); }, this.options.advanceSpeed); } else { this.timerRunning = true; this.$pause.removeClass('active') this.clock = setInterval(this.rotateTimer, this.options.advanceSpeed / 180); } }, rotateTimer: function () { var degreeCSS = "rotate(" + this.degrees + "deg)" this.degrees += 2; this.$rotator.css({ "-webkit-transform": degreeCSS, "-moz-transform": degreeCSS, "-o-transform": degreeCSS }); if(this.degrees > 180) { this.$rotator.addClass('move'); this.$mask.addClass('move'); } if(this.degrees > 360) { this.$rotator.removeClass('move'); this.$mask.removeClass('move'); this.degrees = 0; this.$element.trigger('orbit.next'); } }, stopClock: function () { if (!this.options.timer) { return false; } else { this.timerRunning = false; clearInterval(this.clock); this.$pause.addClass('active'); } }, setupTimer: function () { this.$timer = $(this.timerHTML); this.$wrapper.append(this.$timer); this.$rotator = this.$timer.find('.rotator'); this.$mask = this.$timer.find('.mask'); this.$pause = this.$timer.find('.pause'); this.$timer.click(this.clickTimer); if (this.options.startClockOnMouseOut) { this.$wrapper.mouseleave(this.startTimerAfterMouseLeave); this.$wrapper.mouseenter(this.clearClockMouseLeaveTimer); } if (this.options.pauseOnHover) { this.$wrapper.mouseenter(this.stopClock); } }, startTimerAfterMouseLeave: function () { var self = this; this.outTimer = setTimeout(function() { if(!self.timerRunning){ self.startClock(); } }, this.options.startClockOnMouseOutAfter) }, clearClockMouseLeaveTimer: function () { clearTimeout(this.outTimer); }, clickTimer: function () { if(!this.timerRunning) { this.startClock(); } else { this.stopClock(); } }, setupCaptions: function () { this.$caption = $(this.captionHTML); this.$wrapper.append(this.$caption); this.setCaption(); }, setCaption: function () { var captionLocation = this.currentSlide().attr('data-caption'), captionHTML; if (!this.options.captions) { return false; } //Set HTML for the caption if it exists if (captionLocation) { captionHTML = $(captionLocation).html(); //get HTML from the matching HTML entity this.$caption .attr('id', captionLocation) // Add ID caption TODO why is the id being set? .html(captionHTML); // Change HTML in Caption //Animations for Caption entrances switch (this.options.captionAnimation) { case 'none': this.$caption.show(); break; case 'fade': this.$caption.fadeIn(this.options.captionAnimationSpeed); break; case 'slideOpen': this.$caption.slideDown(this.options.captionAnimationSpeed); break; } } else { //Animations for Caption exits switch (this.options.captionAnimation) { case 'none': this.$caption.hide(); break; case 'fade': this.$caption.fadeOut(this.options.captionAnimationSpeed); break; case 'slideOpen': this.$caption.slideUp(this.options.captionAnimationSpeed); break; } } }, setupDirectionalNav: function () { var self = this; this.$wrapper.append(this.directionalNavHTML); this.$wrapper.find('.left').click(function () { self.stopClock(); self.$element.trigger('orbit.prev'); }); this.$wrapper.find('.right').click(function () { self.stopClock(); self.$element.trigger('orbit.next'); }); }, setupBulletNav: function () { this.$bullets = $(this.bulletHTML); this.$wrapper.append(this.$bullets); this.$slides.each(this.addBullet); this.$element.addClass('with-bullets'); if (this.options.centerBullets) this.$bullets.css('margin-left', -this.$bullets.width() / 2); }, addBullet: function (index, slide) { var position = index + 1, $li = $('
  • ' + (position) + '
  • '), thumbName, self = this; if (this.options.bulletThumbs) { thumbName = $(slide).attr('data-thumb'); if (thumbName) { $li .addClass('has-thumb') .css({background: "url(" + this.options.bulletThumbLocation + thumbName + ") no-repeat"});; } } this.$bullets.append($li); $li.data('index', index); $li.click(function () { self.stopClock(); self.$element.trigger('orbit.goto', [$li.data('index')]) }); }, setActiveBullet: function () { if(!this.options.bullets) { return false; } else { this.$bullets.find('li') .removeClass('active') .eq(this.activeSlide) .addClass('active'); } }, resetAndUnlock: function () { this.$slides .eq(this.prevActiveSlide) .css({"z-index" : 1}); this.unlock(); this.options.afterSlideChange.call(this, this.$slides.eq(this.prevActiveSlide), this.$slides.eq(this.activeSlide)); }, shift: function (direction) { var slideDirection = direction; //remember previous activeSlide this.prevActiveSlide = this.activeSlide; //exit function if bullet clicked is same as the current image if (this.prevActiveSlide == slideDirection) { return false; } if (this.$slides.length == "1") { return false; } if (!this.locked) { this.lock(); //deduce the proper activeImage if (direction == "next") { this.activeSlide++; if (this.activeSlide == this.numberSlides) { this.activeSlide = 0; } } else if (direction == "prev") { this.activeSlide-- if (this.activeSlide < 0) { this.activeSlide = this.numberSlides - 1; } } else { this.activeSlide = direction; if (this.prevActiveSlide < this.activeSlide) { slideDirection = "next"; } else if (this.prevActiveSlide > this.activeSlide) { slideDirection = "prev" } } //set to correct bullet this.setActiveBullet(); //set previous slide z-index to one below what new activeSlide will be this.$slides .eq(this.prevActiveSlide) .css({"z-index" : 2}); //fade if (this.options.animation == "fade") { this.$slides .eq(this.activeSlide) .css({"opacity" : 0, "z-index" : 3}) .animate({"opacity" : 1}, this.options.animationSpeed, this.resetAndUnlock); } //horizontal-slide if (this.options.animation == "horizontal-slide") { if (slideDirection == "next") { this.$slides .eq(this.activeSlide) .css({"left": this.orbitWidth, "z-index" : 3}) .animate({"left" : 0}, this.options.animationSpeed, this.resetAndUnlock); } if (slideDirection == "prev") { this.$slides .eq(this.activeSlide) .css({"left": -this.orbitWidth, "z-index" : 3}) .animate({"left" : 0}, this.options.animationSpeed, this.resetAndUnlock); } } //vertical-slide if (this.options.animation == "vertical-slide") { if (slideDirection == "prev") { this.$slides .eq(this.activeSlide) .css({"top": this.orbitHeight, "z-index" : 3}) .animate({"top" : 0}, this.options.animationSpeed, this.resetAndUnlock); } if (slideDirection == "next") { this.$slides .eq(this.activeSlide) .css({"top": -this.orbitHeight, "z-index" : 3}) .animate({"top" : 0}, this.options.animationSpeed, this.resetAndUnlock); } } //horizontal-push if (this.options.animation == "horizontal-push") { if (slideDirection == "next") { this.$slides .eq(this.activeSlide) .css({"left": this.orbitWidth, "z-index" : 3}) .animate({"left" : 0}, this.options.animationSpeed, this.resetAndUnlock); this.$slides .eq(this.prevActiveSlide) .animate({"left" : -this.orbitWidth}, this.options.animationSpeed); } if (slideDirection == "prev") { this.$slides .eq(this.activeSlide) .css({"left": -this.orbitWidth, "z-index" : 3}) .animate({"left" : 0}, this.options.animationSpeed, this.resetAndUnlock); this.$slides .eq(this.prevActiveSlide) .animate({"left" : this.orbitWidth}, this.options.animationSpeed); } } //vertical-push if (this.options.animation == "vertical-push") { if (slideDirection == "next") { this.$slides .eq(this.activeSlide) .css({top: -this.orbitHeight, "z-index" : 3}) .animate({top : 0}, this.options.animationSpeed, this.resetAndUnlock); this.$slides .eq(this.prevActiveSlide) .animate({top : this.orbitHeight}, this.options.animationSpeed); } if (slideDirection == "prev") { this.$slides .eq(this.activeSlide) .css({top: this.orbitHeight, "z-index" : 3}) .animate({top : 0}, this.options.animationSpeed, this.resetAndUnlock); this.$slides .eq(this.prevActiveSlide) .animate({top : -this.orbitHeight}, this.options.animationSpeed); } } this.setCaption(); } } }; $.fn.orbit = function (options) { return this.each(function () { var orbit = $.extend({}, ORBIT); orbit.init(this, options); }); }; })(jQuery); /*! * jQuery imageready Plugin * http://www.zurb.com/playground/ * * Copyright 2011, ZURB * Released under the MIT License */ (function ($) { var options = {}; $.event.special.imageready = { setup: function (data, namespaces, eventHandle) { options = data || options; }, add: function (handleObj) { var $this = $(this), src; if ( this.nodeType === 1 && this.tagName.toLowerCase() === 'img' && this.src !== '' ) { if (options.forceLoad) { src = $this.attr('src'); $this.attr('src', ''); bindToLoad(this, handleObj.handler); $this.attr('src', src); } else if ( this.complete || this.readyState === 4 ) { handleObj.handler.apply(this, arguments); } else { bindToLoad(this, handleObj.handler); } } }, teardown: function (namespaces) { $(this).unbind('.imageready'); } }; function bindToLoad(element, callback) { var $this = $(element); $this.bind('load.imageready', function () { callback.apply(element, arguments); $this.unbind('load.imageready'); }); } }(jQuery)); ================================================ FILE: javascripts/jquery.reveal.js ================================================ /* * jQuery Reveal Plugin 1.0 * www.ZURB.com * Copyright 2010, ZURB * Free to use under the MIT license. * http://www.opensource.org/licenses/mit-license.php */ (function ($) { $('a[data-reveal-id]').live('click', function (event) { event.preventDefault(); var modalLocation = $(this).attr('data-reveal-id'); $('#' + modalLocation).reveal($(this).data()); }); $.fn.reveal = function (options) { var defaults = { animation: 'fadeAndPop', // fade, fadeAndPop, none animationSpeed: 300, // how fast animtions are closeOnBackgroundClick: true, // if you click background will modal close? dismissModalClass: 'close-reveal-modal' // the class of a button or element that will close an open modal }; var options = $.extend({}, defaults, options); return this.each(function () { var modal = $(this), topMeasure = parseInt(modal.css('top')), topOffset = modal.height() + topMeasure, locked = false, modalBg = $('.reveal-modal-bg'); if (modalBg.length == 0) { modalBg = $('
    ').insertAfter(modal); modalBg.fadeTo('fast', 0.8); } function openAnimation() { modalBg.unbind('click.modalEvent'); $('.' + options.dismissModalClass).unbind('click.modalEvent'); if (!locked) { lockModal(); if (options.animation == "fadeAndPop") { modal.css({'top': $(document).scrollTop() - topOffset, 'opacity': 0, 'visibility': 'visible'}); modalBg.fadeIn(options.animationSpeed / 2); modal.delay(options.animationSpeed / 2).animate({ "top": $(document).scrollTop() + topMeasure + 'px', "opacity": 1 }, options.animationSpeed, unlockModal); } if (options.animation == "fade") { modal.css({'opacity': 0, 'visibility': 'visible', 'top': $(document).scrollTop() + topMeasure}); modalBg.fadeIn(options.animationSpeed / 2); modal.delay(options.animationSpeed / 2).animate({ "opacity": 1 }, options.animationSpeed, unlockModal); } if (options.animation == "none") { modal.css({'visibility': 'visible', 'top': $(document).scrollTop() + topMeasure}); modalBg.css({"display": "block"}); unlockModal(); } } modal.unbind('reveal:open', openAnimation); } modal.bind('reveal:open', openAnimation); function closeAnimation() { if (!locked) { lockModal(); if (options.animation == "fadeAndPop") { modalBg.delay(options.animationSpeed).fadeOut(options.animationSpeed); modal.animate({ "top": $(document).scrollTop() - topOffset + 'px', "opacity": 0 }, options.animationSpeed / 2, function () { modal.css({'top': topMeasure, 'opacity': 1, 'visibility': 'hidden'}); unlockModal(); }); } if (options.animation == "fade") { modalBg.delay(options.animationSpeed).fadeOut(options.animationSpeed); modal.animate({ "opacity" : 0 }, options.animationSpeed, function () { modal.css({'opacity': 1, 'visibility': 'hidden', 'top': topMeasure}); unlockModal(); }); } if (options.animation == "none") { modal.css({'visibility': 'hidden', 'top': topMeasure}); modalBg.css({'display': 'none'}); } } modal.unbind('reveal:close', closeAnimation); } modal.bind('reveal:close', closeAnimation); modal.trigger('reveal:open'); var closeButton = $('.' + options.dismissModalClass).bind('click.modalEvent', function () { modal.trigger('reveal:close'); }); if (options.closeOnBackgroundClick) { modalBg.css({"cursor": "pointer"}); modalBg.bind('click.modalEvent', function () { modal.trigger('reveal:close'); }); } $('body').keyup(function (event) { if (event.which === 27) { // 27 is the keycode for the Escape key modal.trigger('reveal:close'); } }); function unlockModal() { locked = false; } function lockModal() { locked = true; } }); }; })(jQuery); ================================================ FILE: javascripts/modernizr.foundation.js ================================================ /* Modernizr 2.0.6 (Custom Build) | MIT & BSD * Build: http://www.modernizr.com/download/#-touch-iepp-respond-mq-cssclasses-teststyles-prefixes-load */ ;window.Modernizr=function(a,b,c){function A(a,b){return!!~(""+a).indexOf(b)}function z(a,b){return typeof a===b}function y(a,b){return x(n.join(a+";")+(b||""))}function x(a){k.cssText=a}var d="2.0.6",e={},f=!0,g=b.documentElement,h=b.head||b.getElementsByTagName("head")[0],i="modernizr",j=b.createElement(i),k=j.style,l,m=Object.prototype.toString,n=" -webkit- -moz- -o- -ms- -khtml- ".split(" "),o={},p={},q={},r=[],s=function(a,c,d,e){var f,h,j,k=b.createElement("div");if(parseInt(d,10))while(d--)j=b.createElement("div"),j.id=e?e[d]:i+(d+1),k.appendChild(j);f=["­",""].join(""),k.id=i,k.innerHTML+=f,g.appendChild(k),h=c(k,a),k.parentNode.removeChild(k);return!!h},t=function(b){if(a.matchMedia)return matchMedia(b).matches;var c;s("@media "+b+" { #"+i+" { position: absolute; } }",function(b){c=(a.getComputedStyle?getComputedStyle(b,null):b.currentStyle).position=="absolute"});return c},u,v={}.hasOwnProperty,w;!z(v,c)&&!z(v.call,c)?w=function(a,b){return v.call(a,b)}:w=function(a,b){return b in a&&z(a.constructor.prototype[b],c)};var B=function(c,d){var f=c.join(""),g=d.length;s(f,function(c,d){var f=b.styleSheets[b.styleSheets.length-1],h=f.cssRules&&f.cssRules[0]?f.cssRules[0].cssText:f.cssText||"",i=c.childNodes,j={};while(g--)j[i[g].id]=i[g];e.touch="ontouchstart"in a||j.touch.offsetTop===9},g,d)}([,["@media (",n.join("touch-enabled),("),i,")","{#touch{top:9px;position:absolute}}"].join("")],[,"touch"]);o.touch=function(){return e.touch};for(var C in o)w(o,C)&&(u=C.toLowerCase(),e[u]=o[C](),r.push((e[u]?"":"no-")+u));x(""),j=l=null,a.attachEvent&&function(){var a=b.createElement("div");a.innerHTML="";return a.childNodes.length!==1}()&&function(a,b){function s(a){var b=-1;while(++b=u.minw)&&(!u.maxw||u.maxw&&l<=u.maxw))m[u.media]||(m[u.media]=[]),m[u.media].push(f[u.rules])}for(var t in g)g[t]&&g[t].parentNode===j&&j.removeChild(g[t]);for(var t in m){var v=c.createElement("style"),w=m[t].join("\n");v.type="text/css",v.media=t,v.styleSheet?v.styleSheet.cssText=w:v.appendChild(c.createTextNode(w)),n.appendChild(v),g.push(v)}j.insertBefore(n,o.nextSibling)}},s=function(a,b){var c=t();if(!!c){c.open("GET",a,!0),c.onreadystatechange=function(){c.readyState==4&&(c.status==200||c.status==304)&&b(c.responseText)};if(c.readyState==4)return;c.send()}},t=function(){var a=!1,b=[function(){return new ActiveXObject("Microsoft.XMLHTTP")},function(){return new XMLHttpRequest}],c=b.length;while(c--){try{a=b[c]()}catch(d){continue}break}return function(){return a}}();m(),respond.update=m,a.addEventListener?a.addEventListener("resize",u,!1):a.attachEvent&&a.attachEvent("onresize",u)}}(this,Modernizr.mq("only all")),function(a,b,c){function k(a){return!a||a=="loaded"||a=="complete"}function j(){var a=1,b=-1;while(p.length- ++b)if(p[b].s&&!(a=p[b].r))break;a&&g()}function i(a){var c=b.createElement("script"),d;c.src=a.s,c.onreadystatechange=c.onload=function(){!d&&k(c.readyState)&&(d=1,j(),c.onload=c.onreadystatechange=null)},m(function(){d||(d=1,j())},H.errorTimeout),a.e?c.onload():n.parentNode.insertBefore(c,n)}function h(a){var c=b.createElement("link"),d;c.href=a.s,c.rel="stylesheet",c.type="text/css";if(!a.e&&(w||r)){var e=function(a){m(function(){if(!d)try{a.sheet.cssRules.length?(d=1,j()):e(a)}catch(b){b.code==1e3||b.message=="security"||b.message=="denied"?(d=1,m(function(){j()},0)):e(a)}},0)};e(c)}else c.onload=function(){d||(d=1,m(function(){j()},0))},a.e&&c.onload();m(function(){d||(d=1,j())},H.errorTimeout),!a.e&&n.parentNode.insertBefore(c,n)}function g(){var a=p.shift();q=1,a?a.t?m(function(){a.t=="c"?h(a):i(a)},0):(a(),j()):q=0}function f(a,c,d,e,f,h){function i(){!o&&k(l.readyState)&&(r.r=o=1,!q&&j(),l.onload=l.onreadystatechange=null,m(function(){u.removeChild(l)},0))}var l=b.createElement(a),o=0,r={t:d,s:c,e:h};l.src=l.data=c,!s&&(l.style.display="none"),l.width=l.height="0",a!="object"&&(l.type=d),l.onload=l.onreadystatechange=i,a=="img"?l.onerror=i:a=="script"&&(l.onerror=function(){r.e=r.r=1,g()}),p.splice(e,0,r),u.insertBefore(l,s?null:n),m(function(){o||(u.removeChild(l),r.r=r.e=o=1,j())},H.errorTimeout)}function e(a,b,c){var d=b=="c"?z:y;q=0,b=b||"j",C(a)?f(d,a,b,this.i++,l,c):(p.splice(this.i++,0,a),p.length==1&&g());return this}function d(){var a=H;a.loader={load:e,i:0};return a}var l=b.documentElement,m=a.setTimeout,n=b.getElementsByTagName("script")[0],o={}.toString,p=[],q=0,r="MozAppearance"in l.style,s=r&&!!b.createRange().compareNode,t=r&&!s,u=s?l:n.parentNode,v=a.opera&&o.call(a.opera)=="[object Opera]",w="webkitAppearance"in l.style,x=w&&"async"in b.createElement("script"),y=r?"object":v||x?"img":"script",z=w?"img":y,A=Array.isArray||function(a){return o.call(a)=="[object Array]"},B=function(a){return Object(a)===a},C=function(a){return typeof a=="string"},D=function(a){return o.call(a)=="[object Function]"},E=[],F={},G,H;H=function(a){function f(a){var b=a.split("!"),c=E.length,d=b.pop(),e=b.length,f={url:d,origUrl:d,prefixes:b},g,h;for(h=0;h 767)) { switched = false; $("table.responsive").each(function(i, element) { unsplitTable($(element)); }); } }; $(window).load(updateTables); $(window).on("redraw",function(){switched=false;updateTables();}); // An event to listen for $(window).on("resize", updateTables); function splitTable(original) { original.wrap("
    "); var copy = original.clone(); copy.find("td:not(:first-child), th:not(:first-child)").css("display", "none"); copy.removeClass("responsive"); original.closest(".table-wrapper").append(copy); copy.wrap("
    "); original.wrap("
    "); setCellHeights(original, copy); } function unsplitTable(original) { original.closest(".table-wrapper").find(".pinned").remove(); original.unwrap(); original.unwrap(); } function setCellHeights(original, copy) { var tr = original.find('tr'), tr_copy = copy.find('tr'), heights = []; tr.each(function (index) { var self = $(this), tx = self.find('th, td'); tx.each(function () { var height = $(this).outerHeight(true); heights[index] = heights[index] || 0; if (height > heights[index]) heights[index] = height; }); }); tr_copy.each(function (index) { $(this).height(heights[index]); }); } }); ================================================ FILE: stylesheets/app.css ================================================ /* Artfully masterminded by ZURB */ /* -------------------------------------------------- Table of Contents ----------------------------------------------------- :: Shared Styles :: Page Name 1 :: Page Name 2 */ /* ----------------------------------------- Shared Styles ----------------------------------------- */ body { background: #f4f4f4; } .container { max-width: 740px; box-shadow: 0px 2px 5px rgba(0,0,0,0.25); background: #fff; margin: 0 auto; } p { color: #999; } h1 { margin: 20px 0 0; } h4.subhead { font-weight: lighter; color: #777; margin-bottom: 20px; } pre { -moz-border-radius: 5px; border-radius: 5px; -webkit-border-radius: 5px; margin: 0; display: block; font: 11px Monaco, monospace !important; padding: 15px; background-color: #1C1C1C; overflow: auto; color: #D0D0D0; line-height: 125%; margin-bottom: 30px; } /* ----------------------------------------- Page Name 1 ----------------------------------------- */ /* ----------------------------------------- Page Name 2 ----------------------------------------- */ ================================================ FILE: stylesheets/forms.css ================================================ /* Artfully masterminded by ZURB Make sure to include app.js / foundation.js if you are going to use inline label inputs */ /* ----------------------------------------- Standard Forms ----------------------------------------- */ form { margin: 0 0 18px; } form label { display: block; font-size: 13px; line-height: 18px; cursor: pointer; margin-bottom: 9px; } input.input-text, textarea { border-right: 1px solid #bbb; border-bottom: 1px solid #bbb; } input.input-text, textarea, select { display: block; margin-bottom: 9px; } label + input.input-text, label + textarea, label + select, label + div.dropdown, select + div.dropdown { margin-top: -9px; } /* Text input and textarea font and padding */ input.input-text, textarea { font-size: 13px; padding: 4px 3px 2px; background: #fff; } input.input-text:focus, textarea:focus { outline: none !important; } input.input-text.oversize, textarea.oversize { font-size: 18px !important; padding: 4px 5px !important; } input.input-text:focus, textarea:focus { background: #f9f9f9; } /* Inlined Label Style */ input.placeholder, textarea.placeholder { color: #888; } /* Text input and textarea sizes */ input.input-text, textarea { width: 254px; } input.small, textarea.small { width: 134px; } input.medium, textarea.medium { width: 254px; } input.large, textarea.large { width: 434px; } /* Fieldsets */ form fieldset { padding: 9px 9px 2px 9px; border: solid 1px #ddd; margin: 18px 0; } /* Inlined Radio & Checkbox */ .form-field input[type=radio], div.form-field input[type=checkbox] { display: inline; width:auto; margin-bottom:0; } /* Errors */ .form-field.error input, input.input-text.red { border-color: #C00000; background-color: rgba(255,0,0,0.15); } .form-field.error label, label.red { color: #C00000; } .form-field.error small, small.error { margin-top: -6px; display: block; margin-bottom: 9px; font-size: 11px; color: #C00000; width: 260px; } .small + small.error { width: 140px; } .medium + small.error { width: 260px; } .large + small.error { width: 440px; } /* ----------------------------------------- Nicer Forms ----------------------------------------- */ form.nice div.form-field input, form.nice input.input-text, form.nice textarea { border: solid 1px #bbb; border-radius: 2px; -webkit-border-radius: 2px; -moz-border-radius: 2px; } form.nice div.form-field input, form.nice input.input-text, form.nice textarea { font-size: 13px; padding: 6px 3px 4px; outline: none !important; background: url(../images/misc/input-bg.png) #fff; } form.nice div.form-field input:focus, form.nice input.input-text:focus, form.nice textarea:focus { background-color: #f9f9f9; } form.nice fieldset { border-radius: 3px; -webkit-border-radius: 3px; -moz-border-radius: 3px; } form.nice div.form-field input[type=radio], form.nice div.form-field input[type=checkbox] { display: inline; width:auto; margin-bottom:0; } form.nice div.form-field.error small, form.nice small.error { padding: 6px 4px; border: solid 0 #C00000; border-width: 0 1px 1px 1px; margin-top: -10px; background: #C00000; color: #fff; font-size: 12px; font-weight: bold; border-bottom-left-radius: 2px; border-bottom-right-radius: 2px; -webkit-border-bottom-left-radius: 2px; -webkit-border-bottom-right-radius: 2px; -moz-border-radius-bottomleft: 2px; -moz-border-radius-bottomright: 2px; } form.nice div.form-field.error .small + small, form.nice .small + small.error { width: 132px; } form.nice div.form-field.error .medium + small, form.nice .medium + small.error { width: 252px; } form.nice div.form-field.error .large + small, form.nice .large + small.error { width: 432px; } /* ----------------------------------------- Custom Forms ----------------------------------------- */ form.custom span.custom { display: inline-block; width: 14px; height: 14px; position: relative; top: 2px; border: solid 1px #ccc; background: url(../images/misc/custom-form-sprites.png) 0 0 no-repeat; } form.custom span.custom.radio { border-radius: 7px; -webkit-border-radius: 7px; -moz-border-radius: 7px; } form.custom span.custom.radio.checked { background-position: 0 -14px; } form.custom span.custom.checkbox.checked { background-position: 0 -28px; } form.custom div.custom.dropdown { position: relative; display: inline-block; width: auto; height: 28px; margin-bottom: 9px; } form.custom div.custom.dropdown a.current { display: block; width: auto; line-height: 26px; padding: 0 38px 0 6px; border: solid 1px #ddd; color: #141414; } form.custom div.custom.dropdown a.selector { position: absolute; width: 26px; height: 26px; display: block; background: url(../images/misc/custom-form-sprites.png) -14px 0 no-repeat; right: 0; top: 0; border: solid 1px #ddd; } form.custom div.custom.dropdown:hover a.selector, form.custom div.custom.dropdown.open a.selector { background-position: -14px -26px; } form.custom div.custom.dropdown ul { position: absolute; width: auto; display: none; margin: 0; left: 0; top: 27px; margin: 0; padding: 0; background: rgba(255,255,255,0.9); border: solid 1px #ddd; z-index: 10; } form.custom div.custom.dropdown ul li { cursor: pointer; padding: 3px 38px 3px 6px; margin: 0; white-space: nowrap} form.custom div.custom.dropdown ul li.selected { background: url(../images/misc/custom-form-sprites.png) right -52px no-repeat; } form.custom div.custom.dropdown ul li:hover { background-color: #2a85e8; color: #fff; } form.custom div.custom.dropdown ul li.selected:hover { background: url(../images/misc/custom-form-sprites.png) #2a85e8 right -78px no-repeat; } form.custom div.custom.dropdown ul.show { display: block; } form.custom div.custom.dropdown.open ul { display: block; } ================================================ FILE: stylesheets/globals.css ================================================ /* Artfully Masterminded by ZURB */ /* -------------------------------------------------- Table of Contents ----------------------------------------------------- :: Reset & Standards :: Links :: Lists :: Tables :: Misc */ /* -------------------------------------------------- :: Global Reset & Standards -------------------------------------------------- */ /* Eric Meyer's CSS Reset http://meyerweb.com/eric/tools/css/reset/ v2.0 | 20110126 License: none (public domain) */ 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 { margin: 0; padding: 0; border: 0; font: inherit; vertical-align: baseline; } html { font-size: 62.5%; } /* HTML5 display-role reset for older browsers */ 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: ''; content: none; } table { border-collapse: collapse; border-spacing: 0; } body { background: #fff; font-family: "Helvetica Neue", "HelveticaNeue", Helvetica, Arial, "Lucida Grande", sans-serif; font-size: 13px; line-height: 18px; color: #555; position: relative; -webkit-font-smoothing: antialiased; } /* -------------------------------------------------- :: Links -------------------------------------------------- */ a { color: #2a85e8; text-decoration: none; line-height: inherit; } a:hover { color: #11639d; } a:focus { color: #cc4714; outline: none; } p a, p a:visited { line-height: inherit; } /* -------------------------------------------------- :: Lists -------------------------------------------------- */ ul, ol { margin-bottom: 18px; } ul { list-style: none outside; } ol { list-style: decimal; } ol, ul.square, ul.circle, ul.disc { margin-left: 30px; } ul.square { list-style: square outside; } ul.circle { list-style: circle outside; } ul.disc { list-style: disc outside; } li { margin-bottom: 12px; } ul.large li { line-height: 21px; } /* -------------------------------------------------- :: Tables -------------------------------------------------- */ table { background: #fff; -moz-border-radius: 3px; -webkit-border-radius: 3px; border-radius: 3px; margin: 0 0 18px; border: 1px solid #ddd; } table thead, table tfoot { background: #f5f5f5; } table thead tr th, table tfoot tr th, table tbody tr td, table tr td, table tfoot tr td { font-size: 12px; line-height: 18px; text-align: left; } table thead tr th, table tfoot tr td { padding: 8px 10px 9px; font-size: 14px; font-weight: bold; color: #222; } table thead tr th:first-child, table tfoot tr td:first-child { border-left: none; } table thead tr th:last-child, table tfoot tr td:last-child { border-right: none; } table tbody tr.even, table tbody tr.alt { background: #f9f9f9; } table tbody tr:nth-child(even) { background: #f9f9f9; } table tbody tr td { color: #333; padding: 9px 10px; vertical-align: top; border: none; } /* -------------------------------------------------- :: Misc ---------------------------------------------------*/ .left { float: left; } .right { float: right; } .text-left { text-align: left; } .text-right { text-align: right; } .text-center { text-align: center; } .hide { display: none; } .highlight { background: #ff0; } ================================================ FILE: stylesheets/grid.css ================================================ /* Artfully Masterminded by ZURB */ /* -------------------------------------------------- :: Grid This is the mobile-friendly, responsive grid that lets Foundation work much of its magic. -------------------------------------------------- */ .container { padding: 0 20px; } .row { width: 100%; max-width: 980px; min-width: 727px; margin: 0 auto; } /* To fix the grid into a certain size, set max-width to width */ .row .row { min-width: 0; } .column, .columns { margin-left: 4.4%; float: left; min-height: 1px; position: relative; } .column:first-child, .columns:first-child { margin-left: 0; } .row .one.columns { width: 4.3%; } .row .two.columns { width: 13%; } .row .three.columns { width: 21.68%; } .row .four.columns { width: 30.37%; } .row .five.columns { width: 39.1%; } .row .six.columns { width: 47.8%; } .row .seven.columns { width: 56.5%; } .row .eight.columns { width: 65.2%; } .row .nine.columns { width: 73.9%; } .row .ten.columns { width: 82.6%; } .row .eleven.columns { width: 91.3%; } .row .twelve.columns { width: 100%; } .row .offset-by-one { margin-left: 13.1%; } .row .offset-by-two { margin-left: 21.8%; } .row .offset-by-three { margin-left: 30.5%; } .row .offset-by-four { margin-left: 39.2%; } .row .offset-by-five { margin-left: 47.9%; } .row .offset-by-six { margin-left: 56.6%; } .row .offset-by-seven { margin-left: 65.3%; } .row .offset-by-eight { margin-left: 74.0%; } .row .offset-by-nine { margin-left: 82.7%; } .row .offset-by-ten { margin-left: 91.4%; } .row .centered { float: none; margin: 0 auto; } .row .offset-by-one:first-child { margin-left: 8.7%; } .row .offset-by-two:first-child { margin-left: 17.4%; } .row .offset-by-three:first-child { margin-left: 26.1%; } .row .offset-by-four:first-child { margin-left: 34.8%; } .row .offset-by-five:first-child { margin-left: 43.5%; } .row .offset-by-six:first-child { margin-left: 52.2%; } .row .offset-by-seven:first-child { margin-left: 60.9%; } .row .offset-by-eight:first-child { margin-left: 69.6%; } .row .offset-by-nine:first-child { margin-left: 78.3%; } .row .offset-by-ten:first-child { margin-left: 87%; } .row .offset-by-eleven:first-child { margin-left: 95.7%; } /* Source Ordering */ .push-two { left: 17.4% } .push-three { left: 26.1%; } .push-four { left: 34.8%; } .push-five { left: 43.5%; } .push-six { left: 52.2%; } .push-seven { left: 60.9%; } .push-eight { left: 69.6%; } .push-nine { left: 78.3%; } .push-ten { left: 87%; } .pull-two { right: 17.4% } .pull-three { right: 26.1%; } .pull-four { right: 34.8%; } .pull-five { right: 43.5%; } .pull-six { right: 52.2%; } .pull-seven { right: 60.9%; } .pull-eight { right: 69.6%; } .pull-nine { right: 78.3%; } .pull-ten { right: 87%; } img, object, embed { max-width: 100%; height: auto; } img { -ms-interpolation-mode: bicubic; } #map_canvas img, .map_canvas img {max-width: none!important;} /* Nicolas Gallagher's micro clearfix */ .row:before, .row:after, .clearfix:before, .clearfix:after { content:""; display:table; } .row:after, .clearfix:after { clear: both; } .row, .clearfix { zoom: 1; } /* -------------------------------------------------- :: Block grids These are 2-up, 3-up, 4-up and 5-up ULs, suited for repeating blocks of content. Add 'mobile' to them to switch them just like the layout grid (one item per line) on phones For IE7/8 compatibility block-grid items need to be the same height. You can optionally uncomment the lines below to support arbitrary height, but know that IE7/8 do not support :nth-child. -------------------------------------------------- */ .block-grid { display: block; overflow: hidden; } .block-grid>li { display: block; height: auto; float: left; } .block-grid.two-up { margin-left: -4% } .block-grid.two-up>li { margin-left: 4%; width: 46%; } /* .block-grid.two-up>li:nth-child(2n+1) {clear: left;} */ .block-grid.three-up { margin-left: -2% } .block-grid.three-up>li { margin-left: 2%; width: 31.3%; } /* .block-grid.three-up>li:nth-child(3n+1) {clear: left;} */ .block-grid.four-up { margin-left: -2% } .block-grid.four-up>li { margin-left: 2%; width: 23%; } /* .block-grid.four-up>li:nth-child(4n+1) {clear: left;} */ .block-grid.five-up { margin-left: -1.5% } .block-grid.five-up>li { margin-left: 1.5%; width: 18.5%; } /* .block-grid.five-up>li:nth-child(5n+1) {clear: left;} */ ================================================ FILE: stylesheets/ie.css ================================================ /* This is for all IE specfific style less than IE9. We hate IE. */ div.panel { border: 1px solid #ccc; } .lt-ie8 .nav-bar li.has-flyout a { padding-right: 20px; } .lt-ie8 .nav-bar li.has-flyout a:after { border-top: none; } ================================================ FILE: stylesheets/mobile.css ================================================ /* -------------------------------------------------- :: Typography -------------------------------------------------- */ @media handheld, only screen and (max-width: 767px) { h1 { font-size: 32px; font-size: 3.2rem; line-height: 1.3; } h2 { font-size: 28px; font-size: 2.8rem; line-height: 1.3; } h3 { font-size: 21px; font-size: 2.1rem; line-height: 1.3; } h4 { font-size: 18px; font-size: 1.8rem; line-height: 1.2; } h5 { font-size: 16px; font-size: 1.6rem; line-height: 1.2; } h6 { font-size: 15px; font-size: 1.5rem; line-height: 1.2; } body, p { font-size: 15px; font-size: 1.5rem; line-height: 1.4; } } /* -------------------------------------------------- :: Grid -------------------------------------------------- */ /* Tablet screens */ @media only screen and (device-width: 768px), (device-width: 800px) { /* Currently unused */ } /* Mobile */ @media only screen and (max-width: 767px) { body { -webkit-text-size-adjust: none; -ms-text-size-adjust: none; width: 100%; min-width: 0; margin-left: 0; margin-right: 0; padding-left: 0; padding-right: 0; } .container { min-width: 0; margin-left: 0; margin-right: 0; } .row { width: 100%; min-width: 0; margin-left: 0; margin-right: 0; } .row .row .column, .row .row .columns { padding: 0; } .column, .columns { width: auto !important; float: none; margin-left: 0; margin-right: 0; } .column:last-child, .columns:last-child { margin-right: 0; } .offset-by-one, .offset-by-two, .offset-by-three, .offset-by-four, .offset-by-five, .offset-by-six, .offset-by-seven, .offset-by-eight, .offset-by-nine, .offset-by-ten, .offset-by-eleven, .centered { margin-left: 0 !important; } .push-two, .push-three, .push-four, .push-five, .push-six, .push-seven, .push-eight, .push-nine, .push-ten { left: auto; } .pull-two, .pull-three, .pull-four, .pull-five, .pull-six, .pull-seven, .pull-eight, .pull-nine, .pull-ten { right: auto; } /* Mobile 4-column Grid */ .row .phone-one.column:first-child, .row .phone-two.column:first-child, .row .phone-three.column:first-child, .row .phone-four.column:first-child, .row .phone-one.columns:first-child, .row .phone-two.columns:first-child, .row .phone-three.columns:first-child, .row .phone-four.columns:first-child { margin-left: 0; } .row .phone-one.column, .row .phone-two.column, .row .phone-three.column, .row .phone-four.column, .row .phone-one.columns, .row .phone-two.columns, .row .phone-three.columns, .row .phone-four.columns { margin-left: 4.4%; float: left; min-height: 1px; position: relative; padding: 0; } .row .phone-one.columns { width: 21.68% !important; } .row .phone-two.columns { width: 47.8% !important; } .row .phone-three.columns { width: 73.9% !important; } .row .phone-four.columns { width: 100% !important; } .row .columns.push-one-phone { left: 26.08%; } .row .columns.push-two-phone { left: 52.2% } .row .columns.push-three-phone { left: 78.3% } .row .columns.pull-one-phone { right: 26.08% } .row .columns.pull-two-phone { right: 52.2% } .row .columns.pull-three-phone { right: 78.3%; } } /* -------------------------------------------------- :: Block Grids -------------------------------------------------- */ @media only screen and (max-width: 767px) { .block-grid.mobile { margin-left: 0; } .block-grid.mobile > li { float: none; width: 100%; margin-left: 0; } } /* -------------------------------------------------- :: Mobile Visibility Affordances ---------------------------------------------------*/ .show-on-phones { display: none !important; } .show-on-tablets { display: none !important; } .show-on-desktops { display: block !important; } .hide-on-phones { display: block !important; } .hide-on-tablets { display: block !important; } .hide-on-desktops { display: none !important; } @media only screen and (max-device-width: 800px), only screen and (device-width: 1024px) and (device-height: 600px), only screen and (width: 1280px) and (orientation: landscape), only screen and (device-width: 800px) { .hide-on-phones { display: block !important; } .hide-on-tablets { display: none !important; } .hide-on-desktops { display: block !important; } .show-on-phones { display: none !important; } .show-on-tablets { display: block !important; } .show-on-desktops { display: none !important; } } /* Modernizr-enabled tablet targeting */ @media only screen and (max-width: 1280px) and (min-width: 768px) { .touch .hide-on-phones { display: block !important; } .touch .hide-on-tablets { display: none !important; } .touch .hide-on-desktops { display: block !important; } .touch .show-on-phones { display: none !important; } .touch .show-on-tablets { display: block !important; } .touch .show-on-desktops { display: none !important; } } @media only screen and (max-width: 767px) { .hide-on-phones { display: none !important; } .hide-on-tablets { display: block !important; } .hide-on-desktops { display: block !important; } .show-on-phones { display: block !important; } .show-on-tablets { display: none !important; } .show-on-desktops { display: none !important; } } /* only screen and (device-width: 1280px), only screen and (max-device-width: 1280px), /* /* Keeping this in as a reminder to address support for other tablet devices like the Xoom in the future */ /* Specific overrides for elements that require something other than display: block */ table.show-on-desktops { display: table !important; } table.hide-on-phones { display: table !important; } table.hide-on-tablets { display: table !important; } @media only screen and (max-device-width: 800px), only screen and (device-width: 1024px) and (device-height: 600px), only screen and (width: 1280px) and (orientation: landscape), only screen and (device-width: 800px) { table.hide-on-phones { display: block !important; } table.hide-on-desktops { display: block !important; } table.show-on-tablets { display: block !important; } } @media only screen and (max-width: 767px) { table.hide-on-tablets { display: block !important; } table.hide-on-desktops { display: block !important; } table.show-on-phones { display: block !important; } } /* -------------------------------------------------- :: Forms ---------------------------------------------------*/ @media only screen and (max-width: 767px) { div.form-field input, div.form-field input.small, div.form-field input.medium, div.form-field input.large, div.form-field input.oversize, input.input-text, input.input-text.oversize, textarea, form.nice div.form-field input, form.nice div.form-field input.oversize, form.nice input.input-text, form.nice input.input-text.oversize, form.nice textarea { display: block; width: 96%; padding: 6px 2% 4px; font-size: 18px; } form.nice div.form-field input, form.nice div.form-field input.oversize, form.nice input.input-text, form.nice input.input-text.oversize, form.nice textarea { -webkit-border-radius: 2px; -moz-border-radius: 2px; border-radius: 2px; } form.nice div.form-field.error small, form.nice small.error { padding: 6px 2%; display: block; } form.nice div.form-field.error .small + small, form.nice .small + .error { width: auto; } form.nice div.form-field.error .medium + small, form.nice .medium + .error { width: auto; } form.nice div.form-field.error .large + small, form.nice .large + .error { width: auto; } } /* -------------------------------------------------- :: UI ---------------------------------------------------*/ /* Buttons */ @media only screen and (max-width: 767px) { .button { display: block; } button.button { width: 100%; padding-left: 0; padding-right: 0; } } /* Tabs */ @media only screen and (max-width: 767px) { dl.tabs.mobile, dl.nice.tabs.mobile { width: auto; margin: 20px -20px 40px; height: auto; } dl.tabs.mobile dt, dl.tabs.mobile dd, dl.nice.tabs.mobile dt, dl.nice.tabs.mobile dd { float: none; height: auto; } dl.tabs.mobile dd a { display: block; width: auto; height: auto; padding: 18px 20px; line-height: 1; border: solid 0 #ccc; border-width: 1px 0 0; margin: 0; color: #555; background: #eee; font-size: 15px; font-size: 1.5rem; } dl.tabs.mobile dd a.active { height: auto; margin: 0; border-width: 1px 0 0; } .nice.tabs.mobile { border-bottom: solid 1px #ccc; height: auto; } .nice.tabs.mobile dd a { padding: 18px 20px; border: none; border-left: none; border-right: none; border-top: 1px solid #ccc; background: #fff; } .nice.tabs.mobile dd a.active { border: none; background: #00a6fc; color: #fff; margin: 0; position: static; top: 0; height: auto; } .nice.tabs.mobile dd:first-child a.active { margin: 0; } dl.contained.mobile, dl.nice.contained.mobile { margin-bottom: 0; } dl.contained.tabs.mobile dd a { padding: 18px 20px; } dl.nice.contained.tabs.mobile dd a { padding: 18px 20px; } } /* Nav Bar */ @media only screen and (max-width: 767px) { .nav-bar { height: auto; } .nav-bar>li { float: none; display: block; border-right: none; } .nav-bar>li>a { text-align: left; border-top: 1px solid #ddd; border-right: none; } .nav-bar>li:first-child>a { border-top: none; } .nav-bar>li.has-flyout>a:after { content: ""; width: 0; height: 0; border-left: 4px solid transparent;border-right: 4px solid transparent; border-top: 4px solid #2a85e8; display: block; } .nav-bar>li:hover>a { font-weight: bold; } .nav-bar>li:hover ul { position: relative; } .flyout { position: relative; width: auto; top: auto; margin-right: -2px; border-width: 1px 1px 0px 1px; } .flyout.right { float: none; right: auto; left: -1px; } .flyout.small, .flyout.large { width: auto; } .flyout p:last-child { margin-bottom: 18px; } } /* Nav Bar */ @media only screen and (max-device-width: 800px), only screen and (device-width: 1024px) and (device-height: 600px), only screen and (width: 1280px) and (orientation: landscape), only screen and (device-width: 800px), only screen and (max-width: 767px) { .video { padding-top: 0; } } ================================================ FILE: stylesheets/orbit.css ================================================ /* CSS for jQuery Orbit Plugin 1.2.3 * www.ZURB.com/playground * Copyright 2010, ZURB * Free to use under the MIT license. * http://www.opensource.org/licenses/mit-license.php /* PUT IN YOUR SLIDER ID AND SIZE TO MAKE LOAD BEAUTIFULLY ================================================== */ #caseStudies { width: 1000px; height: 210px; background: #fff url('../images/orbit/loading.gif') no-repeat center center; overflow: hidden; } #caseStudies>img, #caseStudies>div, #caseStudies>a { display: none; } /* CONTAINER ================================================== */ div.orbit-wrapper { width: 1px; height: 1px; position: relative; } div.orbit { width: 1px; height: 1px; position: relative; overflow: hidden } div.orbit.with-bullets { margin-bottom: 40px; } div.orbit>img { position: absolute; top: 0; left: 0; /* display: none; */ } div.orbit>a { border: none; position: absolute; top: 0; left: 0; line-height: 0; display: none; } .orbit>div { position: absolute; top: 0; left: 0; width: 100%; height: 100%; } /* Note: If your slider only uses content or anchors, you're going to want to put the width and height declarations on the ".orbit>div" and "div.orbit>a" tags in addition to just the .orbit-wrapper */ /* TIMER ================================================== */ div.timer { width: 40px; height: 40px; overflow: hidden; position: absolute; top: 10px; right: 10px; opacity: .6; cursor: pointer; z-index: 1001; } span.rotator { display: block; width: 40px; height: 40px; position: absolute; top: 0; left: -20px; background: url(../images/orbit/rotator-black.png) no-repeat; z-index: 3; } span.mask { display: block; width: 20px; height: 40px; position: absolute; top: 0; right: 0; z-index: 2; overflow: hidden; } span.rotator.move { left: 0 } span.mask.move { width: 40px; left: 0; background: url(../images/orbit/timer-black.png) repeat 0 0; } span.pause { display: block; width: 40px; height: 40px; position: absolute; top: 0; left: 0; background: url(../images/orbit/pause-black.png) no-repeat; z-index: 4; opacity: 0; } span.pause.active { background: url(../images/orbit/pause-black.png) no-repeat 0 -40px } div.timer:hover span.pause, span.pause.active { opacity: 1 } /* CAPTIONS ================================================== */ .orbit-caption { display: none; font-family: "HelveticaNeue", "Helvetica-Neue", Helvetica, Arial, sans-serif; } .orbit-wrapper .orbit-caption { background: #000; background: rgba(0,0,0,.6); z-index: 1000; color: #fff; text-align: center; padding: 7px 0; font-size: 13px; position: absolute; right: 0; bottom: 0; width: 100%; } /* DIRECTIONAL NAV ================================================== */ div.slider-nav { display: block } div.slider-nav span { width: 78px; height: 100px; text-indent: -9999px; position: absolute; z-index: 1000; top: 50%; margin-top: -50px; cursor: pointer; } div.slider-nav span.right { background: url(../images/orbit/right-arrow.png); right: 0; } div.slider-nav span.left { background: url(../images/orbit/left-arrow.png); left: 0; } /* BULLET NAV ================================================== */ .orbit-bullets { position: absolute; z-index: 1000; list-style: none; bottom: -40px; left: 50%; margin-left: -50px; padding: 0; } .orbit-bullets li { float: left; margin-left: 5px; cursor: pointer; color: #999; text-indent: -9999px; background: url(../images/orbit/bullets.jpg) no-repeat 4px 0; width: 13px; height: 12px; overflow: hidden; } .orbit-bullets li.active { color: #222; background-position: -8px 0; } .orbit-bullets li.has-thumb { background: none; width: 100px; height: 75px; } .orbit-bullets li.active.has-thumb { background-position: 0 0; border-top: 2px solid #000; } /* FLUID LAYOUT ================================================== */ .orbit .fluid-placeholder { visibility: hidden; position: static; display: block; width: 100%; } .orbit, .orbit-wrapper { width: 100% !important; } .orbit-bullets { position: absolute; z-index: 1000; list-style: none; bottom: -50px; left: 50%; margin-left: -50px; padding: 0; } .orbit-bullets li { float: left; margin-left: 5px; cursor: pointer; color: #999; text-indent: -9999px; background: url(../images/orbit/bullets.jpg) no-repeat 4px 0; width: 13px; height: 12px; overflow: hidden; } .orbit-bullets li.has-thumb { background: none; width: 100px; height: 75px; } .orbit-bullets li.active { color: #222; background-position: -8px 0; } .orbit-bullets li.active.has-thumb { background-position: 0 0; border-top: 2px solid #000; } ================================================ FILE: stylesheets/reveal.css ================================================ /* -------------------------------------------------- Reveal Modals -------------------------------------------------- */ .reveal-modal-bg { position: fixed; height: 100%; width: 100%; background: #000; z-index: 2000; display: none; top: 0; left: 0; } .reveal-modal { visibility: hidden; top: 100px; left: 50%; margin-left: -300px; width: 520px; background: #eee url(../images/misc/modal-gloss.png) no-repeat -200px -80px; position: absolute; z-index: 2001; padding: 30px 40px 34px; -moz-border-radius: 5px; -webkit-border-radius: 5px; border-radius: 5px; -moz-box-shadow: 0 0 10px rgba(0,0,0,.4); -webkit-box-shadow: 0 0 10px rgba(0,0,0,.4); box-shadow: 0 0 10px rgba(0,0,0,.4); } .reveal-modal.small { width: 200px; margin-left: -140px;} .reveal-modal.medium { width: 400px; margin-left: -240px;} .reveal-modal.large { width: 600px; margin-left: -340px;} .reveal-modal.xlarge { width: 800px; margin-left: -440px;} .reveal-modal .close-reveal-modal { font-size: 22px; line-height: .5; position: absolute; top: 8px; right: 11px; color: #aaa; text-shadow: 0 -1px 1px rbga(0,0,0,.6); font-weight: bold; cursor: pointer; } .reveal-modal .row { min-width: 0; } /* Mobile */ @media handheld, only screen and (device-width: 768px), (device-width: 800px) { .reveal-modal-bg { position: absolute; } .reveal-modal, .reveal-modal.small, .reveal-modal.medium, .reveal-modal.large, .reveal-modal.xlarge { width: 60%; top: 30%; left: 15%; margin-left: 0; padding: 5%; height: auto; } } @media handheld, only screen and (max-width: 767px) { .reveal-modal-bg { position: absolute; } .reveal-modal, .reveal-modal.small, .reveal-modal.medium, .reveal-modal.large, .reveal-modal.xlarge { width: 80%; top: 15%; left: 5%; margin-left: 0; padding: 5%; height: auto; } } /* NOTES Close button entity is × Example markup

    Awesome. I have it.

    Your couch. I it's mine.

    Lorem ipsum dolor sit amet, consectetur adipiscing elit. In ultrices aliquet placerat. Duis pulvinar orci et nisi euismod vitae tempus lorem consectetur. Duis at magna quis turpis mattis venenatis eget id diam.

    ×
    */ ================================================ FILE: stylesheets/typography.css ================================================ /* Artfully Masterminded by ZURB */ /* -------------------------------------------------- :: Typography -------------------------------------------------- */ h1, h2, h3, h4, h5, h6 { color: #181818; font-weight: bold; line-height: 1.25 } h1 a, h2 a, h3 a, h4 a, h5 a, h6 a { font-weight: inherit; } h1 { font-size: 46px; font-size: 4.6rem; margin-bottom: 12px;} h2 { font-size: 35px; font-size: 3.5rem; margin-bottom: 9px; } h3 { font-size: 28px; font-size: 2.8rem; margin-bottom: 9px; } h4 { font-size: 21px; font-size: 2.1rem; margin-bottom: 3px; } h5 { font-size: 18px; font-size: 1.8rem; font-weight: normal; margin-bottom: 3px; } h6 { font-size: 15px; font-size: 1.5rem; font-weight: normal; } .subheader { color: #777; font-weight: 300; margin-bottom: 24px; } p { font-size: 13px; font-size: 1.3rem; line-height: 1.25; margin: 0 0 18px; } p img { margin: 0; } p.lead { font-size: 18px; font-size: 1.8rem; line-height: 1.5; } em, i { font-style: italic; line-height: inherit; } strong, b { font-weight: bold; line-height: inherit; } small { font-size: 60%; line-height: inherit; } h1 small, h2 small, h3 small, h4 small, h5 small { color: #777; } /* Blockquotes */ blockquote, blockquote p { line-height: 20px; color: #777; } blockquote { margin: 0 0 18px; padding: 9px 20px 0 19px; border-left: 1px solid #ddd; } blockquote cite { display: block; font-size: 12px; font-size: 1.2rem; color: #555; } blockquote cite:before { content: "\2014 \0020"; } blockquote cite a, blockquote cite a:visited { color: #555; } hr { border: solid #ddd; border-width: 1px 0 0; clear: both; margin: 12px 0 18px; height: 0; } abbr, acronym { text-transform: uppercase; font-size: 90%; color: #222; border-bottom: 1px solid #ddd; cursor: help; } abbr { text-transform: none; } /** * Print styles. * * Inlined to avoid required HTTP connection: www.phpied.com/delay-loading-your-print-css/ * Credit to Paul Irish and HTML5 Boilerplate (html5boilerplate.com) */ .print-only { display: none !important; } @media print { * { background: transparent !important; color: black !important; text-shadow: none !important; filter:none !important; -ms-filter: none !important; } /* Black prints faster: sanbeiji.com/archives/953 */ p a, p a:visited { color: #444 !important; text-decoration: underline; } p a[href]:after { content: " (" attr(href) ")"; } abbr[title]:after { content: " (" attr(title) ")"; } .ir a:after, a[href^="javascript:"]:after, a[href^="#"]:after { content: ""; } /* Don't show links for images, or javascript/internal links */ pre, blockquote { border: 1px solid #999; page-break-inside: avoid; } thead { display: table-header-group; } /* css-discuss.incutio.com/wiki/Printing_Tables */ tr, img { page-break-inside: avoid; } @page { margin: 0.5cm; } p, h2, h3 { orphans: 3; widows: 3; } h2, h3{ page-break-after: avoid; } .hide-on-print { display: none !important; } .print-only { display: block !important; } } ================================================ FILE: stylesheets/ui.css ================================================ /* Artfully masterminded by ZURB */ /* -------------------------------------------------- Table of Contents ----------------------------------------------------- :: Buttons :: Alerts :: Notices/Alerts :: Tabs :: Pagination :: Lists :: Panels :: Nav :: Video :: Microformats */ /* -------------------------------------------------- Buttons -------------------------------------------------- */ .button { background: #00a6fc; display: inline-block; text-align: center; padding: 9px 34px 11px; color: #fff; text-decoration: none; font-weight: bold; line-height: 1; font-family: "Helvetica Neue", "Helvetica", Arial, Verdana, sans-serif; position: relative; cursor: pointer; border: none; } /* Don't use native buttons on iOS */ input[type=submit].button, button.button { -webkit-appearance: none; } .button.nice { background: #00a6fc url(../images/misc/button-gloss.png) repeat-x 0 -34px; -moz-box-shadow: inset 0 1px 0 rgba(255,255,255,.5); -webkit-box-shadow: inset 0 1px 0 rgba(255,255,255,.5); text-shadow: 0 -1px 1px rgba(0,0,0,0.28); background: #00a6fc url(../images/misc/button-gloss.png) repeat-x 0 -34px, -moz-linear-gradient(top, rgba(255,255,255,.4) 0%, transparent 100%); background: #00a6fc url(../images/misc/button-gloss.png) repeat-x 0 -34px, -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(255,255,255,.4)), color-stop(100%,transparent)); border: 1px solid #0593dc; -webkit-transition: background-color .15s ease-in-out; -moz-transition: background-color .15s ease-in-out; -o-transition: background-color .15s ease-in-out; } .button.radius { -moz-border-radius: 3px; -webkit-border-radius: 3px; border-radius: 3px; } .button.round { -moz-border-radius: 1000px; -webkit-border-radius: 1000px; border-radius: 1000px; } .button.full-width { width: 100%; padding-left: 0 !important; padding-right: 0 !important; text-align: center; } .button.left-align { text-align: left; text-indent: 12px; } /* Sizes ---------- */ .small.button { font-size: 11px; padding: 8px 20px 10px; width: auto; } .medium.button { font-size: 13px; width: auto; } .large.button { font-size: 18px; padding: 11px 48px 13px; width: auto; } /* Nice Sizes ---------- */ .nice.small.button { background-position: 0 -36px; } .nice.large.button { background-position: 0 -30px; } /* Colors ---------- */ .blue.button { background-color: #00a6fc; } .red.button { background-color: #e91c21; } .white.button { background-color: #e9e9e9; color: #333; } .black.button { background-color: #141414; } /* Nice Colors ---------- */ .nice.blue.button { border: 1px solid #0593dc; } .nice.red.button { border: 1px solid #b90b0b; } .nice.white.button { border: 1px solid #cacaca; text-shadow: none !important; } .nice.black.button { border: 1px solid #000; } /* Hovers ---------- */ .button:hover, .button:focus { background-color: #0192dd; color: #fff; } .blue.button:hover, .blue.button:focus { background-color: #0192dd; } .red.button:hover, .red.button:focus { background-color: #d01217; } .white.button:hover, .white.button:focus { background-color: #dadada; color: #333; } .black.button:hover, .black.button:focus { background-color: #000; } /* Disabled ---------- */ .button.disabled, .button[disabled] { opacity: 0.6; cursor: default; } /* -------------------------------------------------- Alerts -------------------------------------------------- */ div.alert-box { display: block; padding: 6px 7px; font-weight: bold; font-size: 13px; background: #eee; border: 1px solid rgba(0,0,0,0.1); margin-bottom: 12px; border-radius: 3px; -webkit-border-radius: 3px; -moz-border-radius: 3px; text-shadow: 0 1px rgba(255,255,255,0.9); position: relative; } .alert-box.success { background-color: #7fae00; color: #fff; text-shadow: 0 -1px rgba(0,0,0,0.3); } .alert-box.warning { background-color: #c08c00; color: #fff; text-shadow: 0 -1px rgba(0,0,0,0.3); } .alert-box.error { background-color: #c00000; color: #fff; text-shadow: 0 -1px rgba(0,0,0,0.3); } .alert-box a.close { color: #000; position: absolute; right: 4px; top: 0; font-size: 18px; opacity: 0.2; padding: 4px; } .alert-box a.close:hover,.alert-box a.close:focus { opacity: 0.4; } /* -------------------------------------------------- Tabs -------------------------------------------------- */ dl.tabs { display: block; margin: 0 0 20px 0; padding: 0; height: 30px; border-bottom: solid 1px #ddd; } dl.tabs dt { display: block; width: auto; height: 30px; padding: 0 9px 0 20px; line-height: 30px; float: left; color: #999; font-size: 11px; text-transform: uppercase; cursor: default; } dl.tabs dt:first-child { padding: 0 9px 0 0; } dl.tabs dd { display: block; width: auto; height: 30px; padding: 0; float: left; } dl.tabs dd a { display: block; width: auto; height: 29px; padding: 0 9px; line-height: 30px; border: solid 1px #ddd; margin: 0 -1px 0 0; color: #555; background: #eee; } dl.tabs dd a.active { background: #fff; border-width: 1px 1px 0 1px; height: 30px; } .nice.tabs { border-bottom: solid 1px #eee; margin: 0 0 30px 0; height:43px; } .nice.tabs dd a { padding: 7px 18px 9px; font-size: 15px; font-size: 1.5rem; color: #555555; background: none; border: none; } .nice.tabs dd a.active { font-weight: bold; color: #333; background: #fff; border-left: 1px solid #eee; border-right: 1px solid #eee; border-top: 3px solid #00a6fc; margin: 0 10px; position: relative; top: -5px; } .nice.tabs dd:first-child a.active { margin-left: 0; } dl.tabs.vertical { height: auto; } dl.tabs.vertical dt, dl.tabs.vertical dd, dl.nice.tabs.vertical dt, dl.nice.tabs.vertical dd { float: none; height: auto; } dl.tabs.vertical dd a { display: block; width: auto; height: auto; padding: 15px 20px; line-height: 1; border: solid 0 #ccc; border-width: 1px 1px 0; margin: 0; color: #555; background: #eee; font-size: 15px; font-size: 1.5rem; } dl.tabs.vertical dd a.active { height: auto; margin: 0; border-width: 1px 0 0; background: #fff; } .nice.tabs.vertical { border-bottom: solid 1px #eee; height: auto; } .nice.tabs.vertical dd a { padding: 15px 20px; border: none; border-left: 1px solid #eee; border-right: 1px solid #eee; border-top: 1px solid #eee; background: #fff; } .nice.tabs.vertical dd a.active { border: none; background: #00a6fc; color: #fff; margin: 0; position: static; top: 0; height: auto; } .nice.tabs.vertical dd:first-child a.active { margin: 0; } ul.tabs-content { margin: 0; display: block; } ul.tabs-content>li { display:none; } ul.tabs-content>li.active { display: block; } dl.contained, dl.nice.contained { margin-bottom: 0; } dl.contained.tabs dd a { padding: 0 14px; } dl.nice.contained.tabs dd a { padding: 7px 18px 9px; } ul.contained.tabs-content { padding: 0; } ul.contained.tabs-content>li { padding: 20px; border: solid 0 #ddd; border-width: 0 1px 1px 1px; } ul.nice.contained.tabs-content>li { border-color: #eee; } /* -------------------------------------------------- Pagination -------------------------------------------------- */ ul.pagination { display: block; height: 24px; margin-left: -5px; } ul.pagination li { float: left; display: block; height: 24px; color: #999; font-size: 15px; margin-left: 5px; } ul.pagination li a { display: block; padding: 6px 7px 4px; color: #555; } ul.pagination li.current a, ul.pagination li:hover a, ul.pagination li a:focus { border-bottom: solid 2px #00a6fc; color: #141414; } ul.pagination li.unavailable a { cursor: default; color: #999; } ul.pagination li.unavailable:hover a, ul.pagination li.unavailable a:focus { border-bottom: none; } /* -------------------------------------------------- Lists -------------------------------------------------- */ ul.nice, ol.nice { list-style: none; margin: 0; } ul.nice li, ol.nice li { padding-left: 13px; position: relative } ul.nice li span.bullet, ol.nice li span.number { position: absolute; left: 0; top: 0; color: #ccc; } /* -------------------------------------------------- Panels -------------------------------------------------- */ div.panel { padding: 20px 20px 2px 20px; background: #efefef; background: -moz-linear-gradient(top, #FFFFFF 0%, #F4F4F4 100%); background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#FFFFFF), color-stop(100%,#F4F4F4)); filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#FFFFFF', endColorstr='#F4F4F4',GradientType=0 ); box-shadow: 0 2px 5px rgba(0,0,0,0.15); -webkit-box-shadow: 0 2px 5px rgba(0,0,0,0.15); -moz-box-shadow: 0 2px 5px rgba(0,0,0,0.25); margin: 0 0 20px 0; } /* -------------------------------------------------- Nav Bar with Dropdowns -------------------------------------------------- */ .nav-bar { height: 45px; background: #fff; margin-top: 20px; border: 1px solid #ddd; } .nav-bar>li { float: left; display: block; position: relative; padding: 0; margin: 0; border-right: 1px solid #ddd; line-height: 45px; } .nav-bar>li>a { position: relative; font-size: 14px; padding: 0 20px; display: block; text-decoration: none; font-size: 15px; font-size: 1.5rem; } .nav-bar>li>input { margin: 0 16px; } .nav-bar>li ul { margin-bottom: 0; } .nav-bar>li li { line-height: 1.3; } .nav-bar>li.has-flyout>a { padding-right: 36px; } .nav-bar>li.has-flyout>a:after { content: ""; width: 0; height: 0; border-left: 4px solid transparent; border-right: 4px solid transparent; border-top: 4px solid #2a85e8; display: block; position: absolute; right: 18px; bottom: 20px; } .nav-bar>li:hover>a { color: #141414; z-index: 2; } .nav-bar>li:hover>a:after { border-top-color: #141414; } .flyout { background: #fff; margin: 0; padding: 20px; border: 1px solid #ddd; position: absolute; top: 45px; left: -1px; width: 400px; z-index: 10; } .flyout.small { width: 200px; } .flyout.large { width: 600px; } .flyout.right { left: auto; right: 0; } .flyout p:last-child { margin-bottom: 0; } .nav-bar>li .flyout { display: none; } .nav-bar>li:hover .flyout { display: block; } /* -------------------------------------------------- Video Mad props to http://www.alistapart.com/articles/creating-intrinsic-ratios-for-video/ -------------------------------------------------- */ .flex-video { position: relative; padding-top: 25px; padding-bottom: 67.5%; height: 0; margin-bottom: 16px; overflow: hidden; } .flex-video.widescreen { padding-bottom: 57.25%; } .flex-video.vimeo { padding-top: 0; } .flex-video iframe, .flex-video object, .flex-video embed { position: absolute; top: 0; left: 0; width: 100%; height: 100%; } /* -------------------------------------------------- Microformats -------------------------------------------------- */ /* hCard */ ul.vcard { display: inline-block; margin: 0 0 12px 0; border: 1px solid #ddd; padding: 10px; } ul.vcard li { margin: 0; display: block; } ul.vcard li.fn { font-weight: bold; font-size: 15px; font-size: 1.5rem; } p.vevent span.summary { font-weight: bold; } p.vevent abbr { cursor: default; text-decoration: none; font-weight: bold; border: none; padding: 0 1px; }