<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://atomix.app.uib.no/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Atomix</id>
	<title>Atomix - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="http://atomix.app.uib.no/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Atomix"/>
	<link rel="alternate" type="text/html" href="http://atomix.app.uib.no/Special:Contributions/Atomix"/>
	<updated>2026-04-04T09:51:43Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.44.2</generator>
	<entry>
		<id>http://atomix.app.uib.no/index.php?title=MediaWiki:Common.css&amp;diff=4702</id>
		<title>MediaWiki:Common.css</title>
		<link rel="alternate" type="text/html" href="http://atomix.app.uib.no/index.php?title=MediaWiki:Common.css&amp;diff=4702"/>
		<updated>2026-01-19T11:46:02Z</updated>

		<summary type="html">&lt;p&gt;Atomix: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;body.page-Main_Page h1.firstHeading { display:none; }&lt;br /&gt;
body.page-Main_Page h2.firstHeading { display:none !important; }&lt;br /&gt;
body.page-Main_Page h2#firstHeading.title { display:none; }&lt;br /&gt;
body.page-Forside h1.firstHeading { display:none; }&lt;br /&gt;
/* ================================================&lt;br /&gt;
   FORSKNING Research Theme for Timeless Skin&lt;br /&gt;
   MediaWiki:Common.css&lt;br /&gt;
   Perfect for: Research Wikis, Scientific Documentation&lt;br /&gt;
   ================================================ */&lt;br /&gt;
&lt;br /&gt;
:root {&lt;br /&gt;
    /* FORSKNING Research Color Palette */&lt;br /&gt;
    --slate-teal: #2A5E5B;            /* Primary - Dark Slate Grey */&lt;br /&gt;
    --shadow-grey: #212429;           /* Deep dark - Shadow Grey */&lt;br /&gt;
    --hunter-green: #2A6349;          /* Secondary - Hunter Green */&lt;br /&gt;
    --mint-cream: #F2FBF5;            /* Background - Mint Cream */&lt;br /&gt;
    --pale-sky: #CDDCE0;              /* Accent - Pale Sky */&lt;br /&gt;
&lt;br /&gt;
    /* Extended palette for UI elements */&lt;br /&gt;
    --slate-teal-light: #3a7e7a;      /* Lighter teal for hover */&lt;br /&gt;
    --hunter-light: #3a8360;          /* Lighter green */&lt;br /&gt;
    --border-light: #dfe9eb;          /* Subtle borders */&lt;br /&gt;
    --bg-white: #ffffff;              /* Pure white for content */&lt;br /&gt;
    --text-primary: #212429;          /* Primary text - shadow grey */&lt;br /&gt;
    --text-secondary: #4a5458;        /* Secondary text */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Main page background */&lt;br /&gt;
body {&lt;br /&gt;
    background-color: var(--mint-cream);&lt;br /&gt;
    color: var(--text-primary);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Header/top navigation - research teal */&lt;br /&gt;
#mw-header-container {&lt;br /&gt;
    background-color: var(--slate-teal);&lt;br /&gt;
    border-bottom: 2px solid var(--pale-sky);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#mw-header-nav-hack {&lt;br /&gt;
    background-color: var(--slate-teal);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Site logo area */&lt;br /&gt;
#p-logo a {&lt;br /&gt;
    background-color: transparent;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Navigation links in header */&lt;br /&gt;
#mw-header-nav-hack a,&lt;br /&gt;
#user-tools a {&lt;br /&gt;
    color: var(--mint-cream);&lt;br /&gt;
    font-weight: 500;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#mw-header-nav-hack a:hover,&lt;br /&gt;
#user-tools a:hover {&lt;br /&gt;
    color: var(--pale-sky);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Sidebar - research catalog style */&lt;br /&gt;
#mw-site-navigation,&lt;br /&gt;
#mw-related-navigation {&lt;br /&gt;
    background-color: var(--mint-cream);&lt;br /&gt;
    border-right: 1px solid var(--border-light);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#mw-site-navigation .sidebar-chunk,&lt;br /&gt;
#mw-related-navigation .sidebar-chunk {&lt;br /&gt;
    background-color: transparent;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#mw-site-navigation h3,&lt;br /&gt;
#mw-related-navigation h3 {&lt;br /&gt;
    background-color: var(--slate-teal);&lt;br /&gt;
    color: white;&lt;br /&gt;
    border-bottom: 2px solid var(--pale-sky);&lt;br /&gt;
    font-weight: 600;&lt;br /&gt;
    text-transform: uppercase;&lt;br /&gt;
    font-size: 0.875rem;&lt;br /&gt;
    letter-spacing: 0.5px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Sidebar links - use dark text for WCAG AA compliance */&lt;br /&gt;
#mw-site-navigation a,&lt;br /&gt;
#mw-related-navigation a {&lt;br /&gt;
    color: var(--text-primary);&lt;br /&gt;
    font-weight: 400;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#mw-site-navigation a:hover,&lt;br /&gt;
#mw-related-navigation a:hover {&lt;br /&gt;
    color: var(--hunter-green);&lt;br /&gt;
    background-color: rgba(42, 99, 73, 0.1);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Main content area - clean white pages */&lt;br /&gt;
#mw-content-container {&lt;br /&gt;
    background-color: var(--bg-white);&lt;br /&gt;
    border: 1px solid var(--border-light);&lt;br /&gt;
    box-shadow: 0 2px 8px rgba(42, 94, 91, 0.08);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#mw-content {&lt;br /&gt;
    background-color: var(--bg-white);&lt;br /&gt;
    color: var(--text-primary);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Page title - research heading */&lt;br /&gt;
#firstHeading {&lt;br /&gt;
    color: var(--slate-teal);&lt;br /&gt;
    border-bottom: 3px solid var(--pale-sky);&lt;br /&gt;
    font-weight: 600;&lt;br /&gt;
    padding-bottom: 12px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Content headings - hierarchical typography */&lt;br /&gt;
.mw-body h1 {&lt;br /&gt;
    color: var(--slate-teal);&lt;br /&gt;
    font-weight: 600;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-body h2 {&lt;br /&gt;
    color: var(--slate-teal);&lt;br /&gt;
    font-weight: 600;&lt;br /&gt;
    border-bottom: 2px solid var(--pale-sky);&lt;br /&gt;
    padding-bottom: 8px;&lt;br /&gt;
    margin-top: 32px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-body h3 {&lt;br /&gt;
    color: var(--hunter-green);&lt;br /&gt;
    font-weight: 600;&lt;br /&gt;
    margin-top: 24px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-body h4 {&lt;br /&gt;
    color: var(--text-secondary);&lt;br /&gt;
    font-weight: 600;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Body text - optimal readability */&lt;br /&gt;
.mw-body,&lt;br /&gt;
.mw-body p {&lt;br /&gt;
    color: var(--text-primary);&lt;br /&gt;
    line-height: 1.7;&lt;br /&gt;
    font-size: 1rem;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Links - research style */&lt;br /&gt;
.mw-body a:not(.new) {&lt;br /&gt;
    color: var(--hunter-green);&lt;br /&gt;
    text-decoration: none;&lt;br /&gt;
    border-bottom: 1px solid transparent;&lt;br /&gt;
    transition: border-color 0.2s ease;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-body a:not(.new):hover {&lt;br /&gt;
    color: var(--slate-teal);&lt;br /&gt;
    border-bottom-color: var(--pale-sky);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-body a:not(.new):visited {&lt;br /&gt;
    color: var(--slate-teal-light);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Red links (non-existent pages) */&lt;br /&gt;
.mw-body a.new {&lt;br /&gt;
    color: #9f4444;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Tabs (page actions) */&lt;br /&gt;
#p-namespaces ul li,&lt;br /&gt;
#p-views ul li {&lt;br /&gt;
    background-color: var(--mint-cream);&lt;br /&gt;
    border: 1px solid var(--border-light);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#p-namespaces ul li.selected,&lt;br /&gt;
#p-views ul li.selected {&lt;br /&gt;
    background-color: var(--bg-white);&lt;br /&gt;
    border-bottom-color: var(--bg-white);&lt;br /&gt;
    border-top: 2px solid var(--hunter-green);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#p-namespaces a,&lt;br /&gt;
#p-views a {&lt;br /&gt;
    color: var(--text-secondary);&lt;br /&gt;
    font-weight: 500;&lt;br /&gt;
    font-size: 0.875rem;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#p-namespaces ul li.selected a,&lt;br /&gt;
#p-views ul li.selected a {&lt;br /&gt;
    color: var(--slate-teal);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Buttons - research actions */&lt;br /&gt;
.mw-ui-button,&lt;br /&gt;
.oo-ui-buttonElement-button {&lt;br /&gt;
    background-color: var(--hunter-green);&lt;br /&gt;
    color: white;&lt;br /&gt;
    border: none;&lt;br /&gt;
    font-weight: 500;&lt;br /&gt;
    padding: 10px 20px;&lt;br /&gt;
    transition: background-color 0.2s ease;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-ui-button:hover,&lt;br /&gt;
.oo-ui-buttonElement-button:hover {&lt;br /&gt;
    background-color: var(--slate-teal);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Info boxes - research notes */&lt;br /&gt;
.infobox {&lt;br /&gt;
    background-color: var(--mint-cream);&lt;br /&gt;
    border: 1px solid var(--pale-sky);&lt;br /&gt;
    border-left: 4px solid var(--hunter-green);&lt;br /&gt;
    box-shadow: 0 1px 3px rgba(42, 94, 91, 0.1);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Table styling - research data presentation */&lt;br /&gt;
table.wikitable {&lt;br /&gt;
    background-color: var(--bg-white);&lt;br /&gt;
    border: 1px solid var(--border-light);&lt;br /&gt;
    color: var(--text-primary);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
table.wikitable th {&lt;br /&gt;
    background-color: var(--hunter-green);&lt;br /&gt;
    color: white;&lt;br /&gt;
    border: 1px solid var(--pale-sky);&lt;br /&gt;
    font-weight: 600;&lt;br /&gt;
    text-transform: uppercase;&lt;br /&gt;
    font-size: 0.875rem;&lt;br /&gt;
    letter-spacing: 0.5px;&lt;br /&gt;
    padding: 12px 16px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
table.wikitable td {&lt;br /&gt;
    border: 1px solid var(--border-light);&lt;br /&gt;
    padding: 10px 16px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
table.wikitable tr:nth-child(even) {&lt;br /&gt;
    background-color: var(--mint-cream);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
table.wikitable tr:hover {&lt;br /&gt;
    background-color: rgba(42, 99, 73, 0.1);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Code blocks - technical documentation */&lt;br /&gt;
pre, code {&lt;br /&gt;
    background-color: var(--mint-cream);&lt;br /&gt;
    border: 1px solid var(--border-light);&lt;br /&gt;
    border-left: 3px solid var(--pale-sky);&lt;br /&gt;
    color: var(--text-primary);&lt;br /&gt;
    font-family: &#039;Consolas&#039;, &#039;Monaco&#039;, &#039;Courier New&#039;, monospace;&lt;br /&gt;
    font-size: 0.9rem;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
pre {&lt;br /&gt;
    padding: 16px;&lt;br /&gt;
    overflow-x: auto;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
code {&lt;br /&gt;
    padding: 2px 6px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Footer - research archive style */&lt;br /&gt;
#footer,&lt;br /&gt;
#mw-footer,&lt;br /&gt;
#mw-footer-container {&lt;br /&gt;
    background-color: var(--mint-cream);&lt;br /&gt;
    border-top: 2px solid var(--pale-sky);&lt;br /&gt;
    color: var(--text-primary) !important;&lt;br /&gt;
    font-size: 0.875rem;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Footer text - dark for better contrast (WCAG AA) */&lt;br /&gt;
#footer-info,&lt;br /&gt;
#footer-places,&lt;br /&gt;
#footer-list,&lt;br /&gt;
#mw-footer ul,&lt;br /&gt;
#mw-footer li {&lt;br /&gt;
    color: var(--text-primary) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Footer links */&lt;br /&gt;
#footer a,&lt;br /&gt;
#mw-footer a,&lt;br /&gt;
#footer-places a,&lt;br /&gt;
#footer-info a {&lt;br /&gt;
    color: var(--text-primary) !important;&lt;br /&gt;
    font-weight: 500;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#footer a:hover,&lt;br /&gt;
#mw-footer a:hover {&lt;br /&gt;
    color: var(--hunter-green) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Search box */&lt;br /&gt;
#searchInput {&lt;br /&gt;
    border: 1px solid var(--border-light);&lt;br /&gt;
    background-color: var(--bg-white);&lt;br /&gt;
    color: var(--text-primary);&lt;br /&gt;
    padding: 8px 12px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#searchInput:focus {&lt;br /&gt;
    border-color: var(--hunter-green);&lt;br /&gt;
    box-shadow: 0 0 0 2px rgba(42, 99, 73, 0.1);&lt;br /&gt;
    outline: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#searchInput::placeholder {&lt;br /&gt;
    color: var(--text-secondary);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Blockquotes - citations and references */&lt;br /&gt;
blockquote {&lt;br /&gt;
    border-left: 4px solid var(--pale-sky);&lt;br /&gt;
    background-color: var(--mint-cream);&lt;br /&gt;
    padding: 16px 20px;&lt;br /&gt;
    margin: 20px 0;&lt;br /&gt;
    color: var(--text-secondary);&lt;br /&gt;
    font-style: italic;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Lists - structured documentation */&lt;br /&gt;
.mw-body ul,&lt;br /&gt;
.mw-body ol {&lt;br /&gt;
    line-height: 1.8;&lt;br /&gt;
    color: var(--text-primary);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Categories and metadata */&lt;br /&gt;
#catlinks {&lt;br /&gt;
    background-color: var(--mint-cream);&lt;br /&gt;
    border: 1px solid var(--border-light);&lt;br /&gt;
    color: var(--text-secondary);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Edit forms and inputs */&lt;br /&gt;
textarea,&lt;br /&gt;
input[type=&amp;quot;text&amp;quot;],&lt;br /&gt;
input[type=&amp;quot;search&amp;quot;] {&lt;br /&gt;
    background-color: var(--bg-white);&lt;br /&gt;
    color: var(--text-primary);&lt;br /&gt;
    border: 1px solid var(--border-light);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
textarea:focus,&lt;br /&gt;
input[type=&amp;quot;text&amp;quot;]:focus,&lt;br /&gt;
input[type=&amp;quot;search&amp;quot;]:focus {&lt;br /&gt;
    border-color: var(--hunter-green);&lt;br /&gt;
    box-shadow: 0 0 0 2px rgba(42, 99, 73, 0.1);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ================================================&lt;br /&gt;
   Additional fixes for header text visibility&lt;br /&gt;
   ================================================ */&lt;br /&gt;
&lt;br /&gt;
/* Wiki name/site title in top left */&lt;br /&gt;
#p-logo a,&lt;br /&gt;
#p-logo-text a,&lt;br /&gt;
.mw-wiki-title,&lt;br /&gt;
#sitelogo-text {&lt;br /&gt;
    color: var(--mint-cream) !important;&lt;br /&gt;
    font-weight: 600 !important;&lt;br /&gt;
    text-transform: uppercase;&lt;br /&gt;
    letter-spacing: 1px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#p-logo a:hover,&lt;br /&gt;
#p-logo-text a:hover {&lt;br /&gt;
    color: var(--pale-sky) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Username in top right corner */&lt;br /&gt;
#user-tools .mw-ui-icon + span,&lt;br /&gt;
#user-tools #pt-userpage a,&lt;br /&gt;
#personal h2,&lt;br /&gt;
#personal .mw-portlet-heading {&lt;br /&gt;
    color: var(--mint-cream) !important;&lt;br /&gt;
    font-weight: 500 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#user-tools #pt-userpage a:hover {&lt;br /&gt;
    color: var(--pale-sky) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Dropdown menu from username */&lt;br /&gt;
#personal .mw-portlet-body,&lt;br /&gt;
#personal ul,&lt;br /&gt;
#user-tools .dropdown,&lt;br /&gt;
#personal .vector-menu-content {&lt;br /&gt;
    background-color: var(--bg-white);&lt;br /&gt;
    border: 1px solid var(--border-light);&lt;br /&gt;
    box-shadow: 0 4px 12px rgba(42, 94, 91, 0.15);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#personal .mw-portlet-body a,&lt;br /&gt;
#personal ul a,&lt;br /&gt;
#user-tools .dropdown a {&lt;br /&gt;
    color: var(--text-primary) !important;&lt;br /&gt;
    background-color: var(--bg-white);&lt;br /&gt;
    font-weight: 400;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#personal .mw-portlet-body a:hover,&lt;br /&gt;
#personal ul a:hover,&lt;br /&gt;
#user-tools .dropdown a:hover {&lt;br /&gt;
    color: var(--slate-teal) !important;&lt;br /&gt;
    background-color: var(--mint-cream);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ================================================&lt;br /&gt;
   Icon Fixes for Dark Header Background&lt;br /&gt;
   ================================================ */&lt;br /&gt;
&lt;br /&gt;
/* User icon - replace with light-colored version */&lt;br /&gt;
#personal h2 {&lt;br /&gt;
    background-image: url(&#039;data:image/svg+xml;utf8,&amp;lt;svg xmlns=&amp;quot;http://www.w3.org/2000/svg&amp;quot; width=&amp;quot;20&amp;quot; height=&amp;quot;20&amp;quot; viewBox=&amp;quot;0 0 20 20&amp;quot;&amp;gt;&amp;lt;circle cx=&amp;quot;10&amp;quot; cy=&amp;quot;6&amp;quot; r=&amp;quot;3&amp;quot; fill=&amp;quot;%23F2FBF5&amp;quot;/&amp;gt;&amp;lt;path d=&amp;quot;M10 10c-3 0-7 2-7 5v2h14v-2c0-3-4-5-7-5z&amp;quot; fill=&amp;quot;%23F2FBF5&amp;quot;/&amp;gt;&amp;lt;/svg&amp;gt;&#039;) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Site tools gear icon - replace with light-colored version */&lt;br /&gt;
#site-tools h2 {&lt;br /&gt;
    background-image: url(&#039;data:image/svg+xml;utf8,&amp;lt;svg xmlns=&amp;quot;http://www.w3.org/2000/svg&amp;quot; width=&amp;quot;20&amp;quot; height=&amp;quot;20&amp;quot; viewBox=&amp;quot;0 0 20 20&amp;quot;&amp;gt;&amp;lt;path d=&amp;quot;M10 1.5c-.85 0-1.6.55-1.85 1.35l-.35 1.1c-.25.05-.5.15-.75.25l-1-.6c-.75-.45-1.7-.3-2.3.35l-.7.7c-.65.65-.8 1.55-.35 2.3l.6 1c-.1.25-.2.5-.25.75l-1.1.35C1.05 9.4.5 10.15.5 11s.55 1.6 1.35 1.85l1.1.35c.05.25.15.5.25.75l-.6 1c-.45.75-.3 1.7.35 2.3l.7.7c.65.65 1.55.8 2.3.35l1-.6c.25.1.5.2.75.25l.35 1.1c.25.8 1 1.35 1.85 1.35s1.6-.55 1.85-1.35l.35-1.1c.25-.05.5-.15.75-.25l1 .6c.75.45 1.7.3 2.3-.35l.7-.7c.65-.65.8-1.55.35-2.3l-.6-1c.1-.25.2-.5.25-.75l1.1-.35c.8-.25 1.35-1 1.35-1.85s-.55-1.6-1.35-1.85l-1.1-.35c-.05-.25-.15-.5-.25-.75l.6-1c.45-.75.3-1.7-.35-2.3l-.7-.7c-.65-.65-1.55-.8-2.3-.35l-1 .6c-.25-.1-.5-.2-.75-.25l-.35-1.1C11.6 2.05 10.85 1.5 10 1.5zm0 5.5c1.65 0 3 1.35 3 3s-1.35 3-3 3-3-1.35-3-3 1.35-3 3-3z&amp;quot; fill=&amp;quot;%23F2FBF5&amp;quot;/&amp;gt;&amp;lt;/svg&amp;gt;&#039;) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Site navigation hamburger menu icon - replace with light-colored version */&lt;br /&gt;
#site-navigation h2,&lt;br /&gt;
#mw-site-navigation h2 {&lt;br /&gt;
    background-image: url(&#039;data:image/svg+xml;utf8,&amp;lt;svg xmlns=&amp;quot;http://www.w3.org/2000/svg&amp;quot; width=&amp;quot;20&amp;quot; height=&amp;quot;20&amp;quot; viewBox=&amp;quot;0 0 20 20&amp;quot;&amp;gt;&amp;lt;path d=&amp;quot;M2 4h16v2H2zm0 5h16v2H2zm0 5h16v2H2z&amp;quot; fill=&amp;quot;%23F2FBF5&amp;quot;/&amp;gt;&amp;lt;/svg&amp;gt;&#039;) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* User tools icons in header - make light colored */&lt;br /&gt;
#user-tools .mw-ui-icon,&lt;br /&gt;
#user-tools .mw-ui-icon:before,&lt;br /&gt;
#user-tools .mw-ui-icon:after,&lt;br /&gt;
#personal .mw-ui-icon {&lt;br /&gt;
    color: var(--mint-cream) !important;&lt;br /&gt;
    fill: var(--mint-cream) !important;&lt;br /&gt;
    opacity: 0.9;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#user-tools .mw-ui-icon:hover,&lt;br /&gt;
#personal .mw-ui-icon:hover {&lt;br /&gt;
    color: var(--pale-sky) !important;&lt;br /&gt;
    fill: var(--pale-sky) !important;&lt;br /&gt;
    opacity: 1;&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Atomix</name></author>
	</entry>
	<entry>
		<id>http://atomix.app.uib.no/index.php?title=MediaWiki:Common.js&amp;diff=3</id>
		<title>MediaWiki:Common.js</title>
		<link rel="alternate" type="text/html" href="http://atomix.app.uib.no/index.php?title=MediaWiki:Common.js&amp;diff=3"/>
		<updated>2021-01-14T12:00:40Z</updated>

		<summary type="html">&lt;p&gt;Atomix: Created page with &amp;quot;/* Any JavaScript here will be loaded for all users on every page load. */  // install :Wikipedia:User:Cacycle/wikEd in-browser text editor (function () { 	var script = do...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* Any JavaScript here will be loaded for all users on every page load. */&lt;br /&gt;
&lt;br /&gt;
// install [[:Wikipedia:User:Cacycle/wikEd]] in-browser text editor&lt;br /&gt;
(function ()&lt;br /&gt;
{&lt;br /&gt;
	var script = document.createElement(&#039;script&#039;);&lt;br /&gt;
	script.src = &#039;//en.wikipedia.org/w/index.php?title=User:Cacycle/wikEd.js&amp;amp;action=raw&amp;amp;ctype=text/javascript&#039;;&lt;br /&gt;
	script.async = true;&lt;br /&gt;
	document.getElementsByTagName(&#039;head&#039;)[0].appendChild(script);&lt;br /&gt;
 }&lt;br /&gt;
) ();&lt;br /&gt;
&lt;br /&gt;
/*!&lt;br /&gt;
 * Masonry PACKAGED v4.1.1&lt;br /&gt;
 * Cascading grid layout library&lt;br /&gt;
 * http://masonry.desandro.com&lt;br /&gt;
 * MIT License&lt;br /&gt;
 * by David DeSandro&lt;br /&gt;
 */&lt;br /&gt;
/*!&lt;br /&gt;
 * Masonry PACKAGED v4.1.1&lt;br /&gt;
 * Cascading grid layout library&lt;br /&gt;
 * http://masonry.desandro.com&lt;br /&gt;
 * MIT License&lt;br /&gt;
 * by David DeSandro&lt;br /&gt;
 */&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * Bridget makes jQuery widgets&lt;br /&gt;
 * v2.0.1&lt;br /&gt;
 * MIT license&lt;br /&gt;
 */&lt;br /&gt;
&lt;br /&gt;
/* jshint browser: true, strict: true, undef: true, unused: true */&lt;br /&gt;
&lt;br /&gt;
( function( window, factory ) {&lt;br /&gt;
  // universal module definition&lt;br /&gt;
  /*jshint strict: false */ /* globals define, module, require */&lt;br /&gt;
  if ( typeof define == &#039;function&#039; &amp;amp;&amp;amp; define.amd ) {&lt;br /&gt;
    // AMD&lt;br /&gt;
    define( &#039;jquery-bridget/jquery-bridget&#039;,[ &#039;jquery&#039; ], function( jQuery ) {&lt;br /&gt;
      return factory( window, jQuery );&lt;br /&gt;
    });&lt;br /&gt;
  } else if ( typeof module == &#039;object&#039; &amp;amp;&amp;amp; module.exports ) {&lt;br /&gt;
    // CommonJS&lt;br /&gt;
    module.exports = factory(&lt;br /&gt;
      window,&lt;br /&gt;
      require(&#039;jquery&#039;)&lt;br /&gt;
    );&lt;br /&gt;
  } else {&lt;br /&gt;
    // browser global&lt;br /&gt;
    window.jQueryBridget = factory(&lt;br /&gt;
      window,&lt;br /&gt;
      window.jQuery&lt;br /&gt;
    );&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
}( window, function factory( window, jQuery ) {&lt;br /&gt;
&#039;use strict&#039;;&lt;br /&gt;
&lt;br /&gt;
// ----- utils ----- //&lt;br /&gt;
&lt;br /&gt;
var arraySlice = Array.prototype.slice;&lt;br /&gt;
&lt;br /&gt;
// helper function for logging errors&lt;br /&gt;
// $.error breaks jQuery chaining&lt;br /&gt;
var console = window.console;&lt;br /&gt;
var logError = typeof console == &#039;undefined&#039; ? function() {} :&lt;br /&gt;
  function( message ) {&lt;br /&gt;
    console.error( message );&lt;br /&gt;
  };&lt;br /&gt;
&lt;br /&gt;
// ----- jQueryBridget ----- //&lt;br /&gt;
&lt;br /&gt;
function jQueryBridget( namespace, PluginClass, $ ) {&lt;br /&gt;
  $ = $ || jQuery || window.jQuery;&lt;br /&gt;
  if ( !$ ) {&lt;br /&gt;
    return;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  // add option method -&amp;gt; $().plugin(&#039;option&#039;, {...})&lt;br /&gt;
  if ( !PluginClass.prototype.option ) {&lt;br /&gt;
    // option setter&lt;br /&gt;
    PluginClass.prototype.option = function( opts ) {&lt;br /&gt;
      // bail out if not an object&lt;br /&gt;
      if ( !$.isPlainObject( opts ) ){&lt;br /&gt;
        return;&lt;br /&gt;
      }&lt;br /&gt;
      this.options = $.extend( true, this.options, opts );&lt;br /&gt;
    };&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  // make jQuery plugin&lt;br /&gt;
  $.fn[ namespace ] = function( arg0 /*, arg1 */ ) {&lt;br /&gt;
    if ( typeof arg0 == &#039;string&#039; ) {&lt;br /&gt;
      // method call $().plugin( &#039;methodName&#039;, { options } )&lt;br /&gt;
      // shift arguments by 1&lt;br /&gt;
      var args = arraySlice.call( arguments, 1 );&lt;br /&gt;
      return methodCall( this, arg0, args );&lt;br /&gt;
    }&lt;br /&gt;
    // just $().plugin({ options })&lt;br /&gt;
    plainCall( this, arg0 );&lt;br /&gt;
    return this;&lt;br /&gt;
  };&lt;br /&gt;
&lt;br /&gt;
  // $().plugin(&#039;methodName&#039;)&lt;br /&gt;
  function methodCall( $elems, methodName, args ) {&lt;br /&gt;
    var returnValue;&lt;br /&gt;
    var pluginMethodStr = &#039;$().&#039; + namespace + &#039;(&amp;quot;&#039; + methodName + &#039;&amp;quot;)&#039;;&lt;br /&gt;
&lt;br /&gt;
    $elems.each( function( i, elem ) {&lt;br /&gt;
      // get instance&lt;br /&gt;
      var instance = $.data( elem, namespace );&lt;br /&gt;
      if ( !instance ) {&lt;br /&gt;
        logError( namespace + &#039; not initialized. Cannot call methods, i.e. &#039; +&lt;br /&gt;
          pluginMethodStr );&lt;br /&gt;
        return;&lt;br /&gt;
      }&lt;br /&gt;
&lt;br /&gt;
      var method = instance[ methodName ];&lt;br /&gt;
      if ( !method || methodName.charAt(0) == &#039;_&#039; ) {&lt;br /&gt;
        logError( pluginMethodStr + &#039; is not a valid method&#039; );&lt;br /&gt;
        return;&lt;br /&gt;
      }&lt;br /&gt;
&lt;br /&gt;
      // apply method, get return value&lt;br /&gt;
      var value = method.apply( instance, args );&lt;br /&gt;
      // set return value if value is returned, use only first value&lt;br /&gt;
      returnValue = returnValue === undefined ? value : returnValue;&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
    return returnValue !== undefined ? returnValue : $elems;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  function plainCall( $elems, options ) {&lt;br /&gt;
    $elems.each( function( i, elem ) {&lt;br /&gt;
      var instance = $.data( elem, namespace );&lt;br /&gt;
      if ( instance ) {&lt;br /&gt;
        // set options &amp;amp; init&lt;br /&gt;
        instance.option( options );&lt;br /&gt;
        instance._init();&lt;br /&gt;
      } else {&lt;br /&gt;
        // initialize new instance&lt;br /&gt;
        instance = new PluginClass( elem, options );&lt;br /&gt;
        $.data( elem, namespace, instance );&lt;br /&gt;
      }&lt;br /&gt;
    });&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  updateJQuery( $ );&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// ----- updateJQuery ----- //&lt;br /&gt;
&lt;br /&gt;
// set $.bridget for v1 backwards compatibility&lt;br /&gt;
function updateJQuery( $ ) {&lt;br /&gt;
  if ( !$ || ( $ &amp;amp;&amp;amp; $.bridget ) ) {&lt;br /&gt;
    return;&lt;br /&gt;
  }&lt;br /&gt;
  $.bridget = jQueryBridget;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
updateJQuery( jQuery || window.jQuery );&lt;br /&gt;
&lt;br /&gt;
// -----  ----- //&lt;br /&gt;
&lt;br /&gt;
return jQueryBridget;&lt;br /&gt;
&lt;br /&gt;
}));&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * EvEmitter v1.0.3&lt;br /&gt;
 * Lil&#039; event emitter&lt;br /&gt;
 * MIT License&lt;br /&gt;
 */&lt;br /&gt;
&lt;br /&gt;
/* jshint unused: true, undef: true, strict: true */&lt;br /&gt;
&lt;br /&gt;
( function( global, factory ) {&lt;br /&gt;
  // universal module definition&lt;br /&gt;
  /* jshint strict: false */ /* globals define, module, window */&lt;br /&gt;
  if ( typeof define == &#039;function&#039; &amp;amp;&amp;amp; define.amd ) {&lt;br /&gt;
    // AMD - RequireJS&lt;br /&gt;
    define( &#039;ev-emitter/ev-emitter&#039;,factory );&lt;br /&gt;
  } else if ( typeof module == &#039;object&#039; &amp;amp;&amp;amp; module.exports ) {&lt;br /&gt;
    // CommonJS - Browserify, Webpack&lt;br /&gt;
    module.exports = factory();&lt;br /&gt;
  } else {&lt;br /&gt;
    // Browser globals&lt;br /&gt;
    global.EvEmitter = factory();&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
}( typeof window != &#039;undefined&#039; ? window : this, function() {&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function EvEmitter() {}&lt;br /&gt;
&lt;br /&gt;
var proto = EvEmitter.prototype;&lt;br /&gt;
&lt;br /&gt;
proto.on = function( eventName, listener ) {&lt;br /&gt;
  if ( !eventName || !listener ) {&lt;br /&gt;
    return;&lt;br /&gt;
  }&lt;br /&gt;
  // set events hash&lt;br /&gt;
  var events = this._events = this._events || {};&lt;br /&gt;
  // set listeners array&lt;br /&gt;
  var listeners = events[ eventName ] = events[ eventName ] || [];&lt;br /&gt;
  // only add once&lt;br /&gt;
  if ( listeners.indexOf( listener ) == -1 ) {&lt;br /&gt;
    listeners.push( listener );&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  return this;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
proto.once = function( eventName, listener ) {&lt;br /&gt;
  if ( !eventName || !listener ) {&lt;br /&gt;
    return;&lt;br /&gt;
  }&lt;br /&gt;
  // add event&lt;br /&gt;
  this.on( eventName, listener );&lt;br /&gt;
  // set once flag&lt;br /&gt;
  // set onceEvents hash&lt;br /&gt;
  var onceEvents = this._onceEvents = this._onceEvents || {};&lt;br /&gt;
  // set onceListeners object&lt;br /&gt;
  var onceListeners = onceEvents[ eventName ] = onceEvents[ eventName ] || {};&lt;br /&gt;
  // set flag&lt;br /&gt;
  onceListeners[ listener ] = true;&lt;br /&gt;
&lt;br /&gt;
  return this;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
proto.off = function( eventName, listener ) {&lt;br /&gt;
  var listeners = this._events &amp;amp;&amp;amp; this._events[ eventName ];&lt;br /&gt;
  if ( !listeners || !listeners.length ) {&lt;br /&gt;
    return;&lt;br /&gt;
  }&lt;br /&gt;
  var index = listeners.indexOf( listener );&lt;br /&gt;
  if ( index != -1 ) {&lt;br /&gt;
    listeners.splice( index, 1 );&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  return this;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
proto.emitEvent = function( eventName, args ) {&lt;br /&gt;
  var listeners = this._events &amp;amp;&amp;amp; this._events[ eventName ];&lt;br /&gt;
  if ( !listeners || !listeners.length ) {&lt;br /&gt;
    return;&lt;br /&gt;
  }&lt;br /&gt;
  var i = 0;&lt;br /&gt;
  var listener = listeners[i];&lt;br /&gt;
  args = args || [];&lt;br /&gt;
  // once stuff&lt;br /&gt;
  var onceListeners = this._onceEvents &amp;amp;&amp;amp; this._onceEvents[ eventName ];&lt;br /&gt;
&lt;br /&gt;
  while ( listener ) {&lt;br /&gt;
    var isOnce = onceListeners &amp;amp;&amp;amp; onceListeners[ listener ];&lt;br /&gt;
    if ( isOnce ) {&lt;br /&gt;
      // remove listener&lt;br /&gt;
      // remove before trigger to prevent recursion&lt;br /&gt;
      this.off( eventName, listener );&lt;br /&gt;
      // unset once flag&lt;br /&gt;
      delete onceListeners[ listener ];&lt;br /&gt;
    }&lt;br /&gt;
    // trigger listener&lt;br /&gt;
    listener.apply( this, args );&lt;br /&gt;
    // get next listener&lt;br /&gt;
    i += isOnce ? 0 : 1;&lt;br /&gt;
    listener = listeners[i];&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  return this;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
return EvEmitter;&lt;br /&gt;
&lt;br /&gt;
}));&lt;br /&gt;
&lt;br /&gt;
/*!&lt;br /&gt;
 * getSize v2.0.2&lt;br /&gt;
 * measure size of elements&lt;br /&gt;
 * MIT license&lt;br /&gt;
 */&lt;br /&gt;
&lt;br /&gt;
/*jshint browser: true, strict: true, undef: true, unused: true */&lt;br /&gt;
/*global define: false, module: false, console: false */&lt;br /&gt;
&lt;br /&gt;
( function( window, factory ) {&lt;br /&gt;
  &#039;use strict&#039;;&lt;br /&gt;
&lt;br /&gt;
  if ( typeof define == &#039;function&#039; &amp;amp;&amp;amp; define.amd ) {&lt;br /&gt;
    // AMD&lt;br /&gt;
    define( &#039;get-size/get-size&#039;,[],function() {&lt;br /&gt;
      return factory();&lt;br /&gt;
    });&lt;br /&gt;
  } else if ( typeof module == &#039;object&#039; &amp;amp;&amp;amp; module.exports ) {&lt;br /&gt;
    // CommonJS&lt;br /&gt;
    module.exports = factory();&lt;br /&gt;
  } else {&lt;br /&gt;
    // browser global&lt;br /&gt;
    window.getSize = factory();&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
})( window, function factory() {&lt;br /&gt;
&#039;use strict&#039;;&lt;br /&gt;
&lt;br /&gt;
// -------------------------- helpers -------------------------- //&lt;br /&gt;
&lt;br /&gt;
// get a number from a string, not a percentage&lt;br /&gt;
function getStyleSize( value ) {&lt;br /&gt;
  var num = parseFloat( value );&lt;br /&gt;
  // not a percent like &#039;100%&#039;, and a number&lt;br /&gt;
  var isValid = value.indexOf(&#039;%&#039;) == -1 &amp;amp;&amp;amp; !isNaN( num );&lt;br /&gt;
  return isValid &amp;amp;&amp;amp; num;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function noop() {}&lt;br /&gt;
&lt;br /&gt;
var logError = typeof console == &#039;undefined&#039; ? noop :&lt;br /&gt;
  function( message ) {&lt;br /&gt;
    console.error( message );&lt;br /&gt;
  };&lt;br /&gt;
&lt;br /&gt;
// -------------------------- measurements -------------------------- //&lt;br /&gt;
&lt;br /&gt;
var measurements = [&lt;br /&gt;
  &#039;paddingLeft&#039;,&lt;br /&gt;
  &#039;paddingRight&#039;,&lt;br /&gt;
  &#039;paddingTop&#039;,&lt;br /&gt;
  &#039;paddingBottom&#039;,&lt;br /&gt;
  &#039;marginLeft&#039;,&lt;br /&gt;
  &#039;marginRight&#039;,&lt;br /&gt;
  &#039;marginTop&#039;,&lt;br /&gt;
  &#039;marginBottom&#039;,&lt;br /&gt;
  &#039;borderLeftWidth&#039;,&lt;br /&gt;
  &#039;borderRightWidth&#039;,&lt;br /&gt;
  &#039;borderTopWidth&#039;,&lt;br /&gt;
  &#039;borderBottomWidth&#039;&lt;br /&gt;
];&lt;br /&gt;
&lt;br /&gt;
var measurementsLength = measurements.length;&lt;br /&gt;
&lt;br /&gt;
function getZeroSize() {&lt;br /&gt;
  var size = {&lt;br /&gt;
    width: 0,&lt;br /&gt;
    height: 0,&lt;br /&gt;
    innerWidth: 0,&lt;br /&gt;
    innerHeight: 0,&lt;br /&gt;
    outerWidth: 0,&lt;br /&gt;
    outerHeight: 0&lt;br /&gt;
  };&lt;br /&gt;
  for ( var i=0; i &amp;lt; measurementsLength; i++ ) {&lt;br /&gt;
    var measurement = measurements[i];&lt;br /&gt;
    size[ measurement ] = 0;&lt;br /&gt;
  }&lt;br /&gt;
  return size;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// -------------------------- getStyle -------------------------- //&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * getStyle, get style of element, check for Firefox bug&lt;br /&gt;
 * https://bugzilla.mozilla.org/show_bug.cgi?id=548397&lt;br /&gt;
 */&lt;br /&gt;
function getStyle( elem ) {&lt;br /&gt;
  var style = getComputedStyle( elem );&lt;br /&gt;
  if ( !style ) {&lt;br /&gt;
    logError( &#039;Style returned &#039; + style +&lt;br /&gt;
      &#039;. Are you running this code in a hidden iframe on Firefox? &#039; +&lt;br /&gt;
      &#039;See http://bit.ly/getsizebug1&#039; );&lt;br /&gt;
  }&lt;br /&gt;
  return style;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// -------------------------- setup -------------------------- //&lt;br /&gt;
&lt;br /&gt;
var isSetup = false;&lt;br /&gt;
&lt;br /&gt;
var isBoxSizeOuter;&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * setup&lt;br /&gt;
 * check isBoxSizerOuter&lt;br /&gt;
 * do on first getSize() rather than on page load for Firefox bug&lt;br /&gt;
 */&lt;br /&gt;
function setup() {&lt;br /&gt;
  // setup once&lt;br /&gt;
  if ( isSetup ) {&lt;br /&gt;
    return;&lt;br /&gt;
  }&lt;br /&gt;
  isSetup = true;&lt;br /&gt;
&lt;br /&gt;
  // -------------------------- box sizing -------------------------- //&lt;br /&gt;
&lt;br /&gt;
  /**&lt;br /&gt;
   * WebKit measures the outer-width on style.width on border-box elems&lt;br /&gt;
   * IE &amp;amp; Firefox&amp;lt;29 measures the inner-width&lt;br /&gt;
   */&lt;br /&gt;
  var div = document.createElement(&#039;div&#039;);&lt;br /&gt;
  div.style.width = &#039;200px&#039;;&lt;br /&gt;
  div.style.padding = &#039;1px 2px 3px 4px&#039;;&lt;br /&gt;
  div.style.borderStyle = &#039;solid&#039;;&lt;br /&gt;
  div.style.borderWidth = &#039;1px 2px 3px 4px&#039;;&lt;br /&gt;
  div.style.boxSizing = &#039;border-box&#039;;&lt;br /&gt;
&lt;br /&gt;
  var body = document.body || document.documentElement;&lt;br /&gt;
  body.appendChild( div );&lt;br /&gt;
  var style = getStyle( div );&lt;br /&gt;
&lt;br /&gt;
  getSize.isBoxSizeOuter = isBoxSizeOuter = getStyleSize( style.width ) == 200;&lt;br /&gt;
  body.removeChild( div );&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// -------------------------- getSize -------------------------- //&lt;br /&gt;
&lt;br /&gt;
function getSize( elem ) {&lt;br /&gt;
  setup();&lt;br /&gt;
&lt;br /&gt;
  // use querySeletor if elem is string&lt;br /&gt;
  if ( typeof elem == &#039;string&#039; ) {&lt;br /&gt;
    elem = document.querySelector( elem );&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  // do not proceed on non-objects&lt;br /&gt;
  if ( !elem || typeof elem != &#039;object&#039; || !elem.nodeType ) {&lt;br /&gt;
    return;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  var style = getStyle( elem );&lt;br /&gt;
&lt;br /&gt;
  // if hidden, everything is 0&lt;br /&gt;
  if ( style.display == &#039;none&#039; ) {&lt;br /&gt;
    return getZeroSize();&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  var size = {};&lt;br /&gt;
  size.width = elem.offsetWidth;&lt;br /&gt;
  size.height = elem.offsetHeight;&lt;br /&gt;
&lt;br /&gt;
  var isBorderBox = size.isBorderBox = style.boxSizing == &#039;border-box&#039;;&lt;br /&gt;
&lt;br /&gt;
  // get all measurements&lt;br /&gt;
  for ( var i=0; i &amp;lt; measurementsLength; i++ ) {&lt;br /&gt;
    var measurement = measurements[i];&lt;br /&gt;
    var value = style[ measurement ];&lt;br /&gt;
    var num = parseFloat( value );&lt;br /&gt;
    // any &#039;auto&#039;, &#039;medium&#039; value will be 0&lt;br /&gt;
    size[ measurement ] = !isNaN( num ) ? num : 0;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  var paddingWidth = size.paddingLeft + size.paddingRight;&lt;br /&gt;
  var paddingHeight = size.paddingTop + size.paddingBottom;&lt;br /&gt;
  var marginWidth = size.marginLeft + size.marginRight;&lt;br /&gt;
  var marginHeight = size.marginTop + size.marginBottom;&lt;br /&gt;
  var borderWidth = size.borderLeftWidth + size.borderRightWidth;&lt;br /&gt;
  var borderHeight = size.borderTopWidth + size.borderBottomWidth;&lt;br /&gt;
&lt;br /&gt;
  var isBorderBoxSizeOuter = isBorderBox &amp;amp;&amp;amp; isBoxSizeOuter;&lt;br /&gt;
&lt;br /&gt;
  // overwrite width and height if we can get it from style&lt;br /&gt;
  var styleWidth = getStyleSize( style.width );&lt;br /&gt;
  if ( styleWidth !== false ) {&lt;br /&gt;
    size.width = styleWidth +&lt;br /&gt;
      // add padding and border unless it&#039;s already including it&lt;br /&gt;
      ( isBorderBoxSizeOuter ? 0 : paddingWidth + borderWidth );&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  var styleHeight = getStyleSize( style.height );&lt;br /&gt;
  if ( styleHeight !== false ) {&lt;br /&gt;
    size.height = styleHeight +&lt;br /&gt;
      // add padding and border unless it&#039;s already including it&lt;br /&gt;
      ( isBorderBoxSizeOuter ? 0 : paddingHeight + borderHeight );&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  size.innerWidth = size.width - ( paddingWidth + borderWidth );&lt;br /&gt;
  size.innerHeight = size.height - ( paddingHeight + borderHeight );&lt;br /&gt;
&lt;br /&gt;
  size.outerWidth = size.width + marginWidth;&lt;br /&gt;
  size.outerHeight = size.height + marginHeight;&lt;br /&gt;
&lt;br /&gt;
  return size;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
return getSize;&lt;br /&gt;
&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * matchesSelector v2.0.1&lt;br /&gt;
 * matchesSelector( element, &#039;.selector&#039; )&lt;br /&gt;
 * MIT license&lt;br /&gt;
 */&lt;br /&gt;
&lt;br /&gt;
/*jshint browser: true, strict: true, undef: true, unused: true */&lt;br /&gt;
&lt;br /&gt;
( function( window, factory ) {&lt;br /&gt;
  /*global define: false, module: false */&lt;br /&gt;
  &#039;use strict&#039;;&lt;br /&gt;
  // universal module definition&lt;br /&gt;
  if ( typeof define == &#039;function&#039; &amp;amp;&amp;amp; define.amd ) {&lt;br /&gt;
    // AMD&lt;br /&gt;
    define( &#039;desandro-matches-selector/matches-selector&#039;,factory );&lt;br /&gt;
  } else if ( typeof module == &#039;object&#039; &amp;amp;&amp;amp; module.exports ) {&lt;br /&gt;
    // CommonJS&lt;br /&gt;
    module.exports = factory();&lt;br /&gt;
  } else {&lt;br /&gt;
    // browser global&lt;br /&gt;
    window.matchesSelector = factory();&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
}( window, function factory() {&lt;br /&gt;
  &#039;use strict&#039;;&lt;br /&gt;
&lt;br /&gt;
  var matchesMethod = ( function() {&lt;br /&gt;
    var ElemProto = Element.prototype;&lt;br /&gt;
    // check for the standard method name first&lt;br /&gt;
    if ( ElemProto.matches ) {&lt;br /&gt;
      return &#039;matches&#039;;&lt;br /&gt;
    }&lt;br /&gt;
    // check un-prefixed&lt;br /&gt;
    if ( ElemProto.matchesSelector ) {&lt;br /&gt;
      return &#039;matchesSelector&#039;;&lt;br /&gt;
    }&lt;br /&gt;
    // check vendor prefixes&lt;br /&gt;
    var prefixes = [ &#039;webkit&#039;, &#039;moz&#039;, &#039;ms&#039;, &#039;o&#039; ];&lt;br /&gt;
&lt;br /&gt;
    for ( var i=0; i &amp;lt; prefixes.length; i++ ) {&lt;br /&gt;
      var prefix = prefixes[i];&lt;br /&gt;
      var method = prefix + &#039;MatchesSelector&#039;;&lt;br /&gt;
      if ( ElemProto[ method ] ) {&lt;br /&gt;
        return method;&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  })();&lt;br /&gt;
&lt;br /&gt;
  return function matchesSelector( elem, selector ) {&lt;br /&gt;
    return elem[ matchesMethod ]( selector );&lt;br /&gt;
  };&lt;br /&gt;
&lt;br /&gt;
}));&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * Fizzy UI utils v2.0.2&lt;br /&gt;
 * MIT license&lt;br /&gt;
 */&lt;br /&gt;
&lt;br /&gt;
/*jshint browser: true, undef: true, unused: true, strict: true */&lt;br /&gt;
&lt;br /&gt;
( function( window, factory ) {&lt;br /&gt;
  // universal module definition&lt;br /&gt;
  /*jshint strict: false */ /*globals define, module, require */&lt;br /&gt;
&lt;br /&gt;
  if ( typeof define == &#039;function&#039; &amp;amp;&amp;amp; define.amd ) {&lt;br /&gt;
    // AMD&lt;br /&gt;
    define( &#039;fizzy-ui-utils/utils&#039;,[&lt;br /&gt;
      &#039;desandro-matches-selector/matches-selector&#039;&lt;br /&gt;
    ], function( matchesSelector ) {&lt;br /&gt;
      return factory( window, matchesSelector );&lt;br /&gt;
    });&lt;br /&gt;
  } else if ( typeof module == &#039;object&#039; &amp;amp;&amp;amp; module.exports ) {&lt;br /&gt;
    // CommonJS&lt;br /&gt;
    module.exports = factory(&lt;br /&gt;
      window,&lt;br /&gt;
      require(&#039;desandro-matches-selector&#039;)&lt;br /&gt;
    );&lt;br /&gt;
  } else {&lt;br /&gt;
    // browser global&lt;br /&gt;
    window.fizzyUIUtils = factory(&lt;br /&gt;
      window,&lt;br /&gt;
      window.matchesSelector&lt;br /&gt;
    );&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
}( window, function factory( window, matchesSelector ) {&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
var utils = {};&lt;br /&gt;
&lt;br /&gt;
// ----- extend ----- //&lt;br /&gt;
&lt;br /&gt;
// extends objects&lt;br /&gt;
utils.extend = function( a, b ) {&lt;br /&gt;
  for ( var prop in b ) {&lt;br /&gt;
    a[ prop ] = b[ prop ];&lt;br /&gt;
  }&lt;br /&gt;
  return a;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// ----- modulo ----- //&lt;br /&gt;
&lt;br /&gt;
utils.modulo = function( num, div ) {&lt;br /&gt;
  return ( ( num % div ) + div ) % div;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// ----- makeArray ----- //&lt;br /&gt;
&lt;br /&gt;
// turn element or nodeList into an array&lt;br /&gt;
utils.makeArray = function( obj ) {&lt;br /&gt;
  var ary = [];&lt;br /&gt;
  if ( Array.isArray( obj ) ) {&lt;br /&gt;
    // use object if already an array&lt;br /&gt;
    ary = obj;&lt;br /&gt;
  } else if ( obj &amp;amp;&amp;amp; typeof obj.length == &#039;number&#039; ) {&lt;br /&gt;
    // convert nodeList to array&lt;br /&gt;
    for ( var i=0; i &amp;lt; obj.length; i++ ) {&lt;br /&gt;
      ary.push( obj[i] );&lt;br /&gt;
    }&lt;br /&gt;
  } else {&lt;br /&gt;
    // array of single index&lt;br /&gt;
    ary.push( obj );&lt;br /&gt;
  }&lt;br /&gt;
  return ary;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// ----- removeFrom ----- //&lt;br /&gt;
&lt;br /&gt;
utils.removeFrom = function( ary, obj ) {&lt;br /&gt;
  var index = ary.indexOf( obj );&lt;br /&gt;
  if ( index != -1 ) {&lt;br /&gt;
    ary.splice( index, 1 );&lt;br /&gt;
  }&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// ----- getParent ----- //&lt;br /&gt;
&lt;br /&gt;
utils.getParent = function( elem, selector ) {&lt;br /&gt;
  while ( elem != document.body ) {&lt;br /&gt;
    elem = elem.parentNode;&lt;br /&gt;
    if ( matchesSelector( elem, selector ) ) {&lt;br /&gt;
      return elem;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// ----- getQueryElement ----- //&lt;br /&gt;
&lt;br /&gt;
// use element as selector string&lt;br /&gt;
utils.getQueryElement = function( elem ) {&lt;br /&gt;
  if ( typeof elem == &#039;string&#039; ) {&lt;br /&gt;
    return document.querySelector( elem );&lt;br /&gt;
  }&lt;br /&gt;
  return elem;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// ----- handleEvent ----- //&lt;br /&gt;
&lt;br /&gt;
// enable .ontype to trigger from .addEventListener( elem, &#039;type&#039; )&lt;br /&gt;
utils.handleEvent = function( event ) {&lt;br /&gt;
  var method = &#039;on&#039; + event.type;&lt;br /&gt;
  if ( this[ method ] ) {&lt;br /&gt;
    this[ method ]( event );&lt;br /&gt;
  }&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// ----- filterFindElements ----- //&lt;br /&gt;
&lt;br /&gt;
utils.filterFindElements = function( elems, selector ) {&lt;br /&gt;
  // make array of elems&lt;br /&gt;
  elems = utils.makeArray( elems );&lt;br /&gt;
  var ffElems = [];&lt;br /&gt;
&lt;br /&gt;
  elems.forEach( function( elem ) {&lt;br /&gt;
    // check that elem is an actual element&lt;br /&gt;
    if ( !( elem instanceof HTMLElement ) ) {&lt;br /&gt;
      return;&lt;br /&gt;
    }&lt;br /&gt;
    // add elem if no selector&lt;br /&gt;
    if ( !selector ) {&lt;br /&gt;
      ffElems.push( elem );&lt;br /&gt;
      return;&lt;br /&gt;
    }&lt;br /&gt;
    // filter &amp;amp; find items if we have a selector&lt;br /&gt;
    // filter&lt;br /&gt;
    if ( matchesSelector( elem, selector ) ) {&lt;br /&gt;
      ffElems.push( elem );&lt;br /&gt;
    }&lt;br /&gt;
    // find children&lt;br /&gt;
    var childElems = elem.querySelectorAll( selector );&lt;br /&gt;
    // concat childElems to filterFound array&lt;br /&gt;
    for ( var i=0; i &amp;lt; childElems.length; i++ ) {&lt;br /&gt;
      ffElems.push( childElems[i] );&lt;br /&gt;
    }&lt;br /&gt;
  });&lt;br /&gt;
&lt;br /&gt;
  return ffElems;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// ----- debounceMethod ----- //&lt;br /&gt;
&lt;br /&gt;
utils.debounceMethod = function( _class, methodName, threshold ) {&lt;br /&gt;
  // original method&lt;br /&gt;
  var method = _class.prototype[ methodName ];&lt;br /&gt;
  var timeoutName = methodName + &#039;Timeout&#039;;&lt;br /&gt;
&lt;br /&gt;
  _class.prototype[ methodName ] = function() {&lt;br /&gt;
    var timeout = this[ timeoutName ];&lt;br /&gt;
    if ( timeout ) {&lt;br /&gt;
      clearTimeout( timeout );&lt;br /&gt;
    }&lt;br /&gt;
    var args = arguments;&lt;br /&gt;
&lt;br /&gt;
    var _this = this;&lt;br /&gt;
    this[ timeoutName ] = setTimeout( function() {&lt;br /&gt;
      method.apply( _this, args );&lt;br /&gt;
      delete _this[ timeoutName ];&lt;br /&gt;
    }, threshold || 100 );&lt;br /&gt;
  };&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// ----- docReady ----- //&lt;br /&gt;
&lt;br /&gt;
utils.docReady = function( callback ) {&lt;br /&gt;
  var readyState = document.readyState;&lt;br /&gt;
  if ( readyState == &#039;complete&#039; || readyState == &#039;interactive&#039; ) {&lt;br /&gt;
    callback();&lt;br /&gt;
  } else {&lt;br /&gt;
    document.addEventListener( &#039;DOMContentLoaded&#039;, callback );&lt;br /&gt;
  }&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// ----- htmlInit ----- //&lt;br /&gt;
&lt;br /&gt;
// http://jamesroberts.name/blog/2010/02/22/string-functions-for-javascript-trim-to-camel-case-to-dashed-and-to-underscore/&lt;br /&gt;
utils.toDashed = function( str ) {&lt;br /&gt;
  return str.replace( /(.)([A-Z])/g, function( match, $1, $2 ) {&lt;br /&gt;
    return $1 + &#039;-&#039; + $2;&lt;br /&gt;
  }).toLowerCase();&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
var console = window.console;&lt;br /&gt;
/**&lt;br /&gt;
 * allow user to initialize classes via [data-namespace] or .js-namespace class&lt;br /&gt;
 * htmlInit( Widget, &#039;widgetName&#039; )&lt;br /&gt;
 * options are parsed from data-namespace-options&lt;br /&gt;
 */&lt;br /&gt;
utils.htmlInit = function( WidgetClass, namespace ) {&lt;br /&gt;
  utils.docReady( function() {&lt;br /&gt;
    var dashedNamespace = utils.toDashed( namespace );&lt;br /&gt;
    var dataAttr = &#039;data-&#039; + dashedNamespace;&lt;br /&gt;
    var dataAttrElems = document.querySelectorAll( &#039;[&#039; + dataAttr + &#039;]&#039; );&lt;br /&gt;
    var jsDashElems = document.querySelectorAll( &#039;.js-&#039; + dashedNamespace );&lt;br /&gt;
    var elems = utils.makeArray( dataAttrElems )&lt;br /&gt;
      .concat( utils.makeArray( jsDashElems ) );&lt;br /&gt;
    var dataOptionsAttr = dataAttr + &#039;-options&#039;;&lt;br /&gt;
    var jQuery = window.jQuery;&lt;br /&gt;
&lt;br /&gt;
    elems.forEach( function( elem ) {&lt;br /&gt;
      var attr = elem.getAttribute( dataAttr ) ||&lt;br /&gt;
        elem.getAttribute( dataOptionsAttr );&lt;br /&gt;
      var options;&lt;br /&gt;
      try {&lt;br /&gt;
        options = attr &amp;amp;&amp;amp; JSON.parse( attr );&lt;br /&gt;
      } catch ( error ) {&lt;br /&gt;
        // log error, do not initialize&lt;br /&gt;
        if ( console ) {&lt;br /&gt;
          console.error( &#039;Error parsing &#039; + dataAttr + &#039; on &#039; + elem.className +&lt;br /&gt;
          &#039;: &#039; + error );&lt;br /&gt;
        }&lt;br /&gt;
        return;&lt;br /&gt;
      }&lt;br /&gt;
      // initialize&lt;br /&gt;
      var instance = new WidgetClass( elem, options );&lt;br /&gt;
      // make available via $().data(&#039;layoutname&#039;)&lt;br /&gt;
      if ( jQuery ) {&lt;br /&gt;
        jQuery.data( elem, namespace, instance );&lt;br /&gt;
      }&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
  });&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// -----  ----- //&lt;br /&gt;
&lt;br /&gt;
return utils;&lt;br /&gt;
&lt;br /&gt;
}));&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * Outlayer Item&lt;br /&gt;
 */&lt;br /&gt;
&lt;br /&gt;
( function( window, factory ) {&lt;br /&gt;
  // universal module definition&lt;br /&gt;
  /* jshint strict: false */ /* globals define, module, require */&lt;br /&gt;
  if ( typeof define == &#039;function&#039; &amp;amp;&amp;amp; define.amd ) {&lt;br /&gt;
    // AMD - RequireJS&lt;br /&gt;
    define( &#039;outlayer/item&#039;,[&lt;br /&gt;
        &#039;ev-emitter/ev-emitter&#039;,&lt;br /&gt;
        &#039;get-size/get-size&#039;&lt;br /&gt;
      ],&lt;br /&gt;
      factory&lt;br /&gt;
    );&lt;br /&gt;
  } else if ( typeof module == &#039;object&#039; &amp;amp;&amp;amp; module.exports ) {&lt;br /&gt;
    // CommonJS - Browserify, Webpack&lt;br /&gt;
    module.exports = factory(&lt;br /&gt;
      require(&#039;ev-emitter&#039;),&lt;br /&gt;
      require(&#039;get-size&#039;)&lt;br /&gt;
    );&lt;br /&gt;
  } else {&lt;br /&gt;
    // browser global&lt;br /&gt;
    window.Outlayer = {};&lt;br /&gt;
    window.Outlayer.Item = factory(&lt;br /&gt;
      window.EvEmitter,&lt;br /&gt;
      window.getSize&lt;br /&gt;
    );&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
}( window, function factory( EvEmitter, getSize ) {&lt;br /&gt;
&#039;use strict&#039;;&lt;br /&gt;
&lt;br /&gt;
// ----- helpers ----- //&lt;br /&gt;
&lt;br /&gt;
function isEmptyObj( obj ) {&lt;br /&gt;
  for ( var prop in obj ) {&lt;br /&gt;
    return false;&lt;br /&gt;
  }&lt;br /&gt;
  prop = null;&lt;br /&gt;
  return true;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// -------------------------- CSS3 support -------------------------- //&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
var docElemStyle = document.documentElement.style;&lt;br /&gt;
&lt;br /&gt;
var transitionProperty = typeof docElemStyle.transition == &#039;string&#039; ?&lt;br /&gt;
  &#039;transition&#039; : &#039;WebkitTransition&#039;;&lt;br /&gt;
var transformProperty = typeof docElemStyle.transform == &#039;string&#039; ?&lt;br /&gt;
  &#039;transform&#039; : &#039;WebkitTransform&#039;;&lt;br /&gt;
&lt;br /&gt;
var transitionEndEvent = {&lt;br /&gt;
  WebkitTransition: &#039;webkitTransitionEnd&#039;,&lt;br /&gt;
  transition: &#039;transitionend&#039;&lt;br /&gt;
}[ transitionProperty ];&lt;br /&gt;
&lt;br /&gt;
// cache all vendor properties that could have vendor prefix&lt;br /&gt;
var vendorProperties = {&lt;br /&gt;
  transform: transformProperty,&lt;br /&gt;
  transition: transitionProperty,&lt;br /&gt;
  transitionDuration: transitionProperty + &#039;Duration&#039;,&lt;br /&gt;
  transitionProperty: transitionProperty + &#039;Property&#039;,&lt;br /&gt;
  transitionDelay: transitionProperty + &#039;Delay&#039;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// -------------------------- Item -------------------------- //&lt;br /&gt;
&lt;br /&gt;
function Item( element, layout ) {&lt;br /&gt;
  if ( !element ) {&lt;br /&gt;
    return;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  this.element = element;&lt;br /&gt;
  // parent layout class, i.e. Masonry, Isotope, or Packery&lt;br /&gt;
  this.layout = layout;&lt;br /&gt;
  this.position = {&lt;br /&gt;
    x: 0,&lt;br /&gt;
    y: 0&lt;br /&gt;
  };&lt;br /&gt;
&lt;br /&gt;
  this._create();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// inherit EvEmitter&lt;br /&gt;
var proto = Item.prototype = Object.create( EvEmitter.prototype );&lt;br /&gt;
proto.constructor = Item;&lt;br /&gt;
&lt;br /&gt;
proto._create = function() {&lt;br /&gt;
  // transition objects&lt;br /&gt;
  this._transn = {&lt;br /&gt;
    ingProperties: {},&lt;br /&gt;
    clean: {},&lt;br /&gt;
    onEnd: {}&lt;br /&gt;
  };&lt;br /&gt;
&lt;br /&gt;
  this.css({&lt;br /&gt;
    position: &#039;absolute&#039;&lt;br /&gt;
  });&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// trigger specified handler for event type&lt;br /&gt;
proto.handleEvent = function( event ) {&lt;br /&gt;
  var method = &#039;on&#039; + event.type;&lt;br /&gt;
  if ( this[ method ] ) {&lt;br /&gt;
    this[ method ]( event );&lt;br /&gt;
  }&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
proto.getSize = function() {&lt;br /&gt;
  this.size = getSize( this.element );&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * apply CSS styles to element&lt;br /&gt;
 * @param {Object} style&lt;br /&gt;
 */&lt;br /&gt;
proto.css = function( style ) {&lt;br /&gt;
  var elemStyle = this.element.style;&lt;br /&gt;
&lt;br /&gt;
  for ( var prop in style ) {&lt;br /&gt;
    // use vendor property if available&lt;br /&gt;
    var supportedProp = vendorProperties[ prop ] || prop;&lt;br /&gt;
    elemStyle[ supportedProp ] = style[ prop ];&lt;br /&gt;
  }&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
 // measure position, and sets it&lt;br /&gt;
proto.getPosition = function() {&lt;br /&gt;
  var style = getComputedStyle( this.element );&lt;br /&gt;
  var isOriginLeft = this.layout._getOption(&#039;originLeft&#039;);&lt;br /&gt;
  var isOriginTop = this.layout._getOption(&#039;originTop&#039;);&lt;br /&gt;
  var xValue = style[ isOriginLeft ? &#039;left&#039; : &#039;right&#039; ];&lt;br /&gt;
  var yValue = style[ isOriginTop ? &#039;top&#039; : &#039;bottom&#039; ];&lt;br /&gt;
  // convert percent to pixels&lt;br /&gt;
  var layoutSize = this.layout.size;&lt;br /&gt;
  var x = xValue.indexOf(&#039;%&#039;) != -1 ?&lt;br /&gt;
    ( parseFloat( xValue ) / 100 ) * layoutSize.width : parseInt( xValue, 10 );&lt;br /&gt;
  var y = yValue.indexOf(&#039;%&#039;) != -1 ?&lt;br /&gt;
    ( parseFloat( yValue ) / 100 ) * layoutSize.height : parseInt( yValue, 10 );&lt;br /&gt;
&lt;br /&gt;
  // clean up &#039;auto&#039; or other non-integer values&lt;br /&gt;
  x = isNaN( x ) ? 0 : x;&lt;br /&gt;
  y = isNaN( y ) ? 0 : y;&lt;br /&gt;
  // remove padding from measurement&lt;br /&gt;
  x -= isOriginLeft ? layoutSize.paddingLeft : layoutSize.paddingRight;&lt;br /&gt;
  y -= isOriginTop ? layoutSize.paddingTop : layoutSize.paddingBottom;&lt;br /&gt;
&lt;br /&gt;
  this.position.x = x;&lt;br /&gt;
  this.position.y = y;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// set settled position, apply padding&lt;br /&gt;
proto.layoutPosition = function() {&lt;br /&gt;
  var layoutSize = this.layout.size;&lt;br /&gt;
  var style = {};&lt;br /&gt;
  var isOriginLeft = this.layout._getOption(&#039;originLeft&#039;);&lt;br /&gt;
  var isOriginTop = this.layout._getOption(&#039;originTop&#039;);&lt;br /&gt;
&lt;br /&gt;
  // x&lt;br /&gt;
  var xPadding = isOriginLeft ? &#039;paddingLeft&#039; : &#039;paddingRight&#039;;&lt;br /&gt;
  var xProperty = isOriginLeft ? &#039;left&#039; : &#039;right&#039;;&lt;br /&gt;
  var xResetProperty = isOriginLeft ? &#039;right&#039; : &#039;left&#039;;&lt;br /&gt;
&lt;br /&gt;
  var x = this.position.x + layoutSize[ xPadding ];&lt;br /&gt;
  // set in percentage or pixels&lt;br /&gt;
  style[ xProperty ] = this.getXValue( x );&lt;br /&gt;
  // reset other property&lt;br /&gt;
  style[ xResetProperty ] = &#039;&#039;;&lt;br /&gt;
&lt;br /&gt;
  // y&lt;br /&gt;
  var yPadding = isOriginTop ? &#039;paddingTop&#039; : &#039;paddingBottom&#039;;&lt;br /&gt;
  var yProperty = isOriginTop ? &#039;top&#039; : &#039;bottom&#039;;&lt;br /&gt;
  var yResetProperty = isOriginTop ? &#039;bottom&#039; : &#039;top&#039;;&lt;br /&gt;
&lt;br /&gt;
  var y = this.position.y + layoutSize[ yPadding ];&lt;br /&gt;
  // set in percentage or pixels&lt;br /&gt;
  style[ yProperty ] = this.getYValue( y );&lt;br /&gt;
  // reset other property&lt;br /&gt;
  style[ yResetProperty ] = &#039;&#039;;&lt;br /&gt;
&lt;br /&gt;
  this.css( style );&lt;br /&gt;
  this.emitEvent( &#039;layout&#039;, [ this ] );&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
proto.getXValue = function( x ) {&lt;br /&gt;
  var isHorizontal = this.layout._getOption(&#039;horizontal&#039;);&lt;br /&gt;
  return this.layout.options.percentPosition &amp;amp;&amp;amp; !isHorizontal ?&lt;br /&gt;
    ( ( x / this.layout.size.width ) * 100 ) + &#039;%&#039; : x + &#039;px&#039;;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
proto.getYValue = function( y ) {&lt;br /&gt;
  var isHorizontal = this.layout._getOption(&#039;horizontal&#039;);&lt;br /&gt;
  return this.layout.options.percentPosition &amp;amp;&amp;amp; isHorizontal ?&lt;br /&gt;
    ( ( y / this.layout.size.height ) * 100 ) + &#039;%&#039; : y + &#039;px&#039;;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
proto._transitionTo = function( x, y ) {&lt;br /&gt;
  this.getPosition();&lt;br /&gt;
  // get current x &amp;amp; y from top/left&lt;br /&gt;
  var curX = this.position.x;&lt;br /&gt;
  var curY = this.position.y;&lt;br /&gt;
&lt;br /&gt;
  var compareX = parseInt( x, 10 );&lt;br /&gt;
  var compareY = parseInt( y, 10 );&lt;br /&gt;
  var didNotMove = compareX === this.position.x &amp;amp;&amp;amp; compareY === this.position.y;&lt;br /&gt;
&lt;br /&gt;
  // save end position&lt;br /&gt;
  this.setPosition( x, y );&lt;br /&gt;
&lt;br /&gt;
  // if did not move and not transitioning, just go to layout&lt;br /&gt;
  if ( didNotMove &amp;amp;&amp;amp; !this.isTransitioning ) {&lt;br /&gt;
    this.layoutPosition();&lt;br /&gt;
    return;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  var transX = x - curX;&lt;br /&gt;
  var transY = y - curY;&lt;br /&gt;
  var transitionStyle = {};&lt;br /&gt;
  transitionStyle.transform = this.getTranslate( transX, transY );&lt;br /&gt;
&lt;br /&gt;
  this.transition({&lt;br /&gt;
    to: transitionStyle,&lt;br /&gt;
    onTransitionEnd: {&lt;br /&gt;
      transform: this.layoutPosition&lt;br /&gt;
    },&lt;br /&gt;
    isCleaning: true&lt;br /&gt;
  });&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
proto.getTranslate = function( x, y ) {&lt;br /&gt;
  // flip cooridinates if origin on right or bottom&lt;br /&gt;
  var isOriginLeft = this.layout._getOption(&#039;originLeft&#039;);&lt;br /&gt;
  var isOriginTop = this.layout._getOption(&#039;originTop&#039;);&lt;br /&gt;
  x = isOriginLeft ? x : -x;&lt;br /&gt;
  y = isOriginTop ? y : -y;&lt;br /&gt;
  return &#039;translate3d(&#039; + x + &#039;px, &#039; + y + &#039;px, 0)&#039;;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// non transition + transform support&lt;br /&gt;
proto.goTo = function( x, y ) {&lt;br /&gt;
  this.setPosition( x, y );&lt;br /&gt;
  this.layoutPosition();&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
proto.moveTo = proto._transitionTo;&lt;br /&gt;
&lt;br /&gt;
proto.setPosition = function( x, y ) {&lt;br /&gt;
  this.position.x = parseInt( x, 10 );&lt;br /&gt;
  this.position.y = parseInt( y, 10 );&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// ----- transition ----- //&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * @param {Object} style - CSS&lt;br /&gt;
 * @param {Function} onTransitionEnd&lt;br /&gt;
 */&lt;br /&gt;
&lt;br /&gt;
// non transition, just trigger callback&lt;br /&gt;
proto._nonTransition = function( args ) {&lt;br /&gt;
  this.css( args.to );&lt;br /&gt;
  if ( args.isCleaning ) {&lt;br /&gt;
    this._removeStyles( args.to );&lt;br /&gt;
  }&lt;br /&gt;
  for ( var prop in args.onTransitionEnd ) {&lt;br /&gt;
    args.onTransitionEnd[ prop ].call( this );&lt;br /&gt;
  }&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * proper transition&lt;br /&gt;
 * @param {Object} args - arguments&lt;br /&gt;
 *   @param {Object} to - style to transition to&lt;br /&gt;
 *   @param {Object} from - style to start transition from&lt;br /&gt;
 *   @param {Boolean} isCleaning - removes transition styles after transition&lt;br /&gt;
 *   @param {Function} onTransitionEnd - callback&lt;br /&gt;
 */&lt;br /&gt;
proto.transition = function( args ) {&lt;br /&gt;
  // redirect to nonTransition if no transition duration&lt;br /&gt;
  if ( !parseFloat( this.layout.options.transitionDuration ) ) {&lt;br /&gt;
    this._nonTransition( args );&lt;br /&gt;
    return;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  var _transition = this._transn;&lt;br /&gt;
  // keep track of onTransitionEnd callback by css property&lt;br /&gt;
  for ( var prop in args.onTransitionEnd ) {&lt;br /&gt;
    _transition.onEnd[ prop ] = args.onTransitionEnd[ prop ];&lt;br /&gt;
  }&lt;br /&gt;
  // keep track of properties that are transitioning&lt;br /&gt;
  for ( prop in args.to ) {&lt;br /&gt;
    _transition.ingProperties[ prop ] = true;&lt;br /&gt;
    // keep track of properties to clean up when transition is done&lt;br /&gt;
    if ( args.isCleaning ) {&lt;br /&gt;
      _transition.clean[ prop ] = true;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  // set from styles&lt;br /&gt;
  if ( args.from ) {&lt;br /&gt;
    this.css( args.from );&lt;br /&gt;
    // force redraw. http://blog.alexmaccaw.com/css-transitions&lt;br /&gt;
    var h = this.element.offsetHeight;&lt;br /&gt;
    // hack for JSHint to hush about unused var&lt;br /&gt;
    h = null;&lt;br /&gt;
  }&lt;br /&gt;
  // enable transition&lt;br /&gt;
  this.enableTransition( args.to );&lt;br /&gt;
  // set styles that are transitioning&lt;br /&gt;
  this.css( args.to );&lt;br /&gt;
&lt;br /&gt;
  this.isTransitioning = true;&lt;br /&gt;
&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// dash before all cap letters, including first for&lt;br /&gt;
// WebkitTransform =&amp;gt; -webkit-transform&lt;br /&gt;
function toDashedAll( str ) {&lt;br /&gt;
  return str.replace( /([A-Z])/g, function( $1 ) {&lt;br /&gt;
    return &#039;-&#039; + $1.toLowerCase();&lt;br /&gt;
  });&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
var transitionProps = &#039;opacity,&#039; + toDashedAll( transformProperty );&lt;br /&gt;
&lt;br /&gt;
proto.enableTransition = function(/* style */) {&lt;br /&gt;
  // HACK changing transitionProperty during a transition&lt;br /&gt;
  // will cause transition to jump&lt;br /&gt;
  if ( this.isTransitioning ) {&lt;br /&gt;
    return;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  // make `transition: foo, bar, baz` from style object&lt;br /&gt;
  // HACK un-comment this when enableTransition can work&lt;br /&gt;
  // while a transition is happening&lt;br /&gt;
  // var transitionValues = [];&lt;br /&gt;
  // for ( var prop in style ) {&lt;br /&gt;
  //   // dash-ify camelCased properties like WebkitTransition&lt;br /&gt;
  //   prop = vendorProperties[ prop ] || prop;&lt;br /&gt;
  //   transitionValues.push( toDashedAll( prop ) );&lt;br /&gt;
  // }&lt;br /&gt;
  // munge number to millisecond, to match stagger&lt;br /&gt;
  var duration = this.layout.options.transitionDuration;&lt;br /&gt;
  duration = typeof duration == &#039;number&#039; ? duration + &#039;ms&#039; : duration;&lt;br /&gt;
  // enable transition styles&lt;br /&gt;
  this.css({&lt;br /&gt;
    transitionProperty: transitionProps,&lt;br /&gt;
    transitionDuration: duration,&lt;br /&gt;
    transitionDelay: this.staggerDelay || 0&lt;br /&gt;
  });&lt;br /&gt;
  // listen for transition end event&lt;br /&gt;
  this.element.addEventListener( transitionEndEvent, this, false );&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// ----- events ----- //&lt;br /&gt;
&lt;br /&gt;
proto.onwebkitTransitionEnd = function( event ) {&lt;br /&gt;
  this.ontransitionend( event );&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
proto.onotransitionend = function( event ) {&lt;br /&gt;
  this.ontransitionend( event );&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// properties that I munge to make my life easier&lt;br /&gt;
var dashedVendorProperties = {&lt;br /&gt;
  &#039;-webkit-transform&#039;: &#039;transform&#039;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
proto.ontransitionend = function( event ) {&lt;br /&gt;
  // disregard bubbled events from children&lt;br /&gt;
  if ( event.target !== this.element ) {&lt;br /&gt;
    return;&lt;br /&gt;
  }&lt;br /&gt;
  var _transition = this._transn;&lt;br /&gt;
  // get property name of transitioned property, convert to prefix-free&lt;br /&gt;
  var propertyName = dashedVendorProperties[ event.propertyName ] || event.propertyName;&lt;br /&gt;
&lt;br /&gt;
  // remove property that has completed transitioning&lt;br /&gt;
  delete _transition.ingProperties[ propertyName ];&lt;br /&gt;
  // check if any properties are still transitioning&lt;br /&gt;
  if ( isEmptyObj( _transition.ingProperties ) ) {&lt;br /&gt;
    // all properties have completed transitioning&lt;br /&gt;
    this.disableTransition();&lt;br /&gt;
  }&lt;br /&gt;
  // clean style&lt;br /&gt;
  if ( propertyName in _transition.clean ) {&lt;br /&gt;
    // clean up style&lt;br /&gt;
    this.element.style[ event.propertyName ] = &#039;&#039;;&lt;br /&gt;
    delete _transition.clean[ propertyName ];&lt;br /&gt;
  }&lt;br /&gt;
  // trigger onTransitionEnd callback&lt;br /&gt;
  if ( propertyName in _transition.onEnd ) {&lt;br /&gt;
    var onTransitionEnd = _transition.onEnd[ propertyName ];&lt;br /&gt;
    onTransitionEnd.call( this );&lt;br /&gt;
    delete _transition.onEnd[ propertyName ];&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  this.emitEvent( &#039;transitionEnd&#039;, [ this ] );&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
proto.disableTransition = function() {&lt;br /&gt;
  this.removeTransitionStyles();&lt;br /&gt;
  this.element.removeEventListener( transitionEndEvent, this, false );&lt;br /&gt;
  this.isTransitioning = false;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * removes style property from element&lt;br /&gt;
 * @param {Object} style&lt;br /&gt;
**/&lt;br /&gt;
proto._removeStyles = function( style ) {&lt;br /&gt;
  // clean up transition styles&lt;br /&gt;
  var cleanStyle = {};&lt;br /&gt;
  for ( var prop in style ) {&lt;br /&gt;
    cleanStyle[ prop ] = &#039;&#039;;&lt;br /&gt;
  }&lt;br /&gt;
  this.css( cleanStyle );&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
var cleanTransitionStyle = {&lt;br /&gt;
  transitionProperty: &#039;&#039;,&lt;br /&gt;
  transitionDuration: &#039;&#039;,&lt;br /&gt;
  transitionDelay: &#039;&#039;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
proto.removeTransitionStyles = function() {&lt;br /&gt;
  // remove transition&lt;br /&gt;
  this.css( cleanTransitionStyle );&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// ----- stagger ----- //&lt;br /&gt;
&lt;br /&gt;
proto.stagger = function( delay ) {&lt;br /&gt;
  delay = isNaN( delay ) ? 0 : delay;&lt;br /&gt;
  this.staggerDelay = delay + &#039;ms&#039;;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// ----- show/hide/remove ----- //&lt;br /&gt;
&lt;br /&gt;
// remove element from DOM&lt;br /&gt;
proto.removeElem = function() {&lt;br /&gt;
  this.element.parentNode.removeChild( this.element );&lt;br /&gt;
  // remove display: none&lt;br /&gt;
  this.css({ display: &#039;&#039; });&lt;br /&gt;
  this.emitEvent( &#039;remove&#039;, [ this ] );&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
proto.remove = function() {&lt;br /&gt;
  // just remove element if no transition support or no transition&lt;br /&gt;
  if ( !transitionProperty || !parseFloat( this.layout.options.transitionDuration ) ) {&lt;br /&gt;
    this.removeElem();&lt;br /&gt;
    return;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  // start transition&lt;br /&gt;
  this.once( &#039;transitionEnd&#039;, function() {&lt;br /&gt;
    this.removeElem();&lt;br /&gt;
  });&lt;br /&gt;
  this.hide();&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
proto.reveal = function() {&lt;br /&gt;
  delete this.isHidden;&lt;br /&gt;
  // remove display: none&lt;br /&gt;
  this.css({ display: &#039;&#039; });&lt;br /&gt;
&lt;br /&gt;
  var options = this.layout.options;&lt;br /&gt;
&lt;br /&gt;
  var onTransitionEnd = {};&lt;br /&gt;
  var transitionEndProperty = this.getHideRevealTransitionEndProperty(&#039;visibleStyle&#039;);&lt;br /&gt;
  onTransitionEnd[ transitionEndProperty ] = this.onRevealTransitionEnd;&lt;br /&gt;
&lt;br /&gt;
  this.transition({&lt;br /&gt;
    from: options.hiddenStyle,&lt;br /&gt;
    to: options.visibleStyle,&lt;br /&gt;
    isCleaning: true,&lt;br /&gt;
    onTransitionEnd: onTransitionEnd&lt;br /&gt;
  });&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
proto.onRevealTransitionEnd = function() {&lt;br /&gt;
  // check if still visible&lt;br /&gt;
  // during transition, item may have been hidden&lt;br /&gt;
  if ( !this.isHidden ) {&lt;br /&gt;
    this.emitEvent(&#039;reveal&#039;);&lt;br /&gt;
  }&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * get style property use for hide/reveal transition end&lt;br /&gt;
 * @param {String} styleProperty - hiddenStyle/visibleStyle&lt;br /&gt;
 * @returns {String}&lt;br /&gt;
 */&lt;br /&gt;
proto.getHideRevealTransitionEndProperty = function( styleProperty ) {&lt;br /&gt;
  var optionStyle = this.layout.options[ styleProperty ];&lt;br /&gt;
  // use opacity&lt;br /&gt;
  if ( optionStyle.opacity ) {&lt;br /&gt;
    return &#039;opacity&#039;;&lt;br /&gt;
  }&lt;br /&gt;
  // get first property&lt;br /&gt;
  for ( var prop in optionStyle ) {&lt;br /&gt;
    return prop;&lt;br /&gt;
  }&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
proto.hide = function() {&lt;br /&gt;
  // set flag&lt;br /&gt;
  this.isHidden = true;&lt;br /&gt;
  // remove display: none&lt;br /&gt;
  this.css({ display: &#039;&#039; });&lt;br /&gt;
&lt;br /&gt;
  var options = this.layout.options;&lt;br /&gt;
&lt;br /&gt;
  var onTransitionEnd = {};&lt;br /&gt;
  var transitionEndProperty = this.getHideRevealTransitionEndProperty(&#039;hiddenStyle&#039;);&lt;br /&gt;
  onTransitionEnd[ transitionEndProperty ] = this.onHideTransitionEnd;&lt;br /&gt;
&lt;br /&gt;
  this.transition({&lt;br /&gt;
    from: options.visibleStyle,&lt;br /&gt;
    to: options.hiddenStyle,&lt;br /&gt;
    // keep hidden stuff hidden&lt;br /&gt;
    isCleaning: true,&lt;br /&gt;
    onTransitionEnd: onTransitionEnd&lt;br /&gt;
  });&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
proto.onHideTransitionEnd = function() {&lt;br /&gt;
  // check if still hidden&lt;br /&gt;
  // during transition, item may have been un-hidden&lt;br /&gt;
  if ( this.isHidden ) {&lt;br /&gt;
    this.css({ display: &#039;none&#039; });&lt;br /&gt;
    this.emitEvent(&#039;hide&#039;);&lt;br /&gt;
  }&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
proto.destroy = function() {&lt;br /&gt;
  this.css({&lt;br /&gt;
    position: &#039;&#039;,&lt;br /&gt;
    left: &#039;&#039;,&lt;br /&gt;
    right: &#039;&#039;,&lt;br /&gt;
    top: &#039;&#039;,&lt;br /&gt;
    bottom: &#039;&#039;,&lt;br /&gt;
    transition: &#039;&#039;,&lt;br /&gt;
    transform: &#039;&#039;&lt;br /&gt;
  });&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
return Item;&lt;br /&gt;
&lt;br /&gt;
}));&lt;br /&gt;
&lt;br /&gt;
/*!&lt;br /&gt;
 * Outlayer v2.1.0&lt;br /&gt;
 * the brains and guts of a layout library&lt;br /&gt;
 * MIT license&lt;br /&gt;
 */&lt;br /&gt;
&lt;br /&gt;
( function( window, factory ) {&lt;br /&gt;
  &#039;use strict&#039;;&lt;br /&gt;
  // universal module definition&lt;br /&gt;
  /* jshint strict: false */ /* globals define, module, require */&lt;br /&gt;
  if ( typeof define == &#039;function&#039; &amp;amp;&amp;amp; define.amd ) {&lt;br /&gt;
    // AMD - RequireJS&lt;br /&gt;
    define( &#039;outlayer/outlayer&#039;,[&lt;br /&gt;
        &#039;ev-emitter/ev-emitter&#039;,&lt;br /&gt;
        &#039;get-size/get-size&#039;,&lt;br /&gt;
        &#039;fizzy-ui-utils/utils&#039;,&lt;br /&gt;
        &#039;./item&#039;&lt;br /&gt;
      ],&lt;br /&gt;
      function( EvEmitter, getSize, utils, Item ) {&lt;br /&gt;
        return factory( window, EvEmitter, getSize, utils, Item);&lt;br /&gt;
      }&lt;br /&gt;
    );&lt;br /&gt;
  } else if ( typeof module == &#039;object&#039; &amp;amp;&amp;amp; module.exports ) {&lt;br /&gt;
    // CommonJS - Browserify, Webpack&lt;br /&gt;
    module.exports = factory(&lt;br /&gt;
      window,&lt;br /&gt;
      require(&#039;ev-emitter&#039;),&lt;br /&gt;
      require(&#039;get-size&#039;),&lt;br /&gt;
      require(&#039;fizzy-ui-utils&#039;),&lt;br /&gt;
      require(&#039;./item&#039;)&lt;br /&gt;
    );&lt;br /&gt;
  } else {&lt;br /&gt;
    // browser global&lt;br /&gt;
    window.Outlayer = factory(&lt;br /&gt;
      window,&lt;br /&gt;
      window.EvEmitter,&lt;br /&gt;
      window.getSize,&lt;br /&gt;
      window.fizzyUIUtils,&lt;br /&gt;
      window.Outlayer.Item&lt;br /&gt;
    );&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
}( window, function factory( window, EvEmitter, getSize, utils, Item ) {&lt;br /&gt;
&#039;use strict&#039;;&lt;br /&gt;
&lt;br /&gt;
// ----- vars ----- //&lt;br /&gt;
&lt;br /&gt;
var console = window.console;&lt;br /&gt;
var jQuery = window.jQuery;&lt;br /&gt;
var noop = function() {};&lt;br /&gt;
&lt;br /&gt;
// -------------------------- Outlayer -------------------------- //&lt;br /&gt;
&lt;br /&gt;
// globally unique identifiers&lt;br /&gt;
var GUID = 0;&lt;br /&gt;
// internal store of all Outlayer intances&lt;br /&gt;
var instances = {};&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * @param {Element, String} element&lt;br /&gt;
 * @param {Object} options&lt;br /&gt;
 * @constructor&lt;br /&gt;
 */&lt;br /&gt;
function Outlayer( element, options ) {&lt;br /&gt;
  var queryElement = utils.getQueryElement( element );&lt;br /&gt;
  if ( !queryElement ) {&lt;br /&gt;
    if ( console ) {&lt;br /&gt;
      console.error( &#039;Bad element for &#039; + this.constructor.namespace +&lt;br /&gt;
        &#039;: &#039; + ( queryElement || element ) );&lt;br /&gt;
    }&lt;br /&gt;
    return;&lt;br /&gt;
  }&lt;br /&gt;
  this.element = queryElement;&lt;br /&gt;
  // add jQuery&lt;br /&gt;
  if ( jQuery ) {&lt;br /&gt;
    this.$element = jQuery( this.element );&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  // options&lt;br /&gt;
  this.options = utils.extend( {}, this.constructor.defaults );&lt;br /&gt;
  this.option( options );&lt;br /&gt;
&lt;br /&gt;
  // add id for Outlayer.getFromElement&lt;br /&gt;
  var id = ++GUID;&lt;br /&gt;
  this.element.outlayerGUID = id; // expando&lt;br /&gt;
  instances[ id ] = this; // associate via id&lt;br /&gt;
&lt;br /&gt;
  // kick it off&lt;br /&gt;
  this._create();&lt;br /&gt;
&lt;br /&gt;
  var isInitLayout = this._getOption(&#039;initLayout&#039;);&lt;br /&gt;
  if ( isInitLayout ) {&lt;br /&gt;
    this.layout();&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// settings are for internal use only&lt;br /&gt;
Outlayer.namespace = &#039;outlayer&#039;;&lt;br /&gt;
Outlayer.Item = Item;&lt;br /&gt;
&lt;br /&gt;
// default options&lt;br /&gt;
Outlayer.defaults = {&lt;br /&gt;
  containerStyle: {&lt;br /&gt;
    position: &#039;relative&#039;&lt;br /&gt;
  },&lt;br /&gt;
  initLayout: true,&lt;br /&gt;
  originLeft: true,&lt;br /&gt;
  originTop: true,&lt;br /&gt;
  resize: true,&lt;br /&gt;
  resizeContainer: true,&lt;br /&gt;
  // item options&lt;br /&gt;
  transitionDuration: &#039;0.4s&#039;,&lt;br /&gt;
  hiddenStyle: {&lt;br /&gt;
    opacity: 0,&lt;br /&gt;
    transform: &#039;scale(0.001)&#039;&lt;br /&gt;
  },&lt;br /&gt;
  visibleStyle: {&lt;br /&gt;
    opacity: 1,&lt;br /&gt;
    transform: &#039;scale(1)&#039;&lt;br /&gt;
  }&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
var proto = Outlayer.prototype;&lt;br /&gt;
// inherit EvEmitter&lt;br /&gt;
utils.extend( proto, EvEmitter.prototype );&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * set options&lt;br /&gt;
 * @param {Object} opts&lt;br /&gt;
 */&lt;br /&gt;
proto.option = function( opts ) {&lt;br /&gt;
  utils.extend( this.options, opts );&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * get backwards compatible option value, check old name&lt;br /&gt;
 */&lt;br /&gt;
proto._getOption = function( option ) {&lt;br /&gt;
  var oldOption = this.constructor.compatOptions[ option ];&lt;br /&gt;
  return oldOption &amp;amp;&amp;amp; this.options[ oldOption ] !== undefined ?&lt;br /&gt;
    this.options[ oldOption ] : this.options[ option ];&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
Outlayer.compatOptions = {&lt;br /&gt;
  // currentName: oldName&lt;br /&gt;
  initLayout: &#039;isInitLayout&#039;,&lt;br /&gt;
  horizontal: &#039;isHorizontal&#039;,&lt;br /&gt;
  layoutInstant: &#039;isLayoutInstant&#039;,&lt;br /&gt;
  originLeft: &#039;isOriginLeft&#039;,&lt;br /&gt;
  originTop: &#039;isOriginTop&#039;,&lt;br /&gt;
  resize: &#039;isResizeBound&#039;,&lt;br /&gt;
  resizeContainer: &#039;isResizingContainer&#039;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
proto._create = function() {&lt;br /&gt;
  // get items from children&lt;br /&gt;
  this.reloadItems();&lt;br /&gt;
  // elements that affect layout, but are not laid out&lt;br /&gt;
  this.stamps = [];&lt;br /&gt;
  this.stamp( this.options.stamp );&lt;br /&gt;
  // set container style&lt;br /&gt;
  utils.extend( this.element.style, this.options.containerStyle );&lt;br /&gt;
&lt;br /&gt;
  // bind resize method&lt;br /&gt;
  var canBindResize = this._getOption(&#039;resize&#039;);&lt;br /&gt;
  if ( canBindResize ) {&lt;br /&gt;
    this.bindResize();&lt;br /&gt;
  }&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// goes through all children again and gets bricks in proper order&lt;br /&gt;
proto.reloadItems = function() {&lt;br /&gt;
  // collection of item elements&lt;br /&gt;
  this.items = this._itemize( this.element.children );&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * turn elements into Outlayer.Items to be used in layout&lt;br /&gt;
 * @param {Array or NodeList or HTMLElement} elems&lt;br /&gt;
 * @returns {Array} items - collection of new Outlayer Items&lt;br /&gt;
 */&lt;br /&gt;
proto._itemize = function( elems ) {&lt;br /&gt;
&lt;br /&gt;
  var itemElems = this._filterFindItemElements( elems );&lt;br /&gt;
  var Item = this.constructor.Item;&lt;br /&gt;
&lt;br /&gt;
  // create new Outlayer Items for collection&lt;br /&gt;
  var items = [];&lt;br /&gt;
  for ( var i=0; i &amp;lt; itemElems.length; i++ ) {&lt;br /&gt;
    var elem = itemElems[i];&lt;br /&gt;
    var item = new Item( elem, this );&lt;br /&gt;
    items.push( item );&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  return items;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * get item elements to be used in layout&lt;br /&gt;
 * @param {Array or NodeList or HTMLElement} elems&lt;br /&gt;
 * @returns {Array} items - item elements&lt;br /&gt;
 */&lt;br /&gt;
proto._filterFindItemElements = function( elems ) {&lt;br /&gt;
  return utils.filterFindElements( elems, this.options.itemSelector );&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * getter method for getting item elements&lt;br /&gt;
 * @returns {Array} elems - collection of item elements&lt;br /&gt;
 */&lt;br /&gt;
proto.getItemElements = function() {&lt;br /&gt;
  return this.items.map( function( item ) {&lt;br /&gt;
    return item.element;&lt;br /&gt;
  });&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// ----- init &amp;amp; layout ----- //&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * lays out all items&lt;br /&gt;
 */&lt;br /&gt;
proto.layout = function() {&lt;br /&gt;
  this._resetLayout();&lt;br /&gt;
  this._manageStamps();&lt;br /&gt;
&lt;br /&gt;
  // don&#039;t animate first layout&lt;br /&gt;
  var layoutInstant = this._getOption(&#039;layoutInstant&#039;);&lt;br /&gt;
  var isInstant = layoutInstant !== undefined ?&lt;br /&gt;
    layoutInstant : !this._isLayoutInited;&lt;br /&gt;
  this.layoutItems( this.items, isInstant );&lt;br /&gt;
&lt;br /&gt;
  // flag for initalized&lt;br /&gt;
  this._isLayoutInited = true;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// _init is alias for layout&lt;br /&gt;
proto._init = proto.layout;&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * logic before any new layout&lt;br /&gt;
 */&lt;br /&gt;
proto._resetLayout = function() {&lt;br /&gt;
  this.getSize();&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
proto.getSize = function() {&lt;br /&gt;
  this.size = getSize( this.element );&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * get measurement from option, for columnWidth, rowHeight, gutter&lt;br /&gt;
 * if option is String -&amp;gt; get element from selector string, &amp;amp; get size of element&lt;br /&gt;
 * if option is Element -&amp;gt; get size of element&lt;br /&gt;
 * else use option as a number&lt;br /&gt;
 *&lt;br /&gt;
 * @param {String} measurement&lt;br /&gt;
 * @param {String} size - width or height&lt;br /&gt;
 * @private&lt;br /&gt;
 */&lt;br /&gt;
proto._getMeasurement = function( measurement, size ) {&lt;br /&gt;
  var option = this.options[ measurement ];&lt;br /&gt;
  var elem;&lt;br /&gt;
  if ( !option ) {&lt;br /&gt;
    // default to 0&lt;br /&gt;
    this[ measurement ] = 0;&lt;br /&gt;
  } else {&lt;br /&gt;
    // use option as an element&lt;br /&gt;
    if ( typeof option == &#039;string&#039; ) {&lt;br /&gt;
      elem = this.element.querySelector( option );&lt;br /&gt;
    } else if ( option instanceof HTMLElement ) {&lt;br /&gt;
      elem = option;&lt;br /&gt;
    }&lt;br /&gt;
    // use size of element, if element&lt;br /&gt;
    this[ measurement ] = elem ? getSize( elem )[ size ] : option;&lt;br /&gt;
  }&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * layout a collection of item elements&lt;br /&gt;
 * @api public&lt;br /&gt;
 */&lt;br /&gt;
proto.layoutItems = function( items, isInstant ) {&lt;br /&gt;
  items = this._getItemsForLayout( items );&lt;br /&gt;
&lt;br /&gt;
  this._layoutItems( items, isInstant );&lt;br /&gt;
&lt;br /&gt;
  this._postLayout();&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * get the items to be laid out&lt;br /&gt;
 * you may want to skip over some items&lt;br /&gt;
 * @param {Array} items&lt;br /&gt;
 * @returns {Array} items&lt;br /&gt;
 */&lt;br /&gt;
proto._getItemsForLayout = function( items ) {&lt;br /&gt;
  return items.filter( function( item ) {&lt;br /&gt;
    return !item.isIgnored;&lt;br /&gt;
  });&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * layout items&lt;br /&gt;
 * @param {Array} items&lt;br /&gt;
 * @param {Boolean} isInstant&lt;br /&gt;
 */&lt;br /&gt;
proto._layoutItems = function( items, isInstant ) {&lt;br /&gt;
  this._emitCompleteOnItems( &#039;layout&#039;, items );&lt;br /&gt;
&lt;br /&gt;
  if ( !items || !items.length ) {&lt;br /&gt;
    // no items, emit event with empty array&lt;br /&gt;
    return;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  var queue = [];&lt;br /&gt;
&lt;br /&gt;
  items.forEach( function( item ) {&lt;br /&gt;
    // get x/y object from method&lt;br /&gt;
    var position = this._getItemLayoutPosition( item );&lt;br /&gt;
    // enqueue&lt;br /&gt;
    position.item = item;&lt;br /&gt;
    position.isInstant = isInstant || item.isLayoutInstant;&lt;br /&gt;
    queue.push( position );&lt;br /&gt;
  }, this );&lt;br /&gt;
&lt;br /&gt;
  this._processLayoutQueue( queue );&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * get item layout position&lt;br /&gt;
 * @param {Outlayer.Item} item&lt;br /&gt;
 * @returns {Object} x and y position&lt;br /&gt;
 */&lt;br /&gt;
proto._getItemLayoutPosition = function( /* item */ ) {&lt;br /&gt;
  return {&lt;br /&gt;
    x: 0,&lt;br /&gt;
    y: 0&lt;br /&gt;
  };&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * iterate over array and position each item&lt;br /&gt;
 * Reason being - separating this logic prevents &#039;layout invalidation&#039;&lt;br /&gt;
 * thx @paul_irish&lt;br /&gt;
 * @param {Array} queue&lt;br /&gt;
 */&lt;br /&gt;
proto._processLayoutQueue = function( queue ) {&lt;br /&gt;
  this.updateStagger();&lt;br /&gt;
  queue.forEach( function( obj, i ) {&lt;br /&gt;
    this._positionItem( obj.item, obj.x, obj.y, obj.isInstant, i );&lt;br /&gt;
  }, this );&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// set stagger from option in milliseconds number&lt;br /&gt;
proto.updateStagger = function() {&lt;br /&gt;
  var stagger = this.options.stagger;&lt;br /&gt;
  if ( stagger === null || stagger === undefined ) {&lt;br /&gt;
    this.stagger = 0;&lt;br /&gt;
    return;&lt;br /&gt;
  }&lt;br /&gt;
  this.stagger = getMilliseconds( stagger );&lt;br /&gt;
  return this.stagger;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * Sets position of item in DOM&lt;br /&gt;
 * @param {Outlayer.Item} item&lt;br /&gt;
 * @param {Number} x - horizontal position&lt;br /&gt;
 * @param {Number} y - vertical position&lt;br /&gt;
 * @param {Boolean} isInstant - disables transitions&lt;br /&gt;
 */&lt;br /&gt;
proto._positionItem = function( item, x, y, isInstant, i ) {&lt;br /&gt;
  if ( isInstant ) {&lt;br /&gt;
    // if not transition, just set CSS&lt;br /&gt;
    item.goTo( x, y );&lt;br /&gt;
  } else {&lt;br /&gt;
    item.stagger( i * this.stagger );&lt;br /&gt;
    item.moveTo( x, y );&lt;br /&gt;
  }&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * Any logic you want to do after each layout,&lt;br /&gt;
 * i.e. size the container&lt;br /&gt;
 */&lt;br /&gt;
proto._postLayout = function() {&lt;br /&gt;
  this.resizeContainer();&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
proto.resizeContainer = function() {&lt;br /&gt;
  var isResizingContainer = this._getOption(&#039;resizeContainer&#039;);&lt;br /&gt;
  if ( !isResizingContainer ) {&lt;br /&gt;
    return;&lt;br /&gt;
  }&lt;br /&gt;
  var size = this._getContainerSize();&lt;br /&gt;
  if ( size ) {&lt;br /&gt;
    this._setContainerMeasure( size.width, true );&lt;br /&gt;
    this._setContainerMeasure( size.height, false );&lt;br /&gt;
  }&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * Sets width or height of container if returned&lt;br /&gt;
 * @returns {Object} size&lt;br /&gt;
 *   @param {Number} width&lt;br /&gt;
 *   @param {Number} height&lt;br /&gt;
 */&lt;br /&gt;
proto._getContainerSize = noop;&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * @param {Number} measure - size of width or height&lt;br /&gt;
 * @param {Boolean} isWidth&lt;br /&gt;
 */&lt;br /&gt;
proto._setContainerMeasure = function( measure, isWidth ) {&lt;br /&gt;
  if ( measure === undefined ) {&lt;br /&gt;
    return;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  var elemSize = this.size;&lt;br /&gt;
  // add padding and border width if border box&lt;br /&gt;
  if ( elemSize.isBorderBox ) {&lt;br /&gt;
    measure += isWidth ? elemSize.paddingLeft + elemSize.paddingRight +&lt;br /&gt;
      elemSize.borderLeftWidth + elemSize.borderRightWidth :&lt;br /&gt;
      elemSize.paddingBottom + elemSize.paddingTop +&lt;br /&gt;
      elemSize.borderTopWidth + elemSize.borderBottomWidth;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  measure = Math.max( measure, 0 );&lt;br /&gt;
  this.element.style[ isWidth ? &#039;width&#039; : &#039;height&#039; ] = measure + &#039;px&#039;;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * emit eventComplete on a collection of items events&lt;br /&gt;
 * @param {String} eventName&lt;br /&gt;
 * @param {Array} items - Outlayer.Items&lt;br /&gt;
 */&lt;br /&gt;
proto._emitCompleteOnItems = function( eventName, items ) {&lt;br /&gt;
  var _this = this;&lt;br /&gt;
  function onComplete() {&lt;br /&gt;
    _this.dispatchEvent( eventName + &#039;Complete&#039;, null, [ items ] );&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  var count = items.length;&lt;br /&gt;
  if ( !items || !count ) {&lt;br /&gt;
    onComplete();&lt;br /&gt;
    return;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  var doneCount = 0;&lt;br /&gt;
  function tick() {&lt;br /&gt;
    doneCount++;&lt;br /&gt;
    if ( doneCount == count ) {&lt;br /&gt;
      onComplete();&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  // bind callback&lt;br /&gt;
  items.forEach( function( item ) {&lt;br /&gt;
    item.once( eventName, tick );&lt;br /&gt;
  });&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * emits events via EvEmitter and jQuery events&lt;br /&gt;
 * @param {String} type - name of event&lt;br /&gt;
 * @param {Event} event - original event&lt;br /&gt;
 * @param {Array} args - extra arguments&lt;br /&gt;
 */&lt;br /&gt;
proto.dispatchEvent = function( type, event, args ) {&lt;br /&gt;
  // add original event to arguments&lt;br /&gt;
  var emitArgs = event ? [ event ].concat( args ) : args;&lt;br /&gt;
  this.emitEvent( type, emitArgs );&lt;br /&gt;
&lt;br /&gt;
  if ( jQuery ) {&lt;br /&gt;
    // set this.$element&lt;br /&gt;
    this.$element = this.$element || jQuery( this.element );&lt;br /&gt;
    if ( event ) {&lt;br /&gt;
      // create jQuery event&lt;br /&gt;
      var $event = jQuery.Event( event );&lt;br /&gt;
      $event.type = type;&lt;br /&gt;
      this.$element.trigger( $event, args );&lt;br /&gt;
    } else {&lt;br /&gt;
      // just trigger with type if no event available&lt;br /&gt;
      this.$element.trigger( type, args );&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// -------------------------- ignore &amp;amp; stamps -------------------------- //&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * keep item in collection, but do not lay it out&lt;br /&gt;
 * ignored items do not get skipped in layout&lt;br /&gt;
 * @param {Element} elem&lt;br /&gt;
 */&lt;br /&gt;
proto.ignore = function( elem ) {&lt;br /&gt;
  var item = this.getItem( elem );&lt;br /&gt;
  if ( item ) {&lt;br /&gt;
    item.isIgnored = true;&lt;br /&gt;
  }&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * return item to layout collection&lt;br /&gt;
 * @param {Element} elem&lt;br /&gt;
 */&lt;br /&gt;
proto.unignore = function( elem ) {&lt;br /&gt;
  var item = this.getItem( elem );&lt;br /&gt;
  if ( item ) {&lt;br /&gt;
    delete item.isIgnored;&lt;br /&gt;
  }&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * adds elements to stamps&lt;br /&gt;
 * @param {NodeList, Array, Element, or String} elems&lt;br /&gt;
 */&lt;br /&gt;
proto.stamp = function( elems ) {&lt;br /&gt;
  elems = this._find( elems );&lt;br /&gt;
  if ( !elems ) {&lt;br /&gt;
    return;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  this.stamps = this.stamps.concat( elems );&lt;br /&gt;
  // ignore&lt;br /&gt;
  elems.forEach( this.ignore, this );&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * removes elements to stamps&lt;br /&gt;
 * @param {NodeList, Array, or Element} elems&lt;br /&gt;
 */&lt;br /&gt;
proto.unstamp = function( elems ) {&lt;br /&gt;
  elems = this._find( elems );&lt;br /&gt;
  if ( !elems ){&lt;br /&gt;
    return;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  elems.forEach( function( elem ) {&lt;br /&gt;
    // filter out removed stamp elements&lt;br /&gt;
    utils.removeFrom( this.stamps, elem );&lt;br /&gt;
    this.unignore( elem );&lt;br /&gt;
  }, this );&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * finds child elements&lt;br /&gt;
 * @param {NodeList, Array, Element, or String} elems&lt;br /&gt;
 * @returns {Array} elems&lt;br /&gt;
 */&lt;br /&gt;
proto._find = function( elems ) {&lt;br /&gt;
  if ( !elems ) {&lt;br /&gt;
    return;&lt;br /&gt;
  }&lt;br /&gt;
  // if string, use argument as selector string&lt;br /&gt;
  if ( typeof elems == &#039;string&#039; ) {&lt;br /&gt;
    elems = this.element.querySelectorAll( elems );&lt;br /&gt;
  }&lt;br /&gt;
  elems = utils.makeArray( elems );&lt;br /&gt;
  return elems;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
proto._manageStamps = function() {&lt;br /&gt;
  if ( !this.stamps || !this.stamps.length ) {&lt;br /&gt;
    return;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  this._getBoundingRect();&lt;br /&gt;
&lt;br /&gt;
  this.stamps.forEach( this._manageStamp, this );&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// update boundingLeft / Top&lt;br /&gt;
proto._getBoundingRect = function() {&lt;br /&gt;
  // get bounding rect for container element&lt;br /&gt;
  var boundingRect = this.element.getBoundingClientRect();&lt;br /&gt;
  var size = this.size;&lt;br /&gt;
  this._boundingRect = {&lt;br /&gt;
    left: boundingRect.left + size.paddingLeft + size.borderLeftWidth,&lt;br /&gt;
    top: boundingRect.top + size.paddingTop + size.borderTopWidth,&lt;br /&gt;
    right: boundingRect.right - ( size.paddingRight + size.borderRightWidth ),&lt;br /&gt;
    bottom: boundingRect.bottom - ( size.paddingBottom + size.borderBottomWidth )&lt;br /&gt;
  };&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * @param {Element} stamp&lt;br /&gt;
**/&lt;br /&gt;
proto._manageStamp = noop;&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * get x/y position of element relative to container element&lt;br /&gt;
 * @param {Element} elem&lt;br /&gt;
 * @returns {Object} offset - has left, top, right, bottom&lt;br /&gt;
 */&lt;br /&gt;
proto._getElementOffset = function( elem ) {&lt;br /&gt;
  var boundingRect = elem.getBoundingClientRect();&lt;br /&gt;
  var thisRect = this._boundingRect;&lt;br /&gt;
  var size = getSize( elem );&lt;br /&gt;
  var offset = {&lt;br /&gt;
    left: boundingRect.left - thisRect.left - size.marginLeft,&lt;br /&gt;
    top: boundingRect.top - thisRect.top - size.marginTop,&lt;br /&gt;
    right: thisRect.right - boundingRect.right - size.marginRight,&lt;br /&gt;
    bottom: thisRect.bottom - boundingRect.bottom - size.marginBottom&lt;br /&gt;
  };&lt;br /&gt;
  return offset;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// -------------------------- resize -------------------------- //&lt;br /&gt;
&lt;br /&gt;
// enable event handlers for listeners&lt;br /&gt;
// i.e. resize -&amp;gt; onresize&lt;br /&gt;
proto.handleEvent = utils.handleEvent;&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * Bind layout to window resizing&lt;br /&gt;
 */&lt;br /&gt;
proto.bindResize = function() {&lt;br /&gt;
  window.addEventListener( &#039;resize&#039;, this );&lt;br /&gt;
  this.isResizeBound = true;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * Unbind layout to window resizing&lt;br /&gt;
 */&lt;br /&gt;
proto.unbindResize = function() {&lt;br /&gt;
  window.removeEventListener( &#039;resize&#039;, this );&lt;br /&gt;
  this.isResizeBound = false;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
proto.onresize = function() {&lt;br /&gt;
  this.resize();&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
utils.debounceMethod( Outlayer, &#039;onresize&#039;, 100 );&lt;br /&gt;
&lt;br /&gt;
proto.resize = function() {&lt;br /&gt;
  // don&#039;t trigger if size did not change&lt;br /&gt;
  // or if resize was unbound. See #9&lt;br /&gt;
  if ( !this.isResizeBound || !this.needsResizeLayout() ) {&lt;br /&gt;
    return;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  this.layout();&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * check if layout is needed post layout&lt;br /&gt;
 * @returns Boolean&lt;br /&gt;
 */&lt;br /&gt;
proto.needsResizeLayout = function() {&lt;br /&gt;
  var size = getSize( this.element );&lt;br /&gt;
  // check that this.size and size are there&lt;br /&gt;
  // IE8 triggers resize on body size change, so they might not be&lt;br /&gt;
  var hasSizes = this.size &amp;amp;&amp;amp; size;&lt;br /&gt;
  return hasSizes &amp;amp;&amp;amp; size.innerWidth !== this.size.innerWidth;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// -------------------------- methods -------------------------- //&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * add items to Outlayer instance&lt;br /&gt;
 * @param {Array or NodeList or Element} elems&lt;br /&gt;
 * @returns {Array} items - Outlayer.Items&lt;br /&gt;
**/&lt;br /&gt;
proto.addItems = function( elems ) {&lt;br /&gt;
  var items = this._itemize( elems );&lt;br /&gt;
  // add items to collection&lt;br /&gt;
  if ( items.length ) {&lt;br /&gt;
    this.items = this.items.concat( items );&lt;br /&gt;
  }&lt;br /&gt;
  return items;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * Layout newly-appended item elements&lt;br /&gt;
 * @param {Array or NodeList or Element} elems&lt;br /&gt;
 */&lt;br /&gt;
proto.appended = function( elems ) {&lt;br /&gt;
  var items = this.addItems( elems );&lt;br /&gt;
  if ( !items.length ) {&lt;br /&gt;
    return;&lt;br /&gt;
  }&lt;br /&gt;
  // layout and reveal just the new items&lt;br /&gt;
  this.layoutItems( items, true );&lt;br /&gt;
  this.reveal( items );&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * Layout prepended elements&lt;br /&gt;
 * @param {Array or NodeList or Element} elems&lt;br /&gt;
 */&lt;br /&gt;
proto.prepended = function( elems ) {&lt;br /&gt;
  var items = this._itemize( elems );&lt;br /&gt;
  if ( !items.length ) {&lt;br /&gt;
    return;&lt;br /&gt;
  }&lt;br /&gt;
  // add items to beginning of collection&lt;br /&gt;
  var previousItems = this.items.slice(0);&lt;br /&gt;
  this.items = items.concat( previousItems );&lt;br /&gt;
  // start new layout&lt;br /&gt;
  this._resetLayout();&lt;br /&gt;
  this._manageStamps();&lt;br /&gt;
  // layout new stuff without transition&lt;br /&gt;
  this.layoutItems( items, true );&lt;br /&gt;
  this.reveal( items );&lt;br /&gt;
  // layout previous items&lt;br /&gt;
  this.layoutItems( previousItems );&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * reveal a collection of items&lt;br /&gt;
 * @param {Array of Outlayer.Items} items&lt;br /&gt;
 */&lt;br /&gt;
proto.reveal = function( items ) {&lt;br /&gt;
  this._emitCompleteOnItems( &#039;reveal&#039;, items );&lt;br /&gt;
  if ( !items || !items.length ) {&lt;br /&gt;
    return;&lt;br /&gt;
  }&lt;br /&gt;
  var stagger = this.updateStagger();&lt;br /&gt;
  items.forEach( function( item, i ) {&lt;br /&gt;
    item.stagger( i * stagger );&lt;br /&gt;
    item.reveal();&lt;br /&gt;
  });&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * hide a collection of items&lt;br /&gt;
 * @param {Array of Outlayer.Items} items&lt;br /&gt;
 */&lt;br /&gt;
proto.hide = function( items ) {&lt;br /&gt;
  this._emitCompleteOnItems( &#039;hide&#039;, items );&lt;br /&gt;
  if ( !items || !items.length ) {&lt;br /&gt;
    return;&lt;br /&gt;
  }&lt;br /&gt;
  var stagger = this.updateStagger();&lt;br /&gt;
  items.forEach( function( item, i ) {&lt;br /&gt;
    item.stagger( i * stagger );&lt;br /&gt;
    item.hide();&lt;br /&gt;
  });&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * reveal item elements&lt;br /&gt;
 * @param {Array}, {Element}, {NodeList} items&lt;br /&gt;
 */&lt;br /&gt;
proto.revealItemElements = function( elems ) {&lt;br /&gt;
  var items = this.getItems( elems );&lt;br /&gt;
  this.reveal( items );&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * hide item elements&lt;br /&gt;
 * @param {Array}, {Element}, {NodeList} items&lt;br /&gt;
 */&lt;br /&gt;
proto.hideItemElements = function( elems ) {&lt;br /&gt;
  var items = this.getItems( elems );&lt;br /&gt;
  this.hide( items );&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * get Outlayer.Item, given an Element&lt;br /&gt;
 * @param {Element} elem&lt;br /&gt;
 * @param {Function} callback&lt;br /&gt;
 * @returns {Outlayer.Item} item&lt;br /&gt;
 */&lt;br /&gt;
proto.getItem = function( elem ) {&lt;br /&gt;
  // loop through items to get the one that matches&lt;br /&gt;
  for ( var i=0; i &amp;lt; this.items.length; i++ ) {&lt;br /&gt;
    var item = this.items[i];&lt;br /&gt;
    if ( item.element == elem ) {&lt;br /&gt;
      // return item&lt;br /&gt;
      return item;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * get collection of Outlayer.Items, given Elements&lt;br /&gt;
 * @param {Array} elems&lt;br /&gt;
 * @returns {Array} items - Outlayer.Items&lt;br /&gt;
 */&lt;br /&gt;
proto.getItems = function( elems ) {&lt;br /&gt;
  elems = utils.makeArray( elems );&lt;br /&gt;
  var items = [];&lt;br /&gt;
  elems.forEach( function( elem ) {&lt;br /&gt;
    var item = this.getItem( elem );&lt;br /&gt;
    if ( item ) {&lt;br /&gt;
      items.push( item );&lt;br /&gt;
    }&lt;br /&gt;
  }, this );&lt;br /&gt;
&lt;br /&gt;
  return items;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * remove element(s) from instance and DOM&lt;br /&gt;
 * @param {Array or NodeList or Element} elems&lt;br /&gt;
 */&lt;br /&gt;
proto.remove = function( elems ) {&lt;br /&gt;
  var removeItems = this.getItems( elems );&lt;br /&gt;
&lt;br /&gt;
  this._emitCompleteOnItems( &#039;remove&#039;, removeItems );&lt;br /&gt;
&lt;br /&gt;
  // bail if no items to remove&lt;br /&gt;
  if ( !removeItems || !removeItems.length ) {&lt;br /&gt;
    return;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  removeItems.forEach( function( item ) {&lt;br /&gt;
    item.remove();&lt;br /&gt;
    // remove item from collection&lt;br /&gt;
    utils.removeFrom( this.items, item );&lt;br /&gt;
  }, this );&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// ----- destroy ----- //&lt;br /&gt;
&lt;br /&gt;
// remove and disable Outlayer instance&lt;br /&gt;
proto.destroy = function() {&lt;br /&gt;
  // clean up dynamic styles&lt;br /&gt;
  var style = this.element.style;&lt;br /&gt;
  style.height = &#039;&#039;;&lt;br /&gt;
  style.position = &#039;&#039;;&lt;br /&gt;
  style.width = &#039;&#039;;&lt;br /&gt;
  // destroy items&lt;br /&gt;
  this.items.forEach( function( item ) {&lt;br /&gt;
    item.destroy();&lt;br /&gt;
  });&lt;br /&gt;
&lt;br /&gt;
  this.unbindResize();&lt;br /&gt;
&lt;br /&gt;
  var id = this.element.outlayerGUID;&lt;br /&gt;
  delete instances[ id ]; // remove reference to instance by id&lt;br /&gt;
  delete this.element.outlayerGUID;&lt;br /&gt;
  // remove data for jQuery&lt;br /&gt;
  if ( jQuery ) {&lt;br /&gt;
    jQuery.removeData( this.element, this.constructor.namespace );&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// -------------------------- data -------------------------- //&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * get Outlayer instance from element&lt;br /&gt;
 * @param {Element} elem&lt;br /&gt;
 * @returns {Outlayer}&lt;br /&gt;
 */&lt;br /&gt;
Outlayer.data = function( elem ) {&lt;br /&gt;
  elem = utils.getQueryElement( elem );&lt;br /&gt;
  var id = elem &amp;amp;&amp;amp; elem.outlayerGUID;&lt;br /&gt;
  return id &amp;amp;&amp;amp; instances[ id ];&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// -------------------------- create Outlayer class -------------------------- //&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * create a layout class&lt;br /&gt;
 * @param {String} namespace&lt;br /&gt;
 */&lt;br /&gt;
Outlayer.create = function( namespace, options ) {&lt;br /&gt;
  // sub-class Outlayer&lt;br /&gt;
  var Layout = subclass( Outlayer );&lt;br /&gt;
  // apply new options and compatOptions&lt;br /&gt;
  Layout.defaults = utils.extend( {}, Outlayer.defaults );&lt;br /&gt;
  utils.extend( Layout.defaults, options );&lt;br /&gt;
  Layout.compatOptions = utils.extend( {}, Outlayer.compatOptions  );&lt;br /&gt;
&lt;br /&gt;
  Layout.namespace = namespace;&lt;br /&gt;
&lt;br /&gt;
  Layout.data = Outlayer.data;&lt;br /&gt;
&lt;br /&gt;
  // sub-class Item&lt;br /&gt;
  Layout.Item = subclass( Item );&lt;br /&gt;
&lt;br /&gt;
  // -------------------------- declarative -------------------------- //&lt;br /&gt;
&lt;br /&gt;
  utils.htmlInit( Layout, namespace );&lt;br /&gt;
&lt;br /&gt;
  // -------------------------- jQuery bridge -------------------------- //&lt;br /&gt;
&lt;br /&gt;
  // make into jQuery plugin&lt;br /&gt;
  if ( jQuery &amp;amp;&amp;amp; jQuery.bridget ) {&lt;br /&gt;
    jQuery.bridget( namespace, Layout );&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  return Layout;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
function subclass( Parent ) {&lt;br /&gt;
  function SubClass() {&lt;br /&gt;
    Parent.apply( this, arguments );&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  SubClass.prototype = Object.create( Parent.prototype );&lt;br /&gt;
  SubClass.prototype.constructor = SubClass;&lt;br /&gt;
&lt;br /&gt;
  return SubClass;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// ----- helpers ----- //&lt;br /&gt;
&lt;br /&gt;
// how many milliseconds are in each unit&lt;br /&gt;
var msUnits = {&lt;br /&gt;
  ms: 1,&lt;br /&gt;
  s: 1000&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// munge time-like parameter into millisecond number&lt;br /&gt;
// &#039;0.4s&#039; -&amp;gt; 40&lt;br /&gt;
function getMilliseconds( time ) {&lt;br /&gt;
  if ( typeof time == &#039;number&#039; ) {&lt;br /&gt;
    return time;&lt;br /&gt;
  }&lt;br /&gt;
  var matches = time.match( /(^\d*\.?\d*)(\w*)/ );&lt;br /&gt;
  var num = matches &amp;amp;&amp;amp; matches[1];&lt;br /&gt;
  var unit = matches &amp;amp;&amp;amp; matches[2];&lt;br /&gt;
  if ( !num.length ) {&lt;br /&gt;
    return 0;&lt;br /&gt;
  }&lt;br /&gt;
  num = parseFloat( num );&lt;br /&gt;
  var mult = msUnits[ unit ] || 1;&lt;br /&gt;
  return num * mult;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// ----- fin ----- //&lt;br /&gt;
&lt;br /&gt;
// back in global&lt;br /&gt;
Outlayer.Item = Item;&lt;br /&gt;
&lt;br /&gt;
return Outlayer;&lt;br /&gt;
&lt;br /&gt;
}));&lt;br /&gt;
&lt;br /&gt;
/*!&lt;br /&gt;
 * Masonry v4.1.1&lt;br /&gt;
 * Cascading grid layout library&lt;br /&gt;
 * http://masonry.desandro.com&lt;br /&gt;
 * MIT License&lt;br /&gt;
 * by David DeSandro&lt;br /&gt;
 */&lt;br /&gt;
&lt;br /&gt;
( function( window, factory ) {&lt;br /&gt;
  // universal module definition&lt;br /&gt;
  /* jshint strict: false */ /*globals define, module, require */&lt;br /&gt;
  if ( typeof define == &#039;function&#039; &amp;amp;&amp;amp; define.amd ) {&lt;br /&gt;
    // AMD&lt;br /&gt;
    define( [&lt;br /&gt;
        &#039;outlayer/outlayer&#039;,&lt;br /&gt;
        &#039;get-size/get-size&#039;&lt;br /&gt;
      ],&lt;br /&gt;
      factory );&lt;br /&gt;
  } else if ( typeof module == &#039;object&#039; &amp;amp;&amp;amp; module.exports ) {&lt;br /&gt;
    // CommonJS&lt;br /&gt;
    module.exports = factory(&lt;br /&gt;
      require(&#039;outlayer&#039;),&lt;br /&gt;
      require(&#039;get-size&#039;)&lt;br /&gt;
    );&lt;br /&gt;
  } else {&lt;br /&gt;
    // browser global&lt;br /&gt;
    window.Masonry = factory(&lt;br /&gt;
      window.Outlayer,&lt;br /&gt;
      window.getSize&lt;br /&gt;
    );&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
}( window, function factory( Outlayer, getSize ) {&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// -------------------------- masonryDefinition -------------------------- //&lt;br /&gt;
&lt;br /&gt;
  // create an Outlayer layout class&lt;br /&gt;
  var Masonry = Outlayer.create(&#039;masonry&#039;);&lt;br /&gt;
  // isFitWidth -&amp;gt; fitWidth&lt;br /&gt;
  Masonry.compatOptions.fitWidth = &#039;isFitWidth&#039;;&lt;br /&gt;
&lt;br /&gt;
  Masonry.prototype._resetLayout = function() {&lt;br /&gt;
    this.getSize();&lt;br /&gt;
    this._getMeasurement( &#039;columnWidth&#039;, &#039;outerWidth&#039; );&lt;br /&gt;
    this._getMeasurement( &#039;gutter&#039;, &#039;outerWidth&#039; );&lt;br /&gt;
    this.measureColumns();&lt;br /&gt;
&lt;br /&gt;
    // reset column Y&lt;br /&gt;
    this.colYs = [];&lt;br /&gt;
    for ( var i=0; i &amp;lt; this.cols; i++ ) {&lt;br /&gt;
      this.colYs.push( 0 );&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    this.maxY = 0;&lt;br /&gt;
  };&lt;br /&gt;
&lt;br /&gt;
  Masonry.prototype.measureColumns = function() {&lt;br /&gt;
    this.getContainerWidth();&lt;br /&gt;
    // if columnWidth is 0, default to outerWidth of first item&lt;br /&gt;
    if ( !this.columnWidth ) {&lt;br /&gt;
      var firstItem = this.items[0];&lt;br /&gt;
      var firstItemElem = firstItem &amp;amp;&amp;amp; firstItem.element;&lt;br /&gt;
      // columnWidth fall back to item of first element&lt;br /&gt;
      this.columnWidth = firstItemElem &amp;amp;&amp;amp; getSize( firstItemElem ).outerWidth ||&lt;br /&gt;
        // if first elem has no width, default to size of container&lt;br /&gt;
        this.containerWidth;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    var columnWidth = this.columnWidth += this.gutter;&lt;br /&gt;
&lt;br /&gt;
    // calculate columns&lt;br /&gt;
    var containerWidth = this.containerWidth + this.gutter;&lt;br /&gt;
    var cols = containerWidth / columnWidth;&lt;br /&gt;
    // fix rounding errors, typically with gutters&lt;br /&gt;
    var excess = columnWidth - containerWidth % columnWidth;&lt;br /&gt;
    // if overshoot is less than a pixel, round up, otherwise floor it&lt;br /&gt;
    var mathMethod = excess &amp;amp;&amp;amp; excess &amp;lt; 1 ? &#039;round&#039; : &#039;floor&#039;;&lt;br /&gt;
    cols = Math[ mathMethod ]( cols );&lt;br /&gt;
    this.cols = Math.max( cols, 1 );&lt;br /&gt;
  };&lt;br /&gt;
&lt;br /&gt;
  Masonry.prototype.getContainerWidth = function() {&lt;br /&gt;
    // container is parent if fit width&lt;br /&gt;
    var isFitWidth = this._getOption(&#039;fitWidth&#039;);&lt;br /&gt;
    var container = isFitWidth ? this.element.parentNode : this.element;&lt;br /&gt;
    // check that this.size and size are there&lt;br /&gt;
    // IE8 triggers resize on body size change, so they might not be&lt;br /&gt;
    var size = getSize( container );&lt;br /&gt;
    this.containerWidth = size &amp;amp;&amp;amp; size.innerWidth;&lt;br /&gt;
  };&lt;br /&gt;
&lt;br /&gt;
  Masonry.prototype._getItemLayoutPosition = function( item ) {&lt;br /&gt;
    item.getSize();&lt;br /&gt;
    // how many columns does this brick span&lt;br /&gt;
    var remainder = item.size.outerWidth % this.columnWidth;&lt;br /&gt;
    var mathMethod = remainder &amp;amp;&amp;amp; remainder &amp;lt; 1 ? &#039;round&#039; : &#039;ceil&#039;;&lt;br /&gt;
    // round if off by 1 pixel, otherwise use ceil&lt;br /&gt;
    var colSpan = Math[ mathMethod ]( item.size.outerWidth / this.columnWidth );&lt;br /&gt;
    colSpan = Math.min( colSpan, this.cols );&lt;br /&gt;
&lt;br /&gt;
    var colGroup = this._getColGroup( colSpan );&lt;br /&gt;
    // get the minimum Y value from the columns&lt;br /&gt;
    var minimumY = Math.min.apply( Math, colGroup );&lt;br /&gt;
    var shortColIndex = colGroup.indexOf( minimumY );&lt;br /&gt;
&lt;br /&gt;
    // position the brick&lt;br /&gt;
    var position = {&lt;br /&gt;
      x: this.columnWidth * shortColIndex,&lt;br /&gt;
      y: minimumY&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
    // apply setHeight to necessary columns&lt;br /&gt;
    var setHeight = minimumY + item.size.outerHeight;&lt;br /&gt;
    var setSpan = this.cols + 1 - colGroup.length;&lt;br /&gt;
    for ( var i = 0; i &amp;lt; setSpan; i++ ) {&lt;br /&gt;
      this.colYs[ shortColIndex + i ] = setHeight;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    return position;&lt;br /&gt;
  };&lt;br /&gt;
&lt;br /&gt;
  /**&lt;br /&gt;
   * @param {Number} colSpan - number of columns the element spans&lt;br /&gt;
   * @returns {Array} colGroup&lt;br /&gt;
   */&lt;br /&gt;
  Masonry.prototype._getColGroup = function( colSpan ) {&lt;br /&gt;
    if ( colSpan &amp;lt; 2 ) {&lt;br /&gt;
      // if brick spans only one column, use all the column Ys&lt;br /&gt;
      return this.colYs;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    var colGroup = [];&lt;br /&gt;
    // how many different places could this brick fit horizontally&lt;br /&gt;
    var groupCount = this.cols + 1 - colSpan;&lt;br /&gt;
    // for each group potential horizontal position&lt;br /&gt;
    for ( var i = 0; i &amp;lt; groupCount; i++ ) {&lt;br /&gt;
      // make an array of colY values for that one group&lt;br /&gt;
      var groupColYs = this.colYs.slice( i, i + colSpan );&lt;br /&gt;
      // and get the max value of the array&lt;br /&gt;
      colGroup[i] = Math.max.apply( Math, groupColYs );&lt;br /&gt;
    }&lt;br /&gt;
    return colGroup;&lt;br /&gt;
  };&lt;br /&gt;
&lt;br /&gt;
  Masonry.prototype._manageStamp = function( stamp ) {&lt;br /&gt;
    var stampSize = getSize( stamp );&lt;br /&gt;
    var offset = this._getElementOffset( stamp );&lt;br /&gt;
    // get the columns that this stamp affects&lt;br /&gt;
    var isOriginLeft = this._getOption(&#039;originLeft&#039;);&lt;br /&gt;
    var firstX = isOriginLeft ? offset.left : offset.right;&lt;br /&gt;
    var lastX = firstX + stampSize.outerWidth;&lt;br /&gt;
    var firstCol = Math.floor( firstX / this.columnWidth );&lt;br /&gt;
    firstCol = Math.max( 0, firstCol );&lt;br /&gt;
    var lastCol = Math.floor( lastX / this.columnWidth );&lt;br /&gt;
    // lastCol should not go over if multiple of columnWidth #425&lt;br /&gt;
    lastCol -= lastX % this.columnWidth ? 0 : 1;&lt;br /&gt;
    lastCol = Math.min( this.cols - 1, lastCol );&lt;br /&gt;
    // set colYs to bottom of the stamp&lt;br /&gt;
&lt;br /&gt;
    var isOriginTop = this._getOption(&#039;originTop&#039;);&lt;br /&gt;
    var stampMaxY = ( isOriginTop ? offset.top : offset.bottom ) +&lt;br /&gt;
      stampSize.outerHeight;&lt;br /&gt;
    for ( var i = firstCol; i &amp;lt;= lastCol; i++ ) {&lt;br /&gt;
      this.colYs[i] = Math.max( stampMaxY, this.colYs[i] );&lt;br /&gt;
    }&lt;br /&gt;
  };&lt;br /&gt;
&lt;br /&gt;
  Masonry.prototype._getContainerSize = function() {&lt;br /&gt;
    this.maxY = Math.max.apply( Math, this.colYs );&lt;br /&gt;
    var size = {&lt;br /&gt;
      height: this.maxY&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
    if ( this._getOption(&#039;fitWidth&#039;) ) {&lt;br /&gt;
      size.width = this._getContainerFitWidth();&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    return size;&lt;br /&gt;
  };&lt;br /&gt;
&lt;br /&gt;
  Masonry.prototype._getContainerFitWidth = function() {&lt;br /&gt;
    var unusedCols = 0;&lt;br /&gt;
    // count unused columns&lt;br /&gt;
    var i = this.cols;&lt;br /&gt;
    while ( --i ) {&lt;br /&gt;
      if ( this.colYs[i] !== 0 ) {&lt;br /&gt;
        break;&lt;br /&gt;
      }&lt;br /&gt;
      unusedCols++;&lt;br /&gt;
    }&lt;br /&gt;
    // fit container to columns that have been used&lt;br /&gt;
    return ( this.cols - unusedCols ) * this.columnWidth - this.gutter;&lt;br /&gt;
  };&lt;br /&gt;
&lt;br /&gt;
  Masonry.prototype.needsResizeLayout = function() {&lt;br /&gt;
    var previousWidth = this.containerWidth;&lt;br /&gt;
    this.getContainerWidth();&lt;br /&gt;
    return previousWidth != this.containerWidth;&lt;br /&gt;
  };&lt;br /&gt;
&lt;br /&gt;
  return Masonry;&lt;br /&gt;
&lt;br /&gt;
}));&lt;br /&gt;
&lt;br /&gt;
$(&#039;.grid&#039;).masonry({&lt;br /&gt;
  // options...&lt;br /&gt;
  itemSelector: &#039;.grid-item&#039;,&lt;br /&gt;
  columnWidth: 20&lt;br /&gt;
});&lt;/div&gt;</summary>
		<author><name>Atomix</name></author>
	</entry>
	<entry>
		<id>http://atomix.app.uib.no/index.php?title=MediaWiki:Common.css&amp;diff=2</id>
		<title>MediaWiki:Common.css</title>
		<link rel="alternate" type="text/html" href="http://atomix.app.uib.no/index.php?title=MediaWiki:Common.css&amp;diff=2"/>
		<updated>2021-01-14T11:59:41Z</updated>

		<summary type="html">&lt;p&gt;Atomix: Created page with &amp;quot;/* CSS placed here will be applied to all skins */  @import url(&amp;quot;https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css&amp;quot;);  .toc {   border-radius:10px;...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* CSS placed here will be applied to all skins */&lt;br /&gt;
&lt;br /&gt;
@import url(&amp;quot;https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
.toc {&lt;br /&gt;
  border-radius:10px;&lt;br /&gt;
  width:400px;&lt;br /&gt;
  overflow:hidden;&lt;br /&gt;
}&lt;br /&gt;
div.mw-htmlform-field-HTMLInfoField mw-ui-vform-field { display:none; }&lt;br /&gt;
&lt;br /&gt;
body.page-Main_Page h1.firstHeading { display:none; }&lt;br /&gt;
body.page-Forside h1.firstHeading { display:none; }&lt;br /&gt;
body.page-Forside span.mw-headline {&lt;br /&gt;
  color:#303030;&lt;br /&gt;
  font-weight: bold;&lt;br /&gt;
  border-bottom: 0px solid steelblue;&lt;br /&gt;
}&lt;br /&gt;
body.page-Forside div.w3-container:nth-of-type(1) {&lt;br /&gt;
  display:none;&lt;br /&gt;
}&lt;br /&gt;
body.page-Vaffel_og_lotteri_listen_applikasjoner div.w3-container:nth-of-type(1) {&lt;br /&gt;
  display:none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#Nyttige_verkt.C3.B8y.mv-headline {&lt;br /&gt;
  color:#ffffff !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body {&lt;br /&gt;
color: #333333;&lt;br /&gt;
font-family: Century Gothic, sans-serif;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
img, object, embed {&lt;br /&gt;
    height: auto;&lt;br /&gt;
    max-width: 100%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.noresize {&lt;br /&gt;
    height: auto;&lt;br /&gt;
    max-width: 100%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* img, object, embed {&lt;br /&gt;
    height: auto;&lt;br /&gt;
    max-width: 100%;&lt;br /&gt;
} */&lt;br /&gt;
&lt;br /&gt;
.info {&lt;br /&gt;
    float: left;&lt;br /&gt;
    margin: 5px;&lt;br /&gt;
    padding: 15px;&lt;br /&gt;
    width: 300px;&lt;br /&gt;
    border: 1px solid black;&lt;br /&gt;
}&lt;br /&gt;
.info2 {&lt;br /&gt;
    float: auto;&lt;br /&gt;
    margin: 3px;&lt;br /&gt;
    padding: 5px;&lt;br /&gt;
    border: 1px solid black;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
### Ny stil start ###&lt;br /&gt;
/*&lt;br /&gt;
element.style {&lt;br /&gt;
    background-color: #cf3c3a;&lt;br /&gt;
}&lt;br /&gt;
body {&lt;br /&gt;
    background-color: #cf3c3a;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
.mw-body {&lt;br /&gt;
    border-color: #cf3c3a !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
div#mw-head {&lt;br /&gt;
    background-color: #cf3c3a;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-wiki-logo {&lt;br /&gt;
    background-image: url(&amp;quot;https://wiki.uib.no/uib_logo.svg&amp;quot;) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#p-personal a {&lt;br /&gt;
    color: white !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
div#mw-panel div.portal {&lt;br /&gt;
    background-image: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
div#mw-panel div.portal {&lt;br /&gt;
    background-image: none !important;&lt;br /&gt;
}&lt;br /&gt;
div#mw-panel div.portal h3 {&lt;br /&gt;
    color: white !important;&lt;br /&gt;
    font-weight: bold !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
div#mw-panel div.portal div.body ul li a {&lt;br /&gt;
    color: white !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
div.vectorTabs {&lt;br /&gt;
    background-image: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
div.vectorTabs ul li {&lt;br /&gt;
    background-color: #cf3c3a;&lt;br /&gt;
    background-image: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
div.vectorTabs li.selected {&lt;br /&gt;
    background-image: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
div.vectorTabs span &amp;gt; a {&lt;br /&gt;
    background-color: #cf3c3a;&lt;br /&gt;
    background-image: none;&lt;br /&gt;
    color: white !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
div.vectorTabs li.selected a, div.vectorTabs li.selected a:visited {&lt;br /&gt;
    background-color: #cf3c3a;&lt;br /&gt;
    background-image: none;&lt;br /&gt;
    color: white !important;&lt;br /&gt;
    text-decoration: underline !important;&lt;br /&gt;
    height: 2.1em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
div.vectorMenu h3 span {&lt;br /&gt;
    color: white !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#mw-page-base {&lt;br /&gt;
    background-color: #CF3C3A;&lt;br /&gt;
    background-image: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
div#footer ul li {&lt;br /&gt;
    color: white !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
div#footer #footer-places li a {&lt;br /&gt;
    color: white;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
img, object, embed {&lt;br /&gt;
    height: auto;&lt;br /&gt;
    max-width: 100%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.noresize {&lt;br /&gt;
    height: auto;&lt;br /&gt;
    max-width: 100%;&lt;br /&gt;
}&lt;br /&gt;
*/&lt;br /&gt;
#### Ny stil slutt ####&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#### W3 ####&lt;br /&gt;
&lt;br /&gt;
/* W3.CSS 2.83 Nov 2016 by Jan Egil and Borge Refsnes */&lt;br /&gt;
html{box-sizing:border-box}*,*:before,*:after{box-sizing:inherit}&lt;br /&gt;
/* Extract from normalize.css by Nicolas Gallagher and Jonathan Neal git.io/normalize */&lt;br /&gt;
html{-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}&lt;br /&gt;
article,aside,details,figcaption,figure,footer,header,main,menu,nav,section,summary{display:block}&lt;br /&gt;
audio,canvas,progress,video{display:inline-block}progress{vertical-align:baseline}&lt;br /&gt;
audio:not([controls]){display:none;height:0}[hidden],template{display:none}&lt;br /&gt;
a{background-color:transparent;-webkit-text-decoration-skip:objects}&lt;br /&gt;
a:active,a:hover{outline-width:0}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}&lt;br /&gt;
dfn{font-style:italic}mark{background:#ff0;color:#000}&lt;br /&gt;
small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}&lt;br /&gt;
sub{bottom:-0.25em}sup{top:-0.5em}figure{margin:1em 40px}&lt;br /&gt;
img{border-style:none}svg:not(:root){overflow:hidden}&lt;br /&gt;
code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}&lt;br /&gt;
hr{box-sizing:content-box;height:0;overflow:visible}&lt;br /&gt;
button,input,select,textarea{font:inherit;margin:0}optgroup{font-weight:bold}&lt;br /&gt;
button,input{overflow:visible}button,select{text-transform:none}&lt;br /&gt;
button,html [type=button],[type=reset],[type=submit]{-webkit-appearance:button}&lt;br /&gt;
button::-moz-focus-inner, [type=button]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=submit]::-moz-focus-inner{border-style:none;padding:0}&lt;br /&gt;
button:-moz-focusring, [type=button]:-moz-focusring, [type=reset]:-moz-focusring, [type=submit]:-moz-focusring{outline:1px dotted ButtonText}&lt;br /&gt;
fieldset{border:1px solid #c0c0c0;margin:0 2px;padding:.35em .625em .75em}&lt;br /&gt;
legend{color:inherit;display:table;max-width:100%;padding:0;white-space:normal}textarea{overflow:auto}&lt;br /&gt;
[type=checkbox],[type=radio]{padding:0}&lt;br /&gt;
[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}&lt;br /&gt;
[type=search]{-webkit-appearance:textfield;outline-offset:-2px}&lt;br /&gt;
[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}&lt;br /&gt;
::-webkit-input-placeholder{color:inherit;opacity:0.54}&lt;br /&gt;
::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}&lt;br /&gt;
/* End extract */&lt;br /&gt;
html,body{font-family:Verdana,sans-serif;font-size:15px;line-height:1.5}html{overflow-x:hidden}&lt;br /&gt;
h1,h2,h3,h4,h5,h6,.w3-slim,.w3-wide{font-family:&amp;quot;Segoe UI&amp;quot;,Arial,sans-serif}&lt;br /&gt;
h1{font-size:36px}h2{font-size:30px}h3{font-size:24px}h4{font-size:20px}h5{font-size:18px}h6{font-size:16px}&lt;br /&gt;
.w3-serif{font-family:&amp;quot;Times New Roman&amp;quot;,Times,serif}&lt;br /&gt;
h1,h2,h3,h4,h5,h6{font-weight:400;margin:10px 0}.w3-wide{letter-spacing:4px}&lt;br /&gt;
h1 a,h2 a,h3 a,h4 a,h5 a,h6 a{font-weight:inherit}&lt;br /&gt;
hr{border:0;border-top:1px solid #eee;margin:20px 0}&lt;br /&gt;
img{margin-bottom:-5px}a{color:inherit}&lt;br /&gt;
.w3-image{max-width:100%;height:auto}&lt;br /&gt;
.w3-table,.w3-table-all{border-collapse:collapse;border-spacing:0;width:100%;display:table}&lt;br /&gt;
.w3-table-all{border:1px solid #ccc}&lt;br /&gt;
.w3-bordered tr,.w3-table-all tr{border-bottom:1px solid #ddd}&lt;br /&gt;
.w3-striped tbody tr:nth-child(even){background-color:#f1f1f1}&lt;br /&gt;
.w3-table-all tr:nth-child(odd){background-color:#fff}&lt;br /&gt;
.w3-table-all tr:nth-child(even){background-color:#f1f1f1}&lt;br /&gt;
.w3-hoverable tbody tr:hover,.w3-ul.w3-hoverable li:hover{background-color:#ccc}&lt;br /&gt;
.w3-centered tr th,.w3-centered tr td{text-align:center}&lt;br /&gt;
.w3-table td,.w3-table th,.w3-table-all td,.w3-table-all th{padding:8px 8px;display:table-cell;text-align:left;vertical-align:top}&lt;br /&gt;
.w3-table th:first-child,.w3-table td:first-child,.w3-table-all th:first-child,.w3-table-all td:first-child{padding-left:16px}&lt;br /&gt;
.w3-btn,.w3-btn-block{border:none;display:inline-block;outline:0;padding:6px 16px;vertical-align:middle;overflow:hidden;text-decoration:none!important;color:#fff;background-color:#000;text-align:center;cursor:pointer;white-space:nowrap}&lt;br /&gt;
.w3-btn:hover,.w3-btn-block:hover,.w3-btn-floating:hover,.w3-btn-floating-large:hover{box-shadow:0 8px 16px 0 rgba(0,0,0,0.2),0 6px 20px 0 rgba(0,0,0,0.19)}&lt;br /&gt;
.w3-btn,.w3-btn-floating,.w3-btn-floating-large,.w3-closenav,.w3-opennav{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}   &lt;br /&gt;
.w3-btn-floating,.w3-btn-floating-large{display:inline-block;text-align:center;color:#fff;background-color:#000;position:relative;overflow:hidden;z-index:1;padding:0;border-radius:50%;cursor:pointer;font-size:24px}&lt;br /&gt;
.w3-btn-floating{width:40px;height:40px;line-height:40px}.w3-btn-floating-large{width:56px;height:56px;line-height:56px}&lt;br /&gt;
.w3-disabled,.w3-btn:disabled,.w3-btn-floating:disabled,.w3-btn-floating-large:disabled{cursor:not-allowed;opacity:0.3}&lt;br /&gt;
.w3-btn.w3-disabled *,.w3-btn-block.w3-disabled,.w3-btn-floating.w3-disabled *,.w3-btn:disabled *,.w3-btn-floating:disabled *{pointer-events:none}&lt;br /&gt;
.w3-btn.w3-disabled:hover,.w3-btn-block.w3-disabled:hover,.w3-btn:disabled:hover,.w3-btn-floating.w3-disabled:hover,.w3-btn-floating:disabled:hover,&lt;br /&gt;
.w3-btn-floating-large.w3-disabled:hover,.w3-btn-floating-large:disabled:hover{box-shadow:none}&lt;br /&gt;
.w3-btn-group .w3-btn{float:left}.w3-btn-block{width:100%}&lt;br /&gt;
.w3-btn-bar .w3-btn{box-shadow:none;background-color:inherit;color:inherit;float:left}.w3-btn-bar .w3-btn:hover{background-color:#ccc}&lt;br /&gt;
.w3-badge,.w3-tag,.w3-sign{background-color:#000;color:#fff;display:inline-block;padding-left:8px;padding-right:8px;text-align:center}&lt;br /&gt;
.w3-badge{border-radius:50%}&lt;br /&gt;
ul.w3-ul{list-style-type:none;padding:0;margin:0}ul.w3-ul li{padding:6px 2px 6px 16px;border-bottom:1px solid #ddd}ul.w3-ul li:last-child{border-bottom:none}&lt;br /&gt;
.w3-tooltip,.w3-display-container{position:relative}.w3-tooltip .w3-text{display:none}.w3-tooltip:hover .w3-text{display:inline-block}&lt;br /&gt;
.w3-navbar{list-style-type:none;margin:0;padding:0;overflow:hidden}&lt;br /&gt;
.w3-navbar li{float:left}.w3-navbar li a,.w3-navitem,.w3-navbar li .w3-btn,.w3-navbar li .w3-input{display:block;padding:8px 16px}.w3-navbar li .w3-btn,.w3-navbar li .w3-input{border:none;outline:none;width:100%}&lt;br /&gt;
.w3-navbar li a:hover{color:#000;background-color:#ccc}&lt;br /&gt;
.w3-navbar .w3-dropdown-hover,.w3-navbar .w3-dropdown-click{position:static}&lt;br /&gt;
.w3-navbar .w3-dropdown-hover:hover,.w3-navbar .w3-dropdown-hover:first-child,.w3-navbar .w3-dropdown-click:hover{background-color:#ccc;color:#000}&lt;br /&gt;
.w3-navbar a,.w3-topnav a,.w3-sidenav a,.w3-dropdown-content a,.w3-accordion-content a,.w3-dropnav a{text-decoration:none!important}&lt;br /&gt;
.w3-navbar .w3-opennav.w3-right{float:right!important}.w3-topnav{padding:8px 8px}&lt;br /&gt;
.w3-topnav a{padding:0 8px;border-bottom:3px solid transparent;-webkit-transition:border-bottom .3s;transition:border-bottom .3s}&lt;br /&gt;
.w3-topnav a:hover{border-bottom:3px solid #fff}.w3-topnav .w3-dropdown-hover a{border-bottom:0}&lt;br /&gt;
.w3-opennav,.w3-closenav{color:inherit}.w3-opennav:hover,.w3-closenav:hover{cursor:pointer;opacity:0.8}&lt;br /&gt;
.w3-btn,.w3-btn-floating,.w3-dropnav a,.w3-btn-floating-large,.w3-btn-block,.w3-hover-shadow,.w3-hover-opacity,.w3-hover-opacity-off,.w3-hover-sepia,.w3-hover-grayscale,.w3-hover-greyscale,&lt;br /&gt;
.w3-navbar a,.w3-sidenav a,.w3-pagination li a,.w3-hoverable tbody tr,.w3-hoverable li,.w3-accordion-content a,.w3-dropdown-content a,.w3-dropdown-click:hover,.w3-dropdown-hover:hover,.w3-opennav,.w3-closenav,.w3-closebtn,&lt;br /&gt;
.w3-hover-amber,.w3-hover-aqua,.w3-hover-blue,.w3-hover-light-blue,.w3-hover-brown,.w3-hover-cyan,.w3-hover-blue-grey,.w3-hover-green,.w3-hover-light-green,.w3-hover-indigo,.w3-hover-khaki,.w3-hover-lime,.w3-hover-orange,.w3-hover-deep-orange,.w3-hover-pink,&lt;br /&gt;
.w3-hover-purple,.w3-hover-deep-purple,.w3-hover-red,.w3-hover-sand,.w3-hover-teal,.w3-hover-yellow,.w3-hover-white,.w3-hover-black,.w3-hover-grey,.w3-hover-light-grey,.w3-hover-dark-grey,.w3-hover-text-amber,.w3-hover-text-aqua,.w3-hover-text-blue,.w3-hover-text-light-blue,&lt;br /&gt;
.w3-hover-text-brown,.w3-hover-text-cyan,.w3-hover-text-blue-grey,.w3-hover-text-green,.w3-hover-text-light-green,.w3-hover-text-indigo,.w3-hover-text-khaki,.w3-hover-text-lime,.w3-hover-text-orange,.w3-hover-text-deep-orange,.w3-hover-text-pink,.w3-hover-text-purple,&lt;br /&gt;
.w3-hover-text-deep-purple,.w3-hover-text-red,.w3-hover-text-sand,.w3-hover-text-teal,.w3-hover-text-yellow,.w3-hover-text-white,.w3-hover-text-black,.w3-hover-text-grey,.w3-hover-text-light-grey,.w3-hover-text-dark-grey&lt;br /&gt;
{-webkit-transition:background-color .3s,color .15s,box-shadow .3s,opacity 0.3s,filter 0.3s;transition:background-color .3s,color .15s,box-shadow .3s,opacity 0.3s,filter 0.3s}&lt;br /&gt;
.w3-ripple:active{opacity:0.5}.w3-ripple{-webkit-transition:opacity 0s;transition:opacity 0s}&lt;br /&gt;
.w3-sidenav{height:100%;width:200px;background-color:#fff;position:fixed!important;z-index:1;overflow:auto}&lt;br /&gt;
.w3-sidenav a{padding:4px 2px 4px 16px}.w3-sidenav a:hover{background-color:#ccc}.w3-sidenav a,.w3-dropnav a{display:block}&lt;br /&gt;
.w3-sidenav .w3-dropdown-hover:hover,.w3-sidenav .w3-dropdown-hover:first-child,.w3-sidenav .w3-dropdown-click:hover,.w3-dropnav a:hover{background-color:#ccc;color:#000}&lt;br /&gt;
.w3-sidenav .w3-dropdown-hover,.w3-sidenav .w3-dropdown-click {width:100%}.w3-sidenav .w3-dropdown-hover .w3-dropdown-content,.w3-sidenav .w3-dropdown-click .w3-dropdown-content{min-width:100%}&lt;br /&gt;
.w3-main,#main{transition:margin-left .4s}&lt;br /&gt;
.w3-modal{z-index:3;display:none;padding-top:100px;position:fixed;left:0;top:0;width:100%;height:100%;overflow:auto;background-color:rgb(0,0,0);background-color:rgba(0,0,0,0.4)}&lt;br /&gt;
.w3-modal-content{margin:auto;background-color:#fff;position:relative;padding:0;outline:0;width:600px}.w3-closebtn{text-decoration:none;float:right;font-size:24px;font-weight:bold;color:inherit}&lt;br /&gt;
.w3-closebtn:hover,.w3-closebtn:focus{color:#000;text-decoration:none;cursor:pointer}&lt;br /&gt;
.w3-pagination{display:inline-block;padding:0;margin:0}.w3-pagination li{display:inline}&lt;br /&gt;
.w3-pagination li a{text-decoration:none;color:#000;float:left;padding:8px 16px}&lt;br /&gt;
.w3-pagination li a:hover{background-color:#ccc}&lt;br /&gt;
.w3-input-group,.w3-group{margin-top:24px;margin-bottom:24px}&lt;br /&gt;
.w3-input{padding:8px;display:block;border:none;border-bottom:1px solid #808080;width:100%}&lt;br /&gt;
.w3-label{color:#009688}.w3-input:not(:valid)~.w3-validate{color:#f44336}&lt;br /&gt;
.w3-select{padding:9px 0;width:100%;color:#000;border:1px solid transparent;border-bottom:1px solid #009688}&lt;br /&gt;
.w3-select select:focus{color:#000;border:1px solid #009688}.w3-select option[disabled]{color:#009688}&lt;br /&gt;
.w3-dropdown-click,.w3-dropdown-hover{position:relative;display:inline-block;cursor:pointer}&lt;br /&gt;
.w3-dropdown-hover:hover .w3-dropdown-content{display:block;z-index:1}&lt;br /&gt;
.w3-dropdown-content{cursor:auto;color:#000;background-color:#fff;display:none;position:absolute;min-width:160px;margin:0;padding:0}&lt;br /&gt;
.w3-dropdown-content a{padding:6px 16px;display:block}&lt;br /&gt;
.w3-dropdown-content a:hover{background-color:#ccc}&lt;br /&gt;
.w3-accordion {width:100%;cursor:pointer}&lt;br /&gt;
.w3-accordion-content{cursor:auto;display:none;position:relative;width:100%;margin:0;padding:0}&lt;br /&gt;
.w3-accordion-content a{padding:6px 16px;display:block}.w3-accordion-content a:hover{background-color:#ccc}&lt;br /&gt;
.w3-progress-container{width:100%;height:1.5em;position:relative;background-color:#f1f1f1}&lt;br /&gt;
.w3-progressbar{background-color:#757575;height:100%;position:absolute;line-height:inherit}&lt;br /&gt;
input[type=checkbox].w3-check,input[type=radio].w3-radio{width:24px;height:24px;position:relative;top:6px}&lt;br /&gt;
input[type=checkbox].w3-check:checked+.w3-validate,input[type=radio].w3-radio:checked+.w3-validate{color:#009688} &lt;br /&gt;
input[type=checkbox].w3-check:disabled+.w3-validate,input[type=radio].w3-radio:disabled+.w3-validate{color:#aaa}&lt;br /&gt;
.w3-responsive{overflow-x:auto}&lt;br /&gt;
.w3-container:after,.w3-panel:after,.w3-row:after,.w3-row-padding:after,.w3-topnav:after,.w3-clear:after,.w3-btn-group:before,.w3-btn-group:after,.w3-btn-bar:before,.w3-btn-bar:after&lt;br /&gt;
{content:&amp;quot;&amp;quot;;display:table;clear:both}&lt;br /&gt;
.w3-col,.w3-half,.w3-third,.w3-twothird,.w3-threequarter,.w3-quarter{float:left;width:100%}&lt;br /&gt;
.w3-col.s1{width:8.33333%}&lt;br /&gt;
.w3-col.s2{width:16.66666%}&lt;br /&gt;
.w3-col.s3{width:24.99999%}&lt;br /&gt;
.w3-col.s4{width:33.33333%}&lt;br /&gt;
.w3-col.s5{width:41.66666%}&lt;br /&gt;
.w3-col.s6{width:49.99999%}&lt;br /&gt;
.w3-col.s7{width:58.33333%}&lt;br /&gt;
.w3-col.s8{width:66.66666%}&lt;br /&gt;
.w3-col.s9{width:74.99999%}&lt;br /&gt;
.w3-col.s10{width:83.33333%}&lt;br /&gt;
.w3-col.s11{width:91.66666%}&lt;br /&gt;
.w3-col.s12,.w3-half,.w3-third,.w3-twothird,.w3-threequarter,.w3-quarter{width:99.99999%}&lt;br /&gt;
@media only screen and (min-width:601px){&lt;br /&gt;
.w3-col.m1{width:8.33333%}&lt;br /&gt;
.w3-col.m2{width:16.66666%}&lt;br /&gt;
.w3-col.m3,.w3-quarter{width:24.99999%}&lt;br /&gt;
.w3-col.m4,.w3-third{width:33.33333%}&lt;br /&gt;
.w3-col.m5{width:41.66666%}&lt;br /&gt;
.w3-col.m6,.w3-half{width:49.99999%}&lt;br /&gt;
.w3-col.m7{width:58.33333%}&lt;br /&gt;
.w3-col.m8,.w3-twothird{width:66.66666%}&lt;br /&gt;
.w3-col.m9,.w3-threequarter{width:74.99999%}&lt;br /&gt;
.w3-col.m10{width:83.33333%}&lt;br /&gt;
.w3-col.m11{width:91.66666%}&lt;br /&gt;
.w3-col.m12{width:99.99999%}}&lt;br /&gt;
@media only screen and (min-width:993px){&lt;br /&gt;
.w3-col.l1{width:8.33333%}&lt;br /&gt;
.w3-col.l2{width:16.66666%}&lt;br /&gt;
.w3-col.l3,.w3-quarter{width:24.99999%}&lt;br /&gt;
.w3-col.l4,.w3-third{width:33.33333%}&lt;br /&gt;
.w3-col.l5{width:41.66666%}&lt;br /&gt;
.w3-col.l6,.w3-half{width:49.99999%}&lt;br /&gt;
.w3-col.l7{width:58.33333%}&lt;br /&gt;
.w3-col.l8,.w3-twothird{width:66.66666%}&lt;br /&gt;
.w3-col.l9,.w3-threequarter{width:74.99999%}&lt;br /&gt;
.w3-col.l10{width:83.33333%}&lt;br /&gt;
.w3-col.l11{width:91.66666%}&lt;br /&gt;
.w3-col.l12{width:99.99999%}}&lt;br /&gt;
.w3-content{max-width:980px;margin:auto}&lt;br /&gt;
.w3-rest{overflow:hidden}&lt;br /&gt;
.w3-hide{display:none!important}.w3-show-block,.w3-show{display:block!important}.w3-show-inline-block{display:inline-block!important}&lt;br /&gt;
@media (max-width:600px){.w3-modal-content{margin:0 10px;width:auto!important}.w3-modal{padding-top:30px}}&lt;br /&gt;
@media (max-width:768px){.w3-modal-content{width:500px}.w3-modal{padding-top:50px}}&lt;br /&gt;
@media (min-width:993px){.w3-modal-content{width:900px}}&lt;br /&gt;
@media screen and (max-width:600px){.w3-topnav a{display:block}.w3-navbar li:not(.w3-opennav){float:none;width:100%!important}.w3-navbar li.w3-right{float:none!important}}	&lt;br /&gt;
@media screen and (max-width:600px){.w3-topnav .w3-dropdown-hover .w3-dropdown-content,.w3-navbar .w3-dropdown-click .w3-dropdown-content,.w3-navbar .w3-dropdown-hover .w3-dropdown-content{position:relative}}	&lt;br /&gt;
@media screen and (max-width:600px){.w3-topnav,.w3-navbar{text-align:center}}&lt;br /&gt;
@media (max-width:600px){.w3-hide-small{display:none!important}}&lt;br /&gt;
@media (max-width:992px) and (min-width:601px){.w3-hide-medium{display:none!important}}&lt;br /&gt;
@media (min-width:993px){.w3-hide-large{display:none!important}}&lt;br /&gt;
@media screen and (max-width:992px){.w3-sidenav.w3-collapse{display:none}.w3-main{margin-left:0!important;margin-right:0!important}}&lt;br /&gt;
@media screen and (min-width:993px){.w3-sidenav.w3-collapse{display:block!important}}&lt;br /&gt;
.w3-top,.w3-bottom{position:fixed;width:100%;z-index:1}.w3-top{top:0}.w3-bottom{bottom:0}&lt;br /&gt;
.w3-overlay{position:fixed;display:none;width:100%;height:100%;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,0.5);z-index:2}&lt;br /&gt;
.w3-left{float:left!important}.w3-right{float:right!important}&lt;br /&gt;
.w3-tiny{font-size:10px!important}.w3-small{font-size:12px!important}&lt;br /&gt;
.w3-medium{font-size:15px!important}.w3-large{font-size:18px!important}&lt;br /&gt;
.w3-xlarge{font-size:24px!important}.w3-xxlarge{font-size:36px!important}&lt;br /&gt;
.w3-xxxlarge{font-size:48px!important}.w3-jumbo{font-size:64px!important}&lt;br /&gt;
.w3-vertical{word-break:break-all;line-height:1;text-align:center;width:0.6em}&lt;br /&gt;
.w3-left-align{text-align:left!important}.w3-right-align{text-align:right!important}&lt;br /&gt;
.w3-justify{text-align:justify!important}.w3-center{text-align:center!important}&lt;br /&gt;
.w3-display-topleft{position:absolute;left:0;top:0}.w3-display-topright{position:absolute;right:0;top:0}&lt;br /&gt;
.w3-display-bottomleft{position:absolute;left:0;bottom:0}.w3-display-bottomright{position:absolute;right:0;bottom:0}&lt;br /&gt;
.w3-display-middle{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%)}&lt;br /&gt;
.w3-display-left{position:absolute;top:50%;left:0%;transform:translate(0%,-50%);-ms-transform:translate(-0%,-50%)}&lt;br /&gt;
.w3-display-right{position:absolute;top:50%;right:0%;transform:translate(0%,-50%);-ms-transform:translate(0%,-50%)}&lt;br /&gt;
.w3-display-topmiddle{position:absolute;left:50%;top:0;transform:translate(-50%,0%);-ms-transform:translate(-50%,0%)}&lt;br /&gt;
.w3-display-bottommiddle{position:absolute;left:50%;bottom:0;transform:translate(-50%,0%);-ms-transform:translate(-50%,0%)}&lt;br /&gt;
.w3-circle{border-radius:50%!important}&lt;br /&gt;
.w3-round-small{border-radius:2px!important}.w3-round,.w3-round-medium{border-radius:4px!important}&lt;br /&gt;
.w3-round-large{border-radius:8px!important}.w3-round-xlarge{border-radius:16px!important}&lt;br /&gt;
.w3-round-xxlarge{border-radius:32px!important}.w3-round-jumbo{border-radius:64px!important}&lt;br /&gt;
.w3-border-0{border:0!important}.w3-border{border:1px solid #ccc!important}&lt;br /&gt;
.w3-border-top{border-top:1px solid #ccc!important}.w3-border-bottom{border-bottom:1px solid #ccc!important}&lt;br /&gt;
.w3-border-left{border-left:1px solid #ccc!important}.w3-border-right{border-right:1px solid #ccc!important}&lt;br /&gt;
.w3-margin{margin:16px!important}.w3-margin-0{margin:0!important}&lt;br /&gt;
.w3-margin-top{margin-top:16px!important}.w3-margin-bottom{margin-bottom:16px!important}&lt;br /&gt;
.w3-margin-left{margin-left:16px!important}.w3-margin-right{margin-right:16px!important}&lt;br /&gt;
.w3-section{margin-top:16px!important;margin-bottom:16px!important}&lt;br /&gt;
.w3-padding-tiny{padding:2px 4px!important}.w3-padding-small{padding:4px 8px!important}&lt;br /&gt;
.w3-padding-medium,.w3-padding,.w3-form{padding:8px 16px!important}&lt;br /&gt;
.w3-padding-large{padding:12px 24px!important}.w3-padding-xlarge{padding:16px 32px!important}&lt;br /&gt;
.w3-padding-xxlarge{padding:24px 48px!important}.w3-padding-jumbo{padding:32px 64px!important}&lt;br /&gt;
.w3-padding-4{padding-top:4px!important;padding-bottom:4px!important}&lt;br /&gt;
.w3-padding-8{padding-top:8px!important;padding-bottom:8px!important}&lt;br /&gt;
.w3-padding-12{padding-top:12px!important;padding-bottom:12px!important}&lt;br /&gt;
.w3-padding-16{padding-top:16px!important;padding-bottom:16px!important}&lt;br /&gt;
.w3-padding-24{padding-top:24px!important;padding-bottom:24px!important}&lt;br /&gt;
.w3-padding-32{padding-top:32px!important;padding-bottom:32px!important}&lt;br /&gt;
.w3-padding-48{padding-top:48px!important;padding-bottom:48px!important}&lt;br /&gt;
.w3-padding-64{padding-top:64px!important;padding-bottom:64px!important}&lt;br /&gt;
.w3-padding-128{padding-top:128px!important;padding-bottom:128px!important}&lt;br /&gt;
.w3-padding-0{padding:0!important}&lt;br /&gt;
.w3-padding-top{padding-top:8px!important}.w3-padding-bottom{padding-bottom:8px!important}&lt;br /&gt;
.w3-padding-left{padding-left:16px!important}.w3-padding-right{padding-right:16px!important}&lt;br /&gt;
.w3-topbar{border-top:6px solid #ccc!important}.w3-bottombar{border-bottom:6px solid #ccc!important}&lt;br /&gt;
.w3-leftbar{border-left:6px solid #ccc!important}.w3-rightbar{border-right:6px solid #ccc!important}&lt;br /&gt;
.w3-row-padding,.w3-row-padding&amp;gt;.w3-half,.w3-row-padding&amp;gt;.w3-third,.w3-row-padding&amp;gt;.w3-twothird,.w3-row-padding&amp;gt;.w3-threequarter,.w3-row-padding&amp;gt;.w3-quarter,.w3-row-padding&amp;gt;.w3-col{padding:0 8px}&lt;br /&gt;
.w3-spin{animation:w3-spin 2s infinite linear;-webkit-animation:w3-spin 2s infinite linear}&lt;br /&gt;
@-webkit-keyframes w3-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}&lt;br /&gt;
@keyframes w3-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}&lt;br /&gt;
.w3-container{padding:0.01em 16px}&lt;br /&gt;
.w3-panel{padding:0.01em 16px;margin-top:16px!important;margin-bottom:16px!important}&lt;br /&gt;
.w3-example{background-color:#f1f1f1;padding:0.01em 16px}&lt;br /&gt;
.w3-code,.w3-codespan{font-family:Consolas,&amp;quot;courier new&amp;quot;;font-size:16px}&lt;br /&gt;
.w3-code{line-height:1.4;width:auto;background-color:#fff;padding:8px 12px;border-left:4px solid #4CAF50;word-wrap:break-word}&lt;br /&gt;
.w3-codespan{color:crimson;background-color:#f1f1f1;padding-left:4px;padding-right:4px;font-size:110%}&lt;br /&gt;
.w3-example,.w3-code{margin:20px 0}.w3-card{border:1px solid #ccc}&lt;br /&gt;
.w3-card-2,.w3-example{box-shadow:0 2px 4px 0 rgba(0,0,0,0.16),0 2px 10px 0 rgba(0,0,0,0.12)!important}&lt;br /&gt;
.w3-card-4,.w3-hover-shadow:hover{box-shadow:0 4px 8px 0 rgba(0,0,0,0.2),0 6px 20px 0 rgba(0,0,0,0.19)!important}&lt;br /&gt;
.w3-card-8{box-shadow:0 8px 16px 0 rgba(0,0,0,0.2),0 6px 20px 0 rgba(0,0,0,0.19)!important}&lt;br /&gt;
.w3-card-12{box-shadow:0 12px 16px 0 rgba(0,0,0,0.24),0 17px 50px 0 rgba(0,0,0,0.19)!important}&lt;br /&gt;
.w3-card-16{box-shadow:0 16px 24px 0 rgba(0,0,0,0.22),0 25px 55px 0 rgba(0,0,0,0.21)!important}&lt;br /&gt;
.w3-card-24{box-shadow:0 24px 24px 0 rgba(0,0,0,0.2),0 40px 77px 0 rgba(0,0,0,0.22)!important}&lt;br /&gt;
.w3-animate-fading{-webkit-animation:fading 10s infinite;animation:fading 10s infinite}&lt;br /&gt;
@-webkit-keyframes fading{0%{opacity:0}50%{opacity:1}100%{opacity:0}}&lt;br /&gt;
@keyframes fading{0%{opacity:0}50%{opacity:1}100%{opacity:0}}&lt;br /&gt;
.w3-animate-opacity{-webkit-animation:opac 0.8s;animation:opac 0.8s}&lt;br /&gt;
@-webkit-keyframes opac{from{opacity:0} to{opacity:1}}&lt;br /&gt;
@keyframes opac{from{opacity:0} to{opacity:1}}&lt;br /&gt;
.w3-animate-top{position:relative;-webkit-animation:animatetop 0.4s;animation:animatetop 0.4s}&lt;br /&gt;
@-webkit-keyframes animatetop{from{top:-300px;opacity:0} to{top:0;opacity:1}}&lt;br /&gt;
@keyframes animatetop{from{top:-300px;opacity:0} to{top:0;opacity:1}}&lt;br /&gt;
.w3-animate-left{position:relative;-webkit-animation:animateleft 0.4s;animation:animateleft 0.4s}&lt;br /&gt;
@-webkit-keyframes animateleft{from{left:-300px;opacity:0} to{left:0;opacity:1}}&lt;br /&gt;
@keyframes animateleft{from{left:-300px;opacity:0} to{left:0;opacity:1}}&lt;br /&gt;
.w3-animate-right{position:relative;-webkit-animation:animateright 0.4s;animation:animateright 0.4s}&lt;br /&gt;
@-webkit-keyframes animateright{from{right:-300px;opacity:0} to{right:0;opacity:1}}&lt;br /&gt;
@keyframes animateright{from{right:-300px;opacity:0} to{right:0;opacity:1}}&lt;br /&gt;
.w3-animate-bottom{position:relative;-webkit-animation:animatebottom 0.4s;animation:animatebottom 0.4s}&lt;br /&gt;
@-webkit-keyframes animatebottom{from{bottom:-300px;opacity:0} to{bottom:0px;opacity:1}}&lt;br /&gt;
@keyframes animatebottom{from{bottom:-300px;opacity:0} to{bottom:0;opacity:1}}&lt;br /&gt;
.w3-animate-zoom {-webkit-animation:animatezoom 0.6s;animation:animatezoom 0.6s}&lt;br /&gt;
@-webkit-keyframes animatezoom{from{-webkit-transform:scale(0)} to{-webkit-transform:scale(1)}}&lt;br /&gt;
@keyframes animatezoom{from{transform:scale(0)} to{transform:scale(1)}}&lt;br /&gt;
.w3-animate-input{-webkit-transition:width 0.4s ease-in-out;transition:width 0.4s ease-in-out}.w3-animate-input:focus{width:100%!important}&lt;br /&gt;
.w3-opacity,.w3-hover-opacity:hover{opacity:0.60;filter:alpha(opacity=60);-webkit-backface-visibility:hidden}&lt;br /&gt;
.w3-opacity-off,.w3-hover-opacity-off:hover{opacity:1;filter:alpha(opacity=100);-webkit-backface-visibility:hidden}&lt;br /&gt;
.w3-opacity-max{opacity:0.25;filter:alpha(opacity=25);-webkit-backface-visibility:hidden}&lt;br /&gt;
.w3-opacity-min{opacity:0.75;filter:alpha(opacity=75);-webkit-backface-visibility:hidden}&lt;br /&gt;
.w3-greyscale-max,.w3-grayscale-max,.w3-hover-greyscale:hover,.w3-hover-grayscale:hover{-webkit-filter:grayscale(100%);filter:grayscale(100%)}&lt;br /&gt;
.w3-greyscale,.w3-grayscale{-webkit-filter:grayscale(75%);filter:grayscale(75%)}&lt;br /&gt;
.w3-greyscale-min,.w3-grayscale-min{-webkit-filter:grayscale(50%);filter:grayscale(50%)}&lt;br /&gt;
.w3-sepia{-webkit-filter:sepia(75%);filter:sepia(75%)}&lt;br /&gt;
.w3-sepia-max,.w3-hover-sepia:hover{-webkit-filter:sepia(100%);filter:sepia(100%)}&lt;br /&gt;
.w3-sepia-min{-webkit-filter:sepia(50%);filter:sepia(50%)}&lt;br /&gt;
.w3-text-shadow{text-shadow:1px 1px 0 #444}.w3-text-shadow-white{text-shadow:1px 1px 0 #ddd}&lt;br /&gt;
.w3-transparent{background-color:transparent!important}&lt;br /&gt;
.w3-hover-none:hover{box-shadow:none!important;background-color:transparent!important}&lt;br /&gt;
/* Colors */&lt;br /&gt;
.w3-amber,.w3-hover-amber:hover{color:#000!important;background-color:#ffc107!important}&lt;br /&gt;
.w3-aqua,.w3-hover-aqua:hover{color:#000!important;background-color:#00ffff!important}&lt;br /&gt;
.w3-blue,.w3-hover-blue:hover{color:#fff!important;background-color:#2196F3!important}&lt;br /&gt;
.w3-light-blue,.w3-hover-light-blue:hover{color:#000!important;background-color:#87CEEB!important}&lt;br /&gt;
.w3-autumn-grey,.w3-hover-light-blue:hover{color:#000!important;background-color:#D6CFC9!important}&lt;br /&gt;
.w3-autumn-light-grey,.w3-hover-light-blue:hover{color:#000!important;background-color:#D0CDCA!important}&lt;br /&gt;
.w3-autumn-pink,.w3-hover-light-blue:hover{color:#000!important;background-color:#E87F60!important}&lt;br /&gt;
.w3-autumn-brown,.w3-hover-light-blue:hover{color:#000!important;background-color:#D6C1A7!important}&lt;br /&gt;
.w3-autumn-green,.w3-hover-light-blue:hover{color:#000!important;background-color:#6bae6b!important}&lt;br /&gt;
.w3-autumn-red,.w3-hover-light-blue:hover{color:#000!important;background-color:#ff9980!important}&lt;br /&gt;
.w3-autumn-yellow,.w3-hover-light-blue:hover{color:#000!important;background-color:#f0f075!important}&lt;br /&gt;
.w3-brown,.w3-hover-brown:hover{color:#fff!important;background-color:#795548!important}&lt;br /&gt;
.w3-cyan,.w3-hover-cyan:hover{color:#000!important;background-color:#00bcd4!important}&lt;br /&gt;
.w3-blue-grey,.w3-hover-blue-grey:hover,.w3-blue-gray,.w3-hover-blue-gray:hover{color:#fff!important;background-color:#607d8b!important}&lt;br /&gt;
.w3-green,.w3-hover-green:hover{color:#fff!important;background-color:#4CAF50!important}&lt;br /&gt;
.w3-light-green,.w3-hover-light-green:hover{color:#000!important;background-color:#8bc34a!important}&lt;br /&gt;
.w3-indigo,.w3-hover-indigo:hover{color:#fff!important;background-color:#3f51b5!important}&lt;br /&gt;
.w3-khaki,.w3-hover-khaki:hover{color:#000!important;background-color:#f0e68c!important}&lt;br /&gt;
.w3-lime,.w3-hover-lime:hover{color:#000!important;background-color:#cddc39!important}&lt;br /&gt;
.w3-orange,.w3-hover-orange:hover{color:#000!important;background-color:#ff9800!important}&lt;br /&gt;
.w3-deep-orange,.w3-hover-deep-orange:hover{color:#fff!important;background-color:#ff5722!important}&lt;br /&gt;
.w3-pink,.w3-hover-pink:hover{color:#fff!important;background-color:#e91e63!important}&lt;br /&gt;
.w3-purple,.w3-hover-purple:hover{color:#fff!important;background-color:#9c27b0!important}&lt;br /&gt;
.w3-deep-purple,.w3-hover-deep-purple:hover{color:#fff!important;background-color:#673ab7!important}&lt;br /&gt;
.w3-red,.w3-hover-red:hover{color:#fff!important;background-color:#f44336!important}&lt;br /&gt;
.w3-sand,.w3-hover-sand:hover{color:#000!important;background-color:#fdf5e6!important}&lt;br /&gt;
a:link {&lt;br /&gt;
  color: #36b;&lt;br /&gt;
}&lt;br /&gt;
.w3-teal,.w3-hover-teal:hover{color:#fff!important;background-color:#009688!important}&lt;br /&gt;
.w3-yellow,.w3-hover-yellow:hover{color:#000!important;background-color:#ffeb3b!important}&lt;br /&gt;
.w3-white,.w3-hover-white:hover{color:#000!important;background-color:#fff!important}&lt;br /&gt;
.w3-black,.w3-hover-black:hover{color:#fff!important;background-color:#000!important}&lt;br /&gt;
.w3-grey,.w3-hover-grey:hover,.w3-gray,.w3-hover-gray:hover{color:#000!important;background-color:#9e9e9e!important}&lt;br /&gt;
.w3-light-grey,.w3-hover-light-grey:hover,.w3-light-gray,.w3-hover-light-gray:hover{color:#000!important;background-color:#f1f1f1!important}&lt;br /&gt;
.w3-dark-grey,.w3-hover-dark-grey:hover,.w3-dark-gray,.w3-hover-dark-gray:hover{color:#fff!important;background-color:#616161!important}&lt;br /&gt;
.w3-pale-red,.w3-hover-pale-red:hover{color:#000!important;background-color:#ffdddd!important}&lt;br /&gt;
.w3-pale-green,.w3-hover-pale-green:hover{color:#000!important;background-color:#ddffdd!important}&lt;br /&gt;
.w3-pale-yellow,.w3-hover-pale-yellow:hover{color:#000!important;background-color:#ffffcc!important}&lt;br /&gt;
.w3-pale-blue,.w3-hover-pale-blue:hover{color:#000!important;background-color:#ddffff!important}&lt;br /&gt;
.w3-text-amber,.w3-hover-text-amber:hover{color:#ffc107!important}&lt;br /&gt;
.w3-text-aqua,.w3-hover-text-aqua:hover{color:#00ffff!important}&lt;br /&gt;
.w3-text-blue,.w3-hover-text-blue:hover{color:#2196F3!important}&lt;br /&gt;
.w3-text-light-blue,.w3-hover-text-light-blue:hover{color:#87CEEB!important}&lt;br /&gt;
.w3-text-brown,.w3-hover-text-brown:hover{color:#795548!important}&lt;br /&gt;
.w3-text-cyan,.w3-hover-text-cyan:hover{color:#00bcd4!important}&lt;br /&gt;
.w3-text-blue-grey,.w3-hover-text-blue-grey:hover,.w3-text-blue-gray,.w3-hover-text-blue-gray:hover{color:#607d8b!important}&lt;br /&gt;
.w3-text-green,.w3-hover-text-green:hover{color:#4CAF50!important}&lt;br /&gt;
.w3-text-light-green,.w3-hover-text-light-green:hover{color:#8bc34a!important}&lt;br /&gt;
.w3-text-indigo,.w3-hover-text-indigo:hover{color:#3f51b5!important}&lt;br /&gt;
.w3-text-khaki,.w3-hover-text-khaki:hover{color:#b4aa50!important}&lt;br /&gt;
.w3-text-lime,.w3-hover-text-lime:hover{color:#cddc39!important}&lt;br /&gt;
.w3-text-orange,.w3-hover-text-orange:hover{color:#ff9800!important}&lt;br /&gt;
.w3-text-deep-orange,.w3-hover-text-deep-orange:hover{color:#ff5722!important}&lt;br /&gt;
.w3-text-pink,.w3-hover-text-pink:hover{color:#e91e63!important}&lt;br /&gt;
.w3-text-purple,.w3-hover-text-purple:hover{color:#9c27b0!important}&lt;br /&gt;
.w3-text-deep-purple,.w3-hover-text-deep-purple:hover{color:#673ab7!important}&lt;br /&gt;
.w3-text-red,.w3-hover-text-red:hover{color:#f44336!important}&lt;br /&gt;
.w3-text-sand,.w3-hover-text-sand:hover{color:#fdf5e6!important}&lt;br /&gt;
.w3-text-teal,.w3-hover-text-teal:hover{color:#009688!important}&lt;br /&gt;
.w3-text-yellow,.w3-hover-text-yellow:hover{color:#d2be0e!important}&lt;br /&gt;
.w3-text-white,.w3-hover-text-white:hover{color:#fff!important}&lt;br /&gt;
.w3-text-black,.w3-hover-text-black:hover{color:#000!important}&lt;br /&gt;
.w3-text-grey,.w3-hover-text-grey:hover,.w3-text-gray,.w3-hover-text-gray:hover{color:#757575!important}&lt;br /&gt;
.w3-text-light-grey,.w3-hover-text-light-grey:hover,.w3-text-light-gray,.w3-hover-text-light-gray:hover{color:#f1f1f1!important}&lt;br /&gt;
.w3-text-dark-grey,.w3-hover-text-dark-grey:hover,.w3-text-dark-gray,.w3-hover-text-dark-gray:hover{color:#3a3a3a!important}&lt;br /&gt;
.w3-border-amber,.w3-hover-border-amber:hover{border-color:#ffc107!important}&lt;br /&gt;
.w3-border-aqua,.w3-hover-border-aqua:hover{border-color:#00ffff!important}&lt;br /&gt;
.w3-border-blue,.w3-hover-border-blue:hover{border-color:#2196F3!important}&lt;br /&gt;
.w3-border-light-blue,.w3-hover-border-light-blue:hover{border-color:#87CEEB!important}&lt;br /&gt;
.w3-border-brown,.w3-hover-border-brown:hover{border-color:#795548!important}&lt;br /&gt;
.w3-border-cyan,.w3-hover-border-cyan:hover{border-color:#00bcd4!important}&lt;br /&gt;
.w3-border-blue-grey,.w3-hover-blue-grey:hover,.w3-border-blue-gray,.w3-hover-blue-gray:hover{border-color:#607d8b!important}&lt;br /&gt;
.w3-border-green,.w3-hover-border-green:hover{border-color:#4CAF50!important}&lt;br /&gt;
.w3-border-light-green,.w3-hover-border-light-green:hover{border-color:#8bc34a!important}&lt;br /&gt;
.w3-border-indigo,.w3-hover-border-indigo:hover{border-color:#3f51b5!important}&lt;br /&gt;
.w3-border-khaki,.w3-hover-border-khaki:hover{border-color:#f0e68c!important}&lt;br /&gt;
.w3-border-lime,.w3-hover-border-lime:hover{border-color:#cddc39!important}&lt;br /&gt;
.w3-border-orange,.w3-hover-border-orange:hover{border-color:#ff9800!important}&lt;br /&gt;
.w3-border-deep-orange,.w3-hover-border-deep-orange:hover{border-color:#ff5722!important}&lt;br /&gt;
.w3-border-pink,.w3-hover-border-pink:hover{border-color:#e91e63!important}&lt;br /&gt;
.w3-border-purple,.w3-hover-border-purple:hover{border-color:#9c27b0!important}&lt;br /&gt;
.w3-border-deep-purple,.w3-hover-border-deep-purple:hover{border-color:#673ab7!important}&lt;br /&gt;
.w3-border-red,.w3-hover-border-red:hover{border-color:#f44336!important}&lt;br /&gt;
.w3-border-sand,.w3-hover-border-sand:hover{border-color:#fdf5e6!important}&lt;br /&gt;
.w3-border-teal,.w3-hover-border-teal:hover{border-color:#009688!important}&lt;br /&gt;
.w3-border-yellow,.w3-hover-border-yellow:hover{border-color:#ffeb3b!important}&lt;br /&gt;
.w3-border-white,.w3-hover-border-white:hover{border-color:#fff!important}&lt;br /&gt;
.w3-border-black,.w3-hover-border-black:hover{border-color:#000!important}&lt;br /&gt;
.w3-border-grey,.w3-hover-border-grey:hover,.w3-border-gray,.w3-hover-border-gray:hover{border-color:#9e9e9e!important}&lt;br /&gt;
.w3-border-light-grey,.w3-hover-border-light-grey:hover,.w3-border-light-gray,.w3-hover-border-light-gray:hover{border-color:#f1f1f1!important}&lt;br /&gt;
.w3-border-dark-grey,.w3-hover-border-dark-grey:hover,.w3-border-dark-gray,.w3-hover-border-dark-gray:hover{border-color:#616161!important}&lt;br /&gt;
.w3-border-pale-red,.w3-hover-border-pale-red:hover{border-color:#ffe7e7!important}.w3-border-pale-green,.w3-hover-border-pale-green:hover{border-color:#e7ffe7!important}&lt;br /&gt;
.w3-border-pale-yellow,.w3-hover-border-pale-yellow:hover{border-color:#ffffcc!important}.w3-border-pale-blue,.w3-hover-border-pale-blue:hover{border-color:#e7ffff!important}&lt;br /&gt;
&lt;br /&gt;
img, object, embed {&lt;br /&gt;
    height: auto;&lt;br /&gt;
    max-width: 100%;&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Atomix</name></author>
	</entry>
</feed>