=0){var c=a.split(" "),m=z(c,2);d=m[0],h=m[1]}else h=d=a;var b=O(e,r);"target"!==d&&"both"!==d||(ob[3]&&"bottom"===v.top&&(o-=p,v.top="top")),"together"===d&&("top"===v.top&&("bottom"===y.top&&ob[3]&&o-(s-p)>=b[1]&&(o-=s-p,v.top="bottom",y.top="bottom")),"bottom"===v.top&&("top"===y.top&&o+s>b[3]?(o-=p,v.top="top",o-=s,y.top="bottom"):"bottom"===y.top&&ob[3]&&"top"===y.top?(o-=s,y.top="bottom"):ob[2]&&"right"===v.left&&(i-=u,v.left="left")),"together"===h&&(ib[2]&&"right"===v.left?"left"===y.left?(i-=u,v.left="left",i-=f,y.left="right"):"right"===y.left&&(i-=u,v.left="left",i+=f,y.left="left"):"center"===v.left&&(i+f>b[2]&&"left"===y.left?(i-=f,y.left="right"):ib[3]&&"top"===y.top&&(o-=s,y.top="bottom")),"element"!==h&&"both"!==h||(ib[2]&&("left"===y.left?(i-=f,y.left="right"):"center"===y.left&&(i-=f/2,y.left="right"))),"string"==typeof l?l=l.split(",").map(function(t){return t.trim()}):l===!0&&(l=["top","left","right","bottom"]),l=l||[];var w=[],C=[];o=0?(o=b[1],w.push("top")):C.push("top")),o+s>b[3]&&(l.indexOf("bottom")>=0?(o=b[3]-s,w.push("bottom")):C.push("bottom")),i=0?(i=b[0],w.push("left")):C.push("left")),i+f>b[2]&&(l.indexOf("right")>=0?(i=b[2]-f,w.push("right")):C.push("right")),w.length&&!function(){var t=void 0;t="undefined"!=typeof e.options.pinnedClass?e.options.pinnedClass:e.getClass("pinned"),g.push(t),w.forEach(function(e){g.push(t+"-"+e)})}(),C.length&&!function(){var t=void 0;t="undefined"!=typeof e.options.outOfBoundsClass?e.options.outOfBoundsClass:e.getClass("out-of-bounds"),g.push(t),C.forEach(function(e){g.push(t+"-"+e)})}(),(w.indexOf("left")>=0||w.indexOf("right")>=0)&&(y.left=v.left=!1),(w.indexOf("top")>=0||w.indexOf("bottom")>=0)&&(y.top=v.top=!1),v.top===n.top&&v.left===n.left&&y.top===e.attachment.top&&y.left===e.attachment.left||(e.updateAttachClasses(y,v),e.trigger("update",{attachment:y,targetAttachment:v}))}),k(function(){e.options.addTargetClasses!==!1&&m(e.target,g,c),m(e.element,g,c)}),{top:o,left:i}}});var Y=x.Utils,a=Y.getBounds,m=Y.updateClasses,k=Y.defer;x.modules.push({position:function(t){var e=this,o=t.top,i=t.left,n=this.cache("element-bounds",function(){return a(e.element)}),r=n.height,s=n.width,f=this.getTargetBounds(),l=o+r,h=i+s,d=[];o<=f.bottom&&l>=f.top&&["left","right"].forEach(function(t){var e=f[t];e!==i&&e!==h||d.push(t)}),i<=f.right&&h>=f.left&&["top","bottom"].forEach(function(t){var e=f[t];e!==o&&e!==l||d.push(t)});var p=[],u=[],c=["left","top","right","bottom"];return p.push(this.getClass("abutted")),c.forEach(function(t){p.push(e.getClass("abutted")+"-"+t)}),d.length&&u.push(this.getClass("abutted")),d.forEach(function(t){u.push(e.getClass("abutted")+"-"+t)}),k(function(){e.options.addTargetClasses!==!1&&m(e.target,u,p),m(e.element,u,p)}),!0}});var z=function(){function t(t,e){var o=[],i=!0,n=!1,r=void 0;try{for(var s,a=t[Symbol.iterator]();!(i=(s=a.next()).done)&&(o.push(s.value),!e||o.length!==e);i=!0);}catch(f){n=!0,r=f}finally{try{!i&&a["return"]&&a["return"]()}finally{if(n)throw r}}return o}return function(e,o){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return t(e,o);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}();return x.modules.push({position:function(t){var e=t.top,o=t.left;if(this.options.shift){var i=this.options.shift;"function"==typeof this.options.shift&&(i=this.options.shift.call(this,{top:e,left:o}));var n=void 0,r=void 0;if("string"==typeof i){i=i.split(" "),i[1]=i[1]||i[0];var s=i,a=z(s,2);n=a[0],r=a[1],n=parseFloat(n,10),r=parseFloat(r,10)}else n=i.top,r=i.left;return e+=n,o+=r,{top:e,left:o}}}}),$});
\ No newline at end of file
diff --git a/assets/tether-master/docs/1-Overview/1-why_you_should_use_tether.md b/assets/tether-master/docs/1-Overview/1-why_you_should_use_tether.md
deleted file mode 100644
index 6147d25..0000000
--- a/assets/tether-master/docs/1-Overview/1-why_you_should_use_tether.md
+++ /dev/null
@@ -1,43 +0,0 @@
-## Why You Should Use Tether
-
-Virtually every app includes some sort of overlay attached to an element on the page.
-Things like [tooltips](http://github.hubspot.com/tooltip/docs/welcome),
-[dropdowns](http://github.hubspot.com/select/docs/welcome), [hover-activated info boxes](http://github.hubspot.com/drop/docs/welcome), etc.
-
-Those elements need to be attached to something on the page. Actually placing them next to
-the element in the DOM causes problems though, if any parent element is anything
-but `overflow: visible`, the element gets cut off. So you need absolute positioning
-in the body.
-
-Some of the time absolute positioning is right, but what about if the thing we're
-attached to is fixed to the center of the screen? We'll have to move it every
-time the user scrolls. What about if the element is in a scrollable container,
-if the overlay is inside of it (so no clipping), it would be cool if the code
-were smart enough to move it inside when that area is scrolled. That way we
-need to reposition it even less.
-
-It would also be nice if the code could somehow figure out whether positioning it
-from the top, bottom, left, or right would result in the fewest repositionings
-as the user scrolls or resizes.
-
-Most of the time you're building these elements it would be nice for the element to
-flip to the other side of the element if it hits the edge of the screen, or a scrollable
-container it might be in. It would be nice if we could confine the element
-to within some area, or even hide it when it leaves.
-
-It would be nice for the element to be repositioned with CSS transforms
-rather than top and left when possible, to allow the positioning to be done entirely
-in the GPU.
-
-Now that the positioning is so fancy, you're going to use it for more and more
-elements. It would be cool if the library could optimize all of their repositioning
-into a single repaint.
-
-All of that is baked into Tether.
-
-### tl;dr
-
-- Optimized GPU-accelerated repositioning for 60fps scrolling
-- Reliable positioning on any possible corner, edge or point in between.
-- Support for repositioning or pinning the element when it would be offscreen
-- Designed to be embeddable in other libraries
diff --git a/assets/tether-master/docs/1-Overview/2-repositioning.md b/assets/tether-master/docs/1-Overview/2-repositioning.md
deleted file mode 100644
index 6c02483..0000000
--- a/assets/tether-master/docs/1-Overview/2-repositioning.md
+++ /dev/null
@@ -1,46 +0,0 @@
-Repositioning
------
-
-Tethers will be automatically repositioned when the page is resized, and when any element containing the Tether is scrolled.
-If the element moves for some other reason (e.g. with JavaScript), Tether won't know to reposition the element.
-
-#### Manually Repositioning
-
-The simplest way to reposition every Tether on the page is to call `Tether.position()`. It will efficiently reposition every
-Tether in a single repaint, making it more efficient than manually repositioning many Tethers individually.
-
-```javascript
-Tether.position()
-```
-
-#### Repositioning a Single Tether
-
-If you have many Tethers on screen, it may be more efficient to just reposition the tether that needs it. You can do this
-by calling the `.position` method on the Tether instance:
-
-```javascript
-tether = new Tether({ ... })
-
-// Later:
-tether.position()
-```
-
-#### Tethering Hidden Elements
-
-If you are creating a tether involving elements which are `display: none`, or not actually in the DOM,
-your Tether may not be able to position itself properly. One way around this is to
-ensure that a position call happens after all layouts have finished:
-
-```javascript
-myElement.style.display = 'block'
-
-tether = new Tether({ ... })
-
-setTimeout(function(){
- tether.position();
-})
-```
-
-In general however, you shouldn't have any trouble if both the element and the target are visible and in the DOM when you
-create the Tether. If that is not the case, create the Tether disabled (option `enabled`: `false`), and enable it when
-the elements are ready.
diff --git a/assets/tether-master/docs/1-Overview/3-why_we_dont_support_IE_8.md b/assets/tether-master/docs/1-Overview/3-why_we_dont_support_IE_8.md
deleted file mode 100644
index e4fe05d..0000000
--- a/assets/tether-master/docs/1-Overview/3-why_we_dont_support_IE_8.md
+++ /dev/null
@@ -1,47 +0,0 @@
-Why we don't support IE 8
--------------------------
-
-We've been living in 2007 for a while now, pretending that new browser features don't
-exist because they aren't in IE8. You might not even know about some of these features,
-or think they are only enabled by jQuery or underscore, simply because it hasn't
-been an option to rely upon them.
-
-Here is the list of features you don't have if you choose to support IE 8:
-
-- HTML5 audio and video
-- SVG
-- Canvas
-- TrueType fonts
-- Media Queries
-- CSS Transforms
-- Multiple Backgrounds
-- CSS3 Units (vh, vw, rem)
-- Custom DOM events
-- Hardware accelerated graphics
-- The DOMContentLoaded event
-- addEventListener
-- Object.create, .seal, .freeze, .defineProperty
-- Array.isArray, .indexOf, .every, .some, .forEach, .map, .filter, .reduce
-- A modern JavaScript engine
-- Real developer tools
-- A consistent box model
-- jQuery 2
-- Google Apps
-- Tether
-
-It's true that IE 8 still holds a big chunk of the browsing population, but the reasons
-why they can't update are dwindling. There are two big reasons for continuing IE 8 support.
-
-#### Enterprises
-
- Microsoft is dropping support for XP in April, organizations who want security updates will have to upgrade.
-
-#### China uses XP
-
- Chrome, Firefox and Opera all support XP. Nothing prevents users from upgrading, except the inertia of
- organizations who still support IE 8.
-
-#### The Future
-
-We are skating towards where the puck will be, and we hope that as you decide to drop IE 8 support,
-you choose to add Tether to the list of awesome things you can do.
diff --git a/assets/tether-master/docs/2-Examples/1-list_of_examples.md b/assets/tether-master/docs/2-Examples/1-list_of_examples.md
deleted file mode 100644
index bbb7fd5..0000000
--- a/assets/tether-master/docs/2-Examples/1-list_of_examples.md
+++ /dev/null
@@ -1,27 +0,0 @@
-### Examples
-
-It's our goal to create a wide variety of example of how Tether
-can be used. Here's what we have so far, please send a PR with
-any examples you might create.
-
-#### Beginner
-
-- [simple](../../examples/simple): A simple example to get you started
-- [out-of-bounds](../../examples/out-of-bounds): How to hide the element when it would
-otherwise be offscreen
-- [pin](../../examples/pin): How to pin the element so it never goes offscreen
-- [enable-disable](../../examples/enable-disable): How to enable and disable the Tether
-in JavaScript
-
-#### Advanced
-
-- [content-visible](../../examples/content-visible): Demonstrates using the `'visible'`
-`targetModifier` to align an element with the visible portion of another.
-- [dolls](../../examples/dolls): A performance test to show several dozen elements,
-each tethered to the previous. Try dragging the top left tether.
-- [element-scroll](../../examples/element-scroll): Demonstrates using the `'scroll-handle'`
-`targetModifier` to align an element with the scrollbar of an element.
-- [scroll](../../examples/scroll): Demonstrates using the `'scroll-handle'` `targetModifier`
-to align an element with the body's scroll handle.
-- [viewport](../../examples/viewport): Demonstrates aligning an element with the
-viewport by using the `'visible'` `targetModifier` when tethered to the body.
diff --git a/assets/tether-master/docs/2-Examples/2-projects_using_tether.md b/assets/tether-master/docs/2-Examples/2-projects_using_tether.md
deleted file mode 100644
index 8d18e3f..0000000
--- a/assets/tether-master/docs/2-Examples/2-projects_using_tether.md
+++ /dev/null
@@ -1,45 +0,0 @@
-## Projects Using Tether
-
-Here at HubSpot we have built a bunch of libraries on top of Tether,
-both because we wanted Tether-performance, and because we saw opportunities
-to improve on what was available in the client-side ecosystem.
-
-### [Select](http://github.hubspot.com/select/docs/welcome)
-
-Select is a replacement for native browser select elements that is fully stylable.
-
-### [Shepherd](http://github.hubspot.com/shepherd/docs/welcome)
-
-Shepherd is a library for making tours of your app to help onboard users and show off
-new features.
-
-### [Tooltip](http://github.hubspot.com/tooltip/docs/welcome)
-
-A simple, easy-to-use implementation of tooltips that works well.
-
-### [Drop](http://github.hubspot.com/drop/docs/welcome)
-
-Where Tether does general-purpose positioning, Drop assumes that you are interested
-in making something which pops up next to something the user clicks or hovers on.
-
-If you're building something that fits that pattern, Drop can make things a little easier.
-
-### [Blueprint](http://blueprintjs.com/)
-
-A React UI toolkit for the web.
-
-### [Bootstrap 4](http://getbootstrap.com/)
-
-Tooltip and popovers from Bootstrap 4 are positioned using Tether
-
-### [Ember Tether](https://github.com/yapplabs/ember-tether)
-
-An Ember.js-friendly interface for tether.
-
-### [React Datepicker](https://github.com/Hacker0x01/react-datepicker)
-
-A simple and reusable datepicker component for React
-
-### Your Project Here
-
-If you have a cool open-source library built on Tether, PR this doc.
diff --git a/assets/tether-master/docs/3-Advanced/1-embedding_tether.md b/assets/tether-master/docs/3-Advanced/1-embedding_tether.md
deleted file mode 100644
index f47be16..0000000
--- a/assets/tether-master/docs/3-Advanced/1-embedding_tether.md
+++ /dev/null
@@ -1,9 +0,0 @@
-## Embedding Tether
-
-Tether is designed to be embeddable in other libraries.
-
-There is one thing you should think about doing to create an embedded Tether:
-
-- Set the `classPrefix` of the tethers you create. That prefix will replace `'tether'` in
-all of the classes. You can also disable classes you don't intend on using with the `classes`
-option.
diff --git a/assets/tether-master/docs/3-Advanced/2-extending_tether.md b/assets/tether-master/docs/3-Advanced/2-extending_tether.md
deleted file mode 100644
index fa357b2..0000000
--- a/assets/tether-master/docs/3-Advanced/2-extending_tether.md
+++ /dev/null
@@ -1,54 +0,0 @@
-Extending Tether
------
-
-Tether has a module system which can be used to modify Tether's positioning, or just do something each time the Tether is moved.
-
-Tether has an array called `Tether.modules`, push onto it to add a module:
-
-```coffeescript
-Tether.modules.push
- position: ({top, left}) ->
- top += 10
-
- {top, left}
-```
-
-#### Position
-
-Your position function can either return a new object with `top` and `left`, `null`/`undefined` to leave the coordinates unchanged, or
-`false` to cancel the positioning.
-
-The position function is passed an object with the following elements:
-
-```javascript
-{
- left, // The element's new position, from the top left corner of the page
- top,
- targetAttachment, // The targetAttachment, with 'auto' resolved to an actual attachment
- targetPos, // The coordinates of the target
- attachment, // The attachment, as passed in the option
- elementPos, // The coordinates of the element
- offset, // The offset, after it's converted into pixels and the manual offset is added
- targetOffset, // The attachment is converted into an offset and is included in these values
- manualOffset, // The manual offset, in pixels
- manualTargetOffset
-}
-```
-
-It is called with the Tether instance as its context (`this`).
-
-#### Initialize
-
-Modules can also have an `initialize` function which will be called when a new tether is created. The initialize function
-is also called with the Tether instance as its context.
-
-```coffeescript
-Tether.modules.push
- initialize: ->
- console.log "New Tether Created!", @
-```
-
-#### Examples
-
-[Constraints](https://github.com/HubSpot/tether/blob/master/src/js/constraint.js) and [shift](https://github.com/HubSpot/tether/blob/master/src/js/shift.js) are both implemented as modules.
-[Mark Attachment](https://github.com/HubSpot/tether/blob/master/src/js/markAttachment.js) is used by the docs.
diff --git a/assets/tether-master/docs/coffee/intro.coffee b/assets/tether-master/docs/coffee/intro.coffee
deleted file mode 100644
index 52a305d..0000000
--- a/assets/tether-master/docs/coffee/intro.coffee
+++ /dev/null
@@ -1,113 +0,0 @@
-{uniqueId} = Tether.Utils
-
-SETUP_JS = """
-yellowBox = $('.yellow-box', $output);
-greenBox = $('.green-box', $output);
-scrollBox = $('.scroll-box', $output);
-"""
-
-OUTPUT_HTML = (key) -> """
-
-"""
-
-tethers = {}
-
-getOutput = ($block) ->
- key = $block.data('example')
- if key and typeof key is 'string'
- return $("output[data-example='#{ key }']")
- else
- return $block.parents('pre').nextAll('output').first()
-
-run = (key) ->
- if typeof key is 'string'
- $block = $("code[data-example='#{ key }']")
- else
- $block = key
-
- key = $block.attr('data-example')
-
- $output = getOutput $block
-
- code = $block.text()
- code = SETUP_JS + code
-
- window.$output = $output
- tethers[key] = eval code
-
-setupBlock = ($block) ->
- key = $block.data('example')
-
- $output = getOutput $block
-
- if not key
- key = uniqueId()
- $block.attr('data-example', key)
- $output.attr('data-example', key)
- $output.find('.tether-element').attr('data-example', key)
-
- $output.html OUTPUT_HTML(key)
-
- $scrollBox = $output.find('.scroll-box')
- $scrollContent = $scrollBox.find('.scroll-content')
- $scrollBox.scrollTop(parseInt($scrollContent.css('height')) / 2 - $scrollBox.height() / 2)
- $scrollBox.scrollLeft(parseInt($scrollContent.css('width')) / 2 - $scrollBox.width() / 2)
- setTimeout ->
- $scrollBox.on 'scroll', ->
- $output.addClass 'scrolled'
-
- $scrollBox.css 'height', "#{ $block.parent().outerHeight() }px"
-
- if not $output.attr('deactivated')?
- run $block
-
-$(document.body).on 'click', (e) ->
- if $(e.target).is('output[deactivated]')
- activate $(e.target)
- false
- else if $(e.target).is('output[activated]')
- deactivate $(e.target)
- false
-
-activate = ($output) ->
- $block = $output.prev().find('code')
-
- run $block
-
- $output.find('.tether-element').show()
-
- key = $output.data('example')
- $(tethers[key].element).show()
- tethers[key].enable()
-
- $output.removeAttr('deactivated')
- $output.attr('activated', true)
-
-deactivate = ($output) ->
- $block = $output.prev().find('code')
- key = $output.data('example')
-
- tethers[key].disable()
-
- $el = $(tethers[key].element)
- $el.detach()
- $output.find('.scroll-content').append $el
- $el.hide()
-
- $output.removeAttr('activated')
- $output.attr('deactivated', true)
-
-init = ->
- $blocks = $('code[data-example]')
-
- setupBlock($ block) for block in $blocks
-
-window.EXECUTR_OPTIONS =
- codeSelector: 'code[executable]'
-
-$ init
diff --git a/assets/tether-master/docs/css/intro.css b/assets/tether-master/docs/css/intro.css
deleted file mode 100644
index 44303fd..0000000
--- a/assets/tether-master/docs/css/intro.css
+++ /dev/null
@@ -1,218 +0,0 @@
-@charset "UTF-8";
-*, *:after, *:before {
- box-sizing: border-box; }
-
-body {
- position: relative; }
-
-.yellow-box {
- width: 100px;
- height: 100px;
- background-color: #fe8;
- pointer-events: none; }
-
-.green-box {
- margin-top: 65px;
- margin-left: 100px;
- width: 200px;
- height: 50px;
- background-color: #4e9; }
- .no-green .green-box {
- display: none; }
-
-.scroll-box {
- height: 150px;
- border: 10px solid #eee;
- background: #fbfbfb;
- overflow: auto;
- position: relative; }
-
-.scroll-content {
- height: 2000px;
- width: 2000px;
- padding: 910px 809px; }
-
-pre.pre-with-output {
- margin: 0;
- width: 50%;
- float: left; }
- pre.pre-with-output code mark {
- background: #b8daff;
- color: #000; }
-
-p, h2, h3 {
- clear: both; }
-
-output {
- display: block;
- position: relative;
- width: 50%;
- float: right;
- margin-bottom: 15px; }
- output.scroll-page .scroll-box {
- overflow: hidden; }
- output.scroll-page:after {
- content: "↕ scroll the page ↕"; }
- output:after {
- content: "↕ scroll this area ↕";
- position: absolute;
- bottom: 25px;
- width: 100%;
- text-align: center;
- font-size: 16px;
- font-variant: small-caps;
- color: #777;
- opacity: 1;
- -webkit-transition: opacity 0.2s;
- transition: opacity 0.2s; }
- output.scrolled:after {
- opacity: 0; }
- output[deactivated], output[activated] {
- cursor: pointer; }
- output[deactivated] .scroll-box, output[activated] .scroll-box {
- pointer-events: none; }
- output[deactivated]:after, output[activated]:after {
- position: absolute;
- top: 0;
- left: 0;
- right: 0;
- bottom: 0;
- opacity: 1;
- content: "Click To Show";
- background-color: #AAA;
- border-left: 10px solid #EEE;
- color: white;
- font-size: 24px;
- font-variant: normal;
- padding-top: 80px; }
- output[activated]:after {
- content: "Click To Hide"; }
- output[activated].visible-enabled:after {
- height: 35px;
- padding-top: 5px; }
-
-.attachment-mark, .tether-marker-dot {
- position: relative; }
- .attachment-mark:after, .tether-marker-dot:after {
- content: "A";
- width: 10px;
- height: 10px;
- background-color: red;
- display: inline-block;
- line-height: 10px;
- font-size: 9px;
- color: white;
- text-align: center;
- position: absolute; }
-
-span.attachment-mark:after, span.tether-marker-dot:after {
- position: relative;
- top: -1px;
- margin-right: 1px; }
-
-.tether-marker-dot {
- position: absolute; }
- .tether-marker-dot:after {
- top: -5px;
- left: -5px; }
-
-.tether-target-marker {
- position: absolute; }
- div.tether-target-attached-left .tether-target-marker {
- left: 0; }
- div.tether-target-attached-top .tether-target-marker {
- top: 0; }
- div.tether-target-attached-bottom .tether-target-marker {
- bottom: 0; }
- div.tether-target-attached-right .tether-target-marker {
- right: 0; }
- div.tether-target-attached-center .tether-target-marker {
- left: 50%; }
-
-.tether-element-marker {
- position: absolute; }
- div.tether-element-attached-left .tether-element-marker {
- left: 0; }
- div.tether-element-attached-top .tether-element-marker {
- top: 0; }
- div.tether-element-attached-bottom .tether-element-marker {
- bottom: 0; }
- div.tether-element-attached-right .tether-element-marker {
- right: 0; }
- div.tether-element-attached-center .tether-element-marker {
- left: 50%; }
-
-.tether-element-attached-middle .tether-element-marker {
- top: 50px; }
-
-.tether-target-attached-middle .tether-target-marker {
- top: 25px; }
-
-.tether-element {
- position: relative; }
- .tether-element.tether-pinned-left {
- box-shadow: inset 2px 0 0 0 red; }
- .tether-element.tether-pinned-right {
- box-shadow: inset -2px 0 0 0 red; }
- .tether-element.tether-pinned-top {
- box-shadow: inset 0 2px 0 0 red; }
- .tether-element.tether-pinned-bottom {
- box-shadow: inset 0 -2px 0 0 red; }
-
-.tether-target {
- position: relative; }
-
-.tether-element.tether-out-of-bounds[data-example="hide"] {
- display: none; }
-
-[data-example^="optimizer"].lang-javascript {
- /* This should just be a `code` selector, but sass doesn't allow that with & */
- min-height: 220px; }
-
-[data-example^="optimizer"].tether-element:before {
- margin-top: 26px;
- display: block;
- text-align: center;
- content: "I'm in the body";
- line-height: 1.2;
- font-size: 15px;
- padding: 4px;
- color: #666; }
-
-[data-example^="optimizer"] .scroll-box .tether-element:before {
- content: "I'm in my scroll parent!"; }
-
-.tether-element[data-example="scroll-visible"] {
- height: 30px; }
- .tether-element[data-example="scroll-visible"] .tether-marker-dot {
- display: none; }
-
-.hs-doc-content h2.projects-header {
- text-align: center;
- font-weight: 300; }
-
-.projects-paragraph {
- text-align: center; }
- .projects-paragraph a {
- display: inline-block;
- vertical-align: middle;
- *vertical-align: auto;
- *zoom: 1;
- *display: inline;
- text-align: center;
- margin-right: 30px;
- color: inherit; }
- .projects-paragraph a span {
- display: inline-block;
- vertical-align: middle;
- *vertical-align: auto;
- *zoom: 1;
- *display: inline;
- margin-bottom: 20px;
- font-size: 20px;
- color: inherit;
- font-weight: 300; }
- .projects-paragraph a img {
- display: block;
- max-width: 100%;
- width: 100px; }
diff --git a/assets/tether-master/docs/intro.md b/assets/tether-master/docs/intro.md
deleted file mode 100644
index aaf5ab5..0000000
--- a/assets/tether-master/docs/intro.md
+++ /dev/null
@@ -1,591 +0,0 @@
-
-
-
-
-
-Tether
-======
-
-Tether is a JavaScript library for efficiently making an absolutely positioned
-element stay next to another element on the page. For example, you might
-want a tooltip or dialog to open, and remain, next to the relevant item
-on the page.
-
-Tether includes the ability to constrain the element within the viewport, its
-scroll parent, any other element on the page, or a fixed bounding box. When it
-exceeds those constraints it can be pinned to the edge, flip to the other
-side of its target, or hide itself.
-
-Tether optimizes its location placement to result in the minimum amount of
-'jankyness' as the page is scrolled and resized. The page can maintain 60fps
-scrolling even with dozens or hundreds of tethers on screen (pop open the
-devtools timeline as you scroll this page).
-
-Tether is 5kb minified and gzipped, and supports IE9+, and all modern
-browsers.
-
-
-
-Select
-Drop
-Tooltip
-Shepherd
-
-
-Usage
------
-
-The element to be moved is called the 'element'.
-The element in the page it's to be attached to is called the 'target'.
-
-To use Tether, you define a point on the target and a point on the element.
-Tether moves the element to keep those two points on top of each other.
-
-That point is called the attachment (we've marked it in the examples with
-a red ). For example, if you'd like
-the element to sit on the left of the target:
-
-new Tether({
- element: yellowBox,
- target: greenBox,
- attachment: 'top right',
- targetAttachment: 'top left'
-});
-
-
-Attachment
-----------
-
-You can move the attachment points of both the element and the target.
-
-For example, lets move the element's attachment:
-
-new Tether({
- element: yellowBox,
- target: greenBox,
- attachment: 'bottom left',
- targetAttachment: 'top left'
-});
-
-
-We can also change the target's attachment point:
-
-new Tether({
- element: yellowBox,
- target: greenBox,
- attachment: 'bottom left',
- targetAttachment: 'bottom right'
-});
-
-
-There are two more attachment points we haven't seen yet, center and middle:
-
-new Tether({
- element: yellowBox,
- target: greenBox,
- attachment: 'middle center',
- targetAttachment: 'middle center'
-});
-
-
-All told, Tether provides six built in attachment positions:
-
-- left
-- center
-- right
-- top
-- middle
-- bottom
-
-The syntax of the attachment properties is: `"vertical-attachment horizontal-attachment"`.
-
-You must always supply an `attachment`. If you don't supply a `target-attachment`, it is
-assumed to be the mirror image of `attachment`.
-
-### Offset
-
-The six attachment points we provide are not always enough to place the element
-exactly where you want it. To correct this, we provide two more properties,
-`offset` and `targetOffset`.
-
-new Tether({
- element: yellowBox,
- target: greenBox,
- attachment: 'top right',
- targetAttachment: 'top left',
- offset: '0 10px'
-});
-
-
-As you can see, we've moved the attachment point of the element 10px to the right.
-We can also move the attachment point of the target:
-
-new Tether({
- element: yellowBox,
- target: greenBox,
- attachment: 'top right',
- targetAttachment: 'top left',
- offset: '0 10px',
- targetOffset: '20px 0'
-});
-
-
-The offset properties also accept percentages. Percentages in `offset` refer to
-the height and width of the element, `targetOffset` the height and width of
-the target.
-
-new Tether({
- element: yellowBox,
- target: greenBox,
- attachment: 'top right',
- targetAttachment: 'top left',
- targetOffset: '0 75%'
-});
-
-
-The syntax of the offset properties is `"vertical-offset horizontal-offset"`
-
-Tether offers a couple of special attachments, using the `targetModifier`
-option:
-
-new Tether({
- element: yellowBox,
- target: scrollBox,
- attachment: 'middle right',
- targetAttachment: 'middle left',
- targetModifier: 'scroll-handle'
-});
-
-
-Set the target to `document.body` to have the element follow the page's scroll bar.
-
-The `targetModifier` `visible` can be used to attach an element to the visible part
-of an element:
-
-new Tether({
- element: yellowBox,
- target: document.body,
- attachment: 'middle center',
- targetAttachment: 'middle center',
- targetModifier: 'visible'
-});
-
-
-new Tether({
- element: yellowBox,
- target: scrollBox,
- attachment: 'middle center',
- targetAttachment: 'middle center',
- targetModifier: 'visible'
-});
-
-
-Constraints
------------
-
-If you have tried any of the previous examples, you'll notice that it's pretty
-easy to scroll the regions in such a way that the element is hanging out on
-its own, with no target in sight.
-
-Constraints allow you to control what happens when the tethered element would
-have to fall outside of a defined region to maintain the attachment.
-
-new Tether({
- element: yellowBox,
- target: greenBox,
- attachment: 'middle left',
- targetAttachment: 'middle left',
- constraints: [
- {
- to: 'scrollParent',
- pin: true
- }
- ]
-});
-
-
-We've created a constraint which will keep the element within its scroll
-parent by 'pinning' it to the edges if it tries to escape. For the sake
-of the example, we're also highlighting the pinned edge in red.
-
-Specify an array of sides if you'd only like to pin those edges:
-
-new Tether({
- element: yellowBox,
- target: greenBox,
- attachment: 'middle left',
- targetAttachment: 'middle left',
- constraints: [
- {
- to: 'scrollParent',
- pin: ['top']
- }
- ]
-});
-
-
-You might want to allow the element to change its attachment, if doing so
-would keep more of it within its assigned region:
-
-new Tether({
- element: yellowBox,
- target: greenBox,
- attachment: 'top left',
- targetAttachment: 'bottom left',
- constraints: [
- {
- to: 'scrollParent',
- attachment: 'together'
- }
- ]
-});
-
-
-If you scroll the example a bit, you'll see it flip the attachment when necessary.
-You can combine `pin` and `attachment` as well:
-
-new Tether({
- element: yellowBox,
- target: greenBox,
- attachment: 'top left',
- targetAttachment: 'bottom left',
- constraints: [
- {
- to: 'scrollParent',
- attachment: 'together',
- pin: true
- }
- ]
-});
-
-
-Attachment will accept any of these values:
-
-- `element`: Only change the element's attachment
-- `target`: Only change the target's attachment
-- `both`: Change either's attachment (or both), as needed
-- `together`: Change both the element's and target's attachment at the same time (to
-'flip' the element to the other side of the attachment)
-- `none`: Don't allow changes to attachment (the default)
-
-Together is the option you will use most commonly:
-
-new Tether({
- element: yellowBox,
- target: greenBox,
- attachment: 'top right',
- targetAttachment: 'bottom left',
- constraints: [
- {
- to: 'scrollParent',
- attachment: 'together'
- }
- ]
-});
-
-
-You can also provide different settings for the vertical and horizontal attachments:
-
-new Tether({
- element: yellowBox,
- target: greenBox,
- attachment: 'top left',
- targetAttachment: 'bottom left',
- constraints: [
- {
- to: 'scrollParent',
- attachment: 'together none'
- }
- ]
-});
-
-
-Whenever the element is out of the constrained area, we add the `tether-out-of-bounds`
-class to it. If you add some CSS to make items with that class `display: none`, the
-tether will hide.
-
-new Tether({
- element: yellowBox,
- target: greenBox,
- attachment: 'middle center',
- targetAttachment: 'middle center',
- constraints: [
- {
- to: 'scrollParent'
- }
- ]
-});
-
-
-You can also constrain the element to the viewport, you'll have to scroll the
-page to see this one.
-
-new Tether({
- element: yellowBox,
- target: greenBox,
- attachment: 'top left',
- targetAttachment: 'bottom left',
- constraints: [
- {
- to: 'window',
- attachment: 'together'
- }
- ]
-});
-
-
-You can, of course, use pin with the window as well to
-make it always visible no matter where the user scrolls:
-
-new Tether({
- element: yellowBox,
- target: greenBox,
- attachment: 'top left',
- targetAttachment: 'bottom left',
- constraints: [
- {
- to: 'window',
- attachment: 'together',
- pin: true
- }
- ]
-});
-
-
-`to` can be any of:
-
-- `'scrollParent'`
-- `'window'`
-- any DOM element
-- an array of bound points relative to the body `[X1, Y1, X2, Y2]`
-
-You can also provide multiple constraints, keeping in mind that they are
-processed in the order supplied (the last one always has the final word).
-
-new Tether({
- element: yellowBox,
- target: greenBox,
- attachment: 'top left',
- targetAttachment: 'bottom left',
- constraints: [
- {
- to: 'scrollParent',
- pin: true
- },
- {
- to: 'window',
- attachment: 'together'
- }
- ]
-});
-
-
-Optimization
-------------
-
-### Element Moving
-
-The goal of Tether's optimizer is to not have to change the positioning
-CSS as the page is scrolled or resized. To accomplish this it looks at the
-last few positions, finds commonalities, and uses them to decide whether to
-position the element absolutely or with fixed positioning.
-
-If the element is fully contained within its scroll parent, its DOM node
-can also be moved inside the scroll parent, to avoid repaints as the
-container is scrolled.
-
-new Tether({
- element: yellowBox,
- target: greenBox,
- attachment: 'top left',
- targetAttachment: 'bottom left'
-});
-
-
-We are moving where the DOM node is, so if you have CSS which styles elements
-within the offset parent, you may see some rendering changes. Also note
-that this optimization works best if the scroll parent is the offset parent.
-In other words, **the scroll parent should be made position relative, fixed or
-absolute to enable this optimization.**
-
-If you do see stylistic changes occur when the element is moved,
-you might want to disable this optimization. You can do that by
-setting `optimizations.moveElement` to false.
-
-new Tether({
- element: yellowBox,
- target: greenBox,
- attachment: 'top left',
- targetAttachment: 'bottom left',
- optimizations: {
- moveElement: false
- }
-});
-
-
-### GPU
-
-By default tether positions elements using CSS transforms. These transforms allow the
-tethered element to be moved as its own layer to not force a repaint of the underlying
-page.
-
-This method of positioning can cause some issues however, including color shifts and artifacts.
-
-If you experience these issues, you can disable this optimization by setting `optimizations.gpu`
-to false:
-
-new Tether({
- element: yellowBox,
- target: greenBox,
- attachment: 'top left',
- optimizations: {
- gpu: false
- }
-});
-
-
-Methods
--------
-
-The `Tether` constructor we've been using in these examples returns us a
-`Tether` object.
-
-The `Tether` object has these methods:
-
-- `setOptions({ options })` - Update any of the options (such as attachment)
-- `disable()` - Disable the tethering
-- `enable()` - Enable the tethering
-- `destroy()` - Disable and remove all references
-- `position()` - Manually trigger a repositioning
-
-Options
--------
-
-The full list of options which can be passed to the `Tether` constructor and
-`setOptions`:
-
-- `element`: The DOM element, jQuery element, or a selector string of an element which will be moved
-- `target`: The DOM element, jQuery element, or a selector string of an element which the `element` will be attached to
-- `attachment`: A string of the form `'vert-attachment horiz-attachment'`
- - `vert-attachment` can be any of `'top'`, `'middle'`, `'bottom'`
- - `horiz-attachment` can be any of `'left'`, `'center'`, `'right'`
-- `targetAttachment`: A string similar to `attachment`.
- The one difference is that, if it's not provided, targetAttachment will assume the mirror
- image of `attachment`.
-- `offset`: A string of the form `'vert-offset horiz-offset'`
- - `vert-offset` and `horiz-offset` can be of the form `"20px"` or `"55%"`
-- `targetOffset`: A string similar to `offset`, but refering to the offset of the target
-- `targetModifier`: Can be set to `'visible'` or `'scroll-handle'`
-- `enabled`: Should the tether be enabled initially? Defaults to `true`.
-- `classes`: A hash of classes which should be changed or disabled
-- `classPrefix`: The prefix placed at the beginning of the default classes, defaults to `'tether'`
-- `optimizations`: A hash of optimizations, used to disable them
-- `constraints`: An array of constraint definition objects. Each definition is of the form:
- - `to`: A DOM element, bounding box, the string `'window'`, or the string `'scrollParent'`
- - `pin`: `true` or an array of strings representing the sides of the constraint
- - `attachment`: A string of the form `"vert-modifier horiz-modifier"`, or a single value
- representing both
- - Each modifier should be one of `"none"`, `"together"`, `"element"`, `"target"`, or `"both"`.
- - `outOfBoundsClass`: An alternative to `"tether-out-of-bounds"`, useful if the class
- needs to be differentiated from that of another constraint.
- - `pinnedClass`: An alternative to `"tether-pinned"`, similar to `outOfBoundsClass`.
-
-Classes
--------
-
-Tether adds a variety of classes to the element and target to allow you to style
-them based on their tethering.
-
-You can change the prefix of the classes with the `classPrefix` option. It is `'tether'` by
-default, but you could, for example, change it to be `'bill'` if you were building the bill
-library and all the classes would be `'bill-*'`.
-
-```javascript
-new Tether({
- classPrefix: 'bill'
-});
-```
-
-The sass/css is similarily configurable, see
-[tooltip](https://github.com/HubSpot/tooltip/blob/master/sass/tooltip-theme-arrows.sass#L14) for
-an example of how to make your own prefixed css file.
-
-All classes can be changed or disabled with the `classes` option. For example, to change the
-`tether-element` class to be `my-box`:
-
-```javascript
-new Tether({
- classes: {
- element: 'my-box'
- }
-});
-```
-
-You can also disable classes you're not going to use:
-
-```javascript
-new Tether({
- classes: {
- out-of-bounds: false
- }
-});
-```
-
-- `tether-element` is added to the element
-- `tether-target` is added to the target
-- `tether-enabled` is added to both elements when tether is not disabled
-- `tether-element-attached-[left,right,top,bottom,middle,center]` is added to both
-elements based on the elements attachment, if the element becomes detached (for
-example, if it's pinned), that class is removed. The class reflects how the
-element is actually attached, so if a constraint changes the attachment, that
-change will be reflected in the class.
-- `tether-target-attached-[left,right,top,bottom,middle,center]` is added to both
-elements based on the target's attachment. All of the characteristics are the
-same as for element-attached.
-
-### Constraint-related Classes
-
-- `tether-out-of-bounds`, `tether-out-of-bounds-[side]` are added to both the element and the target
-when the element is placed outside of its constraint.
-- `tether-pinned`, `tether-pinned-[side]` are added to both the element and target when a constraint
-has pinned the element to the [side] of the container.
-
-Browser Support
----------------
-
-Tether supports IE9+, and all modern browsers.
-
-Google doesn't support IE8, Microsoft is dropping support in a few months, and not supporting it saves
-us a whole lot of trouble. If you are interested in adding support, get in touch, we're happy to accept
-a PR.
-
-Contributing
-------------
-
-Please contribute! Tether is developed in Coffeescript, but if that's problematic for you, feel free
-to submit pull requests which just change the JavaScript files, we can adapt them as needed.
-
-To build Tether, you need:
-
-- Node.js
-
-#### Instructions
-
-- Install the build tool
-
-```bash
-npm install -g gulp
-```
-
-- Install the project
-
-```bash
-# In the project directory
-npm install
-```
-
-- Build / Watch
-
-```bash
-gulp
-```
diff --git a/assets/tether-master/docs/js/intro.js b/assets/tether-master/docs/js/intro.js
deleted file mode 100644
index 47ed6e5..0000000
--- a/assets/tether-master/docs/js/intro.js
+++ /dev/null
@@ -1,117 +0,0 @@
-(function() {
- var OUTPUT_HTML, SETUP_JS, activate, deactivate, getOutput, init, run, setupBlock, tethers, uniqueId;
-
- uniqueId = Tether.Utils.uniqueId;
-
- SETUP_JS = "yellowBox = $('.yellow-box', $output);\ngreenBox = $('.green-box', $output);\nscrollBox = $('.scroll-box', $output);";
-
- OUTPUT_HTML = function(key) {
- return "";
- };
-
- tethers = {};
-
- getOutput = function($block) {
- var key;
- key = $block.data('example');
- if (key && typeof key === 'string') {
- return $("output[data-example='" + key + "']");
- } else {
- return $block.parents('pre').nextAll('output').first();
- }
- };
-
- run = function(key) {
- var $block, $output, code;
- if (typeof key === 'string') {
- $block = $("code[data-example='" + key + "']");
- } else {
- $block = key;
- }
- key = $block.attr('data-example');
- $output = getOutput($block);
- code = $block.text();
- code = SETUP_JS + code;
- window.$output = $output;
- return tethers[key] = eval(code);
- };
-
- setupBlock = function($block) {
- var $output, $scrollBox, $scrollContent, key;
- key = $block.data('example');
- $output = getOutput($block);
- if (!key) {
- key = uniqueId();
- $block.attr('data-example', key);
- $output.attr('data-example', key);
- $output.find('.tether-element').attr('data-example', key);
- }
- $output.html(OUTPUT_HTML(key));
- $scrollBox = $output.find('.scroll-box');
- $scrollContent = $scrollBox.find('.scroll-content');
- $scrollBox.scrollTop(parseInt($scrollContent.css('height')) / 2 - $scrollBox.height() / 2);
- $scrollBox.scrollLeft(parseInt($scrollContent.css('width')) / 2 - $scrollBox.width() / 2);
- setTimeout(function() {
- return $scrollBox.on('scroll', function() {
- return $output.addClass('scrolled');
- });
- });
- $scrollBox.css('height', "" + ($block.parent().outerHeight()) + "px");
- if ($output.attr('deactivated') == null) {
- return run($block);
- }
- };
-
- $(document.body).on('click', function(e) {
- if ($(e.target).is('output[deactivated]')) {
- activate($(e.target));
- return false;
- } else if ($(e.target).is('output[activated]')) {
- deactivate($(e.target));
- return false;
- }
- });
-
- activate = function($output) {
- var $block, key;
- $block = $output.prev().find('code');
- run($block);
- $output.find('.tether-element').show();
- key = $output.data('example');
- $(tethers[key].element).show();
- tethers[key].enable();
- $output.removeAttr('deactivated');
- return $output.attr('activated', true);
- };
-
- deactivate = function($output) {
- var $block, $el, key;
- $block = $output.prev().find('code');
- key = $output.data('example');
- tethers[key].disable();
- $el = $(tethers[key].element);
- $el.detach();
- $output.find('.scroll-content').append($el);
- $el.hide();
- $output.removeAttr('activated');
- return $output.attr('deactivated', true);
- };
-
- init = function() {
- var $blocks, block, _i, _len, _results;
- $blocks = $('code[data-example]');
- _results = [];
- for (_i = 0, _len = $blocks.length; _i < _len; _i++) {
- block = $blocks[_i];
- _results.push(setupBlock($(block)));
- }
- return _results;
- };
-
- window.EXECUTR_OPTIONS = {
- codeSelector: 'code[executable]'
- };
-
- $(init);
-
-}).call(this);
diff --git a/assets/tether-master/docs/js/markAttachment.js b/assets/tether-master/docs/js/markAttachment.js
deleted file mode 100644
index c7d34f0..0000000
--- a/assets/tether-master/docs/js/markAttachment.js
+++ /dev/null
@@ -1,51 +0,0 @@
-/* globals Tether */
-
-'use strict';
-
-Tether.modules.push({
- initialize: function initialize() {
- var _this = this;
-
- this.markers = {};
-
- ['target', 'element'].forEach(function (type) {
- var el = document.createElement('div');
- el.className = _this.getClass('' + type + '-marker');
-
- var dot = document.createElement('div');
- dot.className = _this.getClass('marker-dot');
- el.appendChild(dot);
-
- _this[type].appendChild(el);
-
- _this.markers[type] = { dot: dot, el: el };
- });
- },
-
- position: function position(_ref) {
- var manualOffset = _ref.manualOffset;
- var manualTargetOffset = _ref.manualTargetOffset;
-
- var offsets = {
- element: manualOffset,
- target: manualTargetOffset
- };
-
- for (var type in offsets) {
- var offset = offsets[type];
- for (var side in offset) {
- var val = offset[side];
- var notString = typeof val !== 'string';
- if (notString || val.indexOf('%') === -1 && val.indexOf('px') === -1) {
- val += 'px';
- }
-
- if (this.markers[type].dot.style[side] !== val) {
- this.markers[type].dot.style[side] = val;
- }
- }
- }
-
- return true;
- }
-});
diff --git a/assets/tether-master/docs/sass/intro.sass b/assets/tether-master/docs/sass/intro.sass
deleted file mode 100644
index 8456a20..0000000
--- a/assets/tether-master/docs/sass/intro.sass
+++ /dev/null
@@ -1,233 +0,0 @@
-$scrollableArea: 2000px
-$exampleWidth: 400px
-$exampleHeight: 180px
-
-@mixin inline-block
- display: inline-block
- vertical-align: middle
- *vertical-align: auto
- *zoom: 1
- *display: inline
-
-*, *:after, *:before
- box-sizing: border-box
-
-body
- position: relative
-
-.yellow-box
- width: 100px
- height: 100px
- background-color: #fe8
- pointer-events: none
-
-.green-box
- margin-top: ($exampleHeight - 50px) / 2
- margin-left: ($exampleWidth - 200px) / 2
- width: 200px
- height: 50px
- background-color: #4e9
-
- .no-green &
- display: none
-
-.scroll-box
- height: 150px
- border: 10px solid #eee
- background: #fbfbfb
- overflow: auto
- position: relative
-
-.scroll-content
- height: $scrollableArea
- width: $scrollableArea
- padding: ($scrollableArea - $exampleHeight)/2 ($scrollableArea - $exampleWidth)/2 + 9
-
-pre.pre-with-output
- margin: 0
- width: 50%
- float: left
-
- code mark
- background: #b8daff
- color: #000
-
-p, h2, h3
- clear: both
-
-output
- display: block
- position: relative
- width: 50%
- float: right
- margin-bottom: 15px
-
- &.scroll-page
- .scroll-box
- overflow: hidden
-
- &:after
- content: "↕ scroll the page ↕"
-
- &:after
- content: "↕ scroll this area ↕"
- position: absolute
- bottom: 25px
- width: 100%
- text-align: center
- font-size: 16px
- font-variant: small-caps
- color: #777
- opacity: 1
- transition: opacity 0.2s
-
- &.scrolled:after
- opacity: 0
-
- &[deactivated], &[activated]
- .scroll-box
- pointer-events: none
-
- cursor: pointer
-
- &:after
- position: absolute
- top: 0
- left: 0
- right: 0
- bottom: 0
- opacity: 1
- content: "Click To Show"
- background-color: #AAA
- border-left: 10px solid #EEE
- color: white
- font-size: 24px
- font-variant: normal
- padding-top: 80px
-
- &[activated]
- &:after
- content: "Click To Hide"
-
- &.visible-enabled
- &:after
- height: 35px
- padding-top: 5px
-
-.attachment-mark
- position: relative
-
- &:after
- content: "A"
- width: 10px
- height: 10px
- background-color: red
- display: inline-block
-
- line-height: 10px
- font-size: 9px
- color: white
- text-align: center
-
- position: absolute
-
-span.attachment-mark
- &:after
- position: relative
- top: -1px
- margin-right: 1px
-
-.tether-marker-dot
- @extend .attachment-mark
-
- position: absolute
-
- &:after
- top: -5px
- left: -5px
-
-@each $type in target, element
- .tether-#{ $type }-marker
- position: absolute
-
- @each $side in left, top, bottom, right
- div.tether-#{ $type }-attached-#{ $side } &
- #{ $side }: 0
-
- div.tether-#{ $type }-attached-center &
- left: 50%
-
-.tether-element-attached-middle .tether-element-marker
- top: 50px
-
-.tether-target-attached-middle .tether-target-marker
- top: 25px
-
-.tether-element
- position: relative
-
- &.tether-pinned-left
- box-shadow: inset 2px 0 0 0 red
- &.tether-pinned-right
- box-shadow: inset -2px 0 0 0 red
- &.tether-pinned-top
- box-shadow: inset 0 2px 0 0 red
- &.tether-pinned-bottom
- box-shadow: inset 0 -2px 0 0 red
-
-.tether-target
- position: relative
-
-.tether-element.tether-out-of-bounds[data-example="hide"]
- display: none
-
-[data-example^="optimizer"]
- &.lang-javascript
- /* This should just be a `code` selector, but sass doesn't allow that with & */
- min-height: 220px
-
- &.tether-element
-
- &:before
- margin-top: 26px
- display: block
- text-align: center
- content: "I'm in the body"
- line-height: 1.2
- font-size: 15px
- padding: 4px
- color: #666
-
- .scroll-box .tether-element:before
- content: "I'm in my scroll parent!"
-
-.tether-element[data-example="scroll-visible"]
- height: 30px
-
- .tether-marker-dot
- display: none
-
-.hs-doc-content h2.projects-header
- text-align: center
- font-weight: 300
-
-.projects-paragraph
- text-align: center
-
- a
- +inline-block
- text-align: center
- margin-right: 30px
- color: inherit
-
- span
- +inline-block
- margin-bottom: 20px
- font-size: 20px
- color: inherit
- font-weight: 300
-
- img
- display: block
- max-width: 100%
- width: 100px
diff --git a/assets/tether-master/docs/welcome/browser-demo.html b/assets/tether-master/docs/welcome/browser-demo.html
deleted file mode 100644
index 6c175bc..0000000
--- a/assets/tether-master/docs/welcome/browser-demo.html
+++ /dev/null
@@ -1,76 +0,0 @@
-
-
-
-
- Drop – Browser Demo
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-