The formatfield component formats an input field using
- language sensitive **numberformatting**. It acts as a "pluggable"
+ language sensitive number formatting. It acts as a "pluggable"
component. It can be added to a mdl-textfield
component or to
a <input>
element.
diff --git a/lib/mdl-ext-eqjs.css.map b/lib/mdl-ext-eqjs.css.map
index 2eee4b7..c2c7f12 100644
--- a/lib/mdl-ext-eqjs.css.map
+++ b/lib/mdl-ext-eqjs.css.map
@@ -1 +1 @@
-{"version":3,"sources":["webpack:///webpack:///~/material-design-lite/src/_variables.scss","webpack:///webpack:///src/mdl-ext-eqjs-build.scss","webpack:///webpack:///~/material-design-lite/src/_color-definitions.scss","webpack:///webpack:///~/material-design-lite/src/_functions.scss","webpack:///webpack:///~/material-design-lite/src/_mixins.scss","webpack:///webpack:///src/mdl-ext-eqjs.scss","webpack:///webpack:///src/_variables.scss","webpack:///webpack:///src/_functions.scss","webpack:///webpack:///src/aria-expanded-toggle/_aria-expanded-toggle.scss","webpack:///webpack:///src/_mixins.scss","webpack:///webpack:///src/sticky-header/_sticky-header.scss","webpack:///webpack:///src/dialog/dialog.scss","webpack:///webpack:///src/grid/_grid-eqjs.scss","webpack:///webpack:///~/eq.js/sass/_eq.scss","webpack:///webpack:///src/lightboard/_lightboard.scss","webpack:///webpack:///src/lightboard/_lightboard-eqjs.scss","webpack:///webpack:///src/lightbox/_lightbox.scss","webpack:///webpack:///src/carousel/_carousel.scss","webpack:///webpack:///src/selectfield/_selectfield.scss","webpack:///webpack:///src/menu-button/_menu-button.scss","webpack:///webpack:///src/bordered-fields/_bordered-fields.scss","webpack:///webpack:///src/collapsible/_collapsible.scss","webpack:///webpack:///src/accordion/_accordion.scss","webpack:///webpack:///src/color-themes/_color-themes.scss","webpack:///webpack:///src/color-themes/_light-color-theme.scss","webpack:///webpack:///src/color-themes/_dark-color-theme.scss"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GCcG;;ADEH;wCCCwC;;ADExC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GCgCG;;ADGH;;AAEA;;;;;;;;;ECQE;;ADKF;;AAEA;;;;;GCEG;;ACzEH;;;;;;;;;;;;;;GDyFG;;ACzEH;;AAikBA;;ACjlBA;;;;;;;;;;;;;;GF6GG;;AD5BH;;AAGA;;AA8BA;;AAgBA;;AAEA;;AAkCA;;AAQA;;AAMA;;AAIA;;AAqBA;;AAOA;;AAQA;;AAYA;;AASA;;AAUA;;AASA;;AAOA;;AAMA;;AAOA;;AAaA;;AAIA;;AAKA;;AASA;;AAYA;;AAYA;;AAgBA;;AAWA;;AAKA;;AAeA;;AA6BA;;AAMA;;AAEA;;AAOA;;AAMA;;AAWA;;AAEA;;AA0BA;;AAKA;;AACA;;;;GC9RG;;ADiTH;;AAQA;;AAGA;;AAUA;;AAMA;;AAqBA;;AA6BA;;AAGA;;AAOA;;AAIA;;AI3kBA;;;;;;;;;;;;;;GHmOG;;AGnNH;;AA+MA;;AA6CA;;AAsBA;;AChSA;;;;;;;;;;;GJsPG;;AKxPH;;;;;;;;;;;;;;GLwQG;;AMnMH;;AAqCA;;AD/CA;;AAUA;;AAWA;;AAEA;;AAoBA;;AAQA;;AAUA;;AA8CA;;AAQA;;AAkDA;;AC3JA;;AAqCA;;AArCA;;AAqCA;;ACxGA;;;;;;;;;;;;;;;;;;GP0TG;;AMvPH;;AAqCA;;AClFA;ECiDE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;EAGA;EAGA;EAGA;CRmPD;;AO9TD;EC8EI;EACA;CRoPH;;AAxFC;EQvJI;EACA;CRmPL;;AOpUD;EC6CE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;EAGA;EAGA;EAGA;CRmRD;;AQjRC;EACE;EACA;CRoRH;;AA7FC;EQlLI;EACA;CRmRL;;AShYD;;;;;;;;;;;;;;GTgZG;;AKhZH;;;;;;;;;;;;;;GLgaG;;AM3VH;;AAqCA;;AD/CA;;AAUA;;AAWA;;AAEA;;AAoBA;;AAQA;;AAUA;;AA8CA;;AAQA;;AAkDA;;AI3MA;EACE;EACA;EACA;EACA;CTsaD;;ASpaC;EACE;CTuaH;;ASnaD;EAEI;CTqaH;;ASvaD;EAKI;CTsaH;;ASla2C;;EAE1C;EAAA;CTqaD;;ASnaC;;EACE;CTuaH;;AS5aD;;EAQI;CTyaH;;AU1dD;;;;;;;;;;;;;;;;;;GV8eG;;AK9eH;;;;;;;;;;;;;;GL8fG;;AMzbH;;AAqCA;;AD/CA;;AAUA;;AAWA;;AAEA;;AAoBA;;AAQA;;AAUA;;AA8CA;;AAQA;;AAkDA;;AK1MA;EACE;EACA;EACA;EACA;EACA;CVmgBD;;AUjgBC;EACE;CVogBH;;AU5gBD;EAWI;CVqgBH;;AUhhBD;EAWI;CVqgBH;;AUhhBD;EAcI;CVsgBH;;AUlgBD;EACE;IAAK;GVsgBJ;CACF;;AUrgBD;EACE;IAAK;GVygBJ;CACF;;AWpjBD;;;;;;;;;;;;;;;;;GXukBG;;AW5iBH;EACE;EAAA;EACA;MAAA;EACA;EACA;MAAA;CX+iBD;;AWnjBD;EAOI;CXgjBH;;AWvjBD;EAWI;CXgjBH;;AW3jBD;EAeI;MAAA;CXgjBH;;AW/jBD;EAmBI;MAAA;MAAA;CXgjBH;;AWnkBD;EAuBI;MAAA;CXgjBH;;AWvkBD;EA2BI;MAAA;MAAA;CXgjBH;;AW3kBD;EA+BI;CXgjBH;;AW3iBO;EACF;MAAA;CX8iBL;;AW/iBO;EACF;MAAA;CXkjBL;;AWnjBO;EACF;MAAA;CXsjBL;;AWvjBO;EACF;MAAA;CX0jBL;;AW3jBO;EACF;MAAA;CX8jBL;;AW/jBO;EACF;MAAA;CXkkBL;;AWnkBO;EACF;MAAA;CXskBL;;AWvkBO;EACF;MAAA;CX0kBL;;AW3kBO;EACF;MAAA;CX8kBL;;AW/kBO;EACF;MAAA;CXklBL;;AWnlBO;EACF;MAAA;CXslBL;;AWvlBO;EACF;MAAA;CX0lBL;;AW/jBD;ECSI;EACA;CZ0jBH;;AY7nBK;EDmEF;CX8jBH;;AW5jBO;EACF;EAjCJ;CXimBD;;AW7kBD;EAkBM;CX+jBL;;AWjlBD;EAwBQ;MAAA;CX6jBP;;AWrlBD;EAwBQ;MAAA;CXikBP;;AWzlBD;EAwBQ;MAAA;CXqkBP;;AW7lBD;EAwBQ;MAAA;CXykBP;;AWjmBD;EAwBQ;MAAA;CX6kBP;;AWrmBD;EAwBQ;MAAA;CXilBP;;AWzmBD;EAwBQ;MAAA;CXqlBP;;AWtlBS;EACF;MAAA;CXylBP;;AW1lBS;EACF;MAAA;CX6lBP;;AW9lBS;EACF;MAAA;CXimBP;;AWlmBS;EACF;MAAA;CXqmBP;;AW7nBD;EAwBQ;MAAA;CXymBP;;AWjoBD;;EApBE;CX0pBD;;AWtoBD;;EApBE;CX+pBD;;AW3oBD;;EApBE;CXoqBD;;AWhpBD;;EApBE;CXyqBD;;AWrpBD;;EApBE;CX8qBD;;AWpnBS;;EA1DR;CXmrBD;;AW/pBD;;EApBE;CXwrBD;;AWpqBD;;EApBE;CX6rBD;;AWzqBD;;EApBE;CXksBD;;AW9qBD;;EApBE;CXusBD;;AWnrBD;;EApBE;CX4sBD;;AWxrBD;;EApBE;CXitBD;;AW7rBD;;EAdE;CXgtBD;;AWppBS;;EA5DR;CXqtBD;;AWzpBS;;EA5DR;CX0tBD;;AWxpBG;EACE;CX2pBL;;AWzpBS;EACF;EAlEN;CX+tBD;;AWjqBG;;EA9DF;CXouBD;;AW5pBW;;EAxEV;CXyuBD;;AW3qBG;;EA9DF;CX8uBD;;AWhrBG;;EA9DF;CXmvBD;;AWnqBW;;EAhFV;CXwvBD;;AW1rBG;;EA9DF;CX6vBD;;AW/rBG;;EA9DF;CXkwBD;;AWlrBW;;EAhFV;CXuwBD;;AWzsBG;;EA9DF;CX4wBD;;AW9sBG;;EA9DF;CXixBD;;AWjsBW;;EAhFV;CXsxBD;;AWtsBW;;EAhFV;CX2xBD;;AW7tBG;;EAxDF;CX0xBD;;AWxsBW;;EAlFV;CX+xBD;;AWvuBG;;EAxDF;CXoyBD;;AYz1BK;EDiJF;CX4sBH;;AW1sBO;EACF;EA/GJ;CX6zBD;;AWzyBD;EAgGM;CX6sBL;;AWxsBS;EACF;MAAA;CX2sBP;;AWjzBD;EAsGQ;MAAA;CX+sBP;;AWrzBD;EAsGQ;MAAA;CXmtBP;;AWzzBD;EAsGQ;MAAA;CXutBP;;AW7zBD;EAsGQ;MAAA;CX2tBP;;AWj0BD;EAsGQ;MAAA;CX+tBP;;AWr0BD;EAsGQ;MAAA;CXmuBP;;AWz0BD;EAsGQ;MAAA;CXuuBP;;AWxuBS;EACF;MAAA;CX2uBP;;AW5uBS;EACF;MAAA;CX+uBP;;AWhvBS;EACF;MAAA;CXmvBP;;AWpvBS;EACF;MAAA;CXuvBP;;AW71BD;;EApBE;CXs3BD;;AWl2BD;;EApBE;CX23BD;;AWv2BD;;EApBE;CXg4BD;;AW52BD;;EApBE;CXq4BD;;AWj3BD;;EApBE;CX04BD;;AWt3BD;;EApBE;CX+4BD;;AW33BD;;EApBE;CXo5BD;;AW5wBS;;EAxIR;CXy5BD;;AWjxBS;;EAxIR;CX85BD;;AW14BD;;EApBE;CXm6BD;;AW/4BD;;EApBE;CXw6BD;;AWp5BD;;EApBE;CX66BD;;AWz5BD;;EAdE;CX46BD;;AW95BD;;EAdE;CXi7BD;;AWvyBS;;EA1IR;CXs7BD;;AW5yBS;;EA1IR;CX27BD;;AWjzBS;;EA1IR;CXg8BD;;AWtzBS;;EA1IR;CXq8BD;;AWv7BD;;EAdE;CX08BD;;AYr/BK;ED4LA;CX6zBL;;AW3zBS;EACF;EAhJN;CX+8BD;;AWn0BG;;EA5IF;CXo9BD;;AWx0BG;;EA5IF;CXy9BD;;AWn0BW;;EAtJV;CX89BD;;AWl1BG;;EA5IF;CXm+BD;;AWv1BG;;EA5IF;CXw+BD;;AWl1BW;;EAtJV;CX6+BD;;AWj2BG;;EA5IF;CXk/BD;;AWt2BG;;EA5IF;CXu/BD;;AWz1BW;;EA9JV;CX4/BD;;AWh3BG;;EA5IF;CXigCD;;AWn2BW;;EA9JV;CXsgCD;;AWx2BW;;EA9JV;CX2gCD;;AW/3BG;;EAtIF;CX0gCD;;AWp4BG;;EAtIF;CX+gCD;;AW/2BW;;EAhKV;CXohCD;;AW94BG;;EAtIF;CXyhCD;;AWn5BG;;EAtIF;CX8hCD;;AW93BW;;EAhKV;CXmiCD;;AW75BG;;EAtIF;CXwiCD;;AY7lCK;ED+NF;CXk4BH;;AWxiCD;EAyKM;EA7LJ;CXikCD;;AWh4BO;EACF;CXm4BL;;AW93BS;EACF;MAAA;CXi4BP;;AWl4BS;EACF;MAAA;CXq4BP;;AWt4BS;EACF;MAAA;CXy4BP;;AW7jCD;EAoLQ;MAAA;CX64BP;;AWjkCD;EAoLQ;MAAA;CXi5BP;;AWrkCD;EAoLQ;MAAA;CXq5BP;;AWzkCD;EAoLQ;MAAA;CXy5BP;;AW7kCD;EAoLQ;MAAA;CX65BP;;AWjlCD;EAoLQ;MAAA;CXi6BP;;AWrlCD;EAoLQ;MAAA;CXq6BP;;AWt6BS;EACF;MAAA;CXy6BP;;AW16BS;EACF;MAAA;CX66BP;;AWv6BS;;EA9MR;CX0nCD;;AW56BS;;EA9MR;CX+nCD;;AW3mCD;;EApBE;CXooCD;;AWhnCD;;EApBE;CXyoCD;;AWrnCD;;EApBE;CX8oCD;;AWh8BS;;EA9MR;CXmpCD;;AWr8BS;;EA9MR;CXwpCD;;AW18BS;;EA9MR;CX6pCD;;AW/8BS;;EA9MR;CXkqCD;;AW9oCD;;EApBE;CXuqCD;;AWnpCD;;EApBE;CX4qCD;;AWxpCD;;EApBE;CXirCD;;AW7pCD;;EAdE;CXgrCD;;AWlqCD;;EAdE;CXqrCD;;AWvqCD;;EAdE;CX0rCD;;AW5qCD;;EAdE;CX+rCD;;AW/+BS;;EAhNR;CXosCD;;AWp/BS;;EAhNR;CXysCD;;AWz/BS;;EAhNR;CX8sCD;;AW9/BS;;EAhNR;CXmtCD;;AWrsCD;;EAdE;CXwtCD;;AW1sCD;;EAdE;CX6tCD;;AW/sCD;;EAdE;CXkuCD;;AY7wCK;EDkQA;CX+gCL;;AWhhCG;EAII;EAtNN;CXuuCD;;AW3gCW;;EA5NV;CX4uCD;;AW1hCG;;EAlNF;CXivCD;;AW/hCG;;EAlNF;CXsvCD;;AW1hCW;;EA5NV;CX2vCD;;AW/hCW;;EA5NV;CXgwCD;;AW9iCG;;EAlNF;CXqwCD;;AWziCW;;EA5NV;CX0wCD;;AWxjCG;;EAlNF;CX+wCD;;AW7jCG;;EAlNF;CXoxCD;;AWxjCW;;EA5NV;CXyxCD;;AWvkCG;;EAlNF;CX8xCD;;AW5kCG;;EAlNF;CXmyCD;;AW/jCW;;EA9NV;CXkyCD;;AWtlCG;;EA5MF;CXuyCD;;AW3lCG;;EA5MF;CX4yCD;;AW9kCW;;EA9NV;CXizCD;;AWrmCG;;EA5MF;CXszCD;;AWxlCW;;EA9NV;CX2zCD;;AW/mCG;;EA5MF;CXg0CD;;AWpnCG;;EA5MF;CXq0CD;;AWvmCW;;EA9NV;CX00CD;;AW9nCG;;EA5MF;CX+0CD;;AWnoCG;;E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;;GhB+8DG;;AgBv8DH;EACE;ChB08DD;;AgBv8DD;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;ChB08DD;;AgBv8DD;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;ChB08DD;;AgBr8DG;;EAIE;EACA;ChBs8DL;;AgBx9DD;;EAwBI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;ChBq8DH;;AgBt+DD;EAsCI;ChBo8DH;;AgB1+DD;EA0CI;EACA;EACA;EACA;EACA;ChBo8DH;;AgBl/DD;EAiDM;EACA;ChBq8DL;;AgBv/DD;EAsDM;Eb7EF;EAgIF;EACA;EACA;EACA;EanDI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;ChBw8DL;;AgB3gED;EA0EQ;EACA;ChBq8DP;;AgBhhED;EAiFI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;ChBm8DH;;AgBj8DK;EACA;ChBo8DL;;AiB3kED;;;;;;;;;;;;;;GjB2lEG;;AiB3kEH;;;;;;;;GjBqlEG;;AMhiEH;;AAqCA;;AWzEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CjB2kED;;AiBnlED;EAYI;EACA;CjB2kEH;;AiBvkEC;ETzCA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAKE;EACA;ES8BA;EACA;EACA;EACA;EACA;CjBmlEH;;AiB9kEC;EACE;ETtDF;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAKE;EACA;CRooEH;;AiBtlED;EACE;CjBylED;;AiBrlED;EACE;CjBwlED;;AiBplED;EACE;EACA;EACA;CjBulED;;AiBnlED;EAGE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CjBklED;;AiB3mED;EA6BI;EACA;CjBklEH;;AiBhnED;EAmCI;EACA;CjBilEH;;AiB9kEC;EACE;CjBilEH;;AiB9kEgC;EAC7B;CjBilEH;;AiB9kEC;EACE;EACA;CjBilEH;;AiB9kEC;;EAEE;EACA;EACA;CjBilEH;;AiB9kEC;EACE;EACA;EACA;CjBilEH;;AiB5kED;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CjB+kED;;AiB7kE8B;;EAE3B;CjBglEH;;AiB5kEC;Ed+GA;EACA;CHi+DD;;AiB7kEC;EACE;CjBglEH;;AiB7kEC;;EAEE;CjBglEH;;AiB7kEgD;;;EAG7C;EACA;EACA;EACA;CjBglEH;;AiB7kEC;;;EAGE;CjBglEH;;AiB7kEC;EACE;EACA;CjBglEH;;AiB5kEC;EACE;EACA;EACA;EACA;EACA;EACA;EduEF;EACA;EcrEE;EACA;CjB+kEH;;AiB5kEgC;EAC7B;EACA;EACA;CjB+kEH;;AiB5kEC;EACE;CjB+kEH;;AiB1kED;EACE;EACA;EACA;EACA;EACA;EACA;CjB6kED;;AiB3kEgC;EAC7B;CjB8kEH;;AiBzkED;EACE;EACA;EACA;EdmCA;EACA;Ec5BA;CjBukED;;AiBrkEC;;EAME;CjBokEH;;AiBvlED;EAsBI;CjBqkEH;;AkBj1ED;;;;;;;;;;;;;;;;;;GlBq2EG;;AkBj1EH;;;;;;;;;ElB41EE;;AkBj1EF;EACE;EfdE;EAqKF;EACA;EACA;EACA;EexJA;EACA;EACA;EACA;EACA;EAAA;EACA;MAAA;EACA;MAAA;ClBw1ED;;AkBj2ED;EAYI;EACA;ClBy1EH;;AkBt1EG;EACA;ClBy1EH;;AkB12ED;EAqBI;ClBy1EH;;AkBp1ED;EACE;EACA;EACA;EACA;ClBu1ED;;AkBp1ED;;EAEE;EACA;EACA;EACA;EACA;EAAA;ClBu1ED;;AkBp1ED;EACE;EACA;EACA;EACA;EACA;Ef4JA;Ee1JA;EAAA;EACA;MAAA;EACA;EACA;EACA;ClBu1ED;;AkBl2ED;EAcI;EACA;ClBw1EH;;AkBv2ED;EVxCE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EUqDE;ClB+1EH;;AkB51EC;EfsCA;EACA;EACA;EACA;EevCE;EACA;EACA;EACA;EACA;MA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;EACA;CrBg7FH;;AqB96FK;EACA;CrBi7FL;;AqB17FD;EAaI;EACA;CrBi7FH;;AqB56FD;EACE;IACE;IACA;GrB+6FD;;EqB76FD;IACE;IACA;GrBg7FD;;EqB96FD;IACE;IACA;GrBi7FD;CACF;;AqB96FD;;;;;;;;;;ErB07FE;;AqB96FF;EACE;IAAK;GrBk7FJ;;EqBj7FD;IAAM;GrBq7FL;;EqBp7FD;IAAM;GrBw7FL;;EqBv7FD;IAAO;GrB27FN;CACF;;AqBz7FD;EACE;IAAK;GrB67FJ;;EqB57FD;IAAM;GrBg8FL;;EqB/7FD;IAAM;GrBm8FL;;EqBl8FD;IAAO;GrBs8FN;CACF;;AqBp8FD;;;;;;;;;;ErBg9FE;;AqBp8FF;EACE;IAAK;GrBw8FJ;;EqBv8FD;IAAM;GrB28FL;;EqB18FD;IAAM;GrB88FL;;EqB78FD;IAAO;GrBi9FN;CACF;;AqB/8FD;EACE;IAAK;GrBm9FJ;;EqBl9FD;IAAM;GrBs9FL;;EqBr9FD;IAAM;GrBy9FL;;EqBx9FD;IAAO;GrB49FN;CACF;;AsBt2GD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EtBg6GE;;AuB95GF;EACE;EACA;CvBi6GD;;AuBn6GD;EAKI;CvBk6GH;;AuB55GD;EAGI;CvB65GH;;AuBh6GD;EAOI;CvB65GH;;AuBp6GD;EAWI;CvB65GH;;AuB15GC;EACE;CvB65GH;;AuB56GD;EAmBI;CvB65GH;;AuBh7GD;EAuBI;CvB65GH;;AuB15GC;EACE;CvB65GH;;AuB15GC;EACE;CvB65GH;;AuB57GD;EAmCI;CvB65GH;;AuB15GC;EACE;CvB65GH;;AuBt5GD;EAEI;CvBw5GH;;AuBj5GD;EAIM;EACA;CvBi5GL;;AuBt5GD;EAUQ;EACA;CvBg5GP;;AuBv4GD;EAGI;EACA;CvBw4GH;;AuB14GC;EAKI;CvBy4GL;;AuB94GC;EASI;CvBy4GL;;AuBp5GD;EAeM;CvBy4GL;;AuBt5GC;EAiBI;CvBy4GL;;AuB15GC;EAoBM;CvB04GP;;AuBp4GC;EACE;CvBu4GH;;AuBx4GC;EAII;CvBw4GL;;AuB54GC;EAQI;CvBw4GL;;AuB56GD;EAwCM;EACA;CvBw4GL;;AuBj7GD;EA4CQ;CvBy4GP;;AuBz5GC;EAoBM;CvBy4GP;;AuBz7GD;EAoDQ;CvBy4GP;;AuB77GD;EAwDQ;CvBy4GP;;AuBj8GD;EAgEI;CvBq4GH;;AuBr8GD;EAmEM;CvBs4GL;;AuB14GC;EAQI;CvBs4GL;;AuB78GD;EA2EM;EACA;CvBs4GL;;AuBl9GD;EA+EQ;CvBu4GP;;AuBv5GC;EAoBM;CvBu4GP;;AuB19GD;EAuFQ;CvBu4GP;;AuBp4GO;EACA;CvBu4GP;;AuBl+GD;EAmGI;CvBm4GH;;AuBt+GD;EAyGI;CvBi4GH;;AuB/3GK;EACA;CvBk4GL;;AuB9+GD;;EAgHM;EACA;CvBm4GL;;AuBp/GD;EAsHI;CvBk4GH;;AuBx/GD;EAyHM;CvBm4GL;;AuBv4GC;;EAQI;EACA;CvBo4GL;;AuB93GC;;EAII;EACA;CvB+3GL;;AuBxgHD;;EAgJQ;EACA;CvB63GP;;AuB9gHD;;EAyJQ;EACA;CvB03GP;;AuBh5GC;;EA6BM;CvBw3GP;;AuB/2GC;EAGI;EACA;EAeA;EAgBA;EAGA;EA6BA;EAQA;EAOA;EA8BA;EA0BA;EAMA;EAsCA;EAkBA;CvBurGL;;AuBh4GD;EAQQ;CvB43GP;;AuBp4GD;EAYQ;CvB43GP;;AuBv4GC;EAeM;EACA;CvB43GP;;AuB74GD;EAsBQ;CvB23GP;;AuBj5GD;EA8BQ;CvBu3GP;;AuBr5GD;EAyCQ;CvBg3GP;;AuBx5GC;EA4CM;CvBg3GP;;AuB75GD;EAiDQ;CvBg3GP;;AuBj6GD;EAqDQ;CvBg3GP;;AuBr6GD;EAyDQ;CvBg3GP;;AuBz6GD;EA6DQ;CvBg3GP;;AuB76GD;EAiEQ;CvBg3GP;;AuBj7GD;EAsEQ;CvB+2GP;;AuBr7GD;EA+EQ;CvB02GP;;AuBz7GD;EAsFQ;EACA;CvBu2GP;;AuB77GC;EA0FM;EACA;CvBu2GP;;AuBn8GD;EAgGQ;EACA;CvBu2GP;;AuBx8GD;EAqGQ;EACA;CvBu2GP;;AuB58GC;EAyGM;CvBu2GP;;AuBj9GD;EA8GQ;CvBu2GP;;AuBr9GD;EAmHQ;CvBs2GP;;AuBx9GC;EA0HM;CvBk2GP;;AuB79GD;EAqIQ;CvB41GP;;AuBj+GD;EA8IQ;CvBu1GP;;AuBr+GD;;;EAsJQ;CvBq1GP;;AuB3+GD;;;EA4JQ;CvBq1GP;;AuBl1GiD;EAC1C;CvBq1GP;;AuBp/GC;;;EAqKM;EACA;CvBq1GP;;AuB3/GC;;;EA4KM;EACA;CvBq1GP;;AuBngHD;;;EAoLQ;CvBq1GP;;AuBzgHD;;;EA2LQ;CvBo1GP;;AuB/gHD;EAmMQ;CvBg1GP;;AuBnhHD;EA+MI;CvBw0GH;;AuBvhHD;EAmNI;CvBw0GH;;AuB3hHD;EAwNI;CvBu0GH;;AuBh0GD;EAGI;CvBi0GH;;AuBp0GD;EAMI;CvBk0GH;;AuBh0GmC;;EAEhC;EACA;EACA;CvBm0GH;;AuB/0GD;EAeI;CvBo0GH;;AuBn1GD;EAkBI;CvBq0GH;;AuBn0GmC;;EAEhC;CvBs0GH;;AuBp0G2C;;;EAGxC;CvBu0GH;;AuBr0G2C;EACxC;CvBw0GH;;AuBt2GD;EAiCI;CvBy0GH;;AuB12GD;EAoCI;CvB00GH;;AuBn0GD;EAGI;CvBo0GH;;AuBv0GD;EAMI;CvBq0GH;;AuBn0GkC;;EAE/B;CvBs0GH;;AuBn0GC;EACE;CvBs0GH;;AuBp0GqC;EAClC;EACA;CvBu0GH;;AuBz1GD;EAsBI;CvBu0GH;;AuB71GD;EAyBI;CvBw0GH;;AuBt0G6C;;EAE1C;CvBy0GH;;AuBt2GD;;EAkCI;CvBy0GH;;AuBt0GiC;EAC9B;CvBy0GH;;AuB/2GD;;EA0CI;CvB00GH;;AuBn0GD;EAEI;CvBq0GH;;AuBv0GD;EAKI;CvBs0GH;;AuB30GD;;EASI;CvBu0GH;;AuBp0GC;EACE;CvBu0GH;;AuBr0G+B;;EAE5B;CvBw0GH;;AuBr0G+B;;EAE5B;CvBw0GH;;AuB91GD;EA0BI;CvBw0GH;;AuBt0G4D;;EAEzD;CvBy0GH;;AuBn0GD;EAEI;CvBq0GH;;AuBv0GD;EAKI;CvBs0GH;;AuB30GD;EAQI;CvBu0GH;;AuB/0GD;EAWI;CvBw0GH;;AuBn1GD;EAcI;CvBy0GH;;AuBv0GoC;EACjC;CvB00GH;;AuB31GD;EAoBI;CvB20GH;;AuBp0GD;EAGI;CvBq0GH;;AuBx0GD;EAMI;CvBs0GH;;AuB50GD;;EAUI;CvBu0GH;;AuBj1GD;EAcI;CvBu0GH;;AuBr1GD;EAiBI;CvBw0GH;;AuBt0GuC;;EAEpC;CvBy0GH;;AuBt0GC;EACE;CvBy0GH;;AuBv0GwB;EACrB;CvB00GH;;AuBt2GD;EA+BI;EACA;CvB20GH;;AuBx0GuC;;EAEpC;CvB20GH;;AuBh3GD;EAyCI;CvB20GH;;AuBz0G8D;;EAE3D;CvB40GH;;AuBr0GD;EAGI;EACA;CvBs0GH;;AuBn0GK;EAEI;CvBq0GT;;AuB90GD;EAYU;CvBs0GT;;AuBl1GD;EAiBM;CvBq0GL;;AuBt0GG;;EAKI;CvBs0GP;;AuB30GG;;EASQ;CvBu0GX;;AuB5zGD;EAGI;CvB6zGH;;AuBh0GD;EAOI;EACA;EACA;CvB6zGH;;AuBt0GD;EAYM;CvB8zGL;;AuB10GD;;EAiBM;EACA;CvB8zGL;;AuBh1GD;;EAqBQ;CvBg0GP;;AuBr1GD;;EAyBQ;CvBi0GP;;AuB9zGO;;EACA;CvBk0GP;;AuBz1GC;EA4BI;CvBi0GL;;AuB71GC;EAgCI;CvBi0GL;;AuBv2GD;EA0CM;CvBi0GL;;AuBzzGD;EAGI;CvB0zGH;;AuB7zGD;EAOI;CvB0zGH;;AuBj0GD;EAWI;CvB0zGH;;AuBr0GD;EAcM;CvB2zGL;;AuBvzGC;EACE;CvB0zGH;;AuB70GD;EAuBI;CvB0zGH;;AuBj1GD;EA2BI;CvB0zGH;;AuBr1GD;EA+BI;CvB0zGH;;AuBz1GD;EAkCM;CvB2zGL;;AuBnzGD;EAGI;EfzyBF;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAKE;EACA;CR0lIH;;AuBl0GD;EAQI;EACA;CvB8zGH;;AuBv0GD;EAYM;EACA;CvB+zGL;;AuB5zGgC;EAC7B;CvB+zGH;;AuBh1GD;;EAqBI;EACA;EACA;CvBg0GH;;AuBv1GD;EA2BI;CvBg0GH;;AuB31GD;;EA+BI;CvBi0GH;;AuBh2GD;;;;EAqCI;CvBk0GH;;AuBv2GD;EAwCI;CvBm0GH;;AuB32GD;EA2CI;CvBo0GH;;AuB/2GD;EA8CI;CvBq0GH;;AuBn3GD;EAkDI;CvBq0GH;;AuB/zGD;EACE;CvBk0GD;;AuB/zGD;EAGI;CvBg0GH;;AuBn0GD;EAMM;EACA;CvBi0GL;;AuBt0GC;;EASM;CvBk0GP;;AuB30GC;EAYM;CvBm0GP;;AuB/0GC;EAeM;EACA;CvBo0GP;;AuBt1GD;EAqBQ;CvBq0GP;;AuB11GD;EAwBU;CvBs0GT;;AuB51GC;EA2BI;CvBq0GL;;AuB7zGD;;;;EASQ;EACA;EACA;CvB2zGP;;AuBt0GD;;;;EAcU;EACA;EACA;CvB+zGT;;AuB/0GD;;;;EAmBU;EACA;CvBm0GT;;AuBv1GD;;;;EA0BU;EACA;EACA;CvBo0GT;;AuBx0GO;;;;EAOI;EACA;CvBw0GX;;AuBx2GD;;EAwCM;Ef/6BJ;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAKE;EACA;CRivIH;;AuBx3GD;;EA8CM;EACA;EACA;CvB+0GL;;AuB/3GD;;;;EAwDQ;CvB80GP;;AuBr0GO;;;;;;;;;;;;;;;;;;;;;;;;EAEE;CvB81GT;;AuBx1GO;;;;;;;;EAEE;CvBi2GT;;AuB56GD;;;;;;;;EAmFU;CvBo2GT;;AuBv7GD;;EA0FM;CvBk2GL;;AuB57GD;;;;EAkGQ;CvBi2GP;;AuBn8GD;;;;EAyGQ;CvBi2GP;;AuBx1GD;EAKM;EACA;CvBu1GL;;AuB31GC;EAOM;CvBw1GP;;AuB/1GC;EAUM;CvBy1GP;;AuBn2GC;EAaM;CvB01GP;;AuBz2GD;EAkBQ;EACA;EACA;CvB21GP;;AuB/2GD;EAuBU;CvB41GT;;AuBn3GD;EA2BQ;CvB41GP;;AuBr3GC;EA6BQ;CvB41GT;;AuBz3GC;EAmCI;EACA;CvB01GL;;AuBh4GD;EAgDQ;CvBo1GP;;AuBp4GD;EAmDU;CvBq1GT;;AuBx4GD;EAuDQ;CvBq1GP;;AuB54GD;EAkEQ;CvB80GP;;AuBh5GD;EAqEU;CvB+0GT;;AuBp5GD;EAyEQ;CvB+0GP;;AuBx5GD;EAkFM;EACA;CvB00GL;;AuBn0GG;EACE;EACA;CvBs0GL;;AuBl6GD;EA+FQ;CvBu0GP;;AuBt6GD;EAmGM;EACA;CvBu0GL;;AsB76ID;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EtBu+IE;;AwBr+IF;EACE;EACA;CxBw+ID;;AwB1+ID;EAII;CxB0+IH;;AwBr+ID;EAGI;CxBs+IH;;AwBn+IC;EACE;CxBs+IH;;AwBn+IC;EACE;CxBs+IH;;AwBj/ID;EAeI;CxBs+IH;;AwBn+IC;EACE;CxBs+IH;;AwBz/ID;EAuBI;CxBs+IH;;AwB7/ID;EA2BI;CxBs+IH;;AwBn+IC;EACE;CxBs+IH;;AwBn+IC;EACE;CxBs+IH;;AwBzgJD;EAuCI;CxBs+IH;;AwBh+ID;EAEI;CxBk+IH;;AwB39ID;EAIM;EACA;CxB29IL;;AwB/9IC;EASM;EACA;CxB09IP;;AwBj9ID;EAGI;EACA;CxBk9IH;;AwBt9ID;EAOM;CxBm9IL;;AwB19ID;EAWM;CxBm9IL;;AwB59IC;EAaI;CxBm9IL;;AwBl+ID;EAmBM;CxBm9IL;;AwBt+ID;EAsBQ;CxBo9IP;;AwB1+ID;EA6BI;CxBi9IH;;AwB9+ID;EAgCM;CxBk9IL;;AwBl/ID;EAoCM;CxBk9IL;;AwB19IC;EAYI;EACA;CxBk9IL;;AwB3/ID;EA4CQ;CxBm9IP;;AwB//ID;EAgDQ;CxBm9IP;;AwBv+IC;EAwBM;CxBm9IP;;AwBvgJD;EAwDQ;CxBm9IP;;AwB58IC;EACE;CxB+8IH;;AwBh9IC;EAII;CxBg9IL;;AwBnhJD;EAuEM;CxBg9IL;;AwBx9IC;EAYI;EACA;CxBg9IL;;AwB5hJD;EA+EQ;CxBi9IP;;AwBhiJD;EAmFQ;CxBi9IP;;AwBr+IC;EAwBM;CxBi9IP;;AwBxiJD;EA2FQ;CxBi9IP;;AwB18IC;EACE;CxB68IH;;AwBx8IC;EACE;CxB28IH;;AwBpjJD;EA4GM;CxB48IL;;AwBh9IC;;EAQI;EACA;CxB68IL;;AwB9jJD;EAsHI;CxB48IH;;AwB18IK;EACA;CxB68IL;;AwBtkJD;;EA6HM;EACA;CxB88IL;;AwB5kJD;;EAwIM;EACA;CxBy8IL;;AwBllJD;;EAgJQ;EACA;CxBu8IP;;AwBp9IC;;EAqBM;EACA;CxBo8IP;;AwB9lJD;;EAiKQ;CxBk8IP;;AwBz7ID;EAKM;EACA;EAeA;EAmBA;EA8BA;EAQA;EAOA;EA8BA;EA0BA;EAMA;EAsCA;EAkBA;CxB6vIL;;AwBt8IC;EAOM;CxBm8IP;;AwB58ID;EAaQ;CxBm8IP;;AwBh9ID;EAiBQ;EACA;CxBm8IP;;AwBr9ID;EAuBQ;CxBk8IP;;AwBv9IC;EA+BM;CxB47IP;;AwB79ID;EA2CQ;CxBs7IP;;AwB/9IC;EA6CM;CxBs7IP;;AwBr+ID;EAmDQ;CxBs7IP;;AwBz+ID;EAuDQ;CxBs7IP;;AwB7+ID;EA2DQ;CxBs7IP;;AwBj/ID;EA+DQ;CxBs7IP;;AwBr/ID;EAmEQ;CxBs7IP;;AwBv/IC;EAsEM;CxBq7IP;;AwB3/IC;EA+EM;CxBg7IP;;AwBjgJD;EAwFQ;EACA;CxB66IP;;AwBpgJC;EA2FM;EACA;CxB66IP;;AwB3gJD;EAkGQ;EACA;CxB66IP;;AwBhhJD;EAuGQ;EACA;CxB66IP;;AwBrhJD;EA4GQ;CxB66IP;;AwBzhJD;EAgHQ;CxB66IP;;AwB7hJD;EAqHQ;CxB46IP;;AwBjiJD;EA6HQ;CxBw6IP;;AwBriJD;EAuIQ;CxBk6IP;;AwBziJD;EAgJQ;CxB65IP;;AwB7iJD;;;EAwJQ;CxB25IP;;AwBnjJD;;;EA8JQ;CxB25IP;;AwBx5IiD;EAC1C;CxB25IP;;AwB7jJD;;;EAwKQ;EACA;CxB25IP;;AwBpkJD;;;EA+KQ;EACA;CxB25IP;;AwBzkJC;;;EAoLM;CxB25IP;;AwBjlJD;;;EA6LQ;CxB05IP;;AwBvlJD;EAqMQ;CxBs5IP;;AwB3lJD;EAiNI;CxB84IH;;AwB/lJD;EAqNI;CxB84IH;;AwBnmJD;EA0NI;CxB64IH;;AwBt4ID;EAGI;CxBu4IH;;AwB14ID;EAMI;CxBw4IH;;AwBt4ImC;;EAEhC;EACA;EACA;CxBy4IH;;AwBv4IC;EACE;CxB04IH;;AwBx4IC;EACE;CxB24IH;;AwBz4ImC;;EAEhC;CxB44IH;;AwBl6ID;;;EA2BI;CxB64IH;;AwBx6ID;EA8BI;CxB84IH;;AwB56ID;EAiCI;CxB+4IH;;AwBh7ID;EAoCI;CxBg5IH;;AwBz4ID;EAGI;CxB04IH;;AwB74ID;EAMI;CxB24IH;;AwBz4IkC;;EAE/B;CxB44IH;;AwBz4IC;EACE;CxB44IH;;AwB14IqC;EAClC;EACA;CxB64IH;;AwB/5ID;EAsBI;CxB64IH;;AwBn6ID;EAyBI;CxB84IH;;AwB54I6C;;EAE1C;CxB+4IH;;AwB56ID;;EAkCI;CxB+4IH;;AwB54IiC;EAC9B;CxB+4IH;;AwBr7ID;;EA0CI;CxBg5IH;;AwBz4ID;EAEI;CxB24IH;;AwB74ID;EAKI;CxB44IH;;AwBj5ID;;EASI;CxB64IH;;AwB14IC;EACE;CxB64IH;;AwB34I+B;;EAE5B;CxB84IH;;AwB/5ID;;EAsBI;CxB84IH;;AwB34I8B;EAC3B;CxB84IH;;AwBx6ID;;EA8BI;CxB+4IH;;AwBz4ID;EAEI;CxB24IH;;AwB74ID;EAKI;CxB44IH;;AwBj5ID;EAQI;CxB64IH;;AwB34I6B;EAC1B;CxB84IH;;AwBz5ID;EAcI;CxB+4IH;;AwB75ID;EAiBI;CxBg5IH;;AwBj6ID;EAoBI;CxBi5IH;;AwB14ID;EAGI;CxB24IH;;AwB94ID;EAMI;CxB44IH;;AwB14IuC;;EAEpC;CxB64IH;;AwBv5ID;EAcI;CxB64IH;;AwB35ID;EAiBI;CxB84IH;;AwB/5ID;;EAqBI;CxB+4IH;;AwB54IC;EACE;CxB+4IH;;AwB74IwB;EACrB;CxBg5IH;;AwB56ID;EA+BI;EACA;CxBi5IH;;AwB94IuC;;EAEpC;CxBi5IH;;AwB94I+B;EAC5B;CxBi5IH;;AwB/4I8D;;EAE3D;CxBk5IH;;AwB14ID;EAGI;EACA;CxB24IH;;AwBx4IK;EAEI;CxB04IT;;AwB54IK;EAMI;CxB04IT;;AwBv5ID;EAmBM;CxBw4IL;;AwBz4IG;;EAKI;CxBy4IP;;AwBh6ID;;EA2BY;CxB04IX;;AwBh4ID;EAGI;CxBi4IH;;AwBp4ID;EAOI;EACA;EACA;CxBi4IH;;AwB14ID;EAYM;CxBk4IL;;AwB94ID;;EAiBM;EACA;CxBk4IL;;AwBp5ID;;EAqBQ;CxBo4IP;;AwBz5ID;;EAyBQ;CxBq4IP;;AwBl4IO;;EACA;CxBs4IP;;AwB75IC;EA4BI;CxBq4IL;;AwBv6ID;EAsCM;CxBq4IL;;AwBr6IC;EAoCI;CxBq4IL;;AwB73IC;EACE;CxBg4IH;;AwB73IC;EACE;CxBg4IH;;AwB73IC;EACE;CxBg4IH;;AwBj4IC;EAII;CxBi4IL;;AwB94ID;EAkBI;CxBg4IH;;AwBl5ID;EAsBI;CxBg4IH;;AwBt5ID;EA0BI;CxBg4IH;;AwB15ID;EA8BI;CxBg4IH;;AwB95ID;EAiCM;CxBi4IL;;AwBz3ID;EAGI;EhBzyBF;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAKE;EACA;CRgqKH;;AwBj4IC;EACE;EACA;CxBo4IH;;AwB74ID;EAYM;EACA;CxBq4IL;;AwBl5ID;EAiBI;CxBq4IH;;AwBt5ID;;EAqBI;EACA;EACA;CxBs4IH;;AwB75ID;EA2BI;CxBs4IH;;AwBj6ID;;EA+BI;CxBu4IH;;AwBt6ID;;;;EAqCI;CxBw4IH;;AwB76ID;EAwCI;CxBy4IH;;AwBj7ID;EA2CI;CxB04IH;;AwBr7ID;EA8CI;CxB24IH;;AwBz7ID;EAkDI;CxB24IH;;AwBp4ID;EACE;CxBu4ID;;AwBp4ID;EAGI;CxBq4IH;;AwBx4ID;EAMM;EACA;CxBs4IL;;AwB34IC;;EASM;CxBu4IP;;AwBl5ID;EAcQ;CxBw4IP;;AwBp5IC;EAeM;EACA;CxBy4IP;;AwB35ID;EAqBQ;CxB04IP;;AwB/5ID;EAwBU;CxB24IT;;AwBj6IC;EA2BI;CxB04IL;;AwBl4ID;;;;EASQ;EACA;EACA;CxBg4IP;;AwB34ID;;;;EAcU;EACA;EACA;CxBo4IT;;AwBp5ID;;;;EAmBU;EACA;CxBw4IT;;AwBp4IO;;;;EAEE;EACA;EACA;CxBy4IT;;AwB74IO;;;;EAOI;EACA;CxB64IX;;AwB76ID;;EAwCM;EhBh7BJ;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAKE;EACA;CRuzKH;;AwB77ID;;EA8CM;EACA;EACA;CxBo5IL;;AwBp8ID;;;;EAwDQ;CxBm5IP;;AwB38ID;;;;;;;;;;;;;;;;;;;;;;;;EAmEU;CxBm6IT;;AwB75IO;;;;;;;;EAEE;CxBs6IT;;AwBj/ID;;;;;;;;EAmFU;CxBy6IT;;AwB5/ID;;EA0FM;CxBu6IL;;AwBjgJD;;;;EAkGQ;CxBs6IP;;AwBxgJD;;;;EAyGQ;CxBs6IP;;AwB55ID;EAKM;EACA;CxB25IL;;AwB/5IC;EAOM;CxB45IP;;AwBr6ID;EAYQ;CxB65IP;;AwBv6IC;EAaM;CxB85IP;;AwB36IC;EAgBM;EACA;EACA;CxB+5IP;;AwBn7ID;EAuBU;CxBg6IT;;AwBv7ID;EA2BQ;CxBg6IP;;AwBz7IC;EA6BQ;CxBg6IT;;AwB77IC;EAmCI;EACA;CxB85IL;;AwBp8ID;EAgDQ;CxBw5IP;;AwBx8ID;EAmDU;CxBy5IT;;AwBt5IK;EACE;CxBy5IP;;AwBh9ID;EAkEQ;CxBk5IP;;AwBp9ID;EAqEU;CxBm5IT;;AwBh5IK;EACE;CxBm5IP;;AwB59ID;EAkFM;EACA;CxB84IL;;AwBv4IG;EACE;EACA;CxB04IL;;AwBt+ID;EA+FQ;CxB24IP;;AwB1+ID;EAmGM;EACA;CxB24IL","file":"mdl-ext-eqjs.css","sourcesContent":["/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*------------------------------------*\\\n $CONTENTS\n\\*------------------------------------*/\n/**\n * STYLE GUIDE VARIABLES------------------Declarations of Sass variables\n * -----Typography\n * -----Colors\n * -----Textfield\n * -----Switch\n * -----Spinner\n * -----Radio\n * -----Menu\n * -----List\n * -----Layout\n * -----Icon toggles\n * -----Footer\n * -----Column\n * -----Checkbox\n * -----Card\n * -----Button\n * -----Animation\n * -----Progress\n * -----Badge\n * -----Shadows\n * -----Grid\n * -----Data table\n * -----Dialog\n * -----Snackbar\n * -----Tooltip\n * -----Chip\n *\n * Even though all variables have the `!default` directive, most of them\n * should not be changed as they are dependent one another. This can cause\n * visual distortions (like alignment issues) that are hard to track down\n * and fix.\n */\n\n\n/* ========== TYPOGRAPHY ========== */\n\n/* We're splitting fonts into \"preferred\" and \"performance\" in order to optimize\n page loading. For important text, such as the body, we want it to load\n immediately and not wait for the web font load, whereas for other sections,\n such as headers and titles, we're OK with things taking a bit longer to load.\n We do have some optional classes and parameters in the mixins, in case you\n definitely want to make sure you're using the preferred font and don't mind\n the performance hit.\n We should be able to improve on this once CSS Font Loading L3 becomes more\n widely available.\n*/\n$preferred_font: 'Roboto', 'Helvetica', 'Arial', sans-serif !default;\n$performance_font: 'Helvetica', 'Arial', sans-serif !default;\n\n/* ========== COLORS ========== */\n\n/**\n*\n* Material design color palettes.\n* @see http://www.google.com/design/spec/style/color.html\n*\n**/\n\n@import \"color-definitions\";\n@import \"functions\";\n\n/* ========== IMAGES ========== */\n$image_path: '/images' !default;\n\n/* ========== Color & Themes ========== */\n\n// Define whether individual color palette items should have classes created.\n// Setting this to true will remove individual color classes for each color in the palettes.\n// To improve overall performance (assuming they aren't used) by:\n// * Saving server bandwidth sending the extra classes\n// * Save client computation against the classes\n// it is RECOMMENDED you set this to true.\n$trim-color-classes: false !default;\n\n// Use color primarily for emphasis. Choose colors that fit with\n// your brand and provide good contrast between visual components.\n$color-primary: $palette-indigo-500 !default;\n$color-primary-dark: $palette-indigo-700 !default;\n$color-accent: $palette-pink-A200 !default;\n\n// Our primary is dark, so use $color-dark-contrast for overlaid text.\n$color-primary-contrast: $color-dark-contrast !default;\n// Our accent is dark, so use $color-dark-contrast for overlaid text.\n$color-accent-contrast: $color-dark-contrast !default;\n\n// Replace all colors with placeholders if we're generating a template.\n@if $styleguide-generate-template == true {\n $color-primary: '$color-primary';\n $color-primary-dark: '$color-primary-dark';\n $color-accent: '$color-accent';\n $color-primary-contrast: '$color-primary-contrast';\n $color-accent-contrast: '$color-accent-contrast';\n}\n\n/* ========== Typography ========== */\n\n// We use the following default color styles: text-color-primary and\n// text-color-secondary. For light themes, use text-color-primary-inverse\n// and text-color-secondary-inverse.\n\n$text-color-primary: unquote(\"rgba(#{$color-black}, 0.87)\") !default;\n$text-link-color: unquote(\"rgb(#{$color-accent})\") !default;\n\n// Define whether to target elements directly for typographic enhancements.\n// Turning this off means you need to use mdl-* classes more often.\n// Other components may also fail to adhere to MD without these rules.\n// It is strongly recommended you leave this as true.\n\n$target-elements-directly: true !default;\n\n/* ========== Components ========== */\n\n/* ========== Standard Buttons ========== */\n\n// Default button colors.\n$button-primary-color: unquote(\"rgba(#{$palette-grey-500}, 0.20)\") !default;\n$button-secondary-color: unquote(\"rgb(#{$color-black})\") !default;\n$button-hover-color: $button-primary-color !default;\n$button-active-color: unquote(\"rgba(#{$palette-grey-500}, 0.40)\") !default;\n$button-focus-color: unquote(\"rgba(#{$color-black}, 0.12)\") !default;\n\n// Colored button colors.\n$button-primary-color-alt: unquote(\"rgb(#{$color-primary})\") !default;\n$button-secondary-color-alt: unquote(\"rgb(#{$color-primary-contrast})\") !default;\n$button-hover-color-alt: unquote(\"rgb(#{$color-primary})\") !default;\n$button-active-color-alt: unquote(\"rgb(#{$color-primary})\") !default;\n$button-focus-color-alt: $button-focus-color !default;\n\n// Ripple color for colored raised buttons.\n$button-ripple-color-alt: unquote(\"rgb(#{$color-primary-contrast})\") !default;\n\n// Disabled button colors.\n$button-primary-color-disabled: unquote(\"rgba(#{$color-black}, 0.12)\") !default;\n$button-secondary-color-disabled: unquote(\"rgba(#{$color-black}, 0.26)\") !default;\n\n// FAB colors and sizes.\n$button-fab-color-alt: unquote(\"rgb(#{$color-accent})\") !default;\n$button-fab-hover-color-alt: unquote(\"rgb(#{$color-accent})\") !default;\n$button-fab-active-color-alt: unquote(\"rgb(#{$color-accent})\") !default;\n$button-fab-text-color-alt: unquote(\"rgb(#{$color-accent-contrast})\") !default;\n$button-fab-ripple-color-alt: unquote(\"rgb(#{$color-accent-contrast})\") !default;\n\n// Icon button colors and sizes.\n$button-icon-color: unquote(\"rgb(#{$palette-grey-700})\") !default;\n$button-icon-focus-color: $button-focus-color !default;\n\n/* ========== Icon Toggles ========== */\n\n$icon-toggle-color: unquote(\"rgb(#{$palette-grey-700})\") !default;\n$icon-toggle-focus-color: $button-focus-color !default;\n$icon-toggle-checked-color: unquote(\"rgb(#{$color-primary})\") !default;\n$icon-toggle-checked-focus-color: unquote(\"rgba(#{$color-primary}, 0.26)\") !default;\n$icon-toggle-disabled-color: unquote(\"rgba(#{$color-black}, 0.26)\") !default;\n\n/* ========== Radio Buttons ========== */\n\n$radio-color: unquote(\"rgb(#{$color-primary})\") !default;\n$radio-off-color: unquote(\"rgba(#{$color-black}, 0.54)\") !default;\n$radio-disabled-color: unquote(\"rgba(#{$color-black}, 0.26)\") !default;\n\n/* ========== Ripple effect ========== */\n\n$ripple-bg-color: unquote(\"rgb(#{$color-light-contrast})\") !default;\n\n/* ========== Layout ========== */\n\n$layout-nav-color: unquote(\"rgb(#{$palette-grey-300})\") !default;\n\n// Drawer\n$layout-drawer-bg-color: unquote(\"rgb(#{$palette-grey-50})\") !default;\n$layout-drawer-border-color: unquote(\"rgb(#{$palette-grey-300})\") !default;\n$layout-text-color: unquote(\"rgb(#{$palette-grey-800})\") !default;\n$layout-drawer-navigation-color: #757575 !default;\n$layout-drawer-navigation-link-active-background: unquote(\"rgb(#{$palette-grey-300})\") !default;\n$layout-drawer-navigation-link-active-color: unquote(\"rgb(#{$color-light-contrast})\") !default;\n\n// Header\n$layout-header-bg-color: unquote(\"rgb(#{$color-primary})\") !default;\n$layout-header-text-color: unquote(\"rgb(#{$color-primary-contrast})\") !default;\n$layout-header-nav-hover-color: unquote(\"rgba(#{$palette-grey-700}, 0.6)\") !default;\n$layout-header-tab-text-color: unquote(\"rgba(#{$color-primary-contrast}, 0.6)\") !default;\n\n// Tabs\n$layout-header-tab-highlight: unquote(\"rgb(#{$color-accent})\") !default;\n\n/* ========== Content Tabs ========== */\n\n$tab-highlight-color: unquote(\"rgb(#{$color-primary})\") !default;\n$tab-text-color: unquote(\"rgba(#{$color-black}, 0.54)\") !default;\n$tab-active-text-color: unquote(\"rgba(#{$color-black}, 0.87)\") !default;\n$tab-border-color: unquote(\"rgb(#{$palette-grey-300})\") !default;\n\n/* ========== Checkboxes ========== */\n\n$checkbox-color: unquote(\"rgb(#{$color-primary})\") !default;\n$checkbox-off-color: unquote(\"rgba(#{$color-black}, 0.54)\") !default;\n$checkbox-disabled-color: unquote(\"rgba(#{$color-black}, 0.26)\") !default;\n$checkbox-focus-color: unquote(\"rgba(#{$color-primary}, 0.26)\") !default;\n$checkbox-image-path: $image_path;\n\n/* ========== Switches ========== */\n\n$switch-color: unquote(\"rgb(#{$color-primary})\") !default;\n$switch-faded-color: unquote(\"rgba(#{$color-primary}, 0.26)\") !default;\n$switch-thumb-color: $switch-color !default;\n$switch-track-color: unquote(\"rgba(#{$color-primary}, 0.5)\") !default;\n\n$switch-off-thumb-color: unquote(\"rgb(#{$palette-grey-50})\") !default;\n$switch-off-track-color: unquote(\"rgba(#{$color-black}, 0.26)\") !default;\n$switch-disabled-thumb-color: unquote(\"rgb(#{$palette-grey-400})\") !default;\n$switch-disabled-track-color: unquote(\"rgba(#{$color-black}, 0.12)\") !default;\n\n/* ========== Spinner ========== */\n\n$spinner-color-1: unquote(\"rgb(#{$palette-blue-400})\") !default;\n$spinner-color-2: unquote(\"rgb(#{$palette-red-500})\") !default;\n$spinner-color-3: unquote(\"rgb(#{$palette-yellow-600})\") !default;\n$spinner-color-4: unquote(\"rgb(#{$palette-green-500})\") !default;\n\n$spinner-single-color: unquote(\"rgb(#{$color-primary})\") !default;\n\n/* ========== Text fields ========== */\n\n$input-text-background-color: transparent !default;\n$input-text-label-color: unquote(\"rgba(#{$color-black}, 0.26)\") !default;\n$input-text-bottom-border-color: unquote(\"rgba(#{$color-black}, 0.12)\") !default;\n$input-text-highlight-color: unquote(\"rgb(#{$color-primary})\") !default;\n$input-text-disabled-color: $input-text-bottom-border-color !default;\n$input-text-disabled-text-color: $input-text-label-color !default;\n$input-text-error-color: unquote(\"rgb(#{$palette-red-A700})\") !default;\n\n/* ========== Card ========== */\n\n$card-background-color: unquote(\"rgb(#{$color-white})\") !default;\n$card-text-color: unquote(\"rgb(#{$color-black})\") !default;\n$card-image-placeholder-color: unquote(\"rgb(#{$color-accent})\") !default;\n$card-supporting-text-text-color: unquote(\"rgba(#{$color-black}, 0.54)\") !default;\n$card-border-color: rgba(0,0,0,0.1) !default;\n$card-subtitle-color: unquote(\"rgba(#{$color-black}, 0.54)\") !default;\n\n/* ========== Sliders ========== */\n\n$range-bg-color: unquote(\"rgba(#{$color-black}, 0.26)\") !default;\n$range-color: unquote(\"rgb(#{$color-primary})\") !default;\n$range-faded-color: unquote(\"rgba(#{$color-primary}, 0.26)\") !default;\n$range-bg-focus-color: unquote(\"rgba(#{$color-black}, 0.12)\") !default;\n\n/* ========== Progress ========== */\n$progress-main-color: unquote(\"rgb(#{$color-primary})\") !default;\n$progress-secondary-color: unquote(\"rgba(#{$color-primary-contrast}, 0.7)\") !default;\n$progress-fallback-buffer-color: unquote(\"rgba(#{$color-primary-contrast}, 0.9)\") !default;\n$progress-image-path: $image_path;\n\n/* ========== List ========== */\n\n$list-main-text-text-color: unquote(\"rgba(#{$color-black}, 0.87)\") !default;\n$list-supporting-text-text-color: unquote(\"rgba(#{$color-black}, 0.54)\") !default;\n$list-icon-color: unquote(\"rgb(#{$palette-grey-600})\") !default;\n$list-avatar-color: white !default;\n\n/* ========== Item ========== */\n\n// Default Item Colors\n$default-item-text-color: unquote(\"rgba(#{$color-black}, 0.87)\") !default;\n$default-item-outline-color: unquote(\"rgb(#{$palette-grey-400})\") !default;\n$default-item-hover-bg-color: unquote(\"rgb(#{$palette-grey-200})\") !default;\n$default-item-focus-bg-color: unquote(\"rgb(#{$palette-grey-200})\") !default;\n$default-item-active-bg-color: unquote(\"rgb(#{$palette-grey-300})\") !default;\n$default-item-divider-color: unquote(\"rgba(#{$color-black}, 0.12)\") !default;\n\n// Disabled Button Colors\n$disabled-item-text-color: unquote(\"rgb(#{$palette-grey-400})\") !default;\n\n/* ========== Dropdown menu ========== */\n\n$default-dropdown-bg-color: unquote(\"rgb(#{$color-white})\") !default;\n\n/* ========== Tooltips ========== */\n\n$tooltip-text-color: unquote(\"rgb(#{$color-white})\") !default;\n$tooltip-background-color: unquote(\"rgba(#{$palette-grey-700}, 0.9)\") !default;\n\n/* ========== Footer ========== */\n\n$footer-bg-color: unquote(\"rgb(#{$palette-grey-800})\") !default;\n$footer-color: unquote(\"rgb(#{$palette-grey-500})\") !default;\n$footer-heading-color: unquote(\"rgb(#{$palette-grey-300})\") !default;\n$footer-button-fill-color: $footer-color !default;\n$footer-underline-color: $footer-color !default;\n\n\n/* TEXTFIELD */\n\n$input-text-font-size: 16px !default;\n$input-text-width: 100% !default;\n$input-text-padding: 4px !default;\n$input-text-vertical-spacing: 20px !default;\n\n$input-text-button-size: 32px !default;\n$input-text-floating-label-fontsize: 12px !default;\n$input-text-expandable-icon-top: 16px !default;\n\n\n/* SWITCH */\n\n$switch-label-font-size: 16px !default;\n$switch-label-height: 24px !default;\n$switch-track-height: 14px !default;\n$switch-track-length: 36px !default;\n$switch-thumb-size: 20px !default;\n$switch-track-top: ($switch-label-height - $switch-track-height) / 2 !default;\n$switch-thumb-top: ($switch-label-height - $switch-thumb-size) / 2 !default;\n$switch-ripple-size: $switch-label-height * 2 !default;\n$switch-helper-size: 8px !default;\n\n/* SPINNER */\n\n$spinner-size: 28px !default;\n$spinner-stroke-width: 3px !default;\n\n// Amount of circle the arc takes up.\n$spinner-arc-size: 270deg !default;\n// Time it takes to expand and contract arc.\n$spinner-arc-time: 1333ms !default;\n// How much the start location of the arc should rotate each time.\n$spinner-arc-start-rot: 216deg !default;\n\n$spinner-duration: 360 * $spinner-arc-time / (\n strip-units($spinner-arc-start-rot + (360deg - $spinner-arc-size)));\n\n\n/* RADIO */\n\n$radio-label-font-size: 16px !default;\n$radio-label-height: 24px !default;\n$radio-button-size: 16px !default;\n$radio-inner-margin: $radio-button-size / 4;\n$radio-padding: 8px !default;\n$radio-top-offset: ($radio-label-height - $radio-button-size) / 2;\n$radio-ripple-size: 42px !default;\n\n\n/* MENU */\n\n$menu-expand-duration: 0.3s !default;\n$menu-fade-duration: 0.2s !default;\n\n/* LIST */\n\n$list-border: 8px !default;\n$list-min-height: 48px !default;\n$list-min-padding: 16px !default;\n$list-bottom-padding: 20px !default;\n$list-avatar-text-left-distance: 72px !default;\n$list-icon-text-left-distance: 72px !default;\n\n$list-avatar-size: 40px !default;\n$list-icon-size: 24px !default;\n\n$list-two-line-height: 72px !default;\n$list-three-line-height: 88px !default;\n\n/* LAYOUT */\n\n$layout-drawer-narrow: 240px !default;\n$layout-drawer-wide: 456px !default;\n$layout-drawer-width: $layout-drawer-narrow !default;\n\n$layout-header-icon-size: 32px !default;\n$layout-screen-size-threshold: 1024px !default;\n$layout-header-icon-margin: 24px !default;\n$layout-drawer-button-mobile-size: 32px !default;\n$layout-drawer-button-desktop-size: 48px !default;\n\n$layout-header-mobile-row-height: 56px !default;\n$layout-mobile-header-height: $layout-header-mobile-row-height;\n$layout-header-desktop-row-height: 64px !default;\n$layout-desktop-header-height: $layout-header-desktop-row-height;\n\n$layout-header-desktop-baseline: 80px !default;\n$layout-header-mobile-baseline: 72px !default;\n$layout-header-mobile-indent: 16px !default;\n$layout-header-desktop-indent: 40px !default;\n\n$layout-tab-font-size: 14px !default;\n$layout-tab-bar-height: 48px !default;\n$layout-tab-mobile-padding: 12px !default;\n$layout-tab-desktop-padding: 24px !default;\n$layout-tab-highlight-thickness: 2px !default;\n\n\n/* ICON TOGGLE */\n\n$icon-toggle-size: 32px !default;\n$icon-toggle-font-size: 24px !default;\n$icon-toggle-ripple-size: 36px !default;\n\n/* FOOTER */\n\n/*mega-footer*/\n$footer-min-padding: 16px !default;\n$footer-padding-sides: 40px !default;\n$footer-heading-font-size: 14px !default;\n$footer-heading-line-height: (1.7 * $footer-heading-font-size) !default;\n$footer-btn-size: 36px !default;\n\n/*mini-footer*/\n$padding: 16px !default;\n$footer-heading-font-size: 24px !default;\n$footer-heading-line-height: (1.5 * $footer-heading-font-size) !default;\n$footer-btn-size: 36px !default;\n\n/* CHECKBOX */\n\n$checkbox-label-font-size: 16px !default;\n$checkbox-label-height: 24px !default;\n$checkbox-button-size: 16px !default;\n$checkbox-inner-margin: 2px !default;\n$checkbox-padding: 8px !default;\n$checkbox-top-offset:\n($checkbox-label-height - $checkbox-button-size - $checkbox-inner-margin) / 2;\n$checkbox-ripple-size: $checkbox-label-height * 1.5;\n\n/* CARD */\n\n/* Card dimensions */\n$card-width: 330px !default;\n$card-height: 200px !default;\n$card-font-size: 16px !default;\n$card-title-font-size: 24px !default;\n$card-subtitle-font-size: 14px !default;\n$card-horizontal-padding: 16px !default;\n$card-vertical-padding: 16px !default;\n\n$card-title-perspective-origin-x: 165px !default;\n$card-title-perspective-origin-y: 56px !default;\n\n$card-title-transform-origin-x: 165px !default;\n$card-title-transform-origin-y: 56px !default;\n\n$card-title-text-transform-origin-x: 149px !default;\n$card-title-text-transform-origin-y: 48px !default;\n\n$card-supporting-text-font-size: 1rem !default;\n$card-supporting-text-line-height: 18px !default;\n\n$card-actions-font-size: 16px !default;\n\n$card-title-text-font-weight: 300 !default;\n$card-z-index: 1 !default;\n\n/* Cover image */\n$card-cover-image-height: 186px !default;\n$card-background-image-url: '' !default;\n\n\n/* BUTTON */\n/**\n *\n * Dimensions\n *\n */\n$button-min-width: 64px !default;\n$button-height: 36px !default;\n$button-padding: 16px !default;\n$button-margin: 4px !default;\n$button-border-radius: 2px !default;\n\n$button-fab-size: 56px !default;\n$button-fab-size-mini: 40px !default;\n$button-fab-font-size: 24px !default;\n\n$button-icon-size: 32px !default;\n$button-icon-size-mini: 24px !default;\n\n\n/* ANIMATION */\n$animation-curve-fast-out-slow-in: cubic-bezier(0.4, 0, 0.2, 1) !default;\n$animation-curve-linear-out-slow-in: cubic-bezier(0, 0, 0.2, 1) !default;\n$animation-curve-fast-out-linear-in: cubic-bezier(0.4, 0, 1, 1) !default;\n\n$animation-curve-default: $animation-curve-fast-out-slow-in !default;\n\n\n/* PROGRESS */\n$bar-height: 4px !default;\n\n/* BADGE */\n$badge-font-size: 12px !default;\n$badge-color: unquote(\"rgb(#{$color-accent-contrast})\") !default;\n$badge-color-inverse: unquote(\"rgb(#{$color-accent})\") !default;\n$badge-background: unquote(\"rgb(#{$color-accent})\") !default;\n$badge-background-inverse: unquote(\"rgba(#{$color-accent-contrast},0.2)\") !default;\n$badge-size : 22px !default;\n$badge-padding: 2px !default;\n$badge-overlap: 12px !default;\n\n/* SHADOWS */\n\n$shadow-key-umbra-opacity: 0.2 !default;\n$shadow-key-penumbra-opacity: 0.14 !default;\n$shadow-ambient-shadow-opacity: 0.12 !default;\n\n/* GRID */\n\n$grid-desktop-columns: 12 !default;\n$grid-desktop-gutter: 16px !default;\n$grid-desktop-margin: 16px !default;\n\n$grid-desktop-breakpoint: 840px !default;\n\n$grid-tablet-columns: 8 !default;\n$grid-tablet-gutter: $grid-desktop-gutter !default;\n$grid-tablet-margin: $grid-desktop-margin !default;\n\n$grid-tablet-breakpoint: 480px !default;\n\n$grid-phone-columns: 4 !default;\n$grid-phone-gutter: $grid-desktop-gutter !default;\n$grid-phone-margin: $grid-desktop-margin !default;\n\n$grid-cell-default-columns: $grid-phone-columns !default;\n$grid-max-columns: $grid-desktop-columns !default;\n\n/* DATA TABLE */\n\n$data-table-font-size: 13px !default;\n$data-table-header-font-size: 12px !default;\n$data-table-header-sort-icon-size: 16px !default;\n\n$data-table-header-color: rgba(#000, 0.54) !default;\n$data-table-header-sorted-color: rgba(#000, 0.87) !default;\n$data-table-header-sorted-icon-hover-color: rgba(#000, 0.26) !default;\n$data-table-divider-color: rgba(#000, 0.12) !default;\n\n$data-table-hover-color: #eeeeee !default;\n$data-table-selection-color: #e0e0e0 !default;\n\n$data-table-dividers: 1px solid $data-table-divider-color !default;\n\n$data-table-row-height: 48px !default;\n$data-table-last-row-height: 56px !default;\n$data-table-header-height: 56px !default;\n\n$data-table-column-spacing: 36px !default;\n$data-table-column-padding: $data-table-column-spacing / 2;\n\n$data-table-card-header-height: 64px !default;\n$data-table-card-title-top: 20px !default;\n$data-table-card-padding: 24px !default;\n$data-table-button-padding-right: 16px !default;\n$data-table-cell-top: $data-table-card-padding / 2;\n\n/* DIALOG */\n$dialog-content-color: $card-supporting-text-text-color;\n\n/* SNACKBAR */\n\n// Hard coded since the color is not present in any palette.\n$snackbar-background-color: #323232 !default;\n$snackbar-tablet-breakpoint: $grid-tablet-breakpoint;\n$snackbar-action-color: unquote(\"rgb(#{$color-accent})\") !default;\n\n/* TOOLTIP */\n$tooltip-font-size: 10px !default;\n$tooltip-font-size-large: 14px !default;\n\n/* CHIP */\n$chip-bg-color: rgb(222, 222, 222) !default;\n$chip-bg-active-color: rgb(214, 214, 214) !default;\n$chip-height: 32px !default;\n$chip-font-size: 13px !default; \n\n\n\n// WEBPACK FOOTER //\n// webpack:///~/material-design-lite/src/_variables.scss","@charset \"UTF-8\";\n\n// Material Design Lite\n@import '~material-design-lite/src/variables';\n@import '~material-design-lite/src/mixins';\n\n// mdl-ext\n@import 'mdl-ext-eqjs';\n\n\n\n// WEBPACK FOOTER //\n// webpack:///src/mdl-ext-eqjs-build.scss","/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/* ========== Color Palettes ========== */\n\n// Color order: 50, 100, 200, 300, 400, 500, 600, 700, 800, 900, A100, A200,\n// A400, A700.\n\n$palette-red:\n\"255,235,238\"\n\"255,205,210\"\n\"239,154,154\"\n\"229,115,115\"\n\"239,83,80\"\n\"244,67,54\"\n\"229,57,53\"\n\"211,47,47\"\n\"198,40,40\"\n\"183,28,28\"\n\"255,138,128\"\n\"255,82,82\"\n\"255,23,68\"\n\"213,0,0\";\n\n$palette-red-50: nth($palette-red, 1);\n$palette-red-100: nth($palette-red, 2);\n$palette-red-200: nth($palette-red, 3);\n$palette-red-300: nth($palette-red, 4);\n$palette-red-400: nth($palette-red, 5);\n$palette-red-500: nth($palette-red, 6);\n$palette-red-600: nth($palette-red, 7);\n$palette-red-700: nth($palette-red, 8);\n$palette-red-800: nth($palette-red, 9);\n$palette-red-900: nth($palette-red, 10);\n$palette-red-A100: nth($palette-red, 11);\n$palette-red-A200: nth($palette-red, 12);\n$palette-red-A400: nth($palette-red, 13);\n$palette-red-A700: nth($palette-red, 14);\n\n$palette-pink:\n\"252,228,236\"\n\"248,187,208\"\n\"244,143,177\"\n\"240,98,146\"\n\"236,64,122\"\n\"233,30,99\"\n\"216,27,96\"\n\"194,24,91\"\n\"173,20,87\"\n\"136,14,79\"\n\"255,128,171\"\n\"255,64,129\"\n\"245,0,87\"\n\"197,17,98\";\n\n$palette-pink-50: nth($palette-pink, 1);\n$palette-pink-100: nth($palette-pink, 2);\n$palette-pink-200: nth($palette-pink, 3);\n$palette-pink-300: nth($palette-pink, 4);\n$palette-pink-400: nth($palette-pink, 5);\n$palette-pink-500: nth($palette-pink, 6);\n$palette-pink-600: nth($palette-pink, 7);\n$palette-pink-700: nth($palette-pink, 8);\n$palette-pink-800: nth($palette-pink, 9);\n$palette-pink-900: nth($palette-pink, 10);\n$palette-pink-A100: nth($palette-pink, 11);\n$palette-pink-A200: nth($palette-pink, 12);\n$palette-pink-A400: nth($palette-pink, 13);\n$palette-pink-A700: nth($palette-pink, 14);\n\n$palette-purple:\n\"243,229,245\"\n\"225,190,231\"\n\"206,147,216\"\n\"186,104,200\"\n\"171,71,188\"\n\"156,39,176\"\n\"142,36,170\"\n\"123,31,162\"\n\"106,27,154\"\n\"74,20,140\"\n\"234,128,252\"\n\"224,64,251\"\n\"213,0,249\"\n\"170,0,255\";\n\n$palette-purple-50: nth($palette-purple, 1);\n$palette-purple-100: nth($palette-purple, 2);\n$palette-purple-200: nth($palette-purple, 3);\n$palette-purple-300: nth($palette-purple, 4);\n$palette-purple-400: nth($palette-purple, 5);\n$palette-purple-500: nth($palette-purple, 6);\n$palette-purple-600: nth($palette-purple, 7);\n$palette-purple-700: nth($palette-purple, 8);\n$palette-purple-800: nth($palette-purple, 9);\n$palette-purple-900: nth($palette-purple, 10);\n$palette-purple-A100: nth($palette-purple, 11);\n$palette-purple-A200: nth($palette-purple, 12);\n$palette-purple-A400: nth($palette-purple, 13);\n$palette-purple-A700: nth($palette-purple, 14);\n\n$palette-deep-purple:\n\"237,231,246\"\n\"209,196,233\"\n\"179,157,219\"\n\"149,117,205\"\n\"126,87,194\"\n\"103,58,183\"\n\"94,53,177\"\n\"81,45,168\"\n\"69,39,160\"\n\"49,27,146\"\n\"179,136,255\"\n\"124,77,255\"\n\"101,31,255\"\n\"98,0,234\";\n\n$palette-deep-purple-50: nth($palette-deep-purple, 1);\n$palette-deep-purple-100: nth($palette-deep-purple, 2);\n$palette-deep-purple-200: nth($palette-deep-purple, 3);\n$palette-deep-purple-300: nth($palette-deep-purple, 4);\n$palette-deep-purple-400: nth($palette-deep-purple, 5);\n$palette-deep-purple-500: nth($palette-deep-purple, 6);\n$palette-deep-purple-600: nth($palette-deep-purple, 7);\n$palette-deep-purple-700: nth($palette-deep-purple, 8);\n$palette-deep-purple-800: nth($palette-deep-purple, 9);\n$palette-deep-purple-900: nth($palette-deep-purple, 10);\n$palette-deep-purple-A100: nth($palette-deep-purple, 11);\n$palette-deep-purple-A200: nth($palette-deep-purple, 12);\n$palette-deep-purple-A400: nth($palette-deep-purple, 13);\n$palette-deep-purple-A700: nth($palette-deep-purple, 14);\n\n$palette-indigo:\n\"232,234,246\"\n\"197,202,233\"\n\"159,168,218\"\n\"121,134,203\"\n\"92,107,192\"\n\"63,81,181\"\n\"57,73,171\"\n\"48,63,159\"\n\"40,53,147\"\n\"26,35,126\"\n\"140,158,255\"\n\"83,109,254\"\n\"61,90,254\"\n\"48,79,254\";\n\n$palette-indigo-50: nth($palette-indigo, 1);\n$palette-indigo-100: nth($palette-indigo, 2);\n$palette-indigo-200: nth($palette-indigo, 3);\n$palette-indigo-300: nth($palette-indigo, 4);\n$palette-indigo-400: nth($palette-indigo, 5);\n$palette-indigo-500: nth($palette-indigo, 6);\n$palette-indigo-600: nth($palette-indigo, 7);\n$palette-indigo-700: nth($palette-indigo, 8);\n$palette-indigo-800: nth($palette-indigo, 9);\n$palette-indigo-900: nth($palette-indigo, 10);\n$palette-indigo-A100: nth($palette-indigo, 11);\n$palette-indigo-A200: nth($palette-indigo, 12);\n$palette-indigo-A400: nth($palette-indigo, 13);\n$palette-indigo-A700: nth($palette-indigo, 14);\n\n$palette-blue:\n\"227,242,253\"\n\"187,222,251\"\n\"144,202,249\"\n\"100,181,246\"\n\"66,165,245\"\n\"33,150,243\"\n\"30,136,229\"\n\"25,118,210\"\n\"21,101,192\"\n\"13,71,161\"\n\"130,177,255\"\n\"68,138,255\"\n\"41,121,255\"\n\"41,98,255\";\n\n$palette-blue-50: nth($palette-blue, 1);\n$palette-blue-100: nth($palette-blue, 2);\n$palette-blue-200: nth($palette-blue, 3);\n$palette-blue-300: nth($palette-blue, 4);\n$palette-blue-400: nth($palette-blue, 5);\n$palette-blue-500: nth($palette-blue, 6);\n$palette-blue-600: nth($palette-blue, 7);\n$palette-blue-700: nth($palette-blue, 8);\n$palette-blue-800: nth($palette-blue, 9);\n$palette-blue-900: nth($palette-blue, 10);\n$palette-blue-A100: nth($palette-blue, 11);\n$palette-blue-A200: nth($palette-blue, 12);\n$palette-blue-A400: nth($palette-blue, 13);\n$palette-blue-A700: nth($palette-blue, 14);\n\n$palette-light-blue:\n\"225,245,254\"\n\"179,229,252\"\n\"129,212,250\"\n\"79,195,247\"\n\"41,182,246\"\n\"3,169,244\"\n\"3,155,229\"\n\"2,136,209\"\n\"2,119,189\"\n\"1,87,155\"\n\"128,216,255\"\n\"64,196,255\"\n\"0,176,255\"\n\"0,145,234\";\n\n$palette-light-blue-50: nth($palette-light-blue, 1);\n$palette-light-blue-100: nth($palette-light-blue, 2);\n$palette-light-blue-200: nth($palette-light-blue, 3);\n$palette-light-blue-300: nth($palette-light-blue, 4);\n$palette-light-blue-400: nth($palette-light-blue, 5);\n$palette-light-blue-500: nth($palette-light-blue, 6);\n$palette-light-blue-600: nth($palette-light-blue, 7);\n$palette-light-blue-700: nth($palette-light-blue, 8);\n$palette-light-blue-800: nth($palette-light-blue, 9);\n$palette-light-blue-900: nth($palette-light-blue, 10);\n$palette-light-blue-A100: nth($palette-light-blue, 11);\n$palette-light-blue-A200: nth($palette-light-blue, 12);\n$palette-light-blue-A400: nth($palette-light-blue, 13);\n$palette-light-blue-A700: nth($palette-light-blue, 14);\n\n$palette-cyan:\n\"224,247,250\"\n\"178,235,242\"\n\"128,222,234\"\n\"77,208,225\"\n\"38,198,218\"\n\"0,188,212\"\n\"0,172,193\"\n\"0,151,167\"\n\"0,131,143\"\n\"0,96,100\"\n\"132,255,255\"\n\"24,255,255\"\n\"0,229,255\"\n\"0,184,212\";\n\n$palette-cyan-50: nth($palette-cyan, 1);\n$palette-cyan-100: nth($palette-cyan, 2);\n$palette-cyan-200: nth($palette-cyan, 3);\n$palette-cyan-300: nth($palette-cyan, 4);\n$palette-cyan-400: nth($palette-cyan, 5);\n$palette-cyan-500: nth($palette-cyan, 6);\n$palette-cyan-600: nth($palette-cyan, 7);\n$palette-cyan-700: nth($palette-cyan, 8);\n$palette-cyan-800: nth($palette-cyan, 9);\n$palette-cyan-900: nth($palette-cyan, 10);\n$palette-cyan-A100: nth($palette-cyan, 11);\n$palette-cyan-A200: nth($palette-cyan, 12);\n$palette-cyan-A400: nth($palette-cyan, 13);\n$palette-cyan-A700: nth($palette-cyan, 14);\n\n$palette-teal:\n\"224,242,241\"\n\"178,223,219\"\n\"128,203,196\"\n\"77,182,172\"\n\"38,166,154\"\n\"0,150,136\"\n\"0,137,123\"\n\"0,121,107\"\n\"0,105,92\"\n\"0,77,64\"\n\"167,255,235\"\n\"100,255,218\"\n\"29,233,182\"\n\"0,191,165\";\n\n$palette-teal-50: nth($palette-teal, 1);\n$palette-teal-100: nth($palette-teal, 2);\n$palette-teal-200: nth($palette-teal, 3);\n$palette-teal-300: nth($palette-teal, 4);\n$palette-teal-400: nth($palette-teal, 5);\n$palette-teal-500: nth($palette-teal, 6);\n$palette-teal-600: nth($palette-teal, 7);\n$palette-teal-700: nth($palette-teal, 8);\n$palette-teal-800: nth($palette-teal, 9);\n$palette-teal-900: nth($palette-teal, 10);\n$palette-teal-A100: nth($palette-teal, 11);\n$palette-teal-A200: nth($palette-teal, 12);\n$palette-teal-A400: nth($palette-teal, 13);\n$palette-teal-A700: nth($palette-teal, 14);\n\n$palette-green:\n\"232,245,233\"\n\"200,230,201\"\n\"165,214,167\"\n\"129,199,132\"\n\"102,187,106\"\n\"76,175,80\"\n\"67,160,71\"\n\"56,142,60\"\n\"46,125,50\"\n\"27,94,32\"\n\"185,246,202\"\n\"105,240,174\"\n\"0,230,118\"\n\"0,200,83\";\n\n$palette-green-50: nth($palette-green, 1);\n$palette-green-100: nth($palette-green, 2);\n$palette-green-200: nth($palette-green, 3);\n$palette-green-300: nth($palette-green, 4);\n$palette-green-400: nth($palette-green, 5);\n$palette-green-500: nth($palette-green, 6);\n$palette-green-600: nth($palette-green, 7);\n$palette-green-700: nth($palette-green, 8);\n$palette-green-800: nth($palette-green, 9);\n$palette-green-900: nth($palette-green, 10);\n$palette-green-A100: nth($palette-green, 11);\n$palette-green-A200: nth($palette-green, 12);\n$palette-green-A400: nth($palette-green, 13);\n$palette-green-A700: nth($palette-green, 14);\n\n$palette-light-green:\n\"241,248,233\"\n\"220,237,200\"\n\"197,225,165\"\n\"174,213,129\"\n\"156,204,101\"\n\"139,195,74\"\n\"124,179,66\"\n\"104,159,56\"\n\"85,139,47\"\n\"51,105,30\"\n\"204,255,144\"\n\"178,255,89\"\n\"118,255,3\"\n\"100,221,23\";\n\n$palette-light-green-50: nth($palette-light-green, 1);\n$palette-light-green-100: nth($palette-light-green, 2);\n$palette-light-green-200: nth($palette-light-green, 3);\n$palette-light-green-300: nth($palette-light-green, 4);\n$palette-light-green-400: nth($palette-light-green, 5);\n$palette-light-green-500: nth($palette-light-green, 6);\n$palette-light-green-600: nth($palette-light-green, 7);\n$palette-light-green-700: nth($palette-light-green, 8);\n$palette-light-green-800: nth($palette-light-green, 9);\n$palette-light-green-900: nth($palette-light-green, 10);\n$palette-light-green-A100: nth($palette-light-green, 11);\n$palette-light-green-A200: nth($palette-light-green, 12);\n$palette-light-green-A400: nth($palette-light-green, 13);\n$palette-light-green-A700: nth($palette-light-green, 14);\n\n$palette-lime:\n\"249,251,231\"\n\"240,244,195\"\n\"230,238,156\"\n\"220,231,117\"\n\"212,225,87\"\n\"205,220,57\"\n\"192,202,51\"\n\"175,180,43\"\n\"158,157,36\"\n\"130,119,23\"\n\"244,255,129\"\n\"238,255,65\"\n\"198,255,0\"\n\"174,234,0\";\n\n$palette-lime-50: nth($palette-lime, 1);\n$palette-lime-100: nth($palette-lime, 2);\n$palette-lime-200: nth($palette-lime, 3);\n$palette-lime-300: nth($palette-lime, 4);\n$palette-lime-400: nth($palette-lime, 5);\n$palette-lime-500: nth($palette-lime, 6);\n$palette-lime-600: nth($palette-lime, 7);\n$palette-lime-700: nth($palette-lime, 8);\n$palette-lime-800: nth($palette-lime, 9);\n$palette-lime-900: nth($palette-lime, 10);\n$palette-lime-A100: nth($palette-lime, 11);\n$palette-lime-A200: nth($palette-lime, 12);\n$palette-lime-A400: nth($palette-lime, 13);\n$palette-lime-A700: nth($palette-lime, 14);\n\n$palette-yellow:\n\"255,253,231\"\n\"255,249,196\"\n\"255,245,157\"\n\"255,241,118\"\n\"255,238,88\"\n\"255,235,59\"\n\"253,216,53\"\n\"251,192,45\"\n\"249,168,37\"\n\"245,127,23\"\n\"255,255,141\"\n\"255,255,0\"\n\"255,234,0\"\n\"255,214,0\";\n\n$palette-yellow-50: nth($palette-yellow, 1);\n$palette-yellow-100: nth($palette-yellow, 2);\n$palette-yellow-200: nth($palette-yellow, 3);\n$palette-yellow-300: nth($palette-yellow, 4);\n$palette-yellow-400: nth($palette-yellow, 5);\n$palette-yellow-500: nth($palette-yellow, 6);\n$palette-yellow-600: nth($palette-yellow, 7);\n$palette-yellow-700: nth($palette-yellow, 8);\n$palette-yellow-800: nth($palette-yellow, 9);\n$palette-yellow-900: nth($palette-yellow, 10);\n$palette-yellow-A100: nth($palette-yellow, 11);\n$palette-yellow-A200: nth($palette-yellow, 12);\n$palette-yellow-A400: nth($palette-yellow, 13);\n$palette-yellow-A700: nth($palette-yellow, 14);\n\n$palette-amber:\n\"255,248,225\"\n\"255,236,179\"\n\"255,224,130\"\n\"255,213,79\"\n\"255,202,40\"\n\"255,193,7\"\n\"255,179,0\"\n\"255,160,0\"\n\"255,143,0\"\n\"255,111,0\"\n\"255,229,127\"\n\"255,215,64\"\n\"255,196,0\"\n\"255,171,0\";\n\n$palette-amber-50: nth($palette-amber, 1);\n$palette-amber-100: nth($palette-amber, 2);\n$palette-amber-200: nth($palette-amber, 3);\n$palette-amber-300: nth($palette-amber, 4);\n$palette-amber-400: nth($palette-amber, 5);\n$palette-amber-500: nth($palette-amber, 6);\n$palette-amber-600: nth($palette-amber, 7);\n$palette-amber-700: nth($palette-amber, 8);\n$palette-amber-800: nth($palette-amber, 9);\n$palette-amber-900: nth($palette-amber, 10);\n$palette-amber-A100: nth($palette-amber, 11);\n$palette-amber-A200: nth($palette-amber, 12);\n$palette-amber-A400: nth($palette-amber, 13);\n$palette-amber-A700: nth($palette-amber, 14);\n\n$palette-orange:\n\"255,243,224\"\n\"255,224,178\"\n\"255,204,128\"\n\"255,183,77\"\n\"255,167,38\"\n\"255,152,0\"\n\"251,140,0\"\n\"245,124,0\"\n\"239,108,0\"\n\"230,81,0\"\n\"255,209,128\"\n\"255,171,64\"\n\"255,145,0\"\n\"255,109,0\";\n\n$palette-orange-50: nth($palette-orange, 1);\n$palette-orange-100: nth($palette-orange, 2);\n$palette-orange-200: nth($palette-orange, 3);\n$palette-orange-300: nth($palette-orange, 4);\n$palette-orange-400: nth($palette-orange, 5);\n$palette-orange-500: nth($palette-orange, 6);\n$palette-orange-600: nth($palette-orange, 7);\n$palette-orange-700: nth($palette-orange, 8);\n$palette-orange-800: nth($palette-orange, 9);\n$palette-orange-900: nth($palette-orange, 10);\n$palette-orange-A100: nth($palette-orange, 11);\n$palette-orange-A200: nth($palette-orange, 12);\n$palette-orange-A400: nth($palette-orange, 13);\n$palette-orange-A700: nth($palette-orange, 14);\n\n$palette-deep-orange:\n\"251,233,231\"\n\"255,204,188\"\n\"255,171,145\"\n\"255,138,101\"\n\"255,112,67\"\n\"255,87,34\"\n\"244,81,30\"\n\"230,74,25\"\n\"216,67,21\"\n\"191,54,12\"\n\"255,158,128\"\n\"255,110,64\"\n\"255,61,0\"\n\"221,44,0\";\n\n$palette-deep-orange-50: nth($palette-deep-orange, 1);\n$palette-deep-orange-100: nth($palette-deep-orange, 2);\n$palette-deep-orange-200: nth($palette-deep-orange, 3);\n$palette-deep-orange-300: nth($palette-deep-orange, 4);\n$palette-deep-orange-400: nth($palette-deep-orange, 5);\n$palette-deep-orange-500: nth($palette-deep-orange, 6);\n$palette-deep-orange-600: nth($palette-deep-orange, 7);\n$palette-deep-orange-700: nth($palette-deep-orange, 8);\n$palette-deep-orange-800: nth($palette-deep-orange, 9);\n$palette-deep-orange-900: nth($palette-deep-orange, 10);\n$palette-deep-orange-A100: nth($palette-deep-orange, 11);\n$palette-deep-orange-A200: nth($palette-deep-orange, 12);\n$palette-deep-orange-A400: nth($palette-deep-orange, 13);\n$palette-deep-orange-A700: nth($palette-deep-orange, 14);\n\n\n// Color order: 50, 100, 200, 300, 400, 500, 600, 700, 800, 900.\n\n$palette-brown:\n\"239,235,233\"\n\"215,204,200\"\n\"188,170,164\"\n\"161,136,127\"\n\"141,110,99\"\n\"121,85,72\"\n\"109,76,65\"\n\"93,64,55\"\n\"78,52,46\"\n\"62,39,35\";\n\n$palette-brown-50: nth($palette-brown, 1);\n$palette-brown-100: nth($palette-brown, 2);\n$palette-brown-200: nth($palette-brown, 3);\n$palette-brown-300: nth($palette-brown, 4);\n$palette-brown-400: nth($palette-brown, 5);\n$palette-brown-500: nth($palette-brown, 6);\n$palette-brown-600: nth($palette-brown, 7);\n$palette-brown-700: nth($palette-brown, 8);\n$palette-brown-800: nth($palette-brown, 9);\n$palette-brown-900: nth($palette-brown, 10);\n\n$palette-grey:\n\"250,250,250\"\n\"245,245,245\"\n\"238,238,238\"\n\"224,224,224\"\n\"189,189,189\"\n\"158,158,158\"\n\"117,117,117\"\n\"97,97,97\"\n\"66,66,66\"\n\"33,33,33\";\n\n$palette-grey-50: nth($palette-grey, 1);\n$palette-grey-100: nth($palette-grey, 2);\n$palette-grey-200: nth($palette-grey, 3);\n$palette-grey-300: nth($palette-grey, 4);\n$palette-grey-400: nth($palette-grey, 5);\n$palette-grey-500: nth($palette-grey, 6);\n$palette-grey-600: nth($palette-grey, 7);\n$palette-grey-700: nth($palette-grey, 8);\n$palette-grey-800: nth($palette-grey, 9);\n$palette-grey-900: nth($palette-grey, 10);\n\n$palette-blue-grey:\n\"236,239,241\"\n\"207,216,220\"\n\"176,190,197\"\n\"144,164,174\"\n\"120,144,156\"\n\"96,125,139\"\n\"84,110,122\"\n\"69,90,100\"\n\"55,71,79\"\n\"38,50,56\";\n\n$palette-blue-grey-50: nth($palette-blue-grey, 1);\n$palette-blue-grey-100: nth($palette-blue-grey, 2);\n$palette-blue-grey-200: nth($palette-blue-grey, 3);\n$palette-blue-grey-300: nth($palette-blue-grey, 4);\n$palette-blue-grey-400: nth($palette-blue-grey, 5);\n$palette-blue-grey-500: nth($palette-blue-grey, 6);\n$palette-blue-grey-600: nth($palette-blue-grey, 7);\n$palette-blue-grey-700: nth($palette-blue-grey, 8);\n$palette-blue-grey-800: nth($palette-blue-grey, 9);\n$palette-blue-grey-900: nth($palette-blue-grey, 10);\n\n$color-black: \"0,0,0\";\n$color-white: \"255,255,255\";\n\n\n/* colors.scss */\n$styleguide-generate-template: false !default;\n\n// The two possible colors for overlayed text.\n$color-dark-contrast: $color-white !default;\n$color-light-contrast: $color-black !default;\n\n\n\n// WEBPACK FOOTER //\n// webpack:///~/material-design-lite/src/_color-definitions.scss","/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n@function strip-units($number) {\n @return $number / ($number * 0 + 1);\n}\n\n\n\n// WEBPACK FOOTER //\n// webpack:///~/material-design-lite/src/_functions.scss","/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/* Typography */\n\n@mixin typo-preferred-font($usePreferred: true) {\n @if $usePreferred {\n font-family: $preferred_font;\n }\n}\n\n@mixin typo-display-4($colorContrast: false, $usePreferred: true) {\n @include typo-preferred-font($usePreferred);\n font-size: 112px;\n font-weight: 300;\n line-height: 1;\n letter-spacing: -0.04em;\n\n @if $colorContrast {\n opacity: 0.54;\n }\n}\n\n@mixin typo-display-3($colorContrast: false, $usePreferred: true) {\n @include typo-preferred-font($usePreferred);\n font-size: 56px;\n font-weight: 400;\n line-height: 1.35;\n letter-spacing: -0.02em;\n\n @if $colorContrast {\n opacity: 0.54;\n }\n}\n\n@mixin typo-display-2($colorContrast: false, $usePreferred: true) {\n @include typo-preferred-font($usePreferred);\n font-size: 45px;\n font-weight: 400;\n line-height: 48px;\n\n @if $colorContrast {\n opacity: 0.54;\n }\n}\n\n@mixin typo-display-1($colorContrast: false, $usePreferred: true) {\n @include typo-preferred-font($usePreferred);\n font-size: 34px;\n font-weight: 400;\n line-height: 40px;\n\n @if $colorContrast {\n opacity: 0.54;\n }\n}\n\n@mixin typo-headline($colorContrast: false, $usePreferred: true) {\n @include typo-preferred-font($usePreferred);\n font-size: 24px;\n font-weight: 400;\n line-height: 32px;\n -moz-osx-font-smoothing: grayscale;\n\n @if $colorContrast {\n opacity: 0.87;\n }\n}\n\n@mixin typo-title($colorContrast: false, $usePreferred: true) {\n @include typo-preferred-font($usePreferred);\n font-size: 20px;\n font-weight: 500;\n line-height: 1;\n letter-spacing: 0.02em;\n\n @if $colorContrast {\n opacity: 0.87;\n }\n}\n\n@mixin typo-subhead($colorContrast: false, $usePreferred: true) {\n @include typo-preferred-font($usePreferred);\n font-size: 16px;\n font-weight: 400;\n line-height: 24px;\n letter-spacing: 0.04em;\n\n @if $colorContrast {\n opacity: 0.87;\n }\n}\n\n@mixin typo-subhead-2($colorContrast: false, $usePreferred: true) {\n @include typo-preferred-font($usePreferred);\n font-size: 16px;\n font-weight: 400;\n line-height: 28px;\n letter-spacing: 0.04em;\n\n @if $colorContrast {\n opacity: 0.87;\n }\n}\n\n@mixin typo-body-2($colorContrast: false, $usePreferred: false) {\n @include typo-preferred-font($usePreferred);\n font-size: 14px;\n @if $usePreferred {\n font-weight: 500;\n } @else {\n font-weight: bold;\n }\n line-height: 24px;\n letter-spacing: 0;\n\n @if $colorContrast {\n opacity: 0.87;\n }\n}\n\n@mixin typo-body-1($colorContrast: false, $usePreferred: false) {\n @include typo-preferred-font($usePreferred);\n font-size: 14px;\n font-weight: 400;\n line-height: 24px;\n letter-spacing: 0;\n\n @if $colorContrast {\n opacity: 0.87;\n }\n}\n\n@mixin typo-caption($colorContrast: false, $usePreferred: false) {\n @include typo-preferred-font($usePreferred);\n font-size: 12px;\n font-weight: 400;\n line-height: 1;\n letter-spacing: 0;\n\n @if $colorContrast {\n opacity: 0.54;\n }\n}\n\n@mixin typo-blockquote($colorContrast: false, $usePreferred: true) {\n @include typo-preferred-font($usePreferred);\n position: relative;\n font-size: 24px;\n font-weight: 300;\n font-style: italic;\n line-height: 1.35;\n letter-spacing: 0.08em;\n\n &:before {\n position: absolute;\n left: -0.5em;\n content: 'â';\n }\n\n &:after {\n content: 'â';\n margin-left: -0.05em;\n }\n\n @if $colorContrast {\n opacity: 0.54;\n }\n}\n\n@mixin typo-menu($colorContrast: false, $usePreferred: true) {\n @include typo-preferred-font($usePreferred);\n font-size: 14px;\n font-weight: 500;\n line-height: 1;\n letter-spacing: 0;\n\n @if $colorContrast {\n opacity: 0.87;\n }\n}\n\n@mixin typo-button($colorContrast: false, $usePreferred: true) {\n @include typo-preferred-font($usePreferred);\n font-size: 14px;\n font-weight: 500;\n text-transform: uppercase;\n line-height: 1;\n letter-spacing: 0;\n\n @if $colorContrast {\n opacity: 0.87;\n }\n}\n\n@mixin typo-icon() {\n font-family: 'Material Icons';\n font-weight: normal;\n font-style: normal;\n font-size: 24px;\n line-height: 1;\n letter-spacing: normal;\n text-transform: none;\n display: inline-block;\n word-wrap: normal;\n font-feature-settings: 'liga';\n -webkit-font-feature-settings: 'liga';\n -webkit-font-smoothing: antialiased;\n}\n\n/* Shadows */\n\n// Focus shadow mixin.\n@mixin focus-shadow() {\n box-shadow: 0 0 8px rgba(0,0,0,.18),0 8px 16px rgba(0,0,0,.36);\n}\n\n@mixin shadow-2dp() {\n box-shadow: 0 2px 2px 0 rgba(0, 0, 0, $shadow-key-penumbra-opacity),\n 0 3px 1px -2px rgba(0, 0, 0, $shadow-key-umbra-opacity),\n 0 1px 5px 0 rgba(0, 0, 0, $shadow-ambient-shadow-opacity);\n}\n@mixin shadow-3dp() {\n box-shadow: 0 3px 4px 0 rgba(0, 0, 0, $shadow-key-penumbra-opacity),\n 0 3px 3px -2px rgba(0, 0, 0, $shadow-key-umbra-opacity),\n 0 1px 8px 0 rgba(0, 0, 0, $shadow-ambient-shadow-opacity);\n}\n@mixin shadow-4dp() {\n box-shadow: 0 4px 5px 0 rgba(0, 0, 0, $shadow-key-penumbra-opacity),\n 0 1px 10px 0 rgba(0, 0, 0, $shadow-ambient-shadow-opacity),\n 0 2px 4px -1px rgba(0, 0, 0, $shadow-key-umbra-opacity);\n}\n@mixin shadow-6dp() {\n box-shadow: 0 6px 10px 0 rgba(0, 0, 0, $shadow-key-penumbra-opacity),\n 0 1px 18px 0 rgba(0, 0, 0, $shadow-ambient-shadow-opacity),\n 0 3px 5px -1px rgba(0, 0, 0, $shadow-key-umbra-opacity);\n}\n@mixin shadow-8dp() {\n box-shadow: 0 8px 10px 1px rgba(0, 0, 0, $shadow-key-penumbra-opacity),\n 0 3px 14px 2px rgba(0, 0, 0, $shadow-ambient-shadow-opacity),\n 0 5px 5px -3px rgba(0, 0, 0, $shadow-key-umbra-opacity);\n}\n\n@mixin shadow-16dp() {\n box-shadow: 0 16px 24px 2px rgba(0, 0, 0, $shadow-key-penumbra-opacity),\n 0 6px 30px 5px rgba(0, 0, 0, $shadow-ambient-shadow-opacity),\n 0 8px 10px -5px rgba(0, 0, 0, $shadow-key-umbra-opacity);\n}\n\n@mixin shadow-24dp() {\n box-shadow: 0 9px 46px 8px rgba(0, 0, 0, $shadow-key-penumbra-opacity),\n 0 11px 15px -7px rgba(0, 0, 0, $shadow-ambient-shadow-opacity),\n 0 24px 38px 3px rgba(0, 0, 0, $shadow-key-umbra-opacity);\n}\n\n/* Animations */\n\n@mixin material-animation-fast-out-slow-in($duration:0.2s) {\n transition-duration: $duration;\n transition-timing-function: $animation-curve-fast-out-slow-in;\n}\n\n@mixin material-animation-linear-out-slow-in($duration:0.2s) {\n transition-duration: $duration;\n transition-timing-function: $animation-curve-linear-out-slow-in;\n}\n\n@mixin material-animation-fast-out-linear-in($duration:0.2s) {\n transition-duration: $duration;\n transition-timing-function: $animation-curve-fast-out-linear-in;\n}\n\n@mixin material-animation-default($duration:0.2s) {\n transition-duration: $duration;\n transition-timing-function: $animation-curve-default;\n}\n\n/* Dialog */\n\n@mixin dialog-width($units:5) {\n @if(type_of($units) != 'number') {\n @error \"The unit given to dialog-width should be a number.\";\n }\n // 56dp is the base unit width for Dialogs.\n // With 5 units being the number of units for a mobile device.\n // https://goo.gl/sK2O5o\n width: $units * 56px;\n}\n\n\n\n// WEBPACK FOOTER //\n// webpack:///~/material-design-lite/src/_mixins.scss","@charset \"UTF-8\";\n\n/**\n * Element Queries are a new way of writing CSS styles so the rules apply to individual elements\n * on the page, instead of to the whole page as one document like in regular CSS Media Queries.\n * This SASS file includes the eq.js, https://github.com/Snugug/eq.js, prolyfill which is an easy to use\n * drop-in solution to JavaScript powered element queries. It works well with SASS,\n * and element queries work without requireing a server to run.\n *\n * Feel fre to write your own element query stylesheet using one of the other libraries, e.g:\n * [EQCSS] - (https://github.com/eqcss/eqcss)\n * [CSS Element Queries] - (https://github.com/marcj/css-element-queries)\n * [BoomQueries] - (https://github.com/BoomTownROI/boomqueries)\n */\n\n// eq.js mixins\n@import '~eq.js/sass/eq';\n\n// Configuration and helpers\n@import 'variables';\n@import 'mixins';\n@import 'functions';\n\n// Components\n@import 'aria-expanded-toggle/aria-expanded-toggle';\n@import 'sticky-header/sticky-header';\n@import 'dialog/dialog';\n@import 'grid/grid-eqjs';\n@import 'lightboard/lightboard';\n@import 'lightboard/lightboard-eqjs';\n@import 'lightbox/lightbox';\n@import 'carousel/carousel';\n@import 'selectfield/selectfield';\n@import 'menu-button/menu-button';\n@import 'bordered-fields/bordered-fields';\n@import 'collapsible/collapsible';\n@import 'accordion/accordion';\n@import 'color-themes/light-color-theme';\n@import 'color-themes/dark-color-theme';\n\n\n\n// WEBPACK FOOTER //\n// webpack:///src/mdl-ext-eqjs.scss","/**\n * Copyright 2016 Leif Olsen. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n@import \"functions\";\n\n// ----------------------------------------------------------------\n// Sample colors\n// ----------------------------------------------------------------\n$mdlext-palette-amber-50: #FFF8E1;\n$mdlext-palette-amber-100: #FFECB3;\n$mdlext-palette-amber-500: #FFC107;\n$mdlext-palette-amber-700: #FFA000;\n$mdlext-palette-blue-grey-500: #607D8B;\n$mdlext-palette-deep-orange-500: #FF5722;\n$mdlext-palette-deep-purple-100: #D1C4E9;\n$mdlext-palette-deep-purple-500: #512DA8;\n$mdlext-palette-deep-purple-700: #673AB7;\n$mdlext-palette-green-50: #E8F5E9;\n$mdlext-palette-green-100: #C8E6C9;\n$mdlext-palette-green-500: #4CAF50;\n$mdlext-palette-green-700: #388E3C;\n$mdlext-palette-grey-50: #FAFAFA;\n$mdlext-palette-grey-100: #F5F5F5;\n$mdlext-palette-grey-200: #EEEEEE;\n$mdlext-palette-grey-300: #E0E0E0;\n$mdlext-palette-grey-400: #BDBDBD;\n$mdlext-palette-grey-500: #9E9E9E;\n$mdlext-palette-grey-600: #757575;\n$mdlext-palette-grey-700: #616161;\n$mdlext-palette-grey-800: #424242;\n$mdlext-palette-grey-900: #212121;\n$mdlext-palette-indigo-A200: #536DFE;\n$mdlext-palette-light-blue-500: #03A9F4;\n$mdlext-palette-light-green-500: #8BC34A;\n$mdlext-palette-pink-500: #E91E63;\n$mdlext-palette-pink-700: #C2185B;\n$mdlext-palette-pink-A400: #F50057;\n$mdlext-palette-purple-A200: #E040FB;\n$mdlext-palette-red-700: #D32F2F;\n$mdlext-palette-red-A200: #FF5252;\n$mdlext-palette-red-A400: #FF1744;\n$mdlext-palette-yellow-500: #FFEB3B;\n$mdlext-color-black: #000000;\n$mdlext-color-white: #FFFFFF;\n\n\n/* ========== Sticky Header ========== */\n$mdlext-sticky-header-background-color : transparent !default;\n$mdlext-sticky-header-background-color-scroll : transparent !default;\n$mdlext-sticky-header-gradient-color : rgb-string-to-hex($color-primary) !default;\n$mdlext-sticky-header-gradient-color-start : $mdlext-sticky-header-gradient-color !default;\n$mdlext-sticky-header-gradient-color-end : $mdlext-sticky-header-gradient-color-start !default;\n$mdlext-sticky-header-gradient-color-scroll-start: rgba($mdlext-sticky-header-gradient-color, 0.98) !default;\n$mdlext-sticky-header-gradient-color-scroll-end : rgba($mdlext-sticky-header-gradient-color, 0.95) !default;\n\n// Background shorthand\n/* stylelint-disable */\n$mdlext-sticky-header-background : $mdlext-sticky-header-background-color\n linear-gradient(to bottom,\n $mdlext-sticky-header-gradient-color-start 0,\n $mdlext-sticky-header-gradient-color-end 100%) !default;\n\n// Background shorthand when content is scrolling\n$mdlext-sticky-header-background-scroll : $mdlext-sticky-header-background-color-scroll\n linear-gradient(to bottom,\n $mdlext-sticky-header-gradient-color-scroll-start 100%,\n $mdlext-sticky-header-gradient-color-scroll-end 100%) !default;\n/* stylelint-enable */\n\n/* ========== Accordion ========== */\n$mdlext-accordion-header-background-color-base : $mdlext-palette-grey-500 !default;\n$mdlext-accordion-header-background-color : rgba($mdlext-accordion-header-background-color-base, 0.20) !default;\n$mdlext-accordion-header-background-open-color : rgba($mdlext-accordion-header-background-color-base, 0.30) !default;\n$mdlext-accordion-header-background-active-color : rgba($mdlext-accordion-header-background-color-base, 0.40) !default;\n$mdlext-accordion-header-border-color : rgba($mdlext-accordion-header-background-color-base, 0.50) !default;\n$mdlext-accordion-header-background-hover-color : rgba($mdlext-accordion-header-background-color-base, 0.40) !default;\n$mdlext-accordion-header-focus-outline-color : invert !default;\n$mdlext-accordion-header-disabled-color : rgba($mdlext-accordion-header-background-color-base, 0.12) !default;\n$mdlext-accordion-header-secondary-color : $mdlext-color-black !default;\n$mdlext-accordion-header-secondary-color-disabled: rgba($mdlext-color-black, 0.26) !default;\n$mdlext-accordion-header-highlight-color : darken($mdlext-accordion-header-border-color, 3%) !default;\n$mdlext-accordion-ripple-color : rgba(rgb-string-to-hex($color-accent-contrast), 0.5) !default;\n$mdlext-accordion-header-padding : 8px !default;\n$mdlext-accordion-header-height : 56px !default;\n$mdlext-accordion-content-padding : $mdlext-accordion-header-padding !default;\n$mdlext-accordion-content-color : inherit !default;\n$mdlext-accordion-content-background-color : transparent !default;\n\n\n/* ========== Dialog ========== */\n$mdlext-dialog-padding : 0;\n$mdlext-dialog-background-color : transparent !default;\n$mdlext-dialog-backdrop-color : rgba(0, 0, 0, 0.86) !default;\n$mdlext-dialog-open-animation : 0.5s 0.2s forwards !default;\n$mdlext-dialog-backdrop-animation: 0.2s forwards !default;\n\n\n/* ========== Lightbox ========== */\n$mdlext-lightbox-background-color : $card-background-color !default;\n$mdlext-lightbox-border : 0 !default;\n$mdlext-lightbox-border-radius : 0 !default;\n$mdlext-lightbox-figure-margin : 0 !default;\n$mdlext-lightbox-figure-padding : 0 !default;\n$mdlext-lightbox-figcaption-background-color: rgba(255, 255, 255, 0.76) !default;\n$mdlext-lightbox-footer-background-color : rgba(255, 255, 255, 0.86) !default;\n\n\n/* ========== Lightboard ========== */\n$mdlext-lightboard-medium-small-breakpoint : $grid-tablet-breakpoint !default; // 480\n$mdlext-lightboard-medium-breakpoint : $grid-tablet-breakpoint + 180px !default; // 480 + 180\n$mdlext-lightboard-medium-large-breakpoint : $grid-desktop-breakpoint !default; // 840\n$mdlext-lightboard-large-breakpoint : $grid-desktop-breakpoint + 360px !default; // 840+360\n\n$mdlext-lightboard-small-gutter : 2px !default;\n$mdlext-lightboard-small-margin : 0 !default;\n$mdlext-lightboard-small-columns : 2 !default;\n$mdlext-lightboard-small-frame-width : 8px !default;\n\n$mdlext-lightboard-medium-small-gutter : 4px !default;\n$mdlext-lightboard-medium-small-margin : 0 !default;\n$mdlext-lightboard-medium-small-columns : 4 !default;\n$mdlext-lightboard-medium-small-frame-width : 8px !default;\n\n$mdlext-lightboard-medium-gutter : 4px !default;\n$mdlext-lightboard-medium-margin : 0 !default;\n$mdlext-lightboard-medium-columns : 5 !default;\n$mdlext-lightboard-medium-frame-width : 8px !default;\n\n$mdlext-lightboard-medium-large-gutter : 8px !default;\n$mdlext-lightboard-medium-large-margin : 0 !default;\n$mdlext-lightboard-medium-large-columns : 6 !default;\n$mdlext-lightboard-medium-large-frame-width : 12px !default;\n\n$mdlext-lightboard-large-gutter : 8px !default;\n$mdlext-lightboard-large-margin : 0 !default;\n$mdlext-lightboard-large-columns : 7 !default;\n$mdlext-lightboard-large-frame-width : 12px !default;\n\n$mdlext-lightboard-slide-max-size : 250px !default;\n$mdlext-lightboard-slide-border-color : #D8D8D8 !default;\n$mdlext-lightboard-slide-background-color : #F8F8F8 !default;\n$mdlext-lightboard-slide-border-radius : 5px !default;\n$mdlext-lightboard-slide-inner-border-radius : 3px !default;\n$mdlext-lightboard-slide-box-shadow : 2px 2px 6px -1px rgba(219, 215, 219, 0.5) !default;\n$mdlext-lightboard-slide-border-color-hover : #B8B8B8 !default;\n$mdlext-lightboard-slide-background-color-hover: #E8E8E8 !default;\n$mdlext-lightboard-slide-active-bacground-color: #E8E8E8 !default;\n$mdlext-lightboard-slide-box-shadow-hover : 2px 2px 12px -1px rgba(219, 215, 219, 1) !default;\n$mdlext-lightboard-ripple-color : $tab-highlight-color !default;\n$mdlext-lightboard-focus-outline-color : inherit !default;\n$mdlext-lightboard-figcaption-text-color : rgb-string-to-hex($palette-grey-400) !default;\n\n\n/* ========== Carousel ========== */\n$mdlext-carousel-slide-border-top-width : 2px !default;\n$mdlext-carousel-slide-border-top-color : rgb-string-to-hex($color-accent) !default;\n$mdlext-carousel-slide-margin-horizontal : 0;\n$mdlext-carousel-slide-figcaption-color : $mdlext-lightboard-figcaption-text-color !default;\n$mdlext-carousel-slide-ripple-color : $mdlext-lightboard-ripple-color !default;\n\n\n/* ========== Bordered fields ========== */\n$mdlext-bordered-field-vertical-spacing-top : 0 !default;\n$mdlext-bordered-field-vertical-spacing-bottom : $input-text-vertical-spacing !default;\n\n$mdlext-bordered-field-input-text-font-size : $input-text-font-size !default;\n$mdlext-bordered-field-font-weight : normal !default;\n$mdlext-bordered-field-border-width : 1px !default;\n$mdlext-bordered-field-border-radius : 3px !default;\n$mdlext-bordered-field-padding : $input-text-padding + 4px !default;\n$mdlext-bordered-field-padding-top : $input-text-vertical-spacing !default;\n$mdlext-bordered-field-padding-bottom : $input-text-padding !default;\n\n$mdlext-bordered-field-input-text-color : inherit !default;\n$mdlext-bordered-field-border-color : rgba($mdlext-color-black, 0.26) !default;\n$mdlext-bordered-field-background-color : rgba(#FFFFFF, 0.2) !default;\n$mdlext-bordered-field-focus-border-color : rgb-string-to-hex($color-primary) !default;\n$mdlext-bordered-field-focus-background-color : rgba(#EEEEEE, 0.2) !default;\n\n$mdlext-bordered-field-input-text-disabled-text-color : rgba($mdlext-color-black, 0.12) !default;\n$mdlext-bordered-field-disabled-border-color : rgba($mdlext-color-black, 0.12) !default;\n$mdlext-bordered-field-disabled-background-color : $mdlext-bordered-field-background-color !default;\n\n$mdlext-bordered-field-input-text-error-color : $mdlext-bordered-field-input-text-color !default;\n$mdlext-bordered-field-error-border-color : rgb-string-to-hex($input-text-error-color) !default;\n$mdlext-bordered-field-error-background-color : rgba(lighten($mdlext-bordered-field-error-border-color, 50%), 0.5) !default;\n$mdlext-bordered-field-error-focus-border-color : darken($mdlext-bordered-field-error-border-color, 10%) !default;\n$mdlext-bordered-field-error-focus-background-color : $mdlext-bordered-field-error-background-color !default;\n\n$mdlext-bordered-field-input-text-label-color : rgba($mdlext-color-black, 0.26) !default;\n$mdlext-bordered-field-input-text-label-focus-color : $mdlext-bordered-field-focus-border-color !default;\n$mdlext-bordered-field-input-text-label-error-color : $mdlext-bordered-field-error-border-color !default;\n$mdlext-bordered-field-input-text-label-disabled-color: rgba($mdlext-color-black, 0.12) !default;\n\n$mdlext-bordered-field-label-font-size : $mdlext-bordered-field-input-text-font-size !default;\n$mdlext-bordered-field-floating-label-font-size : $input-text-floating-label-fontsize !default;\n$mdlext-bordered-field-floating-label-font-weight : normal !default;\n\n$mdlext-bordered-field-height : $mdlext-bordered-field-padding-top + $mdlext-bordered-field-padding-bottom + $mdlext-bordered-field-input-text-font-size + 6px !default;\n$mdlext-bordered-field-floating-label-focus-bottom : $mdlext-bordered-field-height - $mdlext-bordered-field-floating-label-font-size - $mdlext-bordered-field-padding-top/2 !default;\n\n\n// MDL can not handle required attribute properly. Planned for MDL-v2\n//$mdlext-bordered-field-required-border-color : rgba(rgb-string-to-hex($color-accent), 0.8) !default;\n//$mdlext-bordered-field-required-background-color : $mdlext-bordered-field-background-color !default;\n//$mdlext-bordered-field-required-focus-border-color : rgba(rgb-string-to-hex($color-accent), 0.8) !default;\n//$mdlext-bordered-field-required-focus-background-color: $mdlext-bordered-field-background-color !default;\n//$mdlext-bordered-field-label-required-color : $mdlext-bordered-field-required-border-color !default;\n\n\n\n/* ========== Color Themes ========== */\n\n// ----------------------------------------------------------------\n// Light Color Theme.\n// ----------------------------------------------------------------\n$mdlext-light-color-primary: #4CAF50 !default;\n$mdlext-light-color-primary-dark: #388E3C !default;\n$mdlext-light-color-primary-light: #4CAF50 !default; // Fallback color. Set to color-primary if fallback is not needed\n$mdlext-light-color-primary-contrast: #C8E6C9 !default; // text color on primary/primary dark background\n$mdlext-light-color-accent: #E040FB !default;\n$mdlext-light-color-accent-light: #E040FB !default; // Fallback color. Set to color-accent if fallback is not needed\n$mdlext-light-color-accent-contrast: #FAFAFA !default;\n\n$mdlext-light-content-background-color: #FAFAFA !default; // background color on content (paper/card) background\n$mdlext-light-text-color-primary: rgba($mdlext-color-black, 0.87) !default; // text color on content (paper/card) background\n$mdlext-light-text-color-secondary: rgba($mdlext-color-black, 0.54) !default; // text color on content (paper/card) background\n$mdlext-light-text-color-disabled: rgba($mdlext-color-black, 0.38) !default; // disabled text, hint text, and icons\n$mdlext-light-divider-color: rgba($mdlext-color-black, 0.12) !default; // -> $card-border-color\n$mdlext-light-error-color: #D32F2F !default;\n\n// Anchor\n$mdlext-light-text-link-color: $mdlext-light-color-accent !default;\n\n// Card\n$mdlext-light-card-background-color: $mdlext-light-content-background-color !default;\n$mdlext-light-card-text-color: $mdlext-light-text-color-primary !default;\n$mdlext-light-card-image-placeholder-color: $mdlext-light-color-accent !default;\n$mdlext-light-card-supporting-text-text-color: rgba($mdlext-color-black, 0.54) !default;\n$mdlext-light-card-border-color: rgba(0, 0, 0, 0.1) !default;\n$mdlext-light-card-subtitle-color: rgba($mdlext-color-black, 0.54) !default;\n\n// Item\n\n// Default Item Colors\n$mdlext-light-default-item-text-color: rgba($mdlext-color-black, 0.87) !default;\n$mdlext-light-default-item-outline-color: $mdlext-palette-grey-400 !default;\n$mdlext-light-default-item-hover-bg-color: $mdlext-palette-grey-200 !default;\n$mdlext-light-default-item-focus-bg-color: $mdlext-palette-grey-200 !default;\n$mdlext-light-default-item-active-bg-color: $mdlext-palette-grey-300 !default;\n$mdlext-light-default-item-divider-color: rgba($mdlext-color-black, 0.12) !default;\n\n// Disabled Button Colors\n$mdlext-light-disabled-item-text-color: $mdlext-palette-grey-400 !default;\n\n// Dropdown menu / menu-button\n$mdlext-light-default-dropdown-bg-color: $mdlext-color-white !default;\n\n// Badge\n$mdlext-light-badge-color: $mdlext-light-color-accent-contrast !default;\n$mdlext-light-badge-color-inverse: $mdlext-light-color-accent !default;\n$mdlext-light-badge-background: $mdlext-light-color-accent !default;\n$mdlext-light-badge-background-inverse: $mdlext-light-color-accent-contrast !default;\n\n// Default button colors.\n$mdlext-light-button-primary-color: rgba($mdlext-palette-grey-500, 0.20) !default;\n$mdlext-light-button-secondary-color: $mdlext-color-black !default;\n$mdlext-light-button-hover-color: $mdlext-light-button-primary-color !default;\n$mdlext-light-button-active-color: rgba($mdlext-palette-grey-500, 0.40) !default;\n$mdlext-light-button-focus-color: rgba($mdlext-color-black, 0.12) !default;\n\n// Colored button colors.\n$mdlext-light-button-primary-color-alt: $mdlext-light-color-primary-light !default;\n$mdlext-light-button-secondary-color-alt: $mdlext-light-color-primary-contrast !default;\n$mdlext-light-button-hover-color-alt: darken($mdlext-light-color-primary-light, 10%) !default;\n$mdlext-light-button-active-color-alt: darken($mdlext-light-color-primary-light, 10%) !default;\n$mdlext-light-button-focus-color-alt: $mdlext-light-button-focus-color !default;\n\n// Ripple color for colored raised buttons.\n$mdlext-light-button-ripple-color-alt: $mdlext-light-color-primary-contrast !default;\n\n// Disabled button colors.\n$mdlext-light-button-primary-color-disabled: rgba($mdlext-color-black, 0.12) !default;\n$mdlext-light-button-secondary-color-disabled: rgba($mdlext-color-black, 0.26) !default;\n\n// FAB colors and sizes.\n$mdlext-light-button-fab-color-alt: $mdlext-light-color-accent !default;\n$mdlext-light-button-fab-hover-color-alt: $mdlext-light-color-accent !default;\n$mdlext-light-button-fab-active-color-alt: $mdlext-light-color-accent !default;\n$mdlext-light-button-fab-text-color-alt: $mdlext-light-color-accent-contrast !default;\n$mdlext-light-button-fab-ripple-color-alt: $mdlext-light-color-accent-contrast !default;\n\n// Slider\n$mdlext-light-range-bg-color: rgba($mdlext-color-black, 0.26) !default;\n$mdlext-light-range-color: $mdlext-light-color-accent-light !default;\n$mdlext-light-range-faded-color: rgba($mdlext-light-color-accent-light, 0.26) !default;\n$mdlext-light-range-bg-focus-color: rgba($mdlext-color-black, 0.12) !default;\n\n// Textfields\n$mdlext-light-input-text-background-color: transparent !default;\n$mdlext-light-input-text-label-color: rgba($mdlext-color-black, 0.54) !default;\n$mdlext-light-input-text-bottom-border-color: rgba($mdlext-color-black, 0.26) !default;\n$mdlext-light-input-text-highlight-color: $mdlext-light-color-accent-light !default;\n$mdlext-light-input-text-disabled-color: rgba($mdlext-color-black, 0.12) !default;\n$mdlext-light-input-text-disabled-text-color: rgba($mdlext-color-black, 0.26) !default;\n$mdlext-light-input-text-error-color: $mdlext-light-error-color !default;\n\n// Checkboxes\n$mdlext-light-checkbox-color: $mdlext-light-color-accent-light !default;\n$mdlext-light-checkbox-off-color: rgba($mdlext-color-black, 0.54) !default;\n$mdlext-light-checkbox-disabled-color: rgba($mdlext-color-black, 0.26) !default;\n$mdlext-light-checkbox-focus-color: rgba($mdlext-light-color-accent-light, 0.26) !default;\n\n// Icon Toggles\n$mdlext-light-icon-toggle-color: $mdlext-palette-grey-700 !default;\n$mdlext-light-icon-toggle-focus-color: $mdlext-light-button-focus-color !default;\n$mdlext-light-icon-toggle-checked-color: $mdlext-light-color-accent-light !default;\n$mdlext-light-icon-toggle-checked-focus-color: rgba($mdlext-light-color-accent-light, 0.26) !default;\n$mdlext-light-icon-toggle-disabled-color: rgba($mdlext-color-black, 0.26) !default;\n\n// Radio Buttons\n$mdlext-light-radio-color: $mdlext-light-color-accent-light !default;\n$mdlext-light-radio-off-color: rgba($mdlext-color-black, 0.54) !default;\n$mdlext-light-radio-disabled-color: rgba($mdlext-color-black, 0.26) !default;\n\n// Switches\n$mdlext-light-switch-color: $mdlext-light-color-accent-light !default;\n$mdlext-light-switch-faded-color: rgba($mdlext-light-color-accent-light, 0.26) !default;\n$mdlext-light-switch-thumb-color: $mdlext-light-switch-color !default;\n$mdlext-light-switch-track-color: rgba($mdlext-light-color-accent-light, 0.54) !default;\n$mdlext-light-switch-off-thumb-color: $mdlext-palette-grey-50 !default;\n$mdlext-light-switch-off-track-color: rgba($mdlext-color-black, 0.26) !default;\n$mdlext-light-switch-disabled-thumb-color: $mdlext-palette-grey-400 !default;\n$mdlext-light-switch-disabled-track-color: rgba($mdlext-color-black, 0.12) !default;\n\n// Data table\n$mdlext-light-data-table-background-color: $mdlext-light-content-background-color !default;\n$mdlext-light-data-table-header-color: rgba($mdlext-color-black, 0.54) !default;\n$mdlext-light-data-table-header-sorted-color: rgba($mdlext-color-black, 0.87) !default;\n$mdlext-light-data-table-header-sorted-icon-hover-color: rgba($mdlext-color-black, 0.26) !default;\n$mdlext-light-data-table-hover-color: $mdlext-palette-grey-200 !default;\n$mdlext-light-data-table-selection-color: $mdlext-palette-grey-200 !default;\n$mdlext-light-data-table-divider-color: rgba($mdlext-color-black, 0.12) !default;\n$mdlext-light-data-table-dividers: 1px solid $mdlext-light-data-table-divider-color !default;\n\n\n// Selectfield\n// Uses variables from textfield\n$mdlext-selectfield-arrow-width: 0.7em;\n$mdlext-selectfield-arrow-length: 0.5em;\n\n\n// Accordion\n$mdlext-light-accordion-header-background-color-base : $mdlext-palette-grey-600 !default;\n$mdlext-light-accordion-header-background-color : rgba($mdlext-light-accordion-header-background-color-base, 0.20) !default;\n$mdlext-light-accordion-header-background-open-color : rgba($mdlext-light-accordion-header-background-color-base, 0.30) !default;\n$mdlext-light-accordion-header-background-active-color : rgba($mdlext-light-accordion-header-background-color-base, 0.40) !default;\n$mdlext-light-accordion-header-border-color : rgba($mdlext-light-accordion-header-background-color-base, 0.50) !default;\n$mdlext-light-accordion-header-background-hover-color : rgba($mdlext-light-accordion-header-background-color-base, 0.40) !default;\n$mdlext-light-accordion-header-focus-outline-color : darken($mdlext-light-accordion-header-border-color, 3%) !default;\n$mdlext-light-accordion-header-disabled-color : rgba($mdlext-light-accordion-header-background-color-base, 0.12) !default;\n$mdlext-light-accordion-header-secondary-color : $mdlext-color-black !default;\n$mdlext-light-accordion-header-secondary-color-disabled: rgba($mdlext-color-black, 0.26) !default;\n$mdlext-light-accordion-header-highlight-color : darken($mdlext-light-accordion-header-border-color, 6%) !default;\n$mdlext-light-accordion-ripple-color : rgba($mdlext-light-accordion-header-background-color-base, 0.4) !default;\n$mdlext-light-accordion-content-color : inherit !default;\n$mdlext-light-accordion-content-background-color : transparent !default;\n\n\n// Bordered fields\n$mdlext-light-bordered-field-input-text-color : inherit !default;\n$mdlext-light-bordered-field-border-color : $mdlext-light-input-text-bottom-border-color !default;\n$mdlext-light-bordered-field-background-color : rgba($mdlext-light-content-background-color, 0.1) !default;\n$mdlext-light-bordered-field-focus-border-color : $mdlext-light-color-accent-light !default;\n$mdlext-light-bordered-field-focus-background-color : rgba(darken($mdlext-light-bordered-field-background-color, 10%), 0.1) !default;\n\n$mdlext-light-bordered-field-input-text-disabled-text-color : $mdlext-light-input-text-disabled-text-color;\n$mdlext-light-bordered-field-disabled-border-color : $mdlext-light-input-text-disabled-color !default;\n$mdlext-light-bordered-field-disabled-background-color : $mdlext-light-bordered-field-background-color !default;\n\n$mdlext-light-bordered-field-input-text-error-color : $mdlext-light-bordered-field-input-text-color !default;\n$mdlext-light-bordered-field-error-border-color : $mdlext-light-input-text-error-color !default;\n$mdlext-light-bordered-field-error-background-color : rgba(lighten($mdlext-light-bordered-field-error-border-color, 50%), 0.5) !default;\n$mdlext-light-bordered-field-error-focus-border-color : darken($mdlext-light-bordered-field-error-border-color, 10%) !default;\n$mdlext-light-bordered-field-error-focus-background-color : $mdlext-light-bordered-field-error-background-color !default;\n\n$mdlext-light-bordered-field-input-text-label-color : $mdlext-light-input-text-label-color !default;\n$mdlext-light-bordered-field-input-text-label-focus-color : $mdlext-light-bordered-field-focus-border-color !default;\n$mdlext-light-bordered-field-input-text-label-error-color : $mdlext-light-bordered-field-error-border-color !default;\n$mdlext-light-bordered-field-input-text-label-disabled-color: $mdlext-light-input-text-disabled-text-color !default;\n\n\n\n// ----------------------------------------------------------------\n// Dark Color Theme.\n// ----------------------------------------------------------------\n$mdlext-dark-color-primary: #FFC107 !default;\n$mdlext-dark-color-primary-dark: #FFA000 !default;\n$mdlext-dark-color-primary-light: #FFC107 !default; // Fallback color. Set to color-primary if fallback is not needed\n$mdlext-dark-color-primary-contrast: #FFF8E1 !default; // text color on primary/primary dark background\n$mdlext-dark-color-accent: #536DFE !default;\n$mdlext-dark-color-accent-light: #536DFE !default; // Fallback color. Set to color-accent if fallback is not needed\n$mdlext-dark-color-accent-contrast: #FFFFFF !default;\n\n$mdlext-dark-content-background-color: #303030 !default; // #424242 or #303030, background color on content (paper/card) background\n$mdlext-dark-text-color-primary: rgba(#FFFFFF, 1.00) !default; // text color on content (paper/card) background\n$mdlext-dark-text-color-secondary: rgba(#FFFFFF, 0.70) !default; // text color on content (paper/card) background\n$mdlext-dark-text-color-disabled: rgba(#FFFFFF, 0.50) !default; // disabled text, hint text, and icons\n$mdlext-dark-divider-color: rgba(#FFFFFF, 0.12) !default; // -> $card-border-color\n$mdlext-dark-error-color: #FF1744 !default;\n\n// Anchor\n$mdlext-dark-text-link-color: $mdlext-dark-color-accent !default;\n\n// Card\n$mdlext-dark-card-background-color: $mdlext-dark-content-background-color !default;\n$mdlext-dark-card-text-color: $mdlext-dark-text-color-primary !default;\n$mdlext-dark-card-image-placeholder-color: $mdlext-dark-color-accent !default;\n$mdlext-dark-card-supporting-text-text-color: rgba($mdlext-color-white, 0.70) !default;\n$mdlext-dark-card-border-color: rgba(0, 0, 0, 0.1) !default;\n$mdlext-dark-card-subtitle-color: rgba($mdlext-color-black, 0.70) !default;\n\n// Item\n\n// Default Item Colors\n$mdlext-dark-default-item-text-color: rgba($mdlext-color-white, 0.87) !default;\n$mdlext-dark-default-item-outline-color: $mdlext-palette-grey-700 !default;\n$mdlext-dark-default-item-hover-bg-color: $mdlext-palette-grey-900 !default;\n$mdlext-dark-default-item-focus-bg-color: $mdlext-palette-grey-900 !default;\n$mdlext-dark-default-item-active-bg-color: $mdlext-palette-grey-800 !default;\n$mdlext-dark-default-item-divider-color: rgba($mdlext-color-white, 0.20) !default;\n\n// Disabled Button Colors\n$mdlext-dark-disabled-item-text-color: $mdlext-palette-grey-500 !default;\n\n// Dropdown menu / menu-button\n$mdlext-dark-default-dropdown-bg-color: $mdlext-color-black !default;\n\n// Badge\n$mdlext-dark-badge-color: $mdlext-dark-color-accent-contrast !default;\n$mdlext-dark-badge-color-inverse: $mdlext-dark-color-accent !default;\n$mdlext-dark-badge-background: $mdlext-dark-color-accent !default;\n$mdlext-dark-badge-background-inverse: $mdlext-dark-color-accent-contrast !default;\n\n// Default button colors.\n$mdlext-dark-button-primary-color: rgba($mdlext-palette-grey-500, 0.20) !default;\n$mdlext-dark-button-secondary-color: $mdlext-color-white !default;\n$mdlext-dark-button-hover-color: $mdlext-dark-button-primary-color !default;\n$mdlext-dark-button-active-color: rgba($mdlext-palette-grey-500, 0.40) !default;\n$mdlext-dark-button-focus-color: rgba($mdlext-color-black, 0.12) !default;\n\n// Colored button colors.\n$mdlext-dark-button-primary-color-alt: $mdlext-dark-color-primary-light !default;\n$mdlext-dark-button-secondary-color-alt: $mdlext-dark-color-primary-contrast !default;\n$mdlext-dark-button-hover-color-alt: darken($mdlext-dark-color-primary-light, 10%) !default;\n$mdlext-dark-button-active-color-alt: darken($mdlext-dark-color-primary-light, 10%) !default;\n$mdlext-dark-button-focus-color-alt: $mdlext-dark-button-focus-color !default;\n\n// Ripple color for colored raised buttons.\n$mdlext-dark-button-ripple-color-alt: $mdlext-dark-color-primary-contrast !default;\n\n// Disabled button colors.\n$mdlext-dark-button-primary-color-disabled: rgba($mdlext-color-white, 0.12) !default;\n$mdlext-dark-button-secondary-color-disabled: rgba($mdlext-color-white, 0.26) !default;\n\n// FAB colors and sizes.\n$mdlext-dark-button-fab-color-alt: $mdlext-dark-color-accent !default;\n$mdlext-dark-button-fab-hover-color-alt: $mdlext-dark-color-accent !default;\n$mdlext-dark-button-fab-active-color-alt: $mdlext-dark-color-accent !default;\n$mdlext-dark-button-fab-text-color-alt: $mdlext-dark-color-accent-contrast !default;\n$mdlext-dark-button-fab-ripple-color-alt: $mdlext-dark-color-accent-contrast !default;\n\n// Slider\n$mdlext-dark-range-bg-color: rgba($mdlext-color-white, 0.87) !default;\n$mdlext-dark-range-color: $mdlext-dark-color-accent-light !default;\n$mdlext-dark-range-faded-color: rgba($mdlext-dark-color-accent-light, 0.50) !default;\n$mdlext-dark-range-bg-focus-color: rgba($mdlext-color-white, 0.50) !default;\n\n// Textfields\n$mdlext-dark-input-text-background-color: transparent !default;\n$mdlext-dark-input-text-label-color: rgba($mdlext-color-white, 0.50) !default;\n$mdlext-dark-input-text-bottom-border-color: rgba($mdlext-color-white, 0.26) !default;\n$mdlext-dark-input-text-highlight-color: $mdlext-dark-color-accent-light !default;\n$mdlext-dark-input-text-disabled-color: rgba($mdlext-color-white, 0.12) !default;\n$mdlext-dark-input-text-disabled-text-color: rgba($mdlext-color-white, 0.26) !default;\n$mdlext-dark-input-text-error-color: $mdlext-dark-error-color !default;\n\n// Checkboxes\n$mdlext-dark-checkbox-color: $mdlext-dark-color-accent-light !default;\n$mdlext-dark-checkbox-off-color: rgba($mdlext-color-white, 0.50) !default;\n$mdlext-dark-checkbox-disabled-color: rgba($mdlext-color-white, 0.26) !default;\n$mdlext-dark-checkbox-focus-color: rgba($mdlext-dark-color-accent-light, 0.26) !default;\n\n// Icon Toggles\n$mdlext-dark-icon-toggle-color: $mdlext-palette-grey-700 !default;\n$mdlext-dark-icon-toggle-focus-color: $mdlext-dark-button-focus-color !default;\n$mdlext-dark-icon-toggle-checked-color: $mdlext-dark-color-accent-light !default;\n$mdlext-dark-icon-toggle-checked-focus-color: rgba($mdlext-dark-color-accent-light, 0.26) !default;\n$mdlext-dark-icon-toggle-disabled-color: rgba($mdlext-color-white, 0.50) !default;\n\n// Radio Buttons\n$mdlext-dark-radio-color: $mdlext-dark-color-accent-light !default;\n$mdlext-dark-radio-off-color: rgba($mdlext-color-white, 0.50) !default;\n$mdlext-dark-radio-disabled-color: rgba($mdlext-color-white, 0.26) !default;\n\n// Switches\n$mdlext-dark-switch-color: $mdlext-dark-color-accent-light !default;\n$mdlext-dark-switch-faded-color: rgba($mdlext-dark-color-accent-light, 0.26) !default;\n$mdlext-dark-switch-thumb-color: $mdlext-dark-switch-color !default;\n$mdlext-dark-switch-track-color: rgba($mdlext-dark-color-accent-light, 0.5) !default;\n$mdlext-dark-switch-off-thumb-color: $mdlext-palette-grey-50 !default;\n$mdlext-dark-switch-off-track-color: rgba($mdlext-color-white, 0.26) !default;\n$mdlext-dark-switch-disabled-thumb-color: $mdlext-palette-grey-50 !default;\n$mdlext-dark-switch-disabled-track-color: rgba($mdlext-color-white, 0.12) !default;\n\n// Data table\n$mdlext-dark-data-table-background-color: $mdlext-dark-content-background-color !default;\n$mdlext-dark-data-table-header-color: rgba($mdlext-color-white, 0.87) !default;\n$mdlext-dark-data-table-header-sorted-color: rgba($mdlext-color-white, 0.87) !default;\n$mdlext-dark-data-table-header-sorted-icon-hover-color: rgba($mdlext-color-white, 0.26) !default;\n$mdlext-dark-data-table-hover-color: $mdlext-dark-default-item-hover-bg-color !default;\n$mdlext-dark-data-table-selection-color: $mdlext-dark-default-item-active-bg-color !default;\n$mdlext-dark-data-table-divider-color: rgba($mdlext-color-white, 0.12) !default;\n$mdlext-dark-data-table-dividers: 1px solid $mdlext-dark-data-table-divider-color !default;\n\n\n// Selectfield\n// Uses variables from textfield\n\n\n// Accordion\n$mdlext-dark-accordion-header-background-color-base : $mdlext-color-black !default;\n$mdlext-dark-accordion-header-background-color : rgba($mdlext-dark-accordion-header-background-color-base, 1.0) !default;\n$mdlext-dark-accordion-header-background-open-color : rgba($mdlext-dark-accordion-header-background-color-base, 0.9) !default;\n$mdlext-dark-accordion-header-border-color : $mdlext-palette-grey-800 !default;\n$mdlext-dark-accordion-header-background-hover-color : rgba($mdlext-dark-accordion-header-background-color-base, 0.5) !default;\n$mdlext-dark-accordion-header-background-active-color : rgba($mdlext-dark-accordion-header-background-color-base, 0.6) !default;\n$mdlext-dark-accordion-header-focus-outline-color : lighten($mdlext-dark-accordion-header-border-color, 40%) !default;\n$mdlext-dark-accordion-header-disabled-color : rgba($mdlext-dark-accordion-header-background-color-base, 0.4) !default;\n$mdlext-dark-accordion-header-secondary-color : $mdlext-dark-text-color-primary !default;\n$mdlext-dark-accordion-header-secondary-color-disabled: $mdlext-dark-text-color-disabled !default;\n$mdlext-dark-accordion-header-highlight-color : lighten($mdlext-dark-accordion-header-border-color, 40%) !default;\n$mdlext-dark-accordion-ripple-color : rgba($mdlext-dark-accordion-header-background-color-base, 0.3) !default;\n$mdlext-dark-accordion-content-color : inherit !default;\n$mdlext-dark-accordion-content-background-color : transparent !default;\n\n\n// Bordered fields\n$mdlext-dark-bordered-field-input-text-color : inherit !default;\n$mdlext-dark-bordered-field-border-color : $mdlext-dark-input-text-bottom-border-color !default;\n$mdlext-dark-bordered-field-background-color : rgba($mdlext-dark-content-background-color, 0.1) !default;\n$mdlext-dark-bordered-field-focus-border-color : $mdlext-dark-color-accent-light !default;\n$mdlext-dark-bordered-field-focus-background-color : rgba(darken($mdlext-dark-bordered-field-background-color, 10%), 0.1) !default;\n\n$mdlext-dark-bordered-field-input-text-disabled-text-color : $mdlext-dark-input-text-disabled-text-color;\n$mdlext-dark-bordered-field-disabled-border-color : $mdlext-dark-input-text-disabled-color !default;\n$mdlext-dark-bordered-field-disabled-background-color : $mdlext-dark-bordered-field-background-color !default;\n\n$mdlext-dark-bordered-field-input-text-error-color : $mdlext-dark-bordered-field-input-text-color !default;\n$mdlext-dark-bordered-field-error-border-color : $mdlext-dark-input-text-error-color !default;\n$mdlext-dark-bordered-field-error-background-color : rgba($mdlext-dark-bordered-field-error-border-color, 0.1) !default;\n$mdlext-dark-bordered-field-error-focus-border-color : darken($mdlext-dark-bordered-field-error-border-color, 10%) !default;\n$mdlext-dark-bordered-field-error-focus-background-color : $mdlext-dark-bordered-field-error-background-color !default;\n\n$mdlext-dark-bordered-field-input-text-label-color : $mdlext-dark-input-text-label-color !default;\n$mdlext-dark-bordered-field-input-text-label-focus-color : $mdlext-dark-bordered-field-focus-border-color !default;\n$mdlext-dark-bordered-field-input-text-label-error-color : $mdlext-dark-bordered-field-error-border-color !default;\n$mdlext-dark-bordered-field-input-text-label-disabled-color: $mdlext-dark-input-text-disabled-text-color !default;\n\n\n\n// WEBPACK FOOTER //\n// webpack:///src/_variables.scss","///\n/// Returns the opposite direction of each direction in a list\n/// Modified from: https://css-tricks.com/snippets/sass/opposite-direction-function/\n/// @author Hugo Giraudel\n/// @param {List} $directions - List of initial directions\n/// @return {List} - List of opposite directions\n@function mdlext-opposite-direction($directions) {\n $opposite-directions: ();\n $direction-map: (\n 'top': 'bottom',\n 'right': 'left',\n 'bottom': 'top',\n 'left': 'right',\n 'center': 'center',\n 'ltr': 'rtl',\n 'rtl': 'ltr'\n );\n\n @each $direction in $directions {\n $direction: to-lower-case($direction);\n\n @if map-has-key($direction-map, $direction) {\n $opposite-directions: append($opposite-directions, unquote(map-get($direction-map, $direction)));\n }\n @else {\n @warn \"No opposite direction can be found for `#{$direction}`. Direction omitted.\";\n }\n }\n\n @return $opposite-directions;\n}\n\n///\n/// Strip unit from value\n/// @author Hugo Giraudel\n/// http://hugogiraudel.com/2013/08/12/sass-functions/\n/// https://css-tricks.com/snippets/sass/strip-unit-function/\n/// @param {Number} $number - Number to remove unit from\n/// @return {Number} - Unitless number\n\n@function strip-unit($number) {\n @return if(type-of($number) == 'number' and not unitless($number), $number / ($number * 0 + 1), $number);\n}\n\n///\n/// Clamping a number means restricting it between min and max values.\n/// 4 clamped to 1-3 equals 3.\n/// -5 clamped to 1-10 equals 1.\n/// 42 clamped to 10-100 equals 42.\n/// @author Hugo Giraudel\n/// http://hugogiraudel.com/2013/08/12/sass-functions/\n/// @param {Number} $value - The value to clamp\n/// @param {Number} $min - min value in range\n/// @param {Number} $max - Max value in range\n/// @return {Number} - The clamped value\n\n@function clamp($value, $min, $max) {\n @return if($value > $max, $max, if($value < $min, $min, $value));\n}\n\n///\n/// Convert one unit into another\n/// @author Hugo Giraudel\n/// http://www.sitepoint.com/understanding-sass-units/\n/// @param {Number} $value - Initial value\n/// @param {String} $unit - Desired unit\n/// @return {Number}\n/// @throw Error if `$unit` does not exist or if units are incompatible.\n\n/* stylelint-disable */\n@function convert-unit($value, $unit) {\n $units: (\n 'px' : 0px,\n 'cm' : 0cm,\n 'mm' : 0mm,\n '%' : 0%,\n 'ch' : 0ch,\n 'in' : 0in,\n 'em' : 0em,\n 'rem' : 0rem,\n 'pt' : 0pt,\n 'pc' : 0pc,\n 'ex' : 0ex,\n 'vw' : 0vw,\n 'vh' : 0vh,\n 'vmin': 0vmin,\n 'vmax': 0vmax,\n 'deg' : 0deg,\n 'turn': 0turn,\n 'rad' : 0rad,\n 'grad': 0grad,\n 's' : 0s,\n 'ms' : 0ms,\n 'Hz' : 0Hz,\n 'kHz' : 0kHz,\n 'dppx': 0dppx,\n 'dpcm': 0dpcm,\n 'dpi' : 0dpi,\n );\n\n @if map-has-key($units, $unit) {\n @return map-get($units, $unit) + $value;\n }\n\n @error \"Unknown unit `#{$unit}`.\";\n}\n/* stylelint-enable */\n\n\n///\n/// Replace `$search` with `$replace` in `$string`\n/// @author Hugo Giraudel, http://hugogiraudel.com/2014/01/13/sass-string-replacement-function/\n/// @param {String} $string - Initial string\n/// @param {String} $search - Substring to replace\n/// @param {String} $replace ('') - New value\n/// @return {String} - Updated string\n@function str-replace($string, $search, $replace: '') {\n $index: str-index($string, $search);\n\n @if $index {\n @return str-slice($string, 1, $index - 1) + $replace + str-replace(str-slice($string, $index + str-length($search)), $search, $replace);\n }\n @return $string;\n}\n\n///\n/// @function explode() -- split a string into a list of strings\n/// @author https://gist.github.com/danielpchen/3677421ea15dcf2579ff\n/// {string} $string: the string to be split\n/// {string} $delimiter: the boundary string\n/// @return {list} the result list\n@function explode($string, $delimiter: ',') {\n $result: ();\n @if $delimiter == \"\" {\n @for $i from 1 through str-length($string) {\n $result: append($result, str-slice($string, $i, $i));\n }\n @return $result;\n }\n $exploding: true;\n @while $exploding {\n $d-index: str-index($string, $delimiter);\n @if $d-index {\n @if $d-index > 1 {\n $result: append($result, str-slice($string, 1, $d-index - 1));\n $string: str-slice($string, $d-index + str-length($delimiter));\n }\n @else if $d-index == 1 {\n $string: str-slice($string, 1, $d-index + str-length($delimiter));\n }\n @else {\n $result: append($result, $string);\n $exploding: false;\n }\n }\n @else {\n $result: append($result, $string);\n $exploding: false;\n }\n }\n @return $result;\n}\n\n///\n/// Add `$unit` to `$value`\n/// @author Hugo Giraudel\n///\n/// @param {Number} $value - Value to add unit to\n/// @param {String} $unit - String representation of the unit\n///\n/// @return {Number} - `$value` expressed in `$unit`\n/// @throw Error if `$unit` does not exist or if units are incompatible.\n///\n@function to-length($value, $unit) {\n $units: (\n 'px' : 1px,\n 'cm' : 1cm,\n 'mm' : 1mm,\n '%' : 1%,\n 'ch' : 1ch,\n 'pc' : 1pc,\n 'in' : 1in,\n 'em' : 1em,\n 'rem' : 1rem,\n 'pt' : 1pt,\n 'ex' : 1ex,\n 'vw' : 1vw,\n 'vh' : 1vh,\n 'vmin': 1vmin,\n 'vmax': 1vmax\n );\n\n @if not index(map-keys($units), $unit) {\n @error('Invalid unit `#{$unit}`.');\n }\n\n @return $value * map-get($units, $unit);\n}\n\n///\n/// Casts a string into a number\n///\n/// @author Hugo Giraudel\n// @param {String | Number} $value - Value to be parsed\n///\n/// @return {Number}\n/// @throw Error if `$value` is not a number or a string.\n///\n@function to-number($value) {\n @if type-of($value) == 'number' {\n @return $value;\n }\n @else if type-of($value) != 'string' {\n @error('Value for `to-number` should be a number or a string.');\n }\n\n $result: 0;\n $digits: 0;\n $minus: str-slice($value, 1, 1) == '-';\n $numbers: ('0': 0, '1': 1, '2': 2, '3': 3, '4': 4, '5': 5, '6': 6, '7': 7, '8': 8, '9': 9);\n\n @for $i from if($minus, 2, 1) through str-length($value) {\n $character: str-slice($value, $i, $i);\n\n @if not (index(map-keys($numbers), $character) or $character == '.') {\n @return to-length(if($minus, -$result, $result), str-slice($value, $i));\n }\n\n @if $character == '.' {\n $digits: 1;\n }\n @else if $digits == 0 {\n $result: $result * 10 + map-get($numbers, $character);\n }\n @else {\n $digits: $digits * 10;\n $result: $result + map-get($numbers, $character) / $digits;\n }\n }\n\n @return if($minus, -$result, $result);\n}\n\n///\n/// Convert `$rgb-string` to a number list\n/// @author Leif Olsen\n/// @param {String | Number} $value - Value to be parsed\n/// @return {list} the rgb number list\n/// @throw Error if `$value` is not a number, color or a string.\n@function rgb-string-to-numbers($value) {\n @if type-of($value) == 'number' or type-of($value) == 'color' {\n @return $value;\n }\n @else if type-of($value) != 'string' {\n @error('Value for `rgb-string-to-numbers` should be a number or a string.');\n }\n\n $s: str-replace($value, \"rgba\");\n $s: str-replace($s, \"rgb\");\n $s: str-replace($s, \"(\");\n $s: str-replace($s, \")\");\n $s: str-replace($s, \" \");\n $l: explode($s);\n $result: ();\n @for $i from 1 through length($l) {\n $result: append($result, to-number(nth($l, $i)));\n }\n @return $result;\n}\n\n///\n/// Convert `$rgb-string` to a corresponding hex value\n/// @author Leif Olsen\n/// @param {String | Number} $value - Value to be parsed\n/// @return {number} the rgb hex value\n/// @throw Error if `$value` is not a number, color or a string.\n@function rgb-string-to-hex($value) {\n @if type-of($value) == 'number' or type-of($value) == 'color' {\n @return $value;\n }\n @else if type-of($value) != 'string' {\n @error('Value for `rgb-string-to-numbers` should be a number or a string.');\n }\n $l: rgb-string-to-numbers($value);\n @return rgb(nth($l, 1), nth($l, 2), nth($l, 3));\n}\n\n\n///\n/// Convert hex color to a coresponding `$rgb-string`\n/// @author https://github.com/google/material-design-lite/issues/1689\n/// @param {Number} $hexColor - Value to convert\n/// @return {String} the rgb string value\n///\n/// @example - $color-primary: hex-to-string(#333);\n@function hex-to-rgb-string($hexColor) {\n // 0.999999 val in alpha actually compiles to 1.0\n $rgbaVal: inspect(rgba($hexColor, 0.9999999));\n\n // slice substring between 'rgba(' and '1.0)'\n @return str-slice($rgbaVal, 6, str-length($rgbaVal)-4);\n}\n\n\n\n// WEBPACK FOOTER //\n// webpack:///src/_functions.scss","@charset \"UTF-8\";\n\n/**\n * @license\n * Copyright 2016-2017 Leif Olsen. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * This code is built with Google Material Design Lite,\n * which is Licensed under the Apache License, Version 2.0\n */\n\n@import \"../mixins\";\n\n.mdlext-aria-expanded-plus-minus {\n @include mdlext-aria-expanded-toggle($font-family: inherit);\n}\n\n.mdlext-aria-expanded-more-less {\n @include mdlext-aria-expanded-toggle($icon: 'expand_more', $icon-expanded: 'expand_less');\n}\n\n\n\n// WEBPACK FOOTER //\n// webpack:///src/aria-expanded-toggle/_aria-expanded-toggle.scss","@import \"functions\";\n\n/// Triangle helper mixin\n/// Modified from: http://blustemy.io/drawing-pure-css-arrows-with-mixins/\n/// https://css-tricks.com/snippets/sass/css-triangle-mixin/\n/// @param {Direction} $direction - Triangle direction, either `top`, `right`, `bottom` or `left`\n/// @param {Color} $color [currentcolor] - Triangle color\n/// @param {Length} $size [1em] - Triangle size\n@mixin mdlext-arrow($direction: bottom, $base-width: 15px, $length: 10px, $color: inherit, $font-size: inherit) {\n content: '';\n width: 0;\n height: 0;\n font-size: $font-size;\n line-height: $font-size;\n border-#{mdlext-opposite-direction($direction)}: $length solid $color;\n border-#{mdlext-opposite-direction($direction)}-width: $length;\n border-#{mdlext-opposite-direction($direction)}-style: solid;\n border-#{mdlext-opposite-direction($direction)}-color: $color;\n\n $perpendicular-borders: ($base-width / 2) solid transparent;\n\n @if $direction == top or $direction == bottom {\n border-left: $perpendicular-borders;\n border-right: $perpendicular-borders;\n }\n @else if $direction == right or $direction == left {\n border-bottom: $perpendicular-borders;\n border-top: $perpendicular-borders;\n }\n}\n\n/// Hide element while making it readable for screen readers\n/// Copied from HTML5Boilerplate:\n/// https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css#L119-L133\n@mixin mdlext-visually-hidden() {\n border: 0;\n clip: rect(0 0 0 0);\n height: 1px;\n margin: -1px;\n overflow: hidden;\n padding: 0;\n position: absolute;\n width: 1px;\n}\n\n\n/// Toggle for aria-expanded attribute\n///\n/// @author Leif Olsen\n/// @param {Font} $font-family ['Material Icons'] - Font family\n/// @param {Length} $font-size [24px] - Font size\n/// @param {string} $icon ['+'] - icon to display when 'aria-expanded=\"false\"'\n/// @param {string} $icon-expanded ['-'] - icon to display when 'aria-expanded=\"true\"'\n/// @link https://github.com/google/material-design-icons Modified from '.material-icons' class\n/// @param {Length} $icon-offset [0] - Icon offset\n///\n/// @example - +/- toggle\n/// .plus-minus {\n/// @include mdlext-aria-expanded-toggle($font-family: inherit, $font-size: inherit);\n/// }\n/// \n/// \n///
\n///\n/// @example - Material Icons, expand-more/expand_less\n/// .more-less {\n/// @include mdlext-aria-expanded-toggle($content: 'expand_more', $content-expanded: 'expand_less');\n/// }\n/// \n/// \n///
\n\n@mixin mdlext-aria-expanded-toggle($font-family: 'Material Icons', $font-size: 24px, $icon: '+', $icon-expanded: '-', $icon-offset: 0) {\n font-family: $font-family;\n font-weight: inherit;\n font-style: inherit;\n font-size: $font-size; // Preferred icon size\n display: inline-block;\n width: 1em;\n height: 1em;\n line-height: 1;\n text-transform: none;\n letter-spacing: normal;\n word-wrap: normal;\n white-space: nowrap;\n direction: ltr;\n vertical-align: middle;\n\n // Support for all WebKit browsers.\n -webkit-font-smoothing: antialiased;\n -webkit-font-feature-settings: 'liga';\n\n // Support for Safari and Chrome.\n text-rendering: optimizeLegibility;\n\n // Support for Firefox.\n -moz-osx-font-smoothing: grayscale;\n\n // Support for IE.\n font-feature-settings: 'liga';\n\n &::after {\n content: $icon;\n margin-left: $icon-offset;\n }\n\n [aria-expanded='true'] > & {\n &::after {\n content: $icon-expanded;\n margin-left: $icon-offset;\n }\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// webpack:///src/_mixins.scss","/**\n * Copyright 2016 Leif Olsen. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n// Use of this module requires the user to include variables from material-design-lite\n//@import \"../../node_modules/material-design-lite/src/variables\";\n//@import \"../../node_modules/material-design-lite/src/mixins\";\n@import \"../variables\";\n\n.mdlext-layout__sticky-header {\n position: absolute;\n overflow: visible;\n background: $mdlext-sticky-header-background;\n transition: 0.1s ease-in-out;\n\n &.mdlext-is-scroll {\n background: $mdlext-sticky-header-background-scroll;\n }\n}\n\n*:not(.is-small-screen) .mdlext-layout__sticky-header {\n .mdl-layout__drawer-button {\n visibility: hidden;\n }\n .mdl-layout__header-row {\n padding-left: $padding;\n }\n}\n\n*:not(.mdl-layout--fixed-drawer).has-drawer .mdlext-layout__sticky-header,\n.is-small-screen.has-drawer .mdlext-layout__sticky-header {\n display: flex;\n\n .mdl-layout__drawer-button {\n visibility: visible;\n }\n .mdl-layout__header-row {\n padding-left: $padding + $layout-drawer-button-desktop-size;\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// webpack:///src/sticky-header/_sticky-header.scss","/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n * Copyright 2016 Leif Olsen. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * SASS based on css from Google Chrome Dialog polyfill, https://github.com/GoogleChrome/dialog-polyfill\n * @include 'node_modules/dialog-polyfill/dialog-polyfill.css' before using this\n */\n\n@import \"../variables\";\n\ndialog.mdlext-dialog {\n position: absolute;\n border: 0;\n opacity: 0;\n padding: $mdlext-dialog-padding;\n background-color: $mdlext-dialog-background-color;\n\n &[open] {\n animation: mdlext-open-dialog $mdlext-dialog-open-animation;\n }\n &[open]::backdrop {\n animation: mdlext-darken-backdrop $mdlext-dialog-backdrop-animation;\n }\n &[open] + .backdrop {\n animation: mdlext-darken-backdrop $mdlext-dialog-backdrop-animation;\n }\n}\n\n@keyframes mdlext-darken-backdrop {\n to { background: $mdlext-dialog-backdrop-color; }\n}\n@keyframes mdlext-open-dialog {\n to { opacity: 1; }\n}\n\n\n\n// WEBPACK FOOTER //\n// webpack:///src/dialog/dialog.scss","@charset \"UTF-8\";\n\n/**\n * This code is modified from Material Design Lite _grid.sass,\n * which is Licensed under the Apache License, Version 2.0\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n */\n\n//////////////////////////////////////////////////////////////////////////////////\n//\n// Element queries for _grid.scss, based on: https://github.com/Snugug/eq.js\n//\n//////////////////////////////////////////////////////////////////////////////////\n\n// Use of this module requires the user to include variables from material-design-lite in hers/his main SASS module\n//@import \"../../node_modules/material-design-lite/src/variables\";\n.mdlext-grid {\n display: flex;\n flex-flow: row wrap;\n margin: 0 auto;\n align-items: stretch;\n\n &.mdlext-grid--no-spacing {\n padding: 0;\n }\n\n & > .mdlext-cell {\n box-sizing: border-box;\n }\n\n & > .mdlext-cell--top {\n align-self: flex-start;\n }\n\n & > .mdlext-cell--middle {\n align-self: center;\n }\n\n & > .mdlext-cell--bottom {\n align-self: flex-end;\n }\n\n & > .mdlext-cell--stretch {\n align-self: stretch;\n }\n\n .mdlext-grid--no-spacing > .mdlext-cell {\n margin: 0;\n }\n\n // Define order override classes.\n @for $i from 1 through $grid-max-columns {\n & > .mdlext-cell--order-#{$i} {\n order: $i;\n }\n }\n}\n\n// Mixins for width calculation.\n@mixin _partial-size($size, $columns, $gutter) {\n width: calc(#{(($size / $columns) * 100) + \"%\"} - #{$gutter});\n}\n@mixin _full-size($gutter) {\n @include _partial-size(1, 1, $gutter);\n}\n@mixin _offset-size($size, $columns, $gutter) {\n margin-left: calc(#{(($size / $columns) * 100) + \"%\"} + #{$gutter / 2});\n}\n\n@mixin _partial-size-no-spacing($size, $columns) {\n width: #{(($size / $columns) * 100) + \"%\"};\n}\n@mixin _full-size-no-spacing() {\n @include _partial-size-no-spacing(1, 1);\n}\n@mixin _offset-size-no-spacing($size, $columns) {\n margin-left: #{(($size / $columns) * 100) + \"%\"};\n}\n\n\n.mdlext-grid {\n\n @include eq-pts((\n grid_phone: 0,\n grid_tablet: strip-unit($grid-tablet-breakpoint),\n grid_desktop: strip-unit($grid-desktop-breakpoint)\n ));\n\n ////////// Phone //////////\n @include eq('grid_phone') {\n padding: $grid-phone-margin - ($grid-phone-gutter / 2);\n\n & > .mdlext-cell {\n margin: $grid-phone-gutter / 2;\n @include _partial-size($grid-cell-default-columns, $grid-phone-columns, $grid-phone-gutter);\n }\n\n & > .mdlext-cell--hide-phone {\n display: none !important;\n }\n\n // Define order override classes.\n @for $i from 1 through $grid-max-columns {\n & > .mdlext-cell--order-#{$i}-phone.mdlext-cell--order-#{$i}-phone {\n order: $i;\n }\n }\n\n // Define partial sizes for columnNumber < totalColumns.\n @for $i from 1 through ($grid-phone-columns - 1) {\n & > .mdlext-cell--#{$i}-col,\n & > .mdlext-cell--#{$i}-col-phone.mdlext-cell--#{$i}-col-phone {\n @include _partial-size($i, $grid-phone-columns, $grid-phone-gutter);\n }\n }\n\n // Define 100% for everything else.\n @for $i from $grid-phone-columns through $grid-desktop-columns {\n & > .mdlext-cell--#{$i}-col,\n & > .mdlext-cell--#{$i}-col-phone.mdlext-cell--#{$i}-col-phone {\n @include _full-size($grid-phone-gutter);\n }\n }\n\n // Define valid phone offsets.\n @for $i from 1 through ($grid-phone-columns - 1) {\n & > .mdlext-cell--#{$i}-offset,\n & > .mdlext-cell--#{$i}-offset-phone.mdlext-cell--#{$i}-offset-phone {\n @include _offset-size($i, $grid-phone-columns, $grid-phone-gutter);\n }\n }\n\n &.mdlext-grid--no-spacing {\n padding: 0;\n\n & > .mdlext-cell {\n margin: 0;\n @include _partial-size-no-spacing($grid-cell-default-columns, $grid-phone-columns);\n }\n\n // Define partial sizes for columnNumber < totalColumns.\n @for $i from 1 through ($grid-phone-columns - 1) {\n & > .mdlext-cell--#{$i}-col,\n & > .mdlext-cell--#{$i}-col-phone.mdlext-cell--#{$i}-col-phone {\n @include _partial-size-no-spacing($i, $grid-phone-columns);\n }\n }\n\n // Define 100% for everything else.\n @for $i from $grid-phone-columns through $grid-desktop-columns {\n & > .mdlext-cell--#{$i}-col,\n & > .mdlext-cell--#{$i}-col-phone.mdlext-cell--#{$i}-col-phone {\n @include _full-size-no-spacing();\n }\n }\n\n // Define valid phone offsets.\n @for $i from 1 through ($grid-phone-columns - 1) {\n & > .mdlext-cell--#{$i}-offset,\n & > .mdlext-cell--#{$i}-offset-phone.mdlext-cell--#{$i}-offset-phone {\n @include _offset-size-no-spacing($i, $grid-phone-columns);\n }\n }\n }\n }\n\n ////////// Tablet //////////\n @include eq('grid_tablet') {\n padding: $grid-tablet-margin - ($grid-tablet-gutter / 2);\n\n & > .mdlext-cell {\n margin: $grid-tablet-gutter / 2;\n @include _partial-size($grid-cell-default-columns, $grid-tablet-columns, $grid-tablet-gutter);\n }\n\n & > .mdlext-cell--hide-tablet {\n display: none !important;\n }\n\n // Define order override classes.\n @for $i from 1 through $grid-max-columns {\n & > .mdlext-cell--order-#{$i}-tablet.mdlext-cell--order-#{$i}-tablet {\n order: $i;\n }\n }\n\n // Define partial sizes for columnNumber < totalColumns.\n @for $i from 1 through ($grid-tablet-columns - 1) {\n & > .mdlext-cell--#{$i}-col,\n & > .mdlext-cell--#{$i}-col-tablet.mdlext-cell--#{$i}-col-tablet {\n @include _partial-size($i, $grid-tablet-columns, $grid-tablet-gutter);\n }\n }\n\n // Define 100% for everything else.\n @for $i from $grid-tablet-columns through $grid-desktop-columns {\n & > .mdlext-cell--#{$i}-col,\n & > .mdlext-cell--#{$i}-col-tablet.mdlext-cell--#{$i}-col-tablet {\n @include _full-size($grid-tablet-gutter);\n }\n }\n\n // Define valid tablet offsets.\n @for $i from 1 through ($grid-tablet-columns - 1) {\n & > .mdlext-cell--#{$i}-offset,\n & > .mdlext-cell--#{$i}-offset-tablet.mdlext-cell--#{$i}-offset-tablet {\n @include _offset-size($i, $grid-tablet-columns, $grid-tablet-gutter);\n }\n }\n\n &.mdlext-grid--no-spacing {\n padding: 0;\n\n & > .mdlext-cell {\n margin: 0;\n @include _partial-size-no-spacing($grid-cell-default-columns, $grid-tablet-columns);\n }\n\n // Define partial sizes for columnNumber < totalColumns.\n @for $i from 1 through ($grid-tablet-columns - 1) {\n & > .mdlext-cell--#{$i}-col,\n & > .mdlext-cell--#{$i}-col-tablet.mdlext-cell--#{$i}-col-tablet {\n @include _partial-size-no-spacing($i, $grid-tablet-columns);\n }\n }\n\n // Define 100% for everything else.\n @for $i from $grid-tablet-columns through $grid-desktop-columns {\n & > .mdlext-cell--#{$i}-col,\n & > .mdlext-cell--#{$i}-col-tablet.mdlext-cell--#{$i}-col-tablet {\n @include _full-size-no-spacing();\n }\n }\n\n // Define valid tablet offsets.\n @for $i from 1 through ($grid-tablet-columns - 1) {\n & > .mdlext-cell--#{$i}-offset,\n & > .mdlext-cell--#{$i}-offset-tablet.mdlext-cell--#{$i}-offset-tablet {\n @include _offset-size-no-spacing($i, $grid-tablet-columns);\n }\n }\n }\n }\n\n ////////// Desktop //////////\n @include eq('grid_desktop') {\n padding: $grid-desktop-margin - ($grid-desktop-gutter / 2);\n\n & > .mdlext-cell {\n margin: $grid-desktop-gutter / 2;\n @include _partial-size($grid-cell-default-columns, $grid-desktop-columns, $grid-desktop-gutter);\n }\n\n & > .mdlext-cell--hide-desktop {\n display: none !important;\n }\n\n // Define order override classes.\n @for $i from 1 through $grid-max-columns {\n & > .mdlext-cell--order-#{$i}-desktop.mdlext-cell--order-#{$i}-desktop {\n order: $i;\n }\n }\n\n // Define partial sizes for all numbers of columns.\n @for $i from 1 through $grid-desktop-columns {\n & > .mdlext-cell--#{$i}-col,\n & > .mdlext-cell--#{$i}-col-desktop.mdlext-cell--#{$i}-col-desktop {\n @include _partial-size($i, $grid-desktop-columns, $grid-desktop-gutter);\n }\n }\n\n // Define valid desktop offsets.\n @for $i from 1 through ($grid-desktop-columns - 1) {\n & > .mdlext-cell--#{$i}-offset,\n & > .mdlext-cell--#{$i}-offset-desktop.mdlext-cell--#{$i}-offset-desktop {\n @include _offset-size($i, $grid-desktop-columns, $grid-desktop-gutter);\n }\n }\n\n &.mdlext-grid--no-spacing {\n padding: 0;\n\n & > .mdlext-cell {\n margin: 0;\n @include _partial-size-no-spacing($grid-cell-default-columns, $grid-desktop-columns);\n }\n\n // Define partial sizes for all numbers of columns.\n @for $i from 1 through $grid-desktop-columns {\n & > .mdlext-cell--#{$i}-col,\n & > .mdlext-cell--#{$i}-col-desktop.mdlext-cell--#{$i}-col-desktop {\n @include _partial-size-no-spacing($i, $grid-desktop-columns);\n }\n }\n\n // Define valid desktop offsets.\n @for $i from 1 through ($grid-desktop-columns - 1) {\n & > .mdlext-cell--#{$i}-offset,\n & > .mdlext-cell--#{$i}-offset-desktop.mdlext-cell--#{$i}-offset-desktop {\n @include _offset-size-no-spacing($i, $grid-desktop-columns);\n }\n }\n }\n }\n}\n\n@include eq-selectors;\n\n\n\n// WEBPACK FOOTER //\n// webpack:///src/grid/_grid-eqjs.scss","//////////////////////////////\n// Variables\n//////////////////////////////\n// Selectors that were called for CSS element queries\n$EQ-Selectors: ();\n\n//////////////////////////////\n// Error Mixin\n//////////////////////////////\n@mixin EQSTATECHECK($states, $name) {\n $EQ-Error: 'You need to include a state for the `#{$name}` mixin!';\n @if (length($states) == 0) {\n @if feature-exists(at-error) {\n @error $EQ-Error;\n }\n @else {\n @warn $EQ-Error;\n }\n }\n @else {\n @content;\n }\n}\n\n//////////////////////////////\n// Element Queries!\n//\n// $states - List of states to apply styling to; @include eq(small, medium, large)\n//////////////////////////////\n@mixin eq($states...) {\n @include EQSTATECHECK('eq', $states) {\n //////////////////////////////\n // Markup based Element Queries\n //////////////////////////////\n $extend: unique-id();\n @at-root {\n %#{$extend} {\n @content;\n }\n }\n @each $state in $states {\n &[data-eq-state$=\"#{$state}\"] {\n @extend %#{$extend};\n }\n }\n }\n}\n\n//////////////////////////////\n// Element Query Stack!\n//\n// Contains one of the query states!\n// $states - List of states to apply styling to; @include eq-contains(small, medium, large)\n// * Space separated list will be treated like an `and` media query; all of the states must be active\n// * Comma separated list will be treated like an `or` media query: at least one of the states must be active\n//////////////////////////////\n@mixin eq-contains($states...) {\n // Space separator API, so going to do stupid magic\n @if length($states) == 1 {\n $states: nth($states, 1);\n }\n\n @include EQSTATECHECK('eq', $states) {\n //////////////////////////////\n // Markup based Element Queries\n //////////////////////////////\n $extend: unique-id();\n @at-root {\n %#{$extend} {\n @content;\n }\n }\n @if list-separator($states) == 'space' {\n $stateApply: '';\n\n @each $state in $states {\n $stateApply: $stateApply + '[data-eq-state~=\"#{$state}\"]';\n }\n\n {$stateApply} {\n @extend %#{$extend};\n }\n }\n @else {\n @each $state in $states {\n &[data-eq-state~=\"#{$state}\"] {\n @extend %#{$extend};\n }\n }\n }\n }\n}\n\n//////////////////////////////\n// Element Query Points\n//\n// Prints element query points to element's `:before`\n//\n// $states - Map of `name: size`; @include eq-pts((small: 400, medium: 600, large: 900))\n//////////////////////////////\n@mixin eq-pts($states) {\n &:before {\n display: none;\n content: '#{str-slice(inspect($states), 2, -2)}';\n }\n\n @if not index($EQ-Selectors, '#{&}') {\n $EQ-Selectors: append($EQ-Selectors, '#{&}', 'comma') !global;\n }\n}\n\n//////////////////////////////\n// Element Query Selectors\n//\n// Prints list of selectors that were called for CSS element queries to HTML's `:before`\n//////////////////////////////\n@mixin eq-selectors {\n @at-root {\n html:before {\n display: none;\n content: '#{$EQ-Selectors}';\n }\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// webpack:///~/eq.js/sass/_eq.scss","@charset \"UTF-8\";\n\n/**\n * Copyright 2016 Leif Olsen. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*\n * A lightboard is a translucent surface illuminated from behind, used for situations\n * where a shape laid upon the surface needs to be seen with high contrast. In the \"old days\" of photography\n * photograpers used a lightboard to get a quick view of their slides. The goal is to create a responsive lightbox\n * design, based on flex layout, similar to what is used in Adobe LightRoom to browse images.\n */\n\n// Use of this module requires the user to include variables from material-design-lite\n//@import \"../../node_modules/material-design-lite/src/variables\";\n//@import \"../../node_modules/material-design-lite/src/mixins\";\n@import \"../variables\";\n\nul.mdlext-lightboard {\n list-style: none;\n}\n\n.mdlext-lightboard {\n box-sizing: border-box;\n margin: 0 auto;\n padding: 0;\n display: flex;\n flex-flow:row wrap;\n align-items: stretch;\n\n *,\n *::before,\n *::after,\n input[type=\"search\"] {\n box-sizing: border-box;\n }\n\n .mdlext-lightboard__slide {\n background-color: $mdlext-lightboard-slide-background-color;\n border: 1px solid $mdlext-lightboard-slide-border-color;\n border-radius: $mdlext-lightboard-slide-border-radius;\n box-shadow: $mdlext-lightboard-slide-box-shadow;\n position: relative;\n display: block;\n max-width: $mdlext-lightboard-slide-max-size;\n\n &::before {\n // 1:1 ratio\n // TODO: Use a class for ratio so the grid can display slides with different ratios (16:9, 16:10, 4:3 ...)\n content: '';\n display: block;\n padding-top: 100%;\n }\n &:hover,\n &:active,\n &:focus {\n border-color: $mdlext-lightboard-slide-border-color-hover;\n background-color: $mdlext-lightboard-slide-background-color-hover;\n box-shadow: $mdlext-lightboard-slide-box-shadow-hover;\n\n figcaption {\n color: rgba(0, 0, 0, 1) !important;\n background-color: rgba(255, 255, 255, 0.2);\n }\n }\n &:focus {\n outline-offset: -2px;\n outline-color: $mdlext-lightboard-focus-outline-color;\n }\n &[aria-selected='true'] {\n background-color: $mdlext-lightboard-slide-active-bacground-color;\n\n figcaption {\n color: rgba(0, 0, 0, 1) !important;\n background-color: rgba(255, 255, 255, 0.2);\n }\n }\n &__frame,\n &__ripple-container {\n text-decoration: none;\n display: block;\n overflow: hidden;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n\n &:focus {\n outline-offset: -2px;\n outline-color: $mdlext-lightboard-focus-outline-color;\n }\n & .mdl-ripple {\n background: $mdlext-lightboard-ripple-color;\n }\n figure {\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n\n img {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n margin: auto;\n max-width: 100%;\n max-height: 100%;\n border-width: 0;\n border-radius: $mdlext-lightboard-slide-inner-border-radius;\n }\n figcaption {\n @include typo-caption($colorContrast: false, $usePreferred: true);\n\n color: $mdlext-lightboard-figcaption-text-color;\n position: absolute;\n bottom: -2px;\n white-space: nowrap;\n overflow: hidden;\n max-width: 100%;\n width: 100%;\n text-align: center;\n text-overflow: ellipsis;\n padding: 4px 0;\n }\n }\n &:hover {\n figcaption {\n // As far as I can see there is no way to darken/lighten a text color\n // defined by MDL, due to the \"unqote\" functions.\n // So this is a hack\n color: rgba(0, 0, 0, 1) !important;\n background-color: rgba(255, 255, 255, 0.2);\n }\n }\n }\n }\n}\n\n////// Media / Element queries default, Small //////\n.mdlext-lightboard {\n padding: calc((#{$mdlext-lightboard-small-margin} - #{$mdlext-lightboard-small-gutter}) / 2);\n\n .mdlext-lightboard__slide {\n margin: calc(#{$mdlext-lightboard-small-gutter} / 2);\n width: calc(1 / #{$mdlext-lightboard-small-columns} * 100% - #{$mdlext-lightboard-small-gutter});\n\n .mdlext-lightboard__slide__frame figure {\n margin: $mdlext-lightboard-small-frame-width;\n }\n }\n &.mdlext-lightboard--no-spacing {\n padding: 0;\n\n .mdlext-lightboard__slide {\n margin: 0;\n width: calc(1 / #{$mdlext-lightboard-small-columns} * 100%);\n }\n }\n}\n\n// Import one of _lightboard-media-queries.scss or _lightboard-eq-js.scss to complete SASS\n\n\n\n// WEBPACK FOOTER //\n// webpack:///src/lightboard/_lightboard.scss","@charset \"UTF-8\";\n//////////////////////////////////////////////////////////////////////////////////\n//\n// Element queries for _lightbox.scss, based on: https://github.com/Snugug/eq.js\n//\n//////////////////////////////////////////////////////////////////////////////////\n\n@import \"../variables\";\n@import \"../functions\";\n\n.mdlext-lightboard {\n\n @include eq-pts((\n lightboard_medium_small: strip-unit($mdlext-lightboard-medium-small-breakpoint),\n lightboard_medium: strip-unit($mdlext-lightboard-medium-breakpoint),\n lightboard_medium_large: strip-unit($mdlext-lightboard-medium-large-breakpoint),\n lightboard_large: strip-unit($mdlext-lightboard-large-breakpoint)\n ));\n\n ////// small - meduim-small //////\n @include eq('lightboard_medium_small') {\n padding: calc((#{$mdlext-lightboard-medium-small-margin} - #{$mdlext-lightboard-medium-small-gutter}) / 2);\n\n .mdlext-lightboard__slide {\n margin: calc(#{$mdlext-lightboard-medium-small-gutter} / 2);\n width: calc(1 / #{$mdlext-lightboard-medium-small-columns} * 100% - #{$mdlext-lightboard-medium-small-gutter});\n\n .mdlext-lightboard__slide__frame figure {\n margin: $mdlext-lightboard-medium-small-frame-width;\n }\n }\n &.mdlext-lightboard--no-spacing {\n padding: 0;\n\n .mdlext-lightboard__slide {\n margin: 0;\n width: calc(1 / #{$mdlext-lightboard-medium-small-columns} * 100%);\n }\n }\n }\n\n ////// meduim-small - medium //////\n @include eq('lightboard_medium') {\n padding: calc((#{$mdlext-lightboard-medium-margin} - #{$mdlext-lightboard-medium-gutter}) / 2);\n\n .mdlext-lightboard__slide {\n margin: calc(#{$mdlext-lightboard-medium-gutter} / 2);\n width: calc(1 / #{$mdlext-lightboard-medium-columns} * 100% - #{$mdlext-lightboard-medium-gutter});\n\n .mdlext-lightboard__slide__frame figure {\n margin: $mdlext-lightboard-medium-frame-width;\n }\n }\n &.mdlext-lightboard--no-spacing {\n padding: 0;\n\n .mdlext-lightboard__slide {\n margin: 0;\n width: calc(1 / #{$mdlext-lightboard-medium-columns} * 100%);\n }\n }\n }\n\n ////// meduim - medium-large //////\n @include eq('lightboard_medium_large') {\n padding: calc((#{$mdlext-lightboard-medium-large-margin} - #{$mdlext-lightboard-medium-large-gutter}) / 2);\n\n .mdlext-lightboard__slide {\n margin: calc(#{$mdlext-lightboard-medium-large-gutter} / 2);\n width: calc(1 / #{$mdlext-lightboard-medium-large-columns} * 100% - #{$mdlext-lightboard-medium-large-gutter});\n\n .mdlext-lightboard__slide__frame figure {\n margin: $mdlext-lightboard-medium-large-frame-width;\n }\n }\n &.mdlext-lightboard--no-spacing {\n padding: 0;\n\n .mdlext-lightboard__slide {\n margin: 0;\n width: calc(1 / #{$mdlext-lightboard-medium-large-columns} * 100%);\n }\n }\n }\n\n ////// meduim-large - large //////\n @include eq('lightboard_large') {\n padding: calc((#{$mdlext-lightboard-large-margin} - #{$mdlext-lightboard-large-gutter}) / 2);\n\n .mdlext-lightboard__slide {\n margin: calc(#{$mdlext-lightboard-large-gutter} / 2);\n width: calc(1 / #{$mdlext-lightboard-large-columns} * 100% - #{$mdlext-lightboard-large-gutter});\n\n .mdlext-lightboard__slide__frame figure {\n margin: $mdlext-lightboard-large-frame-width;\n }\n }\n &.mdlext-lightboard--no-spacing {\n padding: 0;\n\n .mdlext-lightboard__slide {\n margin: 0;\n width: calc(1 / #{$mdlext-lightboard-large-columns} * 100%);\n }\n }\n }\n}\n\n@include eq-selectors;\n\n\n\n\n// WEBPACK FOOTER //\n// webpack:///src/lightboard/_lightboard-eqjs.scss","@charset \"UTF-8\";\n\n/**\n * Copyright 2016 Leif Olsen. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n// Use of this module requires the user to include variables from material-design-lite\n//@import \"../../node_modules/material-design-lite/src/variables\";\n//@import \"../../node_modules/material-design-lite/src/mixins\";\n@import \"../variables\";\n\n.mdlext-lightbox {\n user-select: none;\n cursor: default;\n position: relative;\n width: auto;\n max-width: 100%;\n margin: 0 auto;\n border: $mdlext-lightbox-border;\n border-radius: $mdlext-lightbox-border-radius;\n background-color: $mdlext-lightbox-background-color;\n box-sizing: border-box;\n outline: 0;\n display: block; // display: flex and IE11 has issues with reposition. Set display:block for now.\n\n *,\n *::before,\n *::after,\n input[type=\"search\"] {\n box-sizing: border-box;\n }\n\n .mdlext-lightbox__slider {\n // Displays prevvious, current and next image while dragging\n // Elements are created by lightbox component when dragging starts\n position: absolute;\n top: 0;\n left: 0;\n display: flex;\n justify-content: center;\n\n .mdlext-lightbox__slider__slide {\n flex-shrink: 0;\n display: block;\n text-align: left;\n color: #7f7f7f;\n background-size: cover;\n background-position: center;\n background-repeat: no-repeat;\n\n //&:nth-child(1),\n //&:nth-child(3) {\n // filter: blur(1px);\n //}\n }\n }\n\n figure {\n margin: $mdlext-lightbox-figure-margin;\n padding: $mdlext-lightbox-figure-padding;\n position: relative;\n\n img {\n width: 100%;\n max-width: 100%;\n height: auto;\n border: 0;\n outline: 0;\n }\n figcaption {\n @include typo-caption($colorContrast: false, $usePreferred: true);\n\n display: block;\n position: absolute;\n bottom: 0;\n left: 0;\n right: 0;\n max-width: 100%;\n height: auto;\n max-height: 50%;\n overflow: auto;\n padding: 8px;\n background-color: $mdlext-lightbox-figcaption-background-color;\n transform-origin: bottom;\n transform: scaleY(0);\n transition: 0.2s ease-in-out;\n\n &.mdlext-lightbox__show-figcaption {\n transform: scaleY(1);\n }\n tbody {\n th {\n text-align: left;\n }\n th,\n td {\n vertical-align: text-top;\n }\n }\n }\n }\n .mdl-card__menu {\n color: #ffffff;\n z-index: 1;\n }\n footer {\n display: flex;\n justify-content: space-between;\n align-items: center;\n background-color: $mdlext-lightbox-footer-background-color;\n\n .mdl-card__supporting-text {\n flex: 1;\n overflow: hidden;\n padding: 0;\n height: $card-supporting-text-line-height;\n width: 100%;\n }\n nav {\n display: flex;\n }\n }\n\n &.mdlext-lightbox--sticky-footer footer {\n position: fixed;\n bottom: 0;\n left: 0;\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// webpack:///src/lightbox/_lightbox.scss","@charset \"UTF-8\";\n\n/**\n * Copyright 2016 Leif Olsen. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*\n * A carousel ...\n */\n\n// Use of this module requires the user to include variables from material-design-lite\n//@import \"../../node_modules/material-design-lite/src/variables\";\n//@import \"../../node_modules/material-design-lite/src/mixins\";\n\nul.mdlext-carousel {\n list-style: none;\n}\n\n.mdlext-carousel {\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n overflow: hidden;\n height: 100%; // Use a container to constrain height and width\n width: 100%;\n display: block;\n white-space: nowrap;\n font-size: 0;\n background-color: transparent;\n}\n\n.mdlext-carousel__slide {\n box-sizing: border-box;\n display: inline-block;\n position: relative;\n outline: 0;\n margin: 0 $mdlext-carousel-slide-margin-horizontal;\n padding:0;\n height: 100%;\n border-top: $mdlext-carousel-slide-border-top-width solid transparent; // Makes room for the animated select/focus line\n\n //&:focus,\n &[aria-selected],\n &[aria-selected='true'] {\n figcaption {\n // As far as I can see there is no way to darken/lighten a text color\n // defined by MDL, due to the \"unqote\" functions.\n // So this is a hack\n color: rgba(0, 0, 0, 1) !important;\n background-color: rgba(255, 255, 255, 0.25);\n }\n }\n\n &[aria-selected]::after,\n &[aria-selected='true']::after {\n height: $mdlext-carousel-slide-border-top-width;\n width: 100%;\n display: block;\n content: ' ';\n top: (-$mdlext-carousel-slide-border-top-width);\n left: 0;\n position: absolute;\n background: $mdlext-carousel-slide-border-top-color;\n animation: border-expand 0.2s cubic-bezier(0.4, 0.0, 0.4, 1) 0.01s alternate forwards;\n transition: all 1s cubic-bezier(0.4, 0.0, 1, 1);\n }\n\n\n a {\n text-decoration: none;\n }\n\n figure {\n box-sizing: border-box;\n position: relative;\n height: 100%;\n margin: 0;\n padding: 0;\n\n img {\n box-sizing: border-box;\n max-height: 100%;\n }\n\n figcaption {\n box-sizing: border-box;\n @include typo-caption($colorContrast: false, $usePreferred: true);\n\n color: $mdlext-carousel-slide-figcaption-color;\n position: absolute;\n bottom: 0;\n left: 0;\n white-space: nowrap;\n overflow: hidden;\n max-width: 100%;\n width: 100%;\n text-align: center;\n text-overflow: ellipsis;\n padding: 4px 0;\n }\n &:hover {\n figcaption {\n // As far as I can see there is no way to darken/lighten a text color\n // defined by MDL, due to the \"unqote\" functions.\n // So this is a hack\n color: rgba(0, 0, 0, 1) !important;\n background-color: rgba(255, 255, 255, 0.25);\n }\n }\n }\n\n .mdlext-carousel__slide__ripple-container {\n text-decoration: none;\n display: block;\n overflow: hidden;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n outline: 0;\n\n & .mdl-ripple {\n background: $mdlext-carousel-slide-ripple-color;\n }\n }\n}\n\n\n\n\n\n// WEBPACK FOOTER //\n// webpack:///src/carousel/_carousel.scss","/**\n * Copyright 2016 Leif Olsen. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*\n * Copied/Modified/Inspired from/by:\n * https://github.com/google/material-design-lite/tree/master/src/textfield\n * http://red-team-design.com/making-html-dropdowns-not-suck/\n * http://codepen.io/etcpe9/pen/PqyOye,\n * http://codepen.io/pudgereyem/pen/PqBxQx\n * https://github.com/MEYVN-digital/mdl-selectfield\n * https://github.com/mebibou/mdl-selectfield\n */\n\n// Use of this module requires the user to include variables from material-design-lite\n//@import \"../../node_modules/material-design-lite/src/variables\";\n//@import \"../../node_modules/material-design-lite/src/mixins\";\n\n@import \"../mixins\";\n\n// The container for the selectfield.\n.mdlext-selectfield {\n box-sizing: border-box;\n position: relative;\n font-size: $input-text-font-size;\n display: inline-block;\n width: 300px;\n max-width: 100%;\n margin: 0;\n padding: $input-text-vertical-spacing 0;\n\n // Align buttons, if used.\n & .mdl-button {\n bottom: $input-text-vertical-spacing;\n position: absolute;\n }\n\n // Styling the down arrow\n &::after {\n @include mdlext-arrow(bottom, $mdlext-selectfield-arrow-width, $mdlext-selectfield-arrow-length);\n\n position: absolute;\n right: 0.5em;\n top: 50%;\n transform: translateY(-50%);\n pointer-events: none;\n }\n}\n\n.mdlext-selectfield.is-disabled {\n &::after {\n color: $input-text-disabled-color;\n @include mdlext-arrow(bottom, $mdlext-selectfield-arrow-width, $mdlext-selectfield-arrow-length, $input-text-disabled-color);\n }\n}\n\n// Optional class to align right.\n.mdlext-selectfield--align-right {\n text-align: right;\n}\n\n// Optional class to display at full width.\n.mdlext-selectfield--full-width {\n width: 100%;\n}\n\n// Optional class to make the select field expandable.\n.mdlext-selectfield--expandable {\n min-height: $input-text-button-size;\n min-width: $input-text-button-size;\n width: auto;\n}\n\n// Styling for the select element.\n.mdlext-selectfield__select {\n\n // Reset select\n box-sizing: border-box;\n border: 0;\n border-radius: 0;\n -webkit-appearance: none;\n -moz-appearance: none;\n -ms-appearance: none;\n appearance: none;\n text-indent: 0.01px; // Removes default arrow from firefox\n text-overflow: ''; // Removes default arrow from firefox\n outline: none;\n box-shadow: none;\n // End Reset select\n\n font-size: $input-text-font-size;\n font-family: $performance_font;\n padding: $input-text-padding calc(1.2em + #{$input-text-padding}) $input-text-padding 0;\n width: $input-text-width;\n border-bottom: 1px solid $input-text-bottom-border-color;\n display: block;\n margin: 0;\n background: none;\n text-align: left;\n color: inherit;\n\n // Mozilla, remove focusring\n &:-moz-focusring {\n color: transparent;\n text-shadow: 0 0 0 #000000;\n }\n\n // MS, remove selected option background color\n &:focus::-ms-value {\n background-color: inherit;\n color: inherit;\n }\n\n &::-ms-expand {\n display: none;\n }\n\n .mdlext-selectfield.is-focused & {\n outline: none;\n }\n\n .mdlext-selectfield.is-invalid & {\n border-color: $input-text-error-color;\n box-shadow: none;\n }\n\n fieldset[disabled] .mdlext-selectfield &,\n .mdlext-selectfield.is-disabled & {\n border-bottom: 1px dotted $input-text-disabled-color;\n color: $input-text-disabled-text-color;\n background-color: transparent;\n }\n\n option {\n color: $text-color-primary;\n box-sizing: border-box;\n background-color: inherit;\n }\n}\n\n// Styling for the label / floating label.\n.mdlext-selectfield__label {\n box-sizing: border-box;\n color: $input-text-label-color;\n font-size: $input-text-font-size;\n top: ($input-text-padding + $input-text-vertical-spacing);\n bottom: 0;\n left: 0;\n right: 0;\n pointer-events: none;\n position: absolute;\n display: block;\n width: 100%;\n overflow: hidden;\n white-space: nowrap;\n text-align: left;\n\n .mdlext-selectfield.is-dirty &,\n .mdlext-selectfield.has-placeholder & {\n visibility: hidden;\n }\n\n // Floating Label\n .mdlext-selectfield--floating-label & {\n @include material-animation-default();\n }\n\n .mdlext-selectfield--floating-label.has-placeholder & {\n transition: none;\n }\n\n fieldset[disabled] .mdlext-selectfield &,\n .mdlext-selectfield.is-disabled.is-disabled & {\n color: $input-text-disabled-text-color;\n }\n\n .mdlext-selectfield--floating-label.is-focused &,\n .mdlext-selectfield--floating-label.is-dirty.is-dirty &,\n .mdlext-selectfield--floating-label.has-placeholder & {\n color: $input-text-highlight-color;\n font-size: $input-text-floating-label-fontsize;\n top: $input-text-vertical-spacing - ($input-text-floating-label-fontsize + $input-text-padding);\n visibility: visible;\n }\n\n .mdlext-selectfield--floating-label.is-focused .mdlext-selectfield__expandable-holder &,\n .mdlext-selectfield--floating-label.is-dirty .mdlext-selectfield__expandable-holder &,\n .mdlext-selectfield--floating-label.has-placeholder .mdlext-selectfield__expandable-holder & {\n top: -($input-text-floating-label-fontsize + $input-text-padding);\n }\n\n .mdlext-selectfield--floating-label.is-invalid & {\n color: $input-text-error-color;\n font-size: $input-text-floating-label-fontsize;\n }\n\n // The after label is the colored underline for the Selectfield.\n &::after {\n background-color: $input-text-highlight-color;\n bottom: $input-text-vertical-spacing;\n content: '';\n height: 2px;\n left: 45%;\n position: absolute;\n @include material-animation-default();\n\n visibility: hidden;\n width: 10px;\n }\n\n .mdlext-selectfield.is-focused &::after {\n left: 0;\n visibility: visible;\n width: 100%;\n }\n\n .mdlext-selectfield.is-invalid &::after {\n background-color: $input-text-error-color;\n }\n}\n\n// SelectField Error.\n.mdlext-selectfield__error {\n color: $input-text-error-color;\n font-size: $input-text-floating-label-fontsize;\n position: absolute;\n margin-top: 3px;\n visibility: hidden;\n display: block;\n\n .mdlext-selectfield.is-invalid & {\n visibility: visible;\n }\n}\n\n// Expandable Holder.\n.mdlext-selectfield__expandable-holder {\n display: inline-block;\n position: relative;\n margin-left: $input-text-button-size;\n\n @include material-animation-default();\n\n // Safari (possibly others) need to be convinced that this field is actually\n // visible, otherwise it cannot be tabbed to nor focused via a .\n // TODO: In some cases (Retina displays), this is big enough to render the\n // inner element :(\n max-width: 0.1px;\n\n .mdlext-selectfield.is-focused &,\n .mdlext-selectfield.is-dirty & {\n // This is an unfortunate hack. Animating between widths in percent (%)\n // in many browsers (Chrome, Firefox) only animates the inner visual style\n // of the input - the outer bounding box still 'jumps'.\n // Thus assume a sensible maximum, and animate to/from that value.\n max-width: 600px;\n }\n .mdlext-selectfield__label::after {\n bottom: 0;\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// webpack:///src/selectfield/_selectfield.scss","@charset \"UTF-8\";\n\n/**\n * @license\n * Copyright 2016 Leif Olsen. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * This code is built with Google Material Design Lite,\n * which is Licensed under the Apache License, Version 2.0\n */\n\n/* Moved to aria-expanded-toggle.scss\n\n.mdlext-aria-expanded-plus-minus {\n @include mdlext-aria-expanded-toggle($font-family: inherit);\n}\n\n.mdlext-aria-expanded-more-less {\n @include mdlext-aria-expanded-toggle($icon: 'expand_more', $icon-expanded: 'expand_less');\n}\n*/\n\n.mdlext-menu-button {\n box-sizing: border-box;\n @include typo-menu();\n text-transform: none;\n position: relative;\n height: $button-height;\n padding: 0 $button-padding;\n display: flex;\n align-items: center;\n align-self: stretch;\n\n > * {\n margin: 0;\n padding: 0 0 0 8px;\n }\n\n > *:first-child {\n padding-left: 0;\n }\n\n > *:last-child:not(:only-child):not(.mdlext-menu__item__caption) {\n margin-left: auto; // If more than one element, push last element to the right\n }\n\n}\n\n.mdlext-menu-button__caption {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n line-height: 1.2;\n}\n\n.mdlext-menu,\n.mdlext-menu__item {\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n list-style: none;\n display: flex;\n}\n\n.mdlext-menu {\n position: absolute; //fixed;\n background: $default-dropdown-bg-color;\n z-index: 1000;\n min-width: 124px;\n border-radius: 2px;\n @include shadow-3dp();\n display: inline-flex;\n flex-direction: column;\n padding: 0;\n overflow: hidden;\n overflow-y: auto;\n\n &:focus {\n outline-offset: -1px;\n outline-width: 1px;\n }\n\n &[hidden] {\n @include mdlext-visually-hidden;\n pointer-events: none;\n }\n\n &__item {\n @include typo-body-1();\n color: $default-item-text-color;\n background-color: $default-dropdown-bg-color;\n position: relative;\n padding: 0 16px 0 24px;\n align-items: center;\n align-self: stretch;\n text-decoration: none;\n cursor: pointer;\n white-space: nowrap;\n user-select: none;\n min-height: 40px;\n overflow: hidden;\n\n &[aria-selected='true'] {\n background-color: $default-item-active-bg-color;\n }\n\n // checkmark\n &[aria-selected='true']::before {\n content:'\\2713';\n position: absolute;\n font-size: 1.4em;\n left: 4px;\n top: 50%;\n transform: translateY(-50%);\n pointer-events: none;\n }\n\n &:hover:not([disabled]) {\n background-color: $default-item-hover-bg-color;\n }\n\n &:focus {\n outline-offset: -2px;\n outline-width: 1px;\n outline-color: $default-item-outline-color;\n background-color: $default-item-focus-bg-color;\n }\n\n &::-moz-focus-inner {\n border: 0;\n }\n\n &[disabled] {\n color: $disabled-item-text-color;\n background-color: transparent;\n cursor: auto;\n pointer-events: none;\n\n > * {\n color: $disabled-item-text-color;\n }\n }\n\n &__caption {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n > * {\n margin: 0;\n padding: 0 0 0 8px;\n }\n\n > *:first-child {\n padding-left: 0;\n }\n\n > *:last-child:not(:only-child):not(.mdlext-menu__item__caption) {\n margin-left: auto; // If more than one element, push last element to the right\n }\n\n }\n &__item-separator {\n margin: 0;\n padding: 0;\n border-bottom: 1px solid $default-item-divider-color;\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// webpack:///src/menu-button/_menu-button.scss","/**\n * Copyright 2016 Leif Olsen. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*\n * The bordered fields are based on / inspired by this CodePen: http://codepen.io/prajwal078/pen/LVJZXz?editors=010\n */\n\n// Use of this module requires the user to include variables from material-design-lite\n//@import \"../../node_modules/material-design-lite/src/variables\";\n//@import \"../../node_modules/material-design-lite/src/mixins\";\n\n@import \"../variables\";\n@import \"../functions\";\n\n\n// \"Theme\" for this styling\n.mdlext-bordered-fields {\n box-sizing: border-box;\n\n * {\n box-sizing: border-box;\n }\n\n // Styling for textfield and selectfield.\n .mdl-textfield,\n .mdlext-selectfield {\n padding: 0;\n margin: $mdlext-bordered-field-vertical-spacing-top 0 $mdlext-bordered-field-vertical-spacing-bottom 0;\n\n .mdl-textfield__input,\n .mdlext-selectfield__select {\n height: $mdlext-bordered-field-height;\n background-color: $mdlext-bordered-field-background-color;\n border: $mdlext-bordered-field-border-width solid $mdlext-bordered-field-border-color;\n border-radius: $mdlext-bordered-field-border-radius;\n padding: $mdlext-bordered-field-padding-top $mdlext-bordered-field-padding $mdlext-bordered-field-padding-bottom $mdlext-bordered-field-padding;\n font-size: $mdlext-bordered-field-input-text-font-size;\n font-weight: $mdlext-bordered-field-font-weight;\n color: $mdlext-bordered-field-input-text-color;\n\n &:disabled {\n color: $mdlext-bordered-field-input-text-disabled-text-color;\n background-color: $mdlext-bordered-field-disabled-background-color;\n border-color: $mdlext-bordered-field-disabled-border-color;\n }\n\n // MDL can not handle required attribute properly. Planned for MDL-v2\n //&:required {\n // background-color: $mdlext-bordered-field-required-background-color;\n // border-color: $mdlext-bordered-field-required-border-color;\n //}\n\n &:focus {\n background-color: $mdlext-bordered-field-focus-background-color;\n border-color: $mdlext-bordered-field-focus-border-color;\n }\n\n // MDL can not handle required. Planned for MDL-v2\n //&:required:focus {\n // background-color: $mdlext-bordered-field-required-focus-background-color;\n // border-color: $mdlext-bordered-field-required-focus-border-color;\n //}\n }\n .mdlext-selectfield__select {\n padding-right: calc(1em + #{$mdlext-bordered-field-padding}); // space for down arrow\n }\n\n /*\n &.is-dirty {\n .mdl-textfield__input,\n .mdlext-selectfield__select {\n }\n }\n */\n\n &.is-invalid {\n .mdl-textfield__input,\n .mdlext-selectfield__select {\n color: $mdlext-bordered-field-input-text-error-color;\n border-color: $mdlext-bordered-field-error-border-color;\n background-color: $mdlext-bordered-field-error-background-color;\n\n &:focus {\n //&:required:focus {\n border-color: $mdlext-bordered-field-error-focus-border-color;\n background-color: $mdlext-bordered-field-error-focus-background-color;\n }\n }\n }\n }\n\n .mdlext-selectfield::after {\n top: auto;\n bottom: $mdlext-bordered-field-padding-bottom; // Position of down arrow\n }\n\n fieldset[disabled] .mdlext-selectfield::after,\n .mdlext-selectfield.is-disabled::after {\n color: $mdlext-bordered-field-input-text-disabled-text-color;\n @include mdlext-arrow(bottom, $mdlext-selectfield-arrow-width, $mdlext-selectfield-arrow-length, $mdlext-bordered-field-input-text-disabled-text-color);\n }\n\n\n fieldset[disabled] .mdl-textfield .mdl-textfield__input,\n fieldset[disabled] .mdlext-selectfield .mdlext-selectfield__select {\n color: $mdlext-bordered-field-input-text-disabled-text-color;\n background-color: $mdlext-bordered-field-disabled-background-color;\n border-color: $mdlext-bordered-field-disabled-border-color;\n }\n\n\n // Styling for the label / floating label.\n .mdl-textfield,\n .mdlext-selectfield {\n\n &.is-dirty,\n &.has-placeholder {\n .mdl-textfield__label,\n .mdlext-selectfield__label {\n visibility: hidden;\n }\n }\n .mdl-textfield__label,\n .mdlext-selectfield__label {\n color: $mdlext-bordered-field-input-text-label-color;\n font-size: $mdlext-bordered-field-label-font-size;\n font-weight: $mdlext-bordered-field-font-weight;\n padding-left: $mdlext-bordered-field-padding;\n top: auto;\n bottom: $mdlext-bordered-field-padding-bottom;\n\n // Hides the colored underline for the textField/selectfield.\n &::after {\n background-color: transparent !important;\n visibility: hidden !important;\n }\n }\n &.mdl-textfield--floating-label.is-focused.is-focused,\n &.mdl-textfield--floating-label.is-dirty.is-dirty,\n &.mdl-textfield--floating-label.has-placeholder,\n &.mdlext-selectfield--floating-label.is-focused.is-focused,\n &.mdlext-selectfield--floating-label.is-dirty.is-dirty,\n &.mdlext-selectfield--floating-label.has-placeholder {\n\n .mdl-textfield__label,\n .mdlext-selectfield__label {\n color: $mdlext-bordered-field-input-text-label-focus-color;\n font-size: $mdlext-bordered-field-floating-label-font-size;\n font-weight: $mdlext-bordered-field-floating-label-font-weight;\n top: auto;\n bottom: $mdlext-bordered-field-floating-label-focus-bottom;\n visibility: visible;\n }\n }\n &.mdl-textfield--floating-label.is-disabled.is-disabled,\n &.mdlext-selectfield--floating-label.is-disabled.is-disabled {\n\n .mdl-textfield__label,\n .mdlext-selectfield__label {\n color: $mdlext-bordered-field-input-text-label-disabled-color;\n }\n }\n &.mdl-textfield--floating-label.is-invalid.is-invalid,\n &.mdlext-selectfield--floating-label.is-invalid.is-invalid {\n\n .mdl-textfield__label,\n .mdlext-selectfield__label {\n color: $mdlext-bordered-field-input-text-label-error-color;\n }\n }\n }\n\n fieldset[disabled] .mdl-textfield .mdl-textfield__label,\n fieldset[disabled] .mdl-selectfield .mdl-selectfield__label {\n color: $mdlext-bordered-field-input-text-label-disabled-color;\n }\n\n // Icon(s) and/or button(s) inside textfield\n .mdl-textfield,\n .mdlext-selectfield {\n &.mdlext-bordered-fields__icon-left,\n &.mdlext-bordered-fields__icon-right {\n & > i,\n & > .mdl-button {\n position: absolute;\n bottom: $mdlext-bordered-field-padding-bottom - 2px;\n }\n & > i {\n bottom: $mdlext-bordered-field-padding-bottom + 2px;\n }\n }\n &.mdlext-bordered-fields__icon-left {\n & > i:first-child,\n & > .mdl-button:first-child {\n left: $mdlext-bordered-field-padding/2;\n }\n & > i ~ .mdl-textfield__input,\n & > .mdl-button ~ .mdl-textfield__input,\n & > i ~ .mdlext-selectfield__select,\n & > .mdl-button ~ .mdlext-selectfield__select {\n padding-left: $input-text-button-size;\n }\n & > i ~ .mdl-textfield__label,\n & > .mdl-button ~ .mdl-textfield__label {\n left: $input-text-button-size - $mdlext-bordered-field-padding;\n }\n & > i ~ .mdlext-selectfield__label,\n & > .mdl-button ~ .mdlext-selectfield__label {\n left: $input-text-button-size - $mdlext-bordered-field-padding;\n }\n }\n &.mdlext-bordered-fields__icon-right {\n & > .mdl-textfield__input {\n padding-right: $input-text-button-size;\n }\n & > i:last-child,\n & > .mdl-button:last-child {\n left: auto;\n right: $mdlext-bordered-field-padding/2;\n }\n }\n &.is-disabled i,\n &.is-disabled .mdl-button {\n color: $mdlext-bordered-field-disabled-border-color;\n pointer-events: none;\n }\n }\n\n fieldset[disabled] .mdl-textfield,\n fieldset[disabled] .mdlext-selectfield {\n i,\n .mdl-button {\n color: $mdlext-bordered-field-disabled-border-color;\n pointer-events: none;\n }\n }\n}\n\n\n\n\n// WEBPACK FOOTER //\n// webpack:///src/bordered-fields/_bordered-fields.scss","@charset \"UTF-8\";\n\n/**\n * @license\n * Copyright 2016-2017 Leif Olsen. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * This code is built with Google Material Design Lite,\n * which is Licensed under the Apache License, Version 2.0\n */\n\n.mdlext-collapsible {\n box-sizing: border-box;\n cursor: pointer;\n}\n\n.mdlext-collapsible-group,\n.mdlext-collapsible-region {\n box-sizing: border-box;\n\n &[hidden] {\n @include mdlext-visually-hidden;\n pointer-events: none;\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// webpack:///src/collapsible/_collapsible.scss","@charset \"UTF-8\";\n\n/**\n * @license\n * Copyright 2016 Leif Olsen. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * This code is built with Google Material Design Lite,\n * which is Licensed under the Apache License, Version 2.0\n */\n\n.mdlext-aria-toggle-plus-minus {\n @include mdlext-aria-expanded-toggle($font-family: inherit, $font-size: 1.4em);\n}\n\n.mdlext-aria-toggle-material-icons {\n @include mdlext-aria-expanded-toggle($font-size: 1.3em, $icon: 'expand_more', $icon-expanded: 'expand_less', $icon-offset: -$mdlext-accordion-header-padding);\n}\n\n.mdlext-accordion {\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n list-style: none;\n display: flex;\n\n * {\n box-sizing: border-box;\n }\n\n &__panel {\n box-sizing: border-box;\n position: relative;\n overflow: hidden;\n display: flex;\n flex-wrap: nowrap;\n }\n\n &__tab {\n @include typo-title();\n\n font-weight: 400;\n line-height: 1.1;\n box-sizing: border-box;\n position: relative;\n margin: 0;\n padding: 0; // $mdlext-accordion-header-padding;\n min-width: $mdlext-accordion-header-height;\n min-height: $mdlext-accordion-header-height;\n display: flex;\n align-items: center;\n align-self: stretch;\n user-select: none;\n color: $mdlext-accordion-header-secondary-color;\n background-color: $mdlext-accordion-header-background-color;\n cursor: pointer;\n overflow: hidden;\n\n &:focus {\n outline-offset: -2px;\n outline-color: $mdlext-accordion-header-focus-outline-color;\n outline-width: 2px;\n }\n\n &[aria-expanded='true'] {\n background-color: $mdlext-accordion-header-background-open-color;\n }\n\n &[aria-selected='true'] {\n background-color: $mdlext-accordion-header-background-active-color;\n }\n\n &[disabled] {\n background-color: $mdlext-accordion-header-disabled-color;\n color: $mdlext-accordion-header-secondary-color-disabled;\n pointer-events: none;\n\n > * {\n color: $mdlext-accordion-header-secondary-color-disabled;\n }\n }\n\n &:hover:not([disabled]) {\n background-color: $mdlext-accordion-header-background-hover-color;\n }\n\n > * {\n margin: 0;\n padding: 0;\n }\n\n &__caption {\n padding-left: $mdlext-accordion-header-padding;\n padding-right: $mdlext-accordion-header-padding;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n > *:first-child {\n padding-left: 0;\n }\n\n &--ripple {\n &[aria-selected='true']::before {\n content: '';\n position: absolute;\n top: 50%;\n left: 50%;\n background: $mdlext-accordion-ripple-color;\n opacity: 0;\n border-radius: 100%;\n transform: scale(1, 1) translate(-50%);\n transform-origin: 50% 50%;\n }\n &[aria-selected='true']:focus:not(:active)::before {\n // http://easings.net/\n animation: mdlext-accordion-tab-ripple 1s cubic-bezier(0.4, 0.0, 0.4, 1) 0.01s alternate forwards; // cubic-bezier(0.4, 0.0, 1, 1); //cubic-bezier(0.4, 0.0, 0.4, 1) 0.01s alternate forwards; //ease-out;\n }\n }\n }\n\n &__tabpanel {\n box-sizing: border-box;\n margin: 0;\n padding: 0 $mdlext-accordion-content-padding;\n color: $mdlext-accordion-content-color;\n background-color: $mdlext-accordion-content-background-color;\n display: block;\n overflow: auto;\n flex-grow: 1;\n\n &[hidden] {\n @include mdlext-visually-hidden;\n }\n }\n}\n\n// Vertical layout\n.mdlext-accordion {\n\n &--vertical {\n flex-direction: column;\n flex-wrap: nowrap;\n\n .mdlext-accordion__panel {\n min-height: $mdlext-accordion-header-height;\n flex-direction: column;\n }\n\n .mdlext-accordion__tab {\n height: $mdlext-accordion-header-height;\n border-top: 1px solid $mdlext-accordion-header-border-color;\n padding-left: $mdlext-accordion-header-padding;\n padding-right: $mdlext-accordion-header-padding;\n\n &[aria-selected='true']::after {\n position: absolute;\n bottom: 0;\n left: 0;\n height: 1px;\n width: 100%;\n display: block;\n content: \" \";\n background-color: $mdlext-accordion-header-highlight-color;\n animation: border-expand 0.2s cubic-bezier(0.4, 0.0, 0.4, 1) 0.01s alternate forwards;\n transition: all 1s cubic-bezier(0.4, 0.0, 1, 1);\n }\n\n > * {\n padding-left: $mdlext-accordion-header-padding;\n }\n\n > *:first-child {\n padding-left: 0;\n }\n\n > *:last-child:not(:only-child):not(.mdlext-accordion__tab__caption) {\n margin-left: auto; // If more than one element, push last element to the right\n }\n\n &--ripple {\n &[aria-selected='true']::before {\n width: 5%;\n height: 10%;\n }\n }\n\n }\n\n .mdlext-accordion__tabpanel {\n border-top: 1px solid $mdlext-accordion-header-border-color;\n\n &--animation {\n transform: scaleY(1);\n animation: mdlext-accordion-show-tabpanel-y 0.2s ease-in-out;\n\n &[hidden] {\n transform: scaleY(0);\n animation: mdlext-accordion-hide-tabpanel-y 0.2s ease-out;\n animation-delay: 0.1s;\n }\n }\n }\n }\n}\n\n// Horizontal layout\n.mdlext-accordion {\n\n &--horizontal {\n\n .mdlext-accordion__panel {\n min-width: $mdlext-accordion-header-height;\n width: $mdlext-accordion-header-height;\n }\n\n &[aria-multiselectable='true'] .mdlext-accordion__panel.is-expanded {\n width: 100%;\n }\n\n .mdlext-accordion__tab {\n flex-direction: column-reverse;\n width: $mdlext-accordion-header-height;\n white-space: nowrap;\n border-left: 1px solid $mdlext-accordion-header-border-color;\n\n &[aria-selected='true']::after {\n position: absolute;\n top: 0;\n right: 0;\n height: 100%;\n width: 1px;\n display: block;\n content: \" \";\n background-color: $mdlext-accordion-header-highlight-color;\n\n // Figure out how to animate a vertical line\n //animation: border-expand 0.2s cubic-bezier(0.4, 0.0, 0.4, 1) 0.01s alternate forwards;\n //transition: all 1s cubic-bezier(0.4, 0.0, 1, 1);\n }\n\n > * {\n //transform: rotate(-90deg) translateX(50%);\n transform: rotate(-90deg) translateX($mdlext-accordion-header-padding);\n }\n\n > *:last-child:not(:only-child):not(.mdlext-accordion__tab__caption) {\n // If more than one element, push last element to top\n margin-bottom: auto;\n transform: rotate(-90deg) translateX(0);\n }\n\n &__caption {\n transform: rotate(-90deg) translateX(50%);\n padding-right: $mdlext-accordion-header-padding + 8px;\n }\n\n &--ripple {\n &[aria-selected='true']::before {\n width: 10%;\n height: 5%;\n }\n }\n }\n\n .mdlext-accordion__tabpanel {\n border-left: 1px solid $mdlext-accordion-header-border-color;\n\n &--animation {\n transform: scaleX(1);\n animation: mdlext-accordion-show-tabpanel-x 0.2s ease-in-out;\n\n &[hidden] {\n transform: scaleX(0);\n animation: mdlext-accordion-hide-tabpanel-x 0.2s ease-out;\n }\n }\n }\n }\n}\n\n.mdlext-accordion {\n\n &__panel:first-child > &__tab {\n // Use container to set outer borders\n border-top-color: transparent;\n border-left-color: transparent;\n }\n\n &[aria-multiselectable=\"false\"] {\n .mdlext-accordion__panel.is-expanded {\n flex-grow: 1;\n }\n }\n}\n\n// Making accordion appear disabled.\n// Note: does not prevent tabbing into a disabled accordion\n.mdlext-accordion[disabled] {\n * {\n pointer-events: none;\n }\n .mdlext-accordion__tab {\n background-color: $mdlext-accordion-header-disabled-color;\n color: $mdlext-accordion-header-secondary-color-disabled;\n\n > * {\n color: $mdlext-accordion-header-secondary-color-disabled;\n }\n }\n .mdlext-accordion__tabpanel {\n opacity: 0.8;\n filter: blur(1px) grayscale(80%);\n }\n}\n\n\n@keyframes mdlext-accordion-tab-ripple {\n 0% {\n transform: scale(0, 0);\n opacity: 1;\n }\n 20% {\n transform: scale(25, 25);\n opacity: 1;\n }\n 100% {\n opacity: 0;\n transform: scale(40, 40);\n }\n}\n\n/*\n@keyframes mdlext-accordion-show-tabpanel-y {\n 0% { transform: scaleY(0.1); }\n 40% { transform: scaleY(1.03); }\n 60% { transform: scaleY(0.98); }\n 80% { transform: scaleY(1.03); }\n 100% { transform: scaleY(0.98); }\n 80% { transform: scaleY(1.01); }\n 100% { transform: scaleY(1); }\n}\n*/\n\n@keyframes mdlext-accordion-show-tabpanel-y {\n 0% { transform: scaleY(0); }\n 60% { transform: scaleY(1.01); }\n 80% { transform: scaleY(0.98); }\n 100% { transform: scaleY(1); }\n}\n\n@keyframes mdlext-accordion-hide-tabpanel-y {\n 0% { transform: scaleY(1); }\n 60% { transform: scaleY(0.98); }\n 80% { transform: scaleY(1.01); }\n 100% { transform: scaleY(0); }\n}\n\n/*\n@keyframes mdlext-accordion-show-tabpanel-x {\n 0% { transform: scaleX(0.1); }\n 40% { transform: scaleX(1.03); }\n 60% { transform: scaleX(0.98); }\n 80% { transform: scaleX(1.03); }\n 100% { transform: scaleX(0.98); }\n 80% { transform: scaleX(1.01); }\n 100% { transform: scaleX(1); }\n}\n*/\n\n@keyframes mdlext-accordion-show-tabpanel-x {\n 0% { transform: scaleX(0); }\n 60% { transform: scaleX(1.01); }\n 80% { transform: scaleX(0.98); }\n 100% { transform: scaleX(1); }\n}\n\n@keyframes mdlext-accordion-hide-tabpanel-x {\n 0% { transform: scaleX(1); }\n 60% { transform: scaleX(0.98); }\n 80% { transform: scaleX(1.01); }\n 100% { transform: scaleX(0); }\n}\n\n\n\n// WEBPACK FOOTER //\n// webpack:///src/accordion/_accordion.scss","/* -------------------------------------------------------------\n Palette samples. Not part of build\n----------------------------------------------------------------\n\n$mdlext-light-color-primary: #9E9E9E !default;\n$mdlext-light-color-primary-dark: #616161 !default;\n$mdlext-light-color-primary-light: #9E9E9E !default; // Fallback color. Set to color-primary if fallback is not needed\n$mdlext-light-color-primary-contrast: #212121 !default; // text color on primary/primary dark background\n$mdlext-light-color-accent: #E040FB !default;\n$mdlext-light-color-accent-light: #E040FB !default; // Fallback color. Set to color-accent if fallback is not needed\n$mdlext-light-color-accent-contrast: #FAFAFA !default;\n\n$mdlext-light-color-primary: #F5F5F5 !default;\n$mdlext-light-color-primary-dark: #E0E0E0 !default;\n$mdlext-light-color-primary-light: #8BC34A !default; // Fallback color. Set to color-primary if fallback is not needed\n$mdlext-light-color-primary-contrast: #000000 !default; // text color on primary/primary dark background\n$mdlext-light-color-accent: #FFC107 !default;\n$mdlext-light-color-accent-light: #FFC107 !default; // Fallback color. Set to color-accent if fallback is not needed\n$mdlext-light-color-accent-contrast: #FFFFFF !default;\n\n\n$mdlext-light-color-primary: #673AB7 !default;\n$mdlext-light-color-primary-dark: #512DA8 !default;\n$mdlext-light-color-primary-light: #673AB7 !default; // Fallback color. Set to color-primary if fallback is not needed\n$mdlext-light-color-primary-contrast: #D1C4E9 !default; // text color on primary/primary dark background\n$mdlext-light-color-accent: #4CAF50 !default;\n$mdlext-light-color-accent-light: #4CAF50 !default; // Fallback color. Set to color-accent if fallback is not needed\n$mdlext-light-color-accent-contrast: #FFFFFF !default;\n\n\n$mdlext-light-color-primary: #4CAF50 !default;\n$mdlext-light-color-primary-dark: #388E3C !default;\n$mdlext-light-color-primary-light: #4CAF50 !default; // Fallback color. Set to color-primary if fallback is not needed\n$mdlext-light-color-primary-contrast: #C8E6C9 !default; // text color on primary/primary dark background\n$mdlext-light-color-accent: #FF5252 !default;\n$mdlext-light-color-accent-light: #FF5252 !default; // Fallback color. Set to color-accent if fallback is not needed\n$mdlext-light-color-accent-contrast: #FFFFFF !default;\n\n\n$mdlext-light-color-primary: #4CAF50 !default;\n$mdlext-light-color-primary-dark: #388E3C !default;\n$mdlext-light-color-primary-light: #4CAF50 !default; // Fallback color. Set to color-primary if fallback is not needed\n$mdlext-light-color-primary-contrast: #C8E6C9 !default; // text color on primary/primary dark background\n$mdlext-light-color-accent: #03A9F4 !default;\n$mdlext-light-color-accent-light: #03A9F4 !default; // Fallback color. Set to color-accent if fallback is not needed\n$mdlext-light-color-accent-contrast: #FFFFFF !default;\n\n\n$mdlext-dark-color-primary: #212121 !default;\n$mdlext-dark-color-primary-dark: #000000 !default;\n$mdlext-dark-color-primary-light: #607D8B !default; // Fallback color. Set to color-primary if fallback is not needed\n$mdlext-dark-color-primary-contrast: #FFFFFF !default; // text color on primary/primary dark background\n$mdlext-dark-color-accent: #FF5722 !default;\n$mdlext-dark-color-accent-light: #FF5722 !default; // Fallback color. Set to color-accent if fallback is not needed\n$mdlext-dark-color-accent-contrast: #FFFFFF !default;\n\n*/\n\n\n\n// WEBPACK FOOTER //\n// webpack:///src/color-themes/_color-themes.scss","@import \"color-themes\";\n\n.mdlext-light-color-theme {\n background-color: $mdlext-light-content-background-color;\n color: $mdlext-light-text-color-primary;\n\n a {\n outline-color: inherit;\n }\n}\n\n// mdl/src/palette/_palette.scss\n// -----------------------------\n.mdlext-light-color-theme {\n\n .mdl-color--primary {\n background-color: $mdlext-light-color-primary !important;\n }\n\n .mdl-color--primary-contrast {\n background-color: $mdlext-light-color-primary-contrast !important;\n }\n\n .mdl-color--primary-dark {\n background-color: $mdlext-light-color-primary-dark !important;\n }\n\n .mdl-color--accent {\n background-color: $mdlext-light-color-accent !important;\n }\n\n .mdl-color--accent-contrast {\n background-color: $mdlext-light-color-accent-contrast !important;\n }\n\n .mdl-color-text--primary {\n color: $mdlext-light-color-primary !important;\n }\n\n .mdl-color-text--primary-contrast {\n color: $mdlext-light-color-primary-contrast !important;\n }\n\n .mdl-color-text--primary-dark {\n color: $mdlext-light-color-primary-dark !important;\n }\n\n .mdl-color-text--accent {\n color: $mdlext-light-color-accent !important;\n }\n\n .mdl-color-text--accent-contrast {\n color: $mdlext-light-color-accent-contrast !important;\n }\n\n}\n\n// mdl/src/typography/_typography.scss\n// -----------------------------------\n.mdlext-light-color-theme {\n a {\n color: $mdlext-light-text-link-color;\n }\n}\n\n\n// mdl/src/badge/_badge.scss\n// ---------------------------\n.mdlext-light-color-theme {\n .mdl-badge {\n\n &[data-badge]::after {\n background: $mdlext-light-badge-background;\n color: $mdlext-light-badge-color;\n }\n\n &.mdl-badge--no-background {\n &[data-badge]::after {\n color: $mdlext-light-badge-color-inverse;\n background: $mdlext-light-badge-background-inverse;\n }\n }\n }\n}\n\n\n// mdl/src/button/_button.scss\n// ---------------------------\n.mdlext-light-color-theme {\n\n .mdl-button {\n background: transparent;\n color: $mdlext-light-button-secondary-color;\n\n &:hover {\n background-color: $mdlext-light-button-hover-color;\n }\n\n &:focus:not(:active) {\n background-color: $mdlext-light-button-focus-color;\n }\n\n &:active {\n background-color: $mdlext-light-button-active-color;\n }\n\n &.mdl-button--colored {\n color: $mdlext-light-button-primary-color-alt;\n\n &:focus:not(:active) {\n background-color: $mdlext-light-button-focus-color-alt;\n }\n }\n }\n\n // Raised buttons\n .mdl-button--raised {\n background: $mdlext-light-button-primary-color;\n\n &:active {\n background-color: $mdlext-light-button-active-color;\n }\n\n &:focus:not(:active) {\n background-color: $mdlext-light-button-active-color;\n }\n\n &.mdl-button--colored {\n background: $mdlext-light-button-primary-color-alt;\n color: $mdlext-light-button-secondary-color-alt;\n\n &:hover {\n background-color: $mdlext-light-button-hover-color-alt;\n }\n\n &:active {\n background-color: $mdlext-light-button-active-color-alt;\n }\n\n &:focus:not(:active) {\n background-color: $mdlext-light-button-active-color-alt;\n }\n\n & .mdl-ripple {\n background: $mdlext-light-button-ripple-color-alt;\n }\n }\n }\n\n\n // FABs\n .mdl-button--fab {\n background: $mdlext-light-button-primary-color;\n\n &:active {\n background-color: $mdlext-light-button-active-color;\n }\n\n &:focus:not(:active) {\n background-color: $mdlext-light-button-active-color;\n }\n\n &.mdl-button--colored {\n background: $mdlext-light-button-fab-color-alt;\n color: $mdlext-light-button-fab-text-color-alt;\n\n &:hover {\n background-color: $mdlext-light-button-fab-hover-color-alt;\n }\n\n &:focus:not(:active) {\n background-color: $mdlext-light-button-fab-active-color-alt;\n }\n\n &:active {\n background-color: $mdlext-light-button-fab-active-color-alt;\n }\n\n & .mdl-ripple {\n background: $mdlext-light-button-fab-ripple-color-alt;\n }\n }\n }\n\n\n // Icon buttons\n .mdl-button--icon {\n color: inherit;\n }\n\n // Colorized buttons\n\n .mdl-button--primary.mdl-button--primary {\n color: $mdlext-light-button-primary-color-alt;\n\n & .mdl-ripple {\n background: $mdlext-light-button-secondary-color-alt;\n }\n &.mdl-button--raised,\n &.mdl-button--fab {\n color: $mdlext-light-button-secondary-color-alt;\n background-color: $mdlext-light-button-primary-color-alt;\n }\n }\n\n .mdl-button--accent.mdl-button--accent {\n color: $mdlext-light-button-fab-color-alt;\n\n & .mdl-ripple {\n background: $mdlext-light-button-fab-text-color-alt;\n }\n &.mdl-button--raised,\n &.mdl-button--fab {\n color: $mdlext-light-button-fab-text-color-alt;\n background-color: $mdlext-light-button-fab-color-alt;\n }\n }\n\n // Disabled buttons\n\n .mdl-button {\n // Bump up specificity by using [disabled] twice.\n &[disabled][disabled],\n &.mdl-button--disabled.mdl-button--disabled {\n color: $mdlext-light-button-secondary-color-disabled;\n background-color: transparent;\n }\n\n &--fab {\n // Bump up specificity by using [disabled] twice.\n &[disabled][disabled],\n &.mdl-button--disabled.mdl-button--disabled {\n background-color: $mdlext-light-button-primary-color-disabled;\n color: $mdlext-light-button-secondary-color-disabled;\n }\n }\n\n &--raised {\n // Bump up specificity by using [disabled] twice.\n &[disabled][disabled],\n &.mdl-button--disabled.mdl-button--disabled {\n background-color: $mdlext-light-button-primary-color-disabled;\n color: $mdlext-light-button-secondary-color-disabled;\n }\n }\n &--colored {\n // Bump up specificity by using [disabled] twice.\n &[disabled][disabled],\n &.mdl-button--disabled.mdl-button--disabled {\n color: $mdlext-light-button-secondary-color-disabled;\n }\n }\n }\n}\n\n// mdl/src/slider/_slider.scss\n// ---------------------------\n.mdlext-light-color-theme {\n .mdl-slider {\n\n &.is-upgraded {\n background: transparent;\n color: $mdlext-light-range-color;\n\n &::-webkit-slider-runnable-track {\n background: transparent;\n }\n\n &::-moz-range-track {\n background: transparent;\n }\n\n &::-ms-track {\n background: none;\n color: transparent;\n }\n\n /* stylelint-disable */\n &::-ms-fill-lower {\n background: linear-gradient(to right,\n transparent,\n transparent 16px,\n $mdlext-light-range-color 16px,\n $mdlext-light-range-color 0);\n }\n\n &::-ms-fill-upper {\n background: linear-gradient(to left,\n transparent,\n transparent 16px,\n $mdlext-light-range-bg-color 16px,\n $mdlext-light-range-bg-color 0);\n }\n /* stylelint-enable */\n\n\n /**************************** Thumbs ****************************/\n &::-webkit-slider-thumb {\n background: $mdlext-light-range-color;\n }\n\n &::-moz-range-thumb {\n background: $mdlext-light-range-color;\n }\n\n &:focus:not(:active)::-webkit-slider-thumb {\n box-shadow: 0 0 0 10px $mdlext-light-range-faded-color;\n }\n\n &:focus:not(:active)::-moz-range-thumb {\n box-shadow: 0 0 0 10px $mdlext-light-range-faded-color;\n }\n\n &:active::-webkit-slider-thumb {\n background: $mdlext-light-range-color;\n }\n\n &:active::-moz-range-thumb {\n background: $mdlext-light-range-color;\n }\n\n &::-ms-thumb {\n background: $mdlext-light-range-color;\n }\n\n /* stylelint-disable */\n &:focus:not(:active)::-ms-thumb {\n background: radial-gradient(circle closest-side,\n $mdlext-light-range-color 0%,\n $mdlext-light-range-color 37.5%,\n $mdlext-light-range-faded-color 37.5%,\n $mdlext-light-range-faded-color 100%);\n }\n /* stylelint-enable */\n\n &:active::-ms-thumb {\n background: $mdlext-light-range-color;\n }\n\n\n /**************************** 0-value ****************************/\n\n &.is-lowest-value::-webkit-slider-thumb {\n border-color: $mdlext-light-range-color;\n background: transparent;\n }\n\n &.is-lowest-value::-moz-range-thumb {\n border-color: $mdlext-light-range-bg-color;\n background: transparent;\n }\n\n &.is-lowest-value:focus:not(:active)::-webkit-slider-thumb {\n box-shadow: 0 0 0 10px $mdlext-light-range-bg-focus-color;\n background: $mdlext-light-range-bg-focus-color;\n }\n\n &.is-lowest-value:focus:not(:active)::-moz-range-thumb {\n box-shadow: 0 0 0 10px $mdlext-light-range-bg-focus-color;\n background: $mdlext-light-range-bg-focus-color;\n }\n\n &.is-lowest-value:active::-webkit-slider-thumb {\n border-color: $mdlext-light-range-bg-color;\n }\n\n &.is-lowest-value:active::-moz-range-thumb {\n border-color: $mdlext-light-range-bg-color;\n }\n\n /* stylelint-disable */\n &.is-lowest-value::-ms-thumb {\n background: radial-gradient(circle closest-side,\n transparent 0%,\n transparent 66.67%,\n $mdlext-light-range-bg-color 66.67%,\n $mdlext-light-range-bg-color 100%);\n }\n\n &.is-lowest-value:focus:not(:active)::-ms-thumb {\n background: radial-gradient(circle closest-side,\n $mdlext-light-range-bg-focus-color 0%,\n $mdlext-light-range-bg-focus-color 25%,\n $mdlext-light-range-bg-color 25%,\n $mdlext-light-range-bg-color 37.5%,\n $mdlext-light-range-bg-focus-color 37.5%,\n $mdlext-light-range-bg-focus-color 100%);\n }\n\n &.is-lowest-value:active::-ms-thumb {\n background: radial-gradient(circle closest-side,\n transparent 0%,\n transparent 77.78%,\n $mdlext-light-range-bg-color 77.78%,\n $mdlext-light-range-bg-color 100%);\n }\n /* stylelint-enable */\n\n &.is-lowest-value::-ms-fill-lower {\n background: transparent;\n }\n\n /**************************** Disabled ****************************/\n\n &:disabled:focus::-webkit-slider-thumb,\n &:disabled:active::-webkit-slider-thumb,\n &:disabled::-webkit-slider-thumb {\n background: $mdlext-light-range-bg-color;\n }\n\n &:disabled:focus::-moz-range-thumb,\n &:disabled:active::-moz-range-thumb,\n &:disabled::-moz-range-thumb {\n background: $mdlext-light-range-bg-color;\n }\n\n &:disabled + .mdl-slider__background-flex > .mdl-slider__background-lower {\n background-color: $mdlext-light-range-bg-color;\n }\n\n &.is-lowest-value:disabled:focus::-webkit-slider-thumb,\n &.is-lowest-value:disabled:active::-webkit-slider-thumb,\n &.is-lowest-value:disabled::-webkit-slider-thumb {\n border-color: $mdlext-light-range-bg-color;\n background: transparent;\n }\n\n &.is-lowest-value:disabled:focus::-moz-range-thumb,\n &.is-lowest-value:disabled:active::-moz-range-thumb,\n &.is-lowest-value:disabled::-moz-range-thumb {\n border-color: $mdlext-light-range-bg-color;\n background: transparent;\n }\n\n &:disabled:focus::-ms-thumb,\n &:disabled:active::-ms-thumb,\n &:disabled::-ms-thumb {\n background: $mdlext-light-range-bg-color;\n }\n\n /* stylelint-disable */\n &.is-lowest-value:disabled:focus::-ms-thumb,\n &.is-lowest-value:disabled:active::-ms-thumb,\n &.is-lowest-value:disabled::-ms-thumb {\n background: radial-gradient(circle closest-side,\n transparent 0%,\n transparent 50%,\n $mdlext-light-range-bg-color 50%,\n $mdlext-light-range-bg-color 100%);\n }\n\n &:disabled::-ms-fill-lower {\n background: linear-gradient(to right,\n transparent,\n transparent 25px,\n $mdlext-light-range-bg-color 25px,\n $mdlext-light-range-bg-color 0);\n }\n /* stylelint-enable */\n\n }\n }\n\n .mdl-slider__background-flex {\n background: transparent;\n }\n\n .mdl-slider__background-lower {\n background: $mdlext-light-range-color;\n }\n\n // This one styles the upper part of the slider track.\n .mdl-slider__background-upper {\n background: $mdlext-light-range-bg-color;\n }\n}\n\n\n// mdl/src/textfield/_textfield.scss\n// -----------------------------------\n.mdlext-light-color-theme {\n\n .mdl-textfield__input {\n border-bottom-color: $mdlext-light-input-text-bottom-border-color;\n }\n .mdl-textfield.is-invalid .mdl-textfield__input {\n border-color: $mdlext-light-input-text-error-color;\n }\n fieldset[disabled] .mdl-textfield .mdl-textfield__input,\n .mdl-textfield.is-disabled .mdl-textfield__input {\n background-color: transparent;\n border-bottom-color: $mdlext-light-input-text-disabled-color;\n color: $mdlext-light-input-text-disabled-text-color;\n }\n .mdl-textfield__label {\n color: $mdlext-light-input-text-label-color;\n }\n .mdl-textfield__label::after {\n background-color: $mdlext-light-input-text-highlight-color;\n }\n fieldset[disabled] .mdl-textfield .mdl-textfield__label,\n .mdl-textfield.is-disabled.is-disabled .mdl-textfield__label {\n color: $mdlext-light-input-text-disabled-text-color;\n }\n .mdl-textfield--floating-label.is-focused .mdl-textfield__label,\n .mdl-textfield--floating-label.is-dirty .mdl-textfield__label,\n .mdl-textfield--floating-label.has-placeholder .mdl-textfield__label {\n color: $mdlext-light-input-text-highlight-color;\n }\n .mdl-textfield--floating-label.is-invalid .mdl-textfield__label {\n color: $mdlext-light-input-text-error-color;\n }\n .mdl-textfield.is-invalid .mdl-textfield__label::after {\n background-color: $mdlext-light-input-text-error-color;\n }\n .mdl-textfield__error {\n color: $mdlext-light-input-text-error-color;\n }\n}\n\n\n// mdl/src/checkbox/_checkbox.scss\n// -----------------------------------\n.mdlext-light-color-theme {\n\n .mdl-checkbox__box-outline {\n border-color: $mdlext-light-checkbox-off-color;\n }\n .mdl-checkbox.is-checked .mdl-checkbox__box-outline {\n border-color: $mdlext-light-checkbox-color;\n }\n fieldset[disabled] .mdl-checkbox .mdl-checkbox__box-outline,\n .mdl-checkbox.is-disabled .mdl-checkbox__box-outline {\n border-color: $mdlext-light-checkbox-disabled-color;\n }\n\n .mdl-checkbox__focus-helper {\n background-color: transparent;\n }\n .mdl-checkbox.is-focused.is-checked .mdl-checkbox__focus-helper {\n box-shadow: 0 0 0 ($checkbox-button-size / 2) $mdlext-light-checkbox-focus-color;\n background-color: $mdlext-light-checkbox-focus-color;\n }\n\n .mdl-checkbox__tick-outline {\n background: transparent;\n }\n .mdl-checkbox.is-checked .mdl-checkbox__tick-outline {\n background-color: $mdlext-light-checkbox-color;\n }\n fieldset[disabled] .mdl-checkbox.is-checked .mdl-checkbox__tick-outline,\n .mdl-checkbox.is-checked.is-disabled .mdl-checkbox__tick-outline {\n background-color: $mdlext-light-checkbox-disabled-color;\n }\n\n fieldset[disabled] .mdl-checkbox .mdl-checkbox__label,\n .mdl-checkbox.is-disabled .mdl-checkbox__label {\n color: $mdlext-light-checkbox-disabled-color;\n }\n\n .mdl-checkbox__ripple-container .mdl-ripple {\n background: $mdlext-light-checkbox-color;\n }\n fieldset[disabled] .mdl-checkbox .mdl-checkbox__ripple-container .mdl-ripple,\n .mdl-checkbox.is-disabled .mdl-checkbox__ripple-container .mdl-ripple {\n background: transparent;\n }\n\n}\n\n// mdl/src/radio/_radio.scss\n// -----------------------------------\n.mdlext-light-color-theme {\n .mdl-radio__outer-circle {\n border-color: $mdlext-light-radio-off-color;\n }\n .mdl-radio.is-checked .mdl-radio__outer-circle {\n border-color: $mdlext-light-radio-color;\n }\n .mdl-radio__outer-circle fieldset[disabled] .mdl-radio,\n .mdl-radio.is-disabled .mdl-radio__outer-circle {\n border-color: $mdlext-light-radio-disabled-color;\n }\n\n .mdl-radio__inner-circle {\n background: $mdlext-light-radio-color;\n }\n fieldset[disabled] .mdl-radio .mdl-radio__inner-circle,\n .mdl-radio.is-disabled .mdl-radio__inner-circle {\n background: $mdlext-light-radio-disabled-color;\n }\n\n fieldset[disabled] .mdl-radio .mdl-radio__label,\n .mdl-radio.is-disabled .mdl-radio__label {\n color: $mdlext-light-radio-disabled-color;\n }\n\n .mdl-radio__ripple-container .mdl-ripple {\n background: $mdlext-light-radio-color;\n }\n fieldset[disabled] .mdl-radio .mdl-radio__ripple-container .mdl-ripple,\n .mdl-radio.is-disabled .mdl-radio__ripple-container .mdl-ripple {\n background: transparent;\n }\n}\n\n// mdl/src/icon-togglr/_icon-toggle.scss\n// ---------------------------------------\n.mdlext-light-color-theme {\n .mdl-icon-toggle__label {\n color: $mdlext-light-icon-toggle-color;\n }\n .mdl-icon-toggle.is-checked .mdl-icon-toggle__label {\n color: $mdlext-light-icon-toggle-checked-color;\n }\n .mdl-icon-toggle.is-disabled .mdl-icon-toggle__label {\n color: $mdlext-light-icon-toggle-disabled-color;\n }\n .mdl-icon-toggle.is-focused .mdl-icon-toggle__label {\n background-color: $mdlext-light-icon-toggle-focus-color;\n }\n .mdl-icon-toggle.is-focused.is-checked .mdl-icon-toggle__label {\n background-color: $mdlext-light-icon-toggle-checked-focus-color;\n }\n .mdl-icon-toggle__ripple-container .mdl-ripple {\n background: $mdlext-light-icon-toggle-color;\n }\n .mdl-icon-toggle.is-disabled .mdl-icon-toggle__ripple-container .mdl-ripple {\n background: transparent;\n }\n}\n\n\n// mdl/src/switch/_switch.scss\n// -----------------------------------\n.mdlext-light-color-theme {\n\n .mdl-switch__track {\n background: $mdlext-light-switch-off-track-color;\n }\n .mdl-switch.is-checked .mdl-switch__track {\n background: $mdlext-light-switch-track-color;\n }\n .mdl-switch__track fieldset[disabled] .mdl-switch,\n .mdl-switch.is-disabled .mdl-switch__track {\n background: $mdlext-light-switch-disabled-track-color;\n }\n\n .mdl-switch__thumb {\n background: $mdlext-light-switch-off-thumb-color;\n }\n .mdl-switch.is-checked .mdl-switch__thumb {\n background: $mdlext-light-switch-thumb-color;\n }\n .mdl-switch__thumb fieldset[disabled] .mdl-switch,\n .mdl-switch.is-disabled .mdl-switch__thumb {\n background: $mdlext-light-switch-disabled-thumb-color;\n }\n\n .mdl-switch__focus-helper {\n background-color: transparent;\n }\n .mdl-switch.is-focused .mdl-switch__focus-helper {\n background-color: rgba(0, 0, 0, 0.1);\n }\n .mdl-switch.is-focused.is-checked .mdl-switch__focus-helper {\n box-shadow: 0 0 0 (($switch-ripple-size - $switch-helper-size) / 2) $mdlext-light-switch-faded-color;\n background-color: $mdlext-light-switch-faded-color;\n }\n\n .mdl-switch__label fieldset[disabled] .mdl-switch,\n .mdl-switch.is-disabled .mdl-switch__label {\n color: $mdlext-light-switch-disabled-thumb-color;\n }\n\n .mdl-switch__ripple-container .mdl-ripple {\n background: $mdlext-light-switch-color;\n }\n fieldset[disabled] .mdl-switch .mdl-switch__ripple-container .mdl-ripple,\n .mdl-switch.is-disabled .mdl-switch__ripple-container .mdl-ripple {\n background: transparent;\n }\n}\n\n\n// mdl/src/data-table/_data-table.scss\n// -----------------------------------\n.mdlext-light-color-theme {\n\n .mdl-data-table {\n border-color: $mdlext-light-data-table-divider-color;\n background-color: $mdlext-light-data-table-background-color;\n\n tbody {\n tr {\n &.is-selected {\n background-color: $mdlext-light-data-table-selection-color;\n }\n &:hover {\n background-color: $mdlext-light-data-table-hover-color;\n }\n }\n }\n th {\n color: $data-table-header-color;\n\n &.mdl-data-table__header--sorted-ascending,\n &.mdl-data-table__header--sorted-descending {\n color: $mdlext-light-data-table-header-sorted-color;\n\n &:hover {\n &::before {\n color: $mdlext-light-data-table-header-sorted-icon-hover-color;\n }\n }\n }\n }\n }\n}\n\n\n// mdl/src/menu/_menu.scss\n// -----------------------------------\n.mdlext-light-color-theme {\n\n .mdl-menu__outline {\n background: $mdlext-light-default-dropdown-bg-color;\n }\n\n .mdl-menu__item {\n color: $mdlext-light-default-item-text-color;\n background-color: transparent;\n outline-color: $mdlext-light-default-item-outline-color;\n\n &--full-bleed-divider {\n border-bottom-color: $mdlext-light-default-item-divider-color;\n }\n\n &[disabled],\n &[data-mdl-disabled] {\n color: $mdlext-light-disabled-item-text-color;\n background-color: transparent;\n\n &:hover {\n background-color: transparent;\n }\n\n &:focus {\n background-color: transparent;\n }\n\n & .mdl-ripple {\n background: transparent;\n }\n }\n\n &:hover {\n background-color: $mdlext-light-default-item-hover-bg-color;\n }\n\n &:focus {\n background-color: $mdlext-light-default-item-focus-bg-color;\n }\n\n &:active {\n background-color: $mdlext-light-default-item-active-bg-color;\n }\n }\n}\n\n\n// mdl/src/card/_card.scss\n// ----------------------------------------\n.mdlext-light-color-theme {\n\n .mdl-card {\n background: $mdlext-light-card-background-color;\n }\n\n .mdl-card__media {\n background-color: $mdlext-light-card-image-placeholder-color;\n }\n\n .mdl-card__title {\n color: $mdlext-light-card-text-color;\n\n &.mdl-card--border {\n border-bottom-color: $mdlext-light-card-border-color;\n }\n }\n\n .mdl-card__title-text {\n color: inherit;\n }\n\n .mdl-card__subtitle-text {\n color: $mdlext-light-card-subtitle-color;\n }\n\n .mdl-card__supporting-text {\n color: $mdlext-light-card-supporting-text-text-color;\n }\n\n .mdl-card__actions {\n background-color: rgba(0, 0, 0, 0);\n\n &.mdl-card--border {\n border-top-color: $mdlext-light-card-border-color;\n }\n }\n}\n\n\n// mdlext/src/selectfield/_selectfield.scss\n// ----------------------------------------\n.mdlext-light-color-theme {\n\n .mdlext-selectfield.is-disabled::after {\n color: $mdlext-light-input-text-disabled-color;\n @include mdlext-arrow(bottom, $mdlext-selectfield-arrow-width, $mdlext-selectfield-arrow-length, $mdlext-light-input-text-disabled-color);\n }\n\n .mdlext-selectfield__select {\n border-bottom-color: $mdlext-light-input-text-bottom-border-color;\n color: inherit;\n\n option {\n background-color: $mdlext-light-content-background-color;\n color: $mdlext-light-text-color-primary;\n }\n }\n .mdlext-selectfield.is-invalid .mdlext-selectfield__select {\n border-color: $mdlext-light-input-text-error-color;\n }\n fieldset[disabled] .mdlext-selectfield .mdlext-selectfield__select,\n .mdlext-selectfield.is-disabled .mdlext-selectfield__select {\n background-color: transparent;\n border-bottom-color: $mdlext-light-input-text-disabled-color;\n color: $mdlext-light-input-text-disabled-text-color;\n }\n\n .mdlext-selectfield__label {\n color: $mdlext-light-input-text-label-color;\n }\n fieldset[disabled] .mdlext-selectfield .mdlext-selectfield__label,\n .mdlext-selectfield.is-disabled.is-disabled .mdlext-selectfield__label {\n color: $mdlext-light-input-text-disabled-text-color;\n }\n .mdlext-selectfield--floating-label.is-focused .mdlext-selectfield__label,\n .mdlext-selectfield--floating-label.is-dirty .mdlext-selectfield__label,\n .mdlext-selectfield--floating-label.is-dirty.is-dirty .mdlext-selectfield__label,\n .mdlext-selectfield--floating-label.has-placeholder .mdlext-selectfield__label {\n color: $mdlext-light-input-text-highlight-color;\n }\n .mdlext-selectfield--floating-label.is-invalid .mdlext-selectfield__label {\n color: $mdlext-light-input-text-error-color;\n }\n .mdlext-selectfield__label::after {\n background-color: $mdlext-light-input-text-highlight-color;\n }\n .mdlext-selectfield.is-invalid .mdlext-selectfield__label::after {\n background-color: $mdlext-light-input-text-error-color;\n }\n\n .mdlext-selectfield__error {\n color: $mdlext-light-input-text-error-color;\n }\n}\n\n// mdlext/src/menu-button/_menu-button.scss\n// ----------------------------------------\n.mdlext-menu.mdlext-light-color-theme {\n background: $mdlext-light-default-dropdown-bg-color;\n}\n\n.mdlext-light-color-theme {\n\n .mdlext-menu {\n background: $mdlext-light-default-dropdown-bg-color;\n\n &__item {\n color: $mdlext-light-default-item-text-color;\n background-color: $mdlext-light-default-dropdown-bg-color;\n\n &:active,\n &[aria-selected='true'] {\n background-color: $mdlext-light-default-item-active-bg-color;\n }\n &:hover:not([disabled]) {\n background-color: $mdlext-light-default-item-hover-bg-color;\n }\n &:focus {\n outline-color: $mdlext-light-default-item-outline-color;\n background-color: $mdlext-light-default-item-focus-bg-color;\n }\n &[disabled] {\n color: $mdlext-light-disabled-item-text-color;\n\n > * {\n color: $mdlext-light-disabled-item-text-color;\n }\n }\n }\n &__item-separator {\n border-bottom: 1px solid $mdlext-light-default-item-divider-color;\n }\n }\n}\n\n\n// mdlext/src/bordered-fields/_bordered-fields.scss\n// -------------------------------------------------\n.mdlext-light-color-theme {\n\n .mdlext-bordered-fields {\n\n .mdl-textfield,\n .mdlext-selectfield {\n\n .mdl-textfield__input,\n .mdlext-selectfield__select {\n background-color: $mdlext-light-bordered-field-background-color;\n border-color: $mdlext-light-bordered-field-border-color;\n color: $mdlext-light-bordered-field-input-text-color;\n\n &:disabled {\n color: $mdlext-light-bordered-field-input-text-disabled-text-color;\n background-color: $mdlext-light-bordered-field-disabled-background-color;\n border-color: $mdlext-light-bordered-field-disabled-border-color;\n }\n &:focus {\n background-color: $mdlext-light-bordered-field-focus-background-color;\n border-color: $mdlext-light-bordered-field-focus-border-color;\n }\n }\n &.is-invalid {\n .mdl-textfield__input,\n .mdlext-selectfield__select {\n color: $mdlext-light-bordered-field-input-text-error-color;\n border-color: $mdlext-light-bordered-field-error-border-color;\n background-color: $mdlext-light-bordered-field-error-background-color;\n\n &:focus {\n border-color: $mdlext-light-bordered-field-error-focus-border-color;\n background-color: $mdlext-light-bordered-field-error-focus-background-color;\n }\n }\n }\n }\n\n fieldset[disabled] .mdlext-selectfield::after,\n .mdlext-selectfield.is-disabled::after {\n color: $mdlext-light-bordered-field-input-text-disabled-text-color;\n @include mdlext-arrow(bottom, $mdlext-selectfield-arrow-width, $mdlext-selectfield-arrow-length, $mdlext-light-bordered-field-input-text-disabled-text-color);\n }\n\n fieldset[disabled] .mdl-textfield .mdl-textfield__input,\n fieldset[disabled] .mdlext-selectfield .mdlext-selectfield__select {\n color: $mdlext-light-bordered-field-input-text-disabled-text-color;\n background-color: $mdlext-light-bordered-field-disabled-background-color;\n border-color: $mdlext-light-bordered-field-disabled-border-color;\n }\n\n .mdl-textfield,\n .mdlext-selectfield {\n\n .mdl-textfield__label,\n .mdlext-selectfield__label {\n color: $mdlext-light-bordered-field-input-text-label-color;\n }\n &.mdl-textfield--floating-label.is-focused.is-focused,\n &.mdl-textfield--floating-label.is-dirty.is-dirty,\n &.mdl-textfield--floating-label.has-placeholder,\n &.mdlext-selectfield--floating-label.is-focused.is-focused,\n &.mdlext-selectfield--floating-label.is-dirty.is-dirty,\n &.mdlext-selectfield--floating-label.has-placeholder {\n\n .mdl-textfield__label,\n .mdlext-selectfield__label {\n color: $mdlext-light-bordered-field-input-text-label-focus-color;\n }\n }\n &.mdl-textfield--floating-label.is-disabled.is-disabled,\n &.mdlext-selectfield--floating-label.is-disabled.is-disabled {\n\n .mdl-textfield__label,\n .mdlext-selectfield__label {\n color: $mdlext-light-bordered-field-input-text-label-disabled-color;\n }\n }\n &.mdl-textfield--floating-label.is-invalid.is-invalid,\n &.mdlext-selectfield--floating-label.is-invalid.is-invalid {\n\n .mdl-textfield__label,\n .mdlext-selectfield__label {\n color: $mdlext-light-bordered-field-input-text-label-error-color;\n }\n }\n }\n\n fieldset[disabled] .mdl-textfield .mdl-textfield__label,\n fieldset[disabled] .mdl-selectfield .mdl-selectfield__label {\n color: $mdlext-light-bordered-field-input-text-label-disabled-color;\n }\n\n // Icon(s) and/or button(s) inside textfield\n .mdl-textfield,\n .mdlext-selectfield {\n &.is-disabled i,\n &.is-disabled .mdl-button {\n color: $mdlext-light-bordered-field-disabled-border-color;\n }\n }\n fieldset[disabled] .mdl-textfield,\n fieldset[disabled] .mdlext-selectfield {\n i,\n .mdl-button {\n color: $mdlext-light-bordered-field-disabled-border-color;\n }\n }\n }\n}\n\n\n// mdlext/src/accordion/_accordion.scss\n// ----------------------------------------\n.mdlext-light-color-theme {\n\n .mdlext-accordion {\n\n &__tab {\n color: $mdlext-light-accordion-header-secondary-color;\n background-color: $mdlext-light-accordion-header-background-color;\n\n &:focus {\n outline-color: $mdlext-light-accordion-header-focus-outline-color;\n }\n &[aria-expanded='true'] {\n background-color: $mdlext-light-accordion-header-background-open-color;\n }\n &[aria-selected='true'] {\n background-color: $mdlext-light-accordion-header-background-active-color;\n }\n &[disabled] {\n background-color: $mdlext-light-accordion-header-disabled-color;\n color: $mdlext-light-accordion-header-secondary-color-disabled;\n pointer-events: none;\n\n > * {\n color: $mdlext-light-accordion-header-secondary-color-disabled;\n }\n }\n &:hover:not([disabled]) {\n background-color: $mdlext-light-accordion-header-background-hover-color;\n }\n &--ripple {\n &[aria-selected='true']::before {\n background: $mdlext-light-accordion-ripple-color;\n }\n }\n }\n\n &__tabpanel {\n color: $mdlext-light-accordion-content-color;\n background-color: $mdlext-light-accordion-content-background-color;\n }\n }\n\n // Vertical layout\n .mdlext-accordion {\n\n &--vertical {\n\n .mdlext-accordion__tab {\n border-top: 1px solid $mdlext-light-accordion-header-border-color;\n\n &[aria-selected='true']::after {\n background-color: $mdlext-light-accordion-header-highlight-color;\n }\n }\n .mdlext-accordion__tabpanel {\n border-top: 1px solid $mdlext-light-accordion-header-border-color;\n }\n }\n }\n\n // Horizontal layout\n .mdlext-accordion {\n\n &--horizontal {\n\n .mdlext-accordion__tab {\n border-left: 1px solid $mdlext-light-accordion-header-border-color;\n\n &[aria-selected='true']::after {\n background-color: $mdlext-light-accordion-header-highlight-color;\n }\n }\n .mdlext-accordion__tabpanel {\n border-left: 1px solid $mdlext-light-accordion-header-border-color;\n }\n }\n }\n\n .mdlext-accordion {\n\n &__panel:first-child > &__tab {\n // Use container to set outer borders\n border-top-color: transparent;\n border-left-color: transparent;\n }\n }\n\n // Making accordion appear disabled.\n // Note: does not prevent tabbing into a disabled accordion\n .mdlext-accordion[disabled] {\n .mdlext-accordion__tab {\n background-color: $mdlext-light-accordion-header-disabled-color;\n color: $mdlext-light-accordion-header-secondary-color-disabled;\n\n > * {\n color: $mdlext-light-accordion-header-secondary-color-disabled;\n }\n }\n .mdlext-accordion__tabpanel {\n opacity: 0.8;\n filter: blur(1px) grayscale(80%);\n }\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// webpack:///src/color-themes/_light-color-theme.scss","@import \"color-themes\";\n\n.mdlext-dark-color-theme {\n background-color: $mdlext-dark-content-background-color;\n color: $mdlext-dark-text-color-primary;\n a {\n outline-color: inherit;\n }\n}\n\n// mdl/src/palette/_palette.scss\n.mdlext-dark-color-theme {\n\n .mdl-color--primary {\n background-color: $mdlext-dark-color-primary !important;\n }\n\n .mdl-color--primary-contrast {\n background-color: $mdlext-dark-color-primary-contrast !important;\n }\n\n .mdl-color--primary-dark {\n background-color: $mdlext-dark-color-primary-dark !important;\n }\n\n .mdl-color--accent {\n background-color: $mdlext-dark-color-accent !important;\n }\n\n .mdl-color--accent-contrast {\n background-color: $mdlext-dark-color-accent-contrast !important;\n }\n\n .mdl-color-text--primary {\n color: $mdlext-dark-color-primary !important;\n }\n\n .mdl-color-text--primary-contrast {\n color: $mdlext-dark-color-primary-contrast !important;\n }\n\n .mdl-color-text--primary-dark {\n color: $mdlext-dark-color-primary-dark !important;\n }\n\n .mdl-color-text--accent {\n color: $mdlext-dark-color-accent !important;\n }\n\n .mdl-color-text--accent-contrast {\n color: $mdlext-dark-color-accent-contrast !important;\n }\n\n}\n\n// mdl/src/typography/_typography.scss\n.mdlext-dark-color-theme {\n a {\n color: $mdlext-dark-text-link-color;\n }\n}\n\n\n// mdl/src/badge/_badge.scss\n// ---------------------------\n.mdlext-dark-color-theme {\n .mdl-badge {\n\n &[data-badge]::after {\n background: $mdlext-dark-badge-background;\n color: $mdlext-dark-badge-color;\n }\n\n &.mdl-badge--no-background {\n &[data-badge]::after {\n color: $mdlext-dark-badge-color-inverse;\n background: $mdlext-dark-badge-background-inverse;\n }\n }\n }\n}\n\n\n// mdl/src/button/_button.scss\n// ---------------------------\n.mdlext-dark-color-theme {\n\n .mdl-button {\n background: transparent;\n color: $mdlext-dark-button-secondary-color;\n\n &:hover {\n background-color: $mdlext-dark-button-hover-color;\n }\n\n &:focus:not(:active) {\n background-color: $mdlext-dark-button-focus-color;\n }\n\n &:active {\n background-color: $mdlext-dark-button-active-color;\n }\n\n &.mdl-button--colored {\n color: $mdlext-dark-button-primary-color-alt;\n\n &:focus:not(:active) {\n background-color: $mdlext-dark-button-focus-color-alt;\n }\n }\n }\n\n // Raised buttons\n .mdl-button--raised {\n background: $mdlext-dark-button-primary-color;\n\n &:active {\n background-color: $mdlext-dark-button-active-color;\n }\n\n &:focus:not(:active) {\n background-color: $mdlext-dark-button-active-color;\n }\n\n &.mdl-button--colored {\n background: $mdlext-dark-button-primary-color-alt;\n color: $mdlext-dark-button-secondary-color-alt;\n\n &:hover {\n background-color: $mdlext-dark-button-hover-color-alt;\n }\n\n &:active {\n background-color: $mdlext-dark-button-active-color-alt;\n }\n\n &:focus:not(:active) {\n background-color: $mdlext-dark-button-active-color-alt;\n }\n\n & .mdl-ripple {\n background: $mdlext-dark-button-ripple-color-alt;\n }\n }\n }\n\n\n // FABs\n .mdl-button--fab {\n background: $mdlext-dark-button-primary-color;\n\n &:active {\n background-color: $mdlext-dark-button-active-color;\n }\n\n &:focus:not(:active) {\n background-color: $mdlext-dark-button-active-color;\n }\n\n &.mdl-button--colored {\n background: $mdlext-dark-button-fab-color-alt;\n color: $mdlext-dark-button-fab-text-color-alt;\n\n &:hover {\n background-color: $mdlext-dark-button-fab-hover-color-alt;\n }\n\n &:focus:not(:active) {\n background-color: $mdlext-dark-button-fab-active-color-alt;\n }\n\n &:active {\n background-color: $mdlext-dark-button-fab-active-color-alt;\n }\n\n & .mdl-ripple {\n background: $mdlext-dark-button-fab-ripple-color-alt;\n }\n }\n }\n\n\n // Icon buttons\n .mdl-button--icon {\n color: inherit;\n }\n\n // Colorized buttons\n\n .mdl-button--primary.mdl-button--primary {\n color: $mdlext-dark-button-primary-color-alt;\n\n & .mdl-ripple {\n background: $mdlext-dark-button-secondary-color-alt;\n }\n &.mdl-button--raised,\n &.mdl-button--fab {\n color: $mdlext-dark-button-secondary-color-alt;\n background-color: $mdlext-dark-button-primary-color-alt;\n }\n }\n\n .mdl-button--accent.mdl-button--accent {\n color: $mdlext-dark-button-fab-color-alt;\n\n & .mdl-ripple {\n background: $mdlext-dark-button-fab-text-color-alt;\n }\n &.mdl-button--raised,\n &.mdl-button--fab {\n color: $mdlext-dark-button-fab-text-color-alt;\n background-color: $mdlext-dark-button-fab-color-alt;\n }\n }\n\n // Disabled buttons\n\n .mdl-button {\n // Bump up specificity by using [disabled] twice.\n &[disabled][disabled],\n &.mdl-button--disabled.mdl-button--disabled {\n color: $mdlext-dark-button-secondary-color-disabled;\n background-color: transparent;\n }\n\n &--fab {\n // Bump up specificity by using [disabled] twice.\n &[disabled][disabled],\n &.mdl-button--disabled.mdl-button--disabled {\n background-color: $mdlext-dark-button-primary-color-disabled;\n color: $mdlext-dark-button-secondary-color-disabled;\n }\n }\n\n &--raised {\n // Bump up specificity by using [disabled] twice.\n &[disabled][disabled],\n &.mdl-button--disabled.mdl-button--disabled {\n background-color: $mdlext-dark-button-primary-color-disabled;\n color: $mdlext-dark-button-secondary-color-disabled;\n }\n }\n &--colored {\n // Bump up specificity by using [disabled] twice.\n &[disabled][disabled],\n &.mdl-button--disabled.mdl-button--disabled {\n color: $mdlext-dark-button-secondary-color-disabled;\n }\n }\n }\n}\n\n\n// mdl/src/slider/_slider.scss\n// ---------------------------\n.mdlext-dark-color-theme {\n\n .mdl-slider {\n\n &.is-upgraded {\n background: transparent;\n color: $mdlext-dark-range-color;\n\n &::-webkit-slider-runnable-track {\n background: transparent;\n }\n\n &::-moz-range-track {\n background: transparent;\n }\n\n &::-ms-track {\n background: none;\n color: transparent;\n }\n\n /* stylelint-disable */\n &::-ms-fill-lower {\n background: linear-gradient(\n to right,\n transparent,\n transparent 16px,\n $mdlext-dark-range-color 16px,\n $mdlext-dark-range-color 0\n );\n }\n\n &::-ms-fill-upper {\n background: linear-gradient(\n to left,\n transparent,\n transparent 16px,\n $mdlext-dark-range-bg-color 16px,\n $mdlext-dark-range-bg-color 0);\n }\n /* stylelint-enable */\n\n &::-webkit-slider-thumb {\n background: $mdlext-dark-range-color;\n }\n\n &::-moz-range-thumb {\n background: $mdlext-dark-range-color;\n }\n\n &:focus:not(:active)::-webkit-slider-thumb {\n box-shadow: 0 0 0 10px $mdlext-dark-range-faded-color;\n }\n\n &:focus:not(:active)::-moz-range-thumb {\n box-shadow: 0 0 0 10px $mdlext-dark-range-faded-color;\n }\n\n &:active::-webkit-slider-thumb {\n background: $mdlext-dark-range-color;\n }\n\n &:active::-moz-range-thumb {\n background: $mdlext-dark-range-color;\n }\n\n &::-ms-thumb {\n background: $mdlext-dark-range-color;\n }\n\n /* stylelint-disable */\n &:focus:not(:active)::-ms-thumb {\n background: radial-gradient(circle closest-side,\n $mdlext-dark-range-color 0%,\n $mdlext-dark-range-color 37.5%,\n $mdlext-dark-range-faded-color 37.5%,\n $mdlext-dark-range-faded-color 100%);\n }\n /* stylelint-enable */\n\n &:active::-ms-thumb {\n background: $mdlext-dark-range-color;\n }\n\n\n /**************************** 0-value ****************************/\n\n &.is-lowest-value::-webkit-slider-thumb {\n border-color: $mdlext-dark-range-color;\n background: transparent;\n }\n\n &.is-lowest-value::-moz-range-thumb {\n border-color: $mdlext-dark-range-bg-color;\n background: transparent;\n }\n\n &.is-lowest-value:focus:not(:active)::-webkit-slider-thumb {\n box-shadow: 0 0 0 10px $mdlext-dark-range-bg-focus-color;\n background: $mdlext-dark-range-bg-focus-color;\n }\n\n &.is-lowest-value:focus:not(:active)::-moz-range-thumb {\n box-shadow: 0 0 0 10px $mdlext-dark-range-bg-focus-color;\n background: $mdlext-dark-range-bg-focus-color;\n }\n\n &.is-lowest-value:active::-webkit-slider-thumb {\n border-color: $mdlext-dark-range-bg-color;\n }\n\n &.is-lowest-value:active::-moz-range-thumb {\n border-color: $mdlext-dark-range-bg-color;\n }\n\n /* stylelint-disable */\n &.is-lowest-value::-ms-thumb {\n background: radial-gradient(circle closest-side,\n transparent 0%,\n transparent 66.67%,\n $mdlext-dark-range-bg-color 66.67%,\n $mdlext-dark-range-bg-color 100%);\n }\n\n &.is-lowest-value:focus:not(:active)::-ms-thumb {\n background: radial-gradient(circle closest-side,\n $mdlext-dark-range-bg-focus-color 0%,\n $mdlext-dark-range-bg-focus-color 25%,\n $mdlext-dark-range-bg-color 25%,\n $mdlext-dark-range-bg-color 37.5%,\n $mdlext-dark-range-bg-focus-color 37.5%,\n $mdlext-dark-range-bg-focus-color 100%);\n }\n\n &.is-lowest-value:active::-ms-thumb {\n background: radial-gradient(circle closest-side,\n transparent 0%,\n transparent 77.78%,\n $mdlext-dark-range-bg-color 77.78%,\n $mdlext-dark-range-bg-color 100%);\n }\n /* stylelint-enable */\n\n &.is-lowest-value::-ms-fill-lower {\n background: transparent;\n }\n\n /**************************** Disabled ****************************/\n\n &:disabled:focus::-webkit-slider-thumb,\n &:disabled:active::-webkit-slider-thumb,\n &:disabled::-webkit-slider-thumb {\n background: $mdlext-dark-range-bg-color;\n }\n\n &:disabled:focus::-moz-range-thumb,\n &:disabled:active::-moz-range-thumb,\n &:disabled::-moz-range-thumb {\n background: $mdlext-dark-range-bg-color;\n }\n\n &:disabled + .mdl-slider__background-flex > .mdl-slider__background-lower {\n background-color: $mdlext-dark-range-bg-color;\n }\n\n &.is-lowest-value:disabled:focus::-webkit-slider-thumb,\n &.is-lowest-value:disabled:active::-webkit-slider-thumb,\n &.is-lowest-value:disabled::-webkit-slider-thumb {\n border-color: $mdlext-dark-range-bg-color;\n background: transparent;\n }\n\n &.is-lowest-value:disabled:focus::-moz-range-thumb,\n &.is-lowest-value:disabled:active::-moz-range-thumb,\n &.is-lowest-value:disabled::-moz-range-thumb {\n border-color: $mdlext-dark-range-bg-color;\n background: transparent;\n }\n\n &:disabled:focus::-ms-thumb,\n &:disabled:active::-ms-thumb,\n &:disabled::-ms-thumb {\n background: $mdlext-dark-range-bg-color;\n }\n\n /* stylelint-disable */\n &.is-lowest-value:disabled:focus::-ms-thumb,\n &.is-lowest-value:disabled:active::-ms-thumb,\n &.is-lowest-value:disabled::-ms-thumb {\n background: radial-gradient(circle closest-side,\n transparent 0%,\n transparent 50%,\n $mdlext-dark-range-bg-color 50%,\n $mdlext-dark-range-bg-color 100%);\n }\n\n &:disabled::-ms-fill-lower {\n background: linear-gradient(to right,\n transparent,\n transparent 25px,\n $mdlext-dark-range-bg-color 25px,\n $mdlext-dark-range-bg-color 0);\n }\n /* stylelint-enable */\n\n }\n }\n\n .mdl-slider__background-flex {\n background: transparent;\n }\n\n .mdl-slider__background-lower {\n background: $mdlext-dark-range-color;\n }\n\n // This one styles the upper part of the slider track.\n .mdl-slider__background-upper {\n background: $mdlext-dark-range-bg-color;\n }\n}\n\n\n// mdl/src/textfield/_textfield.scss\n// -----------------------------------\n.mdlext-dark-color-theme {\n\n .mdl-textfield__input {\n border-bottom-color: $mdlext-dark-input-text-bottom-border-color;\n }\n .mdl-textfield.is-invalid .mdl-textfield__input {\n border-color: $mdlext-dark-input-text-error-color;\n }\n fieldset[disabled] .mdl-textfield .mdl-textfield__input,\n .mdl-textfield.is-disabled .mdl-textfield__input {\n background-color: transparent;\n border-bottom-color: $mdlext-dark-input-text-disabled-color;\n color: $mdlext-dark-input-text-disabled-text-color;\n }\n .mdl-textfield__label {\n color: $mdlext-dark-input-text-label-color;\n }\n .mdl-textfield__label::after {\n background-color: $mdlext-dark-input-text-highlight-color;\n }\n fieldset[disabled] .mdl-textfield .mdl-textfield__label,\n .mdl-textfield.is-disabled.is-disabled .mdl-textfield__label {\n color: $mdlext-dark-input-text-disabled-text-color;\n }\n .mdl-textfield--floating-label.is-focused .mdl-textfield__label,\n .mdl-textfield--floating-label.is-dirty .mdl-textfield__label,\n .mdl-textfield--floating-label.has-placeholder .mdl-textfield__label {\n color: $mdlext-dark-input-text-highlight-color;\n }\n .mdl-textfield--floating-label.is-invalid .mdl-textfield__label {\n color: $mdlext-dark-input-text-error-color;\n }\n .mdl-textfield.is-invalid .mdl-textfield__label::after {\n background-color: $mdlext-dark-input-text-error-color;\n }\n .mdl-textfield__error {\n color: $mdlext-dark-input-text-error-color;\n }\n}\n\n\n// mdl/src/checkbox/_checkbox.scss\n// -----------------------------------\n.mdlext-dark-color-theme {\n\n .mdl-checkbox__box-outline {\n border-color: $mdlext-dark-checkbox-off-color;\n }\n .mdl-checkbox.is-checked .mdl-checkbox__box-outline {\n border-color: $mdlext-dark-checkbox-color;\n }\n fieldset[disabled] .mdl-checkbox .mdl-checkbox__box-outline,\n .mdl-checkbox.is-disabled .mdl-checkbox__box-outline {\n border-color: $mdlext-dark-checkbox-disabled-color;\n }\n\n .mdl-checkbox__focus-helper {\n background-color: transparent;\n }\n .mdl-checkbox.is-focused.is-checked .mdl-checkbox__focus-helper {\n box-shadow: 0 0 0 ($checkbox-button-size / 2) $mdlext-dark-checkbox-focus-color;\n background-color: $mdlext-dark-checkbox-focus-color;\n }\n\n .mdl-checkbox__tick-outline {\n background: transparent;\n }\n .mdl-checkbox.is-checked .mdl-checkbox__tick-outline {\n background-color: $mdlext-dark-checkbox-color;\n }\n fieldset[disabled] .mdl-checkbox.is-checked .mdl-checkbox__tick-outline,\n .mdl-checkbox.is-checked.is-disabled .mdl-checkbox__tick-outline {\n background-color: $mdlext-dark-checkbox-disabled-color;\n }\n\n fieldset[disabled] .mdl-checkbox .mdl-checkbox__label,\n .mdl-checkbox.is-disabled .mdl-checkbox__label {\n color: $mdlext-dark-checkbox-disabled-color;\n }\n\n .mdl-checkbox__ripple-container .mdl-ripple {\n background: $mdlext-dark-checkbox-color;\n }\n fieldset[disabled] .mdl-checkbox .mdl-checkbox__ripple-container .mdl-ripple,\n .mdl-checkbox.is-disabled .mdl-checkbox__ripple-container .mdl-ripple {\n background: transparent;\n }\n\n}\n\n// mdl/src/radio/_radio.scss\n// -----------------------------------\n.mdlext-dark-color-theme {\n .mdl-radio__outer-circle {\n border-color: $mdlext-dark-radio-off-color;\n }\n .mdl-radio.is-checked .mdl-radio__outer-circle {\n border-color: $mdlext-dark-radio-color;\n }\n .mdl-radio__outer-circle fieldset[disabled] .mdl-radio,\n .mdl-radio.is-disabled .mdl-radio__outer-circle {\n border-color: $mdlext-dark-radio-disabled-color;\n }\n\n .mdl-radio__inner-circle {\n background: $mdlext-dark-radio-color;\n }\n fieldset[disabled] .mdl-radio .mdl-radio__inner-circle,\n .mdl-radio.is-disabled .mdl-radio__inner-circle {\n background: $mdlext-dark-radio-disabled-color;\n }\n\n fieldset[disabled] .mdl-radio .mdl-radio__label,\n .mdl-radio.is-disabled .mdl-radio__label {\n color: $mdlext-dark-radio-disabled-color;\n }\n\n .mdl-radio__ripple-container .mdl-ripple {\n background: $mdlext-dark-radio-color;\n }\n fieldset[disabled] .mdl-radio .mdl-radio__ripple-container .mdl-ripple,\n .mdl-radio.is-disabled .mdl-radio__ripple-container .mdl-ripple {\n background: transparent;\n }\n}\n\n// mdl/src/icon-togglr/_icon-toggle.scss\n// ---------------------------------------\n.mdlext-dark-color-theme {\n .mdl-icon-toggle__label {\n color: $mdlext-dark-icon-toggle-color;\n }\n .mdl-icon-toggle.is-checked .mdl-icon-toggle__label {\n color: $mdlext-dark-icon-toggle-checked-color;\n }\n .mdl-icon-toggle.is-disabled .mdl-icon-toggle__label {\n color: $mdlext-dark-icon-toggle-disabled-color;\n }\n .mdl-icon-toggle.is-focused .mdl-icon-toggle__label {\n background-color: $mdlext-dark-icon-toggle-focus-color;\n }\n .mdl-icon-toggle.is-focused.is-checked .mdl-icon-toggle__label {\n background-color: $mdlext-dark-icon-toggle-checked-focus-color;\n }\n .mdl-icon-toggle__ripple-container .mdl-ripple {\n background: $mdlext-dark-icon-toggle-color;\n }\n .mdl-icon-toggle.is-disabled .mdl-icon-toggle__ripple-container .mdl-ripple {\n background: transparent;\n }\n}\n\n\n// mdl/src/switch/_switch.scss\n// -----------------------------------\n.mdlext-dark-color-theme {\n\n .mdl-switch__track {\n background: $mdlext-dark-switch-off-track-color;\n }\n .mdl-switch.is-checked .mdl-switch__track {\n background: $mdlext-dark-switch-track-color;\n }\n .mdl-switch__track fieldset[disabled] .mdl-switch,\n .mdl-switch.is-disabled .mdl-switch__track {\n background: $mdlext-dark-switch-disabled-track-color;\n }\n\n .mdl-switch__thumb {\n background: $mdlext-dark-switch-off-thumb-color;\n }\n .mdl-switch.is-checked .mdl-switch__thumb {\n background: $mdlext-dark-switch-thumb-color;\n }\n .mdl-switch__thumb fieldset[disabled] .mdl-switch,\n .mdl-switch.is-disabled .mdl-switch__thumb {\n background: $mdlext-dark-switch-disabled-thumb-color;\n }\n\n .mdl-switch__focus-helper {\n background-color: transparent;\n }\n .mdl-switch.is-focused .mdl-switch__focus-helper {\n background-color: rgba(0, 0, 0, 0.1);\n }\n .mdl-switch.is-focused.is-checked .mdl-switch__focus-helper {\n box-shadow: 0 0 0 (($switch-ripple-size - $switch-helper-size) / 2) $mdlext-dark-switch-faded-color;\n background-color: $mdlext-dark-switch-faded-color;\n }\n\n .mdl-switch__label fieldset[disabled] .mdl-switch,\n .mdl-switch.is-disabled .mdl-switch__label {\n color: $mdlext-dark-switch-disabled-thumb-color;\n }\n\n .mdl-switch__ripple-container .mdl-ripple {\n background: $mdlext-dark-switch-color;\n }\n fieldset[disabled] .mdl-switch .mdl-switch__ripple-container .mdl-ripple,\n .mdl-switch.is-disabled .mdl-switch__ripple-container .mdl-ripple {\n background: transparent;\n }\n\n}\n\n\n// mdl/src/data-table/_data-table.scss\n// -----------------------------------\n.mdlext-dark-color-theme {\n\n .mdl-data-table {\n border-color: $mdlext-dark-data-table-divider-color;\n background-color: $mdlext-dark-data-table-background-color;\n\n tbody {\n tr {\n &.is-selected {\n background-color: $mdlext-dark-data-table-selection-color;\n }\n\n &:hover {\n background-color: $mdlext-dark-data-table-hover-color;\n }\n }\n }\n\n th {\n color: $mdlext-dark-data-table-header-color;\n\n &.mdl-data-table__header--sorted-ascending,\n &.mdl-data-table__header--sorted-descending {\n color: $mdlext-dark-data-table-header-sorted-color;\n\n &:hover {\n &::before {\n color: $mdlext-dark-data-table-header-sorted-icon-hover-color;\n }\n }\n }\n }\n }\n}\n\n// mdl/src/menu/_menu.scss\n// -----------------------------------\n.mdlext-dark-color-theme {\n\n .mdl-menu__outline {\n background: $mdlext-dark-default-dropdown-bg-color;\n }\n\n .mdl-menu__item {\n color: $mdlext-dark-default-item-text-color;\n background-color: transparent;\n outline-color: $mdlext-dark-default-item-outline-color;\n\n &--full-bleed-divider {\n border-bottom-color: $mdlext-dark-default-item-divider-color;\n }\n\n &[disabled],\n &[data-mdl-disabled] {\n color: $mdlext-dark-disabled-item-text-color;\n background-color: transparent;\n\n &:hover {\n background-color: transparent;\n }\n\n &:focus {\n background-color: transparent;\n }\n\n & .mdl-ripple {\n background: transparent;\n }\n }\n\n &:hover {\n background-color: $mdlext-dark-default-item-hover-bg-color;\n }\n\n &:focus {\n background-color: $mdlext-dark-default-item-focus-bg-color;\n }\n\n &:active {\n background-color: $mdlext-dark-default-item-active-bg-color;\n }\n }\n}\n\n// mdl/src/card/_card.scss\n// ----------------------------------------\n.mdlext-dark-color-theme {\n .mdl-card {\n background: $mdlext-dark-card-background-color;\n }\n\n .mdl-card__media {\n background-color: $mdlext-dark-card-image-placeholder-color;\n }\n\n .mdl-card__title {\n color: $mdlext-dark-card-text-color;\n\n &.mdl-card--border {\n border-bottom-color: $mdlext-dark-card-border-color;\n }\n }\n\n .mdl-card__title-text {\n color: inherit;\n }\n\n .mdl-card__subtitle-text {\n color: $mdlext-dark-card-subtitle-color;\n }\n\n .mdl-card__supporting-text {\n color: $mdlext-dark-card-supporting-text-text-color;\n }\n\n .mdl-card__actions {\n background-color: rgba(255, 255, 255, 0);\n\n &.mdl-card--border {\n border-top-color: $mdlext-dark-card-border-color;\n }\n }\n}\n\n\n// mdlext/src/selectfield/_selectfield.scss\n// ----------------------------------------\n.mdlext-dark-color-theme {\n\n .mdlext-selectfield.is-disabled::after {\n color: $mdlext-dark-input-text-disabled-color;\n @include mdlext-arrow(bottom, $mdlext-selectfield-arrow-width, $mdlext-selectfield-arrow-length, $mdlext-dark-input-text-disabled-color);\n }\n\n .mdlext-selectfield__select {\n border-bottom-color: $mdlext-dark-input-text-bottom-border-color;\n color: inherit;\n\n option {\n background-color: $mdlext-dark-content-background-color;\n color: $mdlext-dark-text-color-primary;\n }\n }\n .mdlext-selectfield.is-invalid .mdlext-selectfield__select {\n border-color: $mdlext-dark-input-text-error-color;\n }\n fieldset[disabled] .mdlext-selectfield .mdlext-selectfield__select,\n .mdlext-selectfield.is-disabled .mdlext-selectfield__select {\n background-color: transparent;\n border-bottom-color: $mdlext-dark-input-text-disabled-color;\n color: $mdlext-dark-input-text-disabled-text-color;\n }\n\n .mdlext-selectfield__label {\n color: $mdlext-dark-input-text-label-color;\n }\n fieldset[disabled] .mdlext-selectfield .mdlext-selectfield__label,\n .mdlext-selectfield.is-disabled.is-disabled .mdlext-selectfield__label {\n color: $mdlext-dark-input-text-disabled-text-color;\n }\n .mdlext-selectfield--floating-label.is-focused .mdlext-selectfield__label,\n .mdlext-selectfield--floating-label.is-dirty .mdlext-selectfield__label,\n .mdlext-selectfield--floating-label.is-dirty.is-dirty .mdlext-selectfield__label,\n .mdlext-selectfield--floating-label.has-placeholder .mdlext-selectfield__label {\n color: $mdlext-dark-input-text-highlight-color;\n }\n .mdlext-selectfield--floating-label.is-invalid .mdlext-selectfield__label {\n color: $mdlext-dark-input-text-error-color;\n }\n .mdlext-selectfield__label::after {\n background-color: $mdlext-dark-input-text-highlight-color;\n }\n .mdlext-selectfield.is-invalid .mdlext-selectfield__label::after {\n background-color: $mdlext-dark-input-text-error-color;\n }\n\n .mdlext-selectfield__error {\n color: $mdlext-dark-input-text-error-color;\n }\n}\n\n\n// mdlext/src/menu-button/_menu-button.scss\n// ----------------------------------------\n.mdlext-menu.mdlext-dark-color-theme {\n background: $mdlext-dark-default-dropdown-bg-color;\n}\n\n.mdlext-dark-color-theme {\n\n .mdlext-menu {\n background: $mdlext-dark-default-dropdown-bg-color;\n\n &__item {\n color: $mdlext-dark-default-item-text-color;\n background-color: $mdlext-dark-default-dropdown-bg-color;\n\n &:active,\n &[aria-selected='true'] {\n background-color: $mdlext-dark-default-item-active-bg-color;\n }\n &:hover:not([disabled]) {\n background-color: $mdlext-dark-default-item-hover-bg-color;\n }\n &:focus {\n outline-color: $mdlext-dark-default-item-outline-color;\n background-color: $mdlext-dark-default-item-focus-bg-color;\n }\n &[disabled] {\n color: $mdlext-dark-disabled-item-text-color;\n\n > * {\n color: $mdlext-dark-disabled-item-text-color;\n }\n }\n }\n &__item-separator {\n border-bottom: 1px solid $mdlext-dark-default-item-divider-color;\n }\n }\n}\n\n\n// mdlext/src/bordered-fields/_bordered-fields.scss\n// -------------------------------------------------\n.mdlext-dark-color-theme {\n\n .mdlext-bordered-fields {\n\n .mdl-textfield,\n .mdlext-selectfield {\n\n .mdl-textfield__input,\n .mdlext-selectfield__select {\n background-color: $mdlext-dark-bordered-field-background-color;\n border-color: $mdlext-dark-bordered-field-border-color;\n color: $mdlext-dark-bordered-field-input-text-color;\n\n &:disabled {\n color: $mdlext-dark-bordered-field-input-text-disabled-text-color;\n background-color: $mdlext-dark-bordered-field-disabled-background-color;\n border-color: $mdlext-dark-bordered-field-disabled-border-color;\n }\n &:focus {\n background-color: $mdlext-dark-bordered-field-focus-background-color;\n border-color: $mdlext-dark-bordered-field-focus-border-color;\n }\n }\n &.is-invalid {\n .mdl-textfield__input,\n .mdlext-selectfield__select {\n color: $mdlext-dark-bordered-field-input-text-error-color;\n border-color: $mdlext-dark-bordered-field-error-border-color;\n background-color: $mdlext-dark-bordered-field-error-background-color;\n\n &:focus {\n border-color: $mdlext-dark-bordered-field-error-focus-border-color;\n background-color: $mdlext-dark-bordered-field-error-focus-background-color;\n }\n }\n }\n }\n\n fieldset[disabled] .mdlext-selectfield::after,\n .mdlext-selectfield.is-disabled::after {\n color: $mdlext-dark-bordered-field-input-text-disabled-text-color;\n @include mdlext-arrow(bottom, $mdlext-selectfield-arrow-width, $mdlext-selectfield-arrow-length, $mdlext-dark-bordered-field-input-text-disabled-text-color);\n }\n\n fieldset[disabled] .mdl-textfield .mdl-textfield__input,\n fieldset[disabled] .mdlext-selectfield .mdlext-selectfield__select {\n color: $mdlext-dark-bordered-field-input-text-disabled-text-color;\n background-color: $mdlext-dark-bordered-field-disabled-background-color;\n border-color: $mdlext-dark-bordered-field-disabled-border-color;\n }\n\n .mdl-textfield,\n .mdlext-selectfield {\n\n .mdl-textfield__label,\n .mdlext-selectfield__label {\n color: $mdlext-dark-bordered-field-input-text-label-color;\n }\n &.mdl-textfield--floating-label.is-focused.is-focused,\n &.mdl-textfield--floating-label.is-dirty.is-dirty,\n &.mdl-textfield--floating-label.has-placeholder,\n &.mdlext-selectfield--floating-label.is-focused.is-focused,\n &.mdlext-selectfield--floating-label.is-dirty.is-dirty,\n &.mdlext-selectfield--floating-label.has-placeholder {\n\n .mdl-textfield__label,\n .mdlext-selectfield__label {\n color: $mdlext-dark-bordered-field-input-text-label-focus-color;\n }\n }\n &.mdl-textfield--floating-label.is-disabled.is-disabled,\n &.mdlext-selectfield--floating-label.is-disabled.is-disabled {\n\n .mdl-textfield__label,\n .mdlext-selectfield__label {\n color: $mdlext-dark-bordered-field-input-text-label-disabled-color;\n }\n }\n &.mdl-textfield--floating-label.is-invalid.is-invalid,\n &.mdlext-selectfield--floating-label.is-invalid.is-invalid {\n\n .mdl-textfield__label,\n .mdlext-selectfield__label {\n color: $mdlext-dark-bordered-field-input-text-label-error-color;\n }\n }\n }\n\n fieldset[disabled] .mdl-textfield .mdl-textfield__label,\n fieldset[disabled] .mdl-selectfield .mdl-selectfield__label {\n color: $mdlext-dark-bordered-field-input-text-label-disabled-color;\n }\n\n // Icon(s) and/or button(s) inside textfield\n .mdl-textfield,\n .mdlext-selectfield {\n &.is-disabled i,\n &.is-disabled .mdl-button {\n color: $mdlext-dark-bordered-field-disabled-border-color;\n }\n }\n fieldset[disabled] .mdl-textfield,\n fieldset[disabled] .mdlext-selectfield {\n i,\n .mdl-button {\n color: $mdlext-dark-bordered-field-disabled-border-color;\n }\n }\n }\n\n}\n\n\n// mdlext/src/accordion/_accordion.scss\n// ----------------------------------------\n.mdlext-dark-color-theme {\n\n .mdlext-accordion {\n\n &__tab {\n color: $mdlext-dark-accordion-header-secondary-color;\n background-color: $mdlext-dark-accordion-header-background-color;\n\n &:focus {\n outline-color: $mdlext-dark-accordion-header-focus-outline-color;\n }\n &[aria-expanded='true'] {\n background-color: $mdlext-dark-accordion-header-background-open-color;\n }\n &[aria-selected='true'] {\n background-color: $mdlext-dark-accordion-header-background-active-color;\n }\n &[disabled] {\n background-color: $mdlext-dark-accordion-header-disabled-color;\n color: $mdlext-dark-accordion-header-secondary-color-disabled;\n pointer-events: none;\n\n > * {\n color: $mdlext-dark-accordion-header-secondary-color-disabled;\n }\n }\n &:hover:not([disabled]) {\n background-color: $mdlext-dark-accordion-header-background-hover-color;\n }\n &--ripple {\n &[aria-selected='true']::before {\n background: $mdlext-dark-accordion-ripple-color;\n }\n }\n }\n\n &__tabpanel {\n color: $mdlext-dark-accordion-content-color;\n background-color: $mdlext-dark-accordion-content-background-color;\n }\n }\n\n // Vertical layout\n .mdlext-accordion {\n\n &--vertical {\n\n .mdlext-accordion__tab {\n border-top: 1px solid $mdlext-dark-accordion-header-border-color;\n\n &[aria-selected='true']::after {\n background-color: $mdlext-dark-accordion-header-highlight-color;\n }\n }\n .mdlext-accordion__tabpanel {\n border-top: 1px solid $mdlext-dark-accordion-header-border-color;\n }\n }\n }\n\n // Horizontal layout\n .mdlext-accordion {\n\n &--horizontal {\n\n .mdlext-accordion__tab {\n border-left: 1px solid $mdlext-dark-accordion-header-border-color;\n\n &[aria-selected='true']::after {\n background-color: $mdlext-dark-accordion-header-highlight-color;\n }\n }\n .mdlext-accordion__tabpanel {\n border-left: 1px solid $mdlext-dark-accordion-header-border-color;\n }\n }\n }\n\n .mdlext-accordion {\n\n &__panel:first-child > &__tab {\n // Use container to set outer borders\n border-top-color: transparent;\n border-left-color: transparent;\n }\n }\n\n // Making accordion appear disabled.\n // Note: does not prevent tabbing into a disabled accordion\n .mdlext-accordion[disabled] {\n .mdlext-accordion__tab {\n background-color: $mdlext-dark-accordion-header-disabled-color;\n color: $mdlext-dark-accordion-header-secondary-color-disabled;\n\n > * {\n color: $mdlext-dark-accordion-header-secondary-color-disabled;\n }\n }\n .mdlext-accordion__tabpanel {\n opacity: 0.8;\n filter: blur(1px) grayscale(80%);\n }\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// webpack:///src/color-themes/_dark-color-theme.scss"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"sources":["webpack:///webpack:///~/material-design-lite/src/_variables.scss","webpack:///webpack:///src/mdl-ext-eqjs-build.scss","webpack:///webpack:///~/material-design-lite/src/_color-definitions.scss","webpack:///webpack:///~/material-design-lite/src/_functions.scss","webpack:///webpack:///~/material-design-lite/src/_mixins.scss","webpack:///webpack:///src/mdl-ext-eqjs.scss","webpack:///webpack:///src/_variables.scss","webpack:///webpack:///src/_functions.scss","webpack:///webpack:///src/aria-expanded-toggle/_aria-expanded-toggle.scss","webpack:///webpack:///src/_mixins.scss","webpack:///webpack:///src/sticky-header/_sticky-header.scss","webpack:///webpack:///src/dialog/dialog.scss","webpack:///webpack:///src/grid/_grid-eqjs.scss","webpack:///webpack:///~/eq.js/sass/_eq.scss","webpack:///webpack:///src/lightboard/_lightboard.scss","webpack:///webpack:///src/lightboard/_lightboard-eqjs.scss","webpack:///webpack:///src/lightbox/_lightbox.scss","webpack:///webpack:///src/carousel/_carousel.scss","webpack:///webpack:///src/selectfield/_selectfield.scss","webpack:///webpack:///src/menu-button/_menu-button.scss","webpack:///webpack:///src/bordered-fields/_bordered-fields.scss","webpack:///webpack:///src/collapsible/_collapsible.scss","webpack:///webpack:///src/accordion/_accordion.scss","webpack:///webpack:///src/color-themes/_color-themes.scss","webpack:///webpack:///src/color-themes/_light-color-theme.scss","webpack:///webpack:///src/color-themes/_dark-color-theme.scss"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GCcG;;ADEH;wCCCwC;;ADExC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GCgCG;;ADGH;;AAEA;;;;;;;;;ECQE;;ADKF;;AAEA;;;;;GCEG;;ACzEH;;;;;;;;;;;;;;GDyFG;;ACzEH;;AAikBA;;ACjlBA;;;;;;;;;;;;;;GF6GG;;AD5BH;;AAGA;;AA8BA;;AAgBA;;AAEA;;AAkCA;;AAQA;;AAMA;;AAIA;;AAqBA;;AAOA;;AAQA;;AAYA;;AASA;;AAUA;;AASA;;AAOA;;AAMA;;AAOA;;AAaA;;AAIA;;AAKA;;AASA;;AAYA;;AAYA;;AAgBA;;AAWA;;AAKA;;AAeA;;AA6BA;;AAMA;;AAEA;;AAOA;;AAMA;;AAWA;;AAEA;;AA0BA;;AAKA;;AACA;;;;GC9RG;;ADiTH;;AAQA;;AAGA;;AAUA;;AAMA;;AAqBA;;AA6BA;;AAGA;;AAOA;;AAIA;;AI3kBA;;;;;;;;;;;;;;GHmOG;;AGnNH;;AA+MA;;AA6CA;;AAsBA;;AChSA;;;;;;;;;;;GJsPG;;AKxPH;;;;;;;;;;;;;;GLwQG;;AMnMH;;AAqCA;;AD/CA;;AAUA;;AAWA;;AAEA;;AAoBA;;AAQA;;AAUA;;AA8CA;;AAQA;;AAkDA;;AC3JA;;AAqCA;;AArCA;;AAqCA;;ACxGA;;;;;;;;;;;;;;;;;;GP0TG;;AMvPH;;AAqCA;;AClFA;ECiDE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;EAGA;EAGA;EAGA;CRmPD;;AO9TD;EC8EI;EACA;CRoPH;;AAxFC;EQvJI;EACA;CRmPL;;AOpUD;EC6CE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;EAGA;EAGA;EAGA;CRmRD;;AQjRC;EACE;EACA;CRoRH;;AA7FC;EQlLI;EACA;CRmRL;;AShYD;;;;;;;;;;;;;;GTgZG;;AKhZH;;;;;;;;;;;;;;GLgaG;;AM3VH;;AAqCA;;AD/CA;;AAUA;;AAWA;;AAEA;;AAoBA;;AAQA;;AAUA;;AA8CA;;AAQA;;AAkDA;;AI3MA;EACE;EACA;EACA;EACA;CTsaD;;ASpaC;EACE;CTuaH;;ASnaD;EAEI;CTqaH;;ASvaD;EAKI;CTsaH;;ASla2C;;EAE1C;EAAA;CTqaD;;ASnaC;;EACE;CTuaH;;AS5aD;;EAQI;CTyaH;;AU1dD;;;;;;;;;;;;;;;;;;GV8eG;;AK9eH;;;;;;;;;;;;;;GL8fG;;AMzbH;;AAqCA;;AD/CA;;AAUA;;AAWA;;AAEA;;AAoBA;;AAQA;;AAUA;;AA8CA;;AAQA;;AAkDA;;AK1MA;EACE;EACA;EACA;EACA;EACA;CVmgBD;;AUjgBC;EACE;CVogBH;;AU5gBD;EAWI;CVqgBH;;AUhhBD;EAWI;CVqgBH;;AUhhBD;EAcI;CVsgBH;;AUlgBD;EACE;IAAK;GVsgBJ;CACF;;AUrgBD;EACE;IAAK;GVygBJ;CACF;;AWpjBD;;;;;;;;;;;;;;;;;GXukBG;;AW5iBH;EACE;EAAA;EACA;MAAA;EACA;EACA;MAAA;CX+iBD;;AWnjBD;EAOI;CXgjBH;;AWvjBD;EAWI;CXgjBH;;AW3jBD;EAeI;MAAA;CXgjBH;;AW/jBD;EAmBI;MAAA;MAAA;CXgjBH;;AWnkBD;EAuBI;MAAA;CXgjBH;;AWvkBD;EA2BI;MAAA;MAAA;CXgjBH;;AW3kBD;EA+BI;CXgjBH;;AW3iBO;EACF;MAAA;CX8iBL;;AW/iBO;EACF;MAAA;CXkjBL;;AWnjBO;EACF;MAAA;CXsjBL;;AWvjBO;EACF;MAAA;CX0jBL;;AW3jBO;EACF;MAAA;CX8jBL;;AW/jBO;EACF;MAAA;CXkkBL;;AWnkBO;EACF;MAAA;CXskBL;;AWvkBO;EACF;MAAA;CX0kBL;;AW3kBO;EACF;MAAA;CX8kBL;;AW/kBO;EACF;MAAA;CXklBL;;AWnlBO;EACF;MAAA;CXslBL;;AWvlBO;EACF;MAAA;CX0lBL;;AW/jBD;ECSI;EACA;CZ0jBH;;AY7nBK;EDmEF;CX8jBH;;AW5jBO;EACF;EAjCJ;CXimBD;;AW7kBD;EAkBM;CX+jBL;;AWjlBD;EAwBQ;MAAA;CX6jBP;;AWrlBD;EAwBQ;MAAA;CXikBP;;AWzlBD;EAwBQ;MAAA;CXqkBP;;AW7lBD;EAwBQ;MAAA;CXykBP;;AWjmBD;EAwBQ;MAAA;CX6kBP;;AWrmBD;EAwBQ;MAAA;CXilBP;;AWzmBD;EAwBQ;MAAA;CXqlBP;;AWtlBS;EACF;MAAA;CXylBP;;AW1lBS;EACF;MAAA;CX6lBP;;AW9lBS;EACF;MAAA;CXimBP;;AWlmBS;EACF;MAAA;CXqmBP;;AW7nBD;EAwBQ;MAAA;CXymBP;;AWjoBD;;EApBE;CX0pBD;;AWtoBD;;EApBE;CX+pBD;;AW3oBD;;EApBE;CXoqBD;;AWhpBD;;EApBE;CXyqBD;;AWrpBD;;EApBE;CX8qBD;;AWpnBS;;EA1DR;CXmrBD;;AW/pBD;;EApBE;CXwrBD;;AWpqBD;;EApBE;CX6rBD;;AWzqBD;;EApBE;CXksBD;;AW9qBD;;EApBE;CXusBD;;AWnrBD;;EApBE;CX4sBD;;AWxrBD;;EApBE;CXitBD;;AW7rBD;;EAdE;CXgtBD;;AWppBS;;EA5DR;CXqtBD;;AWzpBS;;EA5DR;CX0tBD;;AWxpBG;EACE;CX2pBL;;AWzpBS;EACF;EAlEN;CX+tBD;;AWjqBG;;EA9DF;CXouBD;;AW5pBW;;EAxEV;CXyuBD;;AW3qBG;;EA9DF;CX8uBD;;AWhrBG;;EA9DF;CXmvBD;;AWnqBW;;EAhFV;CXwvBD;;AW1rBG;;EA9DF;CX6vBD;;AW/rBG;;EA9DF;CXkwBD;;AWlrBW;;EAhFV;CXuwBD;;AWzsBG;;EA9DF;CX4wBD;;AW9sBG;;EA9DF;CXixBD;;AWjsBW;;EAhFV;CXsxBD;;AWtsBW;;EAhFV;CX2xBD;;AW7tBG;;EAxDF;CX0xBD;;AWxsBW;;EAlFV;CX+xBD;;AWvuBG;;EAxDF;CXoyBD;;AYz1BK;EDiJF;CX4sBH;;AW1sBO;EACF;EA/GJ;CX6zBD;;AWzyBD;EAgGM;CX6sBL;;AWxsBS;EACF;MAAA;CX2sBP;;AWjzBD;EAsGQ;MAAA;CX+sBP;;AWrzBD;EAsGQ;MAAA;CXmtBP;;AWzzBD;EAsGQ;MAAA;CXutBP;;AW7zBD;EAsGQ;MAAA;CX2tBP;;AWj0BD;EAsGQ;MAAA;CX+tBP;;AWr0BD;EAsGQ;MAAA;CXmuBP;;AWz0BD;EAsGQ;MAAA;CXuuBP;;AWxuBS;EACF;MAAA;CX2uBP;;AW5uBS;EACF;MAAA;CX+uBP;;AWhvBS;EACF;MAAA;CXmvBP;;AWpvBS;EACF;MAAA;CXuvBP;;AW71BD;;EApBE;CXs3BD;;AWl2BD;;EApBE;CX23BD;;AWv2BD;;EApBE;CXg4BD;;AW52BD;;EApBE;CXq4BD;;AWj3BD;;EApBE;CX04BD;;AWt3BD;;EApBE;CX+4BD;;AW33BD;;EApBE;CXo5BD;;AW5wBS;;EAxIR;CXy5BD;;AWjxBS;;EAxIR;CX85BD;;AW14BD;;EApBE;CXm6BD;;AW/4BD;;EApBE;CXw6BD;;AWp5BD;;EApBE;CX66BD;;AWz5BD;;EAdE;CX46BD;;AW95BD;;EAdE;CXi7BD;;AWvyBS;;EA1IR;CXs7BD;;AW5yBS;;EA1IR;CX27BD;;AWjzBS;;EA1IR;CXg8BD;;AWtzBS;;EA1IR;CXq8BD;;AWv7BD;;EAdE;CX08BD;;AYr/BK;ED4LA;CX6zBL;;AW3zBS;EACF;EAhJN;CX+8BD;;AWn0BG;;EA5IF;CXo9BD;;AWx0BG;;EA5IF;CXy9BD;;AWn0BW;;EAtJV;CX89BD;;AWl1BG;;EA5IF;CXm+BD;;AWv1BG;;EA5IF;CXw+BD;;AWl1BW;;EAtJV;CX6+BD;;AWj2BG;;EA5IF;CXk/BD;;AWt2BG;;EA5IF;CXu/BD;;AWz1BW;;EA9JV;CX4/BD;;AWh3BG;;EA5IF;CXigCD;;AWn2BW;;EA9JV;CXsgCD;;AWx2BW;;EA9JV;CX2gCD;;AW/3BG;;EAtIF;CX0gCD;;AWp4BG;;EAtIF;CX+gCD;;AW/2BW;;EAhKV;CXohCD;;AW94BG;;EAtIF;CXyhCD;;AWn5BG;;EAtIF;CX8hCD;;AW93BW;;EAhKV;CXmiCD;;AW75BG;;EAtIF;CXwiCD;;AY7lCK;ED+NF;CXk4BH;;AWxiCD;EAyKM;EA7LJ;CXikCD;;AWh4BO;EACF;CXm4BL;;AW93BS;EACF;MAAA;CXi4BP;;AWl4BS;EACF;MAAA;CXq4BP;;AWt4BS;EACF;MAAA;CXy4BP;;AW7jCD;EAoLQ;MAAA;CX64BP;;AWjkCD;EAoLQ;MAAA;CXi5BP;;AWrkCD;EAoLQ;MAAA;CXq5BP;;AWzkCD;EAoLQ;MAAA;CXy5BP;;AW7kCD;EAoLQ;MAAA;CX65BP;;AWjlCD;EAoLQ;MAAA;CXi6BP;;AWrlCD;EAoLQ;MAAA;CXq6BP;;AWt6BS;EACF;MAAA;CXy6BP;;AW16BS;EACF;MAAA;CX66BP;;AWv6BS;;EA9MR;CX0nCD;;AW56BS;;EA9MR;CX+nCD;;AW3mCD;;EApBE;CXooCD;;AWhnCD;;EApBE;CXyoCD;;AWrnCD;;EApBE;CX8oCD;;AWh8BS;;EA9MR;CXmpCD;;AWr8BS;;EA9MR;CXwpCD;;AW18BS;;EA9MR;CX6pCD;;AW/8BS;;EA9MR;CXkqCD;;AW9oCD;;EApBE;CXuqCD;;AWnpCD;;EApBE;CX4qCD;;AWxpCD;;EApBE;CXirCD;;AW7pCD;;EAdE;CXgrCD;;AWlqCD;;EAdE;CXqrCD;;AWvqCD;;EAdE;CX0rCD;;AW5qCD;;EAdE;CX+rCD;;AW/+BS;;EAhNR;CXosCD;;AWp/BS;;EAhNR;CXysCD;;AWz/BS;;EAhNR;CX8sCD;;AW9/BS;;EAhNR;CXmtCD;;AWrsCD;;EAdE;CXwtCD;;AW1sCD;;EAdE;CX6tCD;;AW/sCD;;EAdE;CXkuCD;;AY7wCK;EDkQA;CX+gCL;;AWhhCG;EAII;EAtNN;CXuuCD;;AW3gCW;;EA5NV;CX4uCD;;AW1hCG;;EAlNF;CXivCD;;AW/hCG;;EAlNF;CXsvCD;;AW1hCW;;EA5NV;CX2vCD;;AW/hCW;;EA5NV;CXgwCD;;AW9iCG;;EAlNF;CXqwCD;;AWziCW;;EA5NV;CX0wCD;;AWxjCG;;EAlNF;CX+wCD;;AW7jCG;;EAlNF;CXoxCD;;AWxjCW;;EA5NV;CXyxCD;;AWvkCG;;EAlNF;CX8xCD;;AW5kCG;;EAlNF;CXmyCD;;AW/jCW;;EA9NV;CXkyCD;;AWtlCG;;EA5MF;CXuyCD;;AW3lCG;;EA5MF;CX4yCD;;AW9kCW;;EA9NV;CXizCD;;AWrmCG;;EA5MF;CXszCD;;AWxlCW;;EA9NV;CX2zCD;;AW/mCG;;EA5MF;CXg0CD;;AWpnCG;;EA5MF;CXq0CD;;AWvmCW;;EA9NV;CX00CD;;AW9nCG;;EA5MF;CX+0CD;;AWnoCG;;E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;;GhB+8DG;;AgBv8DH;EACE;ChB08DD;;AgBv8DD;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;ChB08DD;;AgBv8DD;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;ChB08DD;;AgBr8DG;;EAIE;EACA;ChBs8DL;;AgBx9DD;;EAwBI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;ChBq8DH;;AgBt+DD;EAsCI;ChBo8DH;;AgB1+DD;EA0CI;EACA;EACA;EACA;EACA;ChBo8DH;;AgBl/DD;EAiDM;EACA;ChBq8DL;;AgBv/DD;EAsDM;Eb7EF;EAgIF;EACA;EACA;EACA;EanDI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;ChBw8DL;;AgB3gED;EA0EQ;EACA;ChBq8DP;;AgBhhED;EAiFI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;ChBm8DH;;AgBj8DK;EACA;ChBo8DL;;AiB3kED;;;;;;;;;;;;;;GjB2lEG;;AiB3kEH;;;;;;;;GjBqlEG;;AMhiEH;;AAqCA;;AWzEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CjB2kED;;AiBnlED;EAYI;EACA;CjB2kEH;;AiBvkEC;ETzCA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAKE;EACA;ES8BA;EACA;EACA;EACA;EACA;CjBmlEH;;AiB9kEC;EACE;ETtDF;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAKE;EACA;CRooEH;;AiBtlED;EACE;CjBylED;;AiBrlED;EACE;CjBwlED;;AiBplED;EACE;EACA;EACA;CjBulED;;AiBnlED;EAGE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CjBklED;;AiB3mED;EA6BI;EACA;CjBklEH;;AiBhnED;EAmCI;EACA;CjBilEH;;AiB9kEC;EACE;CjBilEH;;AiB9kEgC;EAC7B;CjBilEH;;AiB9kEC;EACE;EACA;CjBilEH;;AiB9kEC;;EAEE;EACA;EACA;CjBilEH;;AiB9kEC;EACE;EACA;EACA;CjBilEH;;AiB5kED;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CjB+kED;;AiB7kE8B;;EAE3B;CjBglEH;;AiB5kEC;Ed+GA;EACA;CHi+DD;;AiB7kEC;EACE;CjBglEH;;AiB7kEC;;EAEE;CjBglEH;;AiB7kEgD;;;EAG7C;EACA;EACA;EACA;CjBglEH;;AiB7kEC;;;EAGE;CjBglEH;;AiB7kEC;EACE;EACA;CjBglEH;;AiB5kEC;EACE;EACA;EACA;EACA;EACA;EACA;EduEF;EACA;EcrEE;EACA;CjB+kEH;;AiB5kEgC;EAC7B;EACA;EACA;CjB+kEH;;AiB5kEC;EACE;CjB+kEH;;AiB1kED;EACE;EACA;EACA;EACA;EACA;EACA;CjB6kED;;AiB3kEgC;EAC7B;CjB8kEH;;AiBzkED;EACE;EACA;EACA;EdmCA;EACA;Ec5BA;CjBukED;;AiBrkEC;;EAME;CjBokEH;;AiBvlED;EAsBI;CjBqkEH;;AkBj1ED;;;;;;;;;;;;;;;;;;GlBq2EG;;AkBj1EH;;;;;;;;;ElB41EE;;AkBj1EF;EACE;EfdE;EAqKF;EACA;EACA;EACA;EexJA;EACA;EACA;EACA;EACA;EAAA;EACA;MAAA;EACA;MAAA;ClBw1ED;;AkBj2ED;EAYI;EACA;ClBy1EH;;AkBt1EG;EACA;ClBy1EH;;AkB12ED;EAqBI;ClBy1EH;;AkBp1ED;EACE;EACA;EACA;EACA;ClBu1ED;;AkBp1ED;;EAEE;EACA;EACA;EACA;EACA;EAAA;ClBu1ED;;AkBp1ED;EACE;EACA;EACA;EACA;EACA;Ef4JA;Ee1JA;EAAA;EACA;MAAA;EACA;EACA;EACA;ClBu1ED;;AkBl2ED;EAcI;EACA;ClBw1EH;;AkBv2ED;EVxCE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EUqDE;ClB+1EH;;AkB51EC;EfsCA;EACA;EACA;EACA;EevCE;EACA;EACA;EACA;EACA;MA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;EACA;CrBg7FH;;AqB96FK;EACA;CrBi7FL;;AqB17FD;EAaI;EACA;CrBi7FH;;AqB56FD;EACE;IACE;IACA;GrB+6FD;;EqB76FD;IACE;IACA;GrBg7FD;;EqB96FD;IACE;IACA;GrBi7FD;CACF;;AqB96FD;;;;;;;;;;ErB07FE;;AqB96FF;EACE;IAAK;GrBk7FJ;;EqBj7FD;IAAM;GrBq7FL;;EqBp7FD;IAAM;GrBw7FL;;EqBv7FD;IAAO;GrB27FN;CACF;;AqBz7FD;EACE;IAAK;GrB67FJ;;EqB57FD;IAAM;GrBg8FL;;EqB/7FD;IAAM;GrBm8FL;;EqBl8FD;IAAO;GrBs8FN;CACF;;AqBp8FD;;;;;;;;;;ErBg9FE;;AqBp8FF;EACE;IAAK;GrBw8FJ;;EqBv8FD;IAAM;GrB28FL;;EqB18FD;IAAM;GrB88FL;;EqB78FD;IAAO;GrBi9FN;CACF;;AqB/8FD;EACE;IAAK;GrBm9FJ;;EqBl9FD;IAAM;GrBs9FL;;EqBr9FD;IAAM;GrBy9FL;;EqBx9FD;IAAO;GrB49FN;CACF;;AsBt2GD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EtBg6GE;;AuB95GF;EACE;EACA;CvBi6GD;;AuBn6GD;EAKI;CvBk6GH;;AuB55GD;EAGI;CvB65GH;;AuBh6GD;EAOI;CvB65GH;;AuBp6GD;EAWI;CvB65GH;;AuB15GC;EACE;CvB65GH;;AuB56GD;EAmBI;CvB65GH;;AuBh7GD;EAuBI;CvB65GH;;AuB15GC;EACE;CvB65GH;;AuB15GC;EACE;CvB65GH;;AuB57GD;EAmCI;CvB65GH;;AuB15GC;EACE;CvB65GH;;AuBt5GD;EAEI;CvBw5GH;;AuBj5GD;EAIM;EACA;CvBi5GL;;AuBt5GD;EAUQ;EACA;CvBg5GP;;AuBv4GD;EAGI;EACA;CvBw4GH;;AuB14GC;EAKI;CvBy4GL;;AuB94GC;EASI;CvBy4GL;;AuBp5GD;EAeM;CvBy4GL;;AuBt5GC;EAiBI;CvBy4GL;;AuB15GC;EAoBM;CvB04GP;;AuBp4GC;EACE;CvBu4GH;;AuBx4GC;EAII;CvBw4GL;;AuB54GC;EAQI;CvBw4GL;;AuB56GD;EAwCM;EACA;CvBw4GL;;AuBj7GD;EA4CQ;CvBy4GP;;AuBz5GC;EAoBM;CvBy4GP;;AuBz7GD;EAoDQ;CvBy4GP;;AuB77GD;EAwDQ;CvBy4GP;;AuBj8GD;EAgEI;CvBq4GH;;AuBr8GD;EAmEM;CvBs4GL;;AuB14GC;EAQI;CvBs4GL;;AuB78GD;EA2EM;EACA;CvBs4GL;;AuBl9GD;EA+EQ;CvBu4GP;;AuBv5GC;EAoBM;CvBu4GP;;AuB19GD;EAuFQ;CvBu4GP;;AuBp4GO;EACA;CvBu4GP;;AuBl+GD;EAmGI;CvBm4GH;;AuBt+GD;EAyGI;CvBi4GH;;AuB/3GK;EACA;CvBk4GL;;AuB9+GD;;EAgHM;EACA;CvBm4GL;;AuBp/GD;EAsHI;CvBk4GH;;AuBx/GD;EAyHM;CvBm4GL;;AuBv4GC;;EAQI;EACA;CvBo4GL;;AuB93GC;;EAII;EACA;CvB+3GL;;AuBxgHD;;EAgJQ;EACA;CvB63GP;;AuB9gHD;;EAyJQ;EACA;CvB03GP;;AuBh5GC;;EA6BM;CvBw3GP;;AuB/2GC;EAGI;EACA;EAeA;EAgBA;EAGA;EA6BA;EAQA;EAOA;EA8BA;EA0BA;EAMA;EAsCA;EAkBA;CvBurGL;;AuBh4GD;EAQQ;CvB43GP;;AuBp4GD;EAYQ;CvB43GP;;AuBv4GC;EAeM;EACA;CvB43GP;;AuB74GD;EAsBQ;CvB23GP;;AuBj5GD;EA8BQ;CvBu3GP;;AuBr5GD;EAyCQ;CvBg3GP;;AuBx5GC;EA4CM;CvBg3GP;;AuB75GD;EAiDQ;CvBg3GP;;AuBj6GD;EAqDQ;CvBg3GP;;AuBr6GD;EAyDQ;CvBg3GP;;AuBz6GD;EA6DQ;CvBg3GP;;AuB76GD;EAiEQ;CvBg3GP;;AuBj7GD;EAsEQ;CvB+2GP;;AuBr7GD;EA+EQ;CvB02GP;;AuBz7GD;EAsFQ;EACA;CvBu2GP;;AuB77GC;EA0FM;EACA;CvBu2GP;;AuBn8GD;EAgGQ;EACA;CvBu2GP;;AuBx8GD;EAqGQ;EACA;CvBu2GP;;AuB58GC;EAyGM;CvBu2GP;;AuBj9GD;EA8GQ;CvBu2GP;;AuBr9GD;EAmHQ;CvBs2GP;;AuBx9GC;EA0HM;CvBk2GP;;AuB79GD;EAqIQ;CvB41GP;;AuBj+GD;EA8IQ;CvBu1GP;;AuBr+GD;;;EAsJQ;CvBq1GP;;AuB3+GD;;;EA4JQ;CvBq1GP;;AuBl1GiD;EAC1C;CvBq1GP;;AuBp/GC;;;EAqKM;EACA;CvBq1GP;;AuB3/GC;;;EA4KM;EACA;CvBq1GP;;AuBngHD;;;EAoLQ;CvBq1GP;;AuBzgHD;;;EA2LQ;CvBo1GP;;AuB/gHD;EAmMQ;CvBg1GP;;AuBnhHD;EA+MI;CvBw0GH;;AuBvhHD;EAmNI;CvBw0GH;;AuB3hHD;EAwNI;CvBu0GH;;AuBh0GD;EAGI;CvBi0GH;;AuBp0GD;EAMI;CvBk0GH;;AuBh0GmC;;EAEhC;EACA;EACA;CvBm0GH;;AuB/0GD;EAeI;CvBo0GH;;AuBn1GD;EAkBI;CvBq0GH;;AuBn0GmC;;EAEhC;CvBs0GH;;AuBp0G2C;;;EAGxC;CvBu0GH;;AuBr0G2C;EACxC;CvBw0GH;;AuBt2GD;EAiCI;CvBy0GH;;AuB12GD;EAoCI;CvB00GH;;AuBn0GD;EAGI;CvBo0GH;;AuBv0GD;EAMI;CvBq0GH;;AuBn0GkC;;EAE/B;CvBs0GH;;AuBn0GC;EACE;CvBs0GH;;AuBp0GqC;EAClC;EACA;CvBu0GH;;AuBz1GD;EAsBI;CvBu0GH;;AuB71GD;EAyBI;CvBw0GH;;AuBt0G6C;;EAE1C;CvBy0GH;;AuBt2GD;;EAkCI;CvBy0GH;;AuBt0GiC;EAC9B;CvBy0GH;;AuB/2GD;;EA0CI;CvB00GH;;AuBn0GD;EAEI;CvBq0GH;;AuBv0GD;EAKI;CvBs0GH;;AuB30GD;;EASI;CvBu0GH;;AuBp0GC;EACE;CvBu0GH;;AuBr0G+B;;EAE5B;CvBw0GH;;AuBr0G+B;;EAE5B;CvBw0GH;;AuB91GD;EA0BI;CvBw0GH;;AuBt0G4D;;EAEzD;CvBy0GH;;AuBn0GD;EAEI;CvBq0GH;;AuBv0GD;EAKI;CvBs0GH;;AuB30GD;EAQI;CvBu0GH;;AuB/0GD;EAWI;CvBw0GH;;AuBn1GD;EAcI;CvBy0GH;;AuBv0GoC;EACjC;CvB00GH;;AuB31GD;EAoBI;CvB20GH;;AuBp0GD;EAGI;CvBq0GH;;AuBx0GD;EAMI;CvBs0GH;;AuB50GD;;EAUI;CvBu0GH;;AuBj1GD;EAcI;CvBu0GH;;AuBr1GD;EAiBI;CvBw0GH;;AuBt0GuC;;EAEpC;CvBy0GH;;AuBt0GC;EACE;CvBy0GH;;AuBv0GwB;EACrB;CvB00GH;;AuBt2GD;EA+BI;EACA;CvB20GH;;AuBx0GuC;;EAEpC;CvB20GH;;AuBh3GD;EAyCI;CvB20GH;;AuBz0G8D;;EAE3D;CvB40GH;;AuBr0GD;EAGI;EACA;CvBs0GH;;AuBn0GK;EAEI;CvBq0GT;;AuB90GD;EAYU;CvBs0GT;;AuBl1GD;EAiBM;CvBq0GL;;AuBt0GG;;EAKI;CvBs0GP;;AuB30GG;;EASQ;CvBu0GX;;AuB5zGD;EAGI;CvB6zGH;;AuBh0GD;EAOI;EACA;EACA;CvB6zGH;;AuBt0GD;EAYM;CvB8zGL;;AuB10GD;;EAiBM;EACA;CvB8zGL;;AuBh1GD;;EAqBQ;CvBg0GP;;AuBr1GD;;EAyBQ;CvBi0GP;;AuB9zGO;;EACA;CvBk0GP;;AuBz1GC;EA4BI;CvBi0GL;;AuB71GC;EAgCI;CvBi0GL;;AuBv2GD;EA0CM;CvBi0GL;;AuBzzGD;EAGI;CvB0zGH;;AuB7zGD;EAOI;CvB0zGH;;AuBj0GD;EAWI;CvB0zGH;;AuBr0GD;EAcM;CvB2zGL;;AuBvzGC;EACE;CvB0zGH;;AuB70GD;EAuBI;CvB0zGH;;AuBj1GD;EA2BI;CvB0zGH;;AuBr1GD;EA+BI;CvB0zGH;;AuBz1GD;EAkCM;CvB2zGL;;AuBnzGD;EAGI;EfzyBF;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAKE;EACA;CR0lIH;;AuBl0GD;EAQI;EACA;CvB8zGH;;AuBv0GD;EAYM;EACA;CvB+zGL;;AuB5zGgC;EAC7B;CvB+zGH;;AuBh1GD;;EAqBI;EACA;EACA;CvBg0GH;;AuBv1GD;EA2BI;CvBg0GH;;AuB31GD;;EA+BI;CvBi0GH;;AuBh2GD;;;;EAqCI;CvBk0GH;;AuBv2GD;EAwCI;CvBm0GH;;AuB32GD;EA2CI;CvBo0GH;;AuB/2GD;EA8CI;CvBq0GH;;AuBn3GD;EAkDI;CvBq0GH;;AuB/zGD;EACE;CvBk0GD;;AuB/zGD;EAGI;CvBg0GH;;AuBn0GD;EAMM;EACA;CvBi0GL;;AuBt0GC;;EASM;CvBk0GP;;AuB30GC;EAYM;CvBm0GP;;AuB/0GC;EAeM;EACA;CvBo0GP;;AuBt1GD;EAqBQ;CvBq0GP;;AuB11GD;EAwBU;CvBs0GT;;AuB51GC;EA2BI;CvBq0GL;;AuB7zGD;;;;EASQ;EACA;EACA;CvB2zGP;;AuBt0GD;;;;EAcU;EACA;EACA;CvB+zGT;;AuB/0GD;;;;EAmBU;EACA;CvBm0GT;;AuBv1GD;;;;EA0BU;EACA;EACA;CvBo0GT;;AuBx0GO;;;;EAOI;EACA;CvBw0GX;;AuBx2GD;;EAwCM;Ef/6BJ;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAKE;EACA;CRivIH;;AuBx3GD;;EA8CM;EACA;EACA;CvB+0GL;;AuB/3GD;;;;EAwDQ;CvB80GP;;AuBr0GO;;;;;;;;;;;;;;;;;;;;;;;;EAEE;CvB81GT;;AuBx1GO;;;;;;;;EAEE;CvBi2GT;;AuB56GD;;;;;;;;EAmFU;CvBo2GT;;AuBv7GD;;EA0FM;CvBk2GL;;AuB57GD;;;;EAkGQ;CvBi2GP;;AuBn8GD;;;;EAyGQ;CvBi2GP;;AuBx1GD;EAKM;EACA;CvBu1GL;;AuB31GC;EAOM;CvBw1GP;;AuB/1GC;EAUM;CvBy1GP;;AuBn2GC;EAaM;CvB01GP;;AuBz2GD;EAkBQ;EACA;EACA;CvB21GP;;AuB/2GD;EAuBU;CvB41GT;;AuBn3GD;EA2BQ;CvB41GP;;AuBr3GC;EA6BQ;CvB41GT;;AuBz3GC;EAmCI;EACA;CvB01GL;;AuBh4GD;EAgDQ;CvBo1GP;;AuBp4GD;EAmDU;CvBq1GT;;AuBx4GD;EAuDQ;CvBq1GP;;AuB54GD;EAkEQ;CvB80GP;;AuBh5GD;EAqEU;CvB+0GT;;AuBp5GD;EAyEQ;CvB+0GP;;AuBx5GD;EAkFM;EACA;CvB00GL;;AuBn0GG;EACE;EACA;CvBs0GL;;AuBl6GD;EA+FQ;CvBu0GP;;AuBt6GD;EAmGM;EACA;CvBu0GL;;AsB76ID;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EtBu+IE;;AwBr+IF;EACE;EACA;CxBw+ID;;AwB1+ID;EAII;CxB0+IH;;AwBr+ID;EAGI;CxBs+IH;;AwBn+IC;EACE;CxBs+IH;;AwBn+IC;EACE;CxBs+IH;;AwBj/ID;EAeI;CxBs+IH;;AwBn+IC;EACE;CxBs+IH;;AwBz/ID;EAuBI;CxBs+IH;;AwB7/ID;EA2BI;CxBs+IH;;AwBn+IC;EACE;CxBs+IH;;AwBn+IC;EACE;CxBs+IH;;AwBzgJD;EAuCI;CxBs+IH;;AwBh+ID;EAEI;CxBk+IH;;AwB39ID;EAIM;EACA;CxB29IL;;AwB/9IC;EASM;EACA;CxB09IP;;AwBj9ID;EAGI;EACA;CxBk9IH;;AwBt9ID;EAOM;CxBm9IL;;AwB19ID;EAWM;CxBm9IL;;AwB59IC;EAaI;CxBm9IL;;AwBl+ID;EAmBM;CxBm9IL;;AwBt+ID;EAsBQ;CxBo9IP;;AwB1+ID;EA6BI;CxBi9IH;;AwB9+ID;EAgCM;CxBk9IL;;AwBl/ID;EAoCM;CxBk9IL;;AwB19IC;EAYI;EACA;CxBk9IL;;AwB3/ID;EA4CQ;CxBm9IP;;AwB//ID;EAgDQ;CxBm9IP;;AwBv+IC;EAwBM;CxBm9IP;;AwBvgJD;EAwDQ;CxBm9IP;;AwB58IC;EACE;CxB+8IH;;AwBh9IC;EAII;CxBg9IL;;AwBnhJD;EAuEM;CxBg9IL;;AwBx9IC;EAYI;EACA;CxBg9IL;;AwB5hJD;EA+EQ;CxBi9IP;;AwBhiJD;EAmFQ;CxBi9IP;;AwBr+IC;EAwBM;CxBi9IP;;AwBxiJD;EA2FQ;CxBi9IP;;AwB18IC;EACE;CxB68IH;;AwBx8IC;EACE;CxB28IH;;AwBpjJD;EA4GM;CxB48IL;;AwBh9IC;;EAQI;EACA;CxB68IL;;AwB9jJD;EAsHI;CxB48IH;;AwB18IK;EACA;CxB68IL;;AwBtkJD;;EA6HM;EACA;CxB88IL;;AwB5kJD;;EAwIM;EACA;CxBy8IL;;AwBllJD;;EAgJQ;EACA;CxBu8IP;;AwBp9IC;;EAqBM;EACA;CxBo8IP;;AwB9lJD;;EAiKQ;CxBk8IP;;AwBz7ID;EAKM;EACA;EAeA;EAmBA;EA8BA;EAQA;EAOA;EA8BA;EA0BA;EAMA;EAsCA;EAkBA;CxB6vIL;;AwBt8IC;EAOM;CxBm8IP;;AwB58ID;EAaQ;CxBm8IP;;AwBh9ID;EAiBQ;EACA;CxBm8IP;;AwBr9ID;EAuBQ;CxBk8IP;;AwBv9IC;EA+BM;CxB47IP;;AwB79ID;EA2CQ;CxBs7IP;;AwB/9IC;EA6CM;CxBs7IP;;AwBr+ID;EAmDQ;CxBs7IP;;AwBz+ID;EAuDQ;CxBs7IP;;AwB7+ID;EA2DQ;CxBs7IP;;AwBj/ID;EA+DQ;CxBs7IP;;AwBr/ID;EAmEQ;CxBs7IP;;AwBv/IC;EAsEM;CxBq7IP;;AwB3/IC;EA+EM;CxBg7IP;;AwBjgJD;EAwFQ;EACA;CxB66IP;;AwBpgJC;EA2FM;EACA;CxB66IP;;AwB3gJD;EAkGQ;EACA;CxB66IP;;AwBhhJD;EAuGQ;EACA;CxB66IP;;AwBrhJD;EA4GQ;CxB66IP;;AwBzhJD;EAgHQ;CxB66IP;;AwB7hJD;EAqHQ;CxB46IP;;AwBjiJD;EA6HQ;CxBw6IP;;AwBriJD;EAuIQ;CxBk6IP;;AwBziJD;EAgJQ;CxB65IP;;AwB7iJD;;;EAwJQ;CxB25IP;;AwBnjJD;;;EA8JQ;CxB25IP;;AwBx5IiD;EAC1C;CxB25IP;;AwB7jJD;;;EAwKQ;EACA;CxB25IP;;AwBpkJD;;;EA+KQ;EACA;CxB25IP;;AwBzkJC;;;EAoLM;CxB25IP;;AwBjlJD;;;EA6LQ;CxB05IP;;AwBvlJD;EAqMQ;CxBs5IP;;AwB3lJD;EAiNI;CxB84IH;;AwB/lJD;EAqNI;CxB84IH;;AwBnmJD;EA0NI;CxB64IH;;AwBt4ID;EAGI;CxBu4IH;;AwB14ID;EAMI;CxBw4IH;;AwBt4ImC;;EAEhC;EACA;EACA;CxBy4IH;;AwBv4IC;EACE;CxB04IH;;AwBx4IC;EACE;CxB24IH;;AwBz4ImC;;EAEhC;CxB44IH;;AwBl6ID;;;EA2BI;CxB64IH;;AwBx6ID;EA8BI;CxB84IH;;AwB56ID;EAiCI;CxB+4IH;;AwBh7ID;EAoCI;CxBg5IH;;AwBz4ID;EAGI;CxB04IH;;AwB74ID;EAMI;CxB24IH;;AwBz4IkC;;EAE/B;CxB44IH;;AwBz4IC;EACE;CxB44IH;;AwB14IqC;EAClC;EACA;CxB64IH;;AwB/5ID;EAsBI;CxB64IH;;AwBn6ID;EAyBI;CxB84IH;;AwB54I6C;;EAE1C;CxB+4IH;;AwB56ID;;EAkCI;CxB+4IH;;AwB54IiC;EAC9B;CxB+4IH;;AwBr7ID;;EA0CI;CxBg5IH;;AwBz4ID;EAEI;CxB24IH;;AwB74ID;EAKI;CxB44IH;;AwBj5ID;;EASI;CxB64IH;;AwB14IC;EACE;CxB64IH;;AwB34I+B;;EAE5B;CxB84IH;;AwB/5ID;;EAsBI;CxB84IH;;AwB34I8B;EAC3B;CxB84IH;;AwBx6ID;;EA8BI;CxB+4IH;;AwBz4ID;EAEI;CxB24IH;;AwB74ID;EAKI;CxB44IH;;AwBj5ID;EAQI;CxB64IH;;AwB34I6B;EAC1B;CxB84IH;;AwBz5ID;EAcI;CxB+4IH;;AwB75ID;EAiBI;CxBg5IH;;AwBj6ID;EAoBI;CxBi5IH;;AwB14ID;EAGI;CxB24IH;;AwB94ID;EAMI;CxB44IH;;AwB14IuC;;EAEpC;CxB64IH;;AwBv5ID;EAcI;CxB64IH;;AwB35ID;EAiBI;CxB84IH;;AwB/5ID;;EAqBI;CxB+4IH;;AwB54IC;EACE;CxB+4IH;;AwB74IwB;EACrB;CxBg5IH;;AwB56ID;EA+BI;EACA;CxBi5IH;;AwB94IuC;;EAEpC;CxBi5IH;;AwB94I+B;EAC5B;CxBi5IH;;AwB/4I8D;;EAE3D;CxBk5IH;;AwB14ID;EAGI;EACA;CxB24IH;;AwBx4IK;EAEI;CxB04IT;;AwB54IK;EAMI;CxB04IT;;AwBv5ID;EAmBM;CxBw4IL;;AwBz4IG;;EAKI;CxBy4IP;;AwBh6ID;;EA2BY;CxB04IX;;AwBh4ID;EAGI;CxBi4IH;;AwBp4ID;EAOI;EACA;EACA;CxBi4IH;;AwB14ID;EAYM;CxBk4IL;;AwB94ID;;EAiBM;EACA;CxBk4IL;;AwBp5ID;;EAqBQ;CxBo4IP;;AwBz5ID;;EAyBQ;CxBq4IP;;AwBl4IO;;EACA;CxBs4IP;;AwB75IC;EA4BI;CxBq4IL;;AwBv6ID;EAsCM;CxBq4IL;;AwBr6IC;EAoCI;CxBq4IL;;AwB73IC;EACE;CxBg4IH;;AwB73IC;EACE;CxBg4IH;;AwB73IC;EACE;CxBg4IH;;AwBj4IC;EAII;CxBi4IL;;AwB94ID;EAkBI;CxBg4IH;;AwBl5ID;EAsBI;CxBg4IH;;AwBt5ID;EA0BI;CxBg4IH;;AwB15ID;EA8BI;CxBg4IH;;AwB95ID;EAiCM;CxBi4IL;;AwBz3ID;EAGI;EhBzyBF;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAKE;EACA;CRgqKH;;AwBj4IC;EACE;EACA;CxBo4IH;;AwB74ID;EAYM;EACA;CxBq4IL;;AwBl5ID;EAiBI;CxBq4IH;;AwBt5ID;;EAqBI;EACA;EACA;CxBs4IH;;AwB75ID;EA2BI;CxBs4IH;;AwBj6ID;;EA+BI;CxBu4IH;;AwBt6ID;;;;EAqCI;CxBw4IH;;AwB76ID;EAwCI;CxBy4IH;;AwBj7ID;EA2CI;CxB04IH;;AwBr7ID;EA8CI;CxB24IH;;AwBz7ID;EAkDI;CxB24IH;;AwBp4ID;EACE;CxBu4ID;;AwBp4ID;EAGI;CxBq4IH;;AwBx4ID;EAMM;EACA;CxBs4IL;;AwB34IC;;EASM;CxBu4IP;;AwBl5ID;EAcQ;CxBw4IP;;AwBp5IC;EAeM;EACA;CxBy4IP;;AwB35ID;EAqBQ;CxB04IP;;AwB/5ID;EAwBU;CxB24IT;;AwBj6IC;EA2BI;CxB04IL;;AwBl4ID;;;;EASQ;EACA;EACA;CxBg4IP;;AwB34ID;;;;EAcU;EACA;EACA;CxBo4IT;;AwBp5ID;;;;EAmBU;EACA;CxBw4IT;;AwBp4IO;;;;EAEE;EACA;EACA;CxBy4IT;;AwB74IO;;;;EAOI;EACA;CxB64IX;;AwB76ID;;EAwCM;EhBh7BJ;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAKE;EACA;CRuzKH;;AwB77ID;;EA8CM;EACA;EACA;CxBo5IL;;AwBp8ID;;;;EAwDQ;CxBm5IP;;AwB38ID;;;;;;;;;;;;;;;;;;;;;;;;EAmEU;CxBm6IT;;AwB75IO;;;;;;;;EAEE;CxBs6IT;;AwBj/ID;;;;;;;;EAmFU;CxBy6IT;;AwB5/ID;;EA0FM;CxBu6IL;;AwBjgJD;;;;EAkGQ;CxBs6IP;;AwBxgJD;;;;EAyGQ;CxBs6IP;;AwB55ID;EAKM;EACA;CxB25IL;;AwB/5IC;EAOM;CxB45IP;;AwBr6ID;EAYQ;CxB65IP;;AwBv6IC;EAaM;CxB85IP;;AwB36IC;EAgBM;EACA;EACA;CxB+5IP;;AwBn7ID;EAuBU;CxBg6IT;;AwBv7ID;EA2BQ;CxBg6IP;;AwBz7IC;EA6BQ;CxBg6IT;;AwB77IC;EAmCI;EACA;CxB85IL;;AwBp8ID;EAgDQ;CxBw5IP;;AwBx8ID;EAmDU;CxBy5IT;;AwBt5IK;EACE;CxBy5IP;;AwBh9ID;EAkEQ;CxBk5IP;;AwBp9ID;EAqEU;CxBm5IT;;AwBh5IK;EACE;CxBm5IP;;AwB59ID;EAkFM;EACA;CxB84IL;;AwBv4IG;EACE;EACA;CxB04IL;;AwBt+ID;EA+FQ;CxB24IP;;AwB1+ID;EAmGM;EACA;CxB24IL","file":"mdl-ext-eqjs.css","sourcesContent":["/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*------------------------------------*\\\n $CONTENTS\n\\*------------------------------------*/\n/**\n * STYLE GUIDE VARIABLES------------------Declarations of Sass variables\n * -----Typography\n * -----Colors\n * -----Textfield\n * -----Switch\n * -----Spinner\n * -----Radio\n * -----Menu\n * -----List\n * -----Layout\n * -----Icon toggles\n * -----Footer\n * -----Column\n * -----Checkbox\n * -----Card\n * -----Button\n * -----Animation\n * -----Progress\n * -----Badge\n * -----Shadows\n * -----Grid\n * -----Data table\n * -----Dialog\n * -----Snackbar\n * -----Tooltip\n * -----Chip\n *\n * Even though all variables have the `!default` directive, most of them\n * should not be changed as they are dependent one another. This can cause\n * visual distortions (like alignment issues) that are hard to track down\n * and fix.\n */\n\n\n/* ========== TYPOGRAPHY ========== */\n\n/* We're splitting fonts into \"preferred\" and \"performance\" in order to optimize\n page loading. For important text, such as the body, we want it to load\n immediately and not wait for the web font load, whereas for other sections,\n such as headers and titles, we're OK with things taking a bit longer to load.\n We do have some optional classes and parameters in the mixins, in case you\n definitely want to make sure you're using the preferred font and don't mind\n the performance hit.\n We should be able to improve on this once CSS Font Loading L3 becomes more\n widely available.\n*/\n$preferred_font: 'Roboto', 'Helvetica', 'Arial', sans-serif !default;\n$performance_font: 'Helvetica', 'Arial', sans-serif !default;\n\n/* ========== COLORS ========== */\n\n/**\n*\n* Material design color palettes.\n* @see http://www.google.com/design/spec/style/color.html\n*\n**/\n\n@import \"color-definitions\";\n@import \"functions\";\n\n/* ========== IMAGES ========== */\n$image_path: '/images' !default;\n\n/* ========== Color & Themes ========== */\n\n// Define whether individual color palette items should have classes created.\n// Setting this to true will remove individual color classes for each color in the palettes.\n// To improve overall performance (assuming they aren't used) by:\n// * Saving server bandwidth sending the extra classes\n// * Save client computation against the classes\n// it is RECOMMENDED you set this to true.\n$trim-color-classes: false !default;\n\n// Use color primarily for emphasis. Choose colors that fit with\n// your brand and provide good contrast between visual components.\n$color-primary: $palette-indigo-500 !default;\n$color-primary-dark: $palette-indigo-700 !default;\n$color-accent: $palette-pink-A200 !default;\n\n// Our primary is dark, so use $color-dark-contrast for overlaid text.\n$color-primary-contrast: $color-dark-contrast !default;\n// Our accent is dark, so use $color-dark-contrast for overlaid text.\n$color-accent-contrast: $color-dark-contrast !default;\n\n// Replace all colors with placeholders if we're generating a template.\n@if $styleguide-generate-template == true {\n $color-primary: '$color-primary';\n $color-primary-dark: '$color-primary-dark';\n $color-accent: '$color-accent';\n $color-primary-contrast: '$color-primary-contrast';\n $color-accent-contrast: '$color-accent-contrast';\n}\n\n/* ========== Typography ========== */\n\n// We use the following default color styles: text-color-primary and\n// text-color-secondary. For light themes, use text-color-primary-inverse\n// and text-color-secondary-inverse.\n\n$text-color-primary: unquote(\"rgba(#{$color-black}, 0.87)\") !default;\n$text-link-color: unquote(\"rgb(#{$color-accent})\") !default;\n\n// Define whether to target elements directly for typographic enhancements.\n// Turning this off means you need to use mdl-* classes more often.\n// Other components may also fail to adhere to MD without these rules.\n// It is strongly recommended you leave this as true.\n\n$target-elements-directly: true !default;\n\n/* ========== Components ========== */\n\n/* ========== Standard Buttons ========== */\n\n// Default button colors.\n$button-primary-color: unquote(\"rgba(#{$palette-grey-500}, 0.20)\") !default;\n$button-secondary-color: unquote(\"rgb(#{$color-black})\") !default;\n$button-hover-color: $button-primary-color !default;\n$button-active-color: unquote(\"rgba(#{$palette-grey-500}, 0.40)\") !default;\n$button-focus-color: unquote(\"rgba(#{$color-black}, 0.12)\") !default;\n\n// Colored button colors.\n$button-primary-color-alt: unquote(\"rgb(#{$color-primary})\") !default;\n$button-secondary-color-alt: unquote(\"rgb(#{$color-primary-contrast})\") !default;\n$button-hover-color-alt: unquote(\"rgb(#{$color-primary})\") !default;\n$button-active-color-alt: unquote(\"rgb(#{$color-primary})\") !default;\n$button-focus-color-alt: $button-focus-color !default;\n\n// Ripple color for colored raised buttons.\n$button-ripple-color-alt: unquote(\"rgb(#{$color-primary-contrast})\") !default;\n\n// Disabled button colors.\n$button-primary-color-disabled: unquote(\"rgba(#{$color-black}, 0.12)\") !default;\n$button-secondary-color-disabled: unquote(\"rgba(#{$color-black}, 0.26)\") !default;\n\n// FAB colors and sizes.\n$button-fab-color-alt: unquote(\"rgb(#{$color-accent})\") !default;\n$button-fab-hover-color-alt: unquote(\"rgb(#{$color-accent})\") !default;\n$button-fab-active-color-alt: unquote(\"rgb(#{$color-accent})\") !default;\n$button-fab-text-color-alt: unquote(\"rgb(#{$color-accent-contrast})\") !default;\n$button-fab-ripple-color-alt: unquote(\"rgb(#{$color-accent-contrast})\") !default;\n\n// Icon button colors and sizes.\n$button-icon-color: unquote(\"rgb(#{$palette-grey-700})\") !default;\n$button-icon-focus-color: $button-focus-color !default;\n\n/* ========== Icon Toggles ========== */\n\n$icon-toggle-color: unquote(\"rgb(#{$palette-grey-700})\") !default;\n$icon-toggle-focus-color: $button-focus-color !default;\n$icon-toggle-checked-color: unquote(\"rgb(#{$color-primary})\") !default;\n$icon-toggle-checked-focus-color: unquote(\"rgba(#{$color-primary}, 0.26)\") !default;\n$icon-toggle-disabled-color: unquote(\"rgba(#{$color-black}, 0.26)\") !default;\n\n/* ========== Radio Buttons ========== */\n\n$radio-color: unquote(\"rgb(#{$color-primary})\") !default;\n$radio-off-color: unquote(\"rgba(#{$color-black}, 0.54)\") !default;\n$radio-disabled-color: unquote(\"rgba(#{$color-black}, 0.26)\") !default;\n\n/* ========== Ripple effect ========== */\n\n$ripple-bg-color: unquote(\"rgb(#{$color-light-contrast})\") !default;\n\n/* ========== Layout ========== */\n\n$layout-nav-color: unquote(\"rgb(#{$palette-grey-300})\") !default;\n\n// Drawer\n$layout-drawer-bg-color: unquote(\"rgb(#{$palette-grey-50})\") !default;\n$layout-drawer-border-color: unquote(\"rgb(#{$palette-grey-300})\") !default;\n$layout-text-color: unquote(\"rgb(#{$palette-grey-800})\") !default;\n$layout-drawer-navigation-color: #757575 !default;\n$layout-drawer-navigation-link-active-background: unquote(\"rgb(#{$palette-grey-300})\") !default;\n$layout-drawer-navigation-link-active-color: unquote(\"rgb(#{$color-light-contrast})\") !default;\n\n// Header\n$layout-header-bg-color: unquote(\"rgb(#{$color-primary})\") !default;\n$layout-header-text-color: unquote(\"rgb(#{$color-primary-contrast})\") !default;\n$layout-header-nav-hover-color: unquote(\"rgba(#{$palette-grey-700}, 0.6)\") !default;\n$layout-header-tab-text-color: unquote(\"rgba(#{$color-primary-contrast}, 0.6)\") !default;\n\n// Tabs\n$layout-header-tab-highlight: unquote(\"rgb(#{$color-accent})\") !default;\n\n/* ========== Content Tabs ========== */\n\n$tab-highlight-color: unquote(\"rgb(#{$color-primary})\") !default;\n$tab-text-color: unquote(\"rgba(#{$color-black}, 0.54)\") !default;\n$tab-active-text-color: unquote(\"rgba(#{$color-black}, 0.87)\") !default;\n$tab-border-color: unquote(\"rgb(#{$palette-grey-300})\") !default;\n\n/* ========== Checkboxes ========== */\n\n$checkbox-color: unquote(\"rgb(#{$color-primary})\") !default;\n$checkbox-off-color: unquote(\"rgba(#{$color-black}, 0.54)\") !default;\n$checkbox-disabled-color: unquote(\"rgba(#{$color-black}, 0.26)\") !default;\n$checkbox-focus-color: unquote(\"rgba(#{$color-primary}, 0.26)\") !default;\n$checkbox-image-path: $image_path;\n\n/* ========== Switches ========== */\n\n$switch-color: unquote(\"rgb(#{$color-primary})\") !default;\n$switch-faded-color: unquote(\"rgba(#{$color-primary}, 0.26)\") !default;\n$switch-thumb-color: $switch-color !default;\n$switch-track-color: unquote(\"rgba(#{$color-primary}, 0.5)\") !default;\n\n$switch-off-thumb-color: unquote(\"rgb(#{$palette-grey-50})\") !default;\n$switch-off-track-color: unquote(\"rgba(#{$color-black}, 0.26)\") !default;\n$switch-disabled-thumb-color: unquote(\"rgb(#{$palette-grey-400})\") !default;\n$switch-disabled-track-color: unquote(\"rgba(#{$color-black}, 0.12)\") !default;\n\n/* ========== Spinner ========== */\n\n$spinner-color-1: unquote(\"rgb(#{$palette-blue-400})\") !default;\n$spinner-color-2: unquote(\"rgb(#{$palette-red-500})\") !default;\n$spinner-color-3: unquote(\"rgb(#{$palette-yellow-600})\") !default;\n$spinner-color-4: unquote(\"rgb(#{$palette-green-500})\") !default;\n\n$spinner-single-color: unquote(\"rgb(#{$color-primary})\") !default;\n\n/* ========== Text fields ========== */\n\n$input-text-background-color: transparent !default;\n$input-text-label-color: unquote(\"rgba(#{$color-black}, 0.26)\") !default;\n$input-text-bottom-border-color: unquote(\"rgba(#{$color-black}, 0.12)\") !default;\n$input-text-highlight-color: unquote(\"rgb(#{$color-primary})\") !default;\n$input-text-disabled-color: $input-text-bottom-border-color !default;\n$input-text-disabled-text-color: $input-text-label-color !default;\n$input-text-error-color: unquote(\"rgb(#{$palette-red-A700})\") !default;\n\n/* ========== Card ========== */\n\n$card-background-color: unquote(\"rgb(#{$color-white})\") !default;\n$card-text-color: unquote(\"rgb(#{$color-black})\") !default;\n$card-image-placeholder-color: unquote(\"rgb(#{$color-accent})\") !default;\n$card-supporting-text-text-color: unquote(\"rgba(#{$color-black}, 0.54)\") !default;\n$card-border-color: rgba(0,0,0,0.1) !default;\n$card-subtitle-color: unquote(\"rgba(#{$color-black}, 0.54)\") !default;\n\n/* ========== Sliders ========== */\n\n$range-bg-color: unquote(\"rgba(#{$color-black}, 0.26)\") !default;\n$range-color: unquote(\"rgb(#{$color-primary})\") !default;\n$range-faded-color: unquote(\"rgba(#{$color-primary}, 0.26)\") !default;\n$range-bg-focus-color: unquote(\"rgba(#{$color-black}, 0.12)\") !default;\n\n/* ========== Progress ========== */\n$progress-main-color: unquote(\"rgb(#{$color-primary})\") !default;\n$progress-secondary-color: unquote(\"rgba(#{$color-primary-contrast}, 0.7)\") !default;\n$progress-fallback-buffer-color: unquote(\"rgba(#{$color-primary-contrast}, 0.9)\") !default;\n$progress-image-path: $image_path;\n\n/* ========== List ========== */\n\n$list-main-text-text-color: unquote(\"rgba(#{$color-black}, 0.87)\") !default;\n$list-supporting-text-text-color: unquote(\"rgba(#{$color-black}, 0.54)\") !default;\n$list-icon-color: unquote(\"rgb(#{$palette-grey-600})\") !default;\n$list-avatar-color: white !default;\n\n/* ========== Item ========== */\n\n// Default Item Colors\n$default-item-text-color: unquote(\"rgba(#{$color-black}, 0.87)\") !default;\n$default-item-outline-color: unquote(\"rgb(#{$palette-grey-400})\") !default;\n$default-item-hover-bg-color: unquote(\"rgb(#{$palette-grey-200})\") !default;\n$default-item-focus-bg-color: unquote(\"rgb(#{$palette-grey-200})\") !default;\n$default-item-active-bg-color: unquote(\"rgb(#{$palette-grey-300})\") !default;\n$default-item-divider-color: unquote(\"rgba(#{$color-black}, 0.12)\") !default;\n\n// Disabled Button Colors\n$disabled-item-text-color: unquote(\"rgb(#{$palette-grey-400})\") !default;\n\n/* ========== Dropdown menu ========== */\n\n$default-dropdown-bg-color: unquote(\"rgb(#{$color-white})\") !default;\n\n/* ========== Tooltips ========== */\n\n$tooltip-text-color: unquote(\"rgb(#{$color-white})\") !default;\n$tooltip-background-color: unquote(\"rgba(#{$palette-grey-700}, 0.9)\") !default;\n\n/* ========== Footer ========== */\n\n$footer-bg-color: unquote(\"rgb(#{$palette-grey-800})\") !default;\n$footer-color: unquote(\"rgb(#{$palette-grey-500})\") !default;\n$footer-heading-color: unquote(\"rgb(#{$palette-grey-300})\") !default;\n$footer-button-fill-color: $footer-color !default;\n$footer-underline-color: $footer-color !default;\n\n\n/* TEXTFIELD */\n\n$input-text-font-size: 16px !default;\n$input-text-width: 100% !default;\n$input-text-padding: 4px !default;\n$input-text-vertical-spacing: 20px !default;\n\n$input-text-button-size: 32px !default;\n$input-text-floating-label-fontsize: 12px !default;\n$input-text-expandable-icon-top: 16px !default;\n\n\n/* SWITCH */\n\n$switch-label-font-size: 16px !default;\n$switch-label-height: 24px !default;\n$switch-track-height: 14px !default;\n$switch-track-length: 36px !default;\n$switch-thumb-size: 20px !default;\n$switch-track-top: ($switch-label-height - $switch-track-height) / 2 !default;\n$switch-thumb-top: ($switch-label-height - $switch-thumb-size) / 2 !default;\n$switch-ripple-size: $switch-label-height * 2 !default;\n$switch-helper-size: 8px !default;\n\n/* SPINNER */\n\n$spinner-size: 28px !default;\n$spinner-stroke-width: 3px !default;\n\n// Amount of circle the arc takes up.\n$spinner-arc-size: 270deg !default;\n// Time it takes to expand and contract arc.\n$spinner-arc-time: 1333ms !default;\n// How much the start location of the arc should rotate each time.\n$spinner-arc-start-rot: 216deg !default;\n\n$spinner-duration: 360 * $spinner-arc-time / (\n strip-units($spinner-arc-start-rot + (360deg - $spinner-arc-size)));\n\n\n/* RADIO */\n\n$radio-label-font-size: 16px !default;\n$radio-label-height: 24px !default;\n$radio-button-size: 16px !default;\n$radio-inner-margin: $radio-button-size / 4;\n$radio-padding: 8px !default;\n$radio-top-offset: ($radio-label-height - $radio-button-size) / 2;\n$radio-ripple-size: 42px !default;\n\n\n/* MENU */\n\n$menu-expand-duration: 0.3s !default;\n$menu-fade-duration: 0.2s !default;\n\n/* LIST */\n\n$list-border: 8px !default;\n$list-min-height: 48px !default;\n$list-min-padding: 16px !default;\n$list-bottom-padding: 20px !default;\n$list-avatar-text-left-distance: 72px !default;\n$list-icon-text-left-distance: 72px !default;\n\n$list-avatar-size: 40px !default;\n$list-icon-size: 24px !default;\n\n$list-two-line-height: 72px !default;\n$list-three-line-height: 88px !default;\n\n/* LAYOUT */\n\n$layout-drawer-narrow: 240px !default;\n$layout-drawer-wide: 456px !default;\n$layout-drawer-width: $layout-drawer-narrow !default;\n\n$layout-header-icon-size: 32px !default;\n$layout-screen-size-threshold: 1024px !default;\n$layout-header-icon-margin: 24px !default;\n$layout-drawer-button-mobile-size: 32px !default;\n$layout-drawer-button-desktop-size: 48px !default;\n\n$layout-header-mobile-row-height: 56px !default;\n$layout-mobile-header-height: $layout-header-mobile-row-height;\n$layout-header-desktop-row-height: 64px !default;\n$layout-desktop-header-height: $layout-header-desktop-row-height;\n\n$layout-header-desktop-baseline: 80px !default;\n$layout-header-mobile-baseline: 72px !default;\n$layout-header-mobile-indent: 16px !default;\n$layout-header-desktop-indent: 40px !default;\n\n$layout-tab-font-size: 14px !default;\n$layout-tab-bar-height: 48px !default;\n$layout-tab-mobile-padding: 12px !default;\n$layout-tab-desktop-padding: 24px !default;\n$layout-tab-highlight-thickness: 2px !default;\n\n\n/* ICON TOGGLE */\n\n$icon-toggle-size: 32px !default;\n$icon-toggle-font-size: 24px !default;\n$icon-toggle-ripple-size: 36px !default;\n\n/* FOOTER */\n\n/*mega-footer*/\n$footer-min-padding: 16px !default;\n$footer-padding-sides: 40px !default;\n$footer-heading-font-size: 14px !default;\n$footer-heading-line-height: (1.7 * $footer-heading-font-size) !default;\n$footer-btn-size: 36px !default;\n\n/*mini-footer*/\n$padding: 16px !default;\n$footer-heading-font-size: 24px !default;\n$footer-heading-line-height: (1.5 * $footer-heading-font-size) !default;\n$footer-btn-size: 36px !default;\n\n/* CHECKBOX */\n\n$checkbox-label-font-size: 16px !default;\n$checkbox-label-height: 24px !default;\n$checkbox-button-size: 16px !default;\n$checkbox-inner-margin: 2px !default;\n$checkbox-padding: 8px !default;\n$checkbox-top-offset:\n($checkbox-label-height - $checkbox-button-size - $checkbox-inner-margin) / 2;\n$checkbox-ripple-size: $checkbox-label-height * 1.5;\n\n/* CARD */\n\n/* Card dimensions */\n$card-width: 330px !default;\n$card-height: 200px !default;\n$card-font-size: 16px !default;\n$card-title-font-size: 24px !default;\n$card-subtitle-font-size: 14px !default;\n$card-horizontal-padding: 16px !default;\n$card-vertical-padding: 16px !default;\n\n$card-title-perspective-origin-x: 165px !default;\n$card-title-perspective-origin-y: 56px !default;\n\n$card-title-transform-origin-x: 165px !default;\n$card-title-transform-origin-y: 56px !default;\n\n$card-title-text-transform-origin-x: 149px !default;\n$card-title-text-transform-origin-y: 48px !default;\n\n$card-supporting-text-font-size: 1rem !default;\n$card-supporting-text-line-height: 18px !default;\n\n$card-actions-font-size: 16px !default;\n\n$card-title-text-font-weight: 300 !default;\n$card-z-index: 1 !default;\n\n/* Cover image */\n$card-cover-image-height: 186px !default;\n$card-background-image-url: '' !default;\n\n\n/* BUTTON */\n/**\n *\n * Dimensions\n *\n */\n$button-min-width: 64px !default;\n$button-height: 36px !default;\n$button-padding: 16px !default;\n$button-margin: 4px !default;\n$button-border-radius: 2px !default;\n\n$button-fab-size: 56px !default;\n$button-fab-size-mini: 40px !default;\n$button-fab-font-size: 24px !default;\n\n$button-icon-size: 32px !default;\n$button-icon-size-mini: 24px !default;\n\n\n/* ANIMATION */\n$animation-curve-fast-out-slow-in: cubic-bezier(0.4, 0, 0.2, 1) !default;\n$animation-curve-linear-out-slow-in: cubic-bezier(0, 0, 0.2, 1) !default;\n$animation-curve-fast-out-linear-in: cubic-bezier(0.4, 0, 1, 1) !default;\n\n$animation-curve-default: $animation-curve-fast-out-slow-in !default;\n\n\n/* PROGRESS */\n$bar-height: 4px !default;\n\n/* BADGE */\n$badge-font-size: 12px !default;\n$badge-color: unquote(\"rgb(#{$color-accent-contrast})\") !default;\n$badge-color-inverse: unquote(\"rgb(#{$color-accent})\") !default;\n$badge-background: unquote(\"rgb(#{$color-accent})\") !default;\n$badge-background-inverse: unquote(\"rgba(#{$color-accent-contrast},0.2)\") !default;\n$badge-size : 22px !default;\n$badge-padding: 2px !default;\n$badge-overlap: 12px !default;\n\n/* SHADOWS */\n\n$shadow-key-umbra-opacity: 0.2 !default;\n$shadow-key-penumbra-opacity: 0.14 !default;\n$shadow-ambient-shadow-opacity: 0.12 !default;\n\n/* GRID */\n\n$grid-desktop-columns: 12 !default;\n$grid-desktop-gutter: 16px !default;\n$grid-desktop-margin: 16px !default;\n\n$grid-desktop-breakpoint: 840px !default;\n\n$grid-tablet-columns: 8 !default;\n$grid-tablet-gutter: $grid-desktop-gutter !default;\n$grid-tablet-margin: $grid-desktop-margin !default;\n\n$grid-tablet-breakpoint: 480px !default;\n\n$grid-phone-columns: 4 !default;\n$grid-phone-gutter: $grid-desktop-gutter !default;\n$grid-phone-margin: $grid-desktop-margin !default;\n\n$grid-cell-default-columns: $grid-phone-columns !default;\n$grid-max-columns: $grid-desktop-columns !default;\n\n/* DATA TABLE */\n\n$data-table-font-size: 13px !default;\n$data-table-header-font-size: 12px !default;\n$data-table-header-sort-icon-size: 16px !default;\n\n$data-table-header-color: rgba(#000, 0.54) !default;\n$data-table-header-sorted-color: rgba(#000, 0.87) !default;\n$data-table-header-sorted-icon-hover-color: rgba(#000, 0.26) !default;\n$data-table-divider-color: rgba(#000, 0.12) !default;\n\n$data-table-hover-color: #eeeeee !default;\n$data-table-selection-color: #e0e0e0 !default;\n\n$data-table-dividers: 1px solid $data-table-divider-color !default;\n\n$data-table-row-height: 48px !default;\n$data-table-last-row-height: 56px !default;\n$data-table-header-height: 56px !default;\n\n$data-table-column-spacing: 36px !default;\n$data-table-column-padding: $data-table-column-spacing / 2;\n\n$data-table-card-header-height: 64px !default;\n$data-table-card-title-top: 20px !default;\n$data-table-card-padding: 24px !default;\n$data-table-button-padding-right: 16px !default;\n$data-table-cell-top: $data-table-card-padding / 2;\n\n/* DIALOG */\n$dialog-content-color: $card-supporting-text-text-color;\n\n/* SNACKBAR */\n\n// Hard coded since the color is not present in any palette.\n$snackbar-background-color: #323232 !default;\n$snackbar-tablet-breakpoint: $grid-tablet-breakpoint;\n$snackbar-action-color: unquote(\"rgb(#{$color-accent})\") !default;\n\n/* TOOLTIP */\n$tooltip-font-size: 10px !default;\n$tooltip-font-size-large: 14px !default;\n\n/* CHIP */\n$chip-bg-color: rgb(222, 222, 222) !default;\n$chip-bg-active-color: rgb(214, 214, 214) !default;\n$chip-height: 32px !default;\n$chip-font-size: 13px !default; \n\n\n\n// WEBPACK FOOTER //\n// webpack:///~/material-design-lite/src/_variables.scss","@charset \"UTF-8\";\n\n// Material Design Lite\n@import '~material-design-lite/src/variables';\n@import '~material-design-lite/src/mixins';\n\n// mdl-ext\n@import 'mdl-ext-eqjs';\n\n\n\n// WEBPACK FOOTER //\n// webpack:///src/mdl-ext-eqjs-build.scss","/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/* ========== Color Palettes ========== */\n\n// Color order: 50, 100, 200, 300, 400, 500, 600, 700, 800, 900, A100, A200,\n// A400, A700.\n\n$palette-red:\n\"255,235,238\"\n\"255,205,210\"\n\"239,154,154\"\n\"229,115,115\"\n\"239,83,80\"\n\"244,67,54\"\n\"229,57,53\"\n\"211,47,47\"\n\"198,40,40\"\n\"183,28,28\"\n\"255,138,128\"\n\"255,82,82\"\n\"255,23,68\"\n\"213,0,0\";\n\n$palette-red-50: nth($palette-red, 1);\n$palette-red-100: nth($palette-red, 2);\n$palette-red-200: nth($palette-red, 3);\n$palette-red-300: nth($palette-red, 4);\n$palette-red-400: nth($palette-red, 5);\n$palette-red-500: nth($palette-red, 6);\n$palette-red-600: nth($palette-red, 7);\n$palette-red-700: nth($palette-red, 8);\n$palette-red-800: nth($palette-red, 9);\n$palette-red-900: nth($palette-red, 10);\n$palette-red-A100: nth($palette-red, 11);\n$palette-red-A200: nth($palette-red, 12);\n$palette-red-A400: nth($palette-red, 13);\n$palette-red-A700: nth($palette-red, 14);\n\n$palette-pink:\n\"252,228,236\"\n\"248,187,208\"\n\"244,143,177\"\n\"240,98,146\"\n\"236,64,122\"\n\"233,30,99\"\n\"216,27,96\"\n\"194,24,91\"\n\"173,20,87\"\n\"136,14,79\"\n\"255,128,171\"\n\"255,64,129\"\n\"245,0,87\"\n\"197,17,98\";\n\n$palette-pink-50: nth($palette-pink, 1);\n$palette-pink-100: nth($palette-pink, 2);\n$palette-pink-200: nth($palette-pink, 3);\n$palette-pink-300: nth($palette-pink, 4);\n$palette-pink-400: nth($palette-pink, 5);\n$palette-pink-500: nth($palette-pink, 6);\n$palette-pink-600: nth($palette-pink, 7);\n$palette-pink-700: nth($palette-pink, 8);\n$palette-pink-800: nth($palette-pink, 9);\n$palette-pink-900: nth($palette-pink, 10);\n$palette-pink-A100: nth($palette-pink, 11);\n$palette-pink-A200: nth($palette-pink, 12);\n$palette-pink-A400: nth($palette-pink, 13);\n$palette-pink-A700: nth($palette-pink, 14);\n\n$palette-purple:\n\"243,229,245\"\n\"225,190,231\"\n\"206,147,216\"\n\"186,104,200\"\n\"171,71,188\"\n\"156,39,176\"\n\"142,36,170\"\n\"123,31,162\"\n\"106,27,154\"\n\"74,20,140\"\n\"234,128,252\"\n\"224,64,251\"\n\"213,0,249\"\n\"170,0,255\";\n\n$palette-purple-50: nth($palette-purple, 1);\n$palette-purple-100: nth($palette-purple, 2);\n$palette-purple-200: nth($palette-purple, 3);\n$palette-purple-300: nth($palette-purple, 4);\n$palette-purple-400: nth($palette-purple, 5);\n$palette-purple-500: nth($palette-purple, 6);\n$palette-purple-600: nth($palette-purple, 7);\n$palette-purple-700: nth($palette-purple, 8);\n$palette-purple-800: nth($palette-purple, 9);\n$palette-purple-900: nth($palette-purple, 10);\n$palette-purple-A100: nth($palette-purple, 11);\n$palette-purple-A200: nth($palette-purple, 12);\n$palette-purple-A400: nth($palette-purple, 13);\n$palette-purple-A700: nth($palette-purple, 14);\n\n$palette-deep-purple:\n\"237,231,246\"\n\"209,196,233\"\n\"179,157,219\"\n\"149,117,205\"\n\"126,87,194\"\n\"103,58,183\"\n\"94,53,177\"\n\"81,45,168\"\n\"69,39,160\"\n\"49,27,146\"\n\"179,136,255\"\n\"124,77,255\"\n\"101,31,255\"\n\"98,0,234\";\n\n$palette-deep-purple-50: nth($palette-deep-purple, 1);\n$palette-deep-purple-100: nth($palette-deep-purple, 2);\n$palette-deep-purple-200: nth($palette-deep-purple, 3);\n$palette-deep-purple-300: nth($palette-deep-purple, 4);\n$palette-deep-purple-400: nth($palette-deep-purple, 5);\n$palette-deep-purple-500: nth($palette-deep-purple, 6);\n$palette-deep-purple-600: nth($palette-deep-purple, 7);\n$palette-deep-purple-700: nth($palette-deep-purple, 8);\n$palette-deep-purple-800: nth($palette-deep-purple, 9);\n$palette-deep-purple-900: nth($palette-deep-purple, 10);\n$palette-deep-purple-A100: nth($palette-deep-purple, 11);\n$palette-deep-purple-A200: nth($palette-deep-purple, 12);\n$palette-deep-purple-A400: nth($palette-deep-purple, 13);\n$palette-deep-purple-A700: nth($palette-deep-purple, 14);\n\n$palette-indigo:\n\"232,234,246\"\n\"197,202,233\"\n\"159,168,218\"\n\"121,134,203\"\n\"92,107,192\"\n\"63,81,181\"\n\"57,73,171\"\n\"48,63,159\"\n\"40,53,147\"\n\"26,35,126\"\n\"140,158,255\"\n\"83,109,254\"\n\"61,90,254\"\n\"48,79,254\";\n\n$palette-indigo-50: nth($palette-indigo, 1);\n$palette-indigo-100: nth($palette-indigo, 2);\n$palette-indigo-200: nth($palette-indigo, 3);\n$palette-indigo-300: nth($palette-indigo, 4);\n$palette-indigo-400: nth($palette-indigo, 5);\n$palette-indigo-500: nth($palette-indigo, 6);\n$palette-indigo-600: nth($palette-indigo, 7);\n$palette-indigo-700: nth($palette-indigo, 8);\n$palette-indigo-800: nth($palette-indigo, 9);\n$palette-indigo-900: nth($palette-indigo, 10);\n$palette-indigo-A100: nth($palette-indigo, 11);\n$palette-indigo-A200: nth($palette-indigo, 12);\n$palette-indigo-A400: nth($palette-indigo, 13);\n$palette-indigo-A700: nth($palette-indigo, 14);\n\n$palette-blue:\n\"227,242,253\"\n\"187,222,251\"\n\"144,202,249\"\n\"100,181,246\"\n\"66,165,245\"\n\"33,150,243\"\n\"30,136,229\"\n\"25,118,210\"\n\"21,101,192\"\n\"13,71,161\"\n\"130,177,255\"\n\"68,138,255\"\n\"41,121,255\"\n\"41,98,255\";\n\n$palette-blue-50: nth($palette-blue, 1);\n$palette-blue-100: nth($palette-blue, 2);\n$palette-blue-200: nth($palette-blue, 3);\n$palette-blue-300: nth($palette-blue, 4);\n$palette-blue-400: nth($palette-blue, 5);\n$palette-blue-500: nth($palette-blue, 6);\n$palette-blue-600: nth($palette-blue, 7);\n$palette-blue-700: nth($palette-blue, 8);\n$palette-blue-800: nth($palette-blue, 9);\n$palette-blue-900: nth($palette-blue, 10);\n$palette-blue-A100: nth($palette-blue, 11);\n$palette-blue-A200: nth($palette-blue, 12);\n$palette-blue-A400: nth($palette-blue, 13);\n$palette-blue-A700: nth($palette-blue, 14);\n\n$palette-light-blue:\n\"225,245,254\"\n\"179,229,252\"\n\"129,212,250\"\n\"79,195,247\"\n\"41,182,246\"\n\"3,169,244\"\n\"3,155,229\"\n\"2,136,209\"\n\"2,119,189\"\n\"1,87,155\"\n\"128,216,255\"\n\"64,196,255\"\n\"0,176,255\"\n\"0,145,234\";\n\n$palette-light-blue-50: nth($palette-light-blue, 1);\n$palette-light-blue-100: nth($palette-light-blue, 2);\n$palette-light-blue-200: nth($palette-light-blue, 3);\n$palette-light-blue-300: nth($palette-light-blue, 4);\n$palette-light-blue-400: nth($palette-light-blue, 5);\n$palette-light-blue-500: nth($palette-light-blue, 6);\n$palette-light-blue-600: nth($palette-light-blue, 7);\n$palette-light-blue-700: nth($palette-light-blue, 8);\n$palette-light-blue-800: nth($palette-light-blue, 9);\n$palette-light-blue-900: nth($palette-light-blue, 10);\n$palette-light-blue-A100: nth($palette-light-blue, 11);\n$palette-light-blue-A200: nth($palette-light-blue, 12);\n$palette-light-blue-A400: nth($palette-light-blue, 13);\n$palette-light-blue-A700: nth($palette-light-blue, 14);\n\n$palette-cyan:\n\"224,247,250\"\n\"178,235,242\"\n\"128,222,234\"\n\"77,208,225\"\n\"38,198,218\"\n\"0,188,212\"\n\"0,172,193\"\n\"0,151,167\"\n\"0,131,143\"\n\"0,96,100\"\n\"132,255,255\"\n\"24,255,255\"\n\"0,229,255\"\n\"0,184,212\";\n\n$palette-cyan-50: nth($palette-cyan, 1);\n$palette-cyan-100: nth($palette-cyan, 2);\n$palette-cyan-200: nth($palette-cyan, 3);\n$palette-cyan-300: nth($palette-cyan, 4);\n$palette-cyan-400: nth($palette-cyan, 5);\n$palette-cyan-500: nth($palette-cyan, 6);\n$palette-cyan-600: nth($palette-cyan, 7);\n$palette-cyan-700: nth($palette-cyan, 8);\n$palette-cyan-800: nth($palette-cyan, 9);\n$palette-cyan-900: nth($palette-cyan, 10);\n$palette-cyan-A100: nth($palette-cyan, 11);\n$palette-cyan-A200: nth($palette-cyan, 12);\n$palette-cyan-A400: nth($palette-cyan, 13);\n$palette-cyan-A700: nth($palette-cyan, 14);\n\n$palette-teal:\n\"224,242,241\"\n\"178,223,219\"\n\"128,203,196\"\n\"77,182,172\"\n\"38,166,154\"\n\"0,150,136\"\n\"0,137,123\"\n\"0,121,107\"\n\"0,105,92\"\n\"0,77,64\"\n\"167,255,235\"\n\"100,255,218\"\n\"29,233,182\"\n\"0,191,165\";\n\n$palette-teal-50: nth($palette-teal, 1);\n$palette-teal-100: nth($palette-teal, 2);\n$palette-teal-200: nth($palette-teal, 3);\n$palette-teal-300: nth($palette-teal, 4);\n$palette-teal-400: nth($palette-teal, 5);\n$palette-teal-500: nth($palette-teal, 6);\n$palette-teal-600: nth($palette-teal, 7);\n$palette-teal-700: nth($palette-teal, 8);\n$palette-teal-800: nth($palette-teal, 9);\n$palette-teal-900: nth($palette-teal, 10);\n$palette-teal-A100: nth($palette-teal, 11);\n$palette-teal-A200: nth($palette-teal, 12);\n$palette-teal-A400: nth($palette-teal, 13);\n$palette-teal-A700: nth($palette-teal, 14);\n\n$palette-green:\n\"232,245,233\"\n\"200,230,201\"\n\"165,214,167\"\n\"129,199,132\"\n\"102,187,106\"\n\"76,175,80\"\n\"67,160,71\"\n\"56,142,60\"\n\"46,125,50\"\n\"27,94,32\"\n\"185,246,202\"\n\"105,240,174\"\n\"0,230,118\"\n\"0,200,83\";\n\n$palette-green-50: nth($palette-green, 1);\n$palette-green-100: nth($palette-green, 2);\n$palette-green-200: nth($palette-green, 3);\n$palette-green-300: nth($palette-green, 4);\n$palette-green-400: nth($palette-green, 5);\n$palette-green-500: nth($palette-green, 6);\n$palette-green-600: nth($palette-green, 7);\n$palette-green-700: nth($palette-green, 8);\n$palette-green-800: nth($palette-green, 9);\n$palette-green-900: nth($palette-green, 10);\n$palette-green-A100: nth($palette-green, 11);\n$palette-green-A200: nth($palette-green, 12);\n$palette-green-A400: nth($palette-green, 13);\n$palette-green-A700: nth($palette-green, 14);\n\n$palette-light-green:\n\"241,248,233\"\n\"220,237,200\"\n\"197,225,165\"\n\"174,213,129\"\n\"156,204,101\"\n\"139,195,74\"\n\"124,179,66\"\n\"104,159,56\"\n\"85,139,47\"\n\"51,105,30\"\n\"204,255,144\"\n\"178,255,89\"\n\"118,255,3\"\n\"100,221,23\";\n\n$palette-light-green-50: nth($palette-light-green, 1);\n$palette-light-green-100: nth($palette-light-green, 2);\n$palette-light-green-200: nth($palette-light-green, 3);\n$palette-light-green-300: nth($palette-light-green, 4);\n$palette-light-green-400: nth($palette-light-green, 5);\n$palette-light-green-500: nth($palette-light-green, 6);\n$palette-light-green-600: nth($palette-light-green, 7);\n$palette-light-green-700: nth($palette-light-green, 8);\n$palette-light-green-800: nth($palette-light-green, 9);\n$palette-light-green-900: nth($palette-light-green, 10);\n$palette-light-green-A100: nth($palette-light-green, 11);\n$palette-light-green-A200: nth($palette-light-green, 12);\n$palette-light-green-A400: nth($palette-light-green, 13);\n$palette-light-green-A700: nth($palette-light-green, 14);\n\n$palette-lime:\n\"249,251,231\"\n\"240,244,195\"\n\"230,238,156\"\n\"220,231,117\"\n\"212,225,87\"\n\"205,220,57\"\n\"192,202,51\"\n\"175,180,43\"\n\"158,157,36\"\n\"130,119,23\"\n\"244,255,129\"\n\"238,255,65\"\n\"198,255,0\"\n\"174,234,0\";\n\n$palette-lime-50: nth($palette-lime, 1);\n$palette-lime-100: nth($palette-lime, 2);\n$palette-lime-200: nth($palette-lime, 3);\n$palette-lime-300: nth($palette-lime, 4);\n$palette-lime-400: nth($palette-lime, 5);\n$palette-lime-500: nth($palette-lime, 6);\n$palette-lime-600: nth($palette-lime, 7);\n$palette-lime-700: nth($palette-lime, 8);\n$palette-lime-800: nth($palette-lime, 9);\n$palette-lime-900: nth($palette-lime, 10);\n$palette-lime-A100: nth($palette-lime, 11);\n$palette-lime-A200: nth($palette-lime, 12);\n$palette-lime-A400: nth($palette-lime, 13);\n$palette-lime-A700: nth($palette-lime, 14);\n\n$palette-yellow:\n\"255,253,231\"\n\"255,249,196\"\n\"255,245,157\"\n\"255,241,118\"\n\"255,238,88\"\n\"255,235,59\"\n\"253,216,53\"\n\"251,192,45\"\n\"249,168,37\"\n\"245,127,23\"\n\"255,255,141\"\n\"255,255,0\"\n\"255,234,0\"\n\"255,214,0\";\n\n$palette-yellow-50: nth($palette-yellow, 1);\n$palette-yellow-100: nth($palette-yellow, 2);\n$palette-yellow-200: nth($palette-yellow, 3);\n$palette-yellow-300: nth($palette-yellow, 4);\n$palette-yellow-400: nth($palette-yellow, 5);\n$palette-yellow-500: nth($palette-yellow, 6);\n$palette-yellow-600: nth($palette-yellow, 7);\n$palette-yellow-700: nth($palette-yellow, 8);\n$palette-yellow-800: nth($palette-yellow, 9);\n$palette-yellow-900: nth($palette-yellow, 10);\n$palette-yellow-A100: nth($palette-yellow, 11);\n$palette-yellow-A200: nth($palette-yellow, 12);\n$palette-yellow-A400: nth($palette-yellow, 13);\n$palette-yellow-A700: nth($palette-yellow, 14);\n\n$palette-amber:\n\"255,248,225\"\n\"255,236,179\"\n\"255,224,130\"\n\"255,213,79\"\n\"255,202,40\"\n\"255,193,7\"\n\"255,179,0\"\n\"255,160,0\"\n\"255,143,0\"\n\"255,111,0\"\n\"255,229,127\"\n\"255,215,64\"\n\"255,196,0\"\n\"255,171,0\";\n\n$palette-amber-50: nth($palette-amber, 1);\n$palette-amber-100: nth($palette-amber, 2);\n$palette-amber-200: nth($palette-amber, 3);\n$palette-amber-300: nth($palette-amber, 4);\n$palette-amber-400: nth($palette-amber, 5);\n$palette-amber-500: nth($palette-amber, 6);\n$palette-amber-600: nth($palette-amber, 7);\n$palette-amber-700: nth($palette-amber, 8);\n$palette-amber-800: nth($palette-amber, 9);\n$palette-amber-900: nth($palette-amber, 10);\n$palette-amber-A100: nth($palette-amber, 11);\n$palette-amber-A200: nth($palette-amber, 12);\n$palette-amber-A400: nth($palette-amber, 13);\n$palette-amber-A700: nth($palette-amber, 14);\n\n$palette-orange:\n\"255,243,224\"\n\"255,224,178\"\n\"255,204,128\"\n\"255,183,77\"\n\"255,167,38\"\n\"255,152,0\"\n\"251,140,0\"\n\"245,124,0\"\n\"239,108,0\"\n\"230,81,0\"\n\"255,209,128\"\n\"255,171,64\"\n\"255,145,0\"\n\"255,109,0\";\n\n$palette-orange-50: nth($palette-orange, 1);\n$palette-orange-100: nth($palette-orange, 2);\n$palette-orange-200: nth($palette-orange, 3);\n$palette-orange-300: nth($palette-orange, 4);\n$palette-orange-400: nth($palette-orange, 5);\n$palette-orange-500: nth($palette-orange, 6);\n$palette-orange-600: nth($palette-orange, 7);\n$palette-orange-700: nth($palette-orange, 8);\n$palette-orange-800: nth($palette-orange, 9);\n$palette-orange-900: nth($palette-orange, 10);\n$palette-orange-A100: nth($palette-orange, 11);\n$palette-orange-A200: nth($palette-orange, 12);\n$palette-orange-A400: nth($palette-orange, 13);\n$palette-orange-A700: nth($palette-orange, 14);\n\n$palette-deep-orange:\n\"251,233,231\"\n\"255,204,188\"\n\"255,171,145\"\n\"255,138,101\"\n\"255,112,67\"\n\"255,87,34\"\n\"244,81,30\"\n\"230,74,25\"\n\"216,67,21\"\n\"191,54,12\"\n\"255,158,128\"\n\"255,110,64\"\n\"255,61,0\"\n\"221,44,0\";\n\n$palette-deep-orange-50: nth($palette-deep-orange, 1);\n$palette-deep-orange-100: nth($palette-deep-orange, 2);\n$palette-deep-orange-200: nth($palette-deep-orange, 3);\n$palette-deep-orange-300: nth($palette-deep-orange, 4);\n$palette-deep-orange-400: nth($palette-deep-orange, 5);\n$palette-deep-orange-500: nth($palette-deep-orange, 6);\n$palette-deep-orange-600: nth($palette-deep-orange, 7);\n$palette-deep-orange-700: nth($palette-deep-orange, 8);\n$palette-deep-orange-800: nth($palette-deep-orange, 9);\n$palette-deep-orange-900: nth($palette-deep-orange, 10);\n$palette-deep-orange-A100: nth($palette-deep-orange, 11);\n$palette-deep-orange-A200: nth($palette-deep-orange, 12);\n$palette-deep-orange-A400: nth($palette-deep-orange, 13);\n$palette-deep-orange-A700: nth($palette-deep-orange, 14);\n\n\n// Color order: 50, 100, 200, 300, 400, 500, 600, 700, 800, 900.\n\n$palette-brown:\n\"239,235,233\"\n\"215,204,200\"\n\"188,170,164\"\n\"161,136,127\"\n\"141,110,99\"\n\"121,85,72\"\n\"109,76,65\"\n\"93,64,55\"\n\"78,52,46\"\n\"62,39,35\";\n\n$palette-brown-50: nth($palette-brown, 1);\n$palette-brown-100: nth($palette-brown, 2);\n$palette-brown-200: nth($palette-brown, 3);\n$palette-brown-300: nth($palette-brown, 4);\n$palette-brown-400: nth($palette-brown, 5);\n$palette-brown-500: nth($palette-brown, 6);\n$palette-brown-600: nth($palette-brown, 7);\n$palette-brown-700: nth($palette-brown, 8);\n$palette-brown-800: nth($palette-brown, 9);\n$palette-brown-900: nth($palette-brown, 10);\n\n$palette-grey:\n\"250,250,250\"\n\"245,245,245\"\n\"238,238,238\"\n\"224,224,224\"\n\"189,189,189\"\n\"158,158,158\"\n\"117,117,117\"\n\"97,97,97\"\n\"66,66,66\"\n\"33,33,33\";\n\n$palette-grey-50: nth($palette-grey, 1);\n$palette-grey-100: nth($palette-grey, 2);\n$palette-grey-200: nth($palette-grey, 3);\n$palette-grey-300: nth($palette-grey, 4);\n$palette-grey-400: nth($palette-grey, 5);\n$palette-grey-500: nth($palette-grey, 6);\n$palette-grey-600: nth($palette-grey, 7);\n$palette-grey-700: nth($palette-grey, 8);\n$palette-grey-800: nth($palette-grey, 9);\n$palette-grey-900: nth($palette-grey, 10);\n\n$palette-blue-grey:\n\"236,239,241\"\n\"207,216,220\"\n\"176,190,197\"\n\"144,164,174\"\n\"120,144,156\"\n\"96,125,139\"\n\"84,110,122\"\n\"69,90,100\"\n\"55,71,79\"\n\"38,50,56\";\n\n$palette-blue-grey-50: nth($palette-blue-grey, 1);\n$palette-blue-grey-100: nth($palette-blue-grey, 2);\n$palette-blue-grey-200: nth($palette-blue-grey, 3);\n$palette-blue-grey-300: nth($palette-blue-grey, 4);\n$palette-blue-grey-400: nth($palette-blue-grey, 5);\n$palette-blue-grey-500: nth($palette-blue-grey, 6);\n$palette-blue-grey-600: nth($palette-blue-grey, 7);\n$palette-blue-grey-700: nth($palette-blue-grey, 8);\n$palette-blue-grey-800: nth($palette-blue-grey, 9);\n$palette-blue-grey-900: nth($palette-blue-grey, 10);\n\n$color-black: \"0,0,0\";\n$color-white: \"255,255,255\";\n\n\n/* colors.scss */\n$styleguide-generate-template: false !default;\n\n// The two possible colors for overlayed text.\n$color-dark-contrast: $color-white !default;\n$color-light-contrast: $color-black !default;\n\n\n\n// WEBPACK FOOTER //\n// webpack:///~/material-design-lite/src/_color-definitions.scss","/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n@function strip-units($number) {\n @return $number / ($number * 0 + 1);\n}\n\n\n\n// WEBPACK FOOTER //\n// webpack:///~/material-design-lite/src/_functions.scss","/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/* Typography */\n\n@mixin typo-preferred-font($usePreferred: true) {\n @if $usePreferred {\n font-family: $preferred_font;\n }\n}\n\n@mixin typo-display-4($colorContrast: false, $usePreferred: true) {\n @include typo-preferred-font($usePreferred);\n font-size: 112px;\n font-weight: 300;\n line-height: 1;\n letter-spacing: -0.04em;\n\n @if $colorContrast {\n opacity: 0.54;\n }\n}\n\n@mixin typo-display-3($colorContrast: false, $usePreferred: true) {\n @include typo-preferred-font($usePreferred);\n font-size: 56px;\n font-weight: 400;\n line-height: 1.35;\n letter-spacing: -0.02em;\n\n @if $colorContrast {\n opacity: 0.54;\n }\n}\n\n@mixin typo-display-2($colorContrast: false, $usePreferred: true) {\n @include typo-preferred-font($usePreferred);\n font-size: 45px;\n font-weight: 400;\n line-height: 48px;\n\n @if $colorContrast {\n opacity: 0.54;\n }\n}\n\n@mixin typo-display-1($colorContrast: false, $usePreferred: true) {\n @include typo-preferred-font($usePreferred);\n font-size: 34px;\n font-weight: 400;\n line-height: 40px;\n\n @if $colorContrast {\n opacity: 0.54;\n }\n}\n\n@mixin typo-headline($colorContrast: false, $usePreferred: true) {\n @include typo-preferred-font($usePreferred);\n font-size: 24px;\n font-weight: 400;\n line-height: 32px;\n -moz-osx-font-smoothing: grayscale;\n\n @if $colorContrast {\n opacity: 0.87;\n }\n}\n\n@mixin typo-title($colorContrast: false, $usePreferred: true) {\n @include typo-preferred-font($usePreferred);\n font-size: 20px;\n font-weight: 500;\n line-height: 1;\n letter-spacing: 0.02em;\n\n @if $colorContrast {\n opacity: 0.87;\n }\n}\n\n@mixin typo-subhead($colorContrast: false, $usePreferred: true) {\n @include typo-preferred-font($usePreferred);\n font-size: 16px;\n font-weight: 400;\n line-height: 24px;\n letter-spacing: 0.04em;\n\n @if $colorContrast {\n opacity: 0.87;\n }\n}\n\n@mixin typo-subhead-2($colorContrast: false, $usePreferred: true) {\n @include typo-preferred-font($usePreferred);\n font-size: 16px;\n font-weight: 400;\n line-height: 28px;\n letter-spacing: 0.04em;\n\n @if $colorContrast {\n opacity: 0.87;\n }\n}\n\n@mixin typo-body-2($colorContrast: false, $usePreferred: false) {\n @include typo-preferred-font($usePreferred);\n font-size: 14px;\n @if $usePreferred {\n font-weight: 500;\n } @else {\n font-weight: bold;\n }\n line-height: 24px;\n letter-spacing: 0;\n\n @if $colorContrast {\n opacity: 0.87;\n }\n}\n\n@mixin typo-body-1($colorContrast: false, $usePreferred: false) {\n @include typo-preferred-font($usePreferred);\n font-size: 14px;\n font-weight: 400;\n line-height: 24px;\n letter-spacing: 0;\n\n @if $colorContrast {\n opacity: 0.87;\n }\n}\n\n@mixin typo-caption($colorContrast: false, $usePreferred: false) {\n @include typo-preferred-font($usePreferred);\n font-size: 12px;\n font-weight: 400;\n line-height: 1;\n letter-spacing: 0;\n\n @if $colorContrast {\n opacity: 0.54;\n }\n}\n\n@mixin typo-blockquote($colorContrast: false, $usePreferred: true) {\n @include typo-preferred-font($usePreferred);\n position: relative;\n font-size: 24px;\n font-weight: 300;\n font-style: italic;\n line-height: 1.35;\n letter-spacing: 0.08em;\n\n &:before {\n position: absolute;\n left: -0.5em;\n content: 'â';\n }\n\n &:after {\n content: 'â';\n margin-left: -0.05em;\n }\n\n @if $colorContrast {\n opacity: 0.54;\n }\n}\n\n@mixin typo-menu($colorContrast: false, $usePreferred: true) {\n @include typo-preferred-font($usePreferred);\n font-size: 14px;\n font-weight: 500;\n line-height: 1;\n letter-spacing: 0;\n\n @if $colorContrast {\n opacity: 0.87;\n }\n}\n\n@mixin typo-button($colorContrast: false, $usePreferred: true) {\n @include typo-preferred-font($usePreferred);\n font-size: 14px;\n font-weight: 500;\n text-transform: uppercase;\n line-height: 1;\n letter-spacing: 0;\n\n @if $colorContrast {\n opacity: 0.87;\n }\n}\n\n@mixin typo-icon() {\n font-family: 'Material Icons';\n font-weight: normal;\n font-style: normal;\n font-size: 24px;\n line-height: 1;\n letter-spacing: normal;\n text-transform: none;\n display: inline-block;\n word-wrap: normal;\n font-feature-settings: 'liga';\n -webkit-font-feature-settings: 'liga';\n -webkit-font-smoothing: antialiased;\n}\n\n/* Shadows */\n\n// Focus shadow mixin.\n@mixin focus-shadow() {\n box-shadow: 0 0 8px rgba(0,0,0,.18),0 8px 16px rgba(0,0,0,.36);\n}\n\n@mixin shadow-2dp() {\n box-shadow: 0 2px 2px 0 rgba(0, 0, 0, $shadow-key-penumbra-opacity),\n 0 3px 1px -2px rgba(0, 0, 0, $shadow-key-umbra-opacity),\n 0 1px 5px 0 rgba(0, 0, 0, $shadow-ambient-shadow-opacity);\n}\n@mixin shadow-3dp() {\n box-shadow: 0 3px 4px 0 rgba(0, 0, 0, $shadow-key-penumbra-opacity),\n 0 3px 3px -2px rgba(0, 0, 0, $shadow-key-umbra-opacity),\n 0 1px 8px 0 rgba(0, 0, 0, $shadow-ambient-shadow-opacity);\n}\n@mixin shadow-4dp() {\n box-shadow: 0 4px 5px 0 rgba(0, 0, 0, $shadow-key-penumbra-opacity),\n 0 1px 10px 0 rgba(0, 0, 0, $shadow-ambient-shadow-opacity),\n 0 2px 4px -1px rgba(0, 0, 0, $shadow-key-umbra-opacity);\n}\n@mixin shadow-6dp() {\n box-shadow: 0 6px 10px 0 rgba(0, 0, 0, $shadow-key-penumbra-opacity),\n 0 1px 18px 0 rgba(0, 0, 0, $shadow-ambient-shadow-opacity),\n 0 3px 5px -1px rgba(0, 0, 0, $shadow-key-umbra-opacity);\n}\n@mixin shadow-8dp() {\n box-shadow: 0 8px 10px 1px rgba(0, 0, 0, $shadow-key-penumbra-opacity),\n 0 3px 14px 2px rgba(0, 0, 0, $shadow-ambient-shadow-opacity),\n 0 5px 5px -3px rgba(0, 0, 0, $shadow-key-umbra-opacity);\n}\n\n@mixin shadow-16dp() {\n box-shadow: 0 16px 24px 2px rgba(0, 0, 0, $shadow-key-penumbra-opacity),\n 0 6px 30px 5px rgba(0, 0, 0, $shadow-ambient-shadow-opacity),\n 0 8px 10px -5px rgba(0, 0, 0, $shadow-key-umbra-opacity);\n}\n\n@mixin shadow-24dp() {\n box-shadow: 0 9px 46px 8px rgba(0, 0, 0, $shadow-key-penumbra-opacity),\n 0 11px 15px -7px rgba(0, 0, 0, $shadow-ambient-shadow-opacity),\n 0 24px 38px 3px rgba(0, 0, 0, $shadow-key-umbra-opacity);\n}\n\n/* Animations */\n\n@mixin material-animation-fast-out-slow-in($duration:0.2s) {\n transition-duration: $duration;\n transition-timing-function: $animation-curve-fast-out-slow-in;\n}\n\n@mixin material-animation-linear-out-slow-in($duration:0.2s) {\n transition-duration: $duration;\n transition-timing-function: $animation-curve-linear-out-slow-in;\n}\n\n@mixin material-animation-fast-out-linear-in($duration:0.2s) {\n transition-duration: $duration;\n transition-timing-function: $animation-curve-fast-out-linear-in;\n}\n\n@mixin material-animation-default($duration:0.2s) {\n transition-duration: $duration;\n transition-timing-function: $animation-curve-default;\n}\n\n/* Dialog */\n\n@mixin dialog-width($units:5) {\n @if(type_of($units) != 'number') {\n @error \"The unit given to dialog-width should be a number.\";\n }\n // 56dp is the base unit width for Dialogs.\n // With 5 units being the number of units for a mobile device.\n // https://goo.gl/sK2O5o\n width: $units * 56px;\n}\n\n\n\n// WEBPACK FOOTER //\n// webpack:///~/material-design-lite/src/_mixins.scss","@charset \"UTF-8\";\n\n/**\n * Element Queries are a new way of writing CSS styles so the rules apply to individual elements\n * on the page, instead of to the whole page as one document like in regular CSS Media Queries.\n * This SASS file includes the eq.js, https://github.com/Snugug/eq.js, prolyfill which is an easy to use\n * drop-in solution to JavaScript powered element queries. It works well with SASS,\n * and element queries work without requireing a server to run.\n *\n * Feel fre to write your own element query stylesheet using one of the other libraries, e.g:\n * [EQCSS] - (https://github.com/eqcss/eqcss)\n * [CSS Element Queries] - (https://github.com/marcj/css-element-queries)\n * [BoomQueries] - (https://github.com/BoomTownROI/boomqueries)\n */\n\n// eq.js mixins\n@import '~eq.js/sass/eq';\n\n// Configuration and helpers\n@import 'variables';\n@import 'mixins';\n@import 'functions';\n\n// Components\n@import 'aria-expanded-toggle/aria-expanded-toggle';\n@import 'sticky-header/sticky-header';\n@import 'dialog/dialog';\n@import 'grid/grid-eqjs';\n@import 'lightboard/lightboard';\n@import 'lightboard/lightboard-eqjs';\n@import 'lightbox/lightbox';\n@import 'carousel/carousel';\n@import 'selectfield/selectfield';\n@import 'menu-button/menu-button';\n@import 'bordered-fields/bordered-fields';\n@import 'collapsible/collapsible';\n@import 'accordion/accordion';\n@import 'color-themes/light-color-theme';\n@import 'color-themes/dark-color-theme';\n\n\n\n// WEBPACK FOOTER //\n// webpack:///src/mdl-ext-eqjs.scss","/**\n * Copyright 2016 Leif Olsen. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n@import \"functions\";\n\n// ----------------------------------------------------------------\n// Sample colors\n// ----------------------------------------------------------------\n$mdlext-palette-amber-50: #FFF8E1;\n$mdlext-palette-amber-100: #FFECB3;\n$mdlext-palette-amber-500: #FFC107;\n$mdlext-palette-amber-700: #FFA000;\n$mdlext-palette-blue-grey-500: #607D8B;\n$mdlext-palette-deep-orange-500: #FF5722;\n$mdlext-palette-deep-purple-100: #D1C4E9;\n$mdlext-palette-deep-purple-500: #512DA8;\n$mdlext-palette-deep-purple-700: #673AB7;\n$mdlext-palette-green-50: #E8F5E9;\n$mdlext-palette-green-100: #C8E6C9;\n$mdlext-palette-green-500: #4CAF50;\n$mdlext-palette-green-700: #388E3C;\n$mdlext-palette-grey-50: #FAFAFA;\n$mdlext-palette-grey-100: #F5F5F5;\n$mdlext-palette-grey-200: #EEEEEE;\n$mdlext-palette-grey-300: #E0E0E0;\n$mdlext-palette-grey-400: #BDBDBD;\n$mdlext-palette-grey-500: #9E9E9E;\n$mdlext-palette-grey-600: #757575;\n$mdlext-palette-grey-700: #616161;\n$mdlext-palette-grey-800: #424242;\n$mdlext-palette-grey-900: #212121;\n$mdlext-palette-indigo-A200: #536DFE;\n$mdlext-palette-light-blue-500: #03A9F4;\n$mdlext-palette-light-green-500: #8BC34A;\n$mdlext-palette-pink-500: #E91E63;\n$mdlext-palette-pink-700: #C2185B;\n$mdlext-palette-pink-A400: #F50057;\n$mdlext-palette-purple-A200: #E040FB;\n$mdlext-palette-red-700: #D32F2F;\n$mdlext-palette-red-A200: #FF5252;\n$mdlext-palette-red-A400: #FF1744;\n$mdlext-palette-yellow-500: #FFEB3B;\n$mdlext-color-black: #000000;\n$mdlext-color-white: #FFFFFF;\n\n\n/* ========== Sticky Header ========== */\n$mdlext-sticky-header-background-color : transparent !default;\n$mdlext-sticky-header-background-color-scroll : transparent !default;\n$mdlext-sticky-header-gradient-color : rgb-string-to-hex($color-primary) !default;\n$mdlext-sticky-header-gradient-color-start : $mdlext-sticky-header-gradient-color !default;\n$mdlext-sticky-header-gradient-color-end : $mdlext-sticky-header-gradient-color-start !default;\n$mdlext-sticky-header-gradient-color-scroll-start: rgba($mdlext-sticky-header-gradient-color, 0.98) !default;\n$mdlext-sticky-header-gradient-color-scroll-end : rgba($mdlext-sticky-header-gradient-color, 0.95) !default;\n\n// Background shorthand\n/* stylelint-disable */\n$mdlext-sticky-header-background : $mdlext-sticky-header-background-color\n linear-gradient(to bottom,\n $mdlext-sticky-header-gradient-color-start 0,\n $mdlext-sticky-header-gradient-color-end 100%) !default;\n\n// Background shorthand when content is scrolling\n$mdlext-sticky-header-background-scroll : $mdlext-sticky-header-background-color-scroll\n linear-gradient(to bottom,\n $mdlext-sticky-header-gradient-color-scroll-start 100%,\n $mdlext-sticky-header-gradient-color-scroll-end 100%) !default;\n/* stylelint-enable */\n\n/* ========== Accordion ========== */\n$mdlext-accordion-header-background-color-base : $mdlext-palette-grey-500 !default;\n$mdlext-accordion-header-background-color : rgba($mdlext-accordion-header-background-color-base, 0.20) !default;\n$mdlext-accordion-header-background-open-color : rgba($mdlext-accordion-header-background-color-base, 0.30) !default;\n$mdlext-accordion-header-background-active-color : rgba($mdlext-accordion-header-background-color-base, 0.40) !default;\n$mdlext-accordion-header-border-color : rgba($mdlext-accordion-header-background-color-base, 0.50) !default;\n$mdlext-accordion-header-background-hover-color : rgba($mdlext-accordion-header-background-color-base, 0.40) !default;\n$mdlext-accordion-header-focus-outline-color : invert !default;\n$mdlext-accordion-header-disabled-color : rgba($mdlext-accordion-header-background-color-base, 0.12) !default;\n$mdlext-accordion-header-secondary-color : $mdlext-color-black !default;\n$mdlext-accordion-header-secondary-color-disabled: rgba($mdlext-color-black, 0.26) !default;\n$mdlext-accordion-header-highlight-color : darken($mdlext-accordion-header-border-color, 3%) !default;\n$mdlext-accordion-ripple-color : rgba(rgb-string-to-hex($color-accent-contrast), 0.5) !default;\n$mdlext-accordion-header-padding : 8px !default;\n$mdlext-accordion-header-height : 56px !default;\n$mdlext-accordion-content-padding : $mdlext-accordion-header-padding !default;\n$mdlext-accordion-content-color : inherit !default;\n$mdlext-accordion-content-background-color : transparent !default;\n\n\n/* ========== Dialog ========== */\n$mdlext-dialog-padding : 0;\n$mdlext-dialog-background-color : transparent !default;\n$mdlext-dialog-backdrop-color : rgba(0, 0, 0, 0.86) !default;\n$mdlext-dialog-open-animation : 0.5s 0.2s forwards !default;\n$mdlext-dialog-backdrop-animation: 0.2s forwards !default;\n\n\n/* ========== Lightbox ========== */\n$mdlext-lightbox-background-color : $card-background-color !default;\n$mdlext-lightbox-border : 0 !default;\n$mdlext-lightbox-border-radius : 0 !default;\n$mdlext-lightbox-figure-margin : 0 !default;\n$mdlext-lightbox-figure-padding : 0 !default;\n$mdlext-lightbox-figcaption-background-color: rgba(255, 255, 255, 0.76) !default;\n$mdlext-lightbox-footer-background-color : rgba(255, 255, 255, 0.86) !default;\n\n\n/* ========== Lightboard ========== */\n$mdlext-lightboard-medium-small-breakpoint : $grid-tablet-breakpoint !default; // 480\n$mdlext-lightboard-medium-breakpoint : $grid-tablet-breakpoint + 180px !default; // 480 + 180\n$mdlext-lightboard-medium-large-breakpoint : $grid-desktop-breakpoint !default; // 840\n$mdlext-lightboard-large-breakpoint : $grid-desktop-breakpoint + 360px !default; // 840+360\n\n$mdlext-lightboard-small-gutter : 2px !default;\n$mdlext-lightboard-small-margin : 0 !default;\n$mdlext-lightboard-small-columns : 2 !default;\n$mdlext-lightboard-small-frame-width : 8px !default;\n\n$mdlext-lightboard-medium-small-gutter : 4px !default;\n$mdlext-lightboard-medium-small-margin : 0 !default;\n$mdlext-lightboard-medium-small-columns : 4 !default;\n$mdlext-lightboard-medium-small-frame-width : 8px !default;\n\n$mdlext-lightboard-medium-gutter : 4px !default;\n$mdlext-lightboard-medium-margin : 0 !default;\n$mdlext-lightboard-medium-columns : 5 !default;\n$mdlext-lightboard-medium-frame-width : 8px !default;\n\n$mdlext-lightboard-medium-large-gutter : 8px !default;\n$mdlext-lightboard-medium-large-margin : 0 !default;\n$mdlext-lightboard-medium-large-columns : 6 !default;\n$mdlext-lightboard-medium-large-frame-width : 12px !default;\n\n$mdlext-lightboard-large-gutter : 8px !default;\n$mdlext-lightboard-large-margin : 0 !default;\n$mdlext-lightboard-large-columns : 7 !default;\n$mdlext-lightboard-large-frame-width : 12px !default;\n\n$mdlext-lightboard-slide-max-size : 250px !default;\n$mdlext-lightboard-slide-border-color : #D8D8D8 !default;\n$mdlext-lightboard-slide-background-color : #F8F8F8 !default;\n$mdlext-lightboard-slide-border-radius : 5px !default;\n$mdlext-lightboard-slide-inner-border-radius : 3px !default;\n$mdlext-lightboard-slide-box-shadow : 2px 2px 6px -1px rgba(219, 215, 219, 0.5) !default;\n$mdlext-lightboard-slide-border-color-hover : #B8B8B8 !default;\n$mdlext-lightboard-slide-background-color-hover: #E8E8E8 !default;\n$mdlext-lightboard-slide-active-bacground-color: #E8E8E8 !default;\n$mdlext-lightboard-slide-box-shadow-hover : 2px 2px 12px -1px rgba(219, 215, 219, 1) !default;\n$mdlext-lightboard-ripple-color : $tab-highlight-color !default;\n$mdlext-lightboard-focus-outline-color : inherit !default;\n$mdlext-lightboard-figcaption-text-color : rgb-string-to-hex($palette-grey-400) !default;\n\n\n/* ========== Carousel ========== */\n$mdlext-carousel-slide-border-top-width : 2px !default;\n$mdlext-carousel-slide-border-top-color : rgb-string-to-hex($color-accent) !default;\n$mdlext-carousel-slide-margin-horizontal : 0;\n$mdlext-carousel-slide-figcaption-color : $mdlext-lightboard-figcaption-text-color !default;\n$mdlext-carousel-slide-ripple-color : $mdlext-lightboard-ripple-color !default;\n\n\n/* ========== Bordered fields ========== */\n$mdlext-bordered-field-vertical-spacing-top : 0 !default;\n$mdlext-bordered-field-vertical-spacing-bottom : $input-text-vertical-spacing !default;\n\n$mdlext-bordered-field-input-text-font-size : $input-text-font-size !default;\n$mdlext-bordered-field-font-weight : normal !default;\n$mdlext-bordered-field-border-width : 1px !default;\n$mdlext-bordered-field-border-radius : 3px !default;\n$mdlext-bordered-field-padding : $input-text-padding + 4px !default;\n$mdlext-bordered-field-padding-top : $input-text-vertical-spacing !default;\n$mdlext-bordered-field-padding-bottom : $input-text-padding !default;\n\n$mdlext-bordered-field-input-text-color : inherit !default;\n$mdlext-bordered-field-border-color : rgba($mdlext-color-black, 0.26) !default;\n$mdlext-bordered-field-background-color : rgba(#FFFFFF, 0.2) !default;\n$mdlext-bordered-field-focus-border-color : rgb-string-to-hex($color-primary) !default;\n$mdlext-bordered-field-focus-background-color : rgba(#EEEEEE, 0.2) !default;\n\n$mdlext-bordered-field-input-text-disabled-text-color : rgba($mdlext-color-black, 0.12) !default;\n$mdlext-bordered-field-disabled-border-color : rgba($mdlext-color-black, 0.12) !default;\n$mdlext-bordered-field-disabled-background-color : $mdlext-bordered-field-background-color !default;\n\n$mdlext-bordered-field-input-text-error-color : $mdlext-bordered-field-input-text-color !default;\n$mdlext-bordered-field-error-border-color : rgb-string-to-hex($input-text-error-color) !default;\n$mdlext-bordered-field-error-background-color : rgba(lighten($mdlext-bordered-field-error-border-color, 50%), 0.5) !default;\n$mdlext-bordered-field-error-focus-border-color : darken($mdlext-bordered-field-error-border-color, 10%) !default;\n$mdlext-bordered-field-error-focus-background-color : $mdlext-bordered-field-error-background-color !default;\n\n$mdlext-bordered-field-input-text-label-color : rgba($mdlext-color-black, 0.26) !default;\n$mdlext-bordered-field-input-text-label-focus-color : $mdlext-bordered-field-focus-border-color !default;\n$mdlext-bordered-field-input-text-label-error-color : $mdlext-bordered-field-error-border-color !default;\n$mdlext-bordered-field-input-text-label-disabled-color: rgba($mdlext-color-black, 0.12) !default;\n\n$mdlext-bordered-field-label-font-size : $mdlext-bordered-field-input-text-font-size !default;\n$mdlext-bordered-field-floating-label-font-size : $input-text-floating-label-fontsize !default;\n$mdlext-bordered-field-floating-label-font-weight : normal !default;\n\n$mdlext-bordered-field-height : $mdlext-bordered-field-padding-top + $mdlext-bordered-field-padding-bottom + $mdlext-bordered-field-input-text-font-size + 6px !default;\n$mdlext-bordered-field-floating-label-focus-bottom : $mdlext-bordered-field-height - $mdlext-bordered-field-floating-label-font-size - $mdlext-bordered-field-padding-top/2 !default;\n\n\n// MDL can not handle required attribute properly. Planned for MDL-v2\n//$mdlext-bordered-field-required-border-color : rgba(rgb-string-to-hex($color-accent), 0.8) !default;\n//$mdlext-bordered-field-required-background-color : $mdlext-bordered-field-background-color !default;\n//$mdlext-bordered-field-required-focus-border-color : rgba(rgb-string-to-hex($color-accent), 0.8) !default;\n//$mdlext-bordered-field-required-focus-background-color: $mdlext-bordered-field-background-color !default;\n//$mdlext-bordered-field-label-required-color : $mdlext-bordered-field-required-border-color !default;\n\n\n\n/* ========== Color Themes ========== */\n\n// ----------------------------------------------------------------\n// Light Color Theme.\n// ----------------------------------------------------------------\n$mdlext-light-color-primary: #4CAF50 !default;\n$mdlext-light-color-primary-dark: #388E3C !default;\n$mdlext-light-color-primary-light: #4CAF50 !default; // Fallback color. Set to color-primary if fallback is not needed\n$mdlext-light-color-primary-contrast: #C8E6C9 !default; // text color on primary/primary dark background\n$mdlext-light-color-accent: #E040FB !default;\n$mdlext-light-color-accent-light: #E040FB !default; // Fallback color. Set to color-accent if fallback is not needed\n$mdlext-light-color-accent-contrast: #FAFAFA !default;\n\n$mdlext-light-content-background-color: #FAFAFA !default; // background color on content (paper/card) background\n$mdlext-light-text-color-primary: rgba($mdlext-color-black, 0.87) !default; // text color on content (paper/card) background\n$mdlext-light-text-color-secondary: rgba($mdlext-color-black, 0.54) !default; // text color on content (paper/card) background\n$mdlext-light-text-color-disabled: rgba($mdlext-color-black, 0.38) !default; // disabled text, hint text, and icons\n$mdlext-light-divider-color: rgba($mdlext-color-black, 0.12) !default; // -> $card-border-color\n$mdlext-light-error-color: #D32F2F !default;\n\n// Anchor\n$mdlext-light-text-link-color: $mdlext-light-color-accent !default;\n\n// Card\n$mdlext-light-card-background-color: $mdlext-light-content-background-color !default;\n$mdlext-light-card-text-color: $mdlext-light-text-color-primary !default;\n$mdlext-light-card-image-placeholder-color: $mdlext-light-color-accent !default;\n$mdlext-light-card-supporting-text-text-color: rgba($mdlext-color-black, 0.54) !default;\n$mdlext-light-card-border-color: rgba(0, 0, 0, 0.1) !default;\n$mdlext-light-card-subtitle-color: rgba($mdlext-color-black, 0.54) !default;\n\n// Item\n\n// Default Item Colors\n$mdlext-light-default-item-text-color: rgba($mdlext-color-black, 0.87) !default;\n$mdlext-light-default-item-outline-color: $mdlext-palette-grey-400 !default;\n$mdlext-light-default-item-hover-bg-color: $mdlext-palette-grey-200 !default;\n$mdlext-light-default-item-focus-bg-color: $mdlext-palette-grey-200 !default;\n$mdlext-light-default-item-active-bg-color: $mdlext-palette-grey-300 !default;\n$mdlext-light-default-item-divider-color: rgba($mdlext-color-black, 0.12) !default;\n\n// Disabled Button Colors\n$mdlext-light-disabled-item-text-color: $mdlext-palette-grey-400 !default;\n\n// Dropdown menu / menu-button\n$mdlext-light-default-dropdown-bg-color: $mdlext-color-white !default;\n\n// Badge\n$mdlext-light-badge-color: $mdlext-light-color-accent-contrast !default;\n$mdlext-light-badge-color-inverse: $mdlext-light-color-accent !default;\n$mdlext-light-badge-background: $mdlext-light-color-accent !default;\n$mdlext-light-badge-background-inverse: $mdlext-light-color-accent-contrast !default;\n\n// Default button colors.\n$mdlext-light-button-primary-color: rgba($mdlext-palette-grey-500, 0.20) !default;\n$mdlext-light-button-secondary-color: $mdlext-color-black !default;\n$mdlext-light-button-hover-color: $mdlext-light-button-primary-color !default;\n$mdlext-light-button-active-color: rgba($mdlext-palette-grey-500, 0.40) !default;\n$mdlext-light-button-focus-color: rgba($mdlext-color-black, 0.12) !default;\n\n// Colored button colors.\n$mdlext-light-button-primary-color-alt: $mdlext-light-color-primary-light !default;\n$mdlext-light-button-secondary-color-alt: $mdlext-light-color-primary-contrast !default;\n$mdlext-light-button-hover-color-alt: darken($mdlext-light-color-primary-light, 10%) !default;\n$mdlext-light-button-active-color-alt: darken($mdlext-light-color-primary-light, 10%) !default;\n$mdlext-light-button-focus-color-alt: $mdlext-light-button-focus-color !default;\n\n// Ripple color for colored raised buttons.\n$mdlext-light-button-ripple-color-alt: $mdlext-light-color-primary-contrast !default;\n\n// Disabled button colors.\n$mdlext-light-button-primary-color-disabled: rgba($mdlext-color-black, 0.12) !default;\n$mdlext-light-button-secondary-color-disabled: rgba($mdlext-color-black, 0.26) !default;\n\n// FAB colors and sizes.\n$mdlext-light-button-fab-color-alt: $mdlext-light-color-accent !default;\n$mdlext-light-button-fab-hover-color-alt: $mdlext-light-color-accent !default;\n$mdlext-light-button-fab-active-color-alt: $mdlext-light-color-accent !default;\n$mdlext-light-button-fab-text-color-alt: $mdlext-light-color-accent-contrast !default;\n$mdlext-light-button-fab-ripple-color-alt: $mdlext-light-color-accent-contrast !default;\n\n// Slider\n$mdlext-light-range-bg-color: rgba($mdlext-color-black, 0.26) !default;\n$mdlext-light-range-color: $mdlext-light-color-accent-light !default;\n$mdlext-light-range-faded-color: rgba($mdlext-light-color-accent-light, 0.26) !default;\n$mdlext-light-range-bg-focus-color: rgba($mdlext-color-black, 0.12) !default;\n\n// Textfields\n$mdlext-light-input-text-background-color: transparent !default;\n$mdlext-light-input-text-label-color: rgba($mdlext-color-black, 0.54) !default;\n$mdlext-light-input-text-bottom-border-color: rgba($mdlext-color-black, 0.26) !default;\n$mdlext-light-input-text-highlight-color: $mdlext-light-color-accent-light !default;\n$mdlext-light-input-text-disabled-color: rgba($mdlext-color-black, 0.12) !default;\n$mdlext-light-input-text-disabled-text-color: rgba($mdlext-color-black, 0.26) !default;\n$mdlext-light-input-text-error-color: $mdlext-light-error-color !default;\n\n// Checkboxes\n$mdlext-light-checkbox-color: $mdlext-light-color-accent-light !default;\n$mdlext-light-checkbox-off-color: rgba($mdlext-color-black, 0.54) !default;\n$mdlext-light-checkbox-disabled-color: rgba($mdlext-color-black, 0.26) !default;\n$mdlext-light-checkbox-focus-color: rgba($mdlext-light-color-accent-light, 0.26) !default;\n\n// Icon Toggles\n$mdlext-light-icon-toggle-color: $mdlext-palette-grey-700 !default;\n$mdlext-light-icon-toggle-focus-color: $mdlext-light-button-focus-color !default;\n$mdlext-light-icon-toggle-checked-color: $mdlext-light-color-accent-light !default;\n$mdlext-light-icon-toggle-checked-focus-color: rgba($mdlext-light-color-accent-light, 0.26) !default;\n$mdlext-light-icon-toggle-disabled-color: rgba($mdlext-color-black, 0.26) !default;\n\n// Radio Buttons\n$mdlext-light-radio-color: $mdlext-light-color-accent-light !default;\n$mdlext-light-radio-off-color: rgba($mdlext-color-black, 0.54) !default;\n$mdlext-light-radio-disabled-color: rgba($mdlext-color-black, 0.26) !default;\n\n// Switches\n$mdlext-light-switch-color: $mdlext-light-color-accent-light !default;\n$mdlext-light-switch-faded-color: rgba($mdlext-light-color-accent-light, 0.26) !default;\n$mdlext-light-switch-thumb-color: $mdlext-light-switch-color !default;\n$mdlext-light-switch-track-color: rgba($mdlext-light-color-accent-light, 0.54) !default;\n$mdlext-light-switch-off-thumb-color: $mdlext-palette-grey-50 !default;\n$mdlext-light-switch-off-track-color: rgba($mdlext-color-black, 0.26) !default;\n$mdlext-light-switch-disabled-thumb-color: $mdlext-palette-grey-400 !default;\n$mdlext-light-switch-disabled-track-color: rgba($mdlext-color-black, 0.12) !default;\n\n// Data table\n$mdlext-light-data-table-background-color: $mdlext-light-content-background-color !default;\n$mdlext-light-data-table-header-color: rgba($mdlext-color-black, 0.54) !default;\n$mdlext-light-data-table-header-sorted-color: rgba($mdlext-color-black, 0.87) !default;\n$mdlext-light-data-table-header-sorted-icon-hover-color: rgba($mdlext-color-black, 0.26) !default;\n$mdlext-light-data-table-hover-color: $mdlext-palette-grey-200 !default;\n$mdlext-light-data-table-selection-color: $mdlext-palette-grey-200 !default;\n$mdlext-light-data-table-divider-color: rgba($mdlext-color-black, 0.12) !default;\n$mdlext-light-data-table-dividers: 1px solid $mdlext-light-data-table-divider-color !default;\n\n\n// Selectfield\n// Uses variables from textfield\n$mdlext-selectfield-arrow-width: 0.7em;\n$mdlext-selectfield-arrow-length: 0.5em;\n\n\n// Accordion\n$mdlext-light-accordion-header-background-color-base : $mdlext-palette-grey-600 !default;\n$mdlext-light-accordion-header-background-color : rgba($mdlext-light-accordion-header-background-color-base, 0.20) !default;\n$mdlext-light-accordion-header-background-open-color : rgba($mdlext-light-accordion-header-background-color-base, 0.30) !default;\n$mdlext-light-accordion-header-background-active-color : rgba($mdlext-light-accordion-header-background-color-base, 0.40) !default;\n$mdlext-light-accordion-header-border-color : rgba($mdlext-light-accordion-header-background-color-base, 0.50) !default;\n$mdlext-light-accordion-header-background-hover-color : rgba($mdlext-light-accordion-header-background-color-base, 0.40) !default;\n$mdlext-light-accordion-header-focus-outline-color : darken($mdlext-light-accordion-header-border-color, 3%) !default;\n$mdlext-light-accordion-header-disabled-color : rgba($mdlext-light-accordion-header-background-color-base, 0.12) !default;\n$mdlext-light-accordion-header-secondary-color : $mdlext-color-black !default;\n$mdlext-light-accordion-header-secondary-color-disabled: rgba($mdlext-color-black, 0.26) !default;\n$mdlext-light-accordion-header-highlight-color : darken($mdlext-light-accordion-header-border-color, 6%) !default;\n$mdlext-light-accordion-ripple-color : rgba($mdlext-light-accordion-header-background-color-base, 0.4) !default;\n$mdlext-light-accordion-content-color : inherit !default;\n$mdlext-light-accordion-content-background-color : transparent !default;\n\n\n// Bordered fields\n$mdlext-light-bordered-field-input-text-color : inherit !default;\n$mdlext-light-bordered-field-border-color : $mdlext-light-input-text-bottom-border-color !default;\n$mdlext-light-bordered-field-background-color : rgba($mdlext-light-content-background-color, 0.1) !default;\n$mdlext-light-bordered-field-focus-border-color : $mdlext-light-color-accent-light !default;\n$mdlext-light-bordered-field-focus-background-color : rgba(darken($mdlext-light-bordered-field-background-color, 10%), 0.1) !default;\n\n$mdlext-light-bordered-field-input-text-disabled-text-color : $mdlext-light-input-text-disabled-text-color;\n$mdlext-light-bordered-field-disabled-border-color : $mdlext-light-input-text-disabled-color !default;\n$mdlext-light-bordered-field-disabled-background-color : $mdlext-light-bordered-field-background-color !default;\n\n$mdlext-light-bordered-field-input-text-error-color : $mdlext-light-bordered-field-input-text-color !default;\n$mdlext-light-bordered-field-error-border-color : $mdlext-light-input-text-error-color !default;\n$mdlext-light-bordered-field-error-background-color : rgba(lighten($mdlext-light-bordered-field-error-border-color, 50%), 0.5) !default;\n$mdlext-light-bordered-field-error-focus-border-color : darken($mdlext-light-bordered-field-error-border-color, 10%) !default;\n$mdlext-light-bordered-field-error-focus-background-color : $mdlext-light-bordered-field-error-background-color !default;\n\n$mdlext-light-bordered-field-input-text-label-color : $mdlext-light-input-text-label-color !default;\n$mdlext-light-bordered-field-input-text-label-focus-color : $mdlext-light-bordered-field-focus-border-color !default;\n$mdlext-light-bordered-field-input-text-label-error-color : $mdlext-light-bordered-field-error-border-color !default;\n$mdlext-light-bordered-field-input-text-label-disabled-color: $mdlext-light-input-text-disabled-text-color !default;\n\n\n\n// ----------------------------------------------------------------\n// Dark Color Theme.\n// ----------------------------------------------------------------\n$mdlext-dark-color-primary: #FFC107 !default;\n$mdlext-dark-color-primary-dark: #FFA000 !default;\n$mdlext-dark-color-primary-light: #FFC107 !default; // Fallback color. Set to color-primary if fallback is not needed\n$mdlext-dark-color-primary-contrast: #FFF8E1 !default; // text color on primary/primary dark background\n$mdlext-dark-color-accent: #536DFE !default;\n$mdlext-dark-color-accent-light: #536DFE !default; // Fallback color. Set to color-accent if fallback is not needed\n$mdlext-dark-color-accent-contrast: #FFFFFF !default;\n\n$mdlext-dark-content-background-color: #303030 !default; // #424242 or #303030, background color on content (paper/card) background\n$mdlext-dark-text-color-primary: rgba(#FFFFFF, 1.00) !default; // text color on content (paper/card) background\n$mdlext-dark-text-color-secondary: rgba(#FFFFFF, 0.70) !default; // text color on content (paper/card) background\n$mdlext-dark-text-color-disabled: rgba(#FFFFFF, 0.50) !default; // disabled text, hint text, and icons\n$mdlext-dark-divider-color: rgba(#FFFFFF, 0.12) !default; // -> $card-border-color\n$mdlext-dark-error-color: #FF1744 !default;\n\n// Anchor\n$mdlext-dark-text-link-color: $mdlext-dark-color-accent !default;\n\n// Card\n$mdlext-dark-card-background-color: $mdlext-dark-content-background-color !default;\n$mdlext-dark-card-text-color: $mdlext-dark-text-color-primary !default;\n$mdlext-dark-card-image-placeholder-color: $mdlext-dark-color-accent !default;\n$mdlext-dark-card-supporting-text-text-color: rgba($mdlext-color-white, 0.70) !default;\n$mdlext-dark-card-border-color: rgba(0, 0, 0, 0.1) !default;\n$mdlext-dark-card-subtitle-color: rgba($mdlext-color-black, 0.70) !default;\n\n// Item\n\n// Default Item Colors\n$mdlext-dark-default-item-text-color: rgba($mdlext-color-white, 0.87) !default;\n$mdlext-dark-default-item-outline-color: $mdlext-palette-grey-700 !default;\n$mdlext-dark-default-item-hover-bg-color: $mdlext-palette-grey-900 !default;\n$mdlext-dark-default-item-focus-bg-color: $mdlext-palette-grey-900 !default;\n$mdlext-dark-default-item-active-bg-color: $mdlext-palette-grey-800 !default;\n$mdlext-dark-default-item-divider-color: rgba($mdlext-color-white, 0.20) !default;\n\n// Disabled Button Colors\n$mdlext-dark-disabled-item-text-color: $mdlext-palette-grey-500 !default;\n\n// Dropdown menu / menu-button\n$mdlext-dark-default-dropdown-bg-color: $mdlext-color-black !default;\n\n// Badge\n$mdlext-dark-badge-color: $mdlext-dark-color-accent-contrast !default;\n$mdlext-dark-badge-color-inverse: $mdlext-dark-color-accent !default;\n$mdlext-dark-badge-background: $mdlext-dark-color-accent !default;\n$mdlext-dark-badge-background-inverse: $mdlext-dark-color-accent-contrast !default;\n\n// Default button colors.\n$mdlext-dark-button-primary-color: rgba($mdlext-palette-grey-500, 0.20) !default;\n$mdlext-dark-button-secondary-color: $mdlext-color-white !default;\n$mdlext-dark-button-hover-color: $mdlext-dark-button-primary-color !default;\n$mdlext-dark-button-active-color: rgba($mdlext-palette-grey-500, 0.40) !default;\n$mdlext-dark-button-focus-color: rgba($mdlext-color-black, 0.12) !default;\n\n// Colored button colors.\n$mdlext-dark-button-primary-color-alt: $mdlext-dark-color-primary-light !default;\n$mdlext-dark-button-secondary-color-alt: $mdlext-dark-color-primary-contrast !default;\n$mdlext-dark-button-hover-color-alt: darken($mdlext-dark-color-primary-light, 10%) !default;\n$mdlext-dark-button-active-color-alt: darken($mdlext-dark-color-primary-light, 10%) !default;\n$mdlext-dark-button-focus-color-alt: $mdlext-dark-button-focus-color !default;\n\n// Ripple color for colored raised buttons.\n$mdlext-dark-button-ripple-color-alt: $mdlext-dark-color-primary-contrast !default;\n\n// Disabled button colors.\n$mdlext-dark-button-primary-color-disabled: rgba($mdlext-color-white, 0.12) !default;\n$mdlext-dark-button-secondary-color-disabled: rgba($mdlext-color-white, 0.26) !default;\n\n// FAB colors and sizes.\n$mdlext-dark-button-fab-color-alt: $mdlext-dark-color-accent !default;\n$mdlext-dark-button-fab-hover-color-alt: $mdlext-dark-color-accent !default;\n$mdlext-dark-button-fab-active-color-alt: $mdlext-dark-color-accent !default;\n$mdlext-dark-button-fab-text-color-alt: $mdlext-dark-color-accent-contrast !default;\n$mdlext-dark-button-fab-ripple-color-alt: $mdlext-dark-color-accent-contrast !default;\n\n// Slider\n$mdlext-dark-range-bg-color: rgba($mdlext-color-white, 0.87) !default;\n$mdlext-dark-range-color: $mdlext-dark-color-accent-light !default;\n$mdlext-dark-range-faded-color: rgba($mdlext-dark-color-accent-light, 0.50) !default;\n$mdlext-dark-range-bg-focus-color: rgba($mdlext-color-white, 0.50) !default;\n\n// Textfields\n$mdlext-dark-input-text-background-color: transparent !default;\n$mdlext-dark-input-text-label-color: rgba($mdlext-color-white, 0.50) !default;\n$mdlext-dark-input-text-bottom-border-color: rgba($mdlext-color-white, 0.26) !default;\n$mdlext-dark-input-text-highlight-color: $mdlext-dark-color-accent-light !default;\n$mdlext-dark-input-text-disabled-color: rgba($mdlext-color-white, 0.12) !default;\n$mdlext-dark-input-text-disabled-text-color: rgba($mdlext-color-white, 0.26) !default;\n$mdlext-dark-input-text-error-color: $mdlext-dark-error-color !default;\n\n// Checkboxes\n$mdlext-dark-checkbox-color: $mdlext-dark-color-accent-light !default;\n$mdlext-dark-checkbox-off-color: rgba($mdlext-color-white, 0.50) !default;\n$mdlext-dark-checkbox-disabled-color: rgba($mdlext-color-white, 0.26) !default;\n$mdlext-dark-checkbox-focus-color: rgba($mdlext-dark-color-accent-light, 0.26) !default;\n\n// Icon Toggles\n$mdlext-dark-icon-toggle-color: $mdlext-palette-grey-700 !default;\n$mdlext-dark-icon-toggle-focus-color: $mdlext-dark-button-focus-color !default;\n$mdlext-dark-icon-toggle-checked-color: $mdlext-dark-color-accent-light !default;\n$mdlext-dark-icon-toggle-checked-focus-color: rgba($mdlext-dark-color-accent-light, 0.26) !default;\n$mdlext-dark-icon-toggle-disabled-color: rgba($mdlext-color-white, 0.50) !default;\n\n// Radio Buttons\n$mdlext-dark-radio-color: $mdlext-dark-color-accent-light !default;\n$mdlext-dark-radio-off-color: rgba($mdlext-color-white, 0.50) !default;\n$mdlext-dark-radio-disabled-color: rgba($mdlext-color-white, 0.26) !default;\n\n// Switches\n$mdlext-dark-switch-color: $mdlext-dark-color-accent-light !default;\n$mdlext-dark-switch-faded-color: rgba($mdlext-dark-color-accent-light, 0.26) !default;\n$mdlext-dark-switch-thumb-color: $mdlext-dark-switch-color !default;\n$mdlext-dark-switch-track-color: rgba($mdlext-dark-color-accent-light, 0.5) !default;\n$mdlext-dark-switch-off-thumb-color: $mdlext-palette-grey-50 !default;\n$mdlext-dark-switch-off-track-color: rgba($mdlext-color-white, 0.26) !default;\n$mdlext-dark-switch-disabled-thumb-color: $mdlext-palette-grey-50 !default;\n$mdlext-dark-switch-disabled-track-color: rgba($mdlext-color-white, 0.12) !default;\n\n// Data table\n$mdlext-dark-data-table-background-color: $mdlext-dark-content-background-color !default;\n$mdlext-dark-data-table-header-color: rgba($mdlext-color-white, 0.87) !default;\n$mdlext-dark-data-table-header-sorted-color: rgba($mdlext-color-white, 0.87) !default;\n$mdlext-dark-data-table-header-sorted-icon-hover-color: rgba($mdlext-color-white, 0.26) !default;\n$mdlext-dark-data-table-hover-color: $mdlext-dark-default-item-hover-bg-color !default;\n$mdlext-dark-data-table-selection-color: $mdlext-dark-default-item-active-bg-color !default;\n$mdlext-dark-data-table-divider-color: rgba($mdlext-color-white, 0.12) !default;\n$mdlext-dark-data-table-dividers: 1px solid $mdlext-dark-data-table-divider-color !default;\n\n\n// Selectfield\n// Uses variables from textfield\n\n\n// Accordion\n$mdlext-dark-accordion-header-background-color-base : $mdlext-color-black !default;\n$mdlext-dark-accordion-header-background-color : rgba($mdlext-dark-accordion-header-background-color-base, 1.0) !default;\n$mdlext-dark-accordion-header-background-open-color : rgba($mdlext-dark-accordion-header-background-color-base, 0.9) !default;\n$mdlext-dark-accordion-header-border-color : $mdlext-palette-grey-800 !default;\n$mdlext-dark-accordion-header-background-hover-color : rgba($mdlext-dark-accordion-header-background-color-base, 0.5) !default;\n$mdlext-dark-accordion-header-background-active-color : rgba($mdlext-dark-accordion-header-background-color-base, 0.6) !default;\n$mdlext-dark-accordion-header-focus-outline-color : lighten($mdlext-dark-accordion-header-border-color, 40%) !default;\n$mdlext-dark-accordion-header-disabled-color : rgba($mdlext-dark-accordion-header-background-color-base, 0.4) !default;\n$mdlext-dark-accordion-header-secondary-color : $mdlext-dark-text-color-primary !default;\n$mdlext-dark-accordion-header-secondary-color-disabled: $mdlext-dark-text-color-disabled !default;\n$mdlext-dark-accordion-header-highlight-color : lighten($mdlext-dark-accordion-header-border-color, 40%) !default;\n$mdlext-dark-accordion-ripple-color : rgba($mdlext-dark-accordion-header-background-color-base, 0.3) !default;\n$mdlext-dark-accordion-content-color : inherit !default;\n$mdlext-dark-accordion-content-background-color : transparent !default;\n\n\n// Bordered fields\n$mdlext-dark-bordered-field-input-text-color : inherit !default;\n$mdlext-dark-bordered-field-border-color : $mdlext-dark-input-text-bottom-border-color !default;\n$mdlext-dark-bordered-field-background-color : rgba($mdlext-dark-content-background-color, 0.1) !default;\n$mdlext-dark-bordered-field-focus-border-color : $mdlext-dark-color-accent-light !default;\n$mdlext-dark-bordered-field-focus-background-color : rgba(darken($mdlext-dark-bordered-field-background-color, 10%), 0.1) !default;\n\n$mdlext-dark-bordered-field-input-text-disabled-text-color : $mdlext-dark-input-text-disabled-text-color;\n$mdlext-dark-bordered-field-disabled-border-color : $mdlext-dark-input-text-disabled-color !default;\n$mdlext-dark-bordered-field-disabled-background-color : $mdlext-dark-bordered-field-background-color !default;\n\n$mdlext-dark-bordered-field-input-text-error-color : $mdlext-dark-bordered-field-input-text-color !default;\n$mdlext-dark-bordered-field-error-border-color : $mdlext-dark-input-text-error-color !default;\n$mdlext-dark-bordered-field-error-background-color : rgba($mdlext-dark-bordered-field-error-border-color, 0.1) !default;\n$mdlext-dark-bordered-field-error-focus-border-color : darken($mdlext-dark-bordered-field-error-border-color, 10%) !default;\n$mdlext-dark-bordered-field-error-focus-background-color : $mdlext-dark-bordered-field-error-background-color !default;\n\n$mdlext-dark-bordered-field-input-text-label-color : $mdlext-dark-input-text-label-color !default;\n$mdlext-dark-bordered-field-input-text-label-focus-color : $mdlext-dark-bordered-field-focus-border-color !default;\n$mdlext-dark-bordered-field-input-text-label-error-color : $mdlext-dark-bordered-field-error-border-color !default;\n$mdlext-dark-bordered-field-input-text-label-disabled-color: $mdlext-dark-input-text-disabled-text-color !default;\n\n\n\n// WEBPACK FOOTER //\n// webpack:///src/_variables.scss","///\n/// Returns the opposite direction of each direction in a list\n/// Modified from: https://css-tricks.com/snippets/sass/opposite-direction-function/\n/// @author Hugo Giraudel\n/// @param {List} $directions - List of initial directions\n/// @return {List} - List of opposite directions\n@function mdlext-opposite-direction($directions) {\n $opposite-directions: ();\n $direction-map: (\n 'top': 'bottom',\n 'right': 'left',\n 'bottom': 'top',\n 'left': 'right',\n 'center': 'center',\n 'ltr': 'rtl',\n 'rtl': 'ltr'\n );\n\n @each $direction in $directions {\n $direction: to-lower-case($direction);\n\n @if map-has-key($direction-map, $direction) {\n $opposite-directions: append($opposite-directions, unquote(map-get($direction-map, $direction)));\n }\n @else {\n @warn \"No opposite direction can be found for `#{$direction}`. Direction omitted.\";\n }\n }\n\n @return $opposite-directions;\n}\n\n///\n/// Strip unit from value\n/// @author Hugo Giraudel\n/// http://hugogiraudel.com/2013/08/12/sass-functions/\n/// https://css-tricks.com/snippets/sass/strip-unit-function/\n/// @param {Number} $number - Number to remove unit from\n/// @return {Number} - Unitless number\n\n@function strip-unit($number) {\n @return if(type-of($number) == 'number' and not unitless($number), $number / ($number * 0 + 1), $number);\n}\n\n///\n/// Clamping a number means restricting it between min and max values.\n/// 4 clamped to 1-3 equals 3.\n/// -5 clamped to 1-10 equals 1.\n/// 42 clamped to 10-100 equals 42.\n/// @author Hugo Giraudel\n/// http://hugogiraudel.com/2013/08/12/sass-functions/\n/// @param {Number} $value - The value to clamp\n/// @param {Number} $min - min value in range\n/// @param {Number} $max - Max value in range\n/// @return {Number} - The clamped value\n\n@function clamp($value, $min, $max) {\n @return if($value > $max, $max, if($value < $min, $min, $value));\n}\n\n///\n/// Convert one unit into another\n/// @author Hugo Giraudel\n/// http://www.sitepoint.com/understanding-sass-units/\n/// @param {Number} $value - Initial value\n/// @param {String} $unit - Desired unit\n/// @return {Number}\n/// @throw Error if `$unit` does not exist or if units are incompatible.\n\n/* stylelint-disable */\n@function convert-unit($value, $unit) {\n $units: (\n 'px' : 0px,\n 'cm' : 0cm,\n 'mm' : 0mm,\n '%' : 0%,\n 'ch' : 0ch,\n 'in' : 0in,\n 'em' : 0em,\n 'rem' : 0rem,\n 'pt' : 0pt,\n 'pc' : 0pc,\n 'ex' : 0ex,\n 'vw' : 0vw,\n 'vh' : 0vh,\n 'vmin': 0vmin,\n 'vmax': 0vmax,\n 'deg' : 0deg,\n 'turn': 0turn,\n 'rad' : 0rad,\n 'grad': 0grad,\n 's' : 0s,\n 'ms' : 0ms,\n 'Hz' : 0Hz,\n 'kHz' : 0kHz,\n 'dppx': 0dppx,\n 'dpcm': 0dpcm,\n 'dpi' : 0dpi,\n );\n\n @if map-has-key($units, $unit) {\n @return map-get($units, $unit) + $value;\n }\n\n @error \"Unknown unit `#{$unit}`.\";\n}\n/* stylelint-enable */\n\n\n///\n/// Replace `$search` with `$replace` in `$string`\n/// @author Hugo Giraudel, http://hugogiraudel.com/2014/01/13/sass-string-replacement-function/\n/// @param {String} $string - Initial string\n/// @param {String} $search - Substring to replace\n/// @param {String} $replace ('') - New value\n/// @return {String} - Updated string\n@function str-replace($string, $search, $replace: '') {\n $index: str-index($string, $search);\n\n @if $index {\n @return str-slice($string, 1, $index - 1) + $replace + str-replace(str-slice($string, $index + str-length($search)), $search, $replace);\n }\n @return $string;\n}\n\n///\n/// @function explode() -- split a string into a list of strings\n/// @author https://gist.github.com/danielpchen/3677421ea15dcf2579ff\n/// {string} $string: the string to be split\n/// {string} $delimiter: the boundary string\n/// @return {list} the result list\n@function explode($string, $delimiter: ',') {\n $result: ();\n @if $delimiter == \"\" {\n @for $i from 1 through str-length($string) {\n $result: append($result, str-slice($string, $i, $i));\n }\n @return $result;\n }\n $exploding: true;\n @while $exploding {\n $d-index: str-index($string, $delimiter);\n @if $d-index {\n @if $d-index > 1 {\n $result: append($result, str-slice($string, 1, $d-index - 1));\n $string: str-slice($string, $d-index + str-length($delimiter));\n }\n @else if $d-index == 1 {\n $string: str-slice($string, 1, $d-index + str-length($delimiter));\n }\n @else {\n $result: append($result, $string);\n $exploding: false;\n }\n }\n @else {\n $result: append($result, $string);\n $exploding: false;\n }\n }\n @return $result;\n}\n\n///\n/// Add `$unit` to `$value`\n/// @author Hugo Giraudel\n///\n/// @param {Number} $value - Value to add unit to\n/// @param {String} $unit - String representation of the unit\n///\n/// @return {Number} - `$value` expressed in `$unit`\n/// @throw Error if `$unit` does not exist or if units are incompatible.\n///\n@function to-length($value, $unit) {\n $units: (\n 'px' : 1px,\n 'cm' : 1cm,\n 'mm' : 1mm,\n '%' : 1%,\n 'ch' : 1ch,\n 'pc' : 1pc,\n 'in' : 1in,\n 'em' : 1em,\n 'rem' : 1rem,\n 'pt' : 1pt,\n 'ex' : 1ex,\n 'vw' : 1vw,\n 'vh' : 1vh,\n 'vmin': 1vmin,\n 'vmax': 1vmax\n );\n\n @if not index(map-keys($units), $unit) {\n @error('Invalid unit `#{$unit}`.');\n }\n\n @return $value * map-get($units, $unit);\n}\n\n///\n/// Casts a string into a number\n///\n/// @author Hugo Giraudel\n// @param {String | Number} $value - Value to be parsed\n///\n/// @return {Number}\n/// @throw Error if `$value` is not a number or a string.\n///\n@function to-number($value) {\n @if type-of($value) == 'number' {\n @return $value;\n }\n @else if type-of($value) != 'string' {\n @error('Value for `to-number` should be a number or a string.');\n }\n\n $result: 0;\n $digits: 0;\n $minus: str-slice($value, 1, 1) == '-';\n $numbers: ('0': 0, '1': 1, '2': 2, '3': 3, '4': 4, '5': 5, '6': 6, '7': 7, '8': 8, '9': 9);\n\n @for $i from if($minus, 2, 1) through str-length($value) {\n $character: str-slice($value, $i, $i);\n\n @if not (index(map-keys($numbers), $character) or $character == '.') {\n @return to-length(if($minus, -$result, $result), str-slice($value, $i));\n }\n\n @if $character == '.' {\n $digits: 1;\n }\n @else if $digits == 0 {\n $result: $result * 10 + map-get($numbers, $character);\n }\n @else {\n $digits: $digits * 10;\n $result: $result + map-get($numbers, $character) / $digits;\n }\n }\n\n @return if($minus, -$result, $result);\n}\n\n///\n/// Convert `$rgb-string` to a number list\n/// @author Leif Olsen\n/// @param {String | Number} $value - Value to be parsed\n/// @return {list} the rgb number list\n/// @throw Error if `$value` is not a number, color or a string.\n@function rgb-string-to-numbers($value) {\n @if type-of($value) == 'number' or type-of($value) == 'color' {\n @return $value;\n }\n @else if type-of($value) != 'string' {\n @error('Value for `rgb-string-to-numbers` should be a number or a string.');\n }\n\n $s: str-replace($value, \"rgba\");\n $s: str-replace($s, \"rgb\");\n $s: str-replace($s, \"(\");\n $s: str-replace($s, \")\");\n $s: str-replace($s, \" \");\n $l: explode($s);\n $result: ();\n @for $i from 1 through length($l) {\n $result: append($result, to-number(nth($l, $i)));\n }\n @return $result;\n}\n\n///\n/// Convert `$rgb-string` to a corresponding hex value\n/// @author Leif Olsen\n/// @param {String | Number} $value - Value to be parsed\n/// @return {number} the rgb hex value\n/// @throw Error if `$value` is not a number, color or a string.\n@function rgb-string-to-hex($value) {\n @if type-of($value) == 'number' or type-of($value) == 'color' {\n @return $value;\n }\n @else if type-of($value) != 'string' {\n @error('Value for `rgb-string-to-numbers` should be a number or a string.');\n }\n $l: rgb-string-to-numbers($value);\n @return rgb(nth($l, 1), nth($l, 2), nth($l, 3));\n}\n\n\n///\n/// Convert hex color to a coresponding `$rgb-string`\n/// @author https://github.com/google/material-design-lite/issues/1689\n/// @param {Number} $hexColor - Value to convert\n/// @return {String} the rgb string value\n///\n/// @example - $color-primary: hex-to-string(#333);\n@function hex-to-rgb-string($hexColor) {\n // 0.999999 val in alpha actually compiles to 1.0\n $rgbaVal: inspect(rgba($hexColor, 0.9999999));\n\n // slice substring between 'rgba(' and '1.0)'\n @return str-slice($rgbaVal, 6, str-length($rgbaVal)-4);\n}\n\n\n\n// WEBPACK FOOTER //\n// webpack:///src/_functions.scss","@charset \"UTF-8\";\n\n/**\n * @license\n * Copyright 2016-2017 Leif Olsen. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * This code is built with Google Material Design Lite,\n * which is Licensed under the Apache License, Version 2.0\n */\n\n@import \"../mixins\";\n\n.mdlext-aria-expanded-plus-minus {\n @include mdlext-aria-expanded-toggle($font-family: inherit);\n}\n\n.mdlext-aria-expanded-more-less {\n @include mdlext-aria-expanded-toggle($icon: 'expand_more', $icon-expanded: 'expand_less');\n}\n\n\n\n// WEBPACK FOOTER //\n// webpack:///src/aria-expanded-toggle/_aria-expanded-toggle.scss","@import \"functions\";\n\n/// Triangle helper mixin\n/// Modified from: http://blustemy.io/drawing-pure-css-arrows-with-mixins/\n/// https://css-tricks.com/snippets/sass/css-triangle-mixin/\n/// @param {Direction} $direction - Triangle direction, either `top`, `right`, `bottom` or `left`\n/// @param {Color} $color [currentcolor] - Triangle color\n/// @param {Length} $size [1em] - Triangle size\n@mixin mdlext-arrow($direction: bottom, $base-width: 15px, $length: 10px, $color: inherit, $font-size: inherit) {\n content: '';\n width: 0;\n height: 0;\n font-size: $font-size;\n line-height: $font-size;\n border-#{mdlext-opposite-direction($direction)}: $length solid $color;\n border-#{mdlext-opposite-direction($direction)}-width: $length;\n border-#{mdlext-opposite-direction($direction)}-style: solid;\n border-#{mdlext-opposite-direction($direction)}-color: $color;\n\n $perpendicular-borders: ($base-width / 2) solid transparent;\n\n @if $direction == top or $direction == bottom {\n border-left: $perpendicular-borders;\n border-right: $perpendicular-borders;\n }\n @else if $direction == right or $direction == left {\n border-bottom: $perpendicular-borders;\n border-top: $perpendicular-borders;\n }\n}\n\n/// Hide element while making it readable for screen readers\n/// Copied from HTML5Boilerplate:\n/// https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css#L119-L133\n@mixin mdlext-visually-hidden() {\n border: 0;\n clip: rect(0 0 0 0);\n height: 1px;\n margin: -1px;\n overflow: hidden;\n padding: 0;\n position: absolute;\n width: 1px;\n}\n\n\n/// Toggle for aria-expanded attribute\n///\n/// @author Leif Olsen\n/// @param {Font} $font-family ['Material Icons'] - Font family\n/// @param {Length} $font-size [24px] - Font size\n/// @param {string} $icon ['+'] - icon to display when 'aria-expanded=\"false\"'\n/// @param {string} $icon-expanded ['-'] - icon to display when 'aria-expanded=\"true\"'\n/// @link https://github.com/google/material-design-icons Modified from '.material-icons' class\n/// @param {Length} $icon-offset [0] - Icon offset\n///\n/// @example - +/- toggle\n/// .plus-minus {\n/// @include mdlext-aria-expanded-toggle($font-family: inherit, $font-size: inherit);\n/// }\n/// \n/// \n///
\n///\n/// @example - Material Icons, expand-more/expand_less\n/// .more-less {\n/// @include mdlext-aria-expanded-toggle($content: 'expand_more', $content-expanded: 'expand_less');\n/// }\n/// \n/// \n///
\n\n@mixin mdlext-aria-expanded-toggle($font-family: 'Material Icons', $font-size: 24px, $icon: '+', $icon-expanded: '-', $icon-offset: 0) {\n font-family: $font-family;\n font-weight: inherit;\n font-style: inherit;\n font-size: $font-size; // Preferred icon size\n display: inline-block;\n width: 1em;\n height: 1em;\n line-height: 1;\n text-transform: none;\n letter-spacing: normal;\n word-wrap: normal;\n white-space: nowrap;\n direction: ltr;\n vertical-align: middle;\n\n // Support for all WebKit browsers.\n -webkit-font-smoothing: antialiased;\n -webkit-font-feature-settings: 'liga';\n\n // Support for Safari and Chrome.\n text-rendering: optimizeLegibility;\n\n // Support for Firefox.\n -moz-osx-font-smoothing: grayscale;\n\n // Support for IE.\n font-feature-settings: 'liga';\n\n &::after {\n content: $icon;\n margin-left: $icon-offset;\n }\n\n [aria-expanded='true'] > & {\n &::after {\n content: $icon-expanded;\n margin-left: $icon-offset;\n }\n }\n}\n\n\n/// Keyframe mixin\n/// Modified from: http://sassbreak.com/nested-keyframe-rules-sass/\n/// Modified from: http://sassbreak.com/sass-tools-and-snippets/\n///\n/// @example\n///\n/// .some-element {\n/// animation: 10s linear infinite;\n///\n/// @include mdlext-animation-keyframes {\n/// from {\n/// background-position: 0% 0%;\n/// }\n/// to {\n/// background-position: 114.2857% 0%;\n/// }\n/// }\n/// }\n\n@mixin mdlext-animation-keyframes {\n $animation-name: unique-id();\n animation-name: $animation-name;\n\n @keyframes #{$animation-name} {\n @content;\n }\n}\n\n\n/// Flexible title mixin\n/// A flexible title consists of three regions, left, middle and right.\n/// The left and right regions are optional and will typically contain state icons\n/// or act as a toolbar. The middle region should contain the title text.\n///\n/// @author Leif Olsen\n/// @param {String} $class - class name\n/// @gutter {Length} [8px] - horizontal spacing between title elements\n///\n/// @example\n///\n/// @include mdlext-flexible-title(my-title) {\n/// overflow: hidden;\n/// background-color: yellow;\n/// &__text {\n/// font-size: 20px;\n/// letter-spacing: 0.02em;\n/// font-weight: 400;\n/// line-height: 1.1;\n/// }\n/// }\n///\n/// \n/// info \n/// A title \n/// \n/// \n/// \n\n@mixin mdlext-flexible-title($class, $gutter: 8px) {\n .#{$class} {\n box-sizing: border-box;\n position: relative;\n width: 100%;\n display: flex;\n align-self: stretch;\n align-items: center;\n margin: 0;\n padding: 0 $gutter;\n\n &__text,\n &__text > * {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n > * {\n box-sizing: border-box;\n margin: 0;\n padding: 0 $gutter 0 0;\n }\n\n > *:last-child {\n padding-right: 0;\n }\n\n // Used to align elements inside a header or drawer, by growing to fill\n // remaining space. Commonly used for aligning elements to the right.\n &__spacer {\n flex: 1;\n }\n\n @content;\n }\n}\n\n\n\n\n// WEBPACK FOOTER //\n// webpack:///src/_mixins.scss","/**\n * Copyright 2016 Leif Olsen. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n// Use of this module requires the user to include variables from material-design-lite\n//@import \"../../node_modules/material-design-lite/src/variables\";\n//@import \"../../node_modules/material-design-lite/src/mixins\";\n@import \"../variables\";\n\n.mdlext-layout__sticky-header {\n position: absolute;\n overflow: visible;\n background: $mdlext-sticky-header-background;\n transition: 0.1s ease-in-out;\n\n &.mdlext-is-scroll {\n background: $mdlext-sticky-header-background-scroll;\n }\n}\n\n*:not(.is-small-screen) .mdlext-layout__sticky-header {\n .mdl-layout__drawer-button {\n visibility: hidden;\n }\n .mdl-layout__header-row {\n padding-left: $padding;\n }\n}\n\n*:not(.mdl-layout--fixed-drawer).has-drawer .mdlext-layout__sticky-header,\n.is-small-screen.has-drawer .mdlext-layout__sticky-header {\n display: flex;\n\n .mdl-layout__drawer-button {\n visibility: visible;\n }\n .mdl-layout__header-row {\n padding-left: $padding + $layout-drawer-button-desktop-size;\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// webpack:///src/sticky-header/_sticky-header.scss","/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n * Copyright 2016 Leif Olsen. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * SASS based on css from Google Chrome Dialog polyfill, https://github.com/GoogleChrome/dialog-polyfill\n * @include 'node_modules/dialog-polyfill/dialog-polyfill.css' before using this\n */\n\n@import \"../variables\";\n\ndialog.mdlext-dialog {\n position: absolute;\n border: 0;\n opacity: 0;\n padding: $mdlext-dialog-padding;\n background-color: $mdlext-dialog-background-color;\n\n &[open] {\n animation: mdlext-open-dialog $mdlext-dialog-open-animation;\n }\n &[open]::backdrop {\n animation: mdlext-darken-backdrop $mdlext-dialog-backdrop-animation;\n }\n &[open] + .backdrop {\n animation: mdlext-darken-backdrop $mdlext-dialog-backdrop-animation;\n }\n}\n\n@keyframes mdlext-darken-backdrop {\n to { background: $mdlext-dialog-backdrop-color; }\n}\n@keyframes mdlext-open-dialog {\n to { opacity: 1; }\n}\n\n\n\n// WEBPACK FOOTER //\n// webpack:///src/dialog/dialog.scss","@charset \"UTF-8\";\n\n/**\n * This code is modified from Material Design Lite _grid.sass,\n * which is Licensed under the Apache License, Version 2.0\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n */\n\n//////////////////////////////////////////////////////////////////////////////////\n//\n// Element queries for _grid.scss, based on: https://github.com/Snugug/eq.js\n//\n//////////////////////////////////////////////////////////////////////////////////\n\n// Use of this module requires the user to include variables from material-design-lite in hers/his main SASS module\n//@import \"../../node_modules/material-design-lite/src/variables\";\n.mdlext-grid {\n display: flex;\n flex-flow: row wrap;\n margin: 0 auto;\n align-items: stretch;\n\n &.mdlext-grid--no-spacing {\n padding: 0;\n }\n\n & > .mdlext-cell {\n box-sizing: border-box;\n }\n\n & > .mdlext-cell--top {\n align-self: flex-start;\n }\n\n & > .mdlext-cell--middle {\n align-self: center;\n }\n\n & > .mdlext-cell--bottom {\n align-self: flex-end;\n }\n\n & > .mdlext-cell--stretch {\n align-self: stretch;\n }\n\n .mdlext-grid--no-spacing > .mdlext-cell {\n margin: 0;\n }\n\n // Define order override classes.\n @for $i from 1 through $grid-max-columns {\n & > .mdlext-cell--order-#{$i} {\n order: $i;\n }\n }\n}\n\n// Mixins for width calculation.\n@mixin _partial-size($size, $columns, $gutter) {\n width: calc(#{(($size / $columns) * 100) + \"%\"} - #{$gutter});\n}\n@mixin _full-size($gutter) {\n @include _partial-size(1, 1, $gutter);\n}\n@mixin _offset-size($size, $columns, $gutter) {\n margin-left: calc(#{(($size / $columns) * 100) + \"%\"} + #{$gutter / 2});\n}\n\n@mixin _partial-size-no-spacing($size, $columns) {\n width: #{(($size / $columns) * 100) + \"%\"};\n}\n@mixin _full-size-no-spacing() {\n @include _partial-size-no-spacing(1, 1);\n}\n@mixin _offset-size-no-spacing($size, $columns) {\n margin-left: #{(($size / $columns) * 100) + \"%\"};\n}\n\n\n.mdlext-grid {\n\n @include eq-pts((\n grid_phone: 0,\n grid_tablet: strip-unit($grid-tablet-breakpoint),\n grid_desktop: strip-unit($grid-desktop-breakpoint)\n ));\n\n ////////// Phone //////////\n @include eq('grid_phone') {\n padding: $grid-phone-margin - ($grid-phone-gutter / 2);\n\n & > .mdlext-cell {\n margin: $grid-phone-gutter / 2;\n @include _partial-size($grid-cell-default-columns, $grid-phone-columns, $grid-phone-gutter);\n }\n\n & > .mdlext-cell--hide-phone {\n display: none !important;\n }\n\n // Define order override classes.\n @for $i from 1 through $grid-max-columns {\n & > .mdlext-cell--order-#{$i}-phone.mdlext-cell--order-#{$i}-phone {\n order: $i;\n }\n }\n\n // Define partial sizes for columnNumber < totalColumns.\n @for $i from 1 through ($grid-phone-columns - 1) {\n & > .mdlext-cell--#{$i}-col,\n & > .mdlext-cell--#{$i}-col-phone.mdlext-cell--#{$i}-col-phone {\n @include _partial-size($i, $grid-phone-columns, $grid-phone-gutter);\n }\n }\n\n // Define 100% for everything else.\n @for $i from $grid-phone-columns through $grid-desktop-columns {\n & > .mdlext-cell--#{$i}-col,\n & > .mdlext-cell--#{$i}-col-phone.mdlext-cell--#{$i}-col-phone {\n @include _full-size($grid-phone-gutter);\n }\n }\n\n // Define valid phone offsets.\n @for $i from 1 through ($grid-phone-columns - 1) {\n & > .mdlext-cell--#{$i}-offset,\n & > .mdlext-cell--#{$i}-offset-phone.mdlext-cell--#{$i}-offset-phone {\n @include _offset-size($i, $grid-phone-columns, $grid-phone-gutter);\n }\n }\n\n &.mdlext-grid--no-spacing {\n padding: 0;\n\n & > .mdlext-cell {\n margin: 0;\n @include _partial-size-no-spacing($grid-cell-default-columns, $grid-phone-columns);\n }\n\n // Define partial sizes for columnNumber < totalColumns.\n @for $i from 1 through ($grid-phone-columns - 1) {\n & > .mdlext-cell--#{$i}-col,\n & > .mdlext-cell--#{$i}-col-phone.mdlext-cell--#{$i}-col-phone {\n @include _partial-size-no-spacing($i, $grid-phone-columns);\n }\n }\n\n // Define 100% for everything else.\n @for $i from $grid-phone-columns through $grid-desktop-columns {\n & > .mdlext-cell--#{$i}-col,\n & > .mdlext-cell--#{$i}-col-phone.mdlext-cell--#{$i}-col-phone {\n @include _full-size-no-spacing();\n }\n }\n\n // Define valid phone offsets.\n @for $i from 1 through ($grid-phone-columns - 1) {\n & > .mdlext-cell--#{$i}-offset,\n & > .mdlext-cell--#{$i}-offset-phone.mdlext-cell--#{$i}-offset-phone {\n @include _offset-size-no-spacing($i, $grid-phone-columns);\n }\n }\n }\n }\n\n ////////// Tablet //////////\n @include eq('grid_tablet') {\n padding: $grid-tablet-margin - ($grid-tablet-gutter / 2);\n\n & > .mdlext-cell {\n margin: $grid-tablet-gutter / 2;\n @include _partial-size($grid-cell-default-columns, $grid-tablet-columns, $grid-tablet-gutter);\n }\n\n & > .mdlext-cell--hide-tablet {\n display: none !important;\n }\n\n // Define order override classes.\n @for $i from 1 through $grid-max-columns {\n & > .mdlext-cell--order-#{$i}-tablet.mdlext-cell--order-#{$i}-tablet {\n order: $i;\n }\n }\n\n // Define partial sizes for columnNumber < totalColumns.\n @for $i from 1 through ($grid-tablet-columns - 1) {\n & > .mdlext-cell--#{$i}-col,\n & > .mdlext-cell--#{$i}-col-tablet.mdlext-cell--#{$i}-col-tablet {\n @include _partial-size($i, $grid-tablet-columns, $grid-tablet-gutter);\n }\n }\n\n // Define 100% for everything else.\n @for $i from $grid-tablet-columns through $grid-desktop-columns {\n & > .mdlext-cell--#{$i}-col,\n & > .mdlext-cell--#{$i}-col-tablet.mdlext-cell--#{$i}-col-tablet {\n @include _full-size($grid-tablet-gutter);\n }\n }\n\n // Define valid tablet offsets.\n @for $i from 1 through ($grid-tablet-columns - 1) {\n & > .mdlext-cell--#{$i}-offset,\n & > .mdlext-cell--#{$i}-offset-tablet.mdlext-cell--#{$i}-offset-tablet {\n @include _offset-size($i, $grid-tablet-columns, $grid-tablet-gutter);\n }\n }\n\n &.mdlext-grid--no-spacing {\n padding: 0;\n\n & > .mdlext-cell {\n margin: 0;\n @include _partial-size-no-spacing($grid-cell-default-columns, $grid-tablet-columns);\n }\n\n // Define partial sizes for columnNumber < totalColumns.\n @for $i from 1 through ($grid-tablet-columns - 1) {\n & > .mdlext-cell--#{$i}-col,\n & > .mdlext-cell--#{$i}-col-tablet.mdlext-cell--#{$i}-col-tablet {\n @include _partial-size-no-spacing($i, $grid-tablet-columns);\n }\n }\n\n // Define 100% for everything else.\n @for $i from $grid-tablet-columns through $grid-desktop-columns {\n & > .mdlext-cell--#{$i}-col,\n & > .mdlext-cell--#{$i}-col-tablet.mdlext-cell--#{$i}-col-tablet {\n @include _full-size-no-spacing();\n }\n }\n\n // Define valid tablet offsets.\n @for $i from 1 through ($grid-tablet-columns - 1) {\n & > .mdlext-cell--#{$i}-offset,\n & > .mdlext-cell--#{$i}-offset-tablet.mdlext-cell--#{$i}-offset-tablet {\n @include _offset-size-no-spacing($i, $grid-tablet-columns);\n }\n }\n }\n }\n\n ////////// Desktop //////////\n @include eq('grid_desktop') {\n padding: $grid-desktop-margin - ($grid-desktop-gutter / 2);\n\n & > .mdlext-cell {\n margin: $grid-desktop-gutter / 2;\n @include _partial-size($grid-cell-default-columns, $grid-desktop-columns, $grid-desktop-gutter);\n }\n\n & > .mdlext-cell--hide-desktop {\n display: none !important;\n }\n\n // Define order override classes.\n @for $i from 1 through $grid-max-columns {\n & > .mdlext-cell--order-#{$i}-desktop.mdlext-cell--order-#{$i}-desktop {\n order: $i;\n }\n }\n\n // Define partial sizes for all numbers of columns.\n @for $i from 1 through $grid-desktop-columns {\n & > .mdlext-cell--#{$i}-col,\n & > .mdlext-cell--#{$i}-col-desktop.mdlext-cell--#{$i}-col-desktop {\n @include _partial-size($i, $grid-desktop-columns, $grid-desktop-gutter);\n }\n }\n\n // Define valid desktop offsets.\n @for $i from 1 through ($grid-desktop-columns - 1) {\n & > .mdlext-cell--#{$i}-offset,\n & > .mdlext-cell--#{$i}-offset-desktop.mdlext-cell--#{$i}-offset-desktop {\n @include _offset-size($i, $grid-desktop-columns, $grid-desktop-gutter);\n }\n }\n\n &.mdlext-grid--no-spacing {\n padding: 0;\n\n & > .mdlext-cell {\n margin: 0;\n @include _partial-size-no-spacing($grid-cell-default-columns, $grid-desktop-columns);\n }\n\n // Define partial sizes for all numbers of columns.\n @for $i from 1 through $grid-desktop-columns {\n & > .mdlext-cell--#{$i}-col,\n & > .mdlext-cell--#{$i}-col-desktop.mdlext-cell--#{$i}-col-desktop {\n @include _partial-size-no-spacing($i, $grid-desktop-columns);\n }\n }\n\n // Define valid desktop offsets.\n @for $i from 1 through ($grid-desktop-columns - 1) {\n & > .mdlext-cell--#{$i}-offset,\n & > .mdlext-cell--#{$i}-offset-desktop.mdlext-cell--#{$i}-offset-desktop {\n @include _offset-size-no-spacing($i, $grid-desktop-columns);\n }\n }\n }\n }\n}\n\n@include eq-selectors;\n\n\n\n// WEBPACK FOOTER //\n// webpack:///src/grid/_grid-eqjs.scss","//////////////////////////////\n// Variables\n//////////////////////////////\n// Selectors that were called for CSS element queries\n$EQ-Selectors: ();\n\n//////////////////////////////\n// Error Mixin\n//////////////////////////////\n@mixin EQSTATECHECK($states, $name) {\n $EQ-Error: 'You need to include a state for the `#{$name}` mixin!';\n @if (length($states) == 0) {\n @if feature-exists(at-error) {\n @error $EQ-Error;\n }\n @else {\n @warn $EQ-Error;\n }\n }\n @else {\n @content;\n }\n}\n\n//////////////////////////////\n// Element Queries!\n//\n// $states - List of states to apply styling to; @include eq(small, medium, large)\n//////////////////////////////\n@mixin eq($states...) {\n @include EQSTATECHECK('eq', $states) {\n //////////////////////////////\n // Markup based Element Queries\n //////////////////////////////\n $extend: unique-id();\n @at-root {\n %#{$extend} {\n @content;\n }\n }\n @each $state in $states {\n &[data-eq-state$=\"#{$state}\"] {\n @extend %#{$extend};\n }\n }\n }\n}\n\n//////////////////////////////\n// Element Query Stack!\n//\n// Contains one of the query states!\n// $states - List of states to apply styling to; @include eq-contains(small, medium, large)\n// * Space separated list will be treated like an `and` media query; all of the states must be active\n// * Comma separated list will be treated like an `or` media query: at least one of the states must be active\n//////////////////////////////\n@mixin eq-contains($states...) {\n // Space separator API, so going to do stupid magic\n @if length($states) == 1 {\n $states: nth($states, 1);\n }\n\n @include EQSTATECHECK('eq', $states) {\n //////////////////////////////\n // Markup based Element Queries\n //////////////////////////////\n $extend: unique-id();\n @at-root {\n %#{$extend} {\n @content;\n }\n }\n @if list-separator($states) == 'space' {\n $stateApply: '';\n\n @each $state in $states {\n $stateApply: $stateApply + '[data-eq-state~=\"#{$state}\"]';\n }\n\n {$stateApply} {\n @extend %#{$extend};\n }\n }\n @else {\n @each $state in $states {\n &[data-eq-state~=\"#{$state}\"] {\n @extend %#{$extend};\n }\n }\n }\n }\n}\n\n//////////////////////////////\n// Element Query Points\n//\n// Prints element query points to element's `:before`\n//\n// $states - Map of `name: size`; @include eq-pts((small: 400, medium: 600, large: 900))\n//////////////////////////////\n@mixin eq-pts($states) {\n &:before {\n display: none;\n content: '#{str-slice(inspect($states), 2, -2)}';\n }\n\n @if not index($EQ-Selectors, '#{&}') {\n $EQ-Selectors: append($EQ-Selectors, '#{&}', 'comma') !global;\n }\n}\n\n//////////////////////////////\n// Element Query Selectors\n//\n// Prints list of selectors that were called for CSS element queries to HTML's `:before`\n//////////////////////////////\n@mixin eq-selectors {\n @at-root {\n html:before {\n display: none;\n content: '#{$EQ-Selectors}';\n }\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// webpack:///~/eq.js/sass/_eq.scss","@charset \"UTF-8\";\n\n/**\n * Copyright 2016 Leif Olsen. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*\n * A lightboard is a translucent surface illuminated from behind, used for situations\n * where a shape laid upon the surface needs to be seen with high contrast. In the \"old days\" of photography\n * photograpers used a lightboard to get a quick view of their slides. The goal is to create a responsive lightbox\n * design, based on flex layout, similar to what is used in Adobe LightRoom to browse images.\n */\n\n// Use of this module requires the user to include variables from material-design-lite\n//@import \"../../node_modules/material-design-lite/src/variables\";\n//@import \"../../node_modules/material-design-lite/src/mixins\";\n@import \"../variables\";\n\nul.mdlext-lightboard {\n list-style: none;\n}\n\n.mdlext-lightboard {\n box-sizing: border-box;\n margin: 0 auto;\n padding: 0;\n display: flex;\n flex-flow:row wrap;\n align-items: stretch;\n\n *,\n *::before,\n *::after,\n input[type=\"search\"] {\n box-sizing: border-box;\n }\n\n .mdlext-lightboard__slide {\n background-color: $mdlext-lightboard-slide-background-color;\n border: 1px solid $mdlext-lightboard-slide-border-color;\n border-radius: $mdlext-lightboard-slide-border-radius;\n box-shadow: $mdlext-lightboard-slide-box-shadow;\n position: relative;\n display: block;\n max-width: $mdlext-lightboard-slide-max-size;\n\n &::before {\n // 1:1 ratio\n // TODO: Use a class for ratio so the grid can display slides with different ratios (16:9, 16:10, 4:3 ...)\n content: '';\n display: block;\n padding-top: 100%;\n }\n &:hover,\n &:active,\n &:focus {\n border-color: $mdlext-lightboard-slide-border-color-hover;\n background-color: $mdlext-lightboard-slide-background-color-hover;\n box-shadow: $mdlext-lightboard-slide-box-shadow-hover;\n\n figcaption {\n color: rgba(0, 0, 0, 1) !important;\n background-color: rgba(255, 255, 255, 0.2);\n }\n }\n &:focus {\n outline-offset: -2px;\n outline-color: $mdlext-lightboard-focus-outline-color;\n }\n &[aria-selected='true'] {\n background-color: $mdlext-lightboard-slide-active-bacground-color;\n\n figcaption {\n color: rgba(0, 0, 0, 1) !important;\n background-color: rgba(255, 255, 255, 0.2);\n }\n }\n &__frame,\n &__ripple-container {\n text-decoration: none;\n display: block;\n overflow: hidden;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n\n &:focus {\n outline-offset: -2px;\n outline-color: $mdlext-lightboard-focus-outline-color;\n }\n & .mdl-ripple {\n background: $mdlext-lightboard-ripple-color;\n }\n figure {\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n\n img {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n margin: auto;\n max-width: 100%;\n max-height: 100%;\n border-width: 0;\n border-radius: $mdlext-lightboard-slide-inner-border-radius;\n }\n figcaption {\n @include typo-caption($colorContrast: false, $usePreferred: true);\n\n color: $mdlext-lightboard-figcaption-text-color;\n position: absolute;\n bottom: -2px;\n white-space: nowrap;\n overflow: hidden;\n max-width: 100%;\n width: 100%;\n text-align: center;\n text-overflow: ellipsis;\n padding: 4px 0;\n }\n }\n &:hover {\n figcaption {\n // As far as I can see there is no way to darken/lighten a text color\n // defined by MDL, due to the \"unqote\" functions.\n // So this is a hack\n color: rgba(0, 0, 0, 1) !important;\n background-color: rgba(255, 255, 255, 0.2);\n }\n }\n }\n }\n}\n\n////// Media / Element queries default, Small //////\n.mdlext-lightboard {\n padding: calc((#{$mdlext-lightboard-small-margin} - #{$mdlext-lightboard-small-gutter}) / 2);\n\n .mdlext-lightboard__slide {\n margin: calc(#{$mdlext-lightboard-small-gutter} / 2);\n width: calc(1 / #{$mdlext-lightboard-small-columns} * 100% - #{$mdlext-lightboard-small-gutter});\n\n .mdlext-lightboard__slide__frame figure {\n margin: $mdlext-lightboard-small-frame-width;\n }\n }\n &.mdlext-lightboard--no-spacing {\n padding: 0;\n\n .mdlext-lightboard__slide {\n margin: 0;\n width: calc(1 / #{$mdlext-lightboard-small-columns} * 100%);\n }\n }\n}\n\n// Import one of _lightboard-media-queries.scss or _lightboard-eq-js.scss to complete SASS\n\n\n\n// WEBPACK FOOTER //\n// webpack:///src/lightboard/_lightboard.scss","@charset \"UTF-8\";\n//////////////////////////////////////////////////////////////////////////////////\n//\n// Element queries for _lightbox.scss, based on: https://github.com/Snugug/eq.js\n//\n//////////////////////////////////////////////////////////////////////////////////\n\n@import \"../variables\";\n@import \"../functions\";\n\n.mdlext-lightboard {\n\n @include eq-pts((\n lightboard_medium_small: strip-unit($mdlext-lightboard-medium-small-breakpoint),\n lightboard_medium: strip-unit($mdlext-lightboard-medium-breakpoint),\n lightboard_medium_large: strip-unit($mdlext-lightboard-medium-large-breakpoint),\n lightboard_large: strip-unit($mdlext-lightboard-large-breakpoint)\n ));\n\n ////// small - meduim-small //////\n @include eq('lightboard_medium_small') {\n padding: calc((#{$mdlext-lightboard-medium-small-margin} - #{$mdlext-lightboard-medium-small-gutter}) / 2);\n\n .mdlext-lightboard__slide {\n margin: calc(#{$mdlext-lightboard-medium-small-gutter} / 2);\n width: calc(1 / #{$mdlext-lightboard-medium-small-columns} * 100% - #{$mdlext-lightboard-medium-small-gutter});\n\n .mdlext-lightboard__slide__frame figure {\n margin: $mdlext-lightboard-medium-small-frame-width;\n }\n }\n &.mdlext-lightboard--no-spacing {\n padding: 0;\n\n .mdlext-lightboard__slide {\n margin: 0;\n width: calc(1 / #{$mdlext-lightboard-medium-small-columns} * 100%);\n }\n }\n }\n\n ////// meduim-small - medium //////\n @include eq('lightboard_medium') {\n padding: calc((#{$mdlext-lightboard-medium-margin} - #{$mdlext-lightboard-medium-gutter}) / 2);\n\n .mdlext-lightboard__slide {\n margin: calc(#{$mdlext-lightboard-medium-gutter} / 2);\n width: calc(1 / #{$mdlext-lightboard-medium-columns} * 100% - #{$mdlext-lightboard-medium-gutter});\n\n .mdlext-lightboard__slide__frame figure {\n margin: $mdlext-lightboard-medium-frame-width;\n }\n }\n &.mdlext-lightboard--no-spacing {\n padding: 0;\n\n .mdlext-lightboard__slide {\n margin: 0;\n width: calc(1 / #{$mdlext-lightboard-medium-columns} * 100%);\n }\n }\n }\n\n ////// meduim - medium-large //////\n @include eq('lightboard_medium_large') {\n padding: calc((#{$mdlext-lightboard-medium-large-margin} - #{$mdlext-lightboard-medium-large-gutter}) / 2);\n\n .mdlext-lightboard__slide {\n margin: calc(#{$mdlext-lightboard-medium-large-gutter} / 2);\n width: calc(1 / #{$mdlext-lightboard-medium-large-columns} * 100% - #{$mdlext-lightboard-medium-large-gutter});\n\n .mdlext-lightboard__slide__frame figure {\n margin: $mdlext-lightboard-medium-large-frame-width;\n }\n }\n &.mdlext-lightboard--no-spacing {\n padding: 0;\n\n .mdlext-lightboard__slide {\n margin: 0;\n width: calc(1 / #{$mdlext-lightboard-medium-large-columns} * 100%);\n }\n }\n }\n\n ////// meduim-large - large //////\n @include eq('lightboard_large') {\n padding: calc((#{$mdlext-lightboard-large-margin} - #{$mdlext-lightboard-large-gutter}) / 2);\n\n .mdlext-lightboard__slide {\n margin: calc(#{$mdlext-lightboard-large-gutter} / 2);\n width: calc(1 / #{$mdlext-lightboard-large-columns} * 100% - #{$mdlext-lightboard-large-gutter});\n\n .mdlext-lightboard__slide__frame figure {\n margin: $mdlext-lightboard-large-frame-width;\n }\n }\n &.mdlext-lightboard--no-spacing {\n padding: 0;\n\n .mdlext-lightboard__slide {\n margin: 0;\n width: calc(1 / #{$mdlext-lightboard-large-columns} * 100%);\n }\n }\n }\n}\n\n@include eq-selectors;\n\n\n\n\n// WEBPACK FOOTER //\n// webpack:///src/lightboard/_lightboard-eqjs.scss","@charset \"UTF-8\";\n\n/**\n * Copyright 2016 Leif Olsen. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n// Use of this module requires the user to include variables from material-design-lite\n//@import \"../../node_modules/material-design-lite/src/variables\";\n//@import \"../../node_modules/material-design-lite/src/mixins\";\n@import \"../variables\";\n\n.mdlext-lightbox {\n user-select: none;\n cursor: default;\n position: relative;\n width: auto;\n max-width: 100%;\n margin: 0 auto;\n border: $mdlext-lightbox-border;\n border-radius: $mdlext-lightbox-border-radius;\n background-color: $mdlext-lightbox-background-color;\n box-sizing: border-box;\n outline: 0;\n display: block; // display: flex and IE11 has issues with reposition. Set display:block for now.\n\n *,\n *::before,\n *::after,\n input[type=\"search\"] {\n box-sizing: border-box;\n }\n\n .mdlext-lightbox__slider {\n // Displays prevvious, current and next image while dragging\n // Elements are created by lightbox component when dragging starts\n position: absolute;\n top: 0;\n left: 0;\n display: flex;\n justify-content: center;\n\n .mdlext-lightbox__slider__slide {\n flex-shrink: 0;\n display: block;\n text-align: left;\n color: #7f7f7f;\n background-size: cover;\n background-position: center;\n background-repeat: no-repeat;\n\n //&:nth-child(1),\n //&:nth-child(3) {\n // filter: blur(1px);\n //}\n }\n }\n\n figure {\n margin: $mdlext-lightbox-figure-margin;\n padding: $mdlext-lightbox-figure-padding;\n position: relative;\n\n img {\n width: 100%;\n max-width: 100%;\n height: auto;\n border: 0;\n outline: 0;\n }\n figcaption {\n @include typo-caption($colorContrast: false, $usePreferred: true);\n\n display: block;\n position: absolute;\n bottom: 0;\n left: 0;\n right: 0;\n max-width: 100%;\n height: auto;\n max-height: 50%;\n overflow: auto;\n padding: 8px;\n background-color: $mdlext-lightbox-figcaption-background-color;\n transform-origin: bottom;\n transform: scaleY(0);\n transition: 0.2s ease-in-out;\n\n &.mdlext-lightbox__show-figcaption {\n transform: scaleY(1);\n }\n tbody {\n th {\n text-align: left;\n }\n th,\n td {\n vertical-align: text-top;\n }\n }\n }\n }\n .mdl-card__menu {\n color: #ffffff;\n z-index: 1;\n }\n footer {\n display: flex;\n justify-content: space-between;\n align-items: center;\n background-color: $mdlext-lightbox-footer-background-color;\n\n .mdl-card__supporting-text {\n flex: 1;\n overflow: hidden;\n padding: 0;\n height: $card-supporting-text-line-height;\n width: 100%;\n }\n nav {\n display: flex;\n }\n }\n\n &.mdlext-lightbox--sticky-footer footer {\n position: fixed;\n bottom: 0;\n left: 0;\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// webpack:///src/lightbox/_lightbox.scss","@charset \"UTF-8\";\n\n/**\n * Copyright 2016 Leif Olsen. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*\n * A carousel ...\n */\n\n// Use of this module requires the user to include variables from material-design-lite\n//@import \"../../node_modules/material-design-lite/src/variables\";\n//@import \"../../node_modules/material-design-lite/src/mixins\";\n\nul.mdlext-carousel {\n list-style: none;\n}\n\n.mdlext-carousel {\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n overflow: hidden;\n height: 100%; // Use a container to constrain height and width\n width: 100%;\n display: block;\n white-space: nowrap;\n font-size: 0;\n background-color: transparent;\n}\n\n.mdlext-carousel__slide {\n box-sizing: border-box;\n display: inline-block;\n position: relative;\n outline: 0;\n margin: 0 $mdlext-carousel-slide-margin-horizontal;\n padding:0;\n height: 100%;\n border-top: $mdlext-carousel-slide-border-top-width solid transparent; // Makes room for the animated select/focus line\n\n //&:focus,\n &[aria-selected],\n &[aria-selected='true'] {\n figcaption {\n // As far as I can see there is no way to darken/lighten a text color\n // defined by MDL, due to the \"unqote\" functions.\n // So this is a hack\n color: rgba(0, 0, 0, 1) !important;\n background-color: rgba(255, 255, 255, 0.25);\n }\n }\n\n &[aria-selected]::after,\n &[aria-selected='true']::after {\n height: $mdlext-carousel-slide-border-top-width;\n width: 100%;\n display: block;\n content: ' ';\n top: (-$mdlext-carousel-slide-border-top-width);\n left: 0;\n position: absolute;\n background: $mdlext-carousel-slide-border-top-color;\n animation: border-expand 0.2s cubic-bezier(0.4, 0.0, 0.4, 1) 0.01s alternate forwards;\n transition: all 1s cubic-bezier(0.4, 0.0, 1, 1);\n }\n\n\n a {\n text-decoration: none;\n }\n\n figure {\n box-sizing: border-box;\n position: relative;\n height: 100%;\n margin: 0;\n padding: 0;\n\n img {\n box-sizing: border-box;\n max-height: 100%;\n }\n\n figcaption {\n box-sizing: border-box;\n @include typo-caption($colorContrast: false, $usePreferred: true);\n\n color: $mdlext-carousel-slide-figcaption-color;\n position: absolute;\n bottom: 0;\n left: 0;\n white-space: nowrap;\n overflow: hidden;\n max-width: 100%;\n width: 100%;\n text-align: center;\n text-overflow: ellipsis;\n padding: 4px 0;\n }\n &:hover {\n figcaption {\n // As far as I can see there is no way to darken/lighten a text color\n // defined by MDL, due to the \"unqote\" functions.\n // So this is a hack\n color: rgba(0, 0, 0, 1) !important;\n background-color: rgba(255, 255, 255, 0.25);\n }\n }\n }\n\n .mdlext-carousel__slide__ripple-container {\n text-decoration: none;\n display: block;\n overflow: hidden;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n outline: 0;\n\n & .mdl-ripple {\n background: $mdlext-carousel-slide-ripple-color;\n }\n }\n}\n\n\n\n\n\n// WEBPACK FOOTER //\n// webpack:///src/carousel/_carousel.scss","/**\n * Copyright 2016 Leif Olsen. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*\n * Copied/Modified/Inspired from/by:\n * https://github.com/google/material-design-lite/tree/master/src/textfield\n * http://red-team-design.com/making-html-dropdowns-not-suck/\n * http://codepen.io/etcpe9/pen/PqyOye,\n * http://codepen.io/pudgereyem/pen/PqBxQx\n * https://github.com/MEYVN-digital/mdl-selectfield\n * https://github.com/mebibou/mdl-selectfield\n */\n\n// Use of this module requires the user to include variables from material-design-lite\n//@import \"../../node_modules/material-design-lite/src/variables\";\n//@import \"../../node_modules/material-design-lite/src/mixins\";\n\n@import \"../mixins\";\n\n// The container for the selectfield.\n.mdlext-selectfield {\n box-sizing: border-box;\n position: relative;\n font-size: $input-text-font-size;\n display: inline-block;\n width: 300px;\n max-width: 100%;\n margin: 0;\n padding: $input-text-vertical-spacing 0;\n\n // Align buttons, if used.\n & .mdl-button {\n bottom: $input-text-vertical-spacing;\n position: absolute;\n }\n\n // Styling the down arrow\n &::after {\n @include mdlext-arrow(bottom, $mdlext-selectfield-arrow-width, $mdlext-selectfield-arrow-length);\n\n position: absolute;\n right: 0.5em;\n top: 50%;\n transform: translateY(-50%);\n pointer-events: none;\n }\n}\n\n.mdlext-selectfield.is-disabled {\n &::after {\n color: $input-text-disabled-color;\n @include mdlext-arrow(bottom, $mdlext-selectfield-arrow-width, $mdlext-selectfield-arrow-length, $input-text-disabled-color);\n }\n}\n\n// Optional class to align right.\n.mdlext-selectfield--align-right {\n text-align: right;\n}\n\n// Optional class to display at full width.\n.mdlext-selectfield--full-width {\n width: 100%;\n}\n\n// Optional class to make the select field expandable.\n.mdlext-selectfield--expandable {\n min-height: $input-text-button-size;\n min-width: $input-text-button-size;\n width: auto;\n}\n\n// Styling for the select element.\n.mdlext-selectfield__select {\n\n // Reset select\n box-sizing: border-box;\n border: 0;\n border-radius: 0;\n -webkit-appearance: none;\n -moz-appearance: none;\n -ms-appearance: none;\n appearance: none;\n text-indent: 0.01px; // Removes default arrow from firefox\n text-overflow: ''; // Removes default arrow from firefox\n outline: none;\n box-shadow: none;\n // End Reset select\n\n font-size: $input-text-font-size;\n font-family: $performance_font;\n padding: $input-text-padding calc(1.2em + #{$input-text-padding}) $input-text-padding 0;\n width: $input-text-width;\n border-bottom: 1px solid $input-text-bottom-border-color;\n display: block;\n margin: 0;\n background: none;\n text-align: left;\n color: inherit;\n\n // Mozilla, remove focusring\n &:-moz-focusring {\n color: transparent;\n text-shadow: 0 0 0 #000000;\n }\n\n // MS, remove selected option background color\n &:focus::-ms-value {\n background-color: inherit;\n color: inherit;\n }\n\n &::-ms-expand {\n display: none;\n }\n\n .mdlext-selectfield.is-focused & {\n outline: none;\n }\n\n .mdlext-selectfield.is-invalid & {\n border-color: $input-text-error-color;\n box-shadow: none;\n }\n\n fieldset[disabled] .mdlext-selectfield &,\n .mdlext-selectfield.is-disabled & {\n border-bottom: 1px dotted $input-text-disabled-color;\n color: $input-text-disabled-text-color;\n background-color: transparent;\n }\n\n option {\n color: $text-color-primary;\n box-sizing: border-box;\n background-color: inherit;\n }\n}\n\n// Styling for the label / floating label.\n.mdlext-selectfield__label {\n box-sizing: border-box;\n color: $input-text-label-color;\n font-size: $input-text-font-size;\n top: ($input-text-padding + $input-text-vertical-spacing);\n bottom: 0;\n left: 0;\n right: 0;\n pointer-events: none;\n position: absolute;\n display: block;\n width: 100%;\n overflow: hidden;\n white-space: nowrap;\n text-align: left;\n\n .mdlext-selectfield.is-dirty &,\n .mdlext-selectfield.has-placeholder & {\n visibility: hidden;\n }\n\n // Floating Label\n .mdlext-selectfield--floating-label & {\n @include material-animation-default();\n }\n\n .mdlext-selectfield--floating-label.has-placeholder & {\n transition: none;\n }\n\n fieldset[disabled] .mdlext-selectfield &,\n .mdlext-selectfield.is-disabled.is-disabled & {\n color: $input-text-disabled-text-color;\n }\n\n .mdlext-selectfield--floating-label.is-focused &,\n .mdlext-selectfield--floating-label.is-dirty.is-dirty &,\n .mdlext-selectfield--floating-label.has-placeholder & {\n color: $input-text-highlight-color;\n font-size: $input-text-floating-label-fontsize;\n top: $input-text-vertical-spacing - ($input-text-floating-label-fontsize + $input-text-padding);\n visibility: visible;\n }\n\n .mdlext-selectfield--floating-label.is-focused .mdlext-selectfield__expandable-holder &,\n .mdlext-selectfield--floating-label.is-dirty .mdlext-selectfield__expandable-holder &,\n .mdlext-selectfield--floating-label.has-placeholder .mdlext-selectfield__expandable-holder & {\n top: -($input-text-floating-label-fontsize + $input-text-padding);\n }\n\n .mdlext-selectfield--floating-label.is-invalid & {\n color: $input-text-error-color;\n font-size: $input-text-floating-label-fontsize;\n }\n\n // The after label is the colored underline for the Selectfield.\n &::after {\n background-color: $input-text-highlight-color;\n bottom: $input-text-vertical-spacing;\n content: '';\n height: 2px;\n left: 45%;\n position: absolute;\n @include material-animation-default();\n\n visibility: hidden;\n width: 10px;\n }\n\n .mdlext-selectfield.is-focused &::after {\n left: 0;\n visibility: visible;\n width: 100%;\n }\n\n .mdlext-selectfield.is-invalid &::after {\n background-color: $input-text-error-color;\n }\n}\n\n// SelectField Error.\n.mdlext-selectfield__error {\n color: $input-text-error-color;\n font-size: $input-text-floating-label-fontsize;\n position: absolute;\n margin-top: 3px;\n visibility: hidden;\n display: block;\n\n .mdlext-selectfield.is-invalid & {\n visibility: visible;\n }\n}\n\n// Expandable Holder.\n.mdlext-selectfield__expandable-holder {\n display: inline-block;\n position: relative;\n margin-left: $input-text-button-size;\n\n @include material-animation-default();\n\n // Safari (possibly others) need to be convinced that this field is actually\n // visible, otherwise it cannot be tabbed to nor focused via a .\n // TODO: In some cases (Retina displays), this is big enough to render the\n // inner element :(\n max-width: 0.1px;\n\n .mdlext-selectfield.is-focused &,\n .mdlext-selectfield.is-dirty & {\n // This is an unfortunate hack. Animating between widths in percent (%)\n // in many browsers (Chrome, Firefox) only animates the inner visual style\n // of the input - the outer bounding box still 'jumps'.\n // Thus assume a sensible maximum, and animate to/from that value.\n max-width: 600px;\n }\n .mdlext-selectfield__label::after {\n bottom: 0;\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// webpack:///src/selectfield/_selectfield.scss","@charset \"UTF-8\";\n\n/**\n * @license\n * Copyright 2016 Leif Olsen. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * This code is built with Google Material Design Lite,\n * which is Licensed under the Apache License, Version 2.0\n */\n\n/* Moved to aria-expanded-toggle.scss\n\n.mdlext-aria-expanded-plus-minus {\n @include mdlext-aria-expanded-toggle($font-family: inherit);\n}\n\n.mdlext-aria-expanded-more-less {\n @include mdlext-aria-expanded-toggle($icon: 'expand_more', $icon-expanded: 'expand_less');\n}\n*/\n\n.mdlext-menu-button {\n box-sizing: border-box;\n @include typo-menu();\n text-transform: none;\n position: relative;\n height: $button-height;\n padding: 0 $button-padding;\n display: flex;\n align-items: center;\n align-self: stretch;\n\n > * {\n margin: 0;\n padding: 0 0 0 8px;\n }\n\n > *:first-child {\n padding-left: 0;\n }\n\n > *:last-child:not(:only-child):not(.mdlext-menu__item__caption) {\n margin-left: auto; // If more than one element, push last element to the right\n }\n\n}\n\n.mdlext-menu-button__caption {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n line-height: 1.2;\n}\n\n.mdlext-menu,\n.mdlext-menu__item {\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n list-style: none;\n display: flex;\n}\n\n.mdlext-menu {\n position: absolute; //fixed;\n background: $default-dropdown-bg-color;\n z-index: 1000;\n min-width: 124px;\n border-radius: 2px;\n @include shadow-3dp();\n display: inline-flex;\n flex-direction: column;\n padding: 0;\n overflow: hidden;\n overflow-y: auto;\n\n &:focus {\n outline-offset: -1px;\n outline-width: 1px;\n }\n\n &[hidden] {\n @include mdlext-visually-hidden;\n pointer-events: none;\n }\n\n &__item {\n @include typo-body-1();\n color: $default-item-text-color;\n background-color: $default-dropdown-bg-color;\n position: relative;\n padding: 0 16px 0 24px;\n align-items: center;\n align-self: stretch;\n text-decoration: none;\n cursor: pointer;\n white-space: nowrap;\n user-select: none;\n min-height: 40px;\n overflow: hidden;\n\n &[aria-selected='true'] {\n background-color: $default-item-active-bg-color;\n }\n\n // checkmark\n &[aria-selected='true']::before {\n content:'\\2713';\n position: absolute;\n font-size: 1.4em;\n left: 4px;\n top: 50%;\n transform: translateY(-50%);\n pointer-events: none;\n }\n\n &:hover:not([disabled]) {\n background-color: $default-item-hover-bg-color;\n }\n\n &:focus {\n outline-offset: -2px;\n outline-width: 1px;\n outline-color: $default-item-outline-color;\n background-color: $default-item-focus-bg-color;\n }\n\n &::-moz-focus-inner {\n border: 0;\n }\n\n &[disabled] {\n color: $disabled-item-text-color;\n background-color: transparent;\n cursor: auto;\n pointer-events: none;\n\n > * {\n color: $disabled-item-text-color;\n }\n }\n\n &__caption {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n > * {\n margin: 0;\n padding: 0 0 0 8px;\n }\n\n > *:first-child {\n padding-left: 0;\n }\n\n > *:last-child:not(:only-child):not(.mdlext-menu__item__caption) {\n margin-left: auto; // If more than one element, push last element to the right\n }\n\n }\n &__item-separator {\n margin: 0;\n padding: 0;\n border-bottom: 1px solid $default-item-divider-color;\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// webpack:///src/menu-button/_menu-button.scss","/**\n * Copyright 2016 Leif Olsen. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*\n * The bordered fields are based on / inspired by this CodePen: http://codepen.io/prajwal078/pen/LVJZXz?editors=010\n */\n\n// Use of this module requires the user to include variables from material-design-lite\n//@import \"../../node_modules/material-design-lite/src/variables\";\n//@import \"../../node_modules/material-design-lite/src/mixins\";\n\n@import \"../variables\";\n@import \"../functions\";\n\n\n// \"Theme\" for this styling\n.mdlext-bordered-fields {\n box-sizing: border-box;\n\n * {\n box-sizing: border-box;\n }\n\n // Styling for textfield and selectfield.\n .mdl-textfield,\n .mdlext-selectfield {\n padding: 0;\n margin: $mdlext-bordered-field-vertical-spacing-top 0 $mdlext-bordered-field-vertical-spacing-bottom 0;\n\n .mdl-textfield__input,\n .mdlext-selectfield__select {\n height: $mdlext-bordered-field-height;\n background-color: $mdlext-bordered-field-background-color;\n border: $mdlext-bordered-field-border-width solid $mdlext-bordered-field-border-color;\n border-radius: $mdlext-bordered-field-border-radius;\n padding: $mdlext-bordered-field-padding-top $mdlext-bordered-field-padding $mdlext-bordered-field-padding-bottom $mdlext-bordered-field-padding;\n font-size: $mdlext-bordered-field-input-text-font-size;\n font-weight: $mdlext-bordered-field-font-weight;\n color: $mdlext-bordered-field-input-text-color;\n\n &:disabled {\n color: $mdlext-bordered-field-input-text-disabled-text-color;\n background-color: $mdlext-bordered-field-disabled-background-color;\n border-color: $mdlext-bordered-field-disabled-border-color;\n }\n\n // MDL can not handle required attribute properly. Planned for MDL-v2\n //&:required {\n // background-color: $mdlext-bordered-field-required-background-color;\n // border-color: $mdlext-bordered-field-required-border-color;\n //}\n\n &:focus {\n background-color: $mdlext-bordered-field-focus-background-color;\n border-color: $mdlext-bordered-field-focus-border-color;\n }\n\n // MDL can not handle required. Planned for MDL-v2\n //&:required:focus {\n // background-color: $mdlext-bordered-field-required-focus-background-color;\n // border-color: $mdlext-bordered-field-required-focus-border-color;\n //}\n }\n .mdlext-selectfield__select {\n padding-right: calc(1em + #{$mdlext-bordered-field-padding}); // space for down arrow\n }\n\n /*\n &.is-dirty {\n .mdl-textfield__input,\n .mdlext-selectfield__select {\n }\n }\n */\n\n &.is-invalid {\n .mdl-textfield__input,\n .mdlext-selectfield__select {\n color: $mdlext-bordered-field-input-text-error-color;\n border-color: $mdlext-bordered-field-error-border-color;\n background-color: $mdlext-bordered-field-error-background-color;\n\n &:focus {\n //&:required:focus {\n border-color: $mdlext-bordered-field-error-focus-border-color;\n background-color: $mdlext-bordered-field-error-focus-background-color;\n }\n }\n }\n }\n\n .mdlext-selectfield::after {\n top: auto;\n bottom: $mdlext-bordered-field-padding-bottom; // Position of down arrow\n }\n\n fieldset[disabled] .mdlext-selectfield::after,\n .mdlext-selectfield.is-disabled::after {\n color: $mdlext-bordered-field-input-text-disabled-text-color;\n @include mdlext-arrow(bottom, $mdlext-selectfield-arrow-width, $mdlext-selectfield-arrow-length, $mdlext-bordered-field-input-text-disabled-text-color);\n }\n\n\n fieldset[disabled] .mdl-textfield .mdl-textfield__input,\n fieldset[disabled] .mdlext-selectfield .mdlext-selectfield__select {\n color: $mdlext-bordered-field-input-text-disabled-text-color;\n background-color: $mdlext-bordered-field-disabled-background-color;\n border-color: $mdlext-bordered-field-disabled-border-color;\n }\n\n\n // Styling for the label / floating label.\n .mdl-textfield,\n .mdlext-selectfield {\n\n &.is-dirty,\n &.has-placeholder {\n .mdl-textfield__label,\n .mdlext-selectfield__label {\n visibility: hidden;\n }\n }\n .mdl-textfield__label,\n .mdlext-selectfield__label {\n color: $mdlext-bordered-field-input-text-label-color;\n font-size: $mdlext-bordered-field-label-font-size;\n font-weight: $mdlext-bordered-field-font-weight;\n padding-left: $mdlext-bordered-field-padding;\n top: auto;\n bottom: $mdlext-bordered-field-padding-bottom;\n\n // Hides the colored underline for the textField/selectfield.\n &::after {\n background-color: transparent !important;\n visibility: hidden !important;\n }\n }\n &.mdl-textfield--floating-label.is-focused.is-focused,\n &.mdl-textfield--floating-label.is-dirty.is-dirty,\n &.mdl-textfield--floating-label.has-placeholder,\n &.mdlext-selectfield--floating-label.is-focused.is-focused,\n &.mdlext-selectfield--floating-label.is-dirty.is-dirty,\n &.mdlext-selectfield--floating-label.has-placeholder {\n\n .mdl-textfield__label,\n .mdlext-selectfield__label {\n color: $mdlext-bordered-field-input-text-label-focus-color;\n font-size: $mdlext-bordered-field-floating-label-font-size;\n font-weight: $mdlext-bordered-field-floating-label-font-weight;\n top: auto;\n bottom: $mdlext-bordered-field-floating-label-focus-bottom;\n visibility: visible;\n }\n }\n &.mdl-textfield--floating-label.is-disabled.is-disabled,\n &.mdlext-selectfield--floating-label.is-disabled.is-disabled {\n\n .mdl-textfield__label,\n .mdlext-selectfield__label {\n color: $mdlext-bordered-field-input-text-label-disabled-color;\n }\n }\n &.mdl-textfield--floating-label.is-invalid.is-invalid,\n &.mdlext-selectfield--floating-label.is-invalid.is-invalid {\n\n .mdl-textfield__label,\n .mdlext-selectfield__label {\n color: $mdlext-bordered-field-input-text-label-error-color;\n }\n }\n }\n\n fieldset[disabled] .mdl-textfield .mdl-textfield__label,\n fieldset[disabled] .mdl-selectfield .mdl-selectfield__label {\n color: $mdlext-bordered-field-input-text-label-disabled-color;\n }\n\n // Icon(s) and/or button(s) inside textfield\n .mdl-textfield,\n .mdlext-selectfield {\n &.mdlext-bordered-fields__icon-left,\n &.mdlext-bordered-fields__icon-right {\n & > i,\n & > .mdl-button {\n position: absolute;\n bottom: $mdlext-bordered-field-padding-bottom - 2px;\n }\n & > i {\n bottom: $mdlext-bordered-field-padding-bottom + 2px;\n }\n }\n &.mdlext-bordered-fields__icon-left {\n & > i:first-child,\n & > .mdl-button:first-child {\n left: $mdlext-bordered-field-padding/2;\n }\n & > i ~ .mdl-textfield__input,\n & > .mdl-button ~ .mdl-textfield__input,\n & > i ~ .mdlext-selectfield__select,\n & > .mdl-button ~ .mdlext-selectfield__select {\n padding-left: $input-text-button-size;\n }\n & > i ~ .mdl-textfield__label,\n & > .mdl-button ~ .mdl-textfield__label {\n left: $input-text-button-size - $mdlext-bordered-field-padding;\n }\n & > i ~ .mdlext-selectfield__label,\n & > .mdl-button ~ .mdlext-selectfield__label {\n left: $input-text-button-size - $mdlext-bordered-field-padding;\n }\n }\n &.mdlext-bordered-fields__icon-right {\n & > .mdl-textfield__input {\n padding-right: $input-text-button-size;\n }\n & > i:last-child,\n & > .mdl-button:last-child {\n left: auto;\n right: $mdlext-bordered-field-padding/2;\n }\n }\n &.is-disabled i,\n &.is-disabled .mdl-button {\n color: $mdlext-bordered-field-disabled-border-color;\n pointer-events: none;\n }\n }\n\n fieldset[disabled] .mdl-textfield,\n fieldset[disabled] .mdlext-selectfield {\n i,\n .mdl-button {\n color: $mdlext-bordered-field-disabled-border-color;\n pointer-events: none;\n }\n }\n}\n\n\n\n\n// WEBPACK FOOTER //\n// webpack:///src/bordered-fields/_bordered-fields.scss","@charset \"UTF-8\";\n\n/**\n * @license\n * Copyright 2016-2017 Leif Olsen. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * This code is built with Google Material Design Lite,\n * which is Licensed under the Apache License, Version 2.0\n */\n\n.mdlext-collapsible {\n box-sizing: border-box;\n cursor: pointer;\n}\n\n.mdlext-collapsible-group,\n.mdlext-collapsible-region {\n box-sizing: border-box;\n\n &[hidden] {\n @include mdlext-visually-hidden;\n pointer-events: none;\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// webpack:///src/collapsible/_collapsible.scss","@charset \"UTF-8\";\n\n/**\n * @license\n * Copyright 2016 Leif Olsen. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * This code is built with Google Material Design Lite,\n * which is Licensed under the Apache License, Version 2.0\n */\n\n.mdlext-aria-toggle-plus-minus {\n @include mdlext-aria-expanded-toggle($font-family: inherit, $font-size: 1.4em);\n}\n\n.mdlext-aria-toggle-material-icons {\n @include mdlext-aria-expanded-toggle($font-size: 1.3em, $icon: 'expand_more', $icon-expanded: 'expand_less', $icon-offset: -$mdlext-accordion-header-padding);\n}\n\n.mdlext-accordion {\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n list-style: none;\n display: flex;\n\n * {\n box-sizing: border-box;\n }\n\n &__panel {\n box-sizing: border-box;\n position: relative;\n overflow: hidden;\n display: flex;\n flex-wrap: nowrap;\n }\n\n &__tab {\n @include typo-title();\n\n font-weight: 400;\n line-height: 1.1;\n box-sizing: border-box;\n position: relative;\n margin: 0;\n padding: 0; // $mdlext-accordion-header-padding;\n min-width: $mdlext-accordion-header-height;\n min-height: $mdlext-accordion-header-height;\n display: flex;\n align-items: center;\n align-self: stretch;\n user-select: none;\n color: $mdlext-accordion-header-secondary-color;\n background-color: $mdlext-accordion-header-background-color;\n cursor: pointer;\n overflow: hidden;\n\n &:focus {\n outline-offset: -2px;\n outline-color: $mdlext-accordion-header-focus-outline-color;\n outline-width: 2px;\n }\n\n &[aria-expanded='true'] {\n background-color: $mdlext-accordion-header-background-open-color;\n }\n\n &[aria-selected='true'] {\n background-color: $mdlext-accordion-header-background-active-color;\n }\n\n &[disabled] {\n background-color: $mdlext-accordion-header-disabled-color;\n color: $mdlext-accordion-header-secondary-color-disabled;\n pointer-events: none;\n\n > * {\n color: $mdlext-accordion-header-secondary-color-disabled;\n }\n }\n\n &:hover:not([disabled]) {\n background-color: $mdlext-accordion-header-background-hover-color;\n }\n\n > * {\n margin: 0;\n padding: 0;\n }\n\n &__caption {\n padding-left: $mdlext-accordion-header-padding;\n padding-right: $mdlext-accordion-header-padding;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n > *:first-child {\n padding-left: 0;\n }\n\n &--ripple {\n &[aria-selected='true']::before {\n content: '';\n position: absolute;\n top: 50%;\n left: 50%;\n background: $mdlext-accordion-ripple-color;\n opacity: 0;\n border-radius: 100%;\n transform: scale(1, 1) translate(-50%);\n transform-origin: 50% 50%;\n }\n &[aria-selected='true']:focus:not(:active)::before {\n // http://easings.net/\n animation: mdlext-accordion-tab-ripple 1s cubic-bezier(0.4, 0.0, 0.4, 1) 0.01s alternate forwards; // cubic-bezier(0.4, 0.0, 1, 1); //cubic-bezier(0.4, 0.0, 0.4, 1) 0.01s alternate forwards; //ease-out;\n }\n }\n }\n\n &__tabpanel {\n box-sizing: border-box;\n margin: 0;\n padding: 0 $mdlext-accordion-content-padding;\n color: $mdlext-accordion-content-color;\n background-color: $mdlext-accordion-content-background-color;\n display: block;\n overflow: auto;\n flex-grow: 1;\n\n &[hidden] {\n @include mdlext-visually-hidden;\n }\n }\n}\n\n// Vertical layout\n.mdlext-accordion {\n\n &--vertical {\n flex-direction: column;\n flex-wrap: nowrap;\n\n .mdlext-accordion__panel {\n min-height: $mdlext-accordion-header-height;\n flex-direction: column;\n }\n\n .mdlext-accordion__tab {\n height: $mdlext-accordion-header-height;\n border-top: 1px solid $mdlext-accordion-header-border-color;\n padding-left: $mdlext-accordion-header-padding;\n padding-right: $mdlext-accordion-header-padding;\n\n &[aria-selected='true']::after {\n position: absolute;\n bottom: 0;\n left: 0;\n height: 1px;\n width: 100%;\n display: block;\n content: \" \";\n background-color: $mdlext-accordion-header-highlight-color;\n animation: border-expand 0.2s cubic-bezier(0.4, 0.0, 0.4, 1) 0.01s alternate forwards;\n transition: all 1s cubic-bezier(0.4, 0.0, 1, 1);\n }\n\n > * {\n padding-left: $mdlext-accordion-header-padding;\n }\n\n > *:first-child {\n padding-left: 0;\n }\n\n > *:last-child:not(:only-child):not(.mdlext-accordion__tab__caption) {\n margin-left: auto; // If more than one element, push last element to the right\n }\n\n &--ripple {\n &[aria-selected='true']::before {\n width: 5%;\n height: 10%;\n }\n }\n\n }\n\n .mdlext-accordion__tabpanel {\n border-top: 1px solid $mdlext-accordion-header-border-color;\n\n &--animation {\n transform: scaleY(1);\n animation: mdlext-accordion-show-tabpanel-y 0.2s ease-in-out;\n\n &[hidden] {\n transform: scaleY(0);\n animation: mdlext-accordion-hide-tabpanel-y 0.2s ease-out;\n animation-delay: 0.1s;\n }\n }\n }\n }\n}\n\n// Horizontal layout\n.mdlext-accordion {\n\n &--horizontal {\n\n .mdlext-accordion__panel {\n min-width: $mdlext-accordion-header-height;\n width: $mdlext-accordion-header-height;\n }\n\n &[aria-multiselectable='true'] .mdlext-accordion__panel.is-expanded {\n width: 100%;\n }\n\n .mdlext-accordion__tab {\n flex-direction: column-reverse;\n width: $mdlext-accordion-header-height;\n white-space: nowrap;\n border-left: 1px solid $mdlext-accordion-header-border-color;\n\n &[aria-selected='true']::after {\n position: absolute;\n top: 0;\n right: 0;\n height: 100%;\n width: 1px;\n display: block;\n content: \" \";\n background-color: $mdlext-accordion-header-highlight-color;\n\n // Figure out how to animate a vertical line\n //animation: border-expand 0.2s cubic-bezier(0.4, 0.0, 0.4, 1) 0.01s alternate forwards;\n //transition: all 1s cubic-bezier(0.4, 0.0, 1, 1);\n }\n\n > * {\n //transform: rotate(-90deg) translateX(50%);\n transform: rotate(-90deg) translateX($mdlext-accordion-header-padding);\n }\n\n > *:last-child:not(:only-child):not(.mdlext-accordion__tab__caption) {\n // If more than one element, push last element to top\n margin-bottom: auto;\n transform: rotate(-90deg) translateX(0);\n }\n\n &__caption {\n transform: rotate(-90deg) translateX(50%);\n padding-right: $mdlext-accordion-header-padding + 8px;\n }\n\n &--ripple {\n &[aria-selected='true']::before {\n width: 10%;\n height: 5%;\n }\n }\n }\n\n .mdlext-accordion__tabpanel {\n border-left: 1px solid $mdlext-accordion-header-border-color;\n\n &--animation {\n transform: scaleX(1);\n animation: mdlext-accordion-show-tabpanel-x 0.2s ease-in-out;\n\n &[hidden] {\n transform: scaleX(0);\n animation: mdlext-accordion-hide-tabpanel-x 0.2s ease-out;\n }\n }\n }\n }\n}\n\n.mdlext-accordion {\n\n &__panel:first-child > &__tab {\n // Use container to set outer borders\n border-top-color: transparent;\n border-left-color: transparent;\n }\n\n &[aria-multiselectable=\"false\"] {\n .mdlext-accordion__panel.is-expanded {\n flex-grow: 1;\n }\n }\n}\n\n// Making accordion appear disabled.\n// Note: does not prevent tabbing into a disabled accordion\n.mdlext-accordion[disabled] {\n * {\n pointer-events: none;\n }\n .mdlext-accordion__tab {\n background-color: $mdlext-accordion-header-disabled-color;\n color: $mdlext-accordion-header-secondary-color-disabled;\n\n > * {\n color: $mdlext-accordion-header-secondary-color-disabled;\n }\n }\n .mdlext-accordion__tabpanel {\n opacity: 0.8;\n filter: blur(1px) grayscale(80%);\n }\n}\n\n\n@keyframes mdlext-accordion-tab-ripple {\n 0% {\n transform: scale(0, 0);\n opacity: 1;\n }\n 20% {\n transform: scale(25, 25);\n opacity: 1;\n }\n 100% {\n opacity: 0;\n transform: scale(40, 40);\n }\n}\n\n/*\n@keyframes mdlext-accordion-show-tabpanel-y {\n 0% { transform: scaleY(0.1); }\n 40% { transform: scaleY(1.03); }\n 60% { transform: scaleY(0.98); }\n 80% { transform: scaleY(1.03); }\n 100% { transform: scaleY(0.98); }\n 80% { transform: scaleY(1.01); }\n 100% { transform: scaleY(1); }\n}\n*/\n\n@keyframes mdlext-accordion-show-tabpanel-y {\n 0% { transform: scaleY(0); }\n 60% { transform: scaleY(1.01); }\n 80% { transform: scaleY(0.98); }\n 100% { transform: scaleY(1); }\n}\n\n@keyframes mdlext-accordion-hide-tabpanel-y {\n 0% { transform: scaleY(1); }\n 60% { transform: scaleY(0.98); }\n 80% { transform: scaleY(1.01); }\n 100% { transform: scaleY(0); }\n}\n\n/*\n@keyframes mdlext-accordion-show-tabpanel-x {\n 0% { transform: scaleX(0.1); }\n 40% { transform: scaleX(1.03); }\n 60% { transform: scaleX(0.98); }\n 80% { transform: scaleX(1.03); }\n 100% { transform: scaleX(0.98); }\n 80% { transform: scaleX(1.01); }\n 100% { transform: scaleX(1); }\n}\n*/\n\n@keyframes mdlext-accordion-show-tabpanel-x {\n 0% { transform: scaleX(0); }\n 60% { transform: scaleX(1.01); }\n 80% { transform: scaleX(0.98); }\n 100% { transform: scaleX(1); }\n}\n\n@keyframes mdlext-accordion-hide-tabpanel-x {\n 0% { transform: scaleX(1); }\n 60% { transform: scaleX(0.98); }\n 80% { transform: scaleX(1.01); }\n 100% { transform: scaleX(0); }\n}\n\n\n\n// WEBPACK FOOTER //\n// webpack:///src/accordion/_accordion.scss","/* -------------------------------------------------------------\n Palette samples. Not part of build\n----------------------------------------------------------------\n\n$mdlext-light-color-primary: #9E9E9E !default;\n$mdlext-light-color-primary-dark: #616161 !default;\n$mdlext-light-color-primary-light: #9E9E9E !default; // Fallback color. Set to color-primary if fallback is not needed\n$mdlext-light-color-primary-contrast: #212121 !default; // text color on primary/primary dark background\n$mdlext-light-color-accent: #E040FB !default;\n$mdlext-light-color-accent-light: #E040FB !default; // Fallback color. Set to color-accent if fallback is not needed\n$mdlext-light-color-accent-contrast: #FAFAFA !default;\n\n$mdlext-light-color-primary: #F5F5F5 !default;\n$mdlext-light-color-primary-dark: #E0E0E0 !default;\n$mdlext-light-color-primary-light: #8BC34A !default; // Fallback color. Set to color-primary if fallback is not needed\n$mdlext-light-color-primary-contrast: #000000 !default; // text color on primary/primary dark background\n$mdlext-light-color-accent: #FFC107 !default;\n$mdlext-light-color-accent-light: #FFC107 !default; // Fallback color. Set to color-accent if fallback is not needed\n$mdlext-light-color-accent-contrast: #FFFFFF !default;\n\n\n$mdlext-light-color-primary: #673AB7 !default;\n$mdlext-light-color-primary-dark: #512DA8 !default;\n$mdlext-light-color-primary-light: #673AB7 !default; // Fallback color. Set to color-primary if fallback is not needed\n$mdlext-light-color-primary-contrast: #D1C4E9 !default; // text color on primary/primary dark background\n$mdlext-light-color-accent: #4CAF50 !default;\n$mdlext-light-color-accent-light: #4CAF50 !default; // Fallback color. Set to color-accent if fallback is not needed\n$mdlext-light-color-accent-contrast: #FFFFFF !default;\n\n\n$mdlext-light-color-primary: #4CAF50 !default;\n$mdlext-light-color-primary-dark: #388E3C !default;\n$mdlext-light-color-primary-light: #4CAF50 !default; // Fallback color. Set to color-primary if fallback is not needed\n$mdlext-light-color-primary-contrast: #C8E6C9 !default; // text color on primary/primary dark background\n$mdlext-light-color-accent: #FF5252 !default;\n$mdlext-light-color-accent-light: #FF5252 !default; // Fallback color. Set to color-accent if fallback is not needed\n$mdlext-light-color-accent-contrast: #FFFFFF !default;\n\n\n$mdlext-light-color-primary: #4CAF50 !default;\n$mdlext-light-color-primary-dark: #388E3C !default;\n$mdlext-light-color-primary-light: #4CAF50 !default; // Fallback color. Set to color-primary if fallback is not needed\n$mdlext-light-color-primary-contrast: #C8E6C9 !default; // text color on primary/primary dark background\n$mdlext-light-color-accent: #03A9F4 !default;\n$mdlext-light-color-accent-light: #03A9F4 !default; // Fallback color. Set to color-accent if fallback is not needed\n$mdlext-light-color-accent-contrast: #FFFFFF !default;\n\n\n$mdlext-dark-color-primary: #212121 !default;\n$mdlext-dark-color-primary-dark: #000000 !default;\n$mdlext-dark-color-primary-light: #607D8B !default; // Fallback color. Set to color-primary if fallback is not needed\n$mdlext-dark-color-primary-contrast: #FFFFFF !default; // text color on primary/primary dark background\n$mdlext-dark-color-accent: #FF5722 !default;\n$mdlext-dark-color-accent-light: #FF5722 !default; // Fallback color. Set to color-accent if fallback is not needed\n$mdlext-dark-color-accent-contrast: #FFFFFF !default;\n\n*/\n\n\n\n// WEBPACK FOOTER //\n// webpack:///src/color-themes/_color-themes.scss","@import \"color-themes\";\n\n.mdlext-light-color-theme {\n background-color: $mdlext-light-content-background-color;\n color: $mdlext-light-text-color-primary;\n\n a {\n outline-color: inherit;\n }\n}\n\n// mdl/src/palette/_palette.scss\n// -----------------------------\n.mdlext-light-color-theme {\n\n .mdl-color--primary {\n background-color: $mdlext-light-color-primary !important;\n }\n\n .mdl-color--primary-contrast {\n background-color: $mdlext-light-color-primary-contrast !important;\n }\n\n .mdl-color--primary-dark {\n background-color: $mdlext-light-color-primary-dark !important;\n }\n\n .mdl-color--accent {\n background-color: $mdlext-light-color-accent !important;\n }\n\n .mdl-color--accent-contrast {\n background-color: $mdlext-light-color-accent-contrast !important;\n }\n\n .mdl-color-text--primary {\n color: $mdlext-light-color-primary !important;\n }\n\n .mdl-color-text--primary-contrast {\n color: $mdlext-light-color-primary-contrast !important;\n }\n\n .mdl-color-text--primary-dark {\n color: $mdlext-light-color-primary-dark !important;\n }\n\n .mdl-color-text--accent {\n color: $mdlext-light-color-accent !important;\n }\n\n .mdl-color-text--accent-contrast {\n color: $mdlext-light-color-accent-contrast !important;\n }\n\n}\n\n// mdl/src/typography/_typography.scss\n// -----------------------------------\n.mdlext-light-color-theme {\n a {\n color: $mdlext-light-text-link-color;\n }\n}\n\n\n// mdl/src/badge/_badge.scss\n// ---------------------------\n.mdlext-light-color-theme {\n .mdl-badge {\n\n &[data-badge]::after {\n background: $mdlext-light-badge-background;\n color: $mdlext-light-badge-color;\n }\n\n &.mdl-badge--no-background {\n &[data-badge]::after {\n color: $mdlext-light-badge-color-inverse;\n background: $mdlext-light-badge-background-inverse;\n }\n }\n }\n}\n\n\n// mdl/src/button/_button.scss\n// ---------------------------\n.mdlext-light-color-theme {\n\n .mdl-button {\n background: transparent;\n color: $mdlext-light-button-secondary-color;\n\n &:hover {\n background-color: $mdlext-light-button-hover-color;\n }\n\n &:focus:not(:active) {\n background-color: $mdlext-light-button-focus-color;\n }\n\n &:active {\n background-color: $mdlext-light-button-active-color;\n }\n\n &.mdl-button--colored {\n color: $mdlext-light-button-primary-color-alt;\n\n &:focus:not(:active) {\n background-color: $mdlext-light-button-focus-color-alt;\n }\n }\n }\n\n // Raised buttons\n .mdl-button--raised {\n background: $mdlext-light-button-primary-color;\n\n &:active {\n background-color: $mdlext-light-button-active-color;\n }\n\n &:focus:not(:active) {\n background-color: $mdlext-light-button-active-color;\n }\n\n &.mdl-button--colored {\n background: $mdlext-light-button-primary-color-alt;\n color: $mdlext-light-button-secondary-color-alt;\n\n &:hover {\n background-color: $mdlext-light-button-hover-color-alt;\n }\n\n &:active {\n background-color: $mdlext-light-button-active-color-alt;\n }\n\n &:focus:not(:active) {\n background-color: $mdlext-light-button-active-color-alt;\n }\n\n & .mdl-ripple {\n background: $mdlext-light-button-ripple-color-alt;\n }\n }\n }\n\n\n // FABs\n .mdl-button--fab {\n background: $mdlext-light-button-primary-color;\n\n &:active {\n background-color: $mdlext-light-button-active-color;\n }\n\n &:focus:not(:active) {\n background-color: $mdlext-light-button-active-color;\n }\n\n &.mdl-button--colored {\n background: $mdlext-light-button-fab-color-alt;\n color: $mdlext-light-button-fab-text-color-alt;\n\n &:hover {\n background-color: $mdlext-light-button-fab-hover-color-alt;\n }\n\n &:focus:not(:active) {\n background-color: $mdlext-light-button-fab-active-color-alt;\n }\n\n &:active {\n background-color: $mdlext-light-button-fab-active-color-alt;\n }\n\n & .mdl-ripple {\n background: $mdlext-light-button-fab-ripple-color-alt;\n }\n }\n }\n\n\n // Icon buttons\n .mdl-button--icon {\n color: inherit;\n }\n\n // Colorized buttons\n\n .mdl-button--primary.mdl-button--primary {\n color: $mdlext-light-button-primary-color-alt;\n\n & .mdl-ripple {\n background: $mdlext-light-button-secondary-color-alt;\n }\n &.mdl-button--raised,\n &.mdl-button--fab {\n color: $mdlext-light-button-secondary-color-alt;\n background-color: $mdlext-light-button-primary-color-alt;\n }\n }\n\n .mdl-button--accent.mdl-button--accent {\n color: $mdlext-light-button-fab-color-alt;\n\n & .mdl-ripple {\n background: $mdlext-light-button-fab-text-color-alt;\n }\n &.mdl-button--raised,\n &.mdl-button--fab {\n color: $mdlext-light-button-fab-text-color-alt;\n background-color: $mdlext-light-button-fab-color-alt;\n }\n }\n\n // Disabled buttons\n\n .mdl-button {\n // Bump up specificity by using [disabled] twice.\n &[disabled][disabled],\n &.mdl-button--disabled.mdl-button--disabled {\n color: $mdlext-light-button-secondary-color-disabled;\n background-color: transparent;\n }\n\n &--fab {\n // Bump up specificity by using [disabled] twice.\n &[disabled][disabled],\n &.mdl-button--disabled.mdl-button--disabled {\n background-color: $mdlext-light-button-primary-color-disabled;\n color: $mdlext-light-button-secondary-color-disabled;\n }\n }\n\n &--raised {\n // Bump up specificity by using [disabled] twice.\n &[disabled][disabled],\n &.mdl-button--disabled.mdl-button--disabled {\n background-color: $mdlext-light-button-primary-color-disabled;\n color: $mdlext-light-button-secondary-color-disabled;\n }\n }\n &--colored {\n // Bump up specificity by using [disabled] twice.\n &[disabled][disabled],\n &.mdl-button--disabled.mdl-button--disabled {\n color: $mdlext-light-button-secondary-color-disabled;\n }\n }\n }\n}\n\n// mdl/src/slider/_slider.scss\n// ---------------------------\n.mdlext-light-color-theme {\n .mdl-slider {\n\n &.is-upgraded {\n background: transparent;\n color: $mdlext-light-range-color;\n\n &::-webkit-slider-runnable-track {\n background: transparent;\n }\n\n &::-moz-range-track {\n background: transparent;\n }\n\n &::-ms-track {\n background: none;\n color: transparent;\n }\n\n /* stylelint-disable */\n &::-ms-fill-lower {\n background: linear-gradient(to right,\n transparent,\n transparent 16px,\n $mdlext-light-range-color 16px,\n $mdlext-light-range-color 0);\n }\n\n &::-ms-fill-upper {\n background: linear-gradient(to left,\n transparent,\n transparent 16px,\n $mdlext-light-range-bg-color 16px,\n $mdlext-light-range-bg-color 0);\n }\n /* stylelint-enable */\n\n\n /**************************** Thumbs ****************************/\n &::-webkit-slider-thumb {\n background: $mdlext-light-range-color;\n }\n\n &::-moz-range-thumb {\n background: $mdlext-light-range-color;\n }\n\n &:focus:not(:active)::-webkit-slider-thumb {\n box-shadow: 0 0 0 10px $mdlext-light-range-faded-color;\n }\n\n &:focus:not(:active)::-moz-range-thumb {\n box-shadow: 0 0 0 10px $mdlext-light-range-faded-color;\n }\n\n &:active::-webkit-slider-thumb {\n background: $mdlext-light-range-color;\n }\n\n &:active::-moz-range-thumb {\n background: $mdlext-light-range-color;\n }\n\n &::-ms-thumb {\n background: $mdlext-light-range-color;\n }\n\n /* stylelint-disable */\n &:focus:not(:active)::-ms-thumb {\n background: radial-gradient(circle closest-side,\n $mdlext-light-range-color 0%,\n $mdlext-light-range-color 37.5%,\n $mdlext-light-range-faded-color 37.5%,\n $mdlext-light-range-faded-color 100%);\n }\n /* stylelint-enable */\n\n &:active::-ms-thumb {\n background: $mdlext-light-range-color;\n }\n\n\n /**************************** 0-value ****************************/\n\n &.is-lowest-value::-webkit-slider-thumb {\n border-color: $mdlext-light-range-color;\n background: transparent;\n }\n\n &.is-lowest-value::-moz-range-thumb {\n border-color: $mdlext-light-range-bg-color;\n background: transparent;\n }\n\n &.is-lowest-value:focus:not(:active)::-webkit-slider-thumb {\n box-shadow: 0 0 0 10px $mdlext-light-range-bg-focus-color;\n background: $mdlext-light-range-bg-focus-color;\n }\n\n &.is-lowest-value:focus:not(:active)::-moz-range-thumb {\n box-shadow: 0 0 0 10px $mdlext-light-range-bg-focus-color;\n background: $mdlext-light-range-bg-focus-color;\n }\n\n &.is-lowest-value:active::-webkit-slider-thumb {\n border-color: $mdlext-light-range-bg-color;\n }\n\n &.is-lowest-value:active::-moz-range-thumb {\n border-color: $mdlext-light-range-bg-color;\n }\n\n /* stylelint-disable */\n &.is-lowest-value::-ms-thumb {\n background: radial-gradient(circle closest-side,\n transparent 0%,\n transparent 66.67%,\n $mdlext-light-range-bg-color 66.67%,\n $mdlext-light-range-bg-color 100%);\n }\n\n &.is-lowest-value:focus:not(:active)::-ms-thumb {\n background: radial-gradient(circle closest-side,\n $mdlext-light-range-bg-focus-color 0%,\n $mdlext-light-range-bg-focus-color 25%,\n $mdlext-light-range-bg-color 25%,\n $mdlext-light-range-bg-color 37.5%,\n $mdlext-light-range-bg-focus-color 37.5%,\n $mdlext-light-range-bg-focus-color 100%);\n }\n\n &.is-lowest-value:active::-ms-thumb {\n background: radial-gradient(circle closest-side,\n transparent 0%,\n transparent 77.78%,\n $mdlext-light-range-bg-color 77.78%,\n $mdlext-light-range-bg-color 100%);\n }\n /* stylelint-enable */\n\n &.is-lowest-value::-ms-fill-lower {\n background: transparent;\n }\n\n /**************************** Disabled ****************************/\n\n &:disabled:focus::-webkit-slider-thumb,\n &:disabled:active::-webkit-slider-thumb,\n &:disabled::-webkit-slider-thumb {\n background: $mdlext-light-range-bg-color;\n }\n\n &:disabled:focus::-moz-range-thumb,\n &:disabled:active::-moz-range-thumb,\n &:disabled::-moz-range-thumb {\n background: $mdlext-light-range-bg-color;\n }\n\n &:disabled + .mdl-slider__background-flex > .mdl-slider__background-lower {\n background-color: $mdlext-light-range-bg-color;\n }\n\n &.is-lowest-value:disabled:focus::-webkit-slider-thumb,\n &.is-lowest-value:disabled:active::-webkit-slider-thumb,\n &.is-lowest-value:disabled::-webkit-slider-thumb {\n border-color: $mdlext-light-range-bg-color;\n background: transparent;\n }\n\n &.is-lowest-value:disabled:focus::-moz-range-thumb,\n &.is-lowest-value:disabled:active::-moz-range-thumb,\n &.is-lowest-value:disabled::-moz-range-thumb {\n border-color: $mdlext-light-range-bg-color;\n background: transparent;\n }\n\n &:disabled:focus::-ms-thumb,\n &:disabled:active::-ms-thumb,\n &:disabled::-ms-thumb {\n background: $mdlext-light-range-bg-color;\n }\n\n /* stylelint-disable */\n &.is-lowest-value:disabled:focus::-ms-thumb,\n &.is-lowest-value:disabled:active::-ms-thumb,\n &.is-lowest-value:disabled::-ms-thumb {\n background: radial-gradient(circle closest-side,\n transparent 0%,\n transparent 50%,\n $mdlext-light-range-bg-color 50%,\n $mdlext-light-range-bg-color 100%);\n }\n\n &:disabled::-ms-fill-lower {\n background: linear-gradient(to right,\n transparent,\n transparent 25px,\n $mdlext-light-range-bg-color 25px,\n $mdlext-light-range-bg-color 0);\n }\n /* stylelint-enable */\n\n }\n }\n\n .mdl-slider__background-flex {\n background: transparent;\n }\n\n .mdl-slider__background-lower {\n background: $mdlext-light-range-color;\n }\n\n // This one styles the upper part of the slider track.\n .mdl-slider__background-upper {\n background: $mdlext-light-range-bg-color;\n }\n}\n\n\n// mdl/src/textfield/_textfield.scss\n// -----------------------------------\n.mdlext-light-color-theme {\n\n .mdl-textfield__input {\n border-bottom-color: $mdlext-light-input-text-bottom-border-color;\n }\n .mdl-textfield.is-invalid .mdl-textfield__input {\n border-color: $mdlext-light-input-text-error-color;\n }\n fieldset[disabled] .mdl-textfield .mdl-textfield__input,\n .mdl-textfield.is-disabled .mdl-textfield__input {\n background-color: transparent;\n border-bottom-color: $mdlext-light-input-text-disabled-color;\n color: $mdlext-light-input-text-disabled-text-color;\n }\n .mdl-textfield__label {\n color: $mdlext-light-input-text-label-color;\n }\n .mdl-textfield__label::after {\n background-color: $mdlext-light-input-text-highlight-color;\n }\n fieldset[disabled] .mdl-textfield .mdl-textfield__label,\n .mdl-textfield.is-disabled.is-disabled .mdl-textfield__label {\n color: $mdlext-light-input-text-disabled-text-color;\n }\n .mdl-textfield--floating-label.is-focused .mdl-textfield__label,\n .mdl-textfield--floating-label.is-dirty .mdl-textfield__label,\n .mdl-textfield--floating-label.has-placeholder .mdl-textfield__label {\n color: $mdlext-light-input-text-highlight-color;\n }\n .mdl-textfield--floating-label.is-invalid .mdl-textfield__label {\n color: $mdlext-light-input-text-error-color;\n }\n .mdl-textfield.is-invalid .mdl-textfield__label::after {\n background-color: $mdlext-light-input-text-error-color;\n }\n .mdl-textfield__error {\n color: $mdlext-light-input-text-error-color;\n }\n}\n\n\n// mdl/src/checkbox/_checkbox.scss\n// -----------------------------------\n.mdlext-light-color-theme {\n\n .mdl-checkbox__box-outline {\n border-color: $mdlext-light-checkbox-off-color;\n }\n .mdl-checkbox.is-checked .mdl-checkbox__box-outline {\n border-color: $mdlext-light-checkbox-color;\n }\n fieldset[disabled] .mdl-checkbox .mdl-checkbox__box-outline,\n .mdl-checkbox.is-disabled .mdl-checkbox__box-outline {\n border-color: $mdlext-light-checkbox-disabled-color;\n }\n\n .mdl-checkbox__focus-helper {\n background-color: transparent;\n }\n .mdl-checkbox.is-focused.is-checked .mdl-checkbox__focus-helper {\n box-shadow: 0 0 0 ($checkbox-button-size / 2) $mdlext-light-checkbox-focus-color;\n background-color: $mdlext-light-checkbox-focus-color;\n }\n\n .mdl-checkbox__tick-outline {\n background: transparent;\n }\n .mdl-checkbox.is-checked .mdl-checkbox__tick-outline {\n background-color: $mdlext-light-checkbox-color;\n }\n fieldset[disabled] .mdl-checkbox.is-checked .mdl-checkbox__tick-outline,\n .mdl-checkbox.is-checked.is-disabled .mdl-checkbox__tick-outline {\n background-color: $mdlext-light-checkbox-disabled-color;\n }\n\n fieldset[disabled] .mdl-checkbox .mdl-checkbox__label,\n .mdl-checkbox.is-disabled .mdl-checkbox__label {\n color: $mdlext-light-checkbox-disabled-color;\n }\n\n .mdl-checkbox__ripple-container .mdl-ripple {\n background: $mdlext-light-checkbox-color;\n }\n fieldset[disabled] .mdl-checkbox .mdl-checkbox__ripple-container .mdl-ripple,\n .mdl-checkbox.is-disabled .mdl-checkbox__ripple-container .mdl-ripple {\n background: transparent;\n }\n\n}\n\n// mdl/src/radio/_radio.scss\n// -----------------------------------\n.mdlext-light-color-theme {\n .mdl-radio__outer-circle {\n border-color: $mdlext-light-radio-off-color;\n }\n .mdl-radio.is-checked .mdl-radio__outer-circle {\n border-color: $mdlext-light-radio-color;\n }\n .mdl-radio__outer-circle fieldset[disabled] .mdl-radio,\n .mdl-radio.is-disabled .mdl-radio__outer-circle {\n border-color: $mdlext-light-radio-disabled-color;\n }\n\n .mdl-radio__inner-circle {\n background: $mdlext-light-radio-color;\n }\n fieldset[disabled] .mdl-radio .mdl-radio__inner-circle,\n .mdl-radio.is-disabled .mdl-radio__inner-circle {\n background: $mdlext-light-radio-disabled-color;\n }\n\n fieldset[disabled] .mdl-radio .mdl-radio__label,\n .mdl-radio.is-disabled .mdl-radio__label {\n color: $mdlext-light-radio-disabled-color;\n }\n\n .mdl-radio__ripple-container .mdl-ripple {\n background: $mdlext-light-radio-color;\n }\n fieldset[disabled] .mdl-radio .mdl-radio__ripple-container .mdl-ripple,\n .mdl-radio.is-disabled .mdl-radio__ripple-container .mdl-ripple {\n background: transparent;\n }\n}\n\n// mdl/src/icon-togglr/_icon-toggle.scss\n// ---------------------------------------\n.mdlext-light-color-theme {\n .mdl-icon-toggle__label {\n color: $mdlext-light-icon-toggle-color;\n }\n .mdl-icon-toggle.is-checked .mdl-icon-toggle__label {\n color: $mdlext-light-icon-toggle-checked-color;\n }\n .mdl-icon-toggle.is-disabled .mdl-icon-toggle__label {\n color: $mdlext-light-icon-toggle-disabled-color;\n }\n .mdl-icon-toggle.is-focused .mdl-icon-toggle__label {\n background-color: $mdlext-light-icon-toggle-focus-color;\n }\n .mdl-icon-toggle.is-focused.is-checked .mdl-icon-toggle__label {\n background-color: $mdlext-light-icon-toggle-checked-focus-color;\n }\n .mdl-icon-toggle__ripple-container .mdl-ripple {\n background: $mdlext-light-icon-toggle-color;\n }\n .mdl-icon-toggle.is-disabled .mdl-icon-toggle__ripple-container .mdl-ripple {\n background: transparent;\n }\n}\n\n\n// mdl/src/switch/_switch.scss\n// -----------------------------------\n.mdlext-light-color-theme {\n\n .mdl-switch__track {\n background: $mdlext-light-switch-off-track-color;\n }\n .mdl-switch.is-checked .mdl-switch__track {\n background: $mdlext-light-switch-track-color;\n }\n .mdl-switch__track fieldset[disabled] .mdl-switch,\n .mdl-switch.is-disabled .mdl-switch__track {\n background: $mdlext-light-switch-disabled-track-color;\n }\n\n .mdl-switch__thumb {\n background: $mdlext-light-switch-off-thumb-color;\n }\n .mdl-switch.is-checked .mdl-switch__thumb {\n background: $mdlext-light-switch-thumb-color;\n }\n .mdl-switch__thumb fieldset[disabled] .mdl-switch,\n .mdl-switch.is-disabled .mdl-switch__thumb {\n background: $mdlext-light-switch-disabled-thumb-color;\n }\n\n .mdl-switch__focus-helper {\n background-color: transparent;\n }\n .mdl-switch.is-focused .mdl-switch__focus-helper {\n background-color: rgba(0, 0, 0, 0.1);\n }\n .mdl-switch.is-focused.is-checked .mdl-switch__focus-helper {\n box-shadow: 0 0 0 (($switch-ripple-size - $switch-helper-size) / 2) $mdlext-light-switch-faded-color;\n background-color: $mdlext-light-switch-faded-color;\n }\n\n .mdl-switch__label fieldset[disabled] .mdl-switch,\n .mdl-switch.is-disabled .mdl-switch__label {\n color: $mdlext-light-switch-disabled-thumb-color;\n }\n\n .mdl-switch__ripple-container .mdl-ripple {\n background: $mdlext-light-switch-color;\n }\n fieldset[disabled] .mdl-switch .mdl-switch__ripple-container .mdl-ripple,\n .mdl-switch.is-disabled .mdl-switch__ripple-container .mdl-ripple {\n background: transparent;\n }\n}\n\n\n// mdl/src/data-table/_data-table.scss\n// -----------------------------------\n.mdlext-light-color-theme {\n\n .mdl-data-table {\n border-color: $mdlext-light-data-table-divider-color;\n background-color: $mdlext-light-data-table-background-color;\n\n tbody {\n tr {\n &.is-selected {\n background-color: $mdlext-light-data-table-selection-color;\n }\n &:hover {\n background-color: $mdlext-light-data-table-hover-color;\n }\n }\n }\n th {\n color: $data-table-header-color;\n\n &.mdl-data-table__header--sorted-ascending,\n &.mdl-data-table__header--sorted-descending {\n color: $mdlext-light-data-table-header-sorted-color;\n\n &:hover {\n &::before {\n color: $mdlext-light-data-table-header-sorted-icon-hover-color;\n }\n }\n }\n }\n }\n}\n\n\n// mdl/src/menu/_menu.scss\n// -----------------------------------\n.mdlext-light-color-theme {\n\n .mdl-menu__outline {\n background: $mdlext-light-default-dropdown-bg-color;\n }\n\n .mdl-menu__item {\n color: $mdlext-light-default-item-text-color;\n background-color: transparent;\n outline-color: $mdlext-light-default-item-outline-color;\n\n &--full-bleed-divider {\n border-bottom-color: $mdlext-light-default-item-divider-color;\n }\n\n &[disabled],\n &[data-mdl-disabled] {\n color: $mdlext-light-disabled-item-text-color;\n background-color: transparent;\n\n &:hover {\n background-color: transparent;\n }\n\n &:focus {\n background-color: transparent;\n }\n\n & .mdl-ripple {\n background: transparent;\n }\n }\n\n &:hover {\n background-color: $mdlext-light-default-item-hover-bg-color;\n }\n\n &:focus {\n background-color: $mdlext-light-default-item-focus-bg-color;\n }\n\n &:active {\n background-color: $mdlext-light-default-item-active-bg-color;\n }\n }\n}\n\n\n// mdl/src/card/_card.scss\n// ----------------------------------------\n.mdlext-light-color-theme {\n\n .mdl-card {\n background: $mdlext-light-card-background-color;\n }\n\n .mdl-card__media {\n background-color: $mdlext-light-card-image-placeholder-color;\n }\n\n .mdl-card__title {\n color: $mdlext-light-card-text-color;\n\n &.mdl-card--border {\n border-bottom-color: $mdlext-light-card-border-color;\n }\n }\n\n .mdl-card__title-text {\n color: inherit;\n }\n\n .mdl-card__subtitle-text {\n color: $mdlext-light-card-subtitle-color;\n }\n\n .mdl-card__supporting-text {\n color: $mdlext-light-card-supporting-text-text-color;\n }\n\n .mdl-card__actions {\n background-color: rgba(0, 0, 0, 0);\n\n &.mdl-card--border {\n border-top-color: $mdlext-light-card-border-color;\n }\n }\n}\n\n\n// mdlext/src/selectfield/_selectfield.scss\n// ----------------------------------------\n.mdlext-light-color-theme {\n\n .mdlext-selectfield.is-disabled::after {\n color: $mdlext-light-input-text-disabled-color;\n @include mdlext-arrow(bottom, $mdlext-selectfield-arrow-width, $mdlext-selectfield-arrow-length, $mdlext-light-input-text-disabled-color);\n }\n\n .mdlext-selectfield__select {\n border-bottom-color: $mdlext-light-input-text-bottom-border-color;\n color: inherit;\n\n option {\n background-color: $mdlext-light-content-background-color;\n color: $mdlext-light-text-color-primary;\n }\n }\n .mdlext-selectfield.is-invalid .mdlext-selectfield__select {\n border-color: $mdlext-light-input-text-error-color;\n }\n fieldset[disabled] .mdlext-selectfield .mdlext-selectfield__select,\n .mdlext-selectfield.is-disabled .mdlext-selectfield__select {\n background-color: transparent;\n border-bottom-color: $mdlext-light-input-text-disabled-color;\n color: $mdlext-light-input-text-disabled-text-color;\n }\n\n .mdlext-selectfield__label {\n color: $mdlext-light-input-text-label-color;\n }\n fieldset[disabled] .mdlext-selectfield .mdlext-selectfield__label,\n .mdlext-selectfield.is-disabled.is-disabled .mdlext-selectfield__label {\n color: $mdlext-light-input-text-disabled-text-color;\n }\n .mdlext-selectfield--floating-label.is-focused .mdlext-selectfield__label,\n .mdlext-selectfield--floating-label.is-dirty .mdlext-selectfield__label,\n .mdlext-selectfield--floating-label.is-dirty.is-dirty .mdlext-selectfield__label,\n .mdlext-selectfield--floating-label.has-placeholder .mdlext-selectfield__label {\n color: $mdlext-light-input-text-highlight-color;\n }\n .mdlext-selectfield--floating-label.is-invalid .mdlext-selectfield__label {\n color: $mdlext-light-input-text-error-color;\n }\n .mdlext-selectfield__label::after {\n background-color: $mdlext-light-input-text-highlight-color;\n }\n .mdlext-selectfield.is-invalid .mdlext-selectfield__label::after {\n background-color: $mdlext-light-input-text-error-color;\n }\n\n .mdlext-selectfield__error {\n color: $mdlext-light-input-text-error-color;\n }\n}\n\n// mdlext/src/menu-button/_menu-button.scss\n// ----------------------------------------\n.mdlext-menu.mdlext-light-color-theme {\n background: $mdlext-light-default-dropdown-bg-color;\n}\n\n.mdlext-light-color-theme {\n\n .mdlext-menu {\n background: $mdlext-light-default-dropdown-bg-color;\n\n &__item {\n color: $mdlext-light-default-item-text-color;\n background-color: $mdlext-light-default-dropdown-bg-color;\n\n &:active,\n &[aria-selected='true'] {\n background-color: $mdlext-light-default-item-active-bg-color;\n }\n &:hover:not([disabled]) {\n background-color: $mdlext-light-default-item-hover-bg-color;\n }\n &:focus {\n outline-color: $mdlext-light-default-item-outline-color;\n background-color: $mdlext-light-default-item-focus-bg-color;\n }\n &[disabled] {\n color: $mdlext-light-disabled-item-text-color;\n\n > * {\n color: $mdlext-light-disabled-item-text-color;\n }\n }\n }\n &__item-separator {\n border-bottom: 1px solid $mdlext-light-default-item-divider-color;\n }\n }\n}\n\n\n// mdlext/src/bordered-fields/_bordered-fields.scss\n// -------------------------------------------------\n.mdlext-light-color-theme {\n\n .mdlext-bordered-fields {\n\n .mdl-textfield,\n .mdlext-selectfield {\n\n .mdl-textfield__input,\n .mdlext-selectfield__select {\n background-color: $mdlext-light-bordered-field-background-color;\n border-color: $mdlext-light-bordered-field-border-color;\n color: $mdlext-light-bordered-field-input-text-color;\n\n &:disabled {\n color: $mdlext-light-bordered-field-input-text-disabled-text-color;\n background-color: $mdlext-light-bordered-field-disabled-background-color;\n border-color: $mdlext-light-bordered-field-disabled-border-color;\n }\n &:focus {\n background-color: $mdlext-light-bordered-field-focus-background-color;\n border-color: $mdlext-light-bordered-field-focus-border-color;\n }\n }\n &.is-invalid {\n .mdl-textfield__input,\n .mdlext-selectfield__select {\n color: $mdlext-light-bordered-field-input-text-error-color;\n border-color: $mdlext-light-bordered-field-error-border-color;\n background-color: $mdlext-light-bordered-field-error-background-color;\n\n &:focus {\n border-color: $mdlext-light-bordered-field-error-focus-border-color;\n background-color: $mdlext-light-bordered-field-error-focus-background-color;\n }\n }\n }\n }\n\n fieldset[disabled] .mdlext-selectfield::after,\n .mdlext-selectfield.is-disabled::after {\n color: $mdlext-light-bordered-field-input-text-disabled-text-color;\n @include mdlext-arrow(bottom, $mdlext-selectfield-arrow-width, $mdlext-selectfield-arrow-length, $mdlext-light-bordered-field-input-text-disabled-text-color);\n }\n\n fieldset[disabled] .mdl-textfield .mdl-textfield__input,\n fieldset[disabled] .mdlext-selectfield .mdlext-selectfield__select {\n color: $mdlext-light-bordered-field-input-text-disabled-text-color;\n background-color: $mdlext-light-bordered-field-disabled-background-color;\n border-color: $mdlext-light-bordered-field-disabled-border-color;\n }\n\n .mdl-textfield,\n .mdlext-selectfield {\n\n .mdl-textfield__label,\n .mdlext-selectfield__label {\n color: $mdlext-light-bordered-field-input-text-label-color;\n }\n &.mdl-textfield--floating-label.is-focused.is-focused,\n &.mdl-textfield--floating-label.is-dirty.is-dirty,\n &.mdl-textfield--floating-label.has-placeholder,\n &.mdlext-selectfield--floating-label.is-focused.is-focused,\n &.mdlext-selectfield--floating-label.is-dirty.is-dirty,\n &.mdlext-selectfield--floating-label.has-placeholder {\n\n .mdl-textfield__label,\n .mdlext-selectfield__label {\n color: $mdlext-light-bordered-field-input-text-label-focus-color;\n }\n }\n &.mdl-textfield--floating-label.is-disabled.is-disabled,\n &.mdlext-selectfield--floating-label.is-disabled.is-disabled {\n\n .mdl-textfield__label,\n .mdlext-selectfield__label {\n color: $mdlext-light-bordered-field-input-text-label-disabled-color;\n }\n }\n &.mdl-textfield--floating-label.is-invalid.is-invalid,\n &.mdlext-selectfield--floating-label.is-invalid.is-invalid {\n\n .mdl-textfield__label,\n .mdlext-selectfield__label {\n color: $mdlext-light-bordered-field-input-text-label-error-color;\n }\n }\n }\n\n fieldset[disabled] .mdl-textfield .mdl-textfield__label,\n fieldset[disabled] .mdl-selectfield .mdl-selectfield__label {\n color: $mdlext-light-bordered-field-input-text-label-disabled-color;\n }\n\n // Icon(s) and/or button(s) inside textfield\n .mdl-textfield,\n .mdlext-selectfield {\n &.is-disabled i,\n &.is-disabled .mdl-button {\n color: $mdlext-light-bordered-field-disabled-border-color;\n }\n }\n fieldset[disabled] .mdl-textfield,\n fieldset[disabled] .mdlext-selectfield {\n i,\n .mdl-button {\n color: $mdlext-light-bordered-field-disabled-border-color;\n }\n }\n }\n}\n\n\n// mdlext/src/accordion/_accordion.scss\n// ----------------------------------------\n.mdlext-light-color-theme {\n\n .mdlext-accordion {\n\n &__tab {\n color: $mdlext-light-accordion-header-secondary-color;\n background-color: $mdlext-light-accordion-header-background-color;\n\n &:focus {\n outline-color: $mdlext-light-accordion-header-focus-outline-color;\n }\n &[aria-expanded='true'] {\n background-color: $mdlext-light-accordion-header-background-open-color;\n }\n &[aria-selected='true'] {\n background-color: $mdlext-light-accordion-header-background-active-color;\n }\n &[disabled] {\n background-color: $mdlext-light-accordion-header-disabled-color;\n color: $mdlext-light-accordion-header-secondary-color-disabled;\n pointer-events: none;\n\n > * {\n color: $mdlext-light-accordion-header-secondary-color-disabled;\n }\n }\n &:hover:not([disabled]) {\n background-color: $mdlext-light-accordion-header-background-hover-color;\n }\n &--ripple {\n &[aria-selected='true']::before {\n background: $mdlext-light-accordion-ripple-color;\n }\n }\n }\n\n &__tabpanel {\n color: $mdlext-light-accordion-content-color;\n background-color: $mdlext-light-accordion-content-background-color;\n }\n }\n\n // Vertical layout\n .mdlext-accordion {\n\n &--vertical {\n\n .mdlext-accordion__tab {\n border-top: 1px solid $mdlext-light-accordion-header-border-color;\n\n &[aria-selected='true']::after {\n background-color: $mdlext-light-accordion-header-highlight-color;\n }\n }\n .mdlext-accordion__tabpanel {\n border-top: 1px solid $mdlext-light-accordion-header-border-color;\n }\n }\n }\n\n // Horizontal layout\n .mdlext-accordion {\n\n &--horizontal {\n\n .mdlext-accordion__tab {\n border-left: 1px solid $mdlext-light-accordion-header-border-color;\n\n &[aria-selected='true']::after {\n background-color: $mdlext-light-accordion-header-highlight-color;\n }\n }\n .mdlext-accordion__tabpanel {\n border-left: 1px solid $mdlext-light-accordion-header-border-color;\n }\n }\n }\n\n .mdlext-accordion {\n\n &__panel:first-child > &__tab {\n // Use container to set outer borders\n border-top-color: transparent;\n border-left-color: transparent;\n }\n }\n\n // Making accordion appear disabled.\n // Note: does not prevent tabbing into a disabled accordion\n .mdlext-accordion[disabled] {\n .mdlext-accordion__tab {\n background-color: $mdlext-light-accordion-header-disabled-color;\n color: $mdlext-light-accordion-header-secondary-color-disabled;\n\n > * {\n color: $mdlext-light-accordion-header-secondary-color-disabled;\n }\n }\n .mdlext-accordion__tabpanel {\n opacity: 0.8;\n filter: blur(1px) grayscale(80%);\n }\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// webpack:///src/color-themes/_light-color-theme.scss","@import \"color-themes\";\n\n.mdlext-dark-color-theme {\n background-color: $mdlext-dark-content-background-color;\n color: $mdlext-dark-text-color-primary;\n a {\n outline-color: inherit;\n }\n}\n\n// mdl/src/palette/_palette.scss\n.mdlext-dark-color-theme {\n\n .mdl-color--primary {\n background-color: $mdlext-dark-color-primary !important;\n }\n\n .mdl-color--primary-contrast {\n background-color: $mdlext-dark-color-primary-contrast !important;\n }\n\n .mdl-color--primary-dark {\n background-color: $mdlext-dark-color-primary-dark !important;\n }\n\n .mdl-color--accent {\n background-color: $mdlext-dark-color-accent !important;\n }\n\n .mdl-color--accent-contrast {\n background-color: $mdlext-dark-color-accent-contrast !important;\n }\n\n .mdl-color-text--primary {\n color: $mdlext-dark-color-primary !important;\n }\n\n .mdl-color-text--primary-contrast {\n color: $mdlext-dark-color-primary-contrast !important;\n }\n\n .mdl-color-text--primary-dark {\n color: $mdlext-dark-color-primary-dark !important;\n }\n\n .mdl-color-text--accent {\n color: $mdlext-dark-color-accent !important;\n }\n\n .mdl-color-text--accent-contrast {\n color: $mdlext-dark-color-accent-contrast !important;\n }\n\n}\n\n// mdl/src/typography/_typography.scss\n.mdlext-dark-color-theme {\n a {\n color: $mdlext-dark-text-link-color;\n }\n}\n\n\n// mdl/src/badge/_badge.scss\n// ---------------------------\n.mdlext-dark-color-theme {\n .mdl-badge {\n\n &[data-badge]::after {\n background: $mdlext-dark-badge-background;\n color: $mdlext-dark-badge-color;\n }\n\n &.mdl-badge--no-background {\n &[data-badge]::after {\n color: $mdlext-dark-badge-color-inverse;\n background: $mdlext-dark-badge-background-inverse;\n }\n }\n }\n}\n\n\n// mdl/src/button/_button.scss\n// ---------------------------\n.mdlext-dark-color-theme {\n\n .mdl-button {\n background: transparent;\n color: $mdlext-dark-button-secondary-color;\n\n &:hover {\n background-color: $mdlext-dark-button-hover-color;\n }\n\n &:focus:not(:active) {\n background-color: $mdlext-dark-button-focus-color;\n }\n\n &:active {\n background-color: $mdlext-dark-button-active-color;\n }\n\n &.mdl-button--colored {\n color: $mdlext-dark-button-primary-color-alt;\n\n &:focus:not(:active) {\n background-color: $mdlext-dark-button-focus-color-alt;\n }\n }\n }\n\n // Raised buttons\n .mdl-button--raised {\n background: $mdlext-dark-button-primary-color;\n\n &:active {\n background-color: $mdlext-dark-button-active-color;\n }\n\n &:focus:not(:active) {\n background-color: $mdlext-dark-button-active-color;\n }\n\n &.mdl-button--colored {\n background: $mdlext-dark-button-primary-color-alt;\n color: $mdlext-dark-button-secondary-color-alt;\n\n &:hover {\n background-color: $mdlext-dark-button-hover-color-alt;\n }\n\n &:active {\n background-color: $mdlext-dark-button-active-color-alt;\n }\n\n &:focus:not(:active) {\n background-color: $mdlext-dark-button-active-color-alt;\n }\n\n & .mdl-ripple {\n background: $mdlext-dark-button-ripple-color-alt;\n }\n }\n }\n\n\n // FABs\n .mdl-button--fab {\n background: $mdlext-dark-button-primary-color;\n\n &:active {\n background-color: $mdlext-dark-button-active-color;\n }\n\n &:focus:not(:active) {\n background-color: $mdlext-dark-button-active-color;\n }\n\n &.mdl-button--colored {\n background: $mdlext-dark-button-fab-color-alt;\n color: $mdlext-dark-button-fab-text-color-alt;\n\n &:hover {\n background-color: $mdlext-dark-button-fab-hover-color-alt;\n }\n\n &:focus:not(:active) {\n background-color: $mdlext-dark-button-fab-active-color-alt;\n }\n\n &:active {\n background-color: $mdlext-dark-button-fab-active-color-alt;\n }\n\n & .mdl-ripple {\n background: $mdlext-dark-button-fab-ripple-color-alt;\n }\n }\n }\n\n\n // Icon buttons\n .mdl-button--icon {\n color: inherit;\n }\n\n // Colorized buttons\n\n .mdl-button--primary.mdl-button--primary {\n color: $mdlext-dark-button-primary-color-alt;\n\n & .mdl-ripple {\n background: $mdlext-dark-button-secondary-color-alt;\n }\n &.mdl-button--raised,\n &.mdl-button--fab {\n color: $mdlext-dark-button-secondary-color-alt;\n background-color: $mdlext-dark-button-primary-color-alt;\n }\n }\n\n .mdl-button--accent.mdl-button--accent {\n color: $mdlext-dark-button-fab-color-alt;\n\n & .mdl-ripple {\n background: $mdlext-dark-button-fab-text-color-alt;\n }\n &.mdl-button--raised,\n &.mdl-button--fab {\n color: $mdlext-dark-button-fab-text-color-alt;\n background-color: $mdlext-dark-button-fab-color-alt;\n }\n }\n\n // Disabled buttons\n\n .mdl-button {\n // Bump up specificity by using [disabled] twice.\n &[disabled][disabled],\n &.mdl-button--disabled.mdl-button--disabled {\n color: $mdlext-dark-button-secondary-color-disabled;\n background-color: transparent;\n }\n\n &--fab {\n // Bump up specificity by using [disabled] twice.\n &[disabled][disabled],\n &.mdl-button--disabled.mdl-button--disabled {\n background-color: $mdlext-dark-button-primary-color-disabled;\n color: $mdlext-dark-button-secondary-color-disabled;\n }\n }\n\n &--raised {\n // Bump up specificity by using [disabled] twice.\n &[disabled][disabled],\n &.mdl-button--disabled.mdl-button--disabled {\n background-color: $mdlext-dark-button-primary-color-disabled;\n color: $mdlext-dark-button-secondary-color-disabled;\n }\n }\n &--colored {\n // Bump up specificity by using [disabled] twice.\n &[disabled][disabled],\n &.mdl-button--disabled.mdl-button--disabled {\n color: $mdlext-dark-button-secondary-color-disabled;\n }\n }\n }\n}\n\n\n// mdl/src/slider/_slider.scss\n// ---------------------------\n.mdlext-dark-color-theme {\n\n .mdl-slider {\n\n &.is-upgraded {\n background: transparent;\n color: $mdlext-dark-range-color;\n\n &::-webkit-slider-runnable-track {\n background: transparent;\n }\n\n &::-moz-range-track {\n background: transparent;\n }\n\n &::-ms-track {\n background: none;\n color: transparent;\n }\n\n /* stylelint-disable */\n &::-ms-fill-lower {\n background: linear-gradient(\n to right,\n transparent,\n transparent 16px,\n $mdlext-dark-range-color 16px,\n $mdlext-dark-range-color 0\n );\n }\n\n &::-ms-fill-upper {\n background: linear-gradient(\n to left,\n transparent,\n transparent 16px,\n $mdlext-dark-range-bg-color 16px,\n $mdlext-dark-range-bg-color 0);\n }\n /* stylelint-enable */\n\n &::-webkit-slider-thumb {\n background: $mdlext-dark-range-color;\n }\n\n &::-moz-range-thumb {\n background: $mdlext-dark-range-color;\n }\n\n &:focus:not(:active)::-webkit-slider-thumb {\n box-shadow: 0 0 0 10px $mdlext-dark-range-faded-color;\n }\n\n &:focus:not(:active)::-moz-range-thumb {\n box-shadow: 0 0 0 10px $mdlext-dark-range-faded-color;\n }\n\n &:active::-webkit-slider-thumb {\n background: $mdlext-dark-range-color;\n }\n\n &:active::-moz-range-thumb {\n background: $mdlext-dark-range-color;\n }\n\n &::-ms-thumb {\n background: $mdlext-dark-range-color;\n }\n\n /* stylelint-disable */\n &:focus:not(:active)::-ms-thumb {\n background: radial-gradient(circle closest-side,\n $mdlext-dark-range-color 0%,\n $mdlext-dark-range-color 37.5%,\n $mdlext-dark-range-faded-color 37.5%,\n $mdlext-dark-range-faded-color 100%);\n }\n /* stylelint-enable */\n\n &:active::-ms-thumb {\n background: $mdlext-dark-range-color;\n }\n\n\n /**************************** 0-value ****************************/\n\n &.is-lowest-value::-webkit-slider-thumb {\n border-color: $mdlext-dark-range-color;\n background: transparent;\n }\n\n &.is-lowest-value::-moz-range-thumb {\n border-color: $mdlext-dark-range-bg-color;\n background: transparent;\n }\n\n &.is-lowest-value:focus:not(:active)::-webkit-slider-thumb {\n box-shadow: 0 0 0 10px $mdlext-dark-range-bg-focus-color;\n background: $mdlext-dark-range-bg-focus-color;\n }\n\n &.is-lowest-value:focus:not(:active)::-moz-range-thumb {\n box-shadow: 0 0 0 10px $mdlext-dark-range-bg-focus-color;\n background: $mdlext-dark-range-bg-focus-color;\n }\n\n &.is-lowest-value:active::-webkit-slider-thumb {\n border-color: $mdlext-dark-range-bg-color;\n }\n\n &.is-lowest-value:active::-moz-range-thumb {\n border-color: $mdlext-dark-range-bg-color;\n }\n\n /* stylelint-disable */\n &.is-lowest-value::-ms-thumb {\n background: radial-gradient(circle closest-side,\n transparent 0%,\n transparent 66.67%,\n $mdlext-dark-range-bg-color 66.67%,\n $mdlext-dark-range-bg-color 100%);\n }\n\n &.is-lowest-value:focus:not(:active)::-ms-thumb {\n background: radial-gradient(circle closest-side,\n $mdlext-dark-range-bg-focus-color 0%,\n $mdlext-dark-range-bg-focus-color 25%,\n $mdlext-dark-range-bg-color 25%,\n $mdlext-dark-range-bg-color 37.5%,\n $mdlext-dark-range-bg-focus-color 37.5%,\n $mdlext-dark-range-bg-focus-color 100%);\n }\n\n &.is-lowest-value:active::-ms-thumb {\n background: radial-gradient(circle closest-side,\n transparent 0%,\n transparent 77.78%,\n $mdlext-dark-range-bg-color 77.78%,\n $mdlext-dark-range-bg-color 100%);\n }\n /* stylelint-enable */\n\n &.is-lowest-value::-ms-fill-lower {\n background: transparent;\n }\n\n /**************************** Disabled ****************************/\n\n &:disabled:focus::-webkit-slider-thumb,\n &:disabled:active::-webkit-slider-thumb,\n &:disabled::-webkit-slider-thumb {\n background: $mdlext-dark-range-bg-color;\n }\n\n &:disabled:focus::-moz-range-thumb,\n &:disabled:active::-moz-range-thumb,\n &:disabled::-moz-range-thumb {\n background: $mdlext-dark-range-bg-color;\n }\n\n &:disabled + .mdl-slider__background-flex > .mdl-slider__background-lower {\n background-color: $mdlext-dark-range-bg-color;\n }\n\n &.is-lowest-value:disabled:focus::-webkit-slider-thumb,\n &.is-lowest-value:disabled:active::-webkit-slider-thumb,\n &.is-lowest-value:disabled::-webkit-slider-thumb {\n border-color: $mdlext-dark-range-bg-color;\n background: transparent;\n }\n\n &.is-lowest-value:disabled:focus::-moz-range-thumb,\n &.is-lowest-value:disabled:active::-moz-range-thumb,\n &.is-lowest-value:disabled::-moz-range-thumb {\n border-color: $mdlext-dark-range-bg-color;\n background: transparent;\n }\n\n &:disabled:focus::-ms-thumb,\n &:disabled:active::-ms-thumb,\n &:disabled::-ms-thumb {\n background: $mdlext-dark-range-bg-color;\n }\n\n /* stylelint-disable */\n &.is-lowest-value:disabled:focus::-ms-thumb,\n &.is-lowest-value:disabled:active::-ms-thumb,\n &.is-lowest-value:disabled::-ms-thumb {\n background: radial-gradient(circle closest-side,\n transparent 0%,\n transparent 50%,\n $mdlext-dark-range-bg-color 50%,\n $mdlext-dark-range-bg-color 100%);\n }\n\n &:disabled::-ms-fill-lower {\n background: linear-gradient(to right,\n transparent,\n transparent 25px,\n $mdlext-dark-range-bg-color 25px,\n $mdlext-dark-range-bg-color 0);\n }\n /* stylelint-enable */\n\n }\n }\n\n .mdl-slider__background-flex {\n background: transparent;\n }\n\n .mdl-slider__background-lower {\n background: $mdlext-dark-range-color;\n }\n\n // This one styles the upper part of the slider track.\n .mdl-slider__background-upper {\n background: $mdlext-dark-range-bg-color;\n }\n}\n\n\n// mdl/src/textfield/_textfield.scss\n// -----------------------------------\n.mdlext-dark-color-theme {\n\n .mdl-textfield__input {\n border-bottom-color: $mdlext-dark-input-text-bottom-border-color;\n }\n .mdl-textfield.is-invalid .mdl-textfield__input {\n border-color: $mdlext-dark-input-text-error-color;\n }\n fieldset[disabled] .mdl-textfield .mdl-textfield__input,\n .mdl-textfield.is-disabled .mdl-textfield__input {\n background-color: transparent;\n border-bottom-color: $mdlext-dark-input-text-disabled-color;\n color: $mdlext-dark-input-text-disabled-text-color;\n }\n .mdl-textfield__label {\n color: $mdlext-dark-input-text-label-color;\n }\n .mdl-textfield__label::after {\n background-color: $mdlext-dark-input-text-highlight-color;\n }\n fieldset[disabled] .mdl-textfield .mdl-textfield__label,\n .mdl-textfield.is-disabled.is-disabled .mdl-textfield__label {\n color: $mdlext-dark-input-text-disabled-text-color;\n }\n .mdl-textfield--floating-label.is-focused .mdl-textfield__label,\n .mdl-textfield--floating-label.is-dirty .mdl-textfield__label,\n .mdl-textfield--floating-label.has-placeholder .mdl-textfield__label {\n color: $mdlext-dark-input-text-highlight-color;\n }\n .mdl-textfield--floating-label.is-invalid .mdl-textfield__label {\n color: $mdlext-dark-input-text-error-color;\n }\n .mdl-textfield.is-invalid .mdl-textfield__label::after {\n background-color: $mdlext-dark-input-text-error-color;\n }\n .mdl-textfield__error {\n color: $mdlext-dark-input-text-error-color;\n }\n}\n\n\n// mdl/src/checkbox/_checkbox.scss\n// -----------------------------------\n.mdlext-dark-color-theme {\n\n .mdl-checkbox__box-outline {\n border-color: $mdlext-dark-checkbox-off-color;\n }\n .mdl-checkbox.is-checked .mdl-checkbox__box-outline {\n border-color: $mdlext-dark-checkbox-color;\n }\n fieldset[disabled] .mdl-checkbox .mdl-checkbox__box-outline,\n .mdl-checkbox.is-disabled .mdl-checkbox__box-outline {\n border-color: $mdlext-dark-checkbox-disabled-color;\n }\n\n .mdl-checkbox__focus-helper {\n background-color: transparent;\n }\n .mdl-checkbox.is-focused.is-checked .mdl-checkbox__focus-helper {\n box-shadow: 0 0 0 ($checkbox-button-size / 2) $mdlext-dark-checkbox-focus-color;\n background-color: $mdlext-dark-checkbox-focus-color;\n }\n\n .mdl-checkbox__tick-outline {\n background: transparent;\n }\n .mdl-checkbox.is-checked .mdl-checkbox__tick-outline {\n background-color: $mdlext-dark-checkbox-color;\n }\n fieldset[disabled] .mdl-checkbox.is-checked .mdl-checkbox__tick-outline,\n .mdl-checkbox.is-checked.is-disabled .mdl-checkbox__tick-outline {\n background-color: $mdlext-dark-checkbox-disabled-color;\n }\n\n fieldset[disabled] .mdl-checkbox .mdl-checkbox__label,\n .mdl-checkbox.is-disabled .mdl-checkbox__label {\n color: $mdlext-dark-checkbox-disabled-color;\n }\n\n .mdl-checkbox__ripple-container .mdl-ripple {\n background: $mdlext-dark-checkbox-color;\n }\n fieldset[disabled] .mdl-checkbox .mdl-checkbox__ripple-container .mdl-ripple,\n .mdl-checkbox.is-disabled .mdl-checkbox__ripple-container .mdl-ripple {\n background: transparent;\n }\n\n}\n\n// mdl/src/radio/_radio.scss\n// -----------------------------------\n.mdlext-dark-color-theme {\n .mdl-radio__outer-circle {\n border-color: $mdlext-dark-radio-off-color;\n }\n .mdl-radio.is-checked .mdl-radio__outer-circle {\n border-color: $mdlext-dark-radio-color;\n }\n .mdl-radio__outer-circle fieldset[disabled] .mdl-radio,\n .mdl-radio.is-disabled .mdl-radio__outer-circle {\n border-color: $mdlext-dark-radio-disabled-color;\n }\n\n .mdl-radio__inner-circle {\n background: $mdlext-dark-radio-color;\n }\n fieldset[disabled] .mdl-radio .mdl-radio__inner-circle,\n .mdl-radio.is-disabled .mdl-radio__inner-circle {\n background: $mdlext-dark-radio-disabled-color;\n }\n\n fieldset[disabled] .mdl-radio .mdl-radio__label,\n .mdl-radio.is-disabled .mdl-radio__label {\n color: $mdlext-dark-radio-disabled-color;\n }\n\n .mdl-radio__ripple-container .mdl-ripple {\n background: $mdlext-dark-radio-color;\n }\n fieldset[disabled] .mdl-radio .mdl-radio__ripple-container .mdl-ripple,\n .mdl-radio.is-disabled .mdl-radio__ripple-container .mdl-ripple {\n background: transparent;\n }\n}\n\n// mdl/src/icon-togglr/_icon-toggle.scss\n// ---------------------------------------\n.mdlext-dark-color-theme {\n .mdl-icon-toggle__label {\n color: $mdlext-dark-icon-toggle-color;\n }\n .mdl-icon-toggle.is-checked .mdl-icon-toggle__label {\n color: $mdlext-dark-icon-toggle-checked-color;\n }\n .mdl-icon-toggle.is-disabled .mdl-icon-toggle__label {\n color: $mdlext-dark-icon-toggle-disabled-color;\n }\n .mdl-icon-toggle.is-focused .mdl-icon-toggle__label {\n background-color: $mdlext-dark-icon-toggle-focus-color;\n }\n .mdl-icon-toggle.is-focused.is-checked .mdl-icon-toggle__label {\n background-color: $mdlext-dark-icon-toggle-checked-focus-color;\n }\n .mdl-icon-toggle__ripple-container .mdl-ripple {\n background: $mdlext-dark-icon-toggle-color;\n }\n .mdl-icon-toggle.is-disabled .mdl-icon-toggle__ripple-container .mdl-ripple {\n background: transparent;\n }\n}\n\n\n// mdl/src/switch/_switch.scss\n// -----------------------------------\n.mdlext-dark-color-theme {\n\n .mdl-switch__track {\n background: $mdlext-dark-switch-off-track-color;\n }\n .mdl-switch.is-checked .mdl-switch__track {\n background: $mdlext-dark-switch-track-color;\n }\n .mdl-switch__track fieldset[disabled] .mdl-switch,\n .mdl-switch.is-disabled .mdl-switch__track {\n background: $mdlext-dark-switch-disabled-track-color;\n }\n\n .mdl-switch__thumb {\n background: $mdlext-dark-switch-off-thumb-color;\n }\n .mdl-switch.is-checked .mdl-switch__thumb {\n background: $mdlext-dark-switch-thumb-color;\n }\n .mdl-switch__thumb fieldset[disabled] .mdl-switch,\n .mdl-switch.is-disabled .mdl-switch__thumb {\n background: $mdlext-dark-switch-disabled-thumb-color;\n }\n\n .mdl-switch__focus-helper {\n background-color: transparent;\n }\n .mdl-switch.is-focused .mdl-switch__focus-helper {\n background-color: rgba(0, 0, 0, 0.1);\n }\n .mdl-switch.is-focused.is-checked .mdl-switch__focus-helper {\n box-shadow: 0 0 0 (($switch-ripple-size - $switch-helper-size) / 2) $mdlext-dark-switch-faded-color;\n background-color: $mdlext-dark-switch-faded-color;\n }\n\n .mdl-switch__label fieldset[disabled] .mdl-switch,\n .mdl-switch.is-disabled .mdl-switch__label {\n color: $mdlext-dark-switch-disabled-thumb-color;\n }\n\n .mdl-switch__ripple-container .mdl-ripple {\n background: $mdlext-dark-switch-color;\n }\n fieldset[disabled] .mdl-switch .mdl-switch__ripple-container .mdl-ripple,\n .mdl-switch.is-disabled .mdl-switch__ripple-container .mdl-ripple {\n background: transparent;\n }\n\n}\n\n\n// mdl/src/data-table/_data-table.scss\n// -----------------------------------\n.mdlext-dark-color-theme {\n\n .mdl-data-table {\n border-color: $mdlext-dark-data-table-divider-color;\n background-color: $mdlext-dark-data-table-background-color;\n\n tbody {\n tr {\n &.is-selected {\n background-color: $mdlext-dark-data-table-selection-color;\n }\n\n &:hover {\n background-color: $mdlext-dark-data-table-hover-color;\n }\n }\n }\n\n th {\n color: $mdlext-dark-data-table-header-color;\n\n &.mdl-data-table__header--sorted-ascending,\n &.mdl-data-table__header--sorted-descending {\n color: $mdlext-dark-data-table-header-sorted-color;\n\n &:hover {\n &::before {\n color: $mdlext-dark-data-table-header-sorted-icon-hover-color;\n }\n }\n }\n }\n }\n}\n\n// mdl/src/menu/_menu.scss\n// -----------------------------------\n.mdlext-dark-color-theme {\n\n .mdl-menu__outline {\n background: $mdlext-dark-default-dropdown-bg-color;\n }\n\n .mdl-menu__item {\n color: $mdlext-dark-default-item-text-color;\n background-color: transparent;\n outline-color: $mdlext-dark-default-item-outline-color;\n\n &--full-bleed-divider {\n border-bottom-color: $mdlext-dark-default-item-divider-color;\n }\n\n &[disabled],\n &[data-mdl-disabled] {\n color: $mdlext-dark-disabled-item-text-color;\n background-color: transparent;\n\n &:hover {\n background-color: transparent;\n }\n\n &:focus {\n background-color: transparent;\n }\n\n & .mdl-ripple {\n background: transparent;\n }\n }\n\n &:hover {\n background-color: $mdlext-dark-default-item-hover-bg-color;\n }\n\n &:focus {\n background-color: $mdlext-dark-default-item-focus-bg-color;\n }\n\n &:active {\n background-color: $mdlext-dark-default-item-active-bg-color;\n }\n }\n}\n\n// mdl/src/card/_card.scss\n// ----------------------------------------\n.mdlext-dark-color-theme {\n .mdl-card {\n background: $mdlext-dark-card-background-color;\n }\n\n .mdl-card__media {\n background-color: $mdlext-dark-card-image-placeholder-color;\n }\n\n .mdl-card__title {\n color: $mdlext-dark-card-text-color;\n\n &.mdl-card--border {\n border-bottom-color: $mdlext-dark-card-border-color;\n }\n }\n\n .mdl-card__title-text {\n color: inherit;\n }\n\n .mdl-card__subtitle-text {\n color: $mdlext-dark-card-subtitle-color;\n }\n\n .mdl-card__supporting-text {\n color: $mdlext-dark-card-supporting-text-text-color;\n }\n\n .mdl-card__actions {\n background-color: rgba(255, 255, 255, 0);\n\n &.mdl-card--border {\n border-top-color: $mdlext-dark-card-border-color;\n }\n }\n}\n\n\n// mdlext/src/selectfield/_selectfield.scss\n// ----------------------------------------\n.mdlext-dark-color-theme {\n\n .mdlext-selectfield.is-disabled::after {\n color: $mdlext-dark-input-text-disabled-color;\n @include mdlext-arrow(bottom, $mdlext-selectfield-arrow-width, $mdlext-selectfield-arrow-length, $mdlext-dark-input-text-disabled-color);\n }\n\n .mdlext-selectfield__select {\n border-bottom-color: $mdlext-dark-input-text-bottom-border-color;\n color: inherit;\n\n option {\n background-color: $mdlext-dark-content-background-color;\n color: $mdlext-dark-text-color-primary;\n }\n }\n .mdlext-selectfield.is-invalid .mdlext-selectfield__select {\n border-color: $mdlext-dark-input-text-error-color;\n }\n fieldset[disabled] .mdlext-selectfield .mdlext-selectfield__select,\n .mdlext-selectfield.is-disabled .mdlext-selectfield__select {\n background-color: transparent;\n border-bottom-color: $mdlext-dark-input-text-disabled-color;\n color: $mdlext-dark-input-text-disabled-text-color;\n }\n\n .mdlext-selectfield__label {\n color: $mdlext-dark-input-text-label-color;\n }\n fieldset[disabled] .mdlext-selectfield .mdlext-selectfield__label,\n .mdlext-selectfield.is-disabled.is-disabled .mdlext-selectfield__label {\n color: $mdlext-dark-input-text-disabled-text-color;\n }\n .mdlext-selectfield--floating-label.is-focused .mdlext-selectfield__label,\n .mdlext-selectfield--floating-label.is-dirty .mdlext-selectfield__label,\n .mdlext-selectfield--floating-label.is-dirty.is-dirty .mdlext-selectfield__label,\n .mdlext-selectfield--floating-label.has-placeholder .mdlext-selectfield__label {\n color: $mdlext-dark-input-text-highlight-color;\n }\n .mdlext-selectfield--floating-label.is-invalid .mdlext-selectfield__label {\n color: $mdlext-dark-input-text-error-color;\n }\n .mdlext-selectfield__label::after {\n background-color: $mdlext-dark-input-text-highlight-color;\n }\n .mdlext-selectfield.is-invalid .mdlext-selectfield__label::after {\n background-color: $mdlext-dark-input-text-error-color;\n }\n\n .mdlext-selectfield__error {\n color: $mdlext-dark-input-text-error-color;\n }\n}\n\n\n// mdlext/src/menu-button/_menu-button.scss\n// ----------------------------------------\n.mdlext-menu.mdlext-dark-color-theme {\n background: $mdlext-dark-default-dropdown-bg-color;\n}\n\n.mdlext-dark-color-theme {\n\n .mdlext-menu {\n background: $mdlext-dark-default-dropdown-bg-color;\n\n &__item {\n color: $mdlext-dark-default-item-text-color;\n background-color: $mdlext-dark-default-dropdown-bg-color;\n\n &:active,\n &[aria-selected='true'] {\n background-color: $mdlext-dark-default-item-active-bg-color;\n }\n &:hover:not([disabled]) {\n background-color: $mdlext-dark-default-item-hover-bg-color;\n }\n &:focus {\n outline-color: $mdlext-dark-default-item-outline-color;\n background-color: $mdlext-dark-default-item-focus-bg-color;\n }\n &[disabled] {\n color: $mdlext-dark-disabled-item-text-color;\n\n > * {\n color: $mdlext-dark-disabled-item-text-color;\n }\n }\n }\n &__item-separator {\n border-bottom: 1px solid $mdlext-dark-default-item-divider-color;\n }\n }\n}\n\n\n// mdlext/src/bordered-fields/_bordered-fields.scss\n// -------------------------------------------------\n.mdlext-dark-color-theme {\n\n .mdlext-bordered-fields {\n\n .mdl-textfield,\n .mdlext-selectfield {\n\n .mdl-textfield__input,\n .mdlext-selectfield__select {\n background-color: $mdlext-dark-bordered-field-background-color;\n border-color: $mdlext-dark-bordered-field-border-color;\n color: $mdlext-dark-bordered-field-input-text-color;\n\n &:disabled {\n color: $mdlext-dark-bordered-field-input-text-disabled-text-color;\n background-color: $mdlext-dark-bordered-field-disabled-background-color;\n border-color: $mdlext-dark-bordered-field-disabled-border-color;\n }\n &:focus {\n background-color: $mdlext-dark-bordered-field-focus-background-color;\n border-color: $mdlext-dark-bordered-field-focus-border-color;\n }\n }\n &.is-invalid {\n .mdl-textfield__input,\n .mdlext-selectfield__select {\n color: $mdlext-dark-bordered-field-input-text-error-color;\n border-color: $mdlext-dark-bordered-field-error-border-color;\n background-color: $mdlext-dark-bordered-field-error-background-color;\n\n &:focus {\n border-color: $mdlext-dark-bordered-field-error-focus-border-color;\n background-color: $mdlext-dark-bordered-field-error-focus-background-color;\n }\n }\n }\n }\n\n fieldset[disabled] .mdlext-selectfield::after,\n .mdlext-selectfield.is-disabled::after {\n color: $mdlext-dark-bordered-field-input-text-disabled-text-color;\n @include mdlext-arrow(bottom, $mdlext-selectfield-arrow-width, $mdlext-selectfield-arrow-length, $mdlext-dark-bordered-field-input-text-disabled-text-color);\n }\n\n fieldset[disabled] .mdl-textfield .mdl-textfield__input,\n fieldset[disabled] .mdlext-selectfield .mdlext-selectfield__select {\n color: $mdlext-dark-bordered-field-input-text-disabled-text-color;\n background-color: $mdlext-dark-bordered-field-disabled-background-color;\n border-color: $mdlext-dark-bordered-field-disabled-border-color;\n }\n\n .mdl-textfield,\n .mdlext-selectfield {\n\n .mdl-textfield__label,\n .mdlext-selectfield__label {\n color: $mdlext-dark-bordered-field-input-text-label-color;\n }\n &.mdl-textfield--floating-label.is-focused.is-focused,\n &.mdl-textfield--floating-label.is-dirty.is-dirty,\n &.mdl-textfield--floating-label.has-placeholder,\n &.mdlext-selectfield--floating-label.is-focused.is-focused,\n &.mdlext-selectfield--floating-label.is-dirty.is-dirty,\n &.mdlext-selectfield--floating-label.has-placeholder {\n\n .mdl-textfield__label,\n .mdlext-selectfield__label {\n color: $mdlext-dark-bordered-field-input-text-label-focus-color;\n }\n }\n &.mdl-textfield--floating-label.is-disabled.is-disabled,\n &.mdlext-selectfield--floating-label.is-disabled.is-disabled {\n\n .mdl-textfield__label,\n .mdlext-selectfield__label {\n color: $mdlext-dark-bordered-field-input-text-label-disabled-color;\n }\n }\n &.mdl-textfield--floating-label.is-invalid.is-invalid,\n &.mdlext-selectfield--floating-label.is-invalid.is-invalid {\n\n .mdl-textfield__label,\n .mdlext-selectfield__label {\n color: $mdlext-dark-bordered-field-input-text-label-error-color;\n }\n }\n }\n\n fieldset[disabled] .mdl-textfield .mdl-textfield__label,\n fieldset[disabled] .mdl-selectfield .mdl-selectfield__label {\n color: $mdlext-dark-bordered-field-input-text-label-disabled-color;\n }\n\n // Icon(s) and/or button(s) inside textfield\n .mdl-textfield,\n .mdlext-selectfield {\n &.is-disabled i,\n &.is-disabled .mdl-button {\n color: $mdlext-dark-bordered-field-disabled-border-color;\n }\n }\n fieldset[disabled] .mdl-textfield,\n fieldset[disabled] .mdlext-selectfield {\n i,\n .mdl-button {\n color: $mdlext-dark-bordered-field-disabled-border-color;\n }\n }\n }\n\n}\n\n\n// mdlext/src/accordion/_accordion.scss\n// ----------------------------------------\n.mdlext-dark-color-theme {\n\n .mdlext-accordion {\n\n &__tab {\n color: $mdlext-dark-accordion-header-secondary-color;\n background-color: $mdlext-dark-accordion-header-background-color;\n\n &:focus {\n outline-color: $mdlext-dark-accordion-header-focus-outline-color;\n }\n &[aria-expanded='true'] {\n background-color: $mdlext-dark-accordion-header-background-open-color;\n }\n &[aria-selected='true'] {\n background-color: $mdlext-dark-accordion-header-background-active-color;\n }\n &[disabled] {\n background-color: $mdlext-dark-accordion-header-disabled-color;\n color: $mdlext-dark-accordion-header-secondary-color-disabled;\n pointer-events: none;\n\n > * {\n color: $mdlext-dark-accordion-header-secondary-color-disabled;\n }\n }\n &:hover:not([disabled]) {\n background-color: $mdlext-dark-accordion-header-background-hover-color;\n }\n &--ripple {\n &[aria-selected='true']::before {\n background: $mdlext-dark-accordion-ripple-color;\n }\n }\n }\n\n &__tabpanel {\n color: $mdlext-dark-accordion-content-color;\n background-color: $mdlext-dark-accordion-content-background-color;\n }\n }\n\n // Vertical layout\n .mdlext-accordion {\n\n &--vertical {\n\n .mdlext-accordion__tab {\n border-top: 1px solid $mdlext-dark-accordion-header-border-color;\n\n &[aria-selected='true']::after {\n background-color: $mdlext-dark-accordion-header-highlight-color;\n }\n }\n .mdlext-accordion__tabpanel {\n border-top: 1px solid $mdlext-dark-accordion-header-border-color;\n }\n }\n }\n\n // Horizontal layout\n .mdlext-accordion {\n\n &--horizontal {\n\n .mdlext-accordion__tab {\n border-left: 1px solid $mdlext-dark-accordion-header-border-color;\n\n &[aria-selected='true']::after {\n background-color: $mdlext-dark-accordion-header-highlight-color;\n }\n }\n .mdlext-accordion__tabpanel {\n border-left: 1px solid $mdlext-dark-accordion-header-border-color;\n }\n }\n }\n\n .mdlext-accordion {\n\n &__panel:first-child > &__tab {\n // Use container to set outer borders\n border-top-color: transparent;\n border-left-color: transparent;\n }\n }\n\n // Making accordion appear disabled.\n // Note: does not prevent tabbing into a disabled accordion\n .mdlext-accordion[disabled] {\n .mdlext-accordion__tab {\n background-color: $mdlext-dark-accordion-header-disabled-color;\n color: $mdlext-dark-accordion-header-secondary-color-disabled;\n\n > * {\n color: $mdlext-dark-accordion-header-secondary-color-disabled;\n }\n }\n .mdlext-accordion__tabpanel {\n opacity: 0.8;\n filter: blur(1px) grayscale(80%);\n }\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// webpack:///src/color-themes/_dark-color-theme.scss"],"sourceRoot":""}
\ No newline at end of file
diff --git a/lib/mdl-ext.css.map b/lib/mdl-ext.css.map
index 9016a98..f91a309 100644
--- a/lib/mdl-ext.css.map
+++ b/lib/mdl-ext.css.map
@@ -1 +1 @@
-{"version":3,"sources":["webpack:///webpack:///~/material-design-lite/src/_variables.scss?0a5c","webpack:///webpack:///src/mdl-ext-build.scss","webpack:///webpack:///~/material-design-lite/src/_color-definitions.scss?1036","webpack:///webpack:///~/material-design-lite/src/_functions.scss?fd08","webpack:///webpack:///~/material-design-lite/src/_mixins.scss?572c","webpack:///webpack:///src/_variables.scss?5326","webpack:///webpack:///src/_functions.scss?19fe","webpack:///webpack:///src/aria-expanded-toggle/_aria-expanded-toggle.scss?d01f","webpack:///webpack:///src/_mixins.scss?c723","webpack:///webpack:///src/sticky-header/_sticky-header.scss?721e","webpack:///webpack:///src/dialog/dialog.scss?6dd1","webpack:///webpack:///src/grid/_grid-media-queries.scss","webpack:///webpack:///src/lightboard/_lightboard.scss?79ea","webpack:///webpack:///src/lightboard/_lightboard-media-queries.scss","webpack:///webpack:///src/lightbox/_lightbox.scss?bce5","webpack:///webpack:///src/carousel/_carousel.scss?ab9b","webpack:///webpack:///src/selectfield/_selectfield.scss?910a","webpack:///webpack:///src/menu-button/_menu-button.scss?610a","webpack:///webpack:///src/bordered-fields/_bordered-fields.scss?3072","webpack:///webpack:///src/collapsible/_collapsible.scss?5cb7","webpack:///webpack:///src/accordion/_accordion.scss?b350","webpack:///webpack:///src/color-themes/_color-themes.scss?0fde","webpack:///webpack:///src/color-themes/_light-color-theme.scss?77e1","webpack:///webpack:///src/color-themes/_dark-color-theme.scss?a990"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GCcG;;ADEH;wCCCwC;;ADExC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GCgCG;;ADGH;;AAEA;;;;;;;;;ECQE;;ADKF;;AAEA;;;;;GCEG;;ACzEH;;;;;;;;;;;;;;GDyFG;;ACzEH;;AAikBA;;ACjlBA;;;;;;;;;;;;;;GF6GG;;AD5BH;;AAGA;;AA8BA;;AAgBA;;AAEA;;AAkCA;;AAQA;;AAMA;;AAIA;;AAqBA;;AAOA;;AAQA;;AAYA;;AASA;;AAUA;;AASA;;AAOA;;AAMA;;AAOA;;AAaA;;AAIA;;AAKA;;AASA;;AAYA;;AAYA;;AAgBA;;AAWA;;AAKA;;AAeA;;AA6BA;;AAMA;;AAEA;;AAOA;;AAMA;;AAWA;;AAEA;;AA0BA;;AAKA;;AACA;;;;GC9RG;;ADiTH;;AAQA;;AAGA;;AAUA;;AAMA;;AAqBA;;AA6BA;;AAGA;;AAOA;;AAIA;;AI3kBA;;;;;;;;;;;;;;GHmOG;;AGnNH;;AA+MA;;AA6CA;;AAsBA;;AClSA;;;;;;;;;;;;;;GJ2PG;;AKtLH;;AAqCA;;AD/CA;;AAUA;;AAWA;;AAEA;;AAoBA;;AAQA;;AAUA;;AA8CA;;AAQA;;AAkDA;;AC3JA;;AAqCA;;AArCA;;AAqCA;;ACxGA;;;;;;;;;;;;;;;;;;GN6SG;;AK1OH;;AAqCA;;AClFA;ECiDE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;EAGA;EAGA;EAGA;CPsOD;;AMjTD;EC8EI;EACA;CPuOH;;AAvFC;EO3II;EACA;CPsOL;;AMvTD;EC6CE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;EAGA;EAGA;EAGA;CPsQD;;AM7UD;EC0EI;EACA;CPuQH;;AA5FC;EOtKI;EACA;CPsQL;;AQnXD;;;;;;;;;;;;;;GRmYG;;AInYH;;;;;;;;;;;;;;GJmZG;;AK9UH;;AAqCA;;AD/CA;;AAUA;;AAWA;;AAEA;;AAoBA;;AAQA;;AAUA;;AA8CA;;AAQA;;AAkDA;;AI3MA;EACE;EACA;EACA;EACA;CRyZD;;AQ7ZD;EAOI;CR0ZH;;AQtZD;EAEI;CRwZH;;AQtZC;EACE;CRyZH;;AQrZD;;EAEE;EAAA;CRwZD;;AQ1ZD;;EAKI;CR0ZH;;AQ/ZD;;EAQI;CR4ZH;;AS7cD;;;;;;;;;;;;;;;;;;GTieG;;AIjeH;;;;;;;;;;;;;;GJifG;;AK5aH;;AAqCA;;AD/CA;;AAUA;;AAWA;;AAEA;;AAoBA;;AAQA;;AAUA;;AA8CA;;AAQA;;AAkDA;;AK1MA;EACE;EACA;EACA;EACA;EACA;CTsfD;;AS3fD;EAQI;CTufH;;AS/fD;EAWI;CTwfH;;ASngBD;EAWI;CTwfH;;AStfW;EACR;CTyfH;;ASrfD;EACE;IAAK;GTyfJ;CACF;;ASxfD;EACE;IAAK;GT4fJ;CACF;;AUviBD;;;;;;;;;;;;;;;;;GV0jBG;;AU9hBH;EACE;EAAA;EACA;MAAA;EACA;EACA;MAAA;CViiBD;;AU/hBC;EACE;CVkiBH;;AU9hBD;EACE;CViiBD;;AU7hBD;EACE;MAAA;CVgiBD;;AU7hBD;EACE;MAAA;MAAA;CVgiBD;;AU7hBD;EACE;MAAA;CVgiBD;;AU7hBD;EACE;MAAA;MAAA;CVgiBD;;AU7hBD;EACE;CVgiBD;;AU3hBC;EACE;MAAA;CV8hBH;;AU/hBC;EACE;MAAA;CVkiBH;;AUniBC;EACE;MAAA;CVsiBH;;AUviBC;EACE;MAAA;CV0iBH;;AU3iBC;EACE;MAAA;CV8iBH;;AU/iBC;EACE;MAAA;CVkjBH;;AUnjBC;EACE;MAAA;CVsjBH;;AUvjBC;EACE;MAAA;CV0jBH;;AU3jBC;EACE;MAAA;CV8jBH;;AU/jBC;EACE;MAAA;CVkkBH;;AUnkBC;EACE;MAAA;CVskBH;;AUvkBC;EACE;MAAA;CV0kBH;;AU5iBD;;AACA;EACA;;EACE;IACE;GVijBD;;EU9iBD;IACE;IA/BF;GVilBC;;EU/kBD;IACE;GVklBD;;EUljBD;IACE;GVqjBD;;EUhjBC;IACE;QAAA;GVmjBH;;EUpjBC;IACE;QAAA;GVujBH;;EUxjBC;IACE;QAAA;GV2jBH;;EU5jBC;IACE;QAAA;GV+jBH;;EUhkBC;IACE;QAAA;GVmkBH;;EUpkBC;IACE;QAAA;GVukBH;;EUxkBC;IACE;QAAA;GV2kBH;;EU5kBC;IACE;QAAA;GV+kBH;;EUhlBC;IACE;QAAA;GVmlBH;;EUplBC;IACE;QAAA;GVulBH;;EUxlBC;IACE;QAAA;GV2lBH;;EU5lBC;IACE;QAAA;GV+lBH;;EUzlBC;;IAhDF;GV8oBC;;EU5oB0B;;;IACzB;GVipBD;;EUpmBC;;IAhDF;GVypBC;;EUvpBD;;;IACE;GV4pBD;;EU/mBC;;IAhDF;GVoqBC;;EUlqB0B;;;IACzB;GVuqBD;;EUlnBC;;IAxDF;GV+qBC;;EU7qBD;;;IACE;GVkrBD;;EU7nBC;;IAxDF;GV0rBC;;EUxrBD;;;IACE;GV6rBD;;EUxoBC;;IAxDF;GVqsBC;;EUnsBD;;;IACE;GVwsBD;;EUnpBC;;IAxDF;GVgtBC;;EU9sBD;;;IACE;GVmtBD;;EU9pBC;;IAxDF;GV2tBC;;EUztBD;;;IACE;GV8tBD;;EUzqBC;;IAxDF;GVsuBC;;EUpuBD;;;IACE;GVyuBD;;EUprBC;;IAxDF;GVivBC;;EU/uBD;;;IACE;GVovBD;;EU/rBC;;IAxDF;GV4vBC;;EU1vBD;;;IACE;GV+vBD;;EU1sBC;;IAxDF;GVuwBC;;EUrwBD;;;IACE;GV0wBD;;EU7sBC;;IApDF;GVswBC;;EUpwBD;;;IACE;GVywBD;;EUxtBC;;IApDF;GVixBC;;EU/wBsC;;;IACrC;GVoxBD;;EUnuBC;;IApDF;GV4xBC;;EU1xBD;;;IACE;GV+xBD;CACF;;AUruBD;;AACA;EAA4F;;EAC1F;IACE;GV2uBD;;EUxuBD;IACE;IAjFF;GV6zBC;;EU3zB0B;IACzB;GV8zBD;;EU5uBD;IACE;GV+uBD;;EU1uBC;IACE;QAAA;GV6uBH;;EU9uBC;IACE;QAAA;GVivBH;;EUlvBC;IACE;QAAA;GVqvBH;;EUtvBC;IACE;QAAA;GVyvBH;;EU1vBC;IACE;QAAA;GV6vBH;;EU9vBC;IACE;QAAA;GViwBH;;EUlwBC;IACE;QAAA;GVqwBH;;EUtwBC;IACE;QAAA;GVywBH;;EU1wBC;IACE;QAAA;GV6wBH;;EU9wBC;IACE;QAAA;GVixBH;;EUlxBC;IACE;QAAA;GVqxBH;;EUtxBC;IACE;QAAA;GVyxBH;;EUnxBC;;IAlGF;GV03BC;;EUx3B0B;;;IACzB;GV63BD;;EU9xBC;;IAlGF;GVq4BC;;EUn4BD;;;IACE;GVw4BD;;EUzyBC;;IAlGF;GVg5BC;;EU94B0B;;;IACzB;GVm5BD;;EUpzBC;;IAlGF;GV25BC;;EUz5BD;;;IACE;GV85BD;;EU/zBC;;IAlGF;GVs6BC;;EUp6B0B;;;IACzB;GVy6BD;;EU10BC;;IAlGF;GVi7BC;;EU/6B0B;;;IACzB;GVo7BD;;EUr1BC;;IAlGF;GV47BC;;EU17B0B;;;IACzB;GV+7BD;;EUx1BC;;IA1GF;GVu8BC;;EUr8B0B;;;IACzB;GV08BD;;EUn2BC;;IA1GF;GVk9BC;;EUh9B0B;;;IACzB;GVq9BD;;EU92BC;;IA1GF;GV69BC;;EU39B0B;;;IACzB;GVg+BD;;EUz3BC;;IA1GF;GVw+BC;;EUt+BD;;;IACE;GV2+BD;;EUp4BC;;IA1GF;GVm/BC;;EUj/B0B;;;IACzB;GVs/BD;;EUv4BC;;IAtGF;GVk/BC;;EUh/BD;;;IACE;GVq/BD;;EUl5BC;;IAtGF;GV6/BC;;EU3/BD;;;IACE;GVggCD;;EU75BC;;IAtGF;GVwgCC;;EUtgCsC;;;IACrC;GV2gCD;;EUx6BC;;IAtGF;GVmhCC;;EUjhCD;;;IACE;GVshCD;;EUn7BC;;IAtGF;GV8hCC;;EU5hCsC;;;IACrC;GViiCD;;EU97BC;;IAtGF;GVyiCC;;EUviCD;;;IACE;GV4iCD;;EUz8BC;;IAtGF;GVojCC;;EUljCD;;;IACE;GVujCD;CACF;;AU38BD;EACE;IACE;GV88BD;;EU38BD;IACE;IAlIF;GVilCC;;EU/kCD;IACE;GVklCD;;EU/8BD;IACE;GVk9BD;;EU78BC;IACE;QAAA;GVg9BH;;EUj9BC;IACE;QAAA;GVo9BH;;EUr9BC;IACE;QAAA;GVw9BH;;EUz9BC;IACE;QAAA;GV49BH;;EU79BC;IACE;QAAA;GVg+BH;;EUj+BC;IACE;QAAA;GVo+BH;;EUr+BC;IACE;QAAA;GVw+BH;;EUz+BC;IACE;QAAA;GV4+BH;;EU7+BC;IACE;QAAA;GVg/BH;;EUj/BC;IACE;QAAA;GVo/BH;;EUr/BC;IACE;QAAA;GVw/BH;;EUz/BC;IACE;QAAA;GV4/BH;;EUt/BC;;IAnJF;GV8oCC;;EU5oCD;;;IACE;GVipCD;;EUjgCC;;IAnJF;GVypCC;;EUvpCD;;;IACE;GV4pCD;;EU5gCC;;IAnJF;GVoqCC;;EUlqC0B;;;IACzB;GVuqCD;;EUvhCC;;IAnJF;GV+qCC;;EU7qCD;;;IACE;GVkrCD;;EUliCC;;IAnJF;GV0rCC;;EUxrC0B;;;IACzB;GV6rCD;;EU7iCC;;IAnJF;GVqsCC;;EUnsCD;;;IACE;GVwsCD;;EUxjCC;;IAnJF;GVgtCC;;EU9sC0B;;;IACzB;GVmtCD;;EUnkCC;;IAnJF;GV2tCC;;EUztC0B;;;IACzB;GV8tCD;;EU9kCC;;IAnJF;GVsuCC;;EUpuC0B;;;IACzB;GVyuCD;;EUzlCC;;IAnJF;GVivCC;;EU/uC0B;;;IACzB;GVovCD;;EUpmCC;;IAnJF;GV4vCC;;EU1vC0B;;;IACzB;GV+vCD;;EU/mCC;;IAnJF;GVuwCC;;EUrwC0B;;;IACzB;GV0wCD;;EUlnCC;;IA/IF;GVswCC;;EUpwCsC;;;IACrC;GVywCD;;EU7nCC;;IA/IF;GVixCC;;EU/wCD;;;IACE;GVoxCD;;EUxoCC;;IA/IF;GV4xCC;;EU1xCsC;;;IACrC;GV+xCD;;EUnpCC;;IA/IF;GVuyCC;;EUryCD;;;IACE;GV0yCD;;EU9pCC;;IA/IF;GVkzCC;;EUhzCsC;;;IACrC;GVqzCD;;EUzqCC;;IA/IF;GV6zCC;;EU3zCsC;;;IACrC;GVg0CD;;EUprCC;;IA/IF;GVw0CC;;EUt0CD;;;IACE;GV20CD;;EU/rCC;;IA/IF;GVm1CC;;EUj1CsC;;;IACrC;GVs1CD;;EU1sCC;;IA/IF;GV81CC;;EU51CD;;;IACE;GVi2CD;;EUrtCC;;IA/IF;GVy2CC;;EUv2CD;;;IACE;GV42CD;;EUhuCC;;IA/IF;GVo3CC;;EUl3CD;;;IACE;GVu3CD;CACF;;AWj9CD;;;;;;;;;;;;;;GXi+CG;;AWj9CH;;;;;GXw9CG;;AI1+CH;;;;;;;;;;;;;;GJ0/CG;;AKr7CH;;AAqCA;;AD/CA;;AAUA;;AAWA;;AAEA;;AAoBA;;AAQA;;AAUA;;AA8CA;;AAQA;;AAkDA;;AOlMA;EACE;CXu/CD;;AWp/CD;EACE;EACA;EACA;EACA;EAAA;EACA;MAAA;EACA;MAAA;CXu/CD;;AWr/CC;;;;EAIE;CXw/CH;;AWpgDD;EAgBI;EACA;EACA;EACA;EACA;EACA;EACA;CXw/CH;;AW9gDD;EA2BM;EACA;EACA;CXu/CL;;AWphDD;;;EAkCM;EACA;EACA;CXw/CL;;AW5hDD;;;EAuCQ;EACA;CX2/CP;;AWniDD;EA4CM;EACA;CX2/CL;;AWxiDD;EAgDM;CX4/CL;;AW1/CK;EACE;EACA;CX6/CP;;AWliDC;;EA0CI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CX6/CL;;AW7jDD;;EAmEQ;EACA;CX+/CP;;AWnkDD;;EAuEQ;CXigDP;;AWxkDD;;EA0EQ;EACA;EACA;EACA;EACA;EACA;CXmgDP;;AWllDD;;EAkFU;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CXqgDT;;AWngDO;;ER3GJ;EAgIF;EACA;EACA;EACA;EQrBQ;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CX0gDT;;AWtgDO;;EAIE;EACA;CXugDT;;AW//CD;EACE;CXkgDD;;AWngDD;EAII;EACA;CXmgDH;;AWxgDD;EAQM;CXogDL;;AWjgDC;EACE;CXogDH;;AWhhDD;EAeM;EACA;CXqgDL;;AIjrDD;;;;;;;;;;;;;;GJisDG;;AK5nDH;;AAqCA;;AD/CA;;AAUA;;AAWA;;AAEA;;AAoBA;;AAQA;;AAUA;;AA8CA;;AAQA;;AAkDA;;AQjNA;;AACA;EAA2H;;EACzH;IACE;GZgtDD;;EY9sDC;IACE;IACA;GZitDH;;EY/sDoC;IAC/B;GZktDL;;EY/sDC;IACE;GZktDH;;EY9tDD;IAeM;IACA;GZmtDL;CACF;;AY7sDD;;AACA;EAA2H;;EACzH;IACE;GZmtDD;;EYjtDC;IACE;IACA;GZotDH;;EYltDoC;IAC/B;GZqtDL;;EYltDC;IACE;GZqtDH;;EYjuDD;IAeM;IACA;GZstDL;CACF;;AYhtDD;;AACA;EAA2H;;EACzH;IACE;GZstDD;;EYvtDD;IAII;IACA;GZutDH;;EY5tDD;IAQM;GZwtDL;;EYhuDD;IAYI;GZwtDH;;EYttDG;IACE;IACA;GZytDL;CACF;;AYntDD;EACE;IACE;GZstDD;;EYvtDD;IAII;IACA;GZutDH;;EY5tDD;IAQM;GZwtDL;;EYhuDD;IAYI;GZwtDH;;EYpuDD;IAeM;IACA;GZytDL;CACF;;Aan0DD;;;;;;;;;;;;;;Gbm1DG;;AIr1DH;;;;;;;;;;;;;;GJq2DG;;AKhyDH;;AAqCA;;AD/CA;;AAUA;;AAWA;;AAEA;;AAoBA;;AAQA;;AAUA;;AA8CA;;AAQA;;AAkDA;;ASzMA;EACE;KAAA;MAAA;UAAA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;Cby2DD;;Aar3DD;;;;EAkBI;Cb02DH;;Aav2DC;EAGE;EACA;EACA;EACA;EAAA;EACA;MAAA;Cbw2DH;;Aat2DG;EACE;MAAA;EACA;EACA;EACA;EACA;EACA;EACA;Cby2DL;;Aah2DC;EACE;EACA;EACA;Cbm2DH;;Aap5DD;EAoDM;EACA;EACA;EACA;EACA;Cbo2DL;;Aa55DD;EVHI;EAgIF;EACA;EACA;EACA;EUnEI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;Cbw2DL;;Aax3DG;EAmBI;Cby2DP;;Aat7DD;EAiFU;Cby2DT;;Aa17DD;;EAqFU;Cb02DT;;Aa/7DD;EA2FI;EACA;Cbw2DH;;Aap8DD;EA+FI;EAAA;EACA;MAAA;EACA;MAAA;EACA;Cby2DH;;Aav2DG;EACE;MAAA;EACA;EACA;EACA;EACA;Cb02DL;;Aan9DD;EA4GM;EAAA;Cb22DL;;Aav2DkC;EAC/B;EACA;EACA;Cb02DH;;Acl/DD;;;;;;;;;;;;;;GdkgEG;;Acl/DH;;Gds/DG;;Ac9+DH;EACE;Cdi/DD;;Ac9+DD;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;Cdi/DD;;Ac9+DD;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;Cdi/DD;;Ac5+DG;;EAIE;EACA;Cd6+DL;;Ac//DD;;EAwBI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;Cd4+DH;;Ac7gED;EAsCI;Cd2+DH;;Acx+DC;EACE;EACA;EACA;EACA;EACA;Cd2+DH;;Acz+DG;EACE;EACA;Cd4+DL;;Acz+DG;EACE;EX7EF;EAgIF;EACA;EACA;EACA;EWnDI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;Cd++DL;;AcljED;EA0EQ;EACA;Cd4+DP;;Acv+DC;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;Cd0+DH;;AcnkED;EA4FM;Cd2+DL;;AelnED;;;;;;;;;;;;;;GfkoEG;;AelnEH;;;;;;;;Gf4nEG;;AKvkEH;;AAqCA;;AUzEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CfknED;;Ae1nED;EAYI;EACA;CfknEH;;Ae9mEC;ERzCA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAKE;EACA;EQ8BA;EACA;EACA;EACA;EACA;Cf0nEH;;AetnED;EAEI;ERtDF;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAKE;EACA;CP2qEH;;Ae7nED;EACE;CfgoED;;Ae5nED;EACE;Cf+nED;;Ae3nED;EACE;EACA;EACA;Cf8nED;;Ae1nED;EAGE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CfynED;;AetnEC;EACE;EACA;CfynEH;;AernEC;EACE;EACA;CfwnEH;;Ae5pED;EAwCI;CfwnEH;;AernEC;EACE;CfwnEH;;AernEgC;EAC7B;EACA;CfwnEH;;AernEC;;EAEE;EACA;EACA;CfwnEH;;AehrED;EA4DI;EACA;EACA;CfwnEH;;AennED;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CfsnED;;AepnE8B;;EAE3B;CfunEH;;AennEqC;EZ+GpC;EACA;CHwgED;;AepnEqD;EAClD;CfunEH;;AepnEwC;;EAErC;CfunEH;;AepnEgD;;;EAG7C;EACA;EACA;EACA;CfunEH;;AepnEC;;;EAGE;CfunEH;;AepnEgD;EAC7C;EACA;CfunEH;;Ae3qED;EAyDI;EACA;EACA;EACA;EACA;EACA;EZuEF;EACA;EYrEE;EACA;CfsnEH;;AennEC;EACE;EACA;EACA;CfsnEH;;AennEgC;EAC7B;CfsnEH;;AejnED;EACE;EACA;EACA;EACA;EACA;EACA;CfonED;;AelnEC;EACE;CfqnEH;;AehnED;EACE;EACA;EACA;EZmCA;EACA;EY5BA;Cf8mED;;Ae5mEgC;;EAM7B;Cf2mEH;;AezmEC;EACE;Cf4mEH;;AgBx3ED;;;;;;;;;;;;;;;;;;GhB44EG;;AgBx3EH;;;;;;;;;EhBm4EE;;AgBx3EF;EACE;EbdE;EAqKF;EACA;EACA;EACA;EaxJA;EACA;EACA;EACA;EACA;EAAA;EACA;MAAA;EACA;MAAA;ChB+3ED;;AgB73EG;EACA;EACA;ChBg4EH;;AgB73EG;EACA;ChBg4EH;;AgBj5ED;EAqBI;ChBg4EH;;AgB33ED;EACE;EACA;EACA;EACA;ChB83ED;;AgB33ED;;EAEE;EACA;EACA;EACA;EACA;EAAA;ChB83ED;;AgB33ED;EACE;EACA;EACA;EACA;EACA;Eb4JA;Ea1JA;EAAA;EACA;MAAA;EACA;EACA;EACA;ChB83ED;;AgBz4ED;EAcI;EACA;ChB+3EH;;AgB94ED;ETxCE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;ESqDE;ChBs4EH;;AgBn4EC;EbsCA;EACA;EACA;EACA;EavCE;EACA;EACA;EACA;EACA;MAAA;EACA;MAAA;MAAA;EACA;EACA;EACA;EACA;KAAA;MAAA;UAAA;EACA;EACA;ChBy4EH;;AgBv4EG;EACE;ChB04EL;;AgBt4EG;EACE;EACA;EACA;EACA;EACA;EACA;EACA;ChBy4EL;;AgBt4EG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D;;;;;;;;;;EnBi+FE;;AmBr9FF;EACE;IAAK;GnBy9FJ;;EmBx9FD;IAAM;GnB49FL;;EmB39FD;IAAM;GnB+9FL;;EmB99FD;IAAO;GnBk+FN;CACF;;AmBh+FD;EACE;IAAK;GnBo+FJ;;EmBn+FD;IAAM;GnBu+FL;;EmBt+FD;IAAM;GnB0+FL;;EmBz+FD;IAAO;GnB6+FN;CACF;;AmB3+FD;;;;;;;;;;EnBu/FE;;AmB3+FF;EACE;IAAK;GnB++FJ;;EmB9+FD;IAAM;GnBk/FL;;EmBj/FD;IAAM;GnBq/FL;;EmBp/FD;IAAO;GnBw/FN;CACF;;AmBt/FD;EACE;IAAK;GnB0/FJ;;EmBz/FD;IAAM;GnB6/FL;;EmB5/FD;IAAM;GnBggGL;;EmB//FD;IAAO;GnBmgGN;CACF;;AoB74GD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EpBu8GE;;AqBr8GF;EACE;EACA;CrBw8GD;;AqB18GD;EAKI;CrBy8GH;;AqBj8GC;EACE;CrBo8GH;;AqBj8GC;EACE;CrBo8GH;;AqB38GD;EAWI;CrBo8GH;;AqBj8GC;EACE;CrBo8GH;;AqBj8GC;EACE;CrBo8GH;;AqBv9GD;EAuBI;CrBo8GH;;AqB39GD;EA2BI;CrBo8GH;;AqB/9GD;EA+BI;CrBo8GH;;AqBj8GC;EACE;CrBo8GH;;AqBv+GD;EAuCI;CrBo8GH;;AqB77GD;EAEI;CrB+7GH;;AqBv7GC;EAGI;EACA;CrBw7GL;;AqB77GD;EAUQ;EACA;CrBu7GP;;AqB96GD;EAGI;EACA;CrB+6GH;;AqBj7GC;EAKI;CrBg7GL;;AqBv7GD;EAWM;CrBg7GL;;AqB37GD;EAeM;CrBg7GL;;AqB/7GD;EAmBM;CrBg7GL;;AqBj8GC;EAoBM;CrBi7GP;;AqBv8GD;EA6BI;CrB86GH;;AqB38GD;EAgCM;CrB+6GL;;AqBn7GC;EAQI;CrB+6GL;;AqBv7GC;EAYI;EACA;CrB+6GL;;AqB57GC;EAgBM;CrBg7GP;;AqBh8GC;EAoBM;CrBg7GP;;AqBh+GD;EAoDQ;CrBg7GP;;AqBp+GD;EAwDQ;CrBg7GP;;AqBx+GD;EAgEI;CrB46GH;;AqB5+GD;EAmEM;CrB66GL;;AqBj7GC;EAQI;CrB66GL;;AqBp/GD;EA2EM;EACA;CrB66GL;;AqBz/GD;EA+EQ;CrB86GP;;AqB7/GD;EAmFQ;CrB86GP;;AqBjgHD;EAuFQ;CrB86GP;;AqBrgHD;EA2FQ;CrB86GP;;AqBzgHD;EAmGI;CrB06GH;;AqBr6GC;EACE;CrBw6GH;;AqBjhHD;EA4GM;CrBy6GL;;AqBrhHD;;EAgHM;EACA;CrB06GL;;AqBt6GC;EACE;CrBy6GH;;AqBv6GK;EACA;CrB06GL;;AqB96GC;;EAQI;EACA;CrB26GL;;AqBziHD;;EAwIM;EACA;CrBs6GL;;AqB/iHD;;EAgJQ;EACA;CrBo6GP;;AqBrjHD;;EAyJQ;EACA;CrBi6GP;;AqBv7GC;;EA6BM;CrB+5GP;;AqBv5GD;EAIM;EACA;EAeA;EAgBA;EAGA;EA6BA;EAQA;EAOA;EA8BA;EA0BA;EAMA;EAsCA;EAkBA;CrB8tGL;;AqBv6GD;EAQQ;CrBm6GP;;AqB36GD;EAYQ;CrBm6GP;;AqB/6GD;EAgBQ;EACA;CrBm6GP;;AqBp7GD;EAsBQ;CrBk6GP;;AqBx7GD;EA8BQ;CrB85GP;;AqB57GD;EAyCQ;CrBu5GP;;AqBh8GD;EA6CQ;CrBu5GP;;AqBp8GD;EAiDQ;CrBu5GP;;AqBx8GD;EAqDQ;CrBu5GP;;AqB58GD;EAyDQ;CrBu5GP;;AqB/8GC;EA4DM;CrBu5GP;;AqBp9GD;EAiEQ;CrBu5GP;;AqBx9GD;EAsEQ;CrBs5GP;;AqB59GD;EA+EQ;CrBi5GP;;AqBh+GD;EAsFQ;EACA;CrB84GP;;AqBp+GC;EA0FM;EACA;CrB84GP;;AqB1+GD;EAgGQ;EACA;CrB84GP;;AqB/+GD;EAqGQ;EACA;CrB84GP;;AqBp/GD;EA0GQ;CrB84GP;;AqBx/GD;EA8GQ;CrB84GP;;AqB3/GC;EAkHM;CrB64GP;;AqB//GC;EA0HM;CrBy4GP;;AqBpgHD;EAqIQ;CrBm4GP;;AqBxgHD;EA8IQ;CrB83GP;;AqB3gHC;;;EAqJM;CrB43GP;;AqBlhHD;;;EA4JQ;CrB43GP;;AqBxhHD;EAgKQ;CrB43GP;;AqB3hHC;;;EAqKM;EACA;CrB43GP;;AqBliHC;;;EA4KM;EACA;CrB43GP;;AqB1iHD;;;EAoLQ;CrB43GP;;AqBhjHD;;;EA2LQ;CrB23GP;;AqBrjHC;EAkMM;CrBu3GP;;AqB52GC;EACE;CrB+2GH;;AqB9jHD;EAmNI;CrB+2GH;;AqB32GC;EACE;CrB82GH;;AqBv2GD;EAGI;CrBw2GH;;AqB32GD;EAMI;CrBy2GH;;AqB/2GD;;EAUI;EACA;EACA;CrB02GH;;AqBt3GD;EAeI;CrB22GH;;AqBz2GC;EACE;CrB42GH;;AqB12GmC;;EAEhC;CrB62GH;;AqB32G2C;;;EAGxC;CrB82GH;;AqBz4GD;EA8BI;CrB+2GH;;AqB74GD;EAiCI;CrBg3GH;;AqBj5GD;EAoCI;CrBi3GH;;AqBx2GC;EACE;CrB22GH;;AqB92GD;EAMI;CrB42GH;;AqBl3GD;;EAUI;CrB62GH;;AqB12GC;EACE;CrB62GH;;AqB33GD;EAiBI;EACA;CrB82GH;;AqBh4GD;EAsBI;CrB82GH;;AqBp4GD;EAyBI;CrB+2GH;;AqBx4GD;;EA6BI;CrBg3GH;;AqB74GD;;EAkCI;CrBg3GH;;AqB72GiC;EAC9B;CrBg3GH;;AqBt5GD;;EA0CI;CrBi3GH;;AqBz2GC;EACE;CrB42GH;;AqB92GD;EAKI;CrB62GH;;AqB32G6C;;EAE1C;CrB82GH;;AqB32GC;EACE;CrB82GH;;AqB33GD;;EAiBI;CrB+2GH;;AqBh4GD;;EAsBI;CrB+2GH;;AqBr4GD;EA0BI;CrB+2GH;;AqBz4GD;;EA8BI;CrBg3GH;;AqB12GD;EAEI;CrB42GH;;AqB92GD;EAKI;CrB62GH;;AqB32G8B;EAC3B;CrB82GH;;AqB52G6B;EAC1B;CrB+2GH;;AqB72GwC;EACrC;CrBg3GH;;AqB92GoC;EACjC;CrBi3GH;;AqB/2GiE;EAC9D;CrBk3GH;;AqBz2GC;EACE;CrB42GH;;AqB/2GD;EAMI;CrB62GH;;AqBn3GD;;EAUI;CrB82GH;;AqBx3GD;EAcI;CrB82GH;;AqB52GwB;EACrB;CrB+2GH;;AqBh4GD;;EAqBI;CrBg3GH;;AqBr4GD;EAyBI;CrBg3GH;;AqB92GwB;EACrB;CrBi3GH;;AqB/2GmC;EAChC;EACA;CrBk3GH;;AqB/2GuC;;EAEpC;CrBk3GH;;AqB/2G+B;EAC5B;CrBk3GH;;AqB35GD;;EA6CI;CrBm3GH;;AqB52GD;EAGI;EACA;CrB62GH;;AqBj3GD;EASU;CrB42GT;;AqBr3GD;EAYU;CrB62GT;;AqBz2GG;EACE;CrB42GL;;AqB73GD;;EAqBQ;CrB62GP;;AqBl4GD;;EAyBY;CrB82GX;;AqBj2GC;EACE;CrBo2GH;;AqBv2GD;EAOI;EACA;EACA;CrBo2GH;;AqBv2GC;EAMI;CrBq2GL;;AqB32GC;;EAWI;EACA;CrBq2GL;;AqBj3GC;;EAeM;CrBu2GP;;AqB53GD;;EAyBQ;CrBw2GP;;AqBr2GO;;EACA;CrBy2GP;;AqBh4GC;EA4BI;CrBw2GL;;AqB14GD;EAsCM;CrBw2GL;;AqB94GD;EA0CM;CrBw2GL;;AqB91GC;EACE;CrBi2GH;;AqBp2GD;EAOI;CrBi2GH;;AqB91GC;EACE;CrBi2GH;;AqB52GD;EAcM;CrBk2GL;;AqBh3GD;EAmBI;CrBi2GH;;AqB91GC;EACE;CrBi2GH;;AqBx3GD;EA2BI;CrBi2GH;;AqB91GC;EACE;CrBi2GH;;AqBh4GD;EAkCM;CrBk2GL;;AqB11GD;EAGI;EdzyBF;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAKE;EACA;CPioIH;;AqBz2GD;EAQI;EACA;CrBq2GH;;AqB92GD;EAYM;EACA;CrBs2GL;;AqBn3GD;EAiBI;CrBs2GH;;AqBv3GD;;EAqBI;EACA;EACA;CrBu2GH;;AqBp2GC;EACE;CrBu2GH;;AqBl4GD;;EA+BI;CrBw2GH;;AqBv4GD;;;;EAqCI;CrBy2GH;;AqB94GD;EAwCI;CrB02GH;;AqBl5GD;EA2CI;CrB22GH;;AqBt5GD;EA8CI;CrB42GH;;AqB15GD;EAkDI;CrB42GH;;AqBt2GD;EACE;CrBy2GD;;AqBt2GD;EAGI;CrBu2GH;;AqBx2GC;EAII;EACA;CrBw2GL;;AqB72GC;;EASM;CrBy2GP;;AqBp3GD;EAcQ;CrB02GP;;AqBt3GC;EAeM;EACA;CrB22GP;;AqB33GC;EAmBM;CrB42GP;;AqB12GS;EACA;CrB62GT;;AqBr4GD;EA6BM;CrB42GL;;AqBp2GD;;;;EASQ;EACA;EACA;CrBk2GP;;AqBt2GK;;;;EAOI;EACA;EACA;CrBs2GT;;AqBt3GD;;;;EAmBU;EACA;CrB02GT;;AqB93GD;;;;EA0BU;EACA;EACA;CrB22GT;;AqBv4GD;;;;EA+BY;EACA;CrB+2GX;;AqB/4GD;;EAwCM;Ed/6BJ;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAKE;EACA;CPwxIH;;AqB/5GD;;EA8CM;EACA;EACA;CrBs3GL;;AqBt6GD;;;;EAwDQ;CrBq3GP;;AqB52GO;;;;;;;;;;;;;;;;;;;;;;;;EAEE;CrBq4GT;;AqB/3GO;;;;;;;;EAEE;CrBw4GT;;AqBl4GO;;;;;;;;EAEE;CrB24GT;;AqBt4GqC;;EAEhC;CrBy4GL;;AqBn+GD;;;;EAkGQ;CrBw4GP;;AqBn4GK;;;;EAEE;CrBw4GP;;AqB/3GD;EAKM;EACA;CrB83GL;;AqBp4GD;EASQ;CrB+3GP;;AqBt4GC;EAUM;CrBg4GP;;AqB54GD;EAeQ;CrBi4GP;;AqBh5GD;EAkBQ;EACA;EACA;CrBk4GP;;AqBh4GS;EACA;CrBm4GT;;AqBx5GC;EAyBM;CrBm4GP;;AqB55GC;EA6BQ;CrBm4GT;;AqBl6GD;EAqCM;EACA;CrBi4GL;;AqBx3GK;EACE;CrB23GP;;AqB36GD;EAmDU;CrB43GT;;AqBz3GK;EACE;CrB43GP;;AqBl3GK;EACE;CrBq3GP;;AqBv7GD;EAqEU;CrBs3GT;;AqBn3GK;EACE;CrBs3GP;;AqBj3GC;EAII;EACA;CrBi3GL;;AqBp8GD;EA2FM;EACA;CrB62GL;;AqB32GO;EACA;CrB82GP;;AqB78GD;EAmGM;EACA;CrB82GL;;AoBp9ID;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EpB8gJE;;AsB5gJF;EACE;EACA;CtB+gJD;;AsB9gJC;EACE;CtBihJH;;AsB5gJD;EAGI;CtB6gJH;;AsB1gJC;EACE;CtB6gJH;;AsB1gJC;EACE;CtB6gJH;;AsBxhJD;EAeI;CtB6gJH;;AsB5hJD;EAmBI;CtB6gJH;;AsBhiJD;EAuBI;CtB6gJH;;AsB1gJC;EACE;CtB6gJH;;AsBxiJD;EA+BI;CtB6gJH;;AsB5iJD;EAmCI;CtB6gJH;;AsB1gJC;EACE;CtB6gJH;;AsBtgJC;EACE;CtBygJH;;AsBlgJD;EAIM;EACA;CtBkgJL;;AsBtgJC;EASM;EACA;CtBigJP;;AsBx/ID;EAGI;EACA;CtBy/IH;;AsB7/ID;EAOM;CtB0/IL;;AsBjgJD;EAWM;CtB0/IL;;AsBngJC;EAaI;CtB0/IL;;AsBzgJD;EAmBM;CtB0/IL;;AsB7gJD;EAsBQ;CtB2/IP;;AsBjhJD;EA6BI;CtBw/IH;;AsBz/IC;EAII;CtBy/IL;;AsBzhJD;EAoCM;CtBy/IL;;AsB7hJD;EAwCM;EACA;CtBy/IL;;AsBliJD;EA4CQ;CtB0/IP;;AsBtiJD;EAgDQ;CtB0/IP;;AsB1iJD;EAoDQ;CtB0/IP;;AsB9iJD;EAwDQ;CtB0/IP;;AsBn/IC;EACE;CtBs/IH;;AsBtjJD;EAmEM;CtBu/IL;;AsB1jJD;EAuEM;CtBu/IL;;AsB//IC;EAYI;EACA;CtBu/IL;;AsBnkJD;EA+EQ;CtBw/IP;;AsBvkJD;EAmFQ;CtBw/IP;;AsB5gJC;EAwBM;CtBw/IP;;AsBr/IO;EACA;CtBw/IP;;AsBj/IC;EACE;CtBo/IH;;AsBvlJD;EAyGI;CtBk/IH;;AsB3lJD;EA4GM;CtBm/IL;;AsBv/IC;;EAQI;EACA;CtBo/IL;;AsBrmJD;EAsHI;CtBm/IH;;AsBzmJD;EAyHM;CtBo/IL;;AsB7mJD;;EA6HM;EACA;CtBq/IL;;AsB/+IC;;EAII;EACA;CtBg/IL;;AsBr/IC;;EAYM;EACA;CtB8+IP;;AsB/nJD;;EAyJQ;EACA;CtB2+IP;;AsBjgJC;;EA6BM;CtBy+IP;;AsB99IC;EAGI;EACA;EAeA;EAmBA;EA8BA;EAQA;EAOA;EA8BA;EA0BA;EAMA;EAsCA;EAkBA;CtBoyIL;;AsB/+ID;EASQ;CtB0+IP;;AsBn/ID;EAaQ;CtB0+IP;;AsBv/ID;EAiBQ;EACA;CtB0+IP;;AsB1/IC;EAqBM;CtBy+IP;;AsB9/IC;EA+BM;CtBm+IP;;AsBpgJD;EA2CQ;CtB69IP;;AsBxgJD;EA+CQ;CtB69IP;;AsB5gJD;EAmDQ;CtB69IP;;AsBhhJD;EAuDQ;CtB69IP;;AsBphJD;EA2DQ;CtB69IP;;AsBxhJD;EA+DQ;CtB69IP;;AsB5hJD;EAmEQ;CtB69IP;;AsBhiJD;EAwEQ;CtB49IP;;AsBpiJD;EAiFQ;CtBu9IP;;AsBxiJD;EAwFQ;EACA;CtBo9IP;;AsB7iJD;EA6FQ;EACA;CtBo9IP;;AsBhjJC;EAgGM;EACA;CtBo9IP;;AsBrjJC;EAqGM;EACA;CtBo9IP;;AsB5jJD;EA4GQ;CtBo9IP;;AsBhkJD;EAgHQ;CtBo9IP;;AsBlkJC;EAmHM;CtBm9IP;;AsBxkJD;EA6HQ;CtB+8IP;;AsB5kJD;EAuIQ;CtBy8IP;;AsBhlJD;EAgJQ;CtBo8IP;;AsBllJC;;;EAsJM;CtBk8IP;;AsB1lJD;;;EA8JQ;CtBk8IP;;AsB/7IiD;EAC1C;CtBk8IP;;AsBpmJD;;;EAwKQ;EACA;CtBk8IP;;AsBzmJC;;;EA6KM;EACA;CtBk8IP;;AsBlnJD;;;EAsLQ;CtBk8IP;;AsBtnJC;;;EA2LM;CtBi8IP;;AsB5nJC;EAmMM;CtB67IP;;AsBloJD;EAiNI;CtBq7IH;;AsBl7IC;EACE;CtBq7IH;;AsB1oJD;EA0NI;CtBo7IH;;AsB36IC;EACE;CtB86IH;;AsBj7ID;EAMI;CtB+6IH;;AsBr7ID;;EAUI;EACA;EACA;CtBg7IH;;AsB96IC;EACE;CtBi7IH;;AsBh8ID;EAkBI;CtBk7IH;;AsBp8ID;;EAsBI;CtBm7IH;;AsBj7I2C;;;EAGxC;CtBo7IH;;AsB/8ID;EA8BI;CtBq7IH;;AsBn9ID;EAiCI;CtBs7IH;;AsBv9ID;EAoCI;CtBu7IH;;AsB96IC;EACE;CtBi7IH;;AsBp7ID;EAMI;CtBk7IH;;AsBx7ID;;EAUI;CtBm7IH;;AsB77ID;EAcI;CtBm7IH;;AsBj8ID;EAiBI;EACA;CtBo7IH;;AsBj7IC;EACE;CtBo7IH;;AsB18ID;EAyBI;CtBq7IH;;AsB98ID;;EA6BI;CtBs7IH;;AsBn9ID;;EAkCI;CtBs7IH;;AsBx9ID;EAsCI;CtBs7IH;;AsBp7IkE;;EAE/D;CtBu7IH;;AsB/6IC;EACE;CtBk7IH;;AsBp7ID;EAKI;CtBm7IH;;AsBx7ID;;EASI;CtBo7IH;;AsB77ID;EAaI;CtBo7IH;;AsBl7I+B;;EAE5B;CtBq7IH;;AsBt8ID;;EAsBI;CtBq7IH;;AsBl7I8B;EAC3B;CtBq7IH;;AsBn7I4D;;EAEzD;CtBs7IH;;AsBh7ID;EAEI;CtBk7IH;;AsBp7ID;EAKI;CtBm7IH;;AsBx7ID;EAQI;CtBo7IH;;AsB57ID;EAWI;CtBq7IH;;AsBh8ID;EAcI;CtBs7IH;;AsBp7IoC;EACjC;CtBu7IH;;AsBr7IiE;EAC9D;CtBw7IH;;AsB/6IC;EACE;CtBk7IH;;AsBr7ID;EAMI;CtBm7IH;;AsBz7ID;;EAUI;CtBo7IH;;AsB97ID;EAcI;CtBo7IH;;AsBl7IwB;EACrB;CtBq7IH;;AsBn7IuC;;EAEpC;CtBs7IH;;AsBn7IC;EACE;CtBs7IH;;AsB/8ID;EA4BI;CtBu7IH;;AsBr7ImC;EAChC;EACA;CtBw7IH;;AsBx9ID;;EAqCI;CtBw7IH;;AsB79ID;EAyCI;CtBw7IH;;AsBj+ID;;EA6CI;CtBy7IH;;AsB/6IC;EACE;EACA;CtBk7IH;;AsB/6IK;EAEI;CtBi7IT;;AsBn7IK;EAMI;CtBi7IT;;AsB56IG;EACE;CtB+6IL;;AsBl8ID;;EAuBQ;CtBg7IP;;AsBr7IG;;EASQ;CtBi7IX;;AsBv6ID;EAGI;CtBw6IH;;AsB36ID;EAOI;EACA;EACA;CtBw6IH;;AsB36IC;EAMI;CtBy6IL;;AsBr7ID;;EAiBM;EACA;CtBy6IL;;AsB37ID;;EAqBQ;CtB26IP;;AsBh8ID;;EAyBQ;CtB46IP;;AsBr8ID;;EA6BQ;CtB66IP;;AsB18ID;EAkCM;CtB46IL;;AsB98ID;EAsCM;CtB46IL;;AsBl9ID;EA0CM;CtB46IL;;AsBr6ID;EAEI;CtBu6IH;;AsBp6IC;EACE;CtBu6IH;;AsB76ID;EAUI;CtBu6IH;;AsBx6IC;EAII;CtBw6IL;;AsBp6IC;EACE;CtBu6IH;;AsBp6IC;EACE;CtBu6IH;;AsB77ID;EA0BI;CtBu6IH;;AsBj8ID;EA8BI;CtBu6IH;;AsBx6IC;EAII;CtBw6IL;;AsBh6ID;EAGI;EfzyBF;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAKE;EACA;CPusKH;;AsBx6IC;EACE;EACA;CtB26IH;;AsBz6IG;EACE;EACA;CtB46IL;;AsBz6IgC;EAC7B;CtB46IH;;AsB77ID;;EAqBI;EACA;EACA;CtB66IH;;AsBp8ID;EA2BI;CtB66IH;;AsB36IwC;;EAErC;CtB86IH;;AsB78ID;;;;EAqCI;CtB+6IH;;AsB76IgD;EAC7C;CtBg7IH;;AsB96IC;EACE;CtBi7IH;;AsB59ID;EA8CI;CtBk7IH;;AsBh+ID;EAkDI;CtBk7IH;;AsB36ID;EACE;CtB86ID;;AsB36ID;EAGI;CtB46IH;;AsB/6ID;EAMM;EACA;CtB66IL;;AsBp7ID;;EAWQ;CtB86IP;;AsBz7ID;EAcQ;CtB+6IP;;AsB77ID;EAiBQ;EACA;CtBg7IP;;AsBl8ID;EAqBQ;CtBi7IP;;AsBt8ID;EAwBU;CtBk7IT;;AsB18ID;EA6BM;CtBi7IL;;AsBz6ID;;;;EASQ;EACA;EACA;CtBu6IP;;AsBl7ID;;;;EAcU;EACA;EACA;CtB26IT;;AsB37ID;;;;EAmBU;EACA;CtB+6IT;;AsBn8ID;;;;EA0BU;EACA;EACA;CtBg7IT;;AsB58ID;;;;EA+BY;EACA;CtBo7IX;;AsBp9ID;;EAwCM;Efh7BJ;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAKE;EACA;CP81KH;;AsBx7IqC;;EAEhC;EACA;EACA;CtB27IL;;AsBr7IK;;;;EAEE;CtB07IP;;AsBj7IO;;;;;;;;;;;;;;;;;;;;;;;;EAEE;CtB08IT;;AsB7gJD;;;;;;;;EA2EU;CtB68IT;;AsBv8IO;;;;;;;;EAEE;CtBg9IT;;AsBniJD;;EA0FM;CtB88IL;;AsBxiJD;;;;EAkGQ;CtB68IP;;AsB/iJD;;;;EAyGQ;CtB68IP;;AsBn8ID;EAKM;EACA;CtBk8IL;;AsBx8ID;EASQ;CtBm8IP;;AsB58ID;EAYQ;CtBo8IP;;AsBh9ID;EAeQ;CtBq8IP;;AsBp9ID;EAkBQ;EACA;EACA;CtBs8IP;;AsB19ID;EAuBU;CtBu8IT;;AsB99ID;EA2BQ;CtBu8IP;;AsBh+IC;EA6BQ;CtBu8IT;;AsBt+ID;EAqCM;EACA;CtBq8IL;;AsB3+ID;EAgDQ;CtB+7IP;;AsB/+ID;EAmDU;CtBg8IT;;AsB77IK;EACE;CtBg8IP;;AsBt7IK;EACE;CtBy7IP;;AsB3/ID;EAqEU;CtB07IT;;AsBv7IK;EACE;CtB07IP;;AsBr7IC;EAII;EACA;CtBq7IL;;AsBxgJD;EA2FM;EACA;CtBi7IL;;AsB7gJD;EA+FQ;CtBk7IP;;AsBjhJD;EAmGM;EACA;CtBk7IL","file":"mdl-ext.css","sourcesContent":["/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*------------------------------------*\\\n $CONTENTS\n\\*------------------------------------*/\n/**\n * STYLE GUIDE VARIABLES------------------Declarations of Sass variables\n * -----Typography\n * -----Colors\n * -----Textfield\n * -----Switch\n * -----Spinner\n * -----Radio\n * -----Menu\n * -----List\n * -----Layout\n * -----Icon toggles\n * -----Footer\n * -----Column\n * -----Checkbox\n * -----Card\n * -----Button\n * -----Animation\n * -----Progress\n * -----Badge\n * -----Shadows\n * -----Grid\n * -----Data table\n * -----Dialog\n * -----Snackbar\n * -----Tooltip\n * -----Chip\n *\n * Even though all variables have the `!default` directive, most of them\n * should not be changed as they are dependent one another. This can cause\n * visual distortions (like alignment issues) that are hard to track down\n * and fix.\n */\n\n\n/* ========== TYPOGRAPHY ========== */\n\n/* We're splitting fonts into \"preferred\" and \"performance\" in order to optimize\n page loading. For important text, such as the body, we want it to load\n immediately and not wait for the web font load, whereas for other sections,\n such as headers and titles, we're OK with things taking a bit longer to load.\n We do have some optional classes and parameters in the mixins, in case you\n definitely want to make sure you're using the preferred font and don't mind\n the performance hit.\n We should be able to improve on this once CSS Font Loading L3 becomes more\n widely available.\n*/\n$preferred_font: 'Roboto', 'Helvetica', 'Arial', sans-serif !default;\n$performance_font: 'Helvetica', 'Arial', sans-serif !default;\n\n/* ========== COLORS ========== */\n\n/**\n*\n* Material design color palettes.\n* @see http://www.google.com/design/spec/style/color.html\n*\n**/\n\n@import \"color-definitions\";\n@import \"functions\";\n\n/* ========== IMAGES ========== */\n$image_path: '/images' !default;\n\n/* ========== Color & Themes ========== */\n\n// Define whether individual color palette items should have classes created.\n// Setting this to true will remove individual color classes for each color in the palettes.\n// To improve overall performance (assuming they aren't used) by:\n// * Saving server bandwidth sending the extra classes\n// * Save client computation against the classes\n// it is RECOMMENDED you set this to true.\n$trim-color-classes: false !default;\n\n// Use color primarily for emphasis. Choose colors that fit with\n// your brand and provide good contrast between visual components.\n$color-primary: $palette-indigo-500 !default;\n$color-primary-dark: $palette-indigo-700 !default;\n$color-accent: $palette-pink-A200 !default;\n\n// Our primary is dark, so use $color-dark-contrast for overlaid text.\n$color-primary-contrast: $color-dark-contrast !default;\n// Our accent is dark, so use $color-dark-contrast for overlaid text.\n$color-accent-contrast: $color-dark-contrast !default;\n\n// Replace all colors with placeholders if we're generating a template.\n@if $styleguide-generate-template == true {\n $color-primary: '$color-primary';\n $color-primary-dark: '$color-primary-dark';\n $color-accent: '$color-accent';\n $color-primary-contrast: '$color-primary-contrast';\n $color-accent-contrast: '$color-accent-contrast';\n}\n\n/* ========== Typography ========== */\n\n// We use the following default color styles: text-color-primary and\n// text-color-secondary. For light themes, use text-color-primary-inverse\n// and text-color-secondary-inverse.\n\n$text-color-primary: unquote(\"rgba(#{$color-black}, 0.87)\") !default;\n$text-link-color: unquote(\"rgb(#{$color-accent})\") !default;\n\n// Define whether to target elements directly for typographic enhancements.\n// Turning this off means you need to use mdl-* classes more often.\n// Other components may also fail to adhere to MD without these rules.\n// It is strongly recommended you leave this as true.\n\n$target-elements-directly: true !default;\n\n/* ========== Components ========== */\n\n/* ========== Standard Buttons ========== */\n\n// Default button colors.\n$button-primary-color: unquote(\"rgba(#{$palette-grey-500}, 0.20)\") !default;\n$button-secondary-color: unquote(\"rgb(#{$color-black})\") !default;\n$button-hover-color: $button-primary-color !default;\n$button-active-color: unquote(\"rgba(#{$palette-grey-500}, 0.40)\") !default;\n$button-focus-color: unquote(\"rgba(#{$color-black}, 0.12)\") !default;\n\n// Colored button colors.\n$button-primary-color-alt: unquote(\"rgb(#{$color-primary})\") !default;\n$button-secondary-color-alt: unquote(\"rgb(#{$color-primary-contrast})\") !default;\n$button-hover-color-alt: unquote(\"rgb(#{$color-primary})\") !default;\n$button-active-color-alt: unquote(\"rgb(#{$color-primary})\") !default;\n$button-focus-color-alt: $button-focus-color !default;\n\n// Ripple color for colored raised buttons.\n$button-ripple-color-alt: unquote(\"rgb(#{$color-primary-contrast})\") !default;\n\n// Disabled button colors.\n$button-primary-color-disabled: unquote(\"rgba(#{$color-black}, 0.12)\") !default;\n$button-secondary-color-disabled: unquote(\"rgba(#{$color-black}, 0.26)\") !default;\n\n// FAB colors and sizes.\n$button-fab-color-alt: unquote(\"rgb(#{$color-accent})\") !default;\n$button-fab-hover-color-alt: unquote(\"rgb(#{$color-accent})\") !default;\n$button-fab-active-color-alt: unquote(\"rgb(#{$color-accent})\") !default;\n$button-fab-text-color-alt: unquote(\"rgb(#{$color-accent-contrast})\") !default;\n$button-fab-ripple-color-alt: unquote(\"rgb(#{$color-accent-contrast})\") !default;\n\n// Icon button colors and sizes.\n$button-icon-color: unquote(\"rgb(#{$palette-grey-700})\") !default;\n$button-icon-focus-color: $button-focus-color !default;\n\n/* ========== Icon Toggles ========== */\n\n$icon-toggle-color: unquote(\"rgb(#{$palette-grey-700})\") !default;\n$icon-toggle-focus-color: $button-focus-color !default;\n$icon-toggle-checked-color: unquote(\"rgb(#{$color-primary})\") !default;\n$icon-toggle-checked-focus-color: unquote(\"rgba(#{$color-primary}, 0.26)\") !default;\n$icon-toggle-disabled-color: unquote(\"rgba(#{$color-black}, 0.26)\") !default;\n\n/* ========== Radio Buttons ========== */\n\n$radio-color: unquote(\"rgb(#{$color-primary})\") !default;\n$radio-off-color: unquote(\"rgba(#{$color-black}, 0.54)\") !default;\n$radio-disabled-color: unquote(\"rgba(#{$color-black}, 0.26)\") !default;\n\n/* ========== Ripple effect ========== */\n\n$ripple-bg-color: unquote(\"rgb(#{$color-light-contrast})\") !default;\n\n/* ========== Layout ========== */\n\n$layout-nav-color: unquote(\"rgb(#{$palette-grey-300})\") !default;\n\n// Drawer\n$layout-drawer-bg-color: unquote(\"rgb(#{$palette-grey-50})\") !default;\n$layout-drawer-border-color: unquote(\"rgb(#{$palette-grey-300})\") !default;\n$layout-text-color: unquote(\"rgb(#{$palette-grey-800})\") !default;\n$layout-drawer-navigation-color: #757575 !default;\n$layout-drawer-navigation-link-active-background: unquote(\"rgb(#{$palette-grey-300})\") !default;\n$layout-drawer-navigation-link-active-color: unquote(\"rgb(#{$color-light-contrast})\") !default;\n\n// Header\n$layout-header-bg-color: unquote(\"rgb(#{$color-primary})\") !default;\n$layout-header-text-color: unquote(\"rgb(#{$color-primary-contrast})\") !default;\n$layout-header-nav-hover-color: unquote(\"rgba(#{$palette-grey-700}, 0.6)\") !default;\n$layout-header-tab-text-color: unquote(\"rgba(#{$color-primary-contrast}, 0.6)\") !default;\n\n// Tabs\n$layout-header-tab-highlight: unquote(\"rgb(#{$color-accent})\") !default;\n\n/* ========== Content Tabs ========== */\n\n$tab-highlight-color: unquote(\"rgb(#{$color-primary})\") !default;\n$tab-text-color: unquote(\"rgba(#{$color-black}, 0.54)\") !default;\n$tab-active-text-color: unquote(\"rgba(#{$color-black}, 0.87)\") !default;\n$tab-border-color: unquote(\"rgb(#{$palette-grey-300})\") !default;\n\n/* ========== Checkboxes ========== */\n\n$checkbox-color: unquote(\"rgb(#{$color-primary})\") !default;\n$checkbox-off-color: unquote(\"rgba(#{$color-black}, 0.54)\") !default;\n$checkbox-disabled-color: unquote(\"rgba(#{$color-black}, 0.26)\") !default;\n$checkbox-focus-color: unquote(\"rgba(#{$color-primary}, 0.26)\") !default;\n$checkbox-image-path: $image_path;\n\n/* ========== Switches ========== */\n\n$switch-color: unquote(\"rgb(#{$color-primary})\") !default;\n$switch-faded-color: unquote(\"rgba(#{$color-primary}, 0.26)\") !default;\n$switch-thumb-color: $switch-color !default;\n$switch-track-color: unquote(\"rgba(#{$color-primary}, 0.5)\") !default;\n\n$switch-off-thumb-color: unquote(\"rgb(#{$palette-grey-50})\") !default;\n$switch-off-track-color: unquote(\"rgba(#{$color-black}, 0.26)\") !default;\n$switch-disabled-thumb-color: unquote(\"rgb(#{$palette-grey-400})\") !default;\n$switch-disabled-track-color: unquote(\"rgba(#{$color-black}, 0.12)\") !default;\n\n/* ========== Spinner ========== */\n\n$spinner-color-1: unquote(\"rgb(#{$palette-blue-400})\") !default;\n$spinner-color-2: unquote(\"rgb(#{$palette-red-500})\") !default;\n$spinner-color-3: unquote(\"rgb(#{$palette-yellow-600})\") !default;\n$spinner-color-4: unquote(\"rgb(#{$palette-green-500})\") !default;\n\n$spinner-single-color: unquote(\"rgb(#{$color-primary})\") !default;\n\n/* ========== Text fields ========== */\n\n$input-text-background-color: transparent !default;\n$input-text-label-color: unquote(\"rgba(#{$color-black}, 0.26)\") !default;\n$input-text-bottom-border-color: unquote(\"rgba(#{$color-black}, 0.12)\") !default;\n$input-text-highlight-color: unquote(\"rgb(#{$color-primary})\") !default;\n$input-text-disabled-color: $input-text-bottom-border-color !default;\n$input-text-disabled-text-color: $input-text-label-color !default;\n$input-text-error-color: unquote(\"rgb(#{$palette-red-A700})\") !default;\n\n/* ========== Card ========== */\n\n$card-background-color: unquote(\"rgb(#{$color-white})\") !default;\n$card-text-color: unquote(\"rgb(#{$color-black})\") !default;\n$card-image-placeholder-color: unquote(\"rgb(#{$color-accent})\") !default;\n$card-supporting-text-text-color: unquote(\"rgba(#{$color-black}, 0.54)\") !default;\n$card-border-color: rgba(0,0,0,0.1) !default;\n$card-subtitle-color: unquote(\"rgba(#{$color-black}, 0.54)\") !default;\n\n/* ========== Sliders ========== */\n\n$range-bg-color: unquote(\"rgba(#{$color-black}, 0.26)\") !default;\n$range-color: unquote(\"rgb(#{$color-primary})\") !default;\n$range-faded-color: unquote(\"rgba(#{$color-primary}, 0.26)\") !default;\n$range-bg-focus-color: unquote(\"rgba(#{$color-black}, 0.12)\") !default;\n\n/* ========== Progress ========== */\n$progress-main-color: unquote(\"rgb(#{$color-primary})\") !default;\n$progress-secondary-color: unquote(\"rgba(#{$color-primary-contrast}, 0.7)\") !default;\n$progress-fallback-buffer-color: unquote(\"rgba(#{$color-primary-contrast}, 0.9)\") !default;\n$progress-image-path: $image_path;\n\n/* ========== List ========== */\n\n$list-main-text-text-color: unquote(\"rgba(#{$color-black}, 0.87)\") !default;\n$list-supporting-text-text-color: unquote(\"rgba(#{$color-black}, 0.54)\") !default;\n$list-icon-color: unquote(\"rgb(#{$palette-grey-600})\") !default;\n$list-avatar-color: white !default;\n\n/* ========== Item ========== */\n\n// Default Item Colors\n$default-item-text-color: unquote(\"rgba(#{$color-black}, 0.87)\") !default;\n$default-item-outline-color: unquote(\"rgb(#{$palette-grey-400})\") !default;\n$default-item-hover-bg-color: unquote(\"rgb(#{$palette-grey-200})\") !default;\n$default-item-focus-bg-color: unquote(\"rgb(#{$palette-grey-200})\") !default;\n$default-item-active-bg-color: unquote(\"rgb(#{$palette-grey-300})\") !default;\n$default-item-divider-color: unquote(\"rgba(#{$color-black}, 0.12)\") !default;\n\n// Disabled Button Colors\n$disabled-item-text-color: unquote(\"rgb(#{$palette-grey-400})\") !default;\n\n/* ========== Dropdown menu ========== */\n\n$default-dropdown-bg-color: unquote(\"rgb(#{$color-white})\") !default;\n\n/* ========== Tooltips ========== */\n\n$tooltip-text-color: unquote(\"rgb(#{$color-white})\") !default;\n$tooltip-background-color: unquote(\"rgba(#{$palette-grey-700}, 0.9)\") !default;\n\n/* ========== Footer ========== */\n\n$footer-bg-color: unquote(\"rgb(#{$palette-grey-800})\") !default;\n$footer-color: unquote(\"rgb(#{$palette-grey-500})\") !default;\n$footer-heading-color: unquote(\"rgb(#{$palette-grey-300})\") !default;\n$footer-button-fill-color: $footer-color !default;\n$footer-underline-color: $footer-color !default;\n\n\n/* TEXTFIELD */\n\n$input-text-font-size: 16px !default;\n$input-text-width: 100% !default;\n$input-text-padding: 4px !default;\n$input-text-vertical-spacing: 20px !default;\n\n$input-text-button-size: 32px !default;\n$input-text-floating-label-fontsize: 12px !default;\n$input-text-expandable-icon-top: 16px !default;\n\n\n/* SWITCH */\n\n$switch-label-font-size: 16px !default;\n$switch-label-height: 24px !default;\n$switch-track-height: 14px !default;\n$switch-track-length: 36px !default;\n$switch-thumb-size: 20px !default;\n$switch-track-top: ($switch-label-height - $switch-track-height) / 2 !default;\n$switch-thumb-top: ($switch-label-height - $switch-thumb-size) / 2 !default;\n$switch-ripple-size: $switch-label-height * 2 !default;\n$switch-helper-size: 8px !default;\n\n/* SPINNER */\n\n$spinner-size: 28px !default;\n$spinner-stroke-width: 3px !default;\n\n// Amount of circle the arc takes up.\n$spinner-arc-size: 270deg !default;\n// Time it takes to expand and contract arc.\n$spinner-arc-time: 1333ms !default;\n// How much the start location of the arc should rotate each time.\n$spinner-arc-start-rot: 216deg !default;\n\n$spinner-duration: 360 * $spinner-arc-time / (\n strip-units($spinner-arc-start-rot + (360deg - $spinner-arc-size)));\n\n\n/* RADIO */\n\n$radio-label-font-size: 16px !default;\n$radio-label-height: 24px !default;\n$radio-button-size: 16px !default;\n$radio-inner-margin: $radio-button-size / 4;\n$radio-padding: 8px !default;\n$radio-top-offset: ($radio-label-height - $radio-button-size) / 2;\n$radio-ripple-size: 42px !default;\n\n\n/* MENU */\n\n$menu-expand-duration: 0.3s !default;\n$menu-fade-duration: 0.2s !default;\n\n/* LIST */\n\n$list-border: 8px !default;\n$list-min-height: 48px !default;\n$list-min-padding: 16px !default;\n$list-bottom-padding: 20px !default;\n$list-avatar-text-left-distance: 72px !default;\n$list-icon-text-left-distance: 72px !default;\n\n$list-avatar-size: 40px !default;\n$list-icon-size: 24px !default;\n\n$list-two-line-height: 72px !default;\n$list-three-line-height: 88px !default;\n\n/* LAYOUT */\n\n$layout-drawer-narrow: 240px !default;\n$layout-drawer-wide: 456px !default;\n$layout-drawer-width: $layout-drawer-narrow !default;\n\n$layout-header-icon-size: 32px !default;\n$layout-screen-size-threshold: 1024px !default;\n$layout-header-icon-margin: 24px !default;\n$layout-drawer-button-mobile-size: 32px !default;\n$layout-drawer-button-desktop-size: 48px !default;\n\n$layout-header-mobile-row-height: 56px !default;\n$layout-mobile-header-height: $layout-header-mobile-row-height;\n$layout-header-desktop-row-height: 64px !default;\n$layout-desktop-header-height: $layout-header-desktop-row-height;\n\n$layout-header-desktop-baseline: 80px !default;\n$layout-header-mobile-baseline: 72px !default;\n$layout-header-mobile-indent: 16px !default;\n$layout-header-desktop-indent: 40px !default;\n\n$layout-tab-font-size: 14px !default;\n$layout-tab-bar-height: 48px !default;\n$layout-tab-mobile-padding: 12px !default;\n$layout-tab-desktop-padding: 24px !default;\n$layout-tab-highlight-thickness: 2px !default;\n\n\n/* ICON TOGGLE */\n\n$icon-toggle-size: 32px !default;\n$icon-toggle-font-size: 24px !default;\n$icon-toggle-ripple-size: 36px !default;\n\n/* FOOTER */\n\n/*mega-footer*/\n$footer-min-padding: 16px !default;\n$footer-padding-sides: 40px !default;\n$footer-heading-font-size: 14px !default;\n$footer-heading-line-height: (1.7 * $footer-heading-font-size) !default;\n$footer-btn-size: 36px !default;\n\n/*mini-footer*/\n$padding: 16px !default;\n$footer-heading-font-size: 24px !default;\n$footer-heading-line-height: (1.5 * $footer-heading-font-size) !default;\n$footer-btn-size: 36px !default;\n\n/* CHECKBOX */\n\n$checkbox-label-font-size: 16px !default;\n$checkbox-label-height: 24px !default;\n$checkbox-button-size: 16px !default;\n$checkbox-inner-margin: 2px !default;\n$checkbox-padding: 8px !default;\n$checkbox-top-offset:\n($checkbox-label-height - $checkbox-button-size - $checkbox-inner-margin) / 2;\n$checkbox-ripple-size: $checkbox-label-height * 1.5;\n\n/* CARD */\n\n/* Card dimensions */\n$card-width: 330px !default;\n$card-height: 200px !default;\n$card-font-size: 16px !default;\n$card-title-font-size: 24px !default;\n$card-subtitle-font-size: 14px !default;\n$card-horizontal-padding: 16px !default;\n$card-vertical-padding: 16px !default;\n\n$card-title-perspective-origin-x: 165px !default;\n$card-title-perspective-origin-y: 56px !default;\n\n$card-title-transform-origin-x: 165px !default;\n$card-title-transform-origin-y: 56px !default;\n\n$card-title-text-transform-origin-x: 149px !default;\n$card-title-text-transform-origin-y: 48px !default;\n\n$card-supporting-text-font-size: 1rem !default;\n$card-supporting-text-line-height: 18px !default;\n\n$card-actions-font-size: 16px !default;\n\n$card-title-text-font-weight: 300 !default;\n$card-z-index: 1 !default;\n\n/* Cover image */\n$card-cover-image-height: 186px !default;\n$card-background-image-url: '' !default;\n\n\n/* BUTTON */\n/**\n *\n * Dimensions\n *\n */\n$button-min-width: 64px !default;\n$button-height: 36px !default;\n$button-padding: 16px !default;\n$button-margin: 4px !default;\n$button-border-radius: 2px !default;\n\n$button-fab-size: 56px !default;\n$button-fab-size-mini: 40px !default;\n$button-fab-font-size: 24px !default;\n\n$button-icon-size: 32px !default;\n$button-icon-size-mini: 24px !default;\n\n\n/* ANIMATION */\n$animation-curve-fast-out-slow-in: cubic-bezier(0.4, 0, 0.2, 1) !default;\n$animation-curve-linear-out-slow-in: cubic-bezier(0, 0, 0.2, 1) !default;\n$animation-curve-fast-out-linear-in: cubic-bezier(0.4, 0, 1, 1) !default;\n\n$animation-curve-default: $animation-curve-fast-out-slow-in !default;\n\n\n/* PROGRESS */\n$bar-height: 4px !default;\n\n/* BADGE */\n$badge-font-size: 12px !default;\n$badge-color: unquote(\"rgb(#{$color-accent-contrast})\") !default;\n$badge-color-inverse: unquote(\"rgb(#{$color-accent})\") !default;\n$badge-background: unquote(\"rgb(#{$color-accent})\") !default;\n$badge-background-inverse: unquote(\"rgba(#{$color-accent-contrast},0.2)\") !default;\n$badge-size : 22px !default;\n$badge-padding: 2px !default;\n$badge-overlap: 12px !default;\n\n/* SHADOWS */\n\n$shadow-key-umbra-opacity: 0.2 !default;\n$shadow-key-penumbra-opacity: 0.14 !default;\n$shadow-ambient-shadow-opacity: 0.12 !default;\n\n/* GRID */\n\n$grid-desktop-columns: 12 !default;\n$grid-desktop-gutter: 16px !default;\n$grid-desktop-margin: 16px !default;\n\n$grid-desktop-breakpoint: 840px !default;\n\n$grid-tablet-columns: 8 !default;\n$grid-tablet-gutter: $grid-desktop-gutter !default;\n$grid-tablet-margin: $grid-desktop-margin !default;\n\n$grid-tablet-breakpoint: 480px !default;\n\n$grid-phone-columns: 4 !default;\n$grid-phone-gutter: $grid-desktop-gutter !default;\n$grid-phone-margin: $grid-desktop-margin !default;\n\n$grid-cell-default-columns: $grid-phone-columns !default;\n$grid-max-columns: $grid-desktop-columns !default;\n\n/* DATA TABLE */\n\n$data-table-font-size: 13px !default;\n$data-table-header-font-size: 12px !default;\n$data-table-header-sort-icon-size: 16px !default;\n\n$data-table-header-color: rgba(#000, 0.54) !default;\n$data-table-header-sorted-color: rgba(#000, 0.87) !default;\n$data-table-header-sorted-icon-hover-color: rgba(#000, 0.26) !default;\n$data-table-divider-color: rgba(#000, 0.12) !default;\n\n$data-table-hover-color: #eeeeee !default;\n$data-table-selection-color: #e0e0e0 !default;\n\n$data-table-dividers: 1px solid $data-table-divider-color !default;\n\n$data-table-row-height: 48px !default;\n$data-table-last-row-height: 56px !default;\n$data-table-header-height: 56px !default;\n\n$data-table-column-spacing: 36px !default;\n$data-table-column-padding: $data-table-column-spacing / 2;\n\n$data-table-card-header-height: 64px !default;\n$data-table-card-title-top: 20px !default;\n$data-table-card-padding: 24px !default;\n$data-table-button-padding-right: 16px !default;\n$data-table-cell-top: $data-table-card-padding / 2;\n\n/* DIALOG */\n$dialog-content-color: $card-supporting-text-text-color;\n\n/* SNACKBAR */\n\n// Hard coded since the color is not present in any palette.\n$snackbar-background-color: #323232 !default;\n$snackbar-tablet-breakpoint: $grid-tablet-breakpoint;\n$snackbar-action-color: unquote(\"rgb(#{$color-accent})\") !default;\n\n/* TOOLTIP */\n$tooltip-font-size: 10px !default;\n$tooltip-font-size-large: 14px !default;\n\n/* CHIP */\n$chip-bg-color: rgb(222, 222, 222) !default;\n$chip-bg-active-color: rgb(214, 214, 214) !default;\n$chip-height: 32px !default;\n$chip-font-size: 13px !default; \n\n\n\n// WEBPACK FOOTER //\n// webpack:///~/material-design-lite/src/_variables.scss","@charset \"UTF-8\";\n\n// Material Design Lite\n@import '~material-design-lite/src/variables';\n@import '~material-design-lite/src/mixins';\n\n// mdl-ext\n@import 'mdl-ext';\n\n\n\n// WEBPACK FOOTER //\n// webpack:///src/mdl-ext-build.scss","/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/* ========== Color Palettes ========== */\n\n// Color order: 50, 100, 200, 300, 400, 500, 600, 700, 800, 900, A100, A200,\n// A400, A700.\n\n$palette-red:\n\"255,235,238\"\n\"255,205,210\"\n\"239,154,154\"\n\"229,115,115\"\n\"239,83,80\"\n\"244,67,54\"\n\"229,57,53\"\n\"211,47,47\"\n\"198,40,40\"\n\"183,28,28\"\n\"255,138,128\"\n\"255,82,82\"\n\"255,23,68\"\n\"213,0,0\";\n\n$palette-red-50: nth($palette-red, 1);\n$palette-red-100: nth($palette-red, 2);\n$palette-red-200: nth($palette-red, 3);\n$palette-red-300: nth($palette-red, 4);\n$palette-red-400: nth($palette-red, 5);\n$palette-red-500: nth($palette-red, 6);\n$palette-red-600: nth($palette-red, 7);\n$palette-red-700: nth($palette-red, 8);\n$palette-red-800: nth($palette-red, 9);\n$palette-red-900: nth($palette-red, 10);\n$palette-red-A100: nth($palette-red, 11);\n$palette-red-A200: nth($palette-red, 12);\n$palette-red-A400: nth($palette-red, 13);\n$palette-red-A700: nth($palette-red, 14);\n\n$palette-pink:\n\"252,228,236\"\n\"248,187,208\"\n\"244,143,177\"\n\"240,98,146\"\n\"236,64,122\"\n\"233,30,99\"\n\"216,27,96\"\n\"194,24,91\"\n\"173,20,87\"\n\"136,14,79\"\n\"255,128,171\"\n\"255,64,129\"\n\"245,0,87\"\n\"197,17,98\";\n\n$palette-pink-50: nth($palette-pink, 1);\n$palette-pink-100: nth($palette-pink, 2);\n$palette-pink-200: nth($palette-pink, 3);\n$palette-pink-300: nth($palette-pink, 4);\n$palette-pink-400: nth($palette-pink, 5);\n$palette-pink-500: nth($palette-pink, 6);\n$palette-pink-600: nth($palette-pink, 7);\n$palette-pink-700: nth($palette-pink, 8);\n$palette-pink-800: nth($palette-pink, 9);\n$palette-pink-900: nth($palette-pink, 10);\n$palette-pink-A100: nth($palette-pink, 11);\n$palette-pink-A200: nth($palette-pink, 12);\n$palette-pink-A400: nth($palette-pink, 13);\n$palette-pink-A700: nth($palette-pink, 14);\n\n$palette-purple:\n\"243,229,245\"\n\"225,190,231\"\n\"206,147,216\"\n\"186,104,200\"\n\"171,71,188\"\n\"156,39,176\"\n\"142,36,170\"\n\"123,31,162\"\n\"106,27,154\"\n\"74,20,140\"\n\"234,128,252\"\n\"224,64,251\"\n\"213,0,249\"\n\"170,0,255\";\n\n$palette-purple-50: nth($palette-purple, 1);\n$palette-purple-100: nth($palette-purple, 2);\n$palette-purple-200: nth($palette-purple, 3);\n$palette-purple-300: nth($palette-purple, 4);\n$palette-purple-400: nth($palette-purple, 5);\n$palette-purple-500: nth($palette-purple, 6);\n$palette-purple-600: nth($palette-purple, 7);\n$palette-purple-700: nth($palette-purple, 8);\n$palette-purple-800: nth($palette-purple, 9);\n$palette-purple-900: nth($palette-purple, 10);\n$palette-purple-A100: nth($palette-purple, 11);\n$palette-purple-A200: nth($palette-purple, 12);\n$palette-purple-A400: nth($palette-purple, 13);\n$palette-purple-A700: nth($palette-purple, 14);\n\n$palette-deep-purple:\n\"237,231,246\"\n\"209,196,233\"\n\"179,157,219\"\n\"149,117,205\"\n\"126,87,194\"\n\"103,58,183\"\n\"94,53,177\"\n\"81,45,168\"\n\"69,39,160\"\n\"49,27,146\"\n\"179,136,255\"\n\"124,77,255\"\n\"101,31,255\"\n\"98,0,234\";\n\n$palette-deep-purple-50: nth($palette-deep-purple, 1);\n$palette-deep-purple-100: nth($palette-deep-purple, 2);\n$palette-deep-purple-200: nth($palette-deep-purple, 3);\n$palette-deep-purple-300: nth($palette-deep-purple, 4);\n$palette-deep-purple-400: nth($palette-deep-purple, 5);\n$palette-deep-purple-500: nth($palette-deep-purple, 6);\n$palette-deep-purple-600: nth($palette-deep-purple, 7);\n$palette-deep-purple-700: nth($palette-deep-purple, 8);\n$palette-deep-purple-800: nth($palette-deep-purple, 9);\n$palette-deep-purple-900: nth($palette-deep-purple, 10);\n$palette-deep-purple-A100: nth($palette-deep-purple, 11);\n$palette-deep-purple-A200: nth($palette-deep-purple, 12);\n$palette-deep-purple-A400: nth($palette-deep-purple, 13);\n$palette-deep-purple-A700: nth($palette-deep-purple, 14);\n\n$palette-indigo:\n\"232,234,246\"\n\"197,202,233\"\n\"159,168,218\"\n\"121,134,203\"\n\"92,107,192\"\n\"63,81,181\"\n\"57,73,171\"\n\"48,63,159\"\n\"40,53,147\"\n\"26,35,126\"\n\"140,158,255\"\n\"83,109,254\"\n\"61,90,254\"\n\"48,79,254\";\n\n$palette-indigo-50: nth($palette-indigo, 1);\n$palette-indigo-100: nth($palette-indigo, 2);\n$palette-indigo-200: nth($palette-indigo, 3);\n$palette-indigo-300: nth($palette-indigo, 4);\n$palette-indigo-400: nth($palette-indigo, 5);\n$palette-indigo-500: nth($palette-indigo, 6);\n$palette-indigo-600: nth($palette-indigo, 7);\n$palette-indigo-700: nth($palette-indigo, 8);\n$palette-indigo-800: nth($palette-indigo, 9);\n$palette-indigo-900: nth($palette-indigo, 10);\n$palette-indigo-A100: nth($palette-indigo, 11);\n$palette-indigo-A200: nth($palette-indigo, 12);\n$palette-indigo-A400: nth($palette-indigo, 13);\n$palette-indigo-A700: nth($palette-indigo, 14);\n\n$palette-blue:\n\"227,242,253\"\n\"187,222,251\"\n\"144,202,249\"\n\"100,181,246\"\n\"66,165,245\"\n\"33,150,243\"\n\"30,136,229\"\n\"25,118,210\"\n\"21,101,192\"\n\"13,71,161\"\n\"130,177,255\"\n\"68,138,255\"\n\"41,121,255\"\n\"41,98,255\";\n\n$palette-blue-50: nth($palette-blue, 1);\n$palette-blue-100: nth($palette-blue, 2);\n$palette-blue-200: nth($palette-blue, 3);\n$palette-blue-300: nth($palette-blue, 4);\n$palette-blue-400: nth($palette-blue, 5);\n$palette-blue-500: nth($palette-blue, 6);\n$palette-blue-600: nth($palette-blue, 7);\n$palette-blue-700: nth($palette-blue, 8);\n$palette-blue-800: nth($palette-blue, 9);\n$palette-blue-900: nth($palette-blue, 10);\n$palette-blue-A100: nth($palette-blue, 11);\n$palette-blue-A200: nth($palette-blue, 12);\n$palette-blue-A400: nth($palette-blue, 13);\n$palette-blue-A700: nth($palette-blue, 14);\n\n$palette-light-blue:\n\"225,245,254\"\n\"179,229,252\"\n\"129,212,250\"\n\"79,195,247\"\n\"41,182,246\"\n\"3,169,244\"\n\"3,155,229\"\n\"2,136,209\"\n\"2,119,189\"\n\"1,87,155\"\n\"128,216,255\"\n\"64,196,255\"\n\"0,176,255\"\n\"0,145,234\";\n\n$palette-light-blue-50: nth($palette-light-blue, 1);\n$palette-light-blue-100: nth($palette-light-blue, 2);\n$palette-light-blue-200: nth($palette-light-blue, 3);\n$palette-light-blue-300: nth($palette-light-blue, 4);\n$palette-light-blue-400: nth($palette-light-blue, 5);\n$palette-light-blue-500: nth($palette-light-blue, 6);\n$palette-light-blue-600: nth($palette-light-blue, 7);\n$palette-light-blue-700: nth($palette-light-blue, 8);\n$palette-light-blue-800: nth($palette-light-blue, 9);\n$palette-light-blue-900: nth($palette-light-blue, 10);\n$palette-light-blue-A100: nth($palette-light-blue, 11);\n$palette-light-blue-A200: nth($palette-light-blue, 12);\n$palette-light-blue-A400: nth($palette-light-blue, 13);\n$palette-light-blue-A700: nth($palette-light-blue, 14);\n\n$palette-cyan:\n\"224,247,250\"\n\"178,235,242\"\n\"128,222,234\"\n\"77,208,225\"\n\"38,198,218\"\n\"0,188,212\"\n\"0,172,193\"\n\"0,151,167\"\n\"0,131,143\"\n\"0,96,100\"\n\"132,255,255\"\n\"24,255,255\"\n\"0,229,255\"\n\"0,184,212\";\n\n$palette-cyan-50: nth($palette-cyan, 1);\n$palette-cyan-100: nth($palette-cyan, 2);\n$palette-cyan-200: nth($palette-cyan, 3);\n$palette-cyan-300: nth($palette-cyan, 4);\n$palette-cyan-400: nth($palette-cyan, 5);\n$palette-cyan-500: nth($palette-cyan, 6);\n$palette-cyan-600: nth($palette-cyan, 7);\n$palette-cyan-700: nth($palette-cyan, 8);\n$palette-cyan-800: nth($palette-cyan, 9);\n$palette-cyan-900: nth($palette-cyan, 10);\n$palette-cyan-A100: nth($palette-cyan, 11);\n$palette-cyan-A200: nth($palette-cyan, 12);\n$palette-cyan-A400: nth($palette-cyan, 13);\n$palette-cyan-A700: nth($palette-cyan, 14);\n\n$palette-teal:\n\"224,242,241\"\n\"178,223,219\"\n\"128,203,196\"\n\"77,182,172\"\n\"38,166,154\"\n\"0,150,136\"\n\"0,137,123\"\n\"0,121,107\"\n\"0,105,92\"\n\"0,77,64\"\n\"167,255,235\"\n\"100,255,218\"\n\"29,233,182\"\n\"0,191,165\";\n\n$palette-teal-50: nth($palette-teal, 1);\n$palette-teal-100: nth($palette-teal, 2);\n$palette-teal-200: nth($palette-teal, 3);\n$palette-teal-300: nth($palette-teal, 4);\n$palette-teal-400: nth($palette-teal, 5);\n$palette-teal-500: nth($palette-teal, 6);\n$palette-teal-600: nth($palette-teal, 7);\n$palette-teal-700: nth($palette-teal, 8);\n$palette-teal-800: nth($palette-teal, 9);\n$palette-teal-900: nth($palette-teal, 10);\n$palette-teal-A100: nth($palette-teal, 11);\n$palette-teal-A200: nth($palette-teal, 12);\n$palette-teal-A400: nth($palette-teal, 13);\n$palette-teal-A700: nth($palette-teal, 14);\n\n$palette-green:\n\"232,245,233\"\n\"200,230,201\"\n\"165,214,167\"\n\"129,199,132\"\n\"102,187,106\"\n\"76,175,80\"\n\"67,160,71\"\n\"56,142,60\"\n\"46,125,50\"\n\"27,94,32\"\n\"185,246,202\"\n\"105,240,174\"\n\"0,230,118\"\n\"0,200,83\";\n\n$palette-green-50: nth($palette-green, 1);\n$palette-green-100: nth($palette-green, 2);\n$palette-green-200: nth($palette-green, 3);\n$palette-green-300: nth($palette-green, 4);\n$palette-green-400: nth($palette-green, 5);\n$palette-green-500: nth($palette-green, 6);\n$palette-green-600: nth($palette-green, 7);\n$palette-green-700: nth($palette-green, 8);\n$palette-green-800: nth($palette-green, 9);\n$palette-green-900: nth($palette-green, 10);\n$palette-green-A100: nth($palette-green, 11);\n$palette-green-A200: nth($palette-green, 12);\n$palette-green-A400: nth($palette-green, 13);\n$palette-green-A700: nth($palette-green, 14);\n\n$palette-light-green:\n\"241,248,233\"\n\"220,237,200\"\n\"197,225,165\"\n\"174,213,129\"\n\"156,204,101\"\n\"139,195,74\"\n\"124,179,66\"\n\"104,159,56\"\n\"85,139,47\"\n\"51,105,30\"\n\"204,255,144\"\n\"178,255,89\"\n\"118,255,3\"\n\"100,221,23\";\n\n$palette-light-green-50: nth($palette-light-green, 1);\n$palette-light-green-100: nth($palette-light-green, 2);\n$palette-light-green-200: nth($palette-light-green, 3);\n$palette-light-green-300: nth($palette-light-green, 4);\n$palette-light-green-400: nth($palette-light-green, 5);\n$palette-light-green-500: nth($palette-light-green, 6);\n$palette-light-green-600: nth($palette-light-green, 7);\n$palette-light-green-700: nth($palette-light-green, 8);\n$palette-light-green-800: nth($palette-light-green, 9);\n$palette-light-green-900: nth($palette-light-green, 10);\n$palette-light-green-A100: nth($palette-light-green, 11);\n$palette-light-green-A200: nth($palette-light-green, 12);\n$palette-light-green-A400: nth($palette-light-green, 13);\n$palette-light-green-A700: nth($palette-light-green, 14);\n\n$palette-lime:\n\"249,251,231\"\n\"240,244,195\"\n\"230,238,156\"\n\"220,231,117\"\n\"212,225,87\"\n\"205,220,57\"\n\"192,202,51\"\n\"175,180,43\"\n\"158,157,36\"\n\"130,119,23\"\n\"244,255,129\"\n\"238,255,65\"\n\"198,255,0\"\n\"174,234,0\";\n\n$palette-lime-50: nth($palette-lime, 1);\n$palette-lime-100: nth($palette-lime, 2);\n$palette-lime-200: nth($palette-lime, 3);\n$palette-lime-300: nth($palette-lime, 4);\n$palette-lime-400: nth($palette-lime, 5);\n$palette-lime-500: nth($palette-lime, 6);\n$palette-lime-600: nth($palette-lime, 7);\n$palette-lime-700: nth($palette-lime, 8);\n$palette-lime-800: nth($palette-lime, 9);\n$palette-lime-900: nth($palette-lime, 10);\n$palette-lime-A100: nth($palette-lime, 11);\n$palette-lime-A200: nth($palette-lime, 12);\n$palette-lime-A400: nth($palette-lime, 13);\n$palette-lime-A700: nth($palette-lime, 14);\n\n$palette-yellow:\n\"255,253,231\"\n\"255,249,196\"\n\"255,245,157\"\n\"255,241,118\"\n\"255,238,88\"\n\"255,235,59\"\n\"253,216,53\"\n\"251,192,45\"\n\"249,168,37\"\n\"245,127,23\"\n\"255,255,141\"\n\"255,255,0\"\n\"255,234,0\"\n\"255,214,0\";\n\n$palette-yellow-50: nth($palette-yellow, 1);\n$palette-yellow-100: nth($palette-yellow, 2);\n$palette-yellow-200: nth($palette-yellow, 3);\n$palette-yellow-300: nth($palette-yellow, 4);\n$palette-yellow-400: nth($palette-yellow, 5);\n$palette-yellow-500: nth($palette-yellow, 6);\n$palette-yellow-600: nth($palette-yellow, 7);\n$palette-yellow-700: nth($palette-yellow, 8);\n$palette-yellow-800: nth($palette-yellow, 9);\n$palette-yellow-900: nth($palette-yellow, 10);\n$palette-yellow-A100: nth($palette-yellow, 11);\n$palette-yellow-A200: nth($palette-yellow, 12);\n$palette-yellow-A400: nth($palette-yellow, 13);\n$palette-yellow-A700: nth($palette-yellow, 14);\n\n$palette-amber:\n\"255,248,225\"\n\"255,236,179\"\n\"255,224,130\"\n\"255,213,79\"\n\"255,202,40\"\n\"255,193,7\"\n\"255,179,0\"\n\"255,160,0\"\n\"255,143,0\"\n\"255,111,0\"\n\"255,229,127\"\n\"255,215,64\"\n\"255,196,0\"\n\"255,171,0\";\n\n$palette-amber-50: nth($palette-amber, 1);\n$palette-amber-100: nth($palette-amber, 2);\n$palette-amber-200: nth($palette-amber, 3);\n$palette-amber-300: nth($palette-amber, 4);\n$palette-amber-400: nth($palette-amber, 5);\n$palette-amber-500: nth($palette-amber, 6);\n$palette-amber-600: nth($palette-amber, 7);\n$palette-amber-700: nth($palette-amber, 8);\n$palette-amber-800: nth($palette-amber, 9);\n$palette-amber-900: nth($palette-amber, 10);\n$palette-amber-A100: nth($palette-amber, 11);\n$palette-amber-A200: nth($palette-amber, 12);\n$palette-amber-A400: nth($palette-amber, 13);\n$palette-amber-A700: nth($palette-amber, 14);\n\n$palette-orange:\n\"255,243,224\"\n\"255,224,178\"\n\"255,204,128\"\n\"255,183,77\"\n\"255,167,38\"\n\"255,152,0\"\n\"251,140,0\"\n\"245,124,0\"\n\"239,108,0\"\n\"230,81,0\"\n\"255,209,128\"\n\"255,171,64\"\n\"255,145,0\"\n\"255,109,0\";\n\n$palette-orange-50: nth($palette-orange, 1);\n$palette-orange-100: nth($palette-orange, 2);\n$palette-orange-200: nth($palette-orange, 3);\n$palette-orange-300: nth($palette-orange, 4);\n$palette-orange-400: nth($palette-orange, 5);\n$palette-orange-500: nth($palette-orange, 6);\n$palette-orange-600: nth($palette-orange, 7);\n$palette-orange-700: nth($palette-orange, 8);\n$palette-orange-800: nth($palette-orange, 9);\n$palette-orange-900: nth($palette-orange, 10);\n$palette-orange-A100: nth($palette-orange, 11);\n$palette-orange-A200: nth($palette-orange, 12);\n$palette-orange-A400: nth($palette-orange, 13);\n$palette-orange-A700: nth($palette-orange, 14);\n\n$palette-deep-orange:\n\"251,233,231\"\n\"255,204,188\"\n\"255,171,145\"\n\"255,138,101\"\n\"255,112,67\"\n\"255,87,34\"\n\"244,81,30\"\n\"230,74,25\"\n\"216,67,21\"\n\"191,54,12\"\n\"255,158,128\"\n\"255,110,64\"\n\"255,61,0\"\n\"221,44,0\";\n\n$palette-deep-orange-50: nth($palette-deep-orange, 1);\n$palette-deep-orange-100: nth($palette-deep-orange, 2);\n$palette-deep-orange-200: nth($palette-deep-orange, 3);\n$palette-deep-orange-300: nth($palette-deep-orange, 4);\n$palette-deep-orange-400: nth($palette-deep-orange, 5);\n$palette-deep-orange-500: nth($palette-deep-orange, 6);\n$palette-deep-orange-600: nth($palette-deep-orange, 7);\n$palette-deep-orange-700: nth($palette-deep-orange, 8);\n$palette-deep-orange-800: nth($palette-deep-orange, 9);\n$palette-deep-orange-900: nth($palette-deep-orange, 10);\n$palette-deep-orange-A100: nth($palette-deep-orange, 11);\n$palette-deep-orange-A200: nth($palette-deep-orange, 12);\n$palette-deep-orange-A400: nth($palette-deep-orange, 13);\n$palette-deep-orange-A700: nth($palette-deep-orange, 14);\n\n\n// Color order: 50, 100, 200, 300, 400, 500, 600, 700, 800, 900.\n\n$palette-brown:\n\"239,235,233\"\n\"215,204,200\"\n\"188,170,164\"\n\"161,136,127\"\n\"141,110,99\"\n\"121,85,72\"\n\"109,76,65\"\n\"93,64,55\"\n\"78,52,46\"\n\"62,39,35\";\n\n$palette-brown-50: nth($palette-brown, 1);\n$palette-brown-100: nth($palette-brown, 2);\n$palette-brown-200: nth($palette-brown, 3);\n$palette-brown-300: nth($palette-brown, 4);\n$palette-brown-400: nth($palette-brown, 5);\n$palette-brown-500: nth($palette-brown, 6);\n$palette-brown-600: nth($palette-brown, 7);\n$palette-brown-700: nth($palette-brown, 8);\n$palette-brown-800: nth($palette-brown, 9);\n$palette-brown-900: nth($palette-brown, 10);\n\n$palette-grey:\n\"250,250,250\"\n\"245,245,245\"\n\"238,238,238\"\n\"224,224,224\"\n\"189,189,189\"\n\"158,158,158\"\n\"117,117,117\"\n\"97,97,97\"\n\"66,66,66\"\n\"33,33,33\";\n\n$palette-grey-50: nth($palette-grey, 1);\n$palette-grey-100: nth($palette-grey, 2);\n$palette-grey-200: nth($palette-grey, 3);\n$palette-grey-300: nth($palette-grey, 4);\n$palette-grey-400: nth($palette-grey, 5);\n$palette-grey-500: nth($palette-grey, 6);\n$palette-grey-600: nth($palette-grey, 7);\n$palette-grey-700: nth($palette-grey, 8);\n$palette-grey-800: nth($palette-grey, 9);\n$palette-grey-900: nth($palette-grey, 10);\n\n$palette-blue-grey:\n\"236,239,241\"\n\"207,216,220\"\n\"176,190,197\"\n\"144,164,174\"\n\"120,144,156\"\n\"96,125,139\"\n\"84,110,122\"\n\"69,90,100\"\n\"55,71,79\"\n\"38,50,56\";\n\n$palette-blue-grey-50: nth($palette-blue-grey, 1);\n$palette-blue-grey-100: nth($palette-blue-grey, 2);\n$palette-blue-grey-200: nth($palette-blue-grey, 3);\n$palette-blue-grey-300: nth($palette-blue-grey, 4);\n$palette-blue-grey-400: nth($palette-blue-grey, 5);\n$palette-blue-grey-500: nth($palette-blue-grey, 6);\n$palette-blue-grey-600: nth($palette-blue-grey, 7);\n$palette-blue-grey-700: nth($palette-blue-grey, 8);\n$palette-blue-grey-800: nth($palette-blue-grey, 9);\n$palette-blue-grey-900: nth($palette-blue-grey, 10);\n\n$color-black: \"0,0,0\";\n$color-white: \"255,255,255\";\n\n\n/* colors.scss */\n$styleguide-generate-template: false !default;\n\n// The two possible colors for overlayed text.\n$color-dark-contrast: $color-white !default;\n$color-light-contrast: $color-black !default;\n\n\n\n// WEBPACK FOOTER //\n// webpack:///~/material-design-lite/src/_color-definitions.scss","/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n@function strip-units($number) {\n @return $number / ($number * 0 + 1);\n}\n\n\n\n// WEBPACK FOOTER //\n// webpack:///~/material-design-lite/src/_functions.scss","/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/* Typography */\n\n@mixin typo-preferred-font($usePreferred: true) {\n @if $usePreferred {\n font-family: $preferred_font;\n }\n}\n\n@mixin typo-display-4($colorContrast: false, $usePreferred: true) {\n @include typo-preferred-font($usePreferred);\n font-size: 112px;\n font-weight: 300;\n line-height: 1;\n letter-spacing: -0.04em;\n\n @if $colorContrast {\n opacity: 0.54;\n }\n}\n\n@mixin typo-display-3($colorContrast: false, $usePreferred: true) {\n @include typo-preferred-font($usePreferred);\n font-size: 56px;\n font-weight: 400;\n line-height: 1.35;\n letter-spacing: -0.02em;\n\n @if $colorContrast {\n opacity: 0.54;\n }\n}\n\n@mixin typo-display-2($colorContrast: false, $usePreferred: true) {\n @include typo-preferred-font($usePreferred);\n font-size: 45px;\n font-weight: 400;\n line-height: 48px;\n\n @if $colorContrast {\n opacity: 0.54;\n }\n}\n\n@mixin typo-display-1($colorContrast: false, $usePreferred: true) {\n @include typo-preferred-font($usePreferred);\n font-size: 34px;\n font-weight: 400;\n line-height: 40px;\n\n @if $colorContrast {\n opacity: 0.54;\n }\n}\n\n@mixin typo-headline($colorContrast: false, $usePreferred: true) {\n @include typo-preferred-font($usePreferred);\n font-size: 24px;\n font-weight: 400;\n line-height: 32px;\n -moz-osx-font-smoothing: grayscale;\n\n @if $colorContrast {\n opacity: 0.87;\n }\n}\n\n@mixin typo-title($colorContrast: false, $usePreferred: true) {\n @include typo-preferred-font($usePreferred);\n font-size: 20px;\n font-weight: 500;\n line-height: 1;\n letter-spacing: 0.02em;\n\n @if $colorContrast {\n opacity: 0.87;\n }\n}\n\n@mixin typo-subhead($colorContrast: false, $usePreferred: true) {\n @include typo-preferred-font($usePreferred);\n font-size: 16px;\n font-weight: 400;\n line-height: 24px;\n letter-spacing: 0.04em;\n\n @if $colorContrast {\n opacity: 0.87;\n }\n}\n\n@mixin typo-subhead-2($colorContrast: false, $usePreferred: true) {\n @include typo-preferred-font($usePreferred);\n font-size: 16px;\n font-weight: 400;\n line-height: 28px;\n letter-spacing: 0.04em;\n\n @if $colorContrast {\n opacity: 0.87;\n }\n}\n\n@mixin typo-body-2($colorContrast: false, $usePreferred: false) {\n @include typo-preferred-font($usePreferred);\n font-size: 14px;\n @if $usePreferred {\n font-weight: 500;\n } @else {\n font-weight: bold;\n }\n line-height: 24px;\n letter-spacing: 0;\n\n @if $colorContrast {\n opacity: 0.87;\n }\n}\n\n@mixin typo-body-1($colorContrast: false, $usePreferred: false) {\n @include typo-preferred-font($usePreferred);\n font-size: 14px;\n font-weight: 400;\n line-height: 24px;\n letter-spacing: 0;\n\n @if $colorContrast {\n opacity: 0.87;\n }\n}\n\n@mixin typo-caption($colorContrast: false, $usePreferred: false) {\n @include typo-preferred-font($usePreferred);\n font-size: 12px;\n font-weight: 400;\n line-height: 1;\n letter-spacing: 0;\n\n @if $colorContrast {\n opacity: 0.54;\n }\n}\n\n@mixin typo-blockquote($colorContrast: false, $usePreferred: true) {\n @include typo-preferred-font($usePreferred);\n position: relative;\n font-size: 24px;\n font-weight: 300;\n font-style: italic;\n line-height: 1.35;\n letter-spacing: 0.08em;\n\n &:before {\n position: absolute;\n left: -0.5em;\n content: 'â';\n }\n\n &:after {\n content: 'â';\n margin-left: -0.05em;\n }\n\n @if $colorContrast {\n opacity: 0.54;\n }\n}\n\n@mixin typo-menu($colorContrast: false, $usePreferred: true) {\n @include typo-preferred-font($usePreferred);\n font-size: 14px;\n font-weight: 500;\n line-height: 1;\n letter-spacing: 0;\n\n @if $colorContrast {\n opacity: 0.87;\n }\n}\n\n@mixin typo-button($colorContrast: false, $usePreferred: true) {\n @include typo-preferred-font($usePreferred);\n font-size: 14px;\n font-weight: 500;\n text-transform: uppercase;\n line-height: 1;\n letter-spacing: 0;\n\n @if $colorContrast {\n opacity: 0.87;\n }\n}\n\n@mixin typo-icon() {\n font-family: 'Material Icons';\n font-weight: normal;\n font-style: normal;\n font-size: 24px;\n line-height: 1;\n letter-spacing: normal;\n text-transform: none;\n display: inline-block;\n word-wrap: normal;\n font-feature-settings: 'liga';\n -webkit-font-feature-settings: 'liga';\n -webkit-font-smoothing: antialiased;\n}\n\n/* Shadows */\n\n// Focus shadow mixin.\n@mixin focus-shadow() {\n box-shadow: 0 0 8px rgba(0,0,0,.18),0 8px 16px rgba(0,0,0,.36);\n}\n\n@mixin shadow-2dp() {\n box-shadow: 0 2px 2px 0 rgba(0, 0, 0, $shadow-key-penumbra-opacity),\n 0 3px 1px -2px rgba(0, 0, 0, $shadow-key-umbra-opacity),\n 0 1px 5px 0 rgba(0, 0, 0, $shadow-ambient-shadow-opacity);\n}\n@mixin shadow-3dp() {\n box-shadow: 0 3px 4px 0 rgba(0, 0, 0, $shadow-key-penumbra-opacity),\n 0 3px 3px -2px rgba(0, 0, 0, $shadow-key-umbra-opacity),\n 0 1px 8px 0 rgba(0, 0, 0, $shadow-ambient-shadow-opacity);\n}\n@mixin shadow-4dp() {\n box-shadow: 0 4px 5px 0 rgba(0, 0, 0, $shadow-key-penumbra-opacity),\n 0 1px 10px 0 rgba(0, 0, 0, $shadow-ambient-shadow-opacity),\n 0 2px 4px -1px rgba(0, 0, 0, $shadow-key-umbra-opacity);\n}\n@mixin shadow-6dp() {\n box-shadow: 0 6px 10px 0 rgba(0, 0, 0, $shadow-key-penumbra-opacity),\n 0 1px 18px 0 rgba(0, 0, 0, $shadow-ambient-shadow-opacity),\n 0 3px 5px -1px rgba(0, 0, 0, $shadow-key-umbra-opacity);\n}\n@mixin shadow-8dp() {\n box-shadow: 0 8px 10px 1px rgba(0, 0, 0, $shadow-key-penumbra-opacity),\n 0 3px 14px 2px rgba(0, 0, 0, $shadow-ambient-shadow-opacity),\n 0 5px 5px -3px rgba(0, 0, 0, $shadow-key-umbra-opacity);\n}\n\n@mixin shadow-16dp() {\n box-shadow: 0 16px 24px 2px rgba(0, 0, 0, $shadow-key-penumbra-opacity),\n 0 6px 30px 5px rgba(0, 0, 0, $shadow-ambient-shadow-opacity),\n 0 8px 10px -5px rgba(0, 0, 0, $shadow-key-umbra-opacity);\n}\n\n@mixin shadow-24dp() {\n box-shadow: 0 9px 46px 8px rgba(0, 0, 0, $shadow-key-penumbra-opacity),\n 0 11px 15px -7px rgba(0, 0, 0, $shadow-ambient-shadow-opacity),\n 0 24px 38px 3px rgba(0, 0, 0, $shadow-key-umbra-opacity);\n}\n\n/* Animations */\n\n@mixin material-animation-fast-out-slow-in($duration:0.2s) {\n transition-duration: $duration;\n transition-timing-function: $animation-curve-fast-out-slow-in;\n}\n\n@mixin material-animation-linear-out-slow-in($duration:0.2s) {\n transition-duration: $duration;\n transition-timing-function: $animation-curve-linear-out-slow-in;\n}\n\n@mixin material-animation-fast-out-linear-in($duration:0.2s) {\n transition-duration: $duration;\n transition-timing-function: $animation-curve-fast-out-linear-in;\n}\n\n@mixin material-animation-default($duration:0.2s) {\n transition-duration: $duration;\n transition-timing-function: $animation-curve-default;\n}\n\n/* Dialog */\n\n@mixin dialog-width($units:5) {\n @if(type_of($units) != 'number') {\n @error \"The unit given to dialog-width should be a number.\";\n }\n // 56dp is the base unit width for Dialogs.\n // With 5 units being the number of units for a mobile device.\n // https://goo.gl/sK2O5o\n width: $units * 56px;\n}\n\n\n\n// WEBPACK FOOTER //\n// webpack:///~/material-design-lite/src/_mixins.scss","/**\n * Copyright 2016 Leif Olsen. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n@import \"functions\";\n\n// ----------------------------------------------------------------\n// Sample colors\n// ----------------------------------------------------------------\n$mdlext-palette-amber-50: #FFF8E1;\n$mdlext-palette-amber-100: #FFECB3;\n$mdlext-palette-amber-500: #FFC107;\n$mdlext-palette-amber-700: #FFA000;\n$mdlext-palette-blue-grey-500: #607D8B;\n$mdlext-palette-deep-orange-500: #FF5722;\n$mdlext-palette-deep-purple-100: #D1C4E9;\n$mdlext-palette-deep-purple-500: #512DA8;\n$mdlext-palette-deep-purple-700: #673AB7;\n$mdlext-palette-green-50: #E8F5E9;\n$mdlext-palette-green-100: #C8E6C9;\n$mdlext-palette-green-500: #4CAF50;\n$mdlext-palette-green-700: #388E3C;\n$mdlext-palette-grey-50: #FAFAFA;\n$mdlext-palette-grey-100: #F5F5F5;\n$mdlext-palette-grey-200: #EEEEEE;\n$mdlext-palette-grey-300: #E0E0E0;\n$mdlext-palette-grey-400: #BDBDBD;\n$mdlext-palette-grey-500: #9E9E9E;\n$mdlext-palette-grey-600: #757575;\n$mdlext-palette-grey-700: #616161;\n$mdlext-palette-grey-800: #424242;\n$mdlext-palette-grey-900: #212121;\n$mdlext-palette-indigo-A200: #536DFE;\n$mdlext-palette-light-blue-500: #03A9F4;\n$mdlext-palette-light-green-500: #8BC34A;\n$mdlext-palette-pink-500: #E91E63;\n$mdlext-palette-pink-700: #C2185B;\n$mdlext-palette-pink-A400: #F50057;\n$mdlext-palette-purple-A200: #E040FB;\n$mdlext-palette-red-700: #D32F2F;\n$mdlext-palette-red-A200: #FF5252;\n$mdlext-palette-red-A400: #FF1744;\n$mdlext-palette-yellow-500: #FFEB3B;\n$mdlext-color-black: #000000;\n$mdlext-color-white: #FFFFFF;\n\n\n/* ========== Sticky Header ========== */\n$mdlext-sticky-header-background-color : transparent !default;\n$mdlext-sticky-header-background-color-scroll : transparent !default;\n$mdlext-sticky-header-gradient-color : rgb-string-to-hex($color-primary) !default;\n$mdlext-sticky-header-gradient-color-start : $mdlext-sticky-header-gradient-color !default;\n$mdlext-sticky-header-gradient-color-end : $mdlext-sticky-header-gradient-color-start !default;\n$mdlext-sticky-header-gradient-color-scroll-start: rgba($mdlext-sticky-header-gradient-color, 0.98) !default;\n$mdlext-sticky-header-gradient-color-scroll-end : rgba($mdlext-sticky-header-gradient-color, 0.95) !default;\n\n// Background shorthand\n/* stylelint-disable */\n$mdlext-sticky-header-background : $mdlext-sticky-header-background-color\n linear-gradient(to bottom,\n $mdlext-sticky-header-gradient-color-start 0,\n $mdlext-sticky-header-gradient-color-end 100%) !default;\n\n// Background shorthand when content is scrolling\n$mdlext-sticky-header-background-scroll : $mdlext-sticky-header-background-color-scroll\n linear-gradient(to bottom,\n $mdlext-sticky-header-gradient-color-scroll-start 100%,\n $mdlext-sticky-header-gradient-color-scroll-end 100%) !default;\n/* stylelint-enable */\n\n/* ========== Accordion ========== */\n$mdlext-accordion-header-background-color-base : $mdlext-palette-grey-500 !default;\n$mdlext-accordion-header-background-color : rgba($mdlext-accordion-header-background-color-base, 0.20) !default;\n$mdlext-accordion-header-background-open-color : rgba($mdlext-accordion-header-background-color-base, 0.30) !default;\n$mdlext-accordion-header-background-active-color : rgba($mdlext-accordion-header-background-color-base, 0.40) !default;\n$mdlext-accordion-header-border-color : rgba($mdlext-accordion-header-background-color-base, 0.50) !default;\n$mdlext-accordion-header-background-hover-color : rgba($mdlext-accordion-header-background-color-base, 0.40) !default;\n$mdlext-accordion-header-focus-outline-color : invert !default;\n$mdlext-accordion-header-disabled-color : rgba($mdlext-accordion-header-background-color-base, 0.12) !default;\n$mdlext-accordion-header-secondary-color : $mdlext-color-black !default;\n$mdlext-accordion-header-secondary-color-disabled: rgba($mdlext-color-black, 0.26) !default;\n$mdlext-accordion-header-highlight-color : darken($mdlext-accordion-header-border-color, 3%) !default;\n$mdlext-accordion-ripple-color : rgba(rgb-string-to-hex($color-accent-contrast), 0.5) !default;\n$mdlext-accordion-header-padding : 8px !default;\n$mdlext-accordion-header-height : 56px !default;\n$mdlext-accordion-content-padding : $mdlext-accordion-header-padding !default;\n$mdlext-accordion-content-color : inherit !default;\n$mdlext-accordion-content-background-color : transparent !default;\n\n\n/* ========== Dialog ========== */\n$mdlext-dialog-padding : 0;\n$mdlext-dialog-background-color : transparent !default;\n$mdlext-dialog-backdrop-color : rgba(0, 0, 0, 0.86) !default;\n$mdlext-dialog-open-animation : 0.5s 0.2s forwards !default;\n$mdlext-dialog-backdrop-animation: 0.2s forwards !default;\n\n\n/* ========== Lightbox ========== */\n$mdlext-lightbox-background-color : $card-background-color !default;\n$mdlext-lightbox-border : 0 !default;\n$mdlext-lightbox-border-radius : 0 !default;\n$mdlext-lightbox-figure-margin : 0 !default;\n$mdlext-lightbox-figure-padding : 0 !default;\n$mdlext-lightbox-figcaption-background-color: rgba(255, 255, 255, 0.76) !default;\n$mdlext-lightbox-footer-background-color : rgba(255, 255, 255, 0.86) !default;\n\n\n/* ========== Lightboard ========== */\n$mdlext-lightboard-medium-small-breakpoint : $grid-tablet-breakpoint !default; // 480\n$mdlext-lightboard-medium-breakpoint : $grid-tablet-breakpoint + 180px !default; // 480 + 180\n$mdlext-lightboard-medium-large-breakpoint : $grid-desktop-breakpoint !default; // 840\n$mdlext-lightboard-large-breakpoint : $grid-desktop-breakpoint + 360px !default; // 840+360\n\n$mdlext-lightboard-small-gutter : 2px !default;\n$mdlext-lightboard-small-margin : 0 !default;\n$mdlext-lightboard-small-columns : 2 !default;\n$mdlext-lightboard-small-frame-width : 8px !default;\n\n$mdlext-lightboard-medium-small-gutter : 4px !default;\n$mdlext-lightboard-medium-small-margin : 0 !default;\n$mdlext-lightboard-medium-small-columns : 4 !default;\n$mdlext-lightboard-medium-small-frame-width : 8px !default;\n\n$mdlext-lightboard-medium-gutter : 4px !default;\n$mdlext-lightboard-medium-margin : 0 !default;\n$mdlext-lightboard-medium-columns : 5 !default;\n$mdlext-lightboard-medium-frame-width : 8px !default;\n\n$mdlext-lightboard-medium-large-gutter : 8px !default;\n$mdlext-lightboard-medium-large-margin : 0 !default;\n$mdlext-lightboard-medium-large-columns : 6 !default;\n$mdlext-lightboard-medium-large-frame-width : 12px !default;\n\n$mdlext-lightboard-large-gutter : 8px !default;\n$mdlext-lightboard-large-margin : 0 !default;\n$mdlext-lightboard-large-columns : 7 !default;\n$mdlext-lightboard-large-frame-width : 12px !default;\n\n$mdlext-lightboard-slide-max-size : 250px !default;\n$mdlext-lightboard-slide-border-color : #D8D8D8 !default;\n$mdlext-lightboard-slide-background-color : #F8F8F8 !default;\n$mdlext-lightboard-slide-border-radius : 5px !default;\n$mdlext-lightboard-slide-inner-border-radius : 3px !default;\n$mdlext-lightboard-slide-box-shadow : 2px 2px 6px -1px rgba(219, 215, 219, 0.5) !default;\n$mdlext-lightboard-slide-border-color-hover : #B8B8B8 !default;\n$mdlext-lightboard-slide-background-color-hover: #E8E8E8 !default;\n$mdlext-lightboard-slide-active-bacground-color: #E8E8E8 !default;\n$mdlext-lightboard-slide-box-shadow-hover : 2px 2px 12px -1px rgba(219, 215, 219, 1) !default;\n$mdlext-lightboard-ripple-color : $tab-highlight-color !default;\n$mdlext-lightboard-focus-outline-color : inherit !default;\n$mdlext-lightboard-figcaption-text-color : rgb-string-to-hex($palette-grey-400) !default;\n\n\n/* ========== Carousel ========== */\n$mdlext-carousel-slide-border-top-width : 2px !default;\n$mdlext-carousel-slide-border-top-color : rgb-string-to-hex($color-accent) !default;\n$mdlext-carousel-slide-margin-horizontal : 0;\n$mdlext-carousel-slide-figcaption-color : $mdlext-lightboard-figcaption-text-color !default;\n$mdlext-carousel-slide-ripple-color : $mdlext-lightboard-ripple-color !default;\n\n\n/* ========== Bordered fields ========== */\n$mdlext-bordered-field-vertical-spacing-top : 0 !default;\n$mdlext-bordered-field-vertical-spacing-bottom : $input-text-vertical-spacing !default;\n\n$mdlext-bordered-field-input-text-font-size : $input-text-font-size !default;\n$mdlext-bordered-field-font-weight : normal !default;\n$mdlext-bordered-field-border-width : 1px !default;\n$mdlext-bordered-field-border-radius : 3px !default;\n$mdlext-bordered-field-padding : $input-text-padding + 4px !default;\n$mdlext-bordered-field-padding-top : $input-text-vertical-spacing !default;\n$mdlext-bordered-field-padding-bottom : $input-text-padding !default;\n\n$mdlext-bordered-field-input-text-color : inherit !default;\n$mdlext-bordered-field-border-color : rgba($mdlext-color-black, 0.26) !default;\n$mdlext-bordered-field-background-color : rgba(#FFFFFF, 0.2) !default;\n$mdlext-bordered-field-focus-border-color : rgb-string-to-hex($color-primary) !default;\n$mdlext-bordered-field-focus-background-color : rgba(#EEEEEE, 0.2) !default;\n\n$mdlext-bordered-field-input-text-disabled-text-color : rgba($mdlext-color-black, 0.12) !default;\n$mdlext-bordered-field-disabled-border-color : rgba($mdlext-color-black, 0.12) !default;\n$mdlext-bordered-field-disabled-background-color : $mdlext-bordered-field-background-color !default;\n\n$mdlext-bordered-field-input-text-error-color : $mdlext-bordered-field-input-text-color !default;\n$mdlext-bordered-field-error-border-color : rgb-string-to-hex($input-text-error-color) !default;\n$mdlext-bordered-field-error-background-color : rgba(lighten($mdlext-bordered-field-error-border-color, 50%), 0.5) !default;\n$mdlext-bordered-field-error-focus-border-color : darken($mdlext-bordered-field-error-border-color, 10%) !default;\n$mdlext-bordered-field-error-focus-background-color : $mdlext-bordered-field-error-background-color !default;\n\n$mdlext-bordered-field-input-text-label-color : rgba($mdlext-color-black, 0.26) !default;\n$mdlext-bordered-field-input-text-label-focus-color : $mdlext-bordered-field-focus-border-color !default;\n$mdlext-bordered-field-input-text-label-error-color : $mdlext-bordered-field-error-border-color !default;\n$mdlext-bordered-field-input-text-label-disabled-color: rgba($mdlext-color-black, 0.12) !default;\n\n$mdlext-bordered-field-label-font-size : $mdlext-bordered-field-input-text-font-size !default;\n$mdlext-bordered-field-floating-label-font-size : $input-text-floating-label-fontsize !default;\n$mdlext-bordered-field-floating-label-font-weight : normal !default;\n\n$mdlext-bordered-field-height : $mdlext-bordered-field-padding-top + $mdlext-bordered-field-padding-bottom + $mdlext-bordered-field-input-text-font-size + 6px !default;\n$mdlext-bordered-field-floating-label-focus-bottom : $mdlext-bordered-field-height - $mdlext-bordered-field-floating-label-font-size - $mdlext-bordered-field-padding-top/2 !default;\n\n\n// MDL can not handle required attribute properly. Planned for MDL-v2\n//$mdlext-bordered-field-required-border-color : rgba(rgb-string-to-hex($color-accent), 0.8) !default;\n//$mdlext-bordered-field-required-background-color : $mdlext-bordered-field-background-color !default;\n//$mdlext-bordered-field-required-focus-border-color : rgba(rgb-string-to-hex($color-accent), 0.8) !default;\n//$mdlext-bordered-field-required-focus-background-color: $mdlext-bordered-field-background-color !default;\n//$mdlext-bordered-field-label-required-color : $mdlext-bordered-field-required-border-color !default;\n\n\n\n/* ========== Color Themes ========== */\n\n// ----------------------------------------------------------------\n// Light Color Theme.\n// ----------------------------------------------------------------\n$mdlext-light-color-primary: #4CAF50 !default;\n$mdlext-light-color-primary-dark: #388E3C !default;\n$mdlext-light-color-primary-light: #4CAF50 !default; // Fallback color. Set to color-primary if fallback is not needed\n$mdlext-light-color-primary-contrast: #C8E6C9 !default; // text color on primary/primary dark background\n$mdlext-light-color-accent: #E040FB !default;\n$mdlext-light-color-accent-light: #E040FB !default; // Fallback color. Set to color-accent if fallback is not needed\n$mdlext-light-color-accent-contrast: #FAFAFA !default;\n\n$mdlext-light-content-background-color: #FAFAFA !default; // background color on content (paper/card) background\n$mdlext-light-text-color-primary: rgba($mdlext-color-black, 0.87) !default; // text color on content (paper/card) background\n$mdlext-light-text-color-secondary: rgba($mdlext-color-black, 0.54) !default; // text color on content (paper/card) background\n$mdlext-light-text-color-disabled: rgba($mdlext-color-black, 0.38) !default; // disabled text, hint text, and icons\n$mdlext-light-divider-color: rgba($mdlext-color-black, 0.12) !default; // -> $card-border-color\n$mdlext-light-error-color: #D32F2F !default;\n\n// Anchor\n$mdlext-light-text-link-color: $mdlext-light-color-accent !default;\n\n// Card\n$mdlext-light-card-background-color: $mdlext-light-content-background-color !default;\n$mdlext-light-card-text-color: $mdlext-light-text-color-primary !default;\n$mdlext-light-card-image-placeholder-color: $mdlext-light-color-accent !default;\n$mdlext-light-card-supporting-text-text-color: rgba($mdlext-color-black, 0.54) !default;\n$mdlext-light-card-border-color: rgba(0, 0, 0, 0.1) !default;\n$mdlext-light-card-subtitle-color: rgba($mdlext-color-black, 0.54) !default;\n\n// Item\n\n// Default Item Colors\n$mdlext-light-default-item-text-color: rgba($mdlext-color-black, 0.87) !default;\n$mdlext-light-default-item-outline-color: $mdlext-palette-grey-400 !default;\n$mdlext-light-default-item-hover-bg-color: $mdlext-palette-grey-200 !default;\n$mdlext-light-default-item-focus-bg-color: $mdlext-palette-grey-200 !default;\n$mdlext-light-default-item-active-bg-color: $mdlext-palette-grey-300 !default;\n$mdlext-light-default-item-divider-color: rgba($mdlext-color-black, 0.12) !default;\n\n// Disabled Button Colors\n$mdlext-light-disabled-item-text-color: $mdlext-palette-grey-400 !default;\n\n// Dropdown menu / menu-button\n$mdlext-light-default-dropdown-bg-color: $mdlext-color-white !default;\n\n// Badge\n$mdlext-light-badge-color: $mdlext-light-color-accent-contrast !default;\n$mdlext-light-badge-color-inverse: $mdlext-light-color-accent !default;\n$mdlext-light-badge-background: $mdlext-light-color-accent !default;\n$mdlext-light-badge-background-inverse: $mdlext-light-color-accent-contrast !default;\n\n// Default button colors.\n$mdlext-light-button-primary-color: rgba($mdlext-palette-grey-500, 0.20) !default;\n$mdlext-light-button-secondary-color: $mdlext-color-black !default;\n$mdlext-light-button-hover-color: $mdlext-light-button-primary-color !default;\n$mdlext-light-button-active-color: rgba($mdlext-palette-grey-500, 0.40) !default;\n$mdlext-light-button-focus-color: rgba($mdlext-color-black, 0.12) !default;\n\n// Colored button colors.\n$mdlext-light-button-primary-color-alt: $mdlext-light-color-primary-light !default;\n$mdlext-light-button-secondary-color-alt: $mdlext-light-color-primary-contrast !default;\n$mdlext-light-button-hover-color-alt: darken($mdlext-light-color-primary-light, 10%) !default;\n$mdlext-light-button-active-color-alt: darken($mdlext-light-color-primary-light, 10%) !default;\n$mdlext-light-button-focus-color-alt: $mdlext-light-button-focus-color !default;\n\n// Ripple color for colored raised buttons.\n$mdlext-light-button-ripple-color-alt: $mdlext-light-color-primary-contrast !default;\n\n// Disabled button colors.\n$mdlext-light-button-primary-color-disabled: rgba($mdlext-color-black, 0.12) !default;\n$mdlext-light-button-secondary-color-disabled: rgba($mdlext-color-black, 0.26) !default;\n\n// FAB colors and sizes.\n$mdlext-light-button-fab-color-alt: $mdlext-light-color-accent !default;\n$mdlext-light-button-fab-hover-color-alt: $mdlext-light-color-accent !default;\n$mdlext-light-button-fab-active-color-alt: $mdlext-light-color-accent !default;\n$mdlext-light-button-fab-text-color-alt: $mdlext-light-color-accent-contrast !default;\n$mdlext-light-button-fab-ripple-color-alt: $mdlext-light-color-accent-contrast !default;\n\n// Slider\n$mdlext-light-range-bg-color: rgba($mdlext-color-black, 0.26) !default;\n$mdlext-light-range-color: $mdlext-light-color-accent-light !default;\n$mdlext-light-range-faded-color: rgba($mdlext-light-color-accent-light, 0.26) !default;\n$mdlext-light-range-bg-focus-color: rgba($mdlext-color-black, 0.12) !default;\n\n// Textfields\n$mdlext-light-input-text-background-color: transparent !default;\n$mdlext-light-input-text-label-color: rgba($mdlext-color-black, 0.54) !default;\n$mdlext-light-input-text-bottom-border-color: rgba($mdlext-color-black, 0.26) !default;\n$mdlext-light-input-text-highlight-color: $mdlext-light-color-accent-light !default;\n$mdlext-light-input-text-disabled-color: rgba($mdlext-color-black, 0.12) !default;\n$mdlext-light-input-text-disabled-text-color: rgba($mdlext-color-black, 0.26) !default;\n$mdlext-light-input-text-error-color: $mdlext-light-error-color !default;\n\n// Checkboxes\n$mdlext-light-checkbox-color: $mdlext-light-color-accent-light !default;\n$mdlext-light-checkbox-off-color: rgba($mdlext-color-black, 0.54) !default;\n$mdlext-light-checkbox-disabled-color: rgba($mdlext-color-black, 0.26) !default;\n$mdlext-light-checkbox-focus-color: rgba($mdlext-light-color-accent-light, 0.26) !default;\n\n// Icon Toggles\n$mdlext-light-icon-toggle-color: $mdlext-palette-grey-700 !default;\n$mdlext-light-icon-toggle-focus-color: $mdlext-light-button-focus-color !default;\n$mdlext-light-icon-toggle-checked-color: $mdlext-light-color-accent-light !default;\n$mdlext-light-icon-toggle-checked-focus-color: rgba($mdlext-light-color-accent-light, 0.26) !default;\n$mdlext-light-icon-toggle-disabled-color: rgba($mdlext-color-black, 0.26) !default;\n\n// Radio Buttons\n$mdlext-light-radio-color: $mdlext-light-color-accent-light !default;\n$mdlext-light-radio-off-color: rgba($mdlext-color-black, 0.54) !default;\n$mdlext-light-radio-disabled-color: rgba($mdlext-color-black, 0.26) !default;\n\n// Switches\n$mdlext-light-switch-color: $mdlext-light-color-accent-light !default;\n$mdlext-light-switch-faded-color: rgba($mdlext-light-color-accent-light, 0.26) !default;\n$mdlext-light-switch-thumb-color: $mdlext-light-switch-color !default;\n$mdlext-light-switch-track-color: rgba($mdlext-light-color-accent-light, 0.54) !default;\n$mdlext-light-switch-off-thumb-color: $mdlext-palette-grey-50 !default;\n$mdlext-light-switch-off-track-color: rgba($mdlext-color-black, 0.26) !default;\n$mdlext-light-switch-disabled-thumb-color: $mdlext-palette-grey-400 !default;\n$mdlext-light-switch-disabled-track-color: rgba($mdlext-color-black, 0.12) !default;\n\n// Data table\n$mdlext-light-data-table-background-color: $mdlext-light-content-background-color !default;\n$mdlext-light-data-table-header-color: rgba($mdlext-color-black, 0.54) !default;\n$mdlext-light-data-table-header-sorted-color: rgba($mdlext-color-black, 0.87) !default;\n$mdlext-light-data-table-header-sorted-icon-hover-color: rgba($mdlext-color-black, 0.26) !default;\n$mdlext-light-data-table-hover-color: $mdlext-palette-grey-200 !default;\n$mdlext-light-data-table-selection-color: $mdlext-palette-grey-200 !default;\n$mdlext-light-data-table-divider-color: rgba($mdlext-color-black, 0.12) !default;\n$mdlext-light-data-table-dividers: 1px solid $mdlext-light-data-table-divider-color !default;\n\n\n// Selectfield\n// Uses variables from textfield\n$mdlext-selectfield-arrow-width: 0.7em;\n$mdlext-selectfield-arrow-length: 0.5em;\n\n\n// Accordion\n$mdlext-light-accordion-header-background-color-base : $mdlext-palette-grey-600 !default;\n$mdlext-light-accordion-header-background-color : rgba($mdlext-light-accordion-header-background-color-base, 0.20) !default;\n$mdlext-light-accordion-header-background-open-color : rgba($mdlext-light-accordion-header-background-color-base, 0.30) !default;\n$mdlext-light-accordion-header-background-active-color : rgba($mdlext-light-accordion-header-background-color-base, 0.40) !default;\n$mdlext-light-accordion-header-border-color : rgba($mdlext-light-accordion-header-background-color-base, 0.50) !default;\n$mdlext-light-accordion-header-background-hover-color : rgba($mdlext-light-accordion-header-background-color-base, 0.40) !default;\n$mdlext-light-accordion-header-focus-outline-color : darken($mdlext-light-accordion-header-border-color, 3%) !default;\n$mdlext-light-accordion-header-disabled-color : rgba($mdlext-light-accordion-header-background-color-base, 0.12) !default;\n$mdlext-light-accordion-header-secondary-color : $mdlext-color-black !default;\n$mdlext-light-accordion-header-secondary-color-disabled: rgba($mdlext-color-black, 0.26) !default;\n$mdlext-light-accordion-header-highlight-color : darken($mdlext-light-accordion-header-border-color, 6%) !default;\n$mdlext-light-accordion-ripple-color : rgba($mdlext-light-accordion-header-background-color-base, 0.4) !default;\n$mdlext-light-accordion-content-color : inherit !default;\n$mdlext-light-accordion-content-background-color : transparent !default;\n\n\n// Bordered fields\n$mdlext-light-bordered-field-input-text-color : inherit !default;\n$mdlext-light-bordered-field-border-color : $mdlext-light-input-text-bottom-border-color !default;\n$mdlext-light-bordered-field-background-color : rgba($mdlext-light-content-background-color, 0.1) !default;\n$mdlext-light-bordered-field-focus-border-color : $mdlext-light-color-accent-light !default;\n$mdlext-light-bordered-field-focus-background-color : rgba(darken($mdlext-light-bordered-field-background-color, 10%), 0.1) !default;\n\n$mdlext-light-bordered-field-input-text-disabled-text-color : $mdlext-light-input-text-disabled-text-color;\n$mdlext-light-bordered-field-disabled-border-color : $mdlext-light-input-text-disabled-color !default;\n$mdlext-light-bordered-field-disabled-background-color : $mdlext-light-bordered-field-background-color !default;\n\n$mdlext-light-bordered-field-input-text-error-color : $mdlext-light-bordered-field-input-text-color !default;\n$mdlext-light-bordered-field-error-border-color : $mdlext-light-input-text-error-color !default;\n$mdlext-light-bordered-field-error-background-color : rgba(lighten($mdlext-light-bordered-field-error-border-color, 50%), 0.5) !default;\n$mdlext-light-bordered-field-error-focus-border-color : darken($mdlext-light-bordered-field-error-border-color, 10%) !default;\n$mdlext-light-bordered-field-error-focus-background-color : $mdlext-light-bordered-field-error-background-color !default;\n\n$mdlext-light-bordered-field-input-text-label-color : $mdlext-light-input-text-label-color !default;\n$mdlext-light-bordered-field-input-text-label-focus-color : $mdlext-light-bordered-field-focus-border-color !default;\n$mdlext-light-bordered-field-input-text-label-error-color : $mdlext-light-bordered-field-error-border-color !default;\n$mdlext-light-bordered-field-input-text-label-disabled-color: $mdlext-light-input-text-disabled-text-color !default;\n\n\n\n// ----------------------------------------------------------------\n// Dark Color Theme.\n// ----------------------------------------------------------------\n$mdlext-dark-color-primary: #FFC107 !default;\n$mdlext-dark-color-primary-dark: #FFA000 !default;\n$mdlext-dark-color-primary-light: #FFC107 !default; // Fallback color. Set to color-primary if fallback is not needed\n$mdlext-dark-color-primary-contrast: #FFF8E1 !default; // text color on primary/primary dark background\n$mdlext-dark-color-accent: #536DFE !default;\n$mdlext-dark-color-accent-light: #536DFE !default; // Fallback color. Set to color-accent if fallback is not needed\n$mdlext-dark-color-accent-contrast: #FFFFFF !default;\n\n$mdlext-dark-content-background-color: #303030 !default; // #424242 or #303030, background color on content (paper/card) background\n$mdlext-dark-text-color-primary: rgba(#FFFFFF, 1.00) !default; // text color on content (paper/card) background\n$mdlext-dark-text-color-secondary: rgba(#FFFFFF, 0.70) !default; // text color on content (paper/card) background\n$mdlext-dark-text-color-disabled: rgba(#FFFFFF, 0.50) !default; // disabled text, hint text, and icons\n$mdlext-dark-divider-color: rgba(#FFFFFF, 0.12) !default; // -> $card-border-color\n$mdlext-dark-error-color: #FF1744 !default;\n\n// Anchor\n$mdlext-dark-text-link-color: $mdlext-dark-color-accent !default;\n\n// Card\n$mdlext-dark-card-background-color: $mdlext-dark-content-background-color !default;\n$mdlext-dark-card-text-color: $mdlext-dark-text-color-primary !default;\n$mdlext-dark-card-image-placeholder-color: $mdlext-dark-color-accent !default;\n$mdlext-dark-card-supporting-text-text-color: rgba($mdlext-color-white, 0.70) !default;\n$mdlext-dark-card-border-color: rgba(0, 0, 0, 0.1) !default;\n$mdlext-dark-card-subtitle-color: rgba($mdlext-color-black, 0.70) !default;\n\n// Item\n\n// Default Item Colors\n$mdlext-dark-default-item-text-color: rgba($mdlext-color-white, 0.87) !default;\n$mdlext-dark-default-item-outline-color: $mdlext-palette-grey-700 !default;\n$mdlext-dark-default-item-hover-bg-color: $mdlext-palette-grey-900 !default;\n$mdlext-dark-default-item-focus-bg-color: $mdlext-palette-grey-900 !default;\n$mdlext-dark-default-item-active-bg-color: $mdlext-palette-grey-800 !default;\n$mdlext-dark-default-item-divider-color: rgba($mdlext-color-white, 0.20) !default;\n\n// Disabled Button Colors\n$mdlext-dark-disabled-item-text-color: $mdlext-palette-grey-500 !default;\n\n// Dropdown menu / menu-button\n$mdlext-dark-default-dropdown-bg-color: $mdlext-color-black !default;\n\n// Badge\n$mdlext-dark-badge-color: $mdlext-dark-color-accent-contrast !default;\n$mdlext-dark-badge-color-inverse: $mdlext-dark-color-accent !default;\n$mdlext-dark-badge-background: $mdlext-dark-color-accent !default;\n$mdlext-dark-badge-background-inverse: $mdlext-dark-color-accent-contrast !default;\n\n// Default button colors.\n$mdlext-dark-button-primary-color: rgba($mdlext-palette-grey-500, 0.20) !default;\n$mdlext-dark-button-secondary-color: $mdlext-color-white !default;\n$mdlext-dark-button-hover-color: $mdlext-dark-button-primary-color !default;\n$mdlext-dark-button-active-color: rgba($mdlext-palette-grey-500, 0.40) !default;\n$mdlext-dark-button-focus-color: rgba($mdlext-color-black, 0.12) !default;\n\n// Colored button colors.\n$mdlext-dark-button-primary-color-alt: $mdlext-dark-color-primary-light !default;\n$mdlext-dark-button-secondary-color-alt: $mdlext-dark-color-primary-contrast !default;\n$mdlext-dark-button-hover-color-alt: darken($mdlext-dark-color-primary-light, 10%) !default;\n$mdlext-dark-button-active-color-alt: darken($mdlext-dark-color-primary-light, 10%) !default;\n$mdlext-dark-button-focus-color-alt: $mdlext-dark-button-focus-color !default;\n\n// Ripple color for colored raised buttons.\n$mdlext-dark-button-ripple-color-alt: $mdlext-dark-color-primary-contrast !default;\n\n// Disabled button colors.\n$mdlext-dark-button-primary-color-disabled: rgba($mdlext-color-white, 0.12) !default;\n$mdlext-dark-button-secondary-color-disabled: rgba($mdlext-color-white, 0.26) !default;\n\n// FAB colors and sizes.\n$mdlext-dark-button-fab-color-alt: $mdlext-dark-color-accent !default;\n$mdlext-dark-button-fab-hover-color-alt: $mdlext-dark-color-accent !default;\n$mdlext-dark-button-fab-active-color-alt: $mdlext-dark-color-accent !default;\n$mdlext-dark-button-fab-text-color-alt: $mdlext-dark-color-accent-contrast !default;\n$mdlext-dark-button-fab-ripple-color-alt: $mdlext-dark-color-accent-contrast !default;\n\n// Slider\n$mdlext-dark-range-bg-color: rgba($mdlext-color-white, 0.87) !default;\n$mdlext-dark-range-color: $mdlext-dark-color-accent-light !default;\n$mdlext-dark-range-faded-color: rgba($mdlext-dark-color-accent-light, 0.50) !default;\n$mdlext-dark-range-bg-focus-color: rgba($mdlext-color-white, 0.50) !default;\n\n// Textfields\n$mdlext-dark-input-text-background-color: transparent !default;\n$mdlext-dark-input-text-label-color: rgba($mdlext-color-white, 0.50) !default;\n$mdlext-dark-input-text-bottom-border-color: rgba($mdlext-color-white, 0.26) !default;\n$mdlext-dark-input-text-highlight-color: $mdlext-dark-color-accent-light !default;\n$mdlext-dark-input-text-disabled-color: rgba($mdlext-color-white, 0.12) !default;\n$mdlext-dark-input-text-disabled-text-color: rgba($mdlext-color-white, 0.26) !default;\n$mdlext-dark-input-text-error-color: $mdlext-dark-error-color !default;\n\n// Checkboxes\n$mdlext-dark-checkbox-color: $mdlext-dark-color-accent-light !default;\n$mdlext-dark-checkbox-off-color: rgba($mdlext-color-white, 0.50) !default;\n$mdlext-dark-checkbox-disabled-color: rgba($mdlext-color-white, 0.26) !default;\n$mdlext-dark-checkbox-focus-color: rgba($mdlext-dark-color-accent-light, 0.26) !default;\n\n// Icon Toggles\n$mdlext-dark-icon-toggle-color: $mdlext-palette-grey-700 !default;\n$mdlext-dark-icon-toggle-focus-color: $mdlext-dark-button-focus-color !default;\n$mdlext-dark-icon-toggle-checked-color: $mdlext-dark-color-accent-light !default;\n$mdlext-dark-icon-toggle-checked-focus-color: rgba($mdlext-dark-color-accent-light, 0.26) !default;\n$mdlext-dark-icon-toggle-disabled-color: rgba($mdlext-color-white, 0.50) !default;\n\n// Radio Buttons\n$mdlext-dark-radio-color: $mdlext-dark-color-accent-light !default;\n$mdlext-dark-radio-off-color: rgba($mdlext-color-white, 0.50) !default;\n$mdlext-dark-radio-disabled-color: rgba($mdlext-color-white, 0.26) !default;\n\n// Switches\n$mdlext-dark-switch-color: $mdlext-dark-color-accent-light !default;\n$mdlext-dark-switch-faded-color: rgba($mdlext-dark-color-accent-light, 0.26) !default;\n$mdlext-dark-switch-thumb-color: $mdlext-dark-switch-color !default;\n$mdlext-dark-switch-track-color: rgba($mdlext-dark-color-accent-light, 0.5) !default;\n$mdlext-dark-switch-off-thumb-color: $mdlext-palette-grey-50 !default;\n$mdlext-dark-switch-off-track-color: rgba($mdlext-color-white, 0.26) !default;\n$mdlext-dark-switch-disabled-thumb-color: $mdlext-palette-grey-50 !default;\n$mdlext-dark-switch-disabled-track-color: rgba($mdlext-color-white, 0.12) !default;\n\n// Data table\n$mdlext-dark-data-table-background-color: $mdlext-dark-content-background-color !default;\n$mdlext-dark-data-table-header-color: rgba($mdlext-color-white, 0.87) !default;\n$mdlext-dark-data-table-header-sorted-color: rgba($mdlext-color-white, 0.87) !default;\n$mdlext-dark-data-table-header-sorted-icon-hover-color: rgba($mdlext-color-white, 0.26) !default;\n$mdlext-dark-data-table-hover-color: $mdlext-dark-default-item-hover-bg-color !default;\n$mdlext-dark-data-table-selection-color: $mdlext-dark-default-item-active-bg-color !default;\n$mdlext-dark-data-table-divider-color: rgba($mdlext-color-white, 0.12) !default;\n$mdlext-dark-data-table-dividers: 1px solid $mdlext-dark-data-table-divider-color !default;\n\n\n// Selectfield\n// Uses variables from textfield\n\n\n// Accordion\n$mdlext-dark-accordion-header-background-color-base : $mdlext-color-black !default;\n$mdlext-dark-accordion-header-background-color : rgba($mdlext-dark-accordion-header-background-color-base, 1.0) !default;\n$mdlext-dark-accordion-header-background-open-color : rgba($mdlext-dark-accordion-header-background-color-base, 0.9) !default;\n$mdlext-dark-accordion-header-border-color : $mdlext-palette-grey-800 !default;\n$mdlext-dark-accordion-header-background-hover-color : rgba($mdlext-dark-accordion-header-background-color-base, 0.5) !default;\n$mdlext-dark-accordion-header-background-active-color : rgba($mdlext-dark-accordion-header-background-color-base, 0.6) !default;\n$mdlext-dark-accordion-header-focus-outline-color : lighten($mdlext-dark-accordion-header-border-color, 40%) !default;\n$mdlext-dark-accordion-header-disabled-color : rgba($mdlext-dark-accordion-header-background-color-base, 0.4) !default;\n$mdlext-dark-accordion-header-secondary-color : $mdlext-dark-text-color-primary !default;\n$mdlext-dark-accordion-header-secondary-color-disabled: $mdlext-dark-text-color-disabled !default;\n$mdlext-dark-accordion-header-highlight-color : lighten($mdlext-dark-accordion-header-border-color, 40%) !default;\n$mdlext-dark-accordion-ripple-color : rgba($mdlext-dark-accordion-header-background-color-base, 0.3) !default;\n$mdlext-dark-accordion-content-color : inherit !default;\n$mdlext-dark-accordion-content-background-color : transparent !default;\n\n\n// Bordered fields\n$mdlext-dark-bordered-field-input-text-color : inherit !default;\n$mdlext-dark-bordered-field-border-color : $mdlext-dark-input-text-bottom-border-color !default;\n$mdlext-dark-bordered-field-background-color : rgba($mdlext-dark-content-background-color, 0.1) !default;\n$mdlext-dark-bordered-field-focus-border-color : $mdlext-dark-color-accent-light !default;\n$mdlext-dark-bordered-field-focus-background-color : rgba(darken($mdlext-dark-bordered-field-background-color, 10%), 0.1) !default;\n\n$mdlext-dark-bordered-field-input-text-disabled-text-color : $mdlext-dark-input-text-disabled-text-color;\n$mdlext-dark-bordered-field-disabled-border-color : $mdlext-dark-input-text-disabled-color !default;\n$mdlext-dark-bordered-field-disabled-background-color : $mdlext-dark-bordered-field-background-color !default;\n\n$mdlext-dark-bordered-field-input-text-error-color : $mdlext-dark-bordered-field-input-text-color !default;\n$mdlext-dark-bordered-field-error-border-color : $mdlext-dark-input-text-error-color !default;\n$mdlext-dark-bordered-field-error-background-color : rgba($mdlext-dark-bordered-field-error-border-color, 0.1) !default;\n$mdlext-dark-bordered-field-error-focus-border-color : darken($mdlext-dark-bordered-field-error-border-color, 10%) !default;\n$mdlext-dark-bordered-field-error-focus-background-color : $mdlext-dark-bordered-field-error-background-color !default;\n\n$mdlext-dark-bordered-field-input-text-label-color : $mdlext-dark-input-text-label-color !default;\n$mdlext-dark-bordered-field-input-text-label-focus-color : $mdlext-dark-bordered-field-focus-border-color !default;\n$mdlext-dark-bordered-field-input-text-label-error-color : $mdlext-dark-bordered-field-error-border-color !default;\n$mdlext-dark-bordered-field-input-text-label-disabled-color: $mdlext-dark-input-text-disabled-text-color !default;\n\n\n\n// WEBPACK FOOTER //\n// webpack:///src/_variables.scss","///\n/// Returns the opposite direction of each direction in a list\n/// Modified from: https://css-tricks.com/snippets/sass/opposite-direction-function/\n/// @author Hugo Giraudel\n/// @param {List} $directions - List of initial directions\n/// @return {List} - List of opposite directions\n@function mdlext-opposite-direction($directions) {\n $opposite-directions: ();\n $direction-map: (\n 'top': 'bottom',\n 'right': 'left',\n 'bottom': 'top',\n 'left': 'right',\n 'center': 'center',\n 'ltr': 'rtl',\n 'rtl': 'ltr'\n );\n\n @each $direction in $directions {\n $direction: to-lower-case($direction);\n\n @if map-has-key($direction-map, $direction) {\n $opposite-directions: append($opposite-directions, unquote(map-get($direction-map, $direction)));\n }\n @else {\n @warn \"No opposite direction can be found for `#{$direction}`. Direction omitted.\";\n }\n }\n\n @return $opposite-directions;\n}\n\n///\n/// Strip unit from value\n/// @author Hugo Giraudel\n/// http://hugogiraudel.com/2013/08/12/sass-functions/\n/// https://css-tricks.com/snippets/sass/strip-unit-function/\n/// @param {Number} $number - Number to remove unit from\n/// @return {Number} - Unitless number\n\n@function strip-unit($number) {\n @return if(type-of($number) == 'number' and not unitless($number), $number / ($number * 0 + 1), $number);\n}\n\n///\n/// Clamping a number means restricting it between min and max values.\n/// 4 clamped to 1-3 equals 3.\n/// -5 clamped to 1-10 equals 1.\n/// 42 clamped to 10-100 equals 42.\n/// @author Hugo Giraudel\n/// http://hugogiraudel.com/2013/08/12/sass-functions/\n/// @param {Number} $value - The value to clamp\n/// @param {Number} $min - min value in range\n/// @param {Number} $max - Max value in range\n/// @return {Number} - The clamped value\n\n@function clamp($value, $min, $max) {\n @return if($value > $max, $max, if($value < $min, $min, $value));\n}\n\n///\n/// Convert one unit into another\n/// @author Hugo Giraudel\n/// http://www.sitepoint.com/understanding-sass-units/\n/// @param {Number} $value - Initial value\n/// @param {String} $unit - Desired unit\n/// @return {Number}\n/// @throw Error if `$unit` does not exist or if units are incompatible.\n\n/* stylelint-disable */\n@function convert-unit($value, $unit) {\n $units: (\n 'px' : 0px,\n 'cm' : 0cm,\n 'mm' : 0mm,\n '%' : 0%,\n 'ch' : 0ch,\n 'in' : 0in,\n 'em' : 0em,\n 'rem' : 0rem,\n 'pt' : 0pt,\n 'pc' : 0pc,\n 'ex' : 0ex,\n 'vw' : 0vw,\n 'vh' : 0vh,\n 'vmin': 0vmin,\n 'vmax': 0vmax,\n 'deg' : 0deg,\n 'turn': 0turn,\n 'rad' : 0rad,\n 'grad': 0grad,\n 's' : 0s,\n 'ms' : 0ms,\n 'Hz' : 0Hz,\n 'kHz' : 0kHz,\n 'dppx': 0dppx,\n 'dpcm': 0dpcm,\n 'dpi' : 0dpi,\n );\n\n @if map-has-key($units, $unit) {\n @return map-get($units, $unit) + $value;\n }\n\n @error \"Unknown unit `#{$unit}`.\";\n}\n/* stylelint-enable */\n\n\n///\n/// Replace `$search` with `$replace` in `$string`\n/// @author Hugo Giraudel, http://hugogiraudel.com/2014/01/13/sass-string-replacement-function/\n/// @param {String} $string - Initial string\n/// @param {String} $search - Substring to replace\n/// @param {String} $replace ('') - New value\n/// @return {String} - Updated string\n@function str-replace($string, $search, $replace: '') {\n $index: str-index($string, $search);\n\n @if $index {\n @return str-slice($string, 1, $index - 1) + $replace + str-replace(str-slice($string, $index + str-length($search)), $search, $replace);\n }\n @return $string;\n}\n\n///\n/// @function explode() -- split a string into a list of strings\n/// @author https://gist.github.com/danielpchen/3677421ea15dcf2579ff\n/// {string} $string: the string to be split\n/// {string} $delimiter: the boundary string\n/// @return {list} the result list\n@function explode($string, $delimiter: ',') {\n $result: ();\n @if $delimiter == \"\" {\n @for $i from 1 through str-length($string) {\n $result: append($result, str-slice($string, $i, $i));\n }\n @return $result;\n }\n $exploding: true;\n @while $exploding {\n $d-index: str-index($string, $delimiter);\n @if $d-index {\n @if $d-index > 1 {\n $result: append($result, str-slice($string, 1, $d-index - 1));\n $string: str-slice($string, $d-index + str-length($delimiter));\n }\n @else if $d-index == 1 {\n $string: str-slice($string, 1, $d-index + str-length($delimiter));\n }\n @else {\n $result: append($result, $string);\n $exploding: false;\n }\n }\n @else {\n $result: append($result, $string);\n $exploding: false;\n }\n }\n @return $result;\n}\n\n///\n/// Add `$unit` to `$value`\n/// @author Hugo Giraudel\n///\n/// @param {Number} $value - Value to add unit to\n/// @param {String} $unit - String representation of the unit\n///\n/// @return {Number} - `$value` expressed in `$unit`\n/// @throw Error if `$unit` does not exist or if units are incompatible.\n///\n@function to-length($value, $unit) {\n $units: (\n 'px' : 1px,\n 'cm' : 1cm,\n 'mm' : 1mm,\n '%' : 1%,\n 'ch' : 1ch,\n 'pc' : 1pc,\n 'in' : 1in,\n 'em' : 1em,\n 'rem' : 1rem,\n 'pt' : 1pt,\n 'ex' : 1ex,\n 'vw' : 1vw,\n 'vh' : 1vh,\n 'vmin': 1vmin,\n 'vmax': 1vmax\n );\n\n @if not index(map-keys($units), $unit) {\n @error('Invalid unit `#{$unit}`.');\n }\n\n @return $value * map-get($units, $unit);\n}\n\n///\n/// Casts a string into a number\n///\n/// @author Hugo Giraudel\n// @param {String | Number} $value - Value to be parsed\n///\n/// @return {Number}\n/// @throw Error if `$value` is not a number or a string.\n///\n@function to-number($value) {\n @if type-of($value) == 'number' {\n @return $value;\n }\n @else if type-of($value) != 'string' {\n @error('Value for `to-number` should be a number or a string.');\n }\n\n $result: 0;\n $digits: 0;\n $minus: str-slice($value, 1, 1) == '-';\n $numbers: ('0': 0, '1': 1, '2': 2, '3': 3, '4': 4, '5': 5, '6': 6, '7': 7, '8': 8, '9': 9);\n\n @for $i from if($minus, 2, 1) through str-length($value) {\n $character: str-slice($value, $i, $i);\n\n @if not (index(map-keys($numbers), $character) or $character == '.') {\n @return to-length(if($minus, -$result, $result), str-slice($value, $i));\n }\n\n @if $character == '.' {\n $digits: 1;\n }\n @else if $digits == 0 {\n $result: $result * 10 + map-get($numbers, $character);\n }\n @else {\n $digits: $digits * 10;\n $result: $result + map-get($numbers, $character) / $digits;\n }\n }\n\n @return if($minus, -$result, $result);\n}\n\n///\n/// Convert `$rgb-string` to a number list\n/// @author Leif Olsen\n/// @param {String | Number} $value - Value to be parsed\n/// @return {list} the rgb number list\n/// @throw Error if `$value` is not a number, color or a string.\n@function rgb-string-to-numbers($value) {\n @if type-of($value) == 'number' or type-of($value) == 'color' {\n @return $value;\n }\n @else if type-of($value) != 'string' {\n @error('Value for `rgb-string-to-numbers` should be a number or a string.');\n }\n\n $s: str-replace($value, \"rgba\");\n $s: str-replace($s, \"rgb\");\n $s: str-replace($s, \"(\");\n $s: str-replace($s, \")\");\n $s: str-replace($s, \" \");\n $l: explode($s);\n $result: ();\n @for $i from 1 through length($l) {\n $result: append($result, to-number(nth($l, $i)));\n }\n @return $result;\n}\n\n///\n/// Convert `$rgb-string` to a corresponding hex value\n/// @author Leif Olsen\n/// @param {String | Number} $value - Value to be parsed\n/// @return {number} the rgb hex value\n/// @throw Error if `$value` is not a number, color or a string.\n@function rgb-string-to-hex($value) {\n @if type-of($value) == 'number' or type-of($value) == 'color' {\n @return $value;\n }\n @else if type-of($value) != 'string' {\n @error('Value for `rgb-string-to-numbers` should be a number or a string.');\n }\n $l: rgb-string-to-numbers($value);\n @return rgb(nth($l, 1), nth($l, 2), nth($l, 3));\n}\n\n\n///\n/// Convert hex color to a coresponding `$rgb-string`\n/// @author https://github.com/google/material-design-lite/issues/1689\n/// @param {Number} $hexColor - Value to convert\n/// @return {String} the rgb string value\n///\n/// @example - $color-primary: hex-to-string(#333);\n@function hex-to-rgb-string($hexColor) {\n // 0.999999 val in alpha actually compiles to 1.0\n $rgbaVal: inspect(rgba($hexColor, 0.9999999));\n\n // slice substring between 'rgba(' and '1.0)'\n @return str-slice($rgbaVal, 6, str-length($rgbaVal)-4);\n}\n\n\n\n// WEBPACK FOOTER //\n// webpack:///src/_functions.scss","@charset \"UTF-8\";\n\n/**\n * @license\n * Copyright 2016-2017 Leif Olsen. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * This code is built with Google Material Design Lite,\n * which is Licensed under the Apache License, Version 2.0\n */\n\n@import \"../mixins\";\n\n.mdlext-aria-expanded-plus-minus {\n @include mdlext-aria-expanded-toggle($font-family: inherit);\n}\n\n.mdlext-aria-expanded-more-less {\n @include mdlext-aria-expanded-toggle($icon: 'expand_more', $icon-expanded: 'expand_less');\n}\n\n\n\n// WEBPACK FOOTER //\n// webpack:///src/aria-expanded-toggle/_aria-expanded-toggle.scss","@import \"functions\";\n\n/// Triangle helper mixin\n/// Modified from: http://blustemy.io/drawing-pure-css-arrows-with-mixins/\n/// https://css-tricks.com/snippets/sass/css-triangle-mixin/\n/// @param {Direction} $direction - Triangle direction, either `top`, `right`, `bottom` or `left`\n/// @param {Color} $color [currentcolor] - Triangle color\n/// @param {Length} $size [1em] - Triangle size\n@mixin mdlext-arrow($direction: bottom, $base-width: 15px, $length: 10px, $color: inherit, $font-size: inherit) {\n content: '';\n width: 0;\n height: 0;\n font-size: $font-size;\n line-height: $font-size;\n border-#{mdlext-opposite-direction($direction)}: $length solid $color;\n border-#{mdlext-opposite-direction($direction)}-width: $length;\n border-#{mdlext-opposite-direction($direction)}-style: solid;\n border-#{mdlext-opposite-direction($direction)}-color: $color;\n\n $perpendicular-borders: ($base-width / 2) solid transparent;\n\n @if $direction == top or $direction == bottom {\n border-left: $perpendicular-borders;\n border-right: $perpendicular-borders;\n }\n @else if $direction == right or $direction == left {\n border-bottom: $perpendicular-borders;\n border-top: $perpendicular-borders;\n }\n}\n\n/// Hide element while making it readable for screen readers\n/// Copied from HTML5Boilerplate:\n/// https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css#L119-L133\n@mixin mdlext-visually-hidden() {\n border: 0;\n clip: rect(0 0 0 0);\n height: 1px;\n margin: -1px;\n overflow: hidden;\n padding: 0;\n position: absolute;\n width: 1px;\n}\n\n\n/// Toggle for aria-expanded attribute\n///\n/// @author Leif Olsen\n/// @param {Font} $font-family ['Material Icons'] - Font family\n/// @param {Length} $font-size [24px] - Font size\n/// @param {string} $icon ['+'] - icon to display when 'aria-expanded=\"false\"'\n/// @param {string} $icon-expanded ['-'] - icon to display when 'aria-expanded=\"true\"'\n/// @link https://github.com/google/material-design-icons Modified from '.material-icons' class\n/// @param {Length} $icon-offset [0] - Icon offset\n///\n/// @example - +/- toggle\n/// .plus-minus {\n/// @include mdlext-aria-expanded-toggle($font-family: inherit, $font-size: inherit);\n/// }\n/// \n/// \n///
\n///\n/// @example - Material Icons, expand-more/expand_less\n/// .more-less {\n/// @include mdlext-aria-expanded-toggle($content: 'expand_more', $content-expanded: 'expand_less');\n/// }\n/// \n/// \n///
\n\n@mixin mdlext-aria-expanded-toggle($font-family: 'Material Icons', $font-size: 24px, $icon: '+', $icon-expanded: '-', $icon-offset: 0) {\n font-family: $font-family;\n font-weight: inherit;\n font-style: inherit;\n font-size: $font-size; // Preferred icon size\n display: inline-block;\n width: 1em;\n height: 1em;\n line-height: 1;\n text-transform: none;\n letter-spacing: normal;\n word-wrap: normal;\n white-space: nowrap;\n direction: ltr;\n vertical-align: middle;\n\n // Support for all WebKit browsers.\n -webkit-font-smoothing: antialiased;\n -webkit-font-feature-settings: 'liga';\n\n // Support for Safari and Chrome.\n text-rendering: optimizeLegibility;\n\n // Support for Firefox.\n -moz-osx-font-smoothing: grayscale;\n\n // Support for IE.\n font-feature-settings: 'liga';\n\n &::after {\n content: $icon;\n margin-left: $icon-offset;\n }\n\n [aria-expanded='true'] > & {\n &::after {\n content: $icon-expanded;\n margin-left: $icon-offset;\n }\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// webpack:///src/_mixins.scss","/**\n * Copyright 2016 Leif Olsen. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n// Use of this module requires the user to include variables from material-design-lite\n//@import \"../../node_modules/material-design-lite/src/variables\";\n//@import \"../../node_modules/material-design-lite/src/mixins\";\n@import \"../variables\";\n\n.mdlext-layout__sticky-header {\n position: absolute;\n overflow: visible;\n background: $mdlext-sticky-header-background;\n transition: 0.1s ease-in-out;\n\n &.mdlext-is-scroll {\n background: $mdlext-sticky-header-background-scroll;\n }\n}\n\n*:not(.is-small-screen) .mdlext-layout__sticky-header {\n .mdl-layout__drawer-button {\n visibility: hidden;\n }\n .mdl-layout__header-row {\n padding-left: $padding;\n }\n}\n\n*:not(.mdl-layout--fixed-drawer).has-drawer .mdlext-layout__sticky-header,\n.is-small-screen.has-drawer .mdlext-layout__sticky-header {\n display: flex;\n\n .mdl-layout__drawer-button {\n visibility: visible;\n }\n .mdl-layout__header-row {\n padding-left: $padding + $layout-drawer-button-desktop-size;\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// webpack:///src/sticky-header/_sticky-header.scss","/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n * Copyright 2016 Leif Olsen. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * SASS based on css from Google Chrome Dialog polyfill, https://github.com/GoogleChrome/dialog-polyfill\n * @include 'node_modules/dialog-polyfill/dialog-polyfill.css' before using this\n */\n\n@import \"../variables\";\n\ndialog.mdlext-dialog {\n position: absolute;\n border: 0;\n opacity: 0;\n padding: $mdlext-dialog-padding;\n background-color: $mdlext-dialog-background-color;\n\n &[open] {\n animation: mdlext-open-dialog $mdlext-dialog-open-animation;\n }\n &[open]::backdrop {\n animation: mdlext-darken-backdrop $mdlext-dialog-backdrop-animation;\n }\n &[open] + .backdrop {\n animation: mdlext-darken-backdrop $mdlext-dialog-backdrop-animation;\n }\n}\n\n@keyframes mdlext-darken-backdrop {\n to { background: $mdlext-dialog-backdrop-color; }\n}\n@keyframes mdlext-open-dialog {\n to { opacity: 1; }\n}\n\n\n\n// WEBPACK FOOTER //\n// webpack:///src/dialog/dialog.scss","@charset \"UTF-8\";\n\n/**\n * This code is modified from Material Design Lite _grid.sass,\n * which is Licensed under the Apache License, Version 2.0\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n */\n\n///////////////////////////////////////////////////////////////////////\n//\n// Grid media queries, modified from Material Design Lite _grid.sass\n//\n///////////////////////////////////////////////////////////////////////\n// Use of this module requires the user to include variables from material-design-lite in hers/his main SASS module\n//@import \"../../node_modules/material-design-lite/src/variables\";\n\n\n.mdlext-grid {\n display: flex;\n flex-flow: row wrap;\n margin: 0 auto;\n align-items: stretch;\n\n &.mdlext-grid--no-spacing {\n padding: 0;\n }\n}\n\n.mdlext-cell {\n box-sizing: border-box;\n}\n\n\n.mdlext-cell--top {\n align-self: flex-start;\n}\n\n.mdlext-cell--middle {\n align-self: center;\n}\n\n.mdlext-cell--bottom {\n align-self: flex-end;\n}\n\n.mdlext-cell--stretch {\n align-self: stretch;\n}\n\n.mdlext-grid.mdlext-grid--no-spacing > .mdlext-cell {\n margin: 0;\n}\n\n// Define order override classes.\n@for $i from 1 through $grid-max-columns {\n .mdlext-cell--order-#{$i} {\n order: $i;\n }\n}\n\n\n// Mixins for width calculation.\n@mixin partial-size($size, $columns, $gutter) {\n width: calc(#{(($size / $columns) * 100) + \"%\"} - #{$gutter});\n\n .mdlext-grid--no-spacing > & {\n width: #{(($size / $columns) * 100) + \"%\"};\n }\n}\n\n@mixin full-size($gutter) {\n @include partial-size(1, 1, $gutter);\n}\n\n@mixin offset-size($size, $columns, $gutter) {\n margin-left: calc(#{(($size / $columns) * 100) + \"%\"} + #{$gutter / 2});\n\n .mdlext-grid.mdlext-grid--no-spacing > & {\n margin-left: #{(($size / $columns) * 100) + \"%\"};\n }\n}\n\n\n\n////////// Phone //////////\n\n/* stylelint-disable */\n@media (max-width: $grid-tablet-breakpoint - 1) {\n/* stylelint-enable */\n .mdlext-grid {\n padding: $grid-phone-margin - ($grid-phone-gutter / 2);\n }\n\n .mdlext-cell {\n margin: $grid-phone-gutter / 2;\n @include partial-size($grid-cell-default-columns, $grid-phone-columns, $grid-phone-gutter);\n }\n\n .mdlext-cell--hide-phone {\n display: none !important;\n }\n\n // Define order override classes.\n @for $i from 1 through $grid-max-columns {\n .mdlext-cell--order-#{$i}-phone.mdlext-cell--order-#{$i}-phone {\n order: $i;\n }\n }\n\n // Define partial sizes for columnNumber < totalColumns.\n @for $i from 1 through ($grid-phone-columns - 1) {\n .mdlext-cell--#{$i}-col,\n .mdlext-cell--#{$i}-col-phone.mdlext-cell--#{$i}-col-phone {\n @include partial-size($i, $grid-phone-columns, $grid-phone-gutter);\n }\n }\n\n // Define 100% for everything else.\n @for $i from $grid-phone-columns through $grid-desktop-columns {\n .mdlext-cell--#{$i}-col,\n .mdlext-cell--#{$i}-col-phone.mdlext-cell--#{$i}-col-phone {\n @include full-size($grid-phone-gutter);\n }\n }\n\n // Define valid phone offsets.\n @for $i from 1 through ($grid-phone-columns - 1) {\n .mdlext-cell--#{$i}-offset,\n .mdlext-cell--#{$i}-offset-phone.mdlext-cell--#{$i}-offset-phone {\n @include offset-size($i, $grid-phone-columns, $grid-phone-gutter);\n }\n }\n}\n\n\n////////// Tablet //////////\n\n/* stylelint-disable */\n@media (min-width: $grid-tablet-breakpoint) and (max-width: $grid-desktop-breakpoint - 1) { /* stylelint-enable */\n .mdlext-grid {\n padding: $grid-tablet-margin - ($grid-tablet-gutter / 2);\n }\n\n .mdlext-cell {\n margin: $grid-tablet-gutter / 2;\n @include partial-size($grid-cell-default-columns, $grid-tablet-columns, $grid-tablet-gutter);\n }\n\n .mdlext-cell--hide-tablet {\n display: none !important;\n }\n\n // Define order override classes.\n @for $i from 1 through $grid-max-columns {\n .mdlext-cell--order-#{$i}-tablet.mdlext-cell--order-#{$i}-tablet {\n order: $i;\n }\n }\n\n // Define partial sizes for columnNumber < totalColumns.\n @for $i from 1 through ($grid-tablet-columns - 1) {\n .mdlext-cell--#{$i}-col,\n .mdlext-cell--#{$i}-col-tablet.mdlext-cell--#{$i}-col-tablet {\n @include partial-size($i, $grid-tablet-columns, $grid-tablet-gutter);\n }\n }\n\n // Define 100% for everything else.\n @for $i from $grid-tablet-columns through $grid-desktop-columns {\n .mdlext-cell--#{$i}-col,\n .mdlext-cell--#{$i}-col-tablet.mdlext-cell--#{$i}-col-tablet {\n @include full-size($grid-tablet-gutter);\n }\n }\n\n // Define valid tablet offsets.\n @for $i from 1 through ($grid-tablet-columns - 1) {\n .mdlext-cell--#{$i}-offset,\n .mdlext-cell--#{$i}-offset-tablet.mdlext-cell--#{$i}-offset-tablet {\n @include offset-size($i, $grid-tablet-columns, $grid-tablet-gutter);\n }\n }\n}\n\n\n////////// Desktop //////////\n\n@media (min-width: $grid-desktop-breakpoint) {\n .mdlext-grid {\n padding: $grid-desktop-margin - ($grid-desktop-gutter / 2);\n }\n\n .mdlext-cell {\n margin: $grid-desktop-gutter / 2;\n @include partial-size($grid-cell-default-columns, $grid-desktop-columns, $grid-desktop-gutter);\n }\n\n .mdlext-cell--hide-desktop {\n display: none !important;\n }\n\n // Define order override classes.\n @for $i from 1 through $grid-max-columns {\n .mdlext-cell--order-#{$i}-desktop.mdlext-cell--order-#{$i}-desktop {\n order: $i;\n }\n }\n\n // Define partial sizes for all numbers of columns.\n @for $i from 1 through $grid-desktop-columns {\n .mdlext-cell--#{$i}-col,\n .mdlext-cell--#{$i}-col-desktop.mdlext-cell--#{$i}-col-desktop {\n @include partial-size($i, $grid-desktop-columns, $grid-desktop-gutter);\n }\n }\n\n // Define valid desktop offsets.\n @for $i from 1 through ($grid-desktop-columns - 1) {\n .mdlext-cell--#{$i}-offset,\n .mdlext-cell--#{$i}-offset-desktop.mdlext-cell--#{$i}-offset-desktop {\n @include offset-size($i, $grid-desktop-columns, $grid-desktop-gutter);\n }\n }\n}\n\n\n\n\n// WEBPACK FOOTER //\n// webpack:///src/grid/_grid-media-queries.scss","@charset \"UTF-8\";\n\n/**\n * Copyright 2016 Leif Olsen. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*\n * A lightboard is a translucent surface illuminated from behind, used for situations\n * where a shape laid upon the surface needs to be seen with high contrast. In the \"old days\" of photography\n * photograpers used a lightboard to get a quick view of their slides. The goal is to create a responsive lightbox\n * design, based on flex layout, similar to what is used in Adobe LightRoom to browse images.\n */\n\n// Use of this module requires the user to include variables from material-design-lite\n//@import \"../../node_modules/material-design-lite/src/variables\";\n//@import \"../../node_modules/material-design-lite/src/mixins\";\n@import \"../variables\";\n\nul.mdlext-lightboard {\n list-style: none;\n}\n\n.mdlext-lightboard {\n box-sizing: border-box;\n margin: 0 auto;\n padding: 0;\n display: flex;\n flex-flow:row wrap;\n align-items: stretch;\n\n *,\n *::before,\n *::after,\n input[type=\"search\"] {\n box-sizing: border-box;\n }\n\n .mdlext-lightboard__slide {\n background-color: $mdlext-lightboard-slide-background-color;\n border: 1px solid $mdlext-lightboard-slide-border-color;\n border-radius: $mdlext-lightboard-slide-border-radius;\n box-shadow: $mdlext-lightboard-slide-box-shadow;\n position: relative;\n display: block;\n max-width: $mdlext-lightboard-slide-max-size;\n\n &::before {\n // 1:1 ratio\n // TODO: Use a class for ratio so the grid can display slides with different ratios (16:9, 16:10, 4:3 ...)\n content: '';\n display: block;\n padding-top: 100%;\n }\n &:hover,\n &:active,\n &:focus {\n border-color: $mdlext-lightboard-slide-border-color-hover;\n background-color: $mdlext-lightboard-slide-background-color-hover;\n box-shadow: $mdlext-lightboard-slide-box-shadow-hover;\n\n figcaption {\n color: rgba(0, 0, 0, 1) !important;\n background-color: rgba(255, 255, 255, 0.2);\n }\n }\n &:focus {\n outline-offset: -2px;\n outline-color: $mdlext-lightboard-focus-outline-color;\n }\n &[aria-selected='true'] {\n background-color: $mdlext-lightboard-slide-active-bacground-color;\n\n figcaption {\n color: rgba(0, 0, 0, 1) !important;\n background-color: rgba(255, 255, 255, 0.2);\n }\n }\n &__frame,\n &__ripple-container {\n text-decoration: none;\n display: block;\n overflow: hidden;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n\n &:focus {\n outline-offset: -2px;\n outline-color: $mdlext-lightboard-focus-outline-color;\n }\n & .mdl-ripple {\n background: $mdlext-lightboard-ripple-color;\n }\n figure {\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n\n img {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n margin: auto;\n max-width: 100%;\n max-height: 100%;\n border-width: 0;\n border-radius: $mdlext-lightboard-slide-inner-border-radius;\n }\n figcaption {\n @include typo-caption($colorContrast: false, $usePreferred: true);\n\n color: $mdlext-lightboard-figcaption-text-color;\n position: absolute;\n bottom: -2px;\n white-space: nowrap;\n overflow: hidden;\n max-width: 100%;\n width: 100%;\n text-align: center;\n text-overflow: ellipsis;\n padding: 4px 0;\n }\n }\n &:hover {\n figcaption {\n // As far as I can see there is no way to darken/lighten a text color\n // defined by MDL, due to the \"unqote\" functions.\n // So this is a hack\n color: rgba(0, 0, 0, 1) !important;\n background-color: rgba(255, 255, 255, 0.2);\n }\n }\n }\n }\n}\n\n////// Media / Element queries default, Small //////\n.mdlext-lightboard {\n padding: calc((#{$mdlext-lightboard-small-margin} - #{$mdlext-lightboard-small-gutter}) / 2);\n\n .mdlext-lightboard__slide {\n margin: calc(#{$mdlext-lightboard-small-gutter} / 2);\n width: calc(1 / #{$mdlext-lightboard-small-columns} * 100% - #{$mdlext-lightboard-small-gutter});\n\n .mdlext-lightboard__slide__frame figure {\n margin: $mdlext-lightboard-small-frame-width;\n }\n }\n &.mdlext-lightboard--no-spacing {\n padding: 0;\n\n .mdlext-lightboard__slide {\n margin: 0;\n width: calc(1 / #{$mdlext-lightboard-small-columns} * 100%);\n }\n }\n}\n\n// Import one of _lightboard-media-queries.scss or _lightboard-eq-js.scss to complete SASS\n\n\n\n// WEBPACK FOOTER //\n// webpack:///src/lightboard/_lightboard.scss","@charset \"UTF-8\";\n\n//////////////////////////////\n//\n// Lightboard media queries\n//\n//////////////////////////////\n@import \"../variables\";\n\n////////// Small /////////////\n//@media (max-width: $mdlext-lightboard-medium-small-breakpoint - 1) {\n// // This is the default, see: _lightboard.scss\n//}\n\n////////// Medium small //////////\n/* stylelint-disable */\n@media (min-width: $mdlext-lightboard-medium-small-breakpoint) and (max-width: $mdlext-lightboard-medium-breakpoint - 1) { /* stylelint-enable */\n .mdlext-lightboard {\n padding: calc((#{$mdlext-lightboard-medium-small-margin} - #{$mdlext-lightboard-medium-small-gutter}) / 2);\n\n .mdlext-lightboard__slide {\n margin: calc(#{$mdlext-lightboard-medium-small-gutter} / 2);\n width: calc(1 / #{$mdlext-lightboard-medium-small-columns} * 100% - #{$mdlext-lightboard-medium-small-gutter});\n\n .mdlext-lightboard__slide__frame figure {\n margin: $mdlext-lightboard-medium-small-frame-width;\n }\n }\n &.mdlext-lightboard--no-spacing {\n padding: 0;\n\n .mdlext-lightboard__slide {\n margin: 0;\n width: calc(1 / #{$mdlext-lightboard-medium-small-columns} * 100%);\n }\n }\n }\n}\n\n////////// Medium //////////\n/* stylelint-disable */\n@media (min-width: $mdlext-lightboard-medium-breakpoint) and (max-width: $mdlext-lightboard-medium-large-breakpoint - 1) { /* stylelint-enable */\n .mdlext-lightboard {\n padding: calc((#{$mdlext-lightboard-medium-margin} - #{$mdlext-lightboard-medium-gutter}) / 2);\n\n .mdlext-lightboard__slide {\n margin: calc(#{$mdlext-lightboard-medium-gutter} / 2);\n width: calc(1 / #{$mdlext-lightboard-medium-columns} * 100% - #{$mdlext-lightboard-medium-gutter});\n\n .mdlext-lightboard__slide__frame figure {\n margin: $mdlext-lightboard-medium-frame-width;\n }\n }\n &.mdlext-lightboard--no-spacing {\n padding: 0;\n\n .mdlext-lightboard__slide {\n margin: 0;\n width: calc(1 / #{$mdlext-lightboard-medium-columns} * 100%);\n }\n }\n }\n}\n\n////////// Medium large //////////\n/* stylelint-disable */\n@media (min-width: $mdlext-lightboard-medium-large-breakpoint) and (max-width: $mdlext-lightboard-large-breakpoint - 1) { /* stylelint-enable */\n .mdlext-lightboard {\n padding: calc((#{$mdlext-lightboard-medium-large-margin} - #{$mdlext-lightboard-medium-large-gutter}) / 2);\n\n .mdlext-lightboard__slide {\n margin: calc(#{$mdlext-lightboard-medium-large-gutter} / 2);\n width: calc(1 / #{$mdlext-lightboard-medium-large-columns} * 100% - #{$mdlext-lightboard-medium-large-gutter});\n\n .mdlext-lightboard__slide__frame figure {\n margin: $mdlext-lightboard-medium-large-frame-width;\n }\n }\n &.mdlext-lightboard--no-spacing {\n padding: 0;\n\n .mdlext-lightboard__slide {\n margin: 0;\n width: calc(1 / #{$mdlext-lightboard-medium-large-columns} * 100%);\n }\n }\n }\n}\n\n////////// Large //////////\n@media (min-width: $mdlext-lightboard-large-breakpoint) {\n .mdlext-lightboard {\n padding: calc((#{$mdlext-lightboard-large-margin} - #{$mdlext-lightboard-large-gutter}) / 2);\n\n .mdlext-lightboard__slide {\n margin: calc(#{$mdlext-lightboard-large-gutter} / 2);\n width: calc(1 / #{$mdlext-lightboard-large-columns} * 100% - #{$mdlext-lightboard-large-gutter});\n\n .mdlext-lightboard__slide__frame figure {\n margin: $mdlext-lightboard-large-frame-width;\n }\n }\n &.mdlext-lightboard--no-spacing {\n padding: 0;\n\n .mdlext-lightboard__slide {\n margin: 0;\n width: calc(1 / #{$mdlext-lightboard-large-columns} * 100%);\n }\n }\n }\n}\n\n\n\n\n// WEBPACK FOOTER //\n// webpack:///src/lightboard/_lightboard-media-queries.scss","@charset \"UTF-8\";\n\n/**\n * Copyright 2016 Leif Olsen. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n// Use of this module requires the user to include variables from material-design-lite\n//@import \"../../node_modules/material-design-lite/src/variables\";\n//@import \"../../node_modules/material-design-lite/src/mixins\";\n@import \"../variables\";\n\n.mdlext-lightbox {\n user-select: none;\n cursor: default;\n position: relative;\n width: auto;\n max-width: 100%;\n margin: 0 auto;\n border: $mdlext-lightbox-border;\n border-radius: $mdlext-lightbox-border-radius;\n background-color: $mdlext-lightbox-background-color;\n box-sizing: border-box;\n outline: 0;\n display: block; // display: flex and IE11 has issues with reposition. Set display:block for now.\n\n *,\n *::before,\n *::after,\n input[type=\"search\"] {\n box-sizing: border-box;\n }\n\n .mdlext-lightbox__slider {\n // Displays prevvious, current and next image while dragging\n // Elements are created by lightbox component when dragging starts\n position: absolute;\n top: 0;\n left: 0;\n display: flex;\n justify-content: center;\n\n .mdlext-lightbox__slider__slide {\n flex-shrink: 0;\n display: block;\n text-align: left;\n color: #7f7f7f;\n background-size: cover;\n background-position: center;\n background-repeat: no-repeat;\n\n //&:nth-child(1),\n //&:nth-child(3) {\n // filter: blur(1px);\n //}\n }\n }\n\n figure {\n margin: $mdlext-lightbox-figure-margin;\n padding: $mdlext-lightbox-figure-padding;\n position: relative;\n\n img {\n width: 100%;\n max-width: 100%;\n height: auto;\n border: 0;\n outline: 0;\n }\n figcaption {\n @include typo-caption($colorContrast: false, $usePreferred: true);\n\n display: block;\n position: absolute;\n bottom: 0;\n left: 0;\n right: 0;\n max-width: 100%;\n height: auto;\n max-height: 50%;\n overflow: auto;\n padding: 8px;\n background-color: $mdlext-lightbox-figcaption-background-color;\n transform-origin: bottom;\n transform: scaleY(0);\n transition: 0.2s ease-in-out;\n\n &.mdlext-lightbox__show-figcaption {\n transform: scaleY(1);\n }\n tbody {\n th {\n text-align: left;\n }\n th,\n td {\n vertical-align: text-top;\n }\n }\n }\n }\n .mdl-card__menu {\n color: #ffffff;\n z-index: 1;\n }\n footer {\n display: flex;\n justify-content: space-between;\n align-items: center;\n background-color: $mdlext-lightbox-footer-background-color;\n\n .mdl-card__supporting-text {\n flex: 1;\n overflow: hidden;\n padding: 0;\n height: $card-supporting-text-line-height;\n width: 100%;\n }\n nav {\n display: flex;\n }\n }\n\n &.mdlext-lightbox--sticky-footer footer {\n position: fixed;\n bottom: 0;\n left: 0;\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// webpack:///src/lightbox/_lightbox.scss","@charset \"UTF-8\";\n\n/**\n * Copyright 2016 Leif Olsen. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*\n * A carousel ...\n */\n\n// Use of this module requires the user to include variables from material-design-lite\n//@import \"../../node_modules/material-design-lite/src/variables\";\n//@import \"../../node_modules/material-design-lite/src/mixins\";\n\nul.mdlext-carousel {\n list-style: none;\n}\n\n.mdlext-carousel {\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n overflow: hidden;\n height: 100%; // Use a container to constrain height and width\n width: 100%;\n display: block;\n white-space: nowrap;\n font-size: 0;\n background-color: transparent;\n}\n\n.mdlext-carousel__slide {\n box-sizing: border-box;\n display: inline-block;\n position: relative;\n outline: 0;\n margin: 0 $mdlext-carousel-slide-margin-horizontal;\n padding:0;\n height: 100%;\n border-top: $mdlext-carousel-slide-border-top-width solid transparent; // Makes room for the animated select/focus line\n\n //&:focus,\n &[aria-selected],\n &[aria-selected='true'] {\n figcaption {\n // As far as I can see there is no way to darken/lighten a text color\n // defined by MDL, due to the \"unqote\" functions.\n // So this is a hack\n color: rgba(0, 0, 0, 1) !important;\n background-color: rgba(255, 255, 255, 0.25);\n }\n }\n\n &[aria-selected]::after,\n &[aria-selected='true']::after {\n height: $mdlext-carousel-slide-border-top-width;\n width: 100%;\n display: block;\n content: ' ';\n top: (-$mdlext-carousel-slide-border-top-width);\n left: 0;\n position: absolute;\n background: $mdlext-carousel-slide-border-top-color;\n animation: border-expand 0.2s cubic-bezier(0.4, 0.0, 0.4, 1) 0.01s alternate forwards;\n transition: all 1s cubic-bezier(0.4, 0.0, 1, 1);\n }\n\n\n a {\n text-decoration: none;\n }\n\n figure {\n box-sizing: border-box;\n position: relative;\n height: 100%;\n margin: 0;\n padding: 0;\n\n img {\n box-sizing: border-box;\n max-height: 100%;\n }\n\n figcaption {\n box-sizing: border-box;\n @include typo-caption($colorContrast: false, $usePreferred: true);\n\n color: $mdlext-carousel-slide-figcaption-color;\n position: absolute;\n bottom: 0;\n left: 0;\n white-space: nowrap;\n overflow: hidden;\n max-width: 100%;\n width: 100%;\n text-align: center;\n text-overflow: ellipsis;\n padding: 4px 0;\n }\n &:hover {\n figcaption {\n // As far as I can see there is no way to darken/lighten a text color\n // defined by MDL, due to the \"unqote\" functions.\n // So this is a hack\n color: rgba(0, 0, 0, 1) !important;\n background-color: rgba(255, 255, 255, 0.25);\n }\n }\n }\n\n .mdlext-carousel__slide__ripple-container {\n text-decoration: none;\n display: block;\n overflow: hidden;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n outline: 0;\n\n & .mdl-ripple {\n background: $mdlext-carousel-slide-ripple-color;\n }\n }\n}\n\n\n\n\n\n// WEBPACK FOOTER //\n// webpack:///src/carousel/_carousel.scss","/**\n * Copyright 2016 Leif Olsen. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*\n * Copied/Modified/Inspired from/by:\n * https://github.com/google/material-design-lite/tree/master/src/textfield\n * http://red-team-design.com/making-html-dropdowns-not-suck/\n * http://codepen.io/etcpe9/pen/PqyOye,\n * http://codepen.io/pudgereyem/pen/PqBxQx\n * https://github.com/MEYVN-digital/mdl-selectfield\n * https://github.com/mebibou/mdl-selectfield\n */\n\n// Use of this module requires the user to include variables from material-design-lite\n//@import \"../../node_modules/material-design-lite/src/variables\";\n//@import \"../../node_modules/material-design-lite/src/mixins\";\n\n@import \"../mixins\";\n\n// The container for the selectfield.\n.mdlext-selectfield {\n box-sizing: border-box;\n position: relative;\n font-size: $input-text-font-size;\n display: inline-block;\n width: 300px;\n max-width: 100%;\n margin: 0;\n padding: $input-text-vertical-spacing 0;\n\n // Align buttons, if used.\n & .mdl-button {\n bottom: $input-text-vertical-spacing;\n position: absolute;\n }\n\n // Styling the down arrow\n &::after {\n @include mdlext-arrow(bottom, $mdlext-selectfield-arrow-width, $mdlext-selectfield-arrow-length);\n\n position: absolute;\n right: 0.5em;\n top: 50%;\n transform: translateY(-50%);\n pointer-events: none;\n }\n}\n\n.mdlext-selectfield.is-disabled {\n &::after {\n color: $input-text-disabled-color;\n @include mdlext-arrow(bottom, $mdlext-selectfield-arrow-width, $mdlext-selectfield-arrow-length, $input-text-disabled-color);\n }\n}\n\n// Optional class to align right.\n.mdlext-selectfield--align-right {\n text-align: right;\n}\n\n// Optional class to display at full width.\n.mdlext-selectfield--full-width {\n width: 100%;\n}\n\n// Optional class to make the select field expandable.\n.mdlext-selectfield--expandable {\n min-height: $input-text-button-size;\n min-width: $input-text-button-size;\n width: auto;\n}\n\n// Styling for the select element.\n.mdlext-selectfield__select {\n\n // Reset select\n box-sizing: border-box;\n border: 0;\n border-radius: 0;\n -webkit-appearance: none;\n -moz-appearance: none;\n -ms-appearance: none;\n appearance: none;\n text-indent: 0.01px; // Removes default arrow from firefox\n text-overflow: ''; // Removes default arrow from firefox\n outline: none;\n box-shadow: none;\n // End Reset select\n\n font-size: $input-text-font-size;\n font-family: $performance_font;\n padding: $input-text-padding calc(1.2em + #{$input-text-padding}) $input-text-padding 0;\n width: $input-text-width;\n border-bottom: 1px solid $input-text-bottom-border-color;\n display: block;\n margin: 0;\n background: none;\n text-align: left;\n color: inherit;\n\n // Mozilla, remove focusring\n &:-moz-focusring {\n color: transparent;\n text-shadow: 0 0 0 #000000;\n }\n\n // MS, remove selected option background color\n &:focus::-ms-value {\n background-color: inherit;\n color: inherit;\n }\n\n &::-ms-expand {\n display: none;\n }\n\n .mdlext-selectfield.is-focused & {\n outline: none;\n }\n\n .mdlext-selectfield.is-invalid & {\n border-color: $input-text-error-color;\n box-shadow: none;\n }\n\n fieldset[disabled] .mdlext-selectfield &,\n .mdlext-selectfield.is-disabled & {\n border-bottom: 1px dotted $input-text-disabled-color;\n color: $input-text-disabled-text-color;\n background-color: transparent;\n }\n\n option {\n color: $text-color-primary;\n box-sizing: border-box;\n background-color: inherit;\n }\n}\n\n// Styling for the label / floating label.\n.mdlext-selectfield__label {\n box-sizing: border-box;\n color: $input-text-label-color;\n font-size: $input-text-font-size;\n top: ($input-text-padding + $input-text-vertical-spacing);\n bottom: 0;\n left: 0;\n right: 0;\n pointer-events: none;\n position: absolute;\n display: block;\n width: 100%;\n overflow: hidden;\n white-space: nowrap;\n text-align: left;\n\n .mdlext-selectfield.is-dirty &,\n .mdlext-selectfield.has-placeholder & {\n visibility: hidden;\n }\n\n // Floating Label\n .mdlext-selectfield--floating-label & {\n @include material-animation-default();\n }\n\n .mdlext-selectfield--floating-label.has-placeholder & {\n transition: none;\n }\n\n fieldset[disabled] .mdlext-selectfield &,\n .mdlext-selectfield.is-disabled.is-disabled & {\n color: $input-text-disabled-text-color;\n }\n\n .mdlext-selectfield--floating-label.is-focused &,\n .mdlext-selectfield--floating-label.is-dirty.is-dirty &,\n .mdlext-selectfield--floating-label.has-placeholder & {\n color: $input-text-highlight-color;\n font-size: $input-text-floating-label-fontsize;\n top: $input-text-vertical-spacing - ($input-text-floating-label-fontsize + $input-text-padding);\n visibility: visible;\n }\n\n .mdlext-selectfield--floating-label.is-focused .mdlext-selectfield__expandable-holder &,\n .mdlext-selectfield--floating-label.is-dirty .mdlext-selectfield__expandable-holder &,\n .mdlext-selectfield--floating-label.has-placeholder .mdlext-selectfield__expandable-holder & {\n top: -($input-text-floating-label-fontsize + $input-text-padding);\n }\n\n .mdlext-selectfield--floating-label.is-invalid & {\n color: $input-text-error-color;\n font-size: $input-text-floating-label-fontsize;\n }\n\n // The after label is the colored underline for the Selectfield.\n &::after {\n background-color: $input-text-highlight-color;\n bottom: $input-text-vertical-spacing;\n content: '';\n height: 2px;\n left: 45%;\n position: absolute;\n @include material-animation-default();\n\n visibility: hidden;\n width: 10px;\n }\n\n .mdlext-selectfield.is-focused &::after {\n left: 0;\n visibility: visible;\n width: 100%;\n }\n\n .mdlext-selectfield.is-invalid &::after {\n background-color: $input-text-error-color;\n }\n}\n\n// SelectField Error.\n.mdlext-selectfield__error {\n color: $input-text-error-color;\n font-size: $input-text-floating-label-fontsize;\n position: absolute;\n margin-top: 3px;\n visibility: hidden;\n display: block;\n\n .mdlext-selectfield.is-invalid & {\n visibility: visible;\n }\n}\n\n// Expandable Holder.\n.mdlext-selectfield__expandable-holder {\n display: inline-block;\n position: relative;\n margin-left: $input-text-button-size;\n\n @include material-animation-default();\n\n // Safari (possibly others) need to be convinced that this field is actually\n // visible, otherwise it cannot be tabbed to nor focused via a .\n // TODO: In some cases (Retina displays), this is big enough to render the\n // inner element :(\n max-width: 0.1px;\n\n .mdlext-selectfield.is-focused &,\n .mdlext-selectfield.is-dirty & {\n // This is an unfortunate hack. Animating between widths in percent (%)\n // in many browsers (Chrome, Firefox) only animates the inner visual style\n // of the input - the outer bounding box still 'jumps'.\n // Thus assume a sensible maximum, and animate to/from that value.\n max-width: 600px;\n }\n .mdlext-selectfield__label::after {\n bottom: 0;\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// webpack:///src/selectfield/_selectfield.scss","@charset \"UTF-8\";\n\n/**\n * @license\n * Copyright 2016 Leif Olsen. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * This code is built with Google Material Design Lite,\n * which is Licensed under the Apache License, Version 2.0\n */\n\n/* Moved to aria-expanded-toggle.scss\n\n.mdlext-aria-expanded-plus-minus {\n @include mdlext-aria-expanded-toggle($font-family: inherit);\n}\n\n.mdlext-aria-expanded-more-less {\n @include mdlext-aria-expanded-toggle($icon: 'expand_more', $icon-expanded: 'expand_less');\n}\n*/\n\n.mdlext-menu-button {\n box-sizing: border-box;\n @include typo-menu();\n text-transform: none;\n position: relative;\n height: $button-height;\n padding: 0 $button-padding;\n display: flex;\n align-items: center;\n align-self: stretch;\n\n > * {\n margin: 0;\n padding: 0 0 0 8px;\n }\n\n > *:first-child {\n padding-left: 0;\n }\n\n > *:last-child:not(:only-child):not(.mdlext-menu__item__caption) {\n margin-left: auto; // If more than one element, push last element to the right\n }\n\n}\n\n.mdlext-menu-button__caption {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n line-height: 1.2;\n}\n\n.mdlext-menu,\n.mdlext-menu__item {\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n list-style: none;\n display: flex;\n}\n\n.mdlext-menu {\n position: absolute; //fixed;\n background: $default-dropdown-bg-color;\n z-index: 1000;\n min-width: 124px;\n border-radius: 2px;\n @include shadow-3dp();\n display: inline-flex;\n flex-direction: column;\n padding: 0;\n overflow: hidden;\n overflow-y: auto;\n\n &:focus {\n outline-offset: -1px;\n outline-width: 1px;\n }\n\n &[hidden] {\n @include mdlext-visually-hidden;\n pointer-events: none;\n }\n\n &__item {\n @include typo-body-1();\n color: $default-item-text-color;\n background-color: $default-dropdown-bg-color;\n position: relative;\n padding: 0 16px 0 24px;\n align-items: center;\n align-self: stretch;\n text-decoration: none;\n cursor: pointer;\n white-space: nowrap;\n user-select: none;\n min-height: 40px;\n overflow: hidden;\n\n &[aria-selected='true'] {\n background-color: $default-item-active-bg-color;\n }\n\n // checkmark\n &[aria-selected='true']::before {\n content:'\\2713';\n position: absolute;\n font-size: 1.4em;\n left: 4px;\n top: 50%;\n transform: translateY(-50%);\n pointer-events: none;\n }\n\n &:hover:not([disabled]) {\n background-color: $default-item-hover-bg-color;\n }\n\n &:focus {\n outline-offset: -2px;\n outline-width: 1px;\n outline-color: $default-item-outline-color;\n background-color: $default-item-focus-bg-color;\n }\n\n &::-moz-focus-inner {\n border: 0;\n }\n\n &[disabled] {\n color: $disabled-item-text-color;\n background-color: transparent;\n cursor: auto;\n pointer-events: none;\n\n > * {\n color: $disabled-item-text-color;\n }\n }\n\n &__caption {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n > * {\n margin: 0;\n padding: 0 0 0 8px;\n }\n\n > *:first-child {\n padding-left: 0;\n }\n\n > *:last-child:not(:only-child):not(.mdlext-menu__item__caption) {\n margin-left: auto; // If more than one element, push last element to the right\n }\n\n }\n &__item-separator {\n margin: 0;\n padding: 0;\n border-bottom: 1px solid $default-item-divider-color;\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// webpack:///src/menu-button/_menu-button.scss","/**\n * Copyright 2016 Leif Olsen. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*\n * The bordered fields are based on / inspired by this CodePen: http://codepen.io/prajwal078/pen/LVJZXz?editors=010\n */\n\n// Use of this module requires the user to include variables from material-design-lite\n//@import \"../../node_modules/material-design-lite/src/variables\";\n//@import \"../../node_modules/material-design-lite/src/mixins\";\n\n@import \"../variables\";\n@import \"../functions\";\n\n\n// \"Theme\" for this styling\n.mdlext-bordered-fields {\n box-sizing: border-box;\n\n * {\n box-sizing: border-box;\n }\n\n // Styling for textfield and selectfield.\n .mdl-textfield,\n .mdlext-selectfield {\n padding: 0;\n margin: $mdlext-bordered-field-vertical-spacing-top 0 $mdlext-bordered-field-vertical-spacing-bottom 0;\n\n .mdl-textfield__input,\n .mdlext-selectfield__select {\n height: $mdlext-bordered-field-height;\n background-color: $mdlext-bordered-field-background-color;\n border: $mdlext-bordered-field-border-width solid $mdlext-bordered-field-border-color;\n border-radius: $mdlext-bordered-field-border-radius;\n padding: $mdlext-bordered-field-padding-top $mdlext-bordered-field-padding $mdlext-bordered-field-padding-bottom $mdlext-bordered-field-padding;\n font-size: $mdlext-bordered-field-input-text-font-size;\n font-weight: $mdlext-bordered-field-font-weight;\n color: $mdlext-bordered-field-input-text-color;\n\n &:disabled {\n color: $mdlext-bordered-field-input-text-disabled-text-color;\n background-color: $mdlext-bordered-field-disabled-background-color;\n border-color: $mdlext-bordered-field-disabled-border-color;\n }\n\n // MDL can not handle required attribute properly. Planned for MDL-v2\n //&:required {\n // background-color: $mdlext-bordered-field-required-background-color;\n // border-color: $mdlext-bordered-field-required-border-color;\n //}\n\n &:focus {\n background-color: $mdlext-bordered-field-focus-background-color;\n border-color: $mdlext-bordered-field-focus-border-color;\n }\n\n // MDL can not handle required. Planned for MDL-v2\n //&:required:focus {\n // background-color: $mdlext-bordered-field-required-focus-background-color;\n // border-color: $mdlext-bordered-field-required-focus-border-color;\n //}\n }\n .mdlext-selectfield__select {\n padding-right: calc(1em + #{$mdlext-bordered-field-padding}); // space for down arrow\n }\n\n /*\n &.is-dirty {\n .mdl-textfield__input,\n .mdlext-selectfield__select {\n }\n }\n */\n\n &.is-invalid {\n .mdl-textfield__input,\n .mdlext-selectfield__select {\n color: $mdlext-bordered-field-input-text-error-color;\n border-color: $mdlext-bordered-field-error-border-color;\n background-color: $mdlext-bordered-field-error-background-color;\n\n &:focus {\n //&:required:focus {\n border-color: $mdlext-bordered-field-error-focus-border-color;\n background-color: $mdlext-bordered-field-error-focus-background-color;\n }\n }\n }\n }\n\n .mdlext-selectfield::after {\n top: auto;\n bottom: $mdlext-bordered-field-padding-bottom; // Position of down arrow\n }\n\n fieldset[disabled] .mdlext-selectfield::after,\n .mdlext-selectfield.is-disabled::after {\n color: $mdlext-bordered-field-input-text-disabled-text-color;\n @include mdlext-arrow(bottom, $mdlext-selectfield-arrow-width, $mdlext-selectfield-arrow-length, $mdlext-bordered-field-input-text-disabled-text-color);\n }\n\n\n fieldset[disabled] .mdl-textfield .mdl-textfield__input,\n fieldset[disabled] .mdlext-selectfield .mdlext-selectfield__select {\n color: $mdlext-bordered-field-input-text-disabled-text-color;\n background-color: $mdlext-bordered-field-disabled-background-color;\n border-color: $mdlext-bordered-field-disabled-border-color;\n }\n\n\n // Styling for the label / floating label.\n .mdl-textfield,\n .mdlext-selectfield {\n\n &.is-dirty,\n &.has-placeholder {\n .mdl-textfield__label,\n .mdlext-selectfield__label {\n visibility: hidden;\n }\n }\n .mdl-textfield__label,\n .mdlext-selectfield__label {\n color: $mdlext-bordered-field-input-text-label-color;\n font-size: $mdlext-bordered-field-label-font-size;\n font-weight: $mdlext-bordered-field-font-weight;\n padding-left: $mdlext-bordered-field-padding;\n top: auto;\n bottom: $mdlext-bordered-field-padding-bottom;\n\n // Hides the colored underline for the textField/selectfield.\n &::after {\n background-color: transparent !important;\n visibility: hidden !important;\n }\n }\n &.mdl-textfield--floating-label.is-focused.is-focused,\n &.mdl-textfield--floating-label.is-dirty.is-dirty,\n &.mdl-textfield--floating-label.has-placeholder,\n &.mdlext-selectfield--floating-label.is-focused.is-focused,\n &.mdlext-selectfield--floating-label.is-dirty.is-dirty,\n &.mdlext-selectfield--floating-label.has-placeholder {\n\n .mdl-textfield__label,\n .mdlext-selectfield__label {\n color: $mdlext-bordered-field-input-text-label-focus-color;\n font-size: $mdlext-bordered-field-floating-label-font-size;\n font-weight: $mdlext-bordered-field-floating-label-font-weight;\n top: auto;\n bottom: $mdlext-bordered-field-floating-label-focus-bottom;\n visibility: visible;\n }\n }\n &.mdl-textfield--floating-label.is-disabled.is-disabled,\n &.mdlext-selectfield--floating-label.is-disabled.is-disabled {\n\n .mdl-textfield__label,\n .mdlext-selectfield__label {\n color: $mdlext-bordered-field-input-text-label-disabled-color;\n }\n }\n &.mdl-textfield--floating-label.is-invalid.is-invalid,\n &.mdlext-selectfield--floating-label.is-invalid.is-invalid {\n\n .mdl-textfield__label,\n .mdlext-selectfield__label {\n color: $mdlext-bordered-field-input-text-label-error-color;\n }\n }\n }\n\n fieldset[disabled] .mdl-textfield .mdl-textfield__label,\n fieldset[disabled] .mdl-selectfield .mdl-selectfield__label {\n color: $mdlext-bordered-field-input-text-label-disabled-color;\n }\n\n // Icon(s) and/or button(s) inside textfield\n .mdl-textfield,\n .mdlext-selectfield {\n &.mdlext-bordered-fields__icon-left,\n &.mdlext-bordered-fields__icon-right {\n & > i,\n & > .mdl-button {\n position: absolute;\n bottom: $mdlext-bordered-field-padding-bottom - 2px;\n }\n & > i {\n bottom: $mdlext-bordered-field-padding-bottom + 2px;\n }\n }\n &.mdlext-bordered-fields__icon-left {\n & > i:first-child,\n & > .mdl-button:first-child {\n left: $mdlext-bordered-field-padding/2;\n }\n & > i ~ .mdl-textfield__input,\n & > .mdl-button ~ .mdl-textfield__input,\n & > i ~ .mdlext-selectfield__select,\n & > .mdl-button ~ .mdlext-selectfield__select {\n padding-left: $input-text-button-size;\n }\n & > i ~ .mdl-textfield__label,\n & > .mdl-button ~ .mdl-textfield__label {\n left: $input-text-button-size - $mdlext-bordered-field-padding;\n }\n & > i ~ .mdlext-selectfield__label,\n & > .mdl-button ~ .mdlext-selectfield__label {\n left: $input-text-button-size - $mdlext-bordered-field-padding;\n }\n }\n &.mdlext-bordered-fields__icon-right {\n & > .mdl-textfield__input {\n padding-right: $input-text-button-size;\n }\n & > i:last-child,\n & > .mdl-button:last-child {\n left: auto;\n right: $mdlext-bordered-field-padding/2;\n }\n }\n &.is-disabled i,\n &.is-disabled .mdl-button {\n color: $mdlext-bordered-field-disabled-border-color;\n pointer-events: none;\n }\n }\n\n fieldset[disabled] .mdl-textfield,\n fieldset[disabled] .mdlext-selectfield {\n i,\n .mdl-button {\n color: $mdlext-bordered-field-disabled-border-color;\n pointer-events: none;\n }\n }\n}\n\n\n\n\n// WEBPACK FOOTER //\n// webpack:///src/bordered-fields/_bordered-fields.scss","@charset \"UTF-8\";\n\n/**\n * @license\n * Copyright 2016-2017 Leif Olsen. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * This code is built with Google Material Design Lite,\n * which is Licensed under the Apache License, Version 2.0\n */\n\n.mdlext-collapsible {\n box-sizing: border-box;\n cursor: pointer;\n}\n\n.mdlext-collapsible-group,\n.mdlext-collapsible-region {\n box-sizing: border-box;\n\n &[hidden] {\n @include mdlext-visually-hidden;\n pointer-events: none;\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// webpack:///src/collapsible/_collapsible.scss","@charset \"UTF-8\";\n\n/**\n * @license\n * Copyright 2016 Leif Olsen. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * This code is built with Google Material Design Lite,\n * which is Licensed under the Apache License, Version 2.0\n */\n\n.mdlext-aria-toggle-plus-minus {\n @include mdlext-aria-expanded-toggle($font-family: inherit, $font-size: 1.4em);\n}\n\n.mdlext-aria-toggle-material-icons {\n @include mdlext-aria-expanded-toggle($font-size: 1.3em, $icon: 'expand_more', $icon-expanded: 'expand_less', $icon-offset: -$mdlext-accordion-header-padding);\n}\n\n.mdlext-accordion {\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n list-style: none;\n display: flex;\n\n * {\n box-sizing: border-box;\n }\n\n &__panel {\n box-sizing: border-box;\n position: relative;\n overflow: hidden;\n display: flex;\n flex-wrap: nowrap;\n }\n\n &__tab {\n @include typo-title();\n\n font-weight: 400;\n line-height: 1.1;\n box-sizing: border-box;\n position: relative;\n margin: 0;\n padding: 0; // $mdlext-accordion-header-padding;\n min-width: $mdlext-accordion-header-height;\n min-height: $mdlext-accordion-header-height;\n display: flex;\n align-items: center;\n align-self: stretch;\n user-select: none;\n color: $mdlext-accordion-header-secondary-color;\n background-color: $mdlext-accordion-header-background-color;\n cursor: pointer;\n overflow: hidden;\n\n &:focus {\n outline-offset: -2px;\n outline-color: $mdlext-accordion-header-focus-outline-color;\n outline-width: 2px;\n }\n\n &[aria-expanded='true'] {\n background-color: $mdlext-accordion-header-background-open-color;\n }\n\n &[aria-selected='true'] {\n background-color: $mdlext-accordion-header-background-active-color;\n }\n\n &[disabled] {\n background-color: $mdlext-accordion-header-disabled-color;\n color: $mdlext-accordion-header-secondary-color-disabled;\n pointer-events: none;\n\n > * {\n color: $mdlext-accordion-header-secondary-color-disabled;\n }\n }\n\n &:hover:not([disabled]) {\n background-color: $mdlext-accordion-header-background-hover-color;\n }\n\n > * {\n margin: 0;\n padding: 0;\n }\n\n &__caption {\n padding-left: $mdlext-accordion-header-padding;\n padding-right: $mdlext-accordion-header-padding;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n > *:first-child {\n padding-left: 0;\n }\n\n &--ripple {\n &[aria-selected='true']::before {\n content: '';\n position: absolute;\n top: 50%;\n left: 50%;\n background: $mdlext-accordion-ripple-color;\n opacity: 0;\n border-radius: 100%;\n transform: scale(1, 1) translate(-50%);\n transform-origin: 50% 50%;\n }\n &[aria-selected='true']:focus:not(:active)::before {\n // http://easings.net/\n animation: mdlext-accordion-tab-ripple 1s cubic-bezier(0.4, 0.0, 0.4, 1) 0.01s alternate forwards; // cubic-bezier(0.4, 0.0, 1, 1); //cubic-bezier(0.4, 0.0, 0.4, 1) 0.01s alternate forwards; //ease-out;\n }\n }\n }\n\n &__tabpanel {\n box-sizing: border-box;\n margin: 0;\n padding: 0 $mdlext-accordion-content-padding;\n color: $mdlext-accordion-content-color;\n background-color: $mdlext-accordion-content-background-color;\n display: block;\n overflow: auto;\n flex-grow: 1;\n\n &[hidden] {\n @include mdlext-visually-hidden;\n }\n }\n}\n\n// Vertical layout\n.mdlext-accordion {\n\n &--vertical {\n flex-direction: column;\n flex-wrap: nowrap;\n\n .mdlext-accordion__panel {\n min-height: $mdlext-accordion-header-height;\n flex-direction: column;\n }\n\n .mdlext-accordion__tab {\n height: $mdlext-accordion-header-height;\n border-top: 1px solid $mdlext-accordion-header-border-color;\n padding-left: $mdlext-accordion-header-padding;\n padding-right: $mdlext-accordion-header-padding;\n\n &[aria-selected='true']::after {\n position: absolute;\n bottom: 0;\n left: 0;\n height: 1px;\n width: 100%;\n display: block;\n content: \" \";\n background-color: $mdlext-accordion-header-highlight-color;\n animation: border-expand 0.2s cubic-bezier(0.4, 0.0, 0.4, 1) 0.01s alternate forwards;\n transition: all 1s cubic-bezier(0.4, 0.0, 1, 1);\n }\n\n > * {\n padding-left: $mdlext-accordion-header-padding;\n }\n\n > *:first-child {\n padding-left: 0;\n }\n\n > *:last-child:not(:only-child):not(.mdlext-accordion__tab__caption) {\n margin-left: auto; // If more than one element, push last element to the right\n }\n\n &--ripple {\n &[aria-selected='true']::before {\n width: 5%;\n height: 10%;\n }\n }\n\n }\n\n .mdlext-accordion__tabpanel {\n border-top: 1px solid $mdlext-accordion-header-border-color;\n\n &--animation {\n transform: scaleY(1);\n animation: mdlext-accordion-show-tabpanel-y 0.2s ease-in-out;\n\n &[hidden] {\n transform: scaleY(0);\n animation: mdlext-accordion-hide-tabpanel-y 0.2s ease-out;\n animation-delay: 0.1s;\n }\n }\n }\n }\n}\n\n// Horizontal layout\n.mdlext-accordion {\n\n &--horizontal {\n\n .mdlext-accordion__panel {\n min-width: $mdlext-accordion-header-height;\n width: $mdlext-accordion-header-height;\n }\n\n &[aria-multiselectable='true'] .mdlext-accordion__panel.is-expanded {\n width: 100%;\n }\n\n .mdlext-accordion__tab {\n flex-direction: column-reverse;\n width: $mdlext-accordion-header-height;\n white-space: nowrap;\n border-left: 1px solid $mdlext-accordion-header-border-color;\n\n &[aria-selected='true']::after {\n position: absolute;\n top: 0;\n right: 0;\n height: 100%;\n width: 1px;\n display: block;\n content: \" \";\n background-color: $mdlext-accordion-header-highlight-color;\n\n // Figure out how to animate a vertical line\n //animation: border-expand 0.2s cubic-bezier(0.4, 0.0, 0.4, 1) 0.01s alternate forwards;\n //transition: all 1s cubic-bezier(0.4, 0.0, 1, 1);\n }\n\n > * {\n //transform: rotate(-90deg) translateX(50%);\n transform: rotate(-90deg) translateX($mdlext-accordion-header-padding);\n }\n\n > *:last-child:not(:only-child):not(.mdlext-accordion__tab__caption) {\n // If more than one element, push last element to top\n margin-bottom: auto;\n transform: rotate(-90deg) translateX(0);\n }\n\n &__caption {\n transform: rotate(-90deg) translateX(50%);\n padding-right: $mdlext-accordion-header-padding + 8px;\n }\n\n &--ripple {\n &[aria-selected='true']::before {\n width: 10%;\n height: 5%;\n }\n }\n }\n\n .mdlext-accordion__tabpanel {\n border-left: 1px solid $mdlext-accordion-header-border-color;\n\n &--animation {\n transform: scaleX(1);\n animation: mdlext-accordion-show-tabpanel-x 0.2s ease-in-out;\n\n &[hidden] {\n transform: scaleX(0);\n animation: mdlext-accordion-hide-tabpanel-x 0.2s ease-out;\n }\n }\n }\n }\n}\n\n.mdlext-accordion {\n\n &__panel:first-child > &__tab {\n // Use container to set outer borders\n border-top-color: transparent;\n border-left-color: transparent;\n }\n\n &[aria-multiselectable=\"false\"] {\n .mdlext-accordion__panel.is-expanded {\n flex-grow: 1;\n }\n }\n}\n\n// Making accordion appear disabled.\n// Note: does not prevent tabbing into a disabled accordion\n.mdlext-accordion[disabled] {\n * {\n pointer-events: none;\n }\n .mdlext-accordion__tab {\n background-color: $mdlext-accordion-header-disabled-color;\n color: $mdlext-accordion-header-secondary-color-disabled;\n\n > * {\n color: $mdlext-accordion-header-secondary-color-disabled;\n }\n }\n .mdlext-accordion__tabpanel {\n opacity: 0.8;\n filter: blur(1px) grayscale(80%);\n }\n}\n\n\n@keyframes mdlext-accordion-tab-ripple {\n 0% {\n transform: scale(0, 0);\n opacity: 1;\n }\n 20% {\n transform: scale(25, 25);\n opacity: 1;\n }\n 100% {\n opacity: 0;\n transform: scale(40, 40);\n }\n}\n\n/*\n@keyframes mdlext-accordion-show-tabpanel-y {\n 0% { transform: scaleY(0.1); }\n 40% { transform: scaleY(1.03); }\n 60% { transform: scaleY(0.98); }\n 80% { transform: scaleY(1.03); }\n 100% { transform: scaleY(0.98); }\n 80% { transform: scaleY(1.01); }\n 100% { transform: scaleY(1); }\n}\n*/\n\n@keyframes mdlext-accordion-show-tabpanel-y {\n 0% { transform: scaleY(0); }\n 60% { transform: scaleY(1.01); }\n 80% { transform: scaleY(0.98); }\n 100% { transform: scaleY(1); }\n}\n\n@keyframes mdlext-accordion-hide-tabpanel-y {\n 0% { transform: scaleY(1); }\n 60% { transform: scaleY(0.98); }\n 80% { transform: scaleY(1.01); }\n 100% { transform: scaleY(0); }\n}\n\n/*\n@keyframes mdlext-accordion-show-tabpanel-x {\n 0% { transform: scaleX(0.1); }\n 40% { transform: scaleX(1.03); }\n 60% { transform: scaleX(0.98); }\n 80% { transform: scaleX(1.03); }\n 100% { transform: scaleX(0.98); }\n 80% { transform: scaleX(1.01); }\n 100% { transform: scaleX(1); }\n}\n*/\n\n@keyframes mdlext-accordion-show-tabpanel-x {\n 0% { transform: scaleX(0); }\n 60% { transform: scaleX(1.01); }\n 80% { transform: scaleX(0.98); }\n 100% { transform: scaleX(1); }\n}\n\n@keyframes mdlext-accordion-hide-tabpanel-x {\n 0% { transform: scaleX(1); }\n 60% { transform: scaleX(0.98); }\n 80% { transform: scaleX(1.01); }\n 100% { transform: scaleX(0); }\n}\n\n\n\n// WEBPACK FOOTER //\n// webpack:///src/accordion/_accordion.scss","/* -------------------------------------------------------------\n Palette samples. Not part of build\n----------------------------------------------------------------\n\n$mdlext-light-color-primary: #9E9E9E !default;\n$mdlext-light-color-primary-dark: #616161 !default;\n$mdlext-light-color-primary-light: #9E9E9E !default; // Fallback color. Set to color-primary if fallback is not needed\n$mdlext-light-color-primary-contrast: #212121 !default; // text color on primary/primary dark background\n$mdlext-light-color-accent: #E040FB !default;\n$mdlext-light-color-accent-light: #E040FB !default; // Fallback color. Set to color-accent if fallback is not needed\n$mdlext-light-color-accent-contrast: #FAFAFA !default;\n\n$mdlext-light-color-primary: #F5F5F5 !default;\n$mdlext-light-color-primary-dark: #E0E0E0 !default;\n$mdlext-light-color-primary-light: #8BC34A !default; // Fallback color. Set to color-primary if fallback is not needed\n$mdlext-light-color-primary-contrast: #000000 !default; // text color on primary/primary dark background\n$mdlext-light-color-accent: #FFC107 !default;\n$mdlext-light-color-accent-light: #FFC107 !default; // Fallback color. Set to color-accent if fallback is not needed\n$mdlext-light-color-accent-contrast: #FFFFFF !default;\n\n\n$mdlext-light-color-primary: #673AB7 !default;\n$mdlext-light-color-primary-dark: #512DA8 !default;\n$mdlext-light-color-primary-light: #673AB7 !default; // Fallback color. Set to color-primary if fallback is not needed\n$mdlext-light-color-primary-contrast: #D1C4E9 !default; // text color on primary/primary dark background\n$mdlext-light-color-accent: #4CAF50 !default;\n$mdlext-light-color-accent-light: #4CAF50 !default; // Fallback color. Set to color-accent if fallback is not needed\n$mdlext-light-color-accent-contrast: #FFFFFF !default;\n\n\n$mdlext-light-color-primary: #4CAF50 !default;\n$mdlext-light-color-primary-dark: #388E3C !default;\n$mdlext-light-color-primary-light: #4CAF50 !default; // Fallback color. Set to color-primary if fallback is not needed\n$mdlext-light-color-primary-contrast: #C8E6C9 !default; // text color on primary/primary dark background\n$mdlext-light-color-accent: #FF5252 !default;\n$mdlext-light-color-accent-light: #FF5252 !default; // Fallback color. Set to color-accent if fallback is not needed\n$mdlext-light-color-accent-contrast: #FFFFFF !default;\n\n\n$mdlext-light-color-primary: #4CAF50 !default;\n$mdlext-light-color-primary-dark: #388E3C !default;\n$mdlext-light-color-primary-light: #4CAF50 !default; // Fallback color. Set to color-primary if fallback is not needed\n$mdlext-light-color-primary-contrast: #C8E6C9 !default; // text color on primary/primary dark background\n$mdlext-light-color-accent: #03A9F4 !default;\n$mdlext-light-color-accent-light: #03A9F4 !default; // Fallback color. Set to color-accent if fallback is not needed\n$mdlext-light-color-accent-contrast: #FFFFFF !default;\n\n\n$mdlext-dark-color-primary: #212121 !default;\n$mdlext-dark-color-primary-dark: #000000 !default;\n$mdlext-dark-color-primary-light: #607D8B !default; // Fallback color. Set to color-primary if fallback is not needed\n$mdlext-dark-color-primary-contrast: #FFFFFF !default; // text color on primary/primary dark background\n$mdlext-dark-color-accent: #FF5722 !default;\n$mdlext-dark-color-accent-light: #FF5722 !default; // Fallback color. Set to color-accent if fallback is not needed\n$mdlext-dark-color-accent-contrast: #FFFFFF !default;\n\n*/\n\n\n\n// WEBPACK FOOTER //\n// webpack:///src/color-themes/_color-themes.scss","@import \"color-themes\";\n\n.mdlext-light-color-theme {\n background-color: $mdlext-light-content-background-color;\n color: $mdlext-light-text-color-primary;\n\n a {\n outline-color: inherit;\n }\n}\n\n// mdl/src/palette/_palette.scss\n// -----------------------------\n.mdlext-light-color-theme {\n\n .mdl-color--primary {\n background-color: $mdlext-light-color-primary !important;\n }\n\n .mdl-color--primary-contrast {\n background-color: $mdlext-light-color-primary-contrast !important;\n }\n\n .mdl-color--primary-dark {\n background-color: $mdlext-light-color-primary-dark !important;\n }\n\n .mdl-color--accent {\n background-color: $mdlext-light-color-accent !important;\n }\n\n .mdl-color--accent-contrast {\n background-color: $mdlext-light-color-accent-contrast !important;\n }\n\n .mdl-color-text--primary {\n color: $mdlext-light-color-primary !important;\n }\n\n .mdl-color-text--primary-contrast {\n color: $mdlext-light-color-primary-contrast !important;\n }\n\n .mdl-color-text--primary-dark {\n color: $mdlext-light-color-primary-dark !important;\n }\n\n .mdl-color-text--accent {\n color: $mdlext-light-color-accent !important;\n }\n\n .mdl-color-text--accent-contrast {\n color: $mdlext-light-color-accent-contrast !important;\n }\n\n}\n\n// mdl/src/typography/_typography.scss\n// -----------------------------------\n.mdlext-light-color-theme {\n a {\n color: $mdlext-light-text-link-color;\n }\n}\n\n\n// mdl/src/badge/_badge.scss\n// ---------------------------\n.mdlext-light-color-theme {\n .mdl-badge {\n\n &[data-badge]::after {\n background: $mdlext-light-badge-background;\n color: $mdlext-light-badge-color;\n }\n\n &.mdl-badge--no-background {\n &[data-badge]::after {\n color: $mdlext-light-badge-color-inverse;\n background: $mdlext-light-badge-background-inverse;\n }\n }\n }\n}\n\n\n// mdl/src/button/_button.scss\n// ---------------------------\n.mdlext-light-color-theme {\n\n .mdl-button {\n background: transparent;\n color: $mdlext-light-button-secondary-color;\n\n &:hover {\n background-color: $mdlext-light-button-hover-color;\n }\n\n &:focus:not(:active) {\n background-color: $mdlext-light-button-focus-color;\n }\n\n &:active {\n background-color: $mdlext-light-button-active-color;\n }\n\n &.mdl-button--colored {\n color: $mdlext-light-button-primary-color-alt;\n\n &:focus:not(:active) {\n background-color: $mdlext-light-button-focus-color-alt;\n }\n }\n }\n\n // Raised buttons\n .mdl-button--raised {\n background: $mdlext-light-button-primary-color;\n\n &:active {\n background-color: $mdlext-light-button-active-color;\n }\n\n &:focus:not(:active) {\n background-color: $mdlext-light-button-active-color;\n }\n\n &.mdl-button--colored {\n background: $mdlext-light-button-primary-color-alt;\n color: $mdlext-light-button-secondary-color-alt;\n\n &:hover {\n background-color: $mdlext-light-button-hover-color-alt;\n }\n\n &:active {\n background-color: $mdlext-light-button-active-color-alt;\n }\n\n &:focus:not(:active) {\n background-color: $mdlext-light-button-active-color-alt;\n }\n\n & .mdl-ripple {\n background: $mdlext-light-button-ripple-color-alt;\n }\n }\n }\n\n\n // FABs\n .mdl-button--fab {\n background: $mdlext-light-button-primary-color;\n\n &:active {\n background-color: $mdlext-light-button-active-color;\n }\n\n &:focus:not(:active) {\n background-color: $mdlext-light-button-active-color;\n }\n\n &.mdl-button--colored {\n background: $mdlext-light-button-fab-color-alt;\n color: $mdlext-light-button-fab-text-color-alt;\n\n &:hover {\n background-color: $mdlext-light-button-fab-hover-color-alt;\n }\n\n &:focus:not(:active) {\n background-color: $mdlext-light-button-fab-active-color-alt;\n }\n\n &:active {\n background-color: $mdlext-light-button-fab-active-color-alt;\n }\n\n & .mdl-ripple {\n background: $mdlext-light-button-fab-ripple-color-alt;\n }\n }\n }\n\n\n // Icon buttons\n .mdl-button--icon {\n color: inherit;\n }\n\n // Colorized buttons\n\n .mdl-button--primary.mdl-button--primary {\n color: $mdlext-light-button-primary-color-alt;\n\n & .mdl-ripple {\n background: $mdlext-light-button-secondary-color-alt;\n }\n &.mdl-button--raised,\n &.mdl-button--fab {\n color: $mdlext-light-button-secondary-color-alt;\n background-color: $mdlext-light-button-primary-color-alt;\n }\n }\n\n .mdl-button--accent.mdl-button--accent {\n color: $mdlext-light-button-fab-color-alt;\n\n & .mdl-ripple {\n background: $mdlext-light-button-fab-text-color-alt;\n }\n &.mdl-button--raised,\n &.mdl-button--fab {\n color: $mdlext-light-button-fab-text-color-alt;\n background-color: $mdlext-light-button-fab-color-alt;\n }\n }\n\n // Disabled buttons\n\n .mdl-button {\n // Bump up specificity by using [disabled] twice.\n &[disabled][disabled],\n &.mdl-button--disabled.mdl-button--disabled {\n color: $mdlext-light-button-secondary-color-disabled;\n background-color: transparent;\n }\n\n &--fab {\n // Bump up specificity by using [disabled] twice.\n &[disabled][disabled],\n &.mdl-button--disabled.mdl-button--disabled {\n background-color: $mdlext-light-button-primary-color-disabled;\n color: $mdlext-light-button-secondary-color-disabled;\n }\n }\n\n &--raised {\n // Bump up specificity by using [disabled] twice.\n &[disabled][disabled],\n &.mdl-button--disabled.mdl-button--disabled {\n background-color: $mdlext-light-button-primary-color-disabled;\n color: $mdlext-light-button-secondary-color-disabled;\n }\n }\n &--colored {\n // Bump up specificity by using [disabled] twice.\n &[disabled][disabled],\n &.mdl-button--disabled.mdl-button--disabled {\n color: $mdlext-light-button-secondary-color-disabled;\n }\n }\n }\n}\n\n// mdl/src/slider/_slider.scss\n// ---------------------------\n.mdlext-light-color-theme {\n .mdl-slider {\n\n &.is-upgraded {\n background: transparent;\n color: $mdlext-light-range-color;\n\n &::-webkit-slider-runnable-track {\n background: transparent;\n }\n\n &::-moz-range-track {\n background: transparent;\n }\n\n &::-ms-track {\n background: none;\n color: transparent;\n }\n\n /* stylelint-disable */\n &::-ms-fill-lower {\n background: linear-gradient(to right,\n transparent,\n transparent 16px,\n $mdlext-light-range-color 16px,\n $mdlext-light-range-color 0);\n }\n\n &::-ms-fill-upper {\n background: linear-gradient(to left,\n transparent,\n transparent 16px,\n $mdlext-light-range-bg-color 16px,\n $mdlext-light-range-bg-color 0);\n }\n /* stylelint-enable */\n\n\n /**************************** Thumbs ****************************/\n &::-webkit-slider-thumb {\n background: $mdlext-light-range-color;\n }\n\n &::-moz-range-thumb {\n background: $mdlext-light-range-color;\n }\n\n &:focus:not(:active)::-webkit-slider-thumb {\n box-shadow: 0 0 0 10px $mdlext-light-range-faded-color;\n }\n\n &:focus:not(:active)::-moz-range-thumb {\n box-shadow: 0 0 0 10px $mdlext-light-range-faded-color;\n }\n\n &:active::-webkit-slider-thumb {\n background: $mdlext-light-range-color;\n }\n\n &:active::-moz-range-thumb {\n background: $mdlext-light-range-color;\n }\n\n &::-ms-thumb {\n background: $mdlext-light-range-color;\n }\n\n /* stylelint-disable */\n &:focus:not(:active)::-ms-thumb {\n background: radial-gradient(circle closest-side,\n $mdlext-light-range-color 0%,\n $mdlext-light-range-color 37.5%,\n $mdlext-light-range-faded-color 37.5%,\n $mdlext-light-range-faded-color 100%);\n }\n /* stylelint-enable */\n\n &:active::-ms-thumb {\n background: $mdlext-light-range-color;\n }\n\n\n /**************************** 0-value ****************************/\n\n &.is-lowest-value::-webkit-slider-thumb {\n border-color: $mdlext-light-range-color;\n background: transparent;\n }\n\n &.is-lowest-value::-moz-range-thumb {\n border-color: $mdlext-light-range-bg-color;\n background: transparent;\n }\n\n &.is-lowest-value:focus:not(:active)::-webkit-slider-thumb {\n box-shadow: 0 0 0 10px $mdlext-light-range-bg-focus-color;\n background: $mdlext-light-range-bg-focus-color;\n }\n\n &.is-lowest-value:focus:not(:active)::-moz-range-thumb {\n box-shadow: 0 0 0 10px $mdlext-light-range-bg-focus-color;\n background: $mdlext-light-range-bg-focus-color;\n }\n\n &.is-lowest-value:active::-webkit-slider-thumb {\n border-color: $mdlext-light-range-bg-color;\n }\n\n &.is-lowest-value:active::-moz-range-thumb {\n border-color: $mdlext-light-range-bg-color;\n }\n\n /* stylelint-disable */\n &.is-lowest-value::-ms-thumb {\n background: radial-gradient(circle closest-side,\n transparent 0%,\n transparent 66.67%,\n $mdlext-light-range-bg-color 66.67%,\n $mdlext-light-range-bg-color 100%);\n }\n\n &.is-lowest-value:focus:not(:active)::-ms-thumb {\n background: radial-gradient(circle closest-side,\n $mdlext-light-range-bg-focus-color 0%,\n $mdlext-light-range-bg-focus-color 25%,\n $mdlext-light-range-bg-color 25%,\n $mdlext-light-range-bg-color 37.5%,\n $mdlext-light-range-bg-focus-color 37.5%,\n $mdlext-light-range-bg-focus-color 100%);\n }\n\n &.is-lowest-value:active::-ms-thumb {\n background: radial-gradient(circle closest-side,\n transparent 0%,\n transparent 77.78%,\n $mdlext-light-range-bg-color 77.78%,\n $mdlext-light-range-bg-color 100%);\n }\n /* stylelint-enable */\n\n &.is-lowest-value::-ms-fill-lower {\n background: transparent;\n }\n\n /**************************** Disabled ****************************/\n\n &:disabled:focus::-webkit-slider-thumb,\n &:disabled:active::-webkit-slider-thumb,\n &:disabled::-webkit-slider-thumb {\n background: $mdlext-light-range-bg-color;\n }\n\n &:disabled:focus::-moz-range-thumb,\n &:disabled:active::-moz-range-thumb,\n &:disabled::-moz-range-thumb {\n background: $mdlext-light-range-bg-color;\n }\n\n &:disabled + .mdl-slider__background-flex > .mdl-slider__background-lower {\n background-color: $mdlext-light-range-bg-color;\n }\n\n &.is-lowest-value:disabled:focus::-webkit-slider-thumb,\n &.is-lowest-value:disabled:active::-webkit-slider-thumb,\n &.is-lowest-value:disabled::-webkit-slider-thumb {\n border-color: $mdlext-light-range-bg-color;\n background: transparent;\n }\n\n &.is-lowest-value:disabled:focus::-moz-range-thumb,\n &.is-lowest-value:disabled:active::-moz-range-thumb,\n &.is-lowest-value:disabled::-moz-range-thumb {\n border-color: $mdlext-light-range-bg-color;\n background: transparent;\n }\n\n &:disabled:focus::-ms-thumb,\n &:disabled:active::-ms-thumb,\n &:disabled::-ms-thumb {\n background: $mdlext-light-range-bg-color;\n }\n\n /* stylelint-disable */\n &.is-lowest-value:disabled:focus::-ms-thumb,\n &.is-lowest-value:disabled:active::-ms-thumb,\n &.is-lowest-value:disabled::-ms-thumb {\n background: radial-gradient(circle closest-side,\n transparent 0%,\n transparent 50%,\n $mdlext-light-range-bg-color 50%,\n $mdlext-light-range-bg-color 100%);\n }\n\n &:disabled::-ms-fill-lower {\n background: linear-gradient(to right,\n transparent,\n transparent 25px,\n $mdlext-light-range-bg-color 25px,\n $mdlext-light-range-bg-color 0);\n }\n /* stylelint-enable */\n\n }\n }\n\n .mdl-slider__background-flex {\n background: transparent;\n }\n\n .mdl-slider__background-lower {\n background: $mdlext-light-range-color;\n }\n\n // This one styles the upper part of the slider track.\n .mdl-slider__background-upper {\n background: $mdlext-light-range-bg-color;\n }\n}\n\n\n// mdl/src/textfield/_textfield.scss\n// -----------------------------------\n.mdlext-light-color-theme {\n\n .mdl-textfield__input {\n border-bottom-color: $mdlext-light-input-text-bottom-border-color;\n }\n .mdl-textfield.is-invalid .mdl-textfield__input {\n border-color: $mdlext-light-input-text-error-color;\n }\n fieldset[disabled] .mdl-textfield .mdl-textfield__input,\n .mdl-textfield.is-disabled .mdl-textfield__input {\n background-color: transparent;\n border-bottom-color: $mdlext-light-input-text-disabled-color;\n color: $mdlext-light-input-text-disabled-text-color;\n }\n .mdl-textfield__label {\n color: $mdlext-light-input-text-label-color;\n }\n .mdl-textfield__label::after {\n background-color: $mdlext-light-input-text-highlight-color;\n }\n fieldset[disabled] .mdl-textfield .mdl-textfield__label,\n .mdl-textfield.is-disabled.is-disabled .mdl-textfield__label {\n color: $mdlext-light-input-text-disabled-text-color;\n }\n .mdl-textfield--floating-label.is-focused .mdl-textfield__label,\n .mdl-textfield--floating-label.is-dirty .mdl-textfield__label,\n .mdl-textfield--floating-label.has-placeholder .mdl-textfield__label {\n color: $mdlext-light-input-text-highlight-color;\n }\n .mdl-textfield--floating-label.is-invalid .mdl-textfield__label {\n color: $mdlext-light-input-text-error-color;\n }\n .mdl-textfield.is-invalid .mdl-textfield__label::after {\n background-color: $mdlext-light-input-text-error-color;\n }\n .mdl-textfield__error {\n color: $mdlext-light-input-text-error-color;\n }\n}\n\n\n// mdl/src/checkbox/_checkbox.scss\n// -----------------------------------\n.mdlext-light-color-theme {\n\n .mdl-checkbox__box-outline {\n border-color: $mdlext-light-checkbox-off-color;\n }\n .mdl-checkbox.is-checked .mdl-checkbox__box-outline {\n border-color: $mdlext-light-checkbox-color;\n }\n fieldset[disabled] .mdl-checkbox .mdl-checkbox__box-outline,\n .mdl-checkbox.is-disabled .mdl-checkbox__box-outline {\n border-color: $mdlext-light-checkbox-disabled-color;\n }\n\n .mdl-checkbox__focus-helper {\n background-color: transparent;\n }\n .mdl-checkbox.is-focused.is-checked .mdl-checkbox__focus-helper {\n box-shadow: 0 0 0 ($checkbox-button-size / 2) $mdlext-light-checkbox-focus-color;\n background-color: $mdlext-light-checkbox-focus-color;\n }\n\n .mdl-checkbox__tick-outline {\n background: transparent;\n }\n .mdl-checkbox.is-checked .mdl-checkbox__tick-outline {\n background-color: $mdlext-light-checkbox-color;\n }\n fieldset[disabled] .mdl-checkbox.is-checked .mdl-checkbox__tick-outline,\n .mdl-checkbox.is-checked.is-disabled .mdl-checkbox__tick-outline {\n background-color: $mdlext-light-checkbox-disabled-color;\n }\n\n fieldset[disabled] .mdl-checkbox .mdl-checkbox__label,\n .mdl-checkbox.is-disabled .mdl-checkbox__label {\n color: $mdlext-light-checkbox-disabled-color;\n }\n\n .mdl-checkbox__ripple-container .mdl-ripple {\n background: $mdlext-light-checkbox-color;\n }\n fieldset[disabled] .mdl-checkbox .mdl-checkbox__ripple-container .mdl-ripple,\n .mdl-checkbox.is-disabled .mdl-checkbox__ripple-container .mdl-ripple {\n background: transparent;\n }\n\n}\n\n// mdl/src/radio/_radio.scss\n// -----------------------------------\n.mdlext-light-color-theme {\n .mdl-radio__outer-circle {\n border-color: $mdlext-light-radio-off-color;\n }\n .mdl-radio.is-checked .mdl-radio__outer-circle {\n border-color: $mdlext-light-radio-color;\n }\n .mdl-radio__outer-circle fieldset[disabled] .mdl-radio,\n .mdl-radio.is-disabled .mdl-radio__outer-circle {\n border-color: $mdlext-light-radio-disabled-color;\n }\n\n .mdl-radio__inner-circle {\n background: $mdlext-light-radio-color;\n }\n fieldset[disabled] .mdl-radio .mdl-radio__inner-circle,\n .mdl-radio.is-disabled .mdl-radio__inner-circle {\n background: $mdlext-light-radio-disabled-color;\n }\n\n fieldset[disabled] .mdl-radio .mdl-radio__label,\n .mdl-radio.is-disabled .mdl-radio__label {\n color: $mdlext-light-radio-disabled-color;\n }\n\n .mdl-radio__ripple-container .mdl-ripple {\n background: $mdlext-light-radio-color;\n }\n fieldset[disabled] .mdl-radio .mdl-radio__ripple-container .mdl-ripple,\n .mdl-radio.is-disabled .mdl-radio__ripple-container .mdl-ripple {\n background: transparent;\n }\n}\n\n// mdl/src/icon-togglr/_icon-toggle.scss\n// ---------------------------------------\n.mdlext-light-color-theme {\n .mdl-icon-toggle__label {\n color: $mdlext-light-icon-toggle-color;\n }\n .mdl-icon-toggle.is-checked .mdl-icon-toggle__label {\n color: $mdlext-light-icon-toggle-checked-color;\n }\n .mdl-icon-toggle.is-disabled .mdl-icon-toggle__label {\n color: $mdlext-light-icon-toggle-disabled-color;\n }\n .mdl-icon-toggle.is-focused .mdl-icon-toggle__label {\n background-color: $mdlext-light-icon-toggle-focus-color;\n }\n .mdl-icon-toggle.is-focused.is-checked .mdl-icon-toggle__label {\n background-color: $mdlext-light-icon-toggle-checked-focus-color;\n }\n .mdl-icon-toggle__ripple-container .mdl-ripple {\n background: $mdlext-light-icon-toggle-color;\n }\n .mdl-icon-toggle.is-disabled .mdl-icon-toggle__ripple-container .mdl-ripple {\n background: transparent;\n }\n}\n\n\n// mdl/src/switch/_switch.scss\n// -----------------------------------\n.mdlext-light-color-theme {\n\n .mdl-switch__track {\n background: $mdlext-light-switch-off-track-color;\n }\n .mdl-switch.is-checked .mdl-switch__track {\n background: $mdlext-light-switch-track-color;\n }\n .mdl-switch__track fieldset[disabled] .mdl-switch,\n .mdl-switch.is-disabled .mdl-switch__track {\n background: $mdlext-light-switch-disabled-track-color;\n }\n\n .mdl-switch__thumb {\n background: $mdlext-light-switch-off-thumb-color;\n }\n .mdl-switch.is-checked .mdl-switch__thumb {\n background: $mdlext-light-switch-thumb-color;\n }\n .mdl-switch__thumb fieldset[disabled] .mdl-switch,\n .mdl-switch.is-disabled .mdl-switch__thumb {\n background: $mdlext-light-switch-disabled-thumb-color;\n }\n\n .mdl-switch__focus-helper {\n background-color: transparent;\n }\n .mdl-switch.is-focused .mdl-switch__focus-helper {\n background-color: rgba(0, 0, 0, 0.1);\n }\n .mdl-switch.is-focused.is-checked .mdl-switch__focus-helper {\n box-shadow: 0 0 0 (($switch-ripple-size - $switch-helper-size) / 2) $mdlext-light-switch-faded-color;\n background-color: $mdlext-light-switch-faded-color;\n }\n\n .mdl-switch__label fieldset[disabled] .mdl-switch,\n .mdl-switch.is-disabled .mdl-switch__label {\n color: $mdlext-light-switch-disabled-thumb-color;\n }\n\n .mdl-switch__ripple-container .mdl-ripple {\n background: $mdlext-light-switch-color;\n }\n fieldset[disabled] .mdl-switch .mdl-switch__ripple-container .mdl-ripple,\n .mdl-switch.is-disabled .mdl-switch__ripple-container .mdl-ripple {\n background: transparent;\n }\n}\n\n\n// mdl/src/data-table/_data-table.scss\n// -----------------------------------\n.mdlext-light-color-theme {\n\n .mdl-data-table {\n border-color: $mdlext-light-data-table-divider-color;\n background-color: $mdlext-light-data-table-background-color;\n\n tbody {\n tr {\n &.is-selected {\n background-color: $mdlext-light-data-table-selection-color;\n }\n &:hover {\n background-color: $mdlext-light-data-table-hover-color;\n }\n }\n }\n th {\n color: $data-table-header-color;\n\n &.mdl-data-table__header--sorted-ascending,\n &.mdl-data-table__header--sorted-descending {\n color: $mdlext-light-data-table-header-sorted-color;\n\n &:hover {\n &::before {\n color: $mdlext-light-data-table-header-sorted-icon-hover-color;\n }\n }\n }\n }\n }\n}\n\n\n// mdl/src/menu/_menu.scss\n// -----------------------------------\n.mdlext-light-color-theme {\n\n .mdl-menu__outline {\n background: $mdlext-light-default-dropdown-bg-color;\n }\n\n .mdl-menu__item {\n color: $mdlext-light-default-item-text-color;\n background-color: transparent;\n outline-color: $mdlext-light-default-item-outline-color;\n\n &--full-bleed-divider {\n border-bottom-color: $mdlext-light-default-item-divider-color;\n }\n\n &[disabled],\n &[data-mdl-disabled] {\n color: $mdlext-light-disabled-item-text-color;\n background-color: transparent;\n\n &:hover {\n background-color: transparent;\n }\n\n &:focus {\n background-color: transparent;\n }\n\n & .mdl-ripple {\n background: transparent;\n }\n }\n\n &:hover {\n background-color: $mdlext-light-default-item-hover-bg-color;\n }\n\n &:focus {\n background-color: $mdlext-light-default-item-focus-bg-color;\n }\n\n &:active {\n background-color: $mdlext-light-default-item-active-bg-color;\n }\n }\n}\n\n\n// mdl/src/card/_card.scss\n// ----------------------------------------\n.mdlext-light-color-theme {\n\n .mdl-card {\n background: $mdlext-light-card-background-color;\n }\n\n .mdl-card__media {\n background-color: $mdlext-light-card-image-placeholder-color;\n }\n\n .mdl-card__title {\n color: $mdlext-light-card-text-color;\n\n &.mdl-card--border {\n border-bottom-color: $mdlext-light-card-border-color;\n }\n }\n\n .mdl-card__title-text {\n color: inherit;\n }\n\n .mdl-card__subtitle-text {\n color: $mdlext-light-card-subtitle-color;\n }\n\n .mdl-card__supporting-text {\n color: $mdlext-light-card-supporting-text-text-color;\n }\n\n .mdl-card__actions {\n background-color: rgba(0, 0, 0, 0);\n\n &.mdl-card--border {\n border-top-color: $mdlext-light-card-border-color;\n }\n }\n}\n\n\n// mdlext/src/selectfield/_selectfield.scss\n// ----------------------------------------\n.mdlext-light-color-theme {\n\n .mdlext-selectfield.is-disabled::after {\n color: $mdlext-light-input-text-disabled-color;\n @include mdlext-arrow(bottom, $mdlext-selectfield-arrow-width, $mdlext-selectfield-arrow-length, $mdlext-light-input-text-disabled-color);\n }\n\n .mdlext-selectfield__select {\n border-bottom-color: $mdlext-light-input-text-bottom-border-color;\n color: inherit;\n\n option {\n background-color: $mdlext-light-content-background-color;\n color: $mdlext-light-text-color-primary;\n }\n }\n .mdlext-selectfield.is-invalid .mdlext-selectfield__select {\n border-color: $mdlext-light-input-text-error-color;\n }\n fieldset[disabled] .mdlext-selectfield .mdlext-selectfield__select,\n .mdlext-selectfield.is-disabled .mdlext-selectfield__select {\n background-color: transparent;\n border-bottom-color: $mdlext-light-input-text-disabled-color;\n color: $mdlext-light-input-text-disabled-text-color;\n }\n\n .mdlext-selectfield__label {\n color: $mdlext-light-input-text-label-color;\n }\n fieldset[disabled] .mdlext-selectfield .mdlext-selectfield__label,\n .mdlext-selectfield.is-disabled.is-disabled .mdlext-selectfield__label {\n color: $mdlext-light-input-text-disabled-text-color;\n }\n .mdlext-selectfield--floating-label.is-focused .mdlext-selectfield__label,\n .mdlext-selectfield--floating-label.is-dirty .mdlext-selectfield__label,\n .mdlext-selectfield--floating-label.is-dirty.is-dirty .mdlext-selectfield__label,\n .mdlext-selectfield--floating-label.has-placeholder .mdlext-selectfield__label {\n color: $mdlext-light-input-text-highlight-color;\n }\n .mdlext-selectfield--floating-label.is-invalid .mdlext-selectfield__label {\n color: $mdlext-light-input-text-error-color;\n }\n .mdlext-selectfield__label::after {\n background-color: $mdlext-light-input-text-highlight-color;\n }\n .mdlext-selectfield.is-invalid .mdlext-selectfield__label::after {\n background-color: $mdlext-light-input-text-error-color;\n }\n\n .mdlext-selectfield__error {\n color: $mdlext-light-input-text-error-color;\n }\n}\n\n// mdlext/src/menu-button/_menu-button.scss\n// ----------------------------------------\n.mdlext-menu.mdlext-light-color-theme {\n background: $mdlext-light-default-dropdown-bg-color;\n}\n\n.mdlext-light-color-theme {\n\n .mdlext-menu {\n background: $mdlext-light-default-dropdown-bg-color;\n\n &__item {\n color: $mdlext-light-default-item-text-color;\n background-color: $mdlext-light-default-dropdown-bg-color;\n\n &:active,\n &[aria-selected='true'] {\n background-color: $mdlext-light-default-item-active-bg-color;\n }\n &:hover:not([disabled]) {\n background-color: $mdlext-light-default-item-hover-bg-color;\n }\n &:focus {\n outline-color: $mdlext-light-default-item-outline-color;\n background-color: $mdlext-light-default-item-focus-bg-color;\n }\n &[disabled] {\n color: $mdlext-light-disabled-item-text-color;\n\n > * {\n color: $mdlext-light-disabled-item-text-color;\n }\n }\n }\n &__item-separator {\n border-bottom: 1px solid $mdlext-light-default-item-divider-color;\n }\n }\n}\n\n\n// mdlext/src/bordered-fields/_bordered-fields.scss\n// -------------------------------------------------\n.mdlext-light-color-theme {\n\n .mdlext-bordered-fields {\n\n .mdl-textfield,\n .mdlext-selectfield {\n\n .mdl-textfield__input,\n .mdlext-selectfield__select {\n background-color: $mdlext-light-bordered-field-background-color;\n border-color: $mdlext-light-bordered-field-border-color;\n color: $mdlext-light-bordered-field-input-text-color;\n\n &:disabled {\n color: $mdlext-light-bordered-field-input-text-disabled-text-color;\n background-color: $mdlext-light-bordered-field-disabled-background-color;\n border-color: $mdlext-light-bordered-field-disabled-border-color;\n }\n &:focus {\n background-color: $mdlext-light-bordered-field-focus-background-color;\n border-color: $mdlext-light-bordered-field-focus-border-color;\n }\n }\n &.is-invalid {\n .mdl-textfield__input,\n .mdlext-selectfield__select {\n color: $mdlext-light-bordered-field-input-text-error-color;\n border-color: $mdlext-light-bordered-field-error-border-color;\n background-color: $mdlext-light-bordered-field-error-background-color;\n\n &:focus {\n border-color: $mdlext-light-bordered-field-error-focus-border-color;\n background-color: $mdlext-light-bordered-field-error-focus-background-color;\n }\n }\n }\n }\n\n fieldset[disabled] .mdlext-selectfield::after,\n .mdlext-selectfield.is-disabled::after {\n color: $mdlext-light-bordered-field-input-text-disabled-text-color;\n @include mdlext-arrow(bottom, $mdlext-selectfield-arrow-width, $mdlext-selectfield-arrow-length, $mdlext-light-bordered-field-input-text-disabled-text-color);\n }\n\n fieldset[disabled] .mdl-textfield .mdl-textfield__input,\n fieldset[disabled] .mdlext-selectfield .mdlext-selectfield__select {\n color: $mdlext-light-bordered-field-input-text-disabled-text-color;\n background-color: $mdlext-light-bordered-field-disabled-background-color;\n border-color: $mdlext-light-bordered-field-disabled-border-color;\n }\n\n .mdl-textfield,\n .mdlext-selectfield {\n\n .mdl-textfield__label,\n .mdlext-selectfield__label {\n color: $mdlext-light-bordered-field-input-text-label-color;\n }\n &.mdl-textfield--floating-label.is-focused.is-focused,\n &.mdl-textfield--floating-label.is-dirty.is-dirty,\n &.mdl-textfield--floating-label.has-placeholder,\n &.mdlext-selectfield--floating-label.is-focused.is-focused,\n &.mdlext-selectfield--floating-label.is-dirty.is-dirty,\n &.mdlext-selectfield--floating-label.has-placeholder {\n\n .mdl-textfield__label,\n .mdlext-selectfield__label {\n color: $mdlext-light-bordered-field-input-text-label-focus-color;\n }\n }\n &.mdl-textfield--floating-label.is-disabled.is-disabled,\n &.mdlext-selectfield--floating-label.is-disabled.is-disabled {\n\n .mdl-textfield__label,\n .mdlext-selectfield__label {\n color: $mdlext-light-bordered-field-input-text-label-disabled-color;\n }\n }\n &.mdl-textfield--floating-label.is-invalid.is-invalid,\n &.mdlext-selectfield--floating-label.is-invalid.is-invalid {\n\n .mdl-textfield__label,\n .mdlext-selectfield__label {\n color: $mdlext-light-bordered-field-input-text-label-error-color;\n }\n }\n }\n\n fieldset[disabled] .mdl-textfield .mdl-textfield__label,\n fieldset[disabled] .mdl-selectfield .mdl-selectfield__label {\n color: $mdlext-light-bordered-field-input-text-label-disabled-color;\n }\n\n // Icon(s) and/or button(s) inside textfield\n .mdl-textfield,\n .mdlext-selectfield {\n &.is-disabled i,\n &.is-disabled .mdl-button {\n color: $mdlext-light-bordered-field-disabled-border-color;\n }\n }\n fieldset[disabled] .mdl-textfield,\n fieldset[disabled] .mdlext-selectfield {\n i,\n .mdl-button {\n color: $mdlext-light-bordered-field-disabled-border-color;\n }\n }\n }\n}\n\n\n// mdlext/src/accordion/_accordion.scss\n// ----------------------------------------\n.mdlext-light-color-theme {\n\n .mdlext-accordion {\n\n &__tab {\n color: $mdlext-light-accordion-header-secondary-color;\n background-color: $mdlext-light-accordion-header-background-color;\n\n &:focus {\n outline-color: $mdlext-light-accordion-header-focus-outline-color;\n }\n &[aria-expanded='true'] {\n background-color: $mdlext-light-accordion-header-background-open-color;\n }\n &[aria-selected='true'] {\n background-color: $mdlext-light-accordion-header-background-active-color;\n }\n &[disabled] {\n background-color: $mdlext-light-accordion-header-disabled-color;\n color: $mdlext-light-accordion-header-secondary-color-disabled;\n pointer-events: none;\n\n > * {\n color: $mdlext-light-accordion-header-secondary-color-disabled;\n }\n }\n &:hover:not([disabled]) {\n background-color: $mdlext-light-accordion-header-background-hover-color;\n }\n &--ripple {\n &[aria-selected='true']::before {\n background: $mdlext-light-accordion-ripple-color;\n }\n }\n }\n\n &__tabpanel {\n color: $mdlext-light-accordion-content-color;\n background-color: $mdlext-light-accordion-content-background-color;\n }\n }\n\n // Vertical layout\n .mdlext-accordion {\n\n &--vertical {\n\n .mdlext-accordion__tab {\n border-top: 1px solid $mdlext-light-accordion-header-border-color;\n\n &[aria-selected='true']::after {\n background-color: $mdlext-light-accordion-header-highlight-color;\n }\n }\n .mdlext-accordion__tabpanel {\n border-top: 1px solid $mdlext-light-accordion-header-border-color;\n }\n }\n }\n\n // Horizontal layout\n .mdlext-accordion {\n\n &--horizontal {\n\n .mdlext-accordion__tab {\n border-left: 1px solid $mdlext-light-accordion-header-border-color;\n\n &[aria-selected='true']::after {\n background-color: $mdlext-light-accordion-header-highlight-color;\n }\n }\n .mdlext-accordion__tabpanel {\n border-left: 1px solid $mdlext-light-accordion-header-border-color;\n }\n }\n }\n\n .mdlext-accordion {\n\n &__panel:first-child > &__tab {\n // Use container to set outer borders\n border-top-color: transparent;\n border-left-color: transparent;\n }\n }\n\n // Making accordion appear disabled.\n // Note: does not prevent tabbing into a disabled accordion\n .mdlext-accordion[disabled] {\n .mdlext-accordion__tab {\n background-color: $mdlext-light-accordion-header-disabled-color;\n color: $mdlext-light-accordion-header-secondary-color-disabled;\n\n > * {\n color: $mdlext-light-accordion-header-secondary-color-disabled;\n }\n }\n .mdlext-accordion__tabpanel {\n opacity: 0.8;\n filter: blur(1px) grayscale(80%);\n }\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// webpack:///src/color-themes/_light-color-theme.scss","@import \"color-themes\";\n\n.mdlext-dark-color-theme {\n background-color: $mdlext-dark-content-background-color;\n color: $mdlext-dark-text-color-primary;\n a {\n outline-color: inherit;\n }\n}\n\n// mdl/src/palette/_palette.scss\n.mdlext-dark-color-theme {\n\n .mdl-color--primary {\n background-color: $mdlext-dark-color-primary !important;\n }\n\n .mdl-color--primary-contrast {\n background-color: $mdlext-dark-color-primary-contrast !important;\n }\n\n .mdl-color--primary-dark {\n background-color: $mdlext-dark-color-primary-dark !important;\n }\n\n .mdl-color--accent {\n background-color: $mdlext-dark-color-accent !important;\n }\n\n .mdl-color--accent-contrast {\n background-color: $mdlext-dark-color-accent-contrast !important;\n }\n\n .mdl-color-text--primary {\n color: $mdlext-dark-color-primary !important;\n }\n\n .mdl-color-text--primary-contrast {\n color: $mdlext-dark-color-primary-contrast !important;\n }\n\n .mdl-color-text--primary-dark {\n color: $mdlext-dark-color-primary-dark !important;\n }\n\n .mdl-color-text--accent {\n color: $mdlext-dark-color-accent !important;\n }\n\n .mdl-color-text--accent-contrast {\n color: $mdlext-dark-color-accent-contrast !important;\n }\n\n}\n\n// mdl/src/typography/_typography.scss\n.mdlext-dark-color-theme {\n a {\n color: $mdlext-dark-text-link-color;\n }\n}\n\n\n// mdl/src/badge/_badge.scss\n// ---------------------------\n.mdlext-dark-color-theme {\n .mdl-badge {\n\n &[data-badge]::after {\n background: $mdlext-dark-badge-background;\n color: $mdlext-dark-badge-color;\n }\n\n &.mdl-badge--no-background {\n &[data-badge]::after {\n color: $mdlext-dark-badge-color-inverse;\n background: $mdlext-dark-badge-background-inverse;\n }\n }\n }\n}\n\n\n// mdl/src/button/_button.scss\n// ---------------------------\n.mdlext-dark-color-theme {\n\n .mdl-button {\n background: transparent;\n color: $mdlext-dark-button-secondary-color;\n\n &:hover {\n background-color: $mdlext-dark-button-hover-color;\n }\n\n &:focus:not(:active) {\n background-color: $mdlext-dark-button-focus-color;\n }\n\n &:active {\n background-color: $mdlext-dark-button-active-color;\n }\n\n &.mdl-button--colored {\n color: $mdlext-dark-button-primary-color-alt;\n\n &:focus:not(:active) {\n background-color: $mdlext-dark-button-focus-color-alt;\n }\n }\n }\n\n // Raised buttons\n .mdl-button--raised {\n background: $mdlext-dark-button-primary-color;\n\n &:active {\n background-color: $mdlext-dark-button-active-color;\n }\n\n &:focus:not(:active) {\n background-color: $mdlext-dark-button-active-color;\n }\n\n &.mdl-button--colored {\n background: $mdlext-dark-button-primary-color-alt;\n color: $mdlext-dark-button-secondary-color-alt;\n\n &:hover {\n background-color: $mdlext-dark-button-hover-color-alt;\n }\n\n &:active {\n background-color: $mdlext-dark-button-active-color-alt;\n }\n\n &:focus:not(:active) {\n background-color: $mdlext-dark-button-active-color-alt;\n }\n\n & .mdl-ripple {\n background: $mdlext-dark-button-ripple-color-alt;\n }\n }\n }\n\n\n // FABs\n .mdl-button--fab {\n background: $mdlext-dark-button-primary-color;\n\n &:active {\n background-color: $mdlext-dark-button-active-color;\n }\n\n &:focus:not(:active) {\n background-color: $mdlext-dark-button-active-color;\n }\n\n &.mdl-button--colored {\n background: $mdlext-dark-button-fab-color-alt;\n color: $mdlext-dark-button-fab-text-color-alt;\n\n &:hover {\n background-color: $mdlext-dark-button-fab-hover-color-alt;\n }\n\n &:focus:not(:active) {\n background-color: $mdlext-dark-button-fab-active-color-alt;\n }\n\n &:active {\n background-color: $mdlext-dark-button-fab-active-color-alt;\n }\n\n & .mdl-ripple {\n background: $mdlext-dark-button-fab-ripple-color-alt;\n }\n }\n }\n\n\n // Icon buttons\n .mdl-button--icon {\n color: inherit;\n }\n\n // Colorized buttons\n\n .mdl-button--primary.mdl-button--primary {\n color: $mdlext-dark-button-primary-color-alt;\n\n & .mdl-ripple {\n background: $mdlext-dark-button-secondary-color-alt;\n }\n &.mdl-button--raised,\n &.mdl-button--fab {\n color: $mdlext-dark-button-secondary-color-alt;\n background-color: $mdlext-dark-button-primary-color-alt;\n }\n }\n\n .mdl-button--accent.mdl-button--accent {\n color: $mdlext-dark-button-fab-color-alt;\n\n & .mdl-ripple {\n background: $mdlext-dark-button-fab-text-color-alt;\n }\n &.mdl-button--raised,\n &.mdl-button--fab {\n color: $mdlext-dark-button-fab-text-color-alt;\n background-color: $mdlext-dark-button-fab-color-alt;\n }\n }\n\n // Disabled buttons\n\n .mdl-button {\n // Bump up specificity by using [disabled] twice.\n &[disabled][disabled],\n &.mdl-button--disabled.mdl-button--disabled {\n color: $mdlext-dark-button-secondary-color-disabled;\n background-color: transparent;\n }\n\n &--fab {\n // Bump up specificity by using [disabled] twice.\n &[disabled][disabled],\n &.mdl-button--disabled.mdl-button--disabled {\n background-color: $mdlext-dark-button-primary-color-disabled;\n color: $mdlext-dark-button-secondary-color-disabled;\n }\n }\n\n &--raised {\n // Bump up specificity by using [disabled] twice.\n &[disabled][disabled],\n &.mdl-button--disabled.mdl-button--disabled {\n background-color: $mdlext-dark-button-primary-color-disabled;\n color: $mdlext-dark-button-secondary-color-disabled;\n }\n }\n &--colored {\n // Bump up specificity by using [disabled] twice.\n &[disabled][disabled],\n &.mdl-button--disabled.mdl-button--disabled {\n color: $mdlext-dark-button-secondary-color-disabled;\n }\n }\n }\n}\n\n\n// mdl/src/slider/_slider.scss\n// ---------------------------\n.mdlext-dark-color-theme {\n\n .mdl-slider {\n\n &.is-upgraded {\n background: transparent;\n color: $mdlext-dark-range-color;\n\n &::-webkit-slider-runnable-track {\n background: transparent;\n }\n\n &::-moz-range-track {\n background: transparent;\n }\n\n &::-ms-track {\n background: none;\n color: transparent;\n }\n\n /* stylelint-disable */\n &::-ms-fill-lower {\n background: linear-gradient(\n to right,\n transparent,\n transparent 16px,\n $mdlext-dark-range-color 16px,\n $mdlext-dark-range-color 0\n );\n }\n\n &::-ms-fill-upper {\n background: linear-gradient(\n to left,\n transparent,\n transparent 16px,\n $mdlext-dark-range-bg-color 16px,\n $mdlext-dark-range-bg-color 0);\n }\n /* stylelint-enable */\n\n &::-webkit-slider-thumb {\n background: $mdlext-dark-range-color;\n }\n\n &::-moz-range-thumb {\n background: $mdlext-dark-range-color;\n }\n\n &:focus:not(:active)::-webkit-slider-thumb {\n box-shadow: 0 0 0 10px $mdlext-dark-range-faded-color;\n }\n\n &:focus:not(:active)::-moz-range-thumb {\n box-shadow: 0 0 0 10px $mdlext-dark-range-faded-color;\n }\n\n &:active::-webkit-slider-thumb {\n background: $mdlext-dark-range-color;\n }\n\n &:active::-moz-range-thumb {\n background: $mdlext-dark-range-color;\n }\n\n &::-ms-thumb {\n background: $mdlext-dark-range-color;\n }\n\n /* stylelint-disable */\n &:focus:not(:active)::-ms-thumb {\n background: radial-gradient(circle closest-side,\n $mdlext-dark-range-color 0%,\n $mdlext-dark-range-color 37.5%,\n $mdlext-dark-range-faded-color 37.5%,\n $mdlext-dark-range-faded-color 100%);\n }\n /* stylelint-enable */\n\n &:active::-ms-thumb {\n background: $mdlext-dark-range-color;\n }\n\n\n /**************************** 0-value ****************************/\n\n &.is-lowest-value::-webkit-slider-thumb {\n border-color: $mdlext-dark-range-color;\n background: transparent;\n }\n\n &.is-lowest-value::-moz-range-thumb {\n border-color: $mdlext-dark-range-bg-color;\n background: transparent;\n }\n\n &.is-lowest-value:focus:not(:active)::-webkit-slider-thumb {\n box-shadow: 0 0 0 10px $mdlext-dark-range-bg-focus-color;\n background: $mdlext-dark-range-bg-focus-color;\n }\n\n &.is-lowest-value:focus:not(:active)::-moz-range-thumb {\n box-shadow: 0 0 0 10px $mdlext-dark-range-bg-focus-color;\n background: $mdlext-dark-range-bg-focus-color;\n }\n\n &.is-lowest-value:active::-webkit-slider-thumb {\n border-color: $mdlext-dark-range-bg-color;\n }\n\n &.is-lowest-value:active::-moz-range-thumb {\n border-color: $mdlext-dark-range-bg-color;\n }\n\n /* stylelint-disable */\n &.is-lowest-value::-ms-thumb {\n background: radial-gradient(circle closest-side,\n transparent 0%,\n transparent 66.67%,\n $mdlext-dark-range-bg-color 66.67%,\n $mdlext-dark-range-bg-color 100%);\n }\n\n &.is-lowest-value:focus:not(:active)::-ms-thumb {\n background: radial-gradient(circle closest-side,\n $mdlext-dark-range-bg-focus-color 0%,\n $mdlext-dark-range-bg-focus-color 25%,\n $mdlext-dark-range-bg-color 25%,\n $mdlext-dark-range-bg-color 37.5%,\n $mdlext-dark-range-bg-focus-color 37.5%,\n $mdlext-dark-range-bg-focus-color 100%);\n }\n\n &.is-lowest-value:active::-ms-thumb {\n background: radial-gradient(circle closest-side,\n transparent 0%,\n transparent 77.78%,\n $mdlext-dark-range-bg-color 77.78%,\n $mdlext-dark-range-bg-color 100%);\n }\n /* stylelint-enable */\n\n &.is-lowest-value::-ms-fill-lower {\n background: transparent;\n }\n\n /**************************** Disabled ****************************/\n\n &:disabled:focus::-webkit-slider-thumb,\n &:disabled:active::-webkit-slider-thumb,\n &:disabled::-webkit-slider-thumb {\n background: $mdlext-dark-range-bg-color;\n }\n\n &:disabled:focus::-moz-range-thumb,\n &:disabled:active::-moz-range-thumb,\n &:disabled::-moz-range-thumb {\n background: $mdlext-dark-range-bg-color;\n }\n\n &:disabled + .mdl-slider__background-flex > .mdl-slider__background-lower {\n background-color: $mdlext-dark-range-bg-color;\n }\n\n &.is-lowest-value:disabled:focus::-webkit-slider-thumb,\n &.is-lowest-value:disabled:active::-webkit-slider-thumb,\n &.is-lowest-value:disabled::-webkit-slider-thumb {\n border-color: $mdlext-dark-range-bg-color;\n background: transparent;\n }\n\n &.is-lowest-value:disabled:focus::-moz-range-thumb,\n &.is-lowest-value:disabled:active::-moz-range-thumb,\n &.is-lowest-value:disabled::-moz-range-thumb {\n border-color: $mdlext-dark-range-bg-color;\n background: transparent;\n }\n\n &:disabled:focus::-ms-thumb,\n &:disabled:active::-ms-thumb,\n &:disabled::-ms-thumb {\n background: $mdlext-dark-range-bg-color;\n }\n\n /* stylelint-disable */\n &.is-lowest-value:disabled:focus::-ms-thumb,\n &.is-lowest-value:disabled:active::-ms-thumb,\n &.is-lowest-value:disabled::-ms-thumb {\n background: radial-gradient(circle closest-side,\n transparent 0%,\n transparent 50%,\n $mdlext-dark-range-bg-color 50%,\n $mdlext-dark-range-bg-color 100%);\n }\n\n &:disabled::-ms-fill-lower {\n background: linear-gradient(to right,\n transparent,\n transparent 25px,\n $mdlext-dark-range-bg-color 25px,\n $mdlext-dark-range-bg-color 0);\n }\n /* stylelint-enable */\n\n }\n }\n\n .mdl-slider__background-flex {\n background: transparent;\n }\n\n .mdl-slider__background-lower {\n background: $mdlext-dark-range-color;\n }\n\n // This one styles the upper part of the slider track.\n .mdl-slider__background-upper {\n background: $mdlext-dark-range-bg-color;\n }\n}\n\n\n// mdl/src/textfield/_textfield.scss\n// -----------------------------------\n.mdlext-dark-color-theme {\n\n .mdl-textfield__input {\n border-bottom-color: $mdlext-dark-input-text-bottom-border-color;\n }\n .mdl-textfield.is-invalid .mdl-textfield__input {\n border-color: $mdlext-dark-input-text-error-color;\n }\n fieldset[disabled] .mdl-textfield .mdl-textfield__input,\n .mdl-textfield.is-disabled .mdl-textfield__input {\n background-color: transparent;\n border-bottom-color: $mdlext-dark-input-text-disabled-color;\n color: $mdlext-dark-input-text-disabled-text-color;\n }\n .mdl-textfield__label {\n color: $mdlext-dark-input-text-label-color;\n }\n .mdl-textfield__label::after {\n background-color: $mdlext-dark-input-text-highlight-color;\n }\n fieldset[disabled] .mdl-textfield .mdl-textfield__label,\n .mdl-textfield.is-disabled.is-disabled .mdl-textfield__label {\n color: $mdlext-dark-input-text-disabled-text-color;\n }\n .mdl-textfield--floating-label.is-focused .mdl-textfield__label,\n .mdl-textfield--floating-label.is-dirty .mdl-textfield__label,\n .mdl-textfield--floating-label.has-placeholder .mdl-textfield__label {\n color: $mdlext-dark-input-text-highlight-color;\n }\n .mdl-textfield--floating-label.is-invalid .mdl-textfield__label {\n color: $mdlext-dark-input-text-error-color;\n }\n .mdl-textfield.is-invalid .mdl-textfield__label::after {\n background-color: $mdlext-dark-input-text-error-color;\n }\n .mdl-textfield__error {\n color: $mdlext-dark-input-text-error-color;\n }\n}\n\n\n// mdl/src/checkbox/_checkbox.scss\n// -----------------------------------\n.mdlext-dark-color-theme {\n\n .mdl-checkbox__box-outline {\n border-color: $mdlext-dark-checkbox-off-color;\n }\n .mdl-checkbox.is-checked .mdl-checkbox__box-outline {\n border-color: $mdlext-dark-checkbox-color;\n }\n fieldset[disabled] .mdl-checkbox .mdl-checkbox__box-outline,\n .mdl-checkbox.is-disabled .mdl-checkbox__box-outline {\n border-color: $mdlext-dark-checkbox-disabled-color;\n }\n\n .mdl-checkbox__focus-helper {\n background-color: transparent;\n }\n .mdl-checkbox.is-focused.is-checked .mdl-checkbox__focus-helper {\n box-shadow: 0 0 0 ($checkbox-button-size / 2) $mdlext-dark-checkbox-focus-color;\n background-color: $mdlext-dark-checkbox-focus-color;\n }\n\n .mdl-checkbox__tick-outline {\n background: transparent;\n }\n .mdl-checkbox.is-checked .mdl-checkbox__tick-outline {\n background-color: $mdlext-dark-checkbox-color;\n }\n fieldset[disabled] .mdl-checkbox.is-checked .mdl-checkbox__tick-outline,\n .mdl-checkbox.is-checked.is-disabled .mdl-checkbox__tick-outline {\n background-color: $mdlext-dark-checkbox-disabled-color;\n }\n\n fieldset[disabled] .mdl-checkbox .mdl-checkbox__label,\n .mdl-checkbox.is-disabled .mdl-checkbox__label {\n color: $mdlext-dark-checkbox-disabled-color;\n }\n\n .mdl-checkbox__ripple-container .mdl-ripple {\n background: $mdlext-dark-checkbox-color;\n }\n fieldset[disabled] .mdl-checkbox .mdl-checkbox__ripple-container .mdl-ripple,\n .mdl-checkbox.is-disabled .mdl-checkbox__ripple-container .mdl-ripple {\n background: transparent;\n }\n\n}\n\n// mdl/src/radio/_radio.scss\n// -----------------------------------\n.mdlext-dark-color-theme {\n .mdl-radio__outer-circle {\n border-color: $mdlext-dark-radio-off-color;\n }\n .mdl-radio.is-checked .mdl-radio__outer-circle {\n border-color: $mdlext-dark-radio-color;\n }\n .mdl-radio__outer-circle fieldset[disabled] .mdl-radio,\n .mdl-radio.is-disabled .mdl-radio__outer-circle {\n border-color: $mdlext-dark-radio-disabled-color;\n }\n\n .mdl-radio__inner-circle {\n background: $mdlext-dark-radio-color;\n }\n fieldset[disabled] .mdl-radio .mdl-radio__inner-circle,\n .mdl-radio.is-disabled .mdl-radio__inner-circle {\n background: $mdlext-dark-radio-disabled-color;\n }\n\n fieldset[disabled] .mdl-radio .mdl-radio__label,\n .mdl-radio.is-disabled .mdl-radio__label {\n color: $mdlext-dark-radio-disabled-color;\n }\n\n .mdl-radio__ripple-container .mdl-ripple {\n background: $mdlext-dark-radio-color;\n }\n fieldset[disabled] .mdl-radio .mdl-radio__ripple-container .mdl-ripple,\n .mdl-radio.is-disabled .mdl-radio__ripple-container .mdl-ripple {\n background: transparent;\n }\n}\n\n// mdl/src/icon-togglr/_icon-toggle.scss\n// ---------------------------------------\n.mdlext-dark-color-theme {\n .mdl-icon-toggle__label {\n color: $mdlext-dark-icon-toggle-color;\n }\n .mdl-icon-toggle.is-checked .mdl-icon-toggle__label {\n color: $mdlext-dark-icon-toggle-checked-color;\n }\n .mdl-icon-toggle.is-disabled .mdl-icon-toggle__label {\n color: $mdlext-dark-icon-toggle-disabled-color;\n }\n .mdl-icon-toggle.is-focused .mdl-icon-toggle__label {\n background-color: $mdlext-dark-icon-toggle-focus-color;\n }\n .mdl-icon-toggle.is-focused.is-checked .mdl-icon-toggle__label {\n background-color: $mdlext-dark-icon-toggle-checked-focus-color;\n }\n .mdl-icon-toggle__ripple-container .mdl-ripple {\n background: $mdlext-dark-icon-toggle-color;\n }\n .mdl-icon-toggle.is-disabled .mdl-icon-toggle__ripple-container .mdl-ripple {\n background: transparent;\n }\n}\n\n\n// mdl/src/switch/_switch.scss\n// -----------------------------------\n.mdlext-dark-color-theme {\n\n .mdl-switch__track {\n background: $mdlext-dark-switch-off-track-color;\n }\n .mdl-switch.is-checked .mdl-switch__track {\n background: $mdlext-dark-switch-track-color;\n }\n .mdl-switch__track fieldset[disabled] .mdl-switch,\n .mdl-switch.is-disabled .mdl-switch__track {\n background: $mdlext-dark-switch-disabled-track-color;\n }\n\n .mdl-switch__thumb {\n background: $mdlext-dark-switch-off-thumb-color;\n }\n .mdl-switch.is-checked .mdl-switch__thumb {\n background: $mdlext-dark-switch-thumb-color;\n }\n .mdl-switch__thumb fieldset[disabled] .mdl-switch,\n .mdl-switch.is-disabled .mdl-switch__thumb {\n background: $mdlext-dark-switch-disabled-thumb-color;\n }\n\n .mdl-switch__focus-helper {\n background-color: transparent;\n }\n .mdl-switch.is-focused .mdl-switch__focus-helper {\n background-color: rgba(0, 0, 0, 0.1);\n }\n .mdl-switch.is-focused.is-checked .mdl-switch__focus-helper {\n box-shadow: 0 0 0 (($switch-ripple-size - $switch-helper-size) / 2) $mdlext-dark-switch-faded-color;\n background-color: $mdlext-dark-switch-faded-color;\n }\n\n .mdl-switch__label fieldset[disabled] .mdl-switch,\n .mdl-switch.is-disabled .mdl-switch__label {\n color: $mdlext-dark-switch-disabled-thumb-color;\n }\n\n .mdl-switch__ripple-container .mdl-ripple {\n background: $mdlext-dark-switch-color;\n }\n fieldset[disabled] .mdl-switch .mdl-switch__ripple-container .mdl-ripple,\n .mdl-switch.is-disabled .mdl-switch__ripple-container .mdl-ripple {\n background: transparent;\n }\n\n}\n\n\n// mdl/src/data-table/_data-table.scss\n// -----------------------------------\n.mdlext-dark-color-theme {\n\n .mdl-data-table {\n border-color: $mdlext-dark-data-table-divider-color;\n background-color: $mdlext-dark-data-table-background-color;\n\n tbody {\n tr {\n &.is-selected {\n background-color: $mdlext-dark-data-table-selection-color;\n }\n\n &:hover {\n background-color: $mdlext-dark-data-table-hover-color;\n }\n }\n }\n\n th {\n color: $mdlext-dark-data-table-header-color;\n\n &.mdl-data-table__header--sorted-ascending,\n &.mdl-data-table__header--sorted-descending {\n color: $mdlext-dark-data-table-header-sorted-color;\n\n &:hover {\n &::before {\n color: $mdlext-dark-data-table-header-sorted-icon-hover-color;\n }\n }\n }\n }\n }\n}\n\n// mdl/src/menu/_menu.scss\n// -----------------------------------\n.mdlext-dark-color-theme {\n\n .mdl-menu__outline {\n background: $mdlext-dark-default-dropdown-bg-color;\n }\n\n .mdl-menu__item {\n color: $mdlext-dark-default-item-text-color;\n background-color: transparent;\n outline-color: $mdlext-dark-default-item-outline-color;\n\n &--full-bleed-divider {\n border-bottom-color: $mdlext-dark-default-item-divider-color;\n }\n\n &[disabled],\n &[data-mdl-disabled] {\n color: $mdlext-dark-disabled-item-text-color;\n background-color: transparent;\n\n &:hover {\n background-color: transparent;\n }\n\n &:focus {\n background-color: transparent;\n }\n\n & .mdl-ripple {\n background: transparent;\n }\n }\n\n &:hover {\n background-color: $mdlext-dark-default-item-hover-bg-color;\n }\n\n &:focus {\n background-color: $mdlext-dark-default-item-focus-bg-color;\n }\n\n &:active {\n background-color: $mdlext-dark-default-item-active-bg-color;\n }\n }\n}\n\n// mdl/src/card/_card.scss\n// ----------------------------------------\n.mdlext-dark-color-theme {\n .mdl-card {\n background: $mdlext-dark-card-background-color;\n }\n\n .mdl-card__media {\n background-color: $mdlext-dark-card-image-placeholder-color;\n }\n\n .mdl-card__title {\n color: $mdlext-dark-card-text-color;\n\n &.mdl-card--border {\n border-bottom-color: $mdlext-dark-card-border-color;\n }\n }\n\n .mdl-card__title-text {\n color: inherit;\n }\n\n .mdl-card__subtitle-text {\n color: $mdlext-dark-card-subtitle-color;\n }\n\n .mdl-card__supporting-text {\n color: $mdlext-dark-card-supporting-text-text-color;\n }\n\n .mdl-card__actions {\n background-color: rgba(255, 255, 255, 0);\n\n &.mdl-card--border {\n border-top-color: $mdlext-dark-card-border-color;\n }\n }\n}\n\n\n// mdlext/src/selectfield/_selectfield.scss\n// ----------------------------------------\n.mdlext-dark-color-theme {\n\n .mdlext-selectfield.is-disabled::after {\n color: $mdlext-dark-input-text-disabled-color;\n @include mdlext-arrow(bottom, $mdlext-selectfield-arrow-width, $mdlext-selectfield-arrow-length, $mdlext-dark-input-text-disabled-color);\n }\n\n .mdlext-selectfield__select {\n border-bottom-color: $mdlext-dark-input-text-bottom-border-color;\n color: inherit;\n\n option {\n background-color: $mdlext-dark-content-background-color;\n color: $mdlext-dark-text-color-primary;\n }\n }\n .mdlext-selectfield.is-invalid .mdlext-selectfield__select {\n border-color: $mdlext-dark-input-text-error-color;\n }\n fieldset[disabled] .mdlext-selectfield .mdlext-selectfield__select,\n .mdlext-selectfield.is-disabled .mdlext-selectfield__select {\n background-color: transparent;\n border-bottom-color: $mdlext-dark-input-text-disabled-color;\n color: $mdlext-dark-input-text-disabled-text-color;\n }\n\n .mdlext-selectfield__label {\n color: $mdlext-dark-input-text-label-color;\n }\n fieldset[disabled] .mdlext-selectfield .mdlext-selectfield__label,\n .mdlext-selectfield.is-disabled.is-disabled .mdlext-selectfield__label {\n color: $mdlext-dark-input-text-disabled-text-color;\n }\n .mdlext-selectfield--floating-label.is-focused .mdlext-selectfield__label,\n .mdlext-selectfield--floating-label.is-dirty .mdlext-selectfield__label,\n .mdlext-selectfield--floating-label.is-dirty.is-dirty .mdlext-selectfield__label,\n .mdlext-selectfield--floating-label.has-placeholder .mdlext-selectfield__label {\n color: $mdlext-dark-input-text-highlight-color;\n }\n .mdlext-selectfield--floating-label.is-invalid .mdlext-selectfield__label {\n color: $mdlext-dark-input-text-error-color;\n }\n .mdlext-selectfield__label::after {\n background-color: $mdlext-dark-input-text-highlight-color;\n }\n .mdlext-selectfield.is-invalid .mdlext-selectfield__label::after {\n background-color: $mdlext-dark-input-text-error-color;\n }\n\n .mdlext-selectfield__error {\n color: $mdlext-dark-input-text-error-color;\n }\n}\n\n\n// mdlext/src/menu-button/_menu-button.scss\n// ----------------------------------------\n.mdlext-menu.mdlext-dark-color-theme {\n background: $mdlext-dark-default-dropdown-bg-color;\n}\n\n.mdlext-dark-color-theme {\n\n .mdlext-menu {\n background: $mdlext-dark-default-dropdown-bg-color;\n\n &__item {\n color: $mdlext-dark-default-item-text-color;\n background-color: $mdlext-dark-default-dropdown-bg-color;\n\n &:active,\n &[aria-selected='true'] {\n background-color: $mdlext-dark-default-item-active-bg-color;\n }\n &:hover:not([disabled]) {\n background-color: $mdlext-dark-default-item-hover-bg-color;\n }\n &:focus {\n outline-color: $mdlext-dark-default-item-outline-color;\n background-color: $mdlext-dark-default-item-focus-bg-color;\n }\n &[disabled] {\n color: $mdlext-dark-disabled-item-text-color;\n\n > * {\n color: $mdlext-dark-disabled-item-text-color;\n }\n }\n }\n &__item-separator {\n border-bottom: 1px solid $mdlext-dark-default-item-divider-color;\n }\n }\n}\n\n\n// mdlext/src/bordered-fields/_bordered-fields.scss\n// -------------------------------------------------\n.mdlext-dark-color-theme {\n\n .mdlext-bordered-fields {\n\n .mdl-textfield,\n .mdlext-selectfield {\n\n .mdl-textfield__input,\n .mdlext-selectfield__select {\n background-color: $mdlext-dark-bordered-field-background-color;\n border-color: $mdlext-dark-bordered-field-border-color;\n color: $mdlext-dark-bordered-field-input-text-color;\n\n &:disabled {\n color: $mdlext-dark-bordered-field-input-text-disabled-text-color;\n background-color: $mdlext-dark-bordered-field-disabled-background-color;\n border-color: $mdlext-dark-bordered-field-disabled-border-color;\n }\n &:focus {\n background-color: $mdlext-dark-bordered-field-focus-background-color;\n border-color: $mdlext-dark-bordered-field-focus-border-color;\n }\n }\n &.is-invalid {\n .mdl-textfield__input,\n .mdlext-selectfield__select {\n color: $mdlext-dark-bordered-field-input-text-error-color;\n border-color: $mdlext-dark-bordered-field-error-border-color;\n background-color: $mdlext-dark-bordered-field-error-background-color;\n\n &:focus {\n border-color: $mdlext-dark-bordered-field-error-focus-border-color;\n background-color: $mdlext-dark-bordered-field-error-focus-background-color;\n }\n }\n }\n }\n\n fieldset[disabled] .mdlext-selectfield::after,\n .mdlext-selectfield.is-disabled::after {\n color: $mdlext-dark-bordered-field-input-text-disabled-text-color;\n @include mdlext-arrow(bottom, $mdlext-selectfield-arrow-width, $mdlext-selectfield-arrow-length, $mdlext-dark-bordered-field-input-text-disabled-text-color);\n }\n\n fieldset[disabled] .mdl-textfield .mdl-textfield__input,\n fieldset[disabled] .mdlext-selectfield .mdlext-selectfield__select {\n color: $mdlext-dark-bordered-field-input-text-disabled-text-color;\n background-color: $mdlext-dark-bordered-field-disabled-background-color;\n border-color: $mdlext-dark-bordered-field-disabled-border-color;\n }\n\n .mdl-textfield,\n .mdlext-selectfield {\n\n .mdl-textfield__label,\n .mdlext-selectfield__label {\n color: $mdlext-dark-bordered-field-input-text-label-color;\n }\n &.mdl-textfield--floating-label.is-focused.is-focused,\n &.mdl-textfield--floating-label.is-dirty.is-dirty,\n &.mdl-textfield--floating-label.has-placeholder,\n &.mdlext-selectfield--floating-label.is-focused.is-focused,\n &.mdlext-selectfield--floating-label.is-dirty.is-dirty,\n &.mdlext-selectfield--floating-label.has-placeholder {\n\n .mdl-textfield__label,\n .mdlext-selectfield__label {\n color: $mdlext-dark-bordered-field-input-text-label-focus-color;\n }\n }\n &.mdl-textfield--floating-label.is-disabled.is-disabled,\n &.mdlext-selectfield--floating-label.is-disabled.is-disabled {\n\n .mdl-textfield__label,\n .mdlext-selectfield__label {\n color: $mdlext-dark-bordered-field-input-text-label-disabled-color;\n }\n }\n &.mdl-textfield--floating-label.is-invalid.is-invalid,\n &.mdlext-selectfield--floating-label.is-invalid.is-invalid {\n\n .mdl-textfield__label,\n .mdlext-selectfield__label {\n color: $mdlext-dark-bordered-field-input-text-label-error-color;\n }\n }\n }\n\n fieldset[disabled] .mdl-textfield .mdl-textfield__label,\n fieldset[disabled] .mdl-selectfield .mdl-selectfield__label {\n color: $mdlext-dark-bordered-field-input-text-label-disabled-color;\n }\n\n // Icon(s) and/or button(s) inside textfield\n .mdl-textfield,\n .mdlext-selectfield {\n &.is-disabled i,\n &.is-disabled .mdl-button {\n color: $mdlext-dark-bordered-field-disabled-border-color;\n }\n }\n fieldset[disabled] .mdl-textfield,\n fieldset[disabled] .mdlext-selectfield {\n i,\n .mdl-button {\n color: $mdlext-dark-bordered-field-disabled-border-color;\n }\n }\n }\n\n}\n\n\n// mdlext/src/accordion/_accordion.scss\n// ----------------------------------------\n.mdlext-dark-color-theme {\n\n .mdlext-accordion {\n\n &__tab {\n color: $mdlext-dark-accordion-header-secondary-color;\n background-color: $mdlext-dark-accordion-header-background-color;\n\n &:focus {\n outline-color: $mdlext-dark-accordion-header-focus-outline-color;\n }\n &[aria-expanded='true'] {\n background-color: $mdlext-dark-accordion-header-background-open-color;\n }\n &[aria-selected='true'] {\n background-color: $mdlext-dark-accordion-header-background-active-color;\n }\n &[disabled] {\n background-color: $mdlext-dark-accordion-header-disabled-color;\n color: $mdlext-dark-accordion-header-secondary-color-disabled;\n pointer-events: none;\n\n > * {\n color: $mdlext-dark-accordion-header-secondary-color-disabled;\n }\n }\n &:hover:not([disabled]) {\n background-color: $mdlext-dark-accordion-header-background-hover-color;\n }\n &--ripple {\n &[aria-selected='true']::before {\n background: $mdlext-dark-accordion-ripple-color;\n }\n }\n }\n\n &__tabpanel {\n color: $mdlext-dark-accordion-content-color;\n background-color: $mdlext-dark-accordion-content-background-color;\n }\n }\n\n // Vertical layout\n .mdlext-accordion {\n\n &--vertical {\n\n .mdlext-accordion__tab {\n border-top: 1px solid $mdlext-dark-accordion-header-border-color;\n\n &[aria-selected='true']::after {\n background-color: $mdlext-dark-accordion-header-highlight-color;\n }\n }\n .mdlext-accordion__tabpanel {\n border-top: 1px solid $mdlext-dark-accordion-header-border-color;\n }\n }\n }\n\n // Horizontal layout\n .mdlext-accordion {\n\n &--horizontal {\n\n .mdlext-accordion__tab {\n border-left: 1px solid $mdlext-dark-accordion-header-border-color;\n\n &[aria-selected='true']::after {\n background-color: $mdlext-dark-accordion-header-highlight-color;\n }\n }\n .mdlext-accordion__tabpanel {\n border-left: 1px solid $mdlext-dark-accordion-header-border-color;\n }\n }\n }\n\n .mdlext-accordion {\n\n &__panel:first-child > &__tab {\n // Use container to set outer borders\n border-top-color: transparent;\n border-left-color: transparent;\n }\n }\n\n // Making accordion appear disabled.\n // Note: does not prevent tabbing into a disabled accordion\n .mdlext-accordion[disabled] {\n .mdlext-accordion__tab {\n background-color: $mdlext-dark-accordion-header-disabled-color;\n color: $mdlext-dark-accordion-header-secondary-color-disabled;\n\n > * {\n color: $mdlext-dark-accordion-header-secondary-color-disabled;\n }\n }\n .mdlext-accordion__tabpanel {\n opacity: 0.8;\n filter: blur(1px) grayscale(80%);\n }\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// webpack:///src/color-themes/_dark-color-theme.scss"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"sources":["webpack:///webpack:///~/material-design-lite/src/_variables.scss?0a5c","webpack:///webpack:///src/mdl-ext-build.scss","webpack:///webpack:///~/material-design-lite/src/_color-definitions.scss?1036","webpack:///webpack:///~/material-design-lite/src/_functions.scss?fd08","webpack:///webpack:///~/material-design-lite/src/_mixins.scss?572c","webpack:///webpack:///src/_variables.scss?5326","webpack:///webpack:///src/_functions.scss?19fe","webpack:///webpack:///src/aria-expanded-toggle/_aria-expanded-toggle.scss?d01f","webpack:///webpack:///src/_mixins.scss?c723","webpack:///webpack:///src/sticky-header/_sticky-header.scss?721e","webpack:///webpack:///src/dialog/dialog.scss?6dd1","webpack:///webpack:///src/grid/_grid-media-queries.scss","webpack:///webpack:///src/lightboard/_lightboard.scss?79ea","webpack:///webpack:///src/lightboard/_lightboard-media-queries.scss","webpack:///webpack:///src/lightbox/_lightbox.scss?bce5","webpack:///webpack:///src/carousel/_carousel.scss?ab9b","webpack:///webpack:///src/selectfield/_selectfield.scss?910a","webpack:///webpack:///src/menu-button/_menu-button.scss?610a","webpack:///webpack:///src/bordered-fields/_bordered-fields.scss?3072","webpack:///webpack:///src/collapsible/_collapsible.scss?5cb7","webpack:///webpack:///src/accordion/_accordion.scss?b350","webpack:///webpack:///src/color-themes/_color-themes.scss?0fde","webpack:///webpack:///src/color-themes/_light-color-theme.scss?77e1","webpack:///webpack:///src/color-themes/_dark-color-theme.scss?a990"],"names":[],"mappings":"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QAAA;GVmkBH;;EUpkBC;IACE;QAAA;GVukBH;;EUxkBC;IACE;QAAA;GV2kBH;;EU5kBC;IACE;QAAA;GV+kBH;;EUhlBC;IACE;QAAA;GVmlBH;;EUplBC;IACE;QAAA;GVulBH;;EUxlBC;IACE;QAAA;GV2lBH;;EU5lBC;IACE;QAAA;GV+lBH;;EUzlBC;;IAhDF;GV8oBC;;EU5oB0B;;;IACzB;GVipBD;;EUpmBC;;IAhDF;GVypBC;;EUvpBD;;;IACE;GV4pBD;;EU/mBC;;IAhDF;GVoqBC;;EUlqB0B;;;IACzB;GVuqBD;;EUlnBC;;IAxDF;GV+qBC;;EU7qBD;;;IACE;GVkrBD;;EU7nBC;;IAxDF;GV0rBC;;EUxrBD;;;IACE;GV6rBD;;EUxoBC;;IAxDF;GVqsBC;;EUnsBD;;;IACE;GVwsBD;;EUnpBC;;IAxDF;GVgtBC;;EU9sBD;;;IACE;GVmtBD;;EU9pBC;;IAxDF;GV2tBC;;EUztBD;;;IACE;GV8tBD;;EUzqBC;;IAxDF;GVsuBC;;EUpuBD;;;IACE;GVyuBD;;EUprBC;;IAxDF;GVivBC;;EU/uBD;;;IACE;GVovBD;;EU/rBC;;IAxDF;GV4vBC;;EU1vBD;;;IACE;GV+vBD;;EU1sBC;;IAxDF;GVuwBC;;EUrwBD;;;IACE;GV0wBD;;EU7sBC;;IApDF;GVswBC;;EUpwBD;;;IACE;GVywBD;;EUxtBC;;IApDF;GVixBC;;EU/wBsC;;;IACrC;GVoxBD;;EUnuBC;;IApDF;GV4xBC;;EU1xBD;;;IACE;GV+xBD;CACF;;AUruBD;;AACA;EAA4F;;EAC1F;IACE;GV2uBD;;EUxuBD;IACE;IAjFF;GV6zBC;;EU3zB0B;IACzB;GV8zBD;;EU5uBD;IACE;GV+uBD;;EU1uBC;IACE;QAAA;GV6uBH;;EU9uBC;IACE;QAAA;GVivBH;;EUlvBC;IACE;QAAA;GVqvBH;;EUtvBC;IACE;QAAA;GVyvBH;;EU1vBC;IACE;QAAA;GV6vBH;;EU9vBC;IACE;QAAA;GViwBH;;EUlwBC;IACE;QAAA;GVqwBH;;EUtwBC;IACE;QAAA;GVywBH;;EU1wBC;IACE;QAAA;GV6wBH;;EU9wBC;IACE;QAAA;GVixBH;;EUlxBC;IACE;QAAA;GVqxBH;;EUtxBC;IACE;QAAA;GVyxBH;;EUnxBC;;IAlGF;GV03BC;;EUx3B0B;;;IACzB;GV63BD;;EU9xBC;;IAlGF;GVq4BC;;EUn4BD;;;IACE;GVw4BD;;EUzyBC;;IAlGF;GVg5BC;;EU94B0B;;;IACzB;GVm5BD;;EUpzBC;;IAlGF;GV25BC;;EUz5BD;;;IACE;GV85BD;;EU/zBC;;IAlGF;GVs6BC;;EUp6B0B;;;IACzB;GVy6BD;;EU10BC;;IAlGF;GVi7BC;;EU/6B0B;;;IACzB;GVo7BD;;EUr1BC;;IAlGF;GV47BC;;EU17B0B;;;IACzB;GV+7BD;;EUx1BC;;IA1GF;GVu8BC;;EUr8B0B;;;IACzB;GV08BD;;EUn2BC;;IA1GF;GVk9BC;;EUh9B0B;;;IACzB;GVq9BD;;EU92BC;;IA1GF;GV69BC;;EU39B0B;;;IACzB;GVg+BD;;EUz3BC;;IA1GF;GVw+BC;;EUt+BD;;;IACE;GV2+BD;;EUp4BC;;IA1GF;GVm/BC;;EUj/B0B;;;IACzB;GVs/BD;;EUv4BC;;IAtGF;GVk/BC;;EUh/BD;;;IACE;GVq/BD;;EUl5BC;;IAtGF;GV6/BC;;EU3/BD;;;IACE;GVggCD;;EU75BC;;IAtGF;GVwgCC;;EUtgCsC;;;IACrC;GV2gCD;;EUx6BC;;IAtGF;GVmhCC;;EUjhCD;;;IACE;GVshCD;;EUn7BC;;IAtGF;GV8hCC;;EU5hCsC;;;IACrC;GViiCD;;EU97BC;;IAtGF;GVyiCC;;EUviCD;;;IACE;GV4iCD;;EUz8BC;;IAtGF;GVojCC;;EUljCD;;;IACE;GVujCD;CACF;;AU38BD;EACE;IACE;GV88BD;;EU38BD;IACE;IAlIF;GVilCC;;EU/kCD;IACE;GVklCD;;EU/8BD;IACE;GVk9BD;;EU78BC;IACE;QAAA;GVg9BH;;EUj9BC;IACE;QAAA;GVo9BH;;EUr9BC;IACE;QAAA;GVw9BH;;EUz9BC;IACE;QAAA;GV49BH;;EU79BC;IACE;QAAA;GVg+BH;;EUj+BC;IACE;QAAA;GVo+BH;;EUr+BC;IACE;QAAA;GVw+BH;;EUz+BC;IACE;QAAA;GV4+BH;;EU7+BC;IACE;QAAA;GVg/BH;;EUj/BC;IACE;QAAA;GVo/BH;;EUr/BC;IACE;QAAA;GVw/BH;;EUz/BC;IACE;QAAA;GV4/BH;;EUt/BC;;IAnJF;GV8oCC;;EU5oCD;;;IACE;GVipCD;;EUjgCC;;IAnJF;GVypCC;;EUvpCD;;;IACE;GV4pCD;;EU5gCC;;IAnJF;GVoqCC;;EUlqC0B;;;IACzB;GVuqCD;;EUvhCC;;IAnJF;GV+qCC;;EU7qCD;;;IACE;GVkrCD;;EUliCC;;IAnJF;GV0rCC;;EUxrC0B;;;IACzB;GV6rCD;;EU7iCC;;IAnJF;GVqsCC;;EUnsCD;;;IACE;GVwsCD;;EUxjCC;;IAnJF;GVgtCC;;EU9sC0B;;;IACzB;GVmtCD;;EUnkCC;;IAnJF;GV2tCC;;EUztC0B;;;IACzB;GV8tCD;;EU9kCC;;IAnJF;GVsuCC;;EUpuC0B;;;IACzB;GVyuCD;;EUzlCC;;IAnJF;GVivCC;;EU/uC0B;;;IACzB;GVovCD;;EUpmCC;;IAnJF;GV4vCC;;EU1vC0B;;;IACzB;GV+vCD;;EU/mCC;;IAnJF;GVuwCC;;EUrwC0B;;;IACzB;GV0wCD;;EUlnCC;;IA/IF;GVswCC;;EUpwCsC;;;IACrC;GVywCD;;EU7nCC;;IA/IF;GVixCC;;EU/wCD;;;IACE;GVoxCD;;EUxoCC;;IA/IF;GV4xCC;;EU1xCsC;;;IACrC;GV+xCD;;EUnpCC;;IA/IF;GVuyCC;;EUryCD;;;IACE;GV0yCD;;EU9pCC;;IA/IF;GVkzCC;;EUhzCsC;;;IACrC;GVqzCD;;EUzqCC;;IA/IF;GV6zCC;;EU3zCsC;;;IACrC;GVg0CD;;EUprCC;;IA/IF;GVw0CC;;EUt0CD;;;IACE;GV20CD;;EU/rCC;;IA/IF;GVm1CC;;EUj1CsC;;;IACrC;GVs1CD;;EU1sCC;;IA/IF;GV81CC;;EU51CD;;;IACE;GVi2CD;;EUrtCC;;IA/IF;GVy2CC;;EUv2CD;;;IACE;GV42CD;;EUhuCC;;IA/IF;GVo3CC;;EUl3CD;;;IACE;GVu3CD;CACF;;AWj9CD;;;;;;;;;;;;;;GXi+CG;;AWj9CH;;;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A;EACA;EACA;EACA;Cdi/DD;;Ac9+DD;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;Cdi/DD;;Ac5+DG;;EAIE;EACA;Cd6+DL;;Ac//DD;;EAwBI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;Cd4+DH;;Ac7gED;EAsCI;Cd2+DH;;Acx+DC;EACE;EACA;EACA;EACA;EACA;Cd2+DH;;Acz+DG;EACE;EACA;Cd4+DL;;Acz+DG;EACE;EX7EF;EAgIF;EACA;EACA;EACA;EWnDI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;Cd++DL;;AcljED;EA0EQ;EACA;Cd4+DP;;Acv+DC;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;Cd0+DH;;AcnkED;EA4FM;Cd2+DL;;AelnED;;;;;;;;;;;;;;GfkoEG;;AelnEH;;;;;;;;Gf4nEG;;AKvkEH;;AAqCA;;AUzEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CfknED;;Ae1nED;EAYI;EACA;CfknEH;;Ae9mEC;ERzCA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAKE;EACA;EQ8BA;EACA;EACA;EACA;EACA;Cf0nEH;;AetnED;EAEI;ERtDF;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAKE;EACA;CP2qEH;;Ae7nED;EACE;CfgoED;;Ae5nED;EACE;Cf+nED;;Ae3nED;EACE;EACA;EACA;Cf8nED;;Ae1nED;EAGE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CfynED;;AetnEC;EACE;EACA;CfynEH;;AernEC;EACE;EACA;CfwnEH;;Ae5pED;EAwCI;CfwnEH;;AernEC;EACE;CfwnEH;;AernEgC;EAC7B;EACA;CfwnEH;;AernEC;;EAEE;EACA;EACA;CfwnEH;;AehrED;EA4DI;EACA;EACA;CfwnEH;;AennED;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CfsnED;;AepnE8B;;EAE3B;CfunEH;;AennEqC;EZ+GpC;EACA;CHwgED;;AepnEqD;EAClD;CfunEH;;AepnEwC;;EAErC;CfunEH;;AepnEgD;;;EAG7C;EACA;EACA;EACA;CfunEH;;AepnEC;;;EAGE;CfunEH;;AepnEgD;EAC7C;EACA;CfunEH;;Ae3qED;EAyDI;EACA;EACA;EACA;EACA;EACA;EZuEF;EACA;EYrEE;EACA;CfsnEH;;AennEC;EACE;EACA;EACA;CfsnEH;;AennEgC;EAC7B;CfsnEH;;AejnED;EACE;EACA;EACA;EACA;EACA;EACA;CfonED;;AelnEC;EACE;CfqnEH;;AehnED;EACE;EACA;EACA;EZmCA;EACA;EY5BA;Cf8mED;;Ae5mEgC;;EAM7B;Cf2mEH;;AezmEC;EACE;Cf4mEH;;AgBx3ED;;;;;;;;;;;;;;;;;;GhB44EG;;AgBx3EH;;;;;;;;;EhBm4EE;;AgBx3EF;EACE;EbdE;EAqKF;EACA;EACA;EACA;EaxJA;EACA;EACA;EACA;EACA;EAAA;EACA;MAAA;EACA;MAAA;ChB+3ED;;AgB73EG;EACA;EACA;ChBg4EH;;AgB73EG;EACA;ChBg4EH;;AgBj5ED;EAqBI;ChBg4EH;;AgB33ED;EACE;EACA;EACA;EACA;ChB83ED;;AgB33ED;;EAEE;EACA;EACA;EACA;EACA;EAAA;ChB83ED;;AgB33ED;EACE;EACA;EACA;EACA;EACA;Eb4JA;Ea1JA;EAAA;EACA;MAAA;EACA;EACA;EACA;ChB83ED;;AgBz4ED;EAcI;EACA;ChB+3EH;;AgB94ED;ETxCE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;ESqDE;ChBs4EH;;AgBn4EC;EbsCA;EACA;EACA;EACA;EavCE;EACA;EACA;EACA;EACA;MAAA;EACA;MAAA;MAAA;EACA;EACA;EACA;EACA;KAAA;MAAA;UAAA;EACA;EACA;ChBy4EH;;AgBv4EG;EACE;ChB04EL;;AgBt4EG;EACE;EACA;EACA;EACA;EACA;EACA;EACA;ChBy4EL;;AgBt4EG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D;;;;;;;;;;EnBi+FE;;AmBr9FF;EACE;IAAK;GnBy9FJ;;EmBx9FD;IAAM;GnB49FL;;EmB39FD;IAAM;GnB+9FL;;EmB99FD;IAAO;GnBk+FN;CACF;;AmBh+FD;EACE;IAAK;GnBo+FJ;;EmBn+FD;IAAM;GnBu+FL;;EmBt+FD;IAAM;GnB0+FL;;EmBz+FD;IAAO;GnB6+FN;CACF;;AmB3+FD;;;;;;;;;;EnBu/FE;;AmB3+FF;EACE;IAAK;GnB++FJ;;EmB9+FD;IAAM;GnBk/FL;;EmBj/FD;IAAM;GnBq/FL;;EmBp/FD;IAAO;GnBw/FN;CACF;;AmBt/FD;EACE;IAAK;GnB0/FJ;;EmBz/FD;IAAM;GnB6/FL;;EmB5/FD;IAAM;GnBggGL;;EmB//FD;IAAO;GnBmgGN;CACF;;AoB74GD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EpBu8GE;;AqBr8GF;EACE;EACA;CrBw8GD;;AqB18GD;EAKI;CrBy8GH;;AqBj8GC;EACE;CrBo8GH;;AqBj8GC;EACE;CrBo8GH;;AqB38GD;EAWI;CrBo8GH;;AqBj8GC;EACE;CrBo8GH;;AqBj8GC;EACE;CrBo8GH;;AqBv9GD;EAuBI;CrBo8GH;;AqB39GD;EA2BI;CrBo8GH;;AqB/9GD;EA+BI;CrBo8GH;;AqBj8GC;EACE;CrBo8GH;;AqBv+GD;EAuCI;CrBo8GH;;AqB77GD;EAEI;CrB+7GH;;AqBv7GC;EAGI;EACA;CrBw7GL;;AqB77GD;EAUQ;EACA;CrBu7GP;;AqB96GD;EAGI;EACA;CrB+6GH;;AqBj7GC;EAKI;CrBg7GL;;AqBv7GD;EAWM;CrBg7GL;;AqB37GD;EAeM;CrBg7GL;;AqB/7GD;EAmBM;CrBg7GL;;AqBj8GC;EAoBM;CrBi7GP;;AqBv8GD;EA6BI;CrB86GH;;AqB38GD;EAgCM;CrB+6GL;;AqBn7GC;EAQI;CrB+6GL;;AqBv7GC;EAYI;EACA;CrB+6GL;;AqB57GC;EAgBM;CrBg7GP;;AqBh8GC;EAoBM;CrBg7GP;;AqBh+GD;EAoDQ;CrBg7GP;;AqBp+GD;EAwDQ;CrBg7GP;;AqBx+GD;EAgEI;CrB46GH;;AqB5+GD;EAmEM;CrB66GL;;AqBj7GC;EAQI;CrB66GL;;AqBp/GD;EA2EM;EACA;CrB66GL;;AqBz/GD;EA+EQ;CrB86GP;;AqB7/GD;EAmFQ;CrB86GP;;AqBjgHD;EAuFQ;CrB86GP;;AqBrgHD;EA2FQ;CrB86GP;;AqBzgHD;EAmGI;CrB06GH;;AqBr6GC;EACE;CrBw6GH;;AqBjhHD;EA4GM;CrBy6GL;;AqBrhHD;;EAgHM;EACA;CrB06GL;;AqBt6GC;EACE;CrBy6GH;;AqBv6GK;EACA;CrB06GL;;AqB96GC;;EAQI;EACA;CrB26GL;;AqBziHD;;EAwIM;EACA;CrBs6GL;;AqB/iHD;;EAgJQ;EACA;CrBo6GP;;AqBrjHD;;EAyJQ;EACA;CrBi6GP;;AqBv7GC;;EA6BM;CrB+5GP;;AqBv5GD;EAIM;EACA;EAeA;EAgBA;EAGA;EA6BA;EAQA;EAOA;EA8BA;EA0BA;EAMA;EAsCA;EAkBA;CrB8tGL;;AqBv6GD;EAQQ;CrBm6GP;;AqB36GD;EAYQ;CrBm6GP;;AqB/6GD;EAgBQ;EACA;CrBm6GP;;AqBp7GD;EAsBQ;CrBk6GP;;AqBx7GD;EA8BQ;CrB85GP;;AqB57GD;EAyCQ;CrBu5GP;;AqBh8GD;EA6CQ;CrBu5GP;;AqBp8GD;EAiDQ;CrBu5GP;;AqBx8GD;EAqDQ;CrBu5GP;;AqB58GD;EAyDQ;CrBu5GP;;AqB/8GC;EA4DM;CrBu5GP;;AqBp9GD;EAiEQ;CrBu5GP;;AqBx9GD;EAsEQ;CrBs5GP;;AqB59GD;EA+EQ;CrBi5GP;;AqBh+GD;EAsFQ;EACA;CrB84GP;;AqBp+GC;EA0FM;EACA;CrB84GP;;AqB1+GD;EAgGQ;EACA;CrB84GP;;AqB/+GD;EAqGQ;EACA;CrB84GP;;AqBp/GD;EA0GQ;CrB84GP;;AqBx/GD;EA8GQ;CrB84GP;;AqB3/GC;EAkHM;CrB64GP;;AqB//GC;EA0HM;CrBy4GP;;AqBpgHD;EAqIQ;CrBm4GP;;AqBxgHD;EA8IQ;CrB83GP;;AqB3gHC;;;EAqJM;CrB43GP;;AqBlhHD;;;EA4JQ;CrB43GP;;AqBxhHD;EAgKQ;CrB43GP;;AqB3hHC;;;EAqKM;EACA;CrB43GP;;AqBliHC;;;EA4KM;EACA;CrB43GP;;AqB1iHD;;;EAoLQ;CrB43GP;;AqBhjHD;;;EA2LQ;CrB23GP;;AqBrjHC;EAkMM;CrBu3GP;;AqB52GC;EACE;CrB+2GH;;AqB9jHD;EAmNI;CrB+2GH;;AqB32GC;EACE;CrB82GH;;AqBv2GD;EAGI;CrBw2GH;;AqB32GD;EAMI;CrBy2GH;;AqB/2GD;;EAUI;EACA;EACA;CrB02GH;;AqBt3GD;EAeI;CrB22GH;;AqBz2GC;EACE;CrB42GH;;AqB12GmC;;EAEhC;CrB62GH;;AqB32G2C;;;EAGxC;CrB82GH;;AqBz4GD;EA8BI;CrB+2GH;;AqB74GD;EAiCI;CrBg3GH;;AqBj5GD;EAoCI;CrBi3GH;;AqBx2GC;EACE;CrB22GH;;AqB92GD;EAMI;CrB42GH;;AqBl3GD;;EAUI;CrB62GH;;AqB12GC;EACE;CrB62GH;;AqB33GD;EAiBI;EACA;CrB82GH;;AqBh4GD;EAsBI;CrB82GH;;AqBp4GD;EAyBI;CrB+2GH;;AqBx4GD;;EA6BI;CrBg3GH;;AqB74GD;;EAkCI;CrBg3GH;;AqB72GiC;EAC9B;CrBg3GH;;AqBt5GD;;EA0CI;CrBi3GH;;AqBz2GC;EACE;CrB42GH;;AqB92GD;EAKI;CrB62GH;;AqB32G6C;;EAE1C;CrB82GH;;AqB32GC;EACE;CrB82GH;;AqB33GD;;EAiBI;CrB+2GH;;AqBh4GD;;EAsBI;CrB+2GH;;AqBr4GD;EA0BI;CrB+2GH;;AqBz4GD;;EA8BI;CrBg3GH;;AqB12GD;EAEI;CrB42GH;;AqB92GD;EAKI;CrB62GH;;AqB32G8B;EAC3B;CrB82GH;;AqB52G6B;EAC1B;CrB+2GH;;AqB72GwC;EACrC;CrBg3GH;;AqB92GoC;EACjC;CrBi3GH;;AqB/2GiE;EAC9D;CrBk3GH;;AqBz2GC;EACE;CrB42GH;;AqB/2GD;EAMI;CrB62GH;;AqBn3GD;;EAUI;CrB82GH;;AqBx3GD;EAcI;CrB82GH;;AqB52GwB;EACrB;CrB+2GH;;AqBh4GD;;EAqBI;CrBg3GH;;AqBr4GD;EAyBI;CrBg3GH;;AqB92GwB;EACrB;CrBi3GH;;AqB/2GmC;EAChC;EACA;CrBk3GH;;AqB/2GuC;;EAEpC;CrBk3GH;;AqB/2G+B;EAC5B;CrBk3GH;;AqB35GD;;EA6CI;CrBm3GH;;AqB52GD;EAGI;EACA;CrB62GH;;AqBj3GD;EASU;CrB42GT;;AqBr3GD;EAYU;CrB62GT;;AqBz2GG;EACE;CrB42GL;;AqB73GD;;EAqBQ;CrB62GP;;AqBl4GD;;EAyBY;CrB82GX;;AqBj2GC;EACE;CrBo2GH;;AqBv2GD;EAOI;EACA;EACA;CrBo2GH;;AqBv2GC;EAMI;CrBq2GL;;AqB32GC;;EAWI;EACA;CrBq2GL;;AqBj3GC;;EAeM;CrBu2GP;;AqB53GD;;EAyBQ;CrBw2GP;;AqBr2GO;;EACA;CrBy2GP;;AqBh4GC;EA4BI;CrBw2GL;;AqB14GD;EAsCM;CrBw2GL;;AqB94GD;EA0CM;CrBw2GL;;AqB91GC;EACE;CrBi2GH;;AqBp2GD;EAOI;CrBi2GH;;AqB91GC;EACE;CrBi2GH;;AqB52GD;EAcM;CrBk2GL;;AqBh3GD;EAmBI;CrBi2GH;;AqB91GC;EACE;CrBi2GH;;AqBx3GD;EA2BI;CrBi2GH;;AqB91GC;EACE;CrBi2GH;;AqBh4GD;EAkCM;CrBk2GL;;AqB11GD;EAGI;EdzyBF;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAKE;EACA;CPioIH;;AqBz2GD;EAQI;EACA;CrBq2GH;;AqB92GD;EAYM;EACA;CrBs2GL;;AqBn3GD;EAiBI;CrBs2GH;;AqBv3GD;;EAqBI;EACA;EACA;CrBu2GH;;AqBp2GC;EACE;CrBu2GH;;AqBl4GD;;EA+BI;CrBw2GH;;AqBv4GD;;;;EAqCI;CrBy2GH;;AqB94GD;EAwCI;CrB02GH;;AqBl5GD;EA2CI;CrB22GH;;AqBt5GD;EA8CI;CrB42GH;;AqB15GD;EAkDI;CrB42GH;;AqBt2GD;EACE;CrBy2GD;;AqBt2GD;EAGI;CrBu2GH;;AqBx2GC;EAII;EACA;CrBw2GL;;AqB72GC;;EASM;CrBy2GP;;AqBp3GD;EAcQ;CrB02GP;;AqBt3GC;EAeM;EACA;CrB22GP;;AqB33GC;EAmBM;CrB42GP;;AqB12GS;EACA;CrB62GT;;AqBr4GD;EA6BM;CrB42GL;;AqBp2GD;;;;EASQ;EACA;EACA;CrBk2GP;;AqBt2GK;;;;EAOI;EACA;EACA;CrBs2GT;;AqBt3GD;;;;EAmBU;EACA;CrB02GT;;AqB93GD;;;;EA0BU;EACA;EACA;CrB22GT;;AqBv4GD;;;;EA+BY;EACA;CrB+2GX;;AqB/4GD;;EAwCM;Ed/6BJ;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAKE;EACA;CPwxIH;;AqB/5GD;;EA8CM;EACA;EACA;CrBs3GL;;AqBt6GD;;;;EAwDQ;CrBq3GP;;AqB52GO;;;;;;;;;;;;;;;;;;;;;;;;EAEE;CrBq4GT;;AqB/3GO;;;;;;;;EAEE;CrBw4GT;;AqBl4GO;;;;;;;;EAEE;CrB24GT;;AqBt4GqC;;EAEhC;CrBy4GL;;AqBn+GD;;;;EAkGQ;CrBw4GP;;AqBn4GK;;;;EAEE;CrBw4GP;;AqB/3GD;EAKM;EACA;CrB83GL;;AqBp4GD;EASQ;CrB+3GP;;AqBt4GC;EAUM;CrBg4GP;;AqB54GD;EAeQ;CrBi4GP;;AqBh5GD;EAkBQ;EACA;EACA;CrBk4GP;;AqBh4GS;EACA;CrBm4GT;;AqBx5GC;EAyBM;CrBm4GP;;AqB55GC;EA6BQ;CrBm4GT;;AqBl6GD;EAqCM;EACA;CrBi4GL;;AqBx3GK;EACE;CrB23GP;;AqB36GD;EAmDU;CrB43GT;;AqBz3GK;EACE;CrB43GP;;AqBl3GK;EACE;CrBq3GP;;AqBv7GD;EAqEU;CrBs3GT;;AqBn3GK;EACE;CrBs3GP;;AqBj3GC;EAII;EACA;CrBi3GL;;AqBp8GD;EA2FM;EACA;CrB62GL;;AqB32GO;EACA;CrB82GP;;AqB78GD;EAmGM;EACA;CrB82GL;;AoBp9ID;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EpB8gJE;;AsB5gJF;EACE;EACA;CtB+gJD;;AsB9gJC;EACE;CtBihJH;;AsB5gJD;EAGI;CtB6gJH;;AsB1gJC;EACE;CtB6gJH;;AsB1gJC;EACE;CtB6gJH;;AsBxhJD;EAeI;CtB6gJH;;AsB5hJD;EAmBI;CtB6gJH;;AsBhiJD;EAuBI;CtB6gJH;;AsB1gJC;EACE;CtB6gJH;;AsBxiJD;EA+BI;CtB6gJH;;AsB5iJD;EAmCI;CtB6gJH;;AsB1gJC;EACE;CtB6gJH;;AsBtgJC;EACE;CtBygJH;;AsBlgJD;EAIM;EACA;CtBkgJL;;AsBtgJC;EASM;EACA;CtBigJP;;AsBx/ID;EAGI;EACA;CtBy/IH;;AsB7/ID;EAOM;CtB0/IL;;AsBjgJD;EAWM;CtB0/IL;;AsBngJC;EAaI;CtB0/IL;;AsBzgJD;EAmBM;CtB0/IL;;AsB7gJD;EAsBQ;CtB2/IP;;AsBjhJD;EA6BI;CtBw/IH;;AsBz/IC;EAII;CtBy/IL;;AsBzhJD;EAoCM;CtBy/IL;;AsB7hJD;EAwCM;EACA;CtBy/IL;;AsBliJD;EA4CQ;CtB0/IP;;AsBtiJD;EAgDQ;CtB0/IP;;AsB1iJD;EAoDQ;CtB0/IP;;AsB9iJD;EAwDQ;CtB0/IP;;AsBn/IC;EACE;CtBs/IH;;AsBtjJD;EAmEM;CtBu/IL;;AsB1jJD;EAuEM;CtBu/IL;;AsB//IC;EAYI;EACA;CtBu/IL;;AsBnkJD;EA+EQ;CtBw/IP;;AsBvkJD;EAmFQ;CtBw/IP;;AsB5gJC;EAwBM;CtBw/IP;;AsBr/IO;EACA;CtBw/IP;;AsBj/IC;EACE;CtBo/IH;;AsBvlJD;EAyGI;CtBk/IH;;AsB3lJD;EA4GM;CtBm/IL;;AsBv/IC;;EAQI;EACA;CtBo/IL;;AsBrmJD;EAsHI;CtBm/IH;;AsBzmJD;EAyHM;CtBo/IL;;AsB7mJD;;EA6HM;EACA;CtBq/IL;;AsB/+IC;;EAII;EACA;CtBg/IL;;AsBr/IC;;EAYM;EACA;CtB8+IP;;AsB/nJD;;EAyJQ;EACA;CtB2+IP;;AsBjgJC;;EA6BM;CtBy+IP;;AsB99IC;EAGI;EACA;EAeA;EAmBA;EA8BA;EAQA;EAOA;EA8BA;EA0BA;EAMA;EAsCA;EAkBA;CtBoyIL;;AsB/+ID;EASQ;CtB0+IP;;AsBn/ID;EAaQ;CtB0+IP;;AsBv/ID;EAiBQ;EACA;CtB0+IP;;AsB1/IC;EAqBM;CtBy+IP;;AsB9/IC;EA+BM;CtBm+IP;;AsBpgJD;EA2CQ;CtB69IP;;AsBxgJD;EA+CQ;CtB69IP;;AsB5gJD;EAmDQ;CtB69IP;;AsBhhJD;EAuDQ;CtB69IP;;AsBphJD;EA2DQ;CtB69IP;;AsBxhJD;EA+DQ;CtB69IP;;AsB5hJD;EAmEQ;CtB69IP;;AsBhiJD;EAwEQ;CtB49IP;;AsBpiJD;EAiFQ;CtBu9IP;;AsBxiJD;EAwFQ;EACA;CtBo9IP;;AsB7iJD;EA6FQ;EACA;CtBo9IP;;AsBhjJC;EAgGM;EACA;CtBo9IP;;AsBrjJC;EAqGM;EACA;CtBo9IP;;AsB5jJD;EA4GQ;CtBo9IP;;AsBhkJD;EAgHQ;CtBo9IP;;AsBlkJC;EAmHM;CtBm9IP;;AsBxkJD;EA6HQ;CtB+8IP;;AsB5kJD;EAuIQ;CtBy8IP;;AsBhlJD;EAgJQ;CtBo8IP;;AsBllJC;;;EAsJM;CtBk8IP;;AsB1lJD;;;EA8JQ;CtBk8IP;;AsB/7IiD;EAC1C;CtBk8IP;;AsBpmJD;;;EAwKQ;EACA;CtBk8IP;;AsBzmJC;;;EA6KM;EACA;CtBk8IP;;AsBlnJD;;;EAsLQ;CtBk8IP;;AsBtnJC;;;EA2LM;CtBi8IP;;AsB5nJC;EAmMM;CtB67IP;;AsBloJD;EAiNI;CtBq7IH;;AsBl7IC;EACE;CtBq7IH;;AsB1oJD;EA0NI;CtBo7IH;;AsB36IC;EACE;CtB86IH;;AsBj7ID;EAMI;CtB+6IH;;AsBr7ID;;EAUI;EACA;EACA;CtBg7IH;;AsB96IC;EACE;CtBi7IH;;AsBh8ID;EAkBI;CtBk7IH;;AsBp8ID;;EAsBI;CtBm7IH;;AsBj7I2C;;;EAGxC;CtBo7IH;;AsB/8ID;EA8BI;CtBq7IH;;AsBn9ID;EAiCI;CtBs7IH;;AsBv9ID;EAoCI;CtBu7IH;;AsB96IC;EACE;CtBi7IH;;AsBp7ID;EAMI;CtBk7IH;;AsBx7ID;;EAUI;CtBm7IH;;AsB77ID;EAcI;CtBm7IH;;AsBj8ID;EAiBI;EACA;CtBo7IH;;AsBj7IC;EACE;CtBo7IH;;AsB18ID;EAyBI;CtBq7IH;;AsB98ID;;EA6BI;CtBs7IH;;AsBn9ID;;EAkCI;CtBs7IH;;AsBx9ID;EAsCI;CtBs7IH;;AsBp7IkE;;EAE/D;CtBu7IH;;AsB/6IC;EACE;CtBk7IH;;AsBp7ID;EAKI;CtBm7IH;;AsBx7ID;;EASI;CtBo7IH;;AsB77ID;EAaI;CtBo7IH;;AsBl7I+B;;EAE5B;CtBq7IH;;AsBt8ID;;EAsBI;CtBq7IH;;AsBl7I8B;EAC3B;CtBq7IH;;AsBn7I4D;;EAEzD;CtBs7IH;;AsBh7ID;EAEI;CtBk7IH;;AsBp7ID;EAKI;CtBm7IH;;AsBx7ID;EAQI;CtBo7IH;;AsB57ID;EAWI;CtBq7IH;;AsBh8ID;EAcI;CtBs7IH;;AsBp7IoC;EACjC;CtBu7IH;;AsBr7IiE;EAC9D;CtBw7IH;;AsB/6IC;EACE;CtBk7IH;;AsBr7ID;EAMI;CtBm7IH;;AsBz7ID;;EAUI;CtBo7IH;;AsB97ID;EAcI;CtBo7IH;;AsBl7IwB;EACrB;CtBq7IH;;AsBn7IuC;;EAEpC;CtBs7IH;;AsBn7IC;EACE;CtBs7IH;;AsB/8ID;EA4BI;CtBu7IH;;AsBr7ImC;EAChC;EACA;CtBw7IH;;AsBx9ID;;EAqCI;CtBw7IH;;AsB79ID;EAyCI;CtBw7IH;;AsBj+ID;;EA6CI;CtBy7IH;;AsB/6IC;EACE;EACA;CtBk7IH;;AsB/6IK;EAEI;CtBi7IT;;AsBn7IK;EAMI;CtBi7IT;;AsB56IG;EACE;CtB+6IL;;AsBl8ID;;EAuBQ;CtBg7IP;;AsBr7IG;;EASQ;CtBi7IX;;AsBv6ID;EAGI;CtBw6IH;;AsB36ID;EAOI;EACA;EACA;CtBw6IH;;AsB36IC;EAMI;CtBy6IL;;AsBr7ID;;EAiBM;EACA;CtBy6IL;;AsB37ID;;EAqBQ;CtB26IP;;AsBh8ID;;EAyBQ;CtB46IP;;AsBr8ID;;EA6BQ;CtB66IP;;AsB18ID;EAkCM;CtB46IL;;AsB98ID;EAsCM;CtB46IL;;AsBl9ID;EA0CM;CtB46IL;;AsBr6ID;EAEI;CtBu6IH;;AsBp6IC;EACE;CtBu6IH;;AsB76ID;EAUI;CtBu6IH;;AsBx6IC;EAII;CtBw6IL;;AsBp6IC;EACE;CtBu6IH;;AsBp6IC;EACE;CtBu6IH;;AsB77ID;EA0BI;CtBu6IH;;AsBj8ID;EA8BI;CtBu6IH;;AsBx6IC;EAII;CtBw6IL;;AsBh6ID;EAGI;EfzyBF;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAKE;EACA;CPusKH;;AsBx6IC;EACE;EACA;CtB26IH;;AsBz6IG;EACE;EACA;CtB46IL;;AsBz6IgC;EAC7B;CtB46IH;;AsB77ID;;EAqBI;EACA;EACA;CtB66IH;;AsBp8ID;EA2BI;CtB66IH;;AsB36IwC;;EAErC;CtB86IH;;AsB78ID;;;;EAqCI;CtB+6IH;;AsB76IgD;EAC7C;CtBg7IH;;AsB96IC;EACE;CtBi7IH;;AsB59ID;EA8CI;CtBk7IH;;AsBh+ID;EAkDI;CtBk7IH;;AsB36ID;EACE;CtB86ID;;AsB36ID;EAGI;CtB46IH;;AsB/6ID;EAMM;EACA;CtB66IL;;AsBp7ID;;EAWQ;CtB86IP;;AsBz7ID;EAcQ;CtB+6IP;;AsB77ID;EAiBQ;EACA;CtBg7IP;;AsBl8ID;EAqBQ;CtBi7IP;;AsBt8ID;EAwBU;CtBk7IT;;AsB18ID;EA6BM;CtBi7IL;;AsBz6ID;;;;EASQ;EACA;EACA;CtBu6IP;;AsBl7ID;;;;EAcU;EACA;EACA;CtB26IT;;AsB37ID;;;;EAmBU;EACA;CtB+6IT;;AsBn8ID;;;;EA0BU;EACA;EACA;CtBg7IT;;AsB58ID;;;;EA+BY;EACA;CtBo7IX;;AsBp9ID;;EAwCM;Efh7BJ;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAKE;EACA;CP81KH;;AsBx7IqC;;EAEhC;EACA;EACA;CtB27IL;;AsBr7IK;;;;EAEE;CtB07IP;;AsBj7IO;;;;;;;;;;;;;;;;;;;;;;;;EAEE;CtB08IT;;AsB7gJD;;;;;;;;EA2EU;CtB68IT;;AsBv8IO;;;;;;;;EAEE;CtBg9IT;;AsBniJD;;EA0FM;CtB88IL;;AsBxiJD;;;;EAkGQ;CtB68IP;;AsB/iJD;;;;EAyGQ;CtB68IP;;AsBn8ID;EAKM;EACA;CtBk8IL;;AsBx8ID;EASQ;CtBm8IP;;AsB58ID;EAYQ;CtBo8IP;;AsBh9ID;EAeQ;CtBq8IP;;AsBp9ID;EAkBQ;EACA;EACA;CtBs8IP;;AsB19ID;EAuBU;CtBu8IT;;AsB99ID;EA2BQ;CtBu8IP;;AsBh+IC;EA6BQ;CtBu8IT;;AsBt+ID;EAqCM;EACA;CtBq8IL;;AsB3+ID;EAgDQ;CtB+7IP;;AsB/+ID;EAmDU;CtBg8IT;;AsB77IK;EACE;CtBg8IP;;AsBt7IK;EACE;CtBy7IP;;AsB3/ID;EAqEU;CtB07IT;;AsBv7IK;EACE;CtB07IP;;AsBr7IC;EAII;EACA;CtBq7IL;;AsBxgJD;EA2FM;EACA;CtBi7IL;;AsB7gJD;EA+FQ;CtBk7IP;;AsBjhJD;EAmGM;EACA;CtBk7IL","file":"mdl-ext.css","sourcesContent":["/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*------------------------------------*\\\n $CONTENTS\n\\*------------------------------------*/\n/**\n * STYLE GUIDE VARIABLES------------------Declarations of Sass variables\n * -----Typography\n * -----Colors\n * -----Textfield\n * -----Switch\n * -----Spinner\n * -----Radio\n * -----Menu\n * -----List\n * -----Layout\n * -----Icon toggles\n * -----Footer\n * -----Column\n * -----Checkbox\n * -----Card\n * -----Button\n * -----Animation\n * -----Progress\n * -----Badge\n * -----Shadows\n * -----Grid\n * -----Data table\n * -----Dialog\n * -----Snackbar\n * -----Tooltip\n * -----Chip\n *\n * Even though all variables have the `!default` directive, most of them\n * should not be changed as they are dependent one another. This can cause\n * visual distortions (like alignment issues) that are hard to track down\n * and fix.\n */\n\n\n/* ========== TYPOGRAPHY ========== */\n\n/* We're splitting fonts into \"preferred\" and \"performance\" in order to optimize\n page loading. For important text, such as the body, we want it to load\n immediately and not wait for the web font load, whereas for other sections,\n such as headers and titles, we're OK with things taking a bit longer to load.\n We do have some optional classes and parameters in the mixins, in case you\n definitely want to make sure you're using the preferred font and don't mind\n the performance hit.\n We should be able to improve on this once CSS Font Loading L3 becomes more\n widely available.\n*/\n$preferred_font: 'Roboto', 'Helvetica', 'Arial', sans-serif !default;\n$performance_font: 'Helvetica', 'Arial', sans-serif !default;\n\n/* ========== COLORS ========== */\n\n/**\n*\n* Material design color palettes.\n* @see http://www.google.com/design/spec/style/color.html\n*\n**/\n\n@import \"color-definitions\";\n@import \"functions\";\n\n/* ========== IMAGES ========== */\n$image_path: '/images' !default;\n\n/* ========== Color & Themes ========== */\n\n// Define whether individual color palette items should have classes created.\n// Setting this to true will remove individual color classes for each color in the palettes.\n// To improve overall performance (assuming they aren't used) by:\n// * Saving server bandwidth sending the extra classes\n// * Save client computation against the classes\n// it is RECOMMENDED you set this to true.\n$trim-color-classes: false !default;\n\n// Use color primarily for emphasis. Choose colors that fit with\n// your brand and provide good contrast between visual components.\n$color-primary: $palette-indigo-500 !default;\n$color-primary-dark: $palette-indigo-700 !default;\n$color-accent: $palette-pink-A200 !default;\n\n// Our primary is dark, so use $color-dark-contrast for overlaid text.\n$color-primary-contrast: $color-dark-contrast !default;\n// Our accent is dark, so use $color-dark-contrast for overlaid text.\n$color-accent-contrast: $color-dark-contrast !default;\n\n// Replace all colors with placeholders if we're generating a template.\n@if $styleguide-generate-template == true {\n $color-primary: '$color-primary';\n $color-primary-dark: '$color-primary-dark';\n $color-accent: '$color-accent';\n $color-primary-contrast: '$color-primary-contrast';\n $color-accent-contrast: '$color-accent-contrast';\n}\n\n/* ========== Typography ========== */\n\n// We use the following default color styles: text-color-primary and\n// text-color-secondary. For light themes, use text-color-primary-inverse\n// and text-color-secondary-inverse.\n\n$text-color-primary: unquote(\"rgba(#{$color-black}, 0.87)\") !default;\n$text-link-color: unquote(\"rgb(#{$color-accent})\") !default;\n\n// Define whether to target elements directly for typographic enhancements.\n// Turning this off means you need to use mdl-* classes more often.\n// Other components may also fail to adhere to MD without these rules.\n// It is strongly recommended you leave this as true.\n\n$target-elements-directly: true !default;\n\n/* ========== Components ========== */\n\n/* ========== Standard Buttons ========== */\n\n// Default button colors.\n$button-primary-color: unquote(\"rgba(#{$palette-grey-500}, 0.20)\") !default;\n$button-secondary-color: unquote(\"rgb(#{$color-black})\") !default;\n$button-hover-color: $button-primary-color !default;\n$button-active-color: unquote(\"rgba(#{$palette-grey-500}, 0.40)\") !default;\n$button-focus-color: unquote(\"rgba(#{$color-black}, 0.12)\") !default;\n\n// Colored button colors.\n$button-primary-color-alt: unquote(\"rgb(#{$color-primary})\") !default;\n$button-secondary-color-alt: unquote(\"rgb(#{$color-primary-contrast})\") !default;\n$button-hover-color-alt: unquote(\"rgb(#{$color-primary})\") !default;\n$button-active-color-alt: unquote(\"rgb(#{$color-primary})\") !default;\n$button-focus-color-alt: $button-focus-color !default;\n\n// Ripple color for colored raised buttons.\n$button-ripple-color-alt: unquote(\"rgb(#{$color-primary-contrast})\") !default;\n\n// Disabled button colors.\n$button-primary-color-disabled: unquote(\"rgba(#{$color-black}, 0.12)\") !default;\n$button-secondary-color-disabled: unquote(\"rgba(#{$color-black}, 0.26)\") !default;\n\n// FAB colors and sizes.\n$button-fab-color-alt: unquote(\"rgb(#{$color-accent})\") !default;\n$button-fab-hover-color-alt: unquote(\"rgb(#{$color-accent})\") !default;\n$button-fab-active-color-alt: unquote(\"rgb(#{$color-accent})\") !default;\n$button-fab-text-color-alt: unquote(\"rgb(#{$color-accent-contrast})\") !default;\n$button-fab-ripple-color-alt: unquote(\"rgb(#{$color-accent-contrast})\") !default;\n\n// Icon button colors and sizes.\n$button-icon-color: unquote(\"rgb(#{$palette-grey-700})\") !default;\n$button-icon-focus-color: $button-focus-color !default;\n\n/* ========== Icon Toggles ========== */\n\n$icon-toggle-color: unquote(\"rgb(#{$palette-grey-700})\") !default;\n$icon-toggle-focus-color: $button-focus-color !default;\n$icon-toggle-checked-color: unquote(\"rgb(#{$color-primary})\") !default;\n$icon-toggle-checked-focus-color: unquote(\"rgba(#{$color-primary}, 0.26)\") !default;\n$icon-toggle-disabled-color: unquote(\"rgba(#{$color-black}, 0.26)\") !default;\n\n/* ========== Radio Buttons ========== */\n\n$radio-color: unquote(\"rgb(#{$color-primary})\") !default;\n$radio-off-color: unquote(\"rgba(#{$color-black}, 0.54)\") !default;\n$radio-disabled-color: unquote(\"rgba(#{$color-black}, 0.26)\") !default;\n\n/* ========== Ripple effect ========== */\n\n$ripple-bg-color: unquote(\"rgb(#{$color-light-contrast})\") !default;\n\n/* ========== Layout ========== */\n\n$layout-nav-color: unquote(\"rgb(#{$palette-grey-300})\") !default;\n\n// Drawer\n$layout-drawer-bg-color: unquote(\"rgb(#{$palette-grey-50})\") !default;\n$layout-drawer-border-color: unquote(\"rgb(#{$palette-grey-300})\") !default;\n$layout-text-color: unquote(\"rgb(#{$palette-grey-800})\") !default;\n$layout-drawer-navigation-color: #757575 !default;\n$layout-drawer-navigation-link-active-background: unquote(\"rgb(#{$palette-grey-300})\") !default;\n$layout-drawer-navigation-link-active-color: unquote(\"rgb(#{$color-light-contrast})\") !default;\n\n// Header\n$layout-header-bg-color: unquote(\"rgb(#{$color-primary})\") !default;\n$layout-header-text-color: unquote(\"rgb(#{$color-primary-contrast})\") !default;\n$layout-header-nav-hover-color: unquote(\"rgba(#{$palette-grey-700}, 0.6)\") !default;\n$layout-header-tab-text-color: unquote(\"rgba(#{$color-primary-contrast}, 0.6)\") !default;\n\n// Tabs\n$layout-header-tab-highlight: unquote(\"rgb(#{$color-accent})\") !default;\n\n/* ========== Content Tabs ========== */\n\n$tab-highlight-color: unquote(\"rgb(#{$color-primary})\") !default;\n$tab-text-color: unquote(\"rgba(#{$color-black}, 0.54)\") !default;\n$tab-active-text-color: unquote(\"rgba(#{$color-black}, 0.87)\") !default;\n$tab-border-color: unquote(\"rgb(#{$palette-grey-300})\") !default;\n\n/* ========== Checkboxes ========== */\n\n$checkbox-color: unquote(\"rgb(#{$color-primary})\") !default;\n$checkbox-off-color: unquote(\"rgba(#{$color-black}, 0.54)\") !default;\n$checkbox-disabled-color: unquote(\"rgba(#{$color-black}, 0.26)\") !default;\n$checkbox-focus-color: unquote(\"rgba(#{$color-primary}, 0.26)\") !default;\n$checkbox-image-path: $image_path;\n\n/* ========== Switches ========== */\n\n$switch-color: unquote(\"rgb(#{$color-primary})\") !default;\n$switch-faded-color: unquote(\"rgba(#{$color-primary}, 0.26)\") !default;\n$switch-thumb-color: $switch-color !default;\n$switch-track-color: unquote(\"rgba(#{$color-primary}, 0.5)\") !default;\n\n$switch-off-thumb-color: unquote(\"rgb(#{$palette-grey-50})\") !default;\n$switch-off-track-color: unquote(\"rgba(#{$color-black}, 0.26)\") !default;\n$switch-disabled-thumb-color: unquote(\"rgb(#{$palette-grey-400})\") !default;\n$switch-disabled-track-color: unquote(\"rgba(#{$color-black}, 0.12)\") !default;\n\n/* ========== Spinner ========== */\n\n$spinner-color-1: unquote(\"rgb(#{$palette-blue-400})\") !default;\n$spinner-color-2: unquote(\"rgb(#{$palette-red-500})\") !default;\n$spinner-color-3: unquote(\"rgb(#{$palette-yellow-600})\") !default;\n$spinner-color-4: unquote(\"rgb(#{$palette-green-500})\") !default;\n\n$spinner-single-color: unquote(\"rgb(#{$color-primary})\") !default;\n\n/* ========== Text fields ========== */\n\n$input-text-background-color: transparent !default;\n$input-text-label-color: unquote(\"rgba(#{$color-black}, 0.26)\") !default;\n$input-text-bottom-border-color: unquote(\"rgba(#{$color-black}, 0.12)\") !default;\n$input-text-highlight-color: unquote(\"rgb(#{$color-primary})\") !default;\n$input-text-disabled-color: $input-text-bottom-border-color !default;\n$input-text-disabled-text-color: $input-text-label-color !default;\n$input-text-error-color: unquote(\"rgb(#{$palette-red-A700})\") !default;\n\n/* ========== Card ========== */\n\n$card-background-color: unquote(\"rgb(#{$color-white})\") !default;\n$card-text-color: unquote(\"rgb(#{$color-black})\") !default;\n$card-image-placeholder-color: unquote(\"rgb(#{$color-accent})\") !default;\n$card-supporting-text-text-color: unquote(\"rgba(#{$color-black}, 0.54)\") !default;\n$card-border-color: rgba(0,0,0,0.1) !default;\n$card-subtitle-color: unquote(\"rgba(#{$color-black}, 0.54)\") !default;\n\n/* ========== Sliders ========== */\n\n$range-bg-color: unquote(\"rgba(#{$color-black}, 0.26)\") !default;\n$range-color: unquote(\"rgb(#{$color-primary})\") !default;\n$range-faded-color: unquote(\"rgba(#{$color-primary}, 0.26)\") !default;\n$range-bg-focus-color: unquote(\"rgba(#{$color-black}, 0.12)\") !default;\n\n/* ========== Progress ========== */\n$progress-main-color: unquote(\"rgb(#{$color-primary})\") !default;\n$progress-secondary-color: unquote(\"rgba(#{$color-primary-contrast}, 0.7)\") !default;\n$progress-fallback-buffer-color: unquote(\"rgba(#{$color-primary-contrast}, 0.9)\") !default;\n$progress-image-path: $image_path;\n\n/* ========== List ========== */\n\n$list-main-text-text-color: unquote(\"rgba(#{$color-black}, 0.87)\") !default;\n$list-supporting-text-text-color: unquote(\"rgba(#{$color-black}, 0.54)\") !default;\n$list-icon-color: unquote(\"rgb(#{$palette-grey-600})\") !default;\n$list-avatar-color: white !default;\n\n/* ========== Item ========== */\n\n// Default Item Colors\n$default-item-text-color: unquote(\"rgba(#{$color-black}, 0.87)\") !default;\n$default-item-outline-color: unquote(\"rgb(#{$palette-grey-400})\") !default;\n$default-item-hover-bg-color: unquote(\"rgb(#{$palette-grey-200})\") !default;\n$default-item-focus-bg-color: unquote(\"rgb(#{$palette-grey-200})\") !default;\n$default-item-active-bg-color: unquote(\"rgb(#{$palette-grey-300})\") !default;\n$default-item-divider-color: unquote(\"rgba(#{$color-black}, 0.12)\") !default;\n\n// Disabled Button Colors\n$disabled-item-text-color: unquote(\"rgb(#{$palette-grey-400})\") !default;\n\n/* ========== Dropdown menu ========== */\n\n$default-dropdown-bg-color: unquote(\"rgb(#{$color-white})\") !default;\n\n/* ========== Tooltips ========== */\n\n$tooltip-text-color: unquote(\"rgb(#{$color-white})\") !default;\n$tooltip-background-color: unquote(\"rgba(#{$palette-grey-700}, 0.9)\") !default;\n\n/* ========== Footer ========== */\n\n$footer-bg-color: unquote(\"rgb(#{$palette-grey-800})\") !default;\n$footer-color: unquote(\"rgb(#{$palette-grey-500})\") !default;\n$footer-heading-color: unquote(\"rgb(#{$palette-grey-300})\") !default;\n$footer-button-fill-color: $footer-color !default;\n$footer-underline-color: $footer-color !default;\n\n\n/* TEXTFIELD */\n\n$input-text-font-size: 16px !default;\n$input-text-width: 100% !default;\n$input-text-padding: 4px !default;\n$input-text-vertical-spacing: 20px !default;\n\n$input-text-button-size: 32px !default;\n$input-text-floating-label-fontsize: 12px !default;\n$input-text-expandable-icon-top: 16px !default;\n\n\n/* SWITCH */\n\n$switch-label-font-size: 16px !default;\n$switch-label-height: 24px !default;\n$switch-track-height: 14px !default;\n$switch-track-length: 36px !default;\n$switch-thumb-size: 20px !default;\n$switch-track-top: ($switch-label-height - $switch-track-height) / 2 !default;\n$switch-thumb-top: ($switch-label-height - $switch-thumb-size) / 2 !default;\n$switch-ripple-size: $switch-label-height * 2 !default;\n$switch-helper-size: 8px !default;\n\n/* SPINNER */\n\n$spinner-size: 28px !default;\n$spinner-stroke-width: 3px !default;\n\n// Amount of circle the arc takes up.\n$spinner-arc-size: 270deg !default;\n// Time it takes to expand and contract arc.\n$spinner-arc-time: 1333ms !default;\n// How much the start location of the arc should rotate each time.\n$spinner-arc-start-rot: 216deg !default;\n\n$spinner-duration: 360 * $spinner-arc-time / (\n strip-units($spinner-arc-start-rot + (360deg - $spinner-arc-size)));\n\n\n/* RADIO */\n\n$radio-label-font-size: 16px !default;\n$radio-label-height: 24px !default;\n$radio-button-size: 16px !default;\n$radio-inner-margin: $radio-button-size / 4;\n$radio-padding: 8px !default;\n$radio-top-offset: ($radio-label-height - $radio-button-size) / 2;\n$radio-ripple-size: 42px !default;\n\n\n/* MENU */\n\n$menu-expand-duration: 0.3s !default;\n$menu-fade-duration: 0.2s !default;\n\n/* LIST */\n\n$list-border: 8px !default;\n$list-min-height: 48px !default;\n$list-min-padding: 16px !default;\n$list-bottom-padding: 20px !default;\n$list-avatar-text-left-distance: 72px !default;\n$list-icon-text-left-distance: 72px !default;\n\n$list-avatar-size: 40px !default;\n$list-icon-size: 24px !default;\n\n$list-two-line-height: 72px !default;\n$list-three-line-height: 88px !default;\n\n/* LAYOUT */\n\n$layout-drawer-narrow: 240px !default;\n$layout-drawer-wide: 456px !default;\n$layout-drawer-width: $layout-drawer-narrow !default;\n\n$layout-header-icon-size: 32px !default;\n$layout-screen-size-threshold: 1024px !default;\n$layout-header-icon-margin: 24px !default;\n$layout-drawer-button-mobile-size: 32px !default;\n$layout-drawer-button-desktop-size: 48px !default;\n\n$layout-header-mobile-row-height: 56px !default;\n$layout-mobile-header-height: $layout-header-mobile-row-height;\n$layout-header-desktop-row-height: 64px !default;\n$layout-desktop-header-height: $layout-header-desktop-row-height;\n\n$layout-header-desktop-baseline: 80px !default;\n$layout-header-mobile-baseline: 72px !default;\n$layout-header-mobile-indent: 16px !default;\n$layout-header-desktop-indent: 40px !default;\n\n$layout-tab-font-size: 14px !default;\n$layout-tab-bar-height: 48px !default;\n$layout-tab-mobile-padding: 12px !default;\n$layout-tab-desktop-padding: 24px !default;\n$layout-tab-highlight-thickness: 2px !default;\n\n\n/* ICON TOGGLE */\n\n$icon-toggle-size: 32px !default;\n$icon-toggle-font-size: 24px !default;\n$icon-toggle-ripple-size: 36px !default;\n\n/* FOOTER */\n\n/*mega-footer*/\n$footer-min-padding: 16px !default;\n$footer-padding-sides: 40px !default;\n$footer-heading-font-size: 14px !default;\n$footer-heading-line-height: (1.7 * $footer-heading-font-size) !default;\n$footer-btn-size: 36px !default;\n\n/*mini-footer*/\n$padding: 16px !default;\n$footer-heading-font-size: 24px !default;\n$footer-heading-line-height: (1.5 * $footer-heading-font-size) !default;\n$footer-btn-size: 36px !default;\n\n/* CHECKBOX */\n\n$checkbox-label-font-size: 16px !default;\n$checkbox-label-height: 24px !default;\n$checkbox-button-size: 16px !default;\n$checkbox-inner-margin: 2px !default;\n$checkbox-padding: 8px !default;\n$checkbox-top-offset:\n($checkbox-label-height - $checkbox-button-size - $checkbox-inner-margin) / 2;\n$checkbox-ripple-size: $checkbox-label-height * 1.5;\n\n/* CARD */\n\n/* Card dimensions */\n$card-width: 330px !default;\n$card-height: 200px !default;\n$card-font-size: 16px !default;\n$card-title-font-size: 24px !default;\n$card-subtitle-font-size: 14px !default;\n$card-horizontal-padding: 16px !default;\n$card-vertical-padding: 16px !default;\n\n$card-title-perspective-origin-x: 165px !default;\n$card-title-perspective-origin-y: 56px !default;\n\n$card-title-transform-origin-x: 165px !default;\n$card-title-transform-origin-y: 56px !default;\n\n$card-title-text-transform-origin-x: 149px !default;\n$card-title-text-transform-origin-y: 48px !default;\n\n$card-supporting-text-font-size: 1rem !default;\n$card-supporting-text-line-height: 18px !default;\n\n$card-actions-font-size: 16px !default;\n\n$card-title-text-font-weight: 300 !default;\n$card-z-index: 1 !default;\n\n/* Cover image */\n$card-cover-image-height: 186px !default;\n$card-background-image-url: '' !default;\n\n\n/* BUTTON */\n/**\n *\n * Dimensions\n *\n */\n$button-min-width: 64px !default;\n$button-height: 36px !default;\n$button-padding: 16px !default;\n$button-margin: 4px !default;\n$button-border-radius: 2px !default;\n\n$button-fab-size: 56px !default;\n$button-fab-size-mini: 40px !default;\n$button-fab-font-size: 24px !default;\n\n$button-icon-size: 32px !default;\n$button-icon-size-mini: 24px !default;\n\n\n/* ANIMATION */\n$animation-curve-fast-out-slow-in: cubic-bezier(0.4, 0, 0.2, 1) !default;\n$animation-curve-linear-out-slow-in: cubic-bezier(0, 0, 0.2, 1) !default;\n$animation-curve-fast-out-linear-in: cubic-bezier(0.4, 0, 1, 1) !default;\n\n$animation-curve-default: $animation-curve-fast-out-slow-in !default;\n\n\n/* PROGRESS */\n$bar-height: 4px !default;\n\n/* BADGE */\n$badge-font-size: 12px !default;\n$badge-color: unquote(\"rgb(#{$color-accent-contrast})\") !default;\n$badge-color-inverse: unquote(\"rgb(#{$color-accent})\") !default;\n$badge-background: unquote(\"rgb(#{$color-accent})\") !default;\n$badge-background-inverse: unquote(\"rgba(#{$color-accent-contrast},0.2)\") !default;\n$badge-size : 22px !default;\n$badge-padding: 2px !default;\n$badge-overlap: 12px !default;\n\n/* SHADOWS */\n\n$shadow-key-umbra-opacity: 0.2 !default;\n$shadow-key-penumbra-opacity: 0.14 !default;\n$shadow-ambient-shadow-opacity: 0.12 !default;\n\n/* GRID */\n\n$grid-desktop-columns: 12 !default;\n$grid-desktop-gutter: 16px !default;\n$grid-desktop-margin: 16px !default;\n\n$grid-desktop-breakpoint: 840px !default;\n\n$grid-tablet-columns: 8 !default;\n$grid-tablet-gutter: $grid-desktop-gutter !default;\n$grid-tablet-margin: $grid-desktop-margin !default;\n\n$grid-tablet-breakpoint: 480px !default;\n\n$grid-phone-columns: 4 !default;\n$grid-phone-gutter: $grid-desktop-gutter !default;\n$grid-phone-margin: $grid-desktop-margin !default;\n\n$grid-cell-default-columns: $grid-phone-columns !default;\n$grid-max-columns: $grid-desktop-columns !default;\n\n/* DATA TABLE */\n\n$data-table-font-size: 13px !default;\n$data-table-header-font-size: 12px !default;\n$data-table-header-sort-icon-size: 16px !default;\n\n$data-table-header-color: rgba(#000, 0.54) !default;\n$data-table-header-sorted-color: rgba(#000, 0.87) !default;\n$data-table-header-sorted-icon-hover-color: rgba(#000, 0.26) !default;\n$data-table-divider-color: rgba(#000, 0.12) !default;\n\n$data-table-hover-color: #eeeeee !default;\n$data-table-selection-color: #e0e0e0 !default;\n\n$data-table-dividers: 1px solid $data-table-divider-color !default;\n\n$data-table-row-height: 48px !default;\n$data-table-last-row-height: 56px !default;\n$data-table-header-height: 56px !default;\n\n$data-table-column-spacing: 36px !default;\n$data-table-column-padding: $data-table-column-spacing / 2;\n\n$data-table-card-header-height: 64px !default;\n$data-table-card-title-top: 20px !default;\n$data-table-card-padding: 24px !default;\n$data-table-button-padding-right: 16px !default;\n$data-table-cell-top: $data-table-card-padding / 2;\n\n/* DIALOG */\n$dialog-content-color: $card-supporting-text-text-color;\n\n/* SNACKBAR */\n\n// Hard coded since the color is not present in any palette.\n$snackbar-background-color: #323232 !default;\n$snackbar-tablet-breakpoint: $grid-tablet-breakpoint;\n$snackbar-action-color: unquote(\"rgb(#{$color-accent})\") !default;\n\n/* TOOLTIP */\n$tooltip-font-size: 10px !default;\n$tooltip-font-size-large: 14px !default;\n\n/* CHIP */\n$chip-bg-color: rgb(222, 222, 222) !default;\n$chip-bg-active-color: rgb(214, 214, 214) !default;\n$chip-height: 32px !default;\n$chip-font-size: 13px !default; \n\n\n\n// WEBPACK FOOTER //\n// webpack:///~/material-design-lite/src/_variables.scss","@charset \"UTF-8\";\n\n// Material Design Lite\n@import '~material-design-lite/src/variables';\n@import '~material-design-lite/src/mixins';\n\n// mdl-ext\n@import 'mdl-ext';\n\n\n\n// WEBPACK FOOTER //\n// webpack:///src/mdl-ext-build.scss","/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/* ========== Color Palettes ========== */\n\n// Color order: 50, 100, 200, 300, 400, 500, 600, 700, 800, 900, A100, A200,\n// A400, A700.\n\n$palette-red:\n\"255,235,238\"\n\"255,205,210\"\n\"239,154,154\"\n\"229,115,115\"\n\"239,83,80\"\n\"244,67,54\"\n\"229,57,53\"\n\"211,47,47\"\n\"198,40,40\"\n\"183,28,28\"\n\"255,138,128\"\n\"255,82,82\"\n\"255,23,68\"\n\"213,0,0\";\n\n$palette-red-50: nth($palette-red, 1);\n$palette-red-100: nth($palette-red, 2);\n$palette-red-200: nth($palette-red, 3);\n$palette-red-300: nth($palette-red, 4);\n$palette-red-400: nth($palette-red, 5);\n$palette-red-500: nth($palette-red, 6);\n$palette-red-600: nth($palette-red, 7);\n$palette-red-700: nth($palette-red, 8);\n$palette-red-800: nth($palette-red, 9);\n$palette-red-900: nth($palette-red, 10);\n$palette-red-A100: nth($palette-red, 11);\n$palette-red-A200: nth($palette-red, 12);\n$palette-red-A400: nth($palette-red, 13);\n$palette-red-A700: nth($palette-red, 14);\n\n$palette-pink:\n\"252,228,236\"\n\"248,187,208\"\n\"244,143,177\"\n\"240,98,146\"\n\"236,64,122\"\n\"233,30,99\"\n\"216,27,96\"\n\"194,24,91\"\n\"173,20,87\"\n\"136,14,79\"\n\"255,128,171\"\n\"255,64,129\"\n\"245,0,87\"\n\"197,17,98\";\n\n$palette-pink-50: nth($palette-pink, 1);\n$palette-pink-100: nth($palette-pink, 2);\n$palette-pink-200: nth($palette-pink, 3);\n$palette-pink-300: nth($palette-pink, 4);\n$palette-pink-400: nth($palette-pink, 5);\n$palette-pink-500: nth($palette-pink, 6);\n$palette-pink-600: nth($palette-pink, 7);\n$palette-pink-700: nth($palette-pink, 8);\n$palette-pink-800: nth($palette-pink, 9);\n$palette-pink-900: nth($palette-pink, 10);\n$palette-pink-A100: nth($palette-pink, 11);\n$palette-pink-A200: nth($palette-pink, 12);\n$palette-pink-A400: nth($palette-pink, 13);\n$palette-pink-A700: nth($palette-pink, 14);\n\n$palette-purple:\n\"243,229,245\"\n\"225,190,231\"\n\"206,147,216\"\n\"186,104,200\"\n\"171,71,188\"\n\"156,39,176\"\n\"142,36,170\"\n\"123,31,162\"\n\"106,27,154\"\n\"74,20,140\"\n\"234,128,252\"\n\"224,64,251\"\n\"213,0,249\"\n\"170,0,255\";\n\n$palette-purple-50: nth($palette-purple, 1);\n$palette-purple-100: nth($palette-purple, 2);\n$palette-purple-200: nth($palette-purple, 3);\n$palette-purple-300: nth($palette-purple, 4);\n$palette-purple-400: nth($palette-purple, 5);\n$palette-purple-500: nth($palette-purple, 6);\n$palette-purple-600: nth($palette-purple, 7);\n$palette-purple-700: nth($palette-purple, 8);\n$palette-purple-800: nth($palette-purple, 9);\n$palette-purple-900: nth($palette-purple, 10);\n$palette-purple-A100: nth($palette-purple, 11);\n$palette-purple-A200: nth($palette-purple, 12);\n$palette-purple-A400: nth($palette-purple, 13);\n$palette-purple-A700: nth($palette-purple, 14);\n\n$palette-deep-purple:\n\"237,231,246\"\n\"209,196,233\"\n\"179,157,219\"\n\"149,117,205\"\n\"126,87,194\"\n\"103,58,183\"\n\"94,53,177\"\n\"81,45,168\"\n\"69,39,160\"\n\"49,27,146\"\n\"179,136,255\"\n\"124,77,255\"\n\"101,31,255\"\n\"98,0,234\";\n\n$palette-deep-purple-50: nth($palette-deep-purple, 1);\n$palette-deep-purple-100: nth($palette-deep-purple, 2);\n$palette-deep-purple-200: nth($palette-deep-purple, 3);\n$palette-deep-purple-300: nth($palette-deep-purple, 4);\n$palette-deep-purple-400: nth($palette-deep-purple, 5);\n$palette-deep-purple-500: nth($palette-deep-purple, 6);\n$palette-deep-purple-600: nth($palette-deep-purple, 7);\n$palette-deep-purple-700: nth($palette-deep-purple, 8);\n$palette-deep-purple-800: nth($palette-deep-purple, 9);\n$palette-deep-purple-900: nth($palette-deep-purple, 10);\n$palette-deep-purple-A100: nth($palette-deep-purple, 11);\n$palette-deep-purple-A200: nth($palette-deep-purple, 12);\n$palette-deep-purple-A400: nth($palette-deep-purple, 13);\n$palette-deep-purple-A700: nth($palette-deep-purple, 14);\n\n$palette-indigo:\n\"232,234,246\"\n\"197,202,233\"\n\"159,168,218\"\n\"121,134,203\"\n\"92,107,192\"\n\"63,81,181\"\n\"57,73,171\"\n\"48,63,159\"\n\"40,53,147\"\n\"26,35,126\"\n\"140,158,255\"\n\"83,109,254\"\n\"61,90,254\"\n\"48,79,254\";\n\n$palette-indigo-50: nth($palette-indigo, 1);\n$palette-indigo-100: nth($palette-indigo, 2);\n$palette-indigo-200: nth($palette-indigo, 3);\n$palette-indigo-300: nth($palette-indigo, 4);\n$palette-indigo-400: nth($palette-indigo, 5);\n$palette-indigo-500: nth($palette-indigo, 6);\n$palette-indigo-600: nth($palette-indigo, 7);\n$palette-indigo-700: nth($palette-indigo, 8);\n$palette-indigo-800: nth($palette-indigo, 9);\n$palette-indigo-900: nth($palette-indigo, 10);\n$palette-indigo-A100: nth($palette-indigo, 11);\n$palette-indigo-A200: nth($palette-indigo, 12);\n$palette-indigo-A400: nth($palette-indigo, 13);\n$palette-indigo-A700: nth($palette-indigo, 14);\n\n$palette-blue:\n\"227,242,253\"\n\"187,222,251\"\n\"144,202,249\"\n\"100,181,246\"\n\"66,165,245\"\n\"33,150,243\"\n\"30,136,229\"\n\"25,118,210\"\n\"21,101,192\"\n\"13,71,161\"\n\"130,177,255\"\n\"68,138,255\"\n\"41,121,255\"\n\"41,98,255\";\n\n$palette-blue-50: nth($palette-blue, 1);\n$palette-blue-100: nth($palette-blue, 2);\n$palette-blue-200: nth($palette-blue, 3);\n$palette-blue-300: nth($palette-blue, 4);\n$palette-blue-400: nth($palette-blue, 5);\n$palette-blue-500: nth($palette-blue, 6);\n$palette-blue-600: nth($palette-blue, 7);\n$palette-blue-700: nth($palette-blue, 8);\n$palette-blue-800: nth($palette-blue, 9);\n$palette-blue-900: nth($palette-blue, 10);\n$palette-blue-A100: nth($palette-blue, 11);\n$palette-blue-A200: nth($palette-blue, 12);\n$palette-blue-A400: nth($palette-blue, 13);\n$palette-blue-A700: nth($palette-blue, 14);\n\n$palette-light-blue:\n\"225,245,254\"\n\"179,229,252\"\n\"129,212,250\"\n\"79,195,247\"\n\"41,182,246\"\n\"3,169,244\"\n\"3,155,229\"\n\"2,136,209\"\n\"2,119,189\"\n\"1,87,155\"\n\"128,216,255\"\n\"64,196,255\"\n\"0,176,255\"\n\"0,145,234\";\n\n$palette-light-blue-50: nth($palette-light-blue, 1);\n$palette-light-blue-100: nth($palette-light-blue, 2);\n$palette-light-blue-200: nth($palette-light-blue, 3);\n$palette-light-blue-300: nth($palette-light-blue, 4);\n$palette-light-blue-400: nth($palette-light-blue, 5);\n$palette-light-blue-500: nth($palette-light-blue, 6);\n$palette-light-blue-600: nth($palette-light-blue, 7);\n$palette-light-blue-700: nth($palette-light-blue, 8);\n$palette-light-blue-800: nth($palette-light-blue, 9);\n$palette-light-blue-900: nth($palette-light-blue, 10);\n$palette-light-blue-A100: nth($palette-light-blue, 11);\n$palette-light-blue-A200: nth($palette-light-blue, 12);\n$palette-light-blue-A400: nth($palette-light-blue, 13);\n$palette-light-blue-A700: nth($palette-light-blue, 14);\n\n$palette-cyan:\n\"224,247,250\"\n\"178,235,242\"\n\"128,222,234\"\n\"77,208,225\"\n\"38,198,218\"\n\"0,188,212\"\n\"0,172,193\"\n\"0,151,167\"\n\"0,131,143\"\n\"0,96,100\"\n\"132,255,255\"\n\"24,255,255\"\n\"0,229,255\"\n\"0,184,212\";\n\n$palette-cyan-50: nth($palette-cyan, 1);\n$palette-cyan-100: nth($palette-cyan, 2);\n$palette-cyan-200: nth($palette-cyan, 3);\n$palette-cyan-300: nth($palette-cyan, 4);\n$palette-cyan-400: nth($palette-cyan, 5);\n$palette-cyan-500: nth($palette-cyan, 6);\n$palette-cyan-600: nth($palette-cyan, 7);\n$palette-cyan-700: nth($palette-cyan, 8);\n$palette-cyan-800: nth($palette-cyan, 9);\n$palette-cyan-900: nth($palette-cyan, 10);\n$palette-cyan-A100: nth($palette-cyan, 11);\n$palette-cyan-A200: nth($palette-cyan, 12);\n$palette-cyan-A400: nth($palette-cyan, 13);\n$palette-cyan-A700: nth($palette-cyan, 14);\n\n$palette-teal:\n\"224,242,241\"\n\"178,223,219\"\n\"128,203,196\"\n\"77,182,172\"\n\"38,166,154\"\n\"0,150,136\"\n\"0,137,123\"\n\"0,121,107\"\n\"0,105,92\"\n\"0,77,64\"\n\"167,255,235\"\n\"100,255,218\"\n\"29,233,182\"\n\"0,191,165\";\n\n$palette-teal-50: nth($palette-teal, 1);\n$palette-teal-100: nth($palette-teal, 2);\n$palette-teal-200: nth($palette-teal, 3);\n$palette-teal-300: nth($palette-teal, 4);\n$palette-teal-400: nth($palette-teal, 5);\n$palette-teal-500: nth($palette-teal, 6);\n$palette-teal-600: nth($palette-teal, 7);\n$palette-teal-700: nth($palette-teal, 8);\n$palette-teal-800: nth($palette-teal, 9);\n$palette-teal-900: nth($palette-teal, 10);\n$palette-teal-A100: nth($palette-teal, 11);\n$palette-teal-A200: nth($palette-teal, 12);\n$palette-teal-A400: nth($palette-teal, 13);\n$palette-teal-A700: nth($palette-teal, 14);\n\n$palette-green:\n\"232,245,233\"\n\"200,230,201\"\n\"165,214,167\"\n\"129,199,132\"\n\"102,187,106\"\n\"76,175,80\"\n\"67,160,71\"\n\"56,142,60\"\n\"46,125,50\"\n\"27,94,32\"\n\"185,246,202\"\n\"105,240,174\"\n\"0,230,118\"\n\"0,200,83\";\n\n$palette-green-50: nth($palette-green, 1);\n$palette-green-100: nth($palette-green, 2);\n$palette-green-200: nth($palette-green, 3);\n$palette-green-300: nth($palette-green, 4);\n$palette-green-400: nth($palette-green, 5);\n$palette-green-500: nth($palette-green, 6);\n$palette-green-600: nth($palette-green, 7);\n$palette-green-700: nth($palette-green, 8);\n$palette-green-800: nth($palette-green, 9);\n$palette-green-900: nth($palette-green, 10);\n$palette-green-A100: nth($palette-green, 11);\n$palette-green-A200: nth($palette-green, 12);\n$palette-green-A400: nth($palette-green, 13);\n$palette-green-A700: nth($palette-green, 14);\n\n$palette-light-green:\n\"241,248,233\"\n\"220,237,200\"\n\"197,225,165\"\n\"174,213,129\"\n\"156,204,101\"\n\"139,195,74\"\n\"124,179,66\"\n\"104,159,56\"\n\"85,139,47\"\n\"51,105,30\"\n\"204,255,144\"\n\"178,255,89\"\n\"118,255,3\"\n\"100,221,23\";\n\n$palette-light-green-50: nth($palette-light-green, 1);\n$palette-light-green-100: nth($palette-light-green, 2);\n$palette-light-green-200: nth($palette-light-green, 3);\n$palette-light-green-300: nth($palette-light-green, 4);\n$palette-light-green-400: nth($palette-light-green, 5);\n$palette-light-green-500: nth($palette-light-green, 6);\n$palette-light-green-600: nth($palette-light-green, 7);\n$palette-light-green-700: nth($palette-light-green, 8);\n$palette-light-green-800: nth($palette-light-green, 9);\n$palette-light-green-900: nth($palette-light-green, 10);\n$palette-light-green-A100: nth($palette-light-green, 11);\n$palette-light-green-A200: nth($palette-light-green, 12);\n$palette-light-green-A400: nth($palette-light-green, 13);\n$palette-light-green-A700: nth($palette-light-green, 14);\n\n$palette-lime:\n\"249,251,231\"\n\"240,244,195\"\n\"230,238,156\"\n\"220,231,117\"\n\"212,225,87\"\n\"205,220,57\"\n\"192,202,51\"\n\"175,180,43\"\n\"158,157,36\"\n\"130,119,23\"\n\"244,255,129\"\n\"238,255,65\"\n\"198,255,0\"\n\"174,234,0\";\n\n$palette-lime-50: nth($palette-lime, 1);\n$palette-lime-100: nth($palette-lime, 2);\n$palette-lime-200: nth($palette-lime, 3);\n$palette-lime-300: nth($palette-lime, 4);\n$palette-lime-400: nth($palette-lime, 5);\n$palette-lime-500: nth($palette-lime, 6);\n$palette-lime-600: nth($palette-lime, 7);\n$palette-lime-700: nth($palette-lime, 8);\n$palette-lime-800: nth($palette-lime, 9);\n$palette-lime-900: nth($palette-lime, 10);\n$palette-lime-A100: nth($palette-lime, 11);\n$palette-lime-A200: nth($palette-lime, 12);\n$palette-lime-A400: nth($palette-lime, 13);\n$palette-lime-A700: nth($palette-lime, 14);\n\n$palette-yellow:\n\"255,253,231\"\n\"255,249,196\"\n\"255,245,157\"\n\"255,241,118\"\n\"255,238,88\"\n\"255,235,59\"\n\"253,216,53\"\n\"251,192,45\"\n\"249,168,37\"\n\"245,127,23\"\n\"255,255,141\"\n\"255,255,0\"\n\"255,234,0\"\n\"255,214,0\";\n\n$palette-yellow-50: nth($palette-yellow, 1);\n$palette-yellow-100: nth($palette-yellow, 2);\n$palette-yellow-200: nth($palette-yellow, 3);\n$palette-yellow-300: nth($palette-yellow, 4);\n$palette-yellow-400: nth($palette-yellow, 5);\n$palette-yellow-500: nth($palette-yellow, 6);\n$palette-yellow-600: nth($palette-yellow, 7);\n$palette-yellow-700: nth($palette-yellow, 8);\n$palette-yellow-800: nth($palette-yellow, 9);\n$palette-yellow-900: nth($palette-yellow, 10);\n$palette-yellow-A100: nth($palette-yellow, 11);\n$palette-yellow-A200: nth($palette-yellow, 12);\n$palette-yellow-A400: nth($palette-yellow, 13);\n$palette-yellow-A700: nth($palette-yellow, 14);\n\n$palette-amber:\n\"255,248,225\"\n\"255,236,179\"\n\"255,224,130\"\n\"255,213,79\"\n\"255,202,40\"\n\"255,193,7\"\n\"255,179,0\"\n\"255,160,0\"\n\"255,143,0\"\n\"255,111,0\"\n\"255,229,127\"\n\"255,215,64\"\n\"255,196,0\"\n\"255,171,0\";\n\n$palette-amber-50: nth($palette-amber, 1);\n$palette-amber-100: nth($palette-amber, 2);\n$palette-amber-200: nth($palette-amber, 3);\n$palette-amber-300: nth($palette-amber, 4);\n$palette-amber-400: nth($palette-amber, 5);\n$palette-amber-500: nth($palette-amber, 6);\n$palette-amber-600: nth($palette-amber, 7);\n$palette-amber-700: nth($palette-amber, 8);\n$palette-amber-800: nth($palette-amber, 9);\n$palette-amber-900: nth($palette-amber, 10);\n$palette-amber-A100: nth($palette-amber, 11);\n$palette-amber-A200: nth($palette-amber, 12);\n$palette-amber-A400: nth($palette-amber, 13);\n$palette-amber-A700: nth($palette-amber, 14);\n\n$palette-orange:\n\"255,243,224\"\n\"255,224,178\"\n\"255,204,128\"\n\"255,183,77\"\n\"255,167,38\"\n\"255,152,0\"\n\"251,140,0\"\n\"245,124,0\"\n\"239,108,0\"\n\"230,81,0\"\n\"255,209,128\"\n\"255,171,64\"\n\"255,145,0\"\n\"255,109,0\";\n\n$palette-orange-50: nth($palette-orange, 1);\n$palette-orange-100: nth($palette-orange, 2);\n$palette-orange-200: nth($palette-orange, 3);\n$palette-orange-300: nth($palette-orange, 4);\n$palette-orange-400: nth($palette-orange, 5);\n$palette-orange-500: nth($palette-orange, 6);\n$palette-orange-600: nth($palette-orange, 7);\n$palette-orange-700: nth($palette-orange, 8);\n$palette-orange-800: nth($palette-orange, 9);\n$palette-orange-900: nth($palette-orange, 10);\n$palette-orange-A100: nth($palette-orange, 11);\n$palette-orange-A200: nth($palette-orange, 12);\n$palette-orange-A400: nth($palette-orange, 13);\n$palette-orange-A700: nth($palette-orange, 14);\n\n$palette-deep-orange:\n\"251,233,231\"\n\"255,204,188\"\n\"255,171,145\"\n\"255,138,101\"\n\"255,112,67\"\n\"255,87,34\"\n\"244,81,30\"\n\"230,74,25\"\n\"216,67,21\"\n\"191,54,12\"\n\"255,158,128\"\n\"255,110,64\"\n\"255,61,0\"\n\"221,44,0\";\n\n$palette-deep-orange-50: nth($palette-deep-orange, 1);\n$palette-deep-orange-100: nth($palette-deep-orange, 2);\n$palette-deep-orange-200: nth($palette-deep-orange, 3);\n$palette-deep-orange-300: nth($palette-deep-orange, 4);\n$palette-deep-orange-400: nth($palette-deep-orange, 5);\n$palette-deep-orange-500: nth($palette-deep-orange, 6);\n$palette-deep-orange-600: nth($palette-deep-orange, 7);\n$palette-deep-orange-700: nth($palette-deep-orange, 8);\n$palette-deep-orange-800: nth($palette-deep-orange, 9);\n$palette-deep-orange-900: nth($palette-deep-orange, 10);\n$palette-deep-orange-A100: nth($palette-deep-orange, 11);\n$palette-deep-orange-A200: nth($palette-deep-orange, 12);\n$palette-deep-orange-A400: nth($palette-deep-orange, 13);\n$palette-deep-orange-A700: nth($palette-deep-orange, 14);\n\n\n// Color order: 50, 100, 200, 300, 400, 500, 600, 700, 800, 900.\n\n$palette-brown:\n\"239,235,233\"\n\"215,204,200\"\n\"188,170,164\"\n\"161,136,127\"\n\"141,110,99\"\n\"121,85,72\"\n\"109,76,65\"\n\"93,64,55\"\n\"78,52,46\"\n\"62,39,35\";\n\n$palette-brown-50: nth($palette-brown, 1);\n$palette-brown-100: nth($palette-brown, 2);\n$palette-brown-200: nth($palette-brown, 3);\n$palette-brown-300: nth($palette-brown, 4);\n$palette-brown-400: nth($palette-brown, 5);\n$palette-brown-500: nth($palette-brown, 6);\n$palette-brown-600: nth($palette-brown, 7);\n$palette-brown-700: nth($palette-brown, 8);\n$palette-brown-800: nth($palette-brown, 9);\n$palette-brown-900: nth($palette-brown, 10);\n\n$palette-grey:\n\"250,250,250\"\n\"245,245,245\"\n\"238,238,238\"\n\"224,224,224\"\n\"189,189,189\"\n\"158,158,158\"\n\"117,117,117\"\n\"97,97,97\"\n\"66,66,66\"\n\"33,33,33\";\n\n$palette-grey-50: nth($palette-grey, 1);\n$palette-grey-100: nth($palette-grey, 2);\n$palette-grey-200: nth($palette-grey, 3);\n$palette-grey-300: nth($palette-grey, 4);\n$palette-grey-400: nth($palette-grey, 5);\n$palette-grey-500: nth($palette-grey, 6);\n$palette-grey-600: nth($palette-grey, 7);\n$palette-grey-700: nth($palette-grey, 8);\n$palette-grey-800: nth($palette-grey, 9);\n$palette-grey-900: nth($palette-grey, 10);\n\n$palette-blue-grey:\n\"236,239,241\"\n\"207,216,220\"\n\"176,190,197\"\n\"144,164,174\"\n\"120,144,156\"\n\"96,125,139\"\n\"84,110,122\"\n\"69,90,100\"\n\"55,71,79\"\n\"38,50,56\";\n\n$palette-blue-grey-50: nth($palette-blue-grey, 1);\n$palette-blue-grey-100: nth($palette-blue-grey, 2);\n$palette-blue-grey-200: nth($palette-blue-grey, 3);\n$palette-blue-grey-300: nth($palette-blue-grey, 4);\n$palette-blue-grey-400: nth($palette-blue-grey, 5);\n$palette-blue-grey-500: nth($palette-blue-grey, 6);\n$palette-blue-grey-600: nth($palette-blue-grey, 7);\n$palette-blue-grey-700: nth($palette-blue-grey, 8);\n$palette-blue-grey-800: nth($palette-blue-grey, 9);\n$palette-blue-grey-900: nth($palette-blue-grey, 10);\n\n$color-black: \"0,0,0\";\n$color-white: \"255,255,255\";\n\n\n/* colors.scss */\n$styleguide-generate-template: false !default;\n\n// The two possible colors for overlayed text.\n$color-dark-contrast: $color-white !default;\n$color-light-contrast: $color-black !default;\n\n\n\n// WEBPACK FOOTER //\n// webpack:///~/material-design-lite/src/_color-definitions.scss","/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n@function strip-units($number) {\n @return $number / ($number * 0 + 1);\n}\n\n\n\n// WEBPACK FOOTER //\n// webpack:///~/material-design-lite/src/_functions.scss","/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/* Typography */\n\n@mixin typo-preferred-font($usePreferred: true) {\n @if $usePreferred {\n font-family: $preferred_font;\n }\n}\n\n@mixin typo-display-4($colorContrast: false, $usePreferred: true) {\n @include typo-preferred-font($usePreferred);\n font-size: 112px;\n font-weight: 300;\n line-height: 1;\n letter-spacing: -0.04em;\n\n @if $colorContrast {\n opacity: 0.54;\n }\n}\n\n@mixin typo-display-3($colorContrast: false, $usePreferred: true) {\n @include typo-preferred-font($usePreferred);\n font-size: 56px;\n font-weight: 400;\n line-height: 1.35;\n letter-spacing: -0.02em;\n\n @if $colorContrast {\n opacity: 0.54;\n }\n}\n\n@mixin typo-display-2($colorContrast: false, $usePreferred: true) {\n @include typo-preferred-font($usePreferred);\n font-size: 45px;\n font-weight: 400;\n line-height: 48px;\n\n @if $colorContrast {\n opacity: 0.54;\n }\n}\n\n@mixin typo-display-1($colorContrast: false, $usePreferred: true) {\n @include typo-preferred-font($usePreferred);\n font-size: 34px;\n font-weight: 400;\n line-height: 40px;\n\n @if $colorContrast {\n opacity: 0.54;\n }\n}\n\n@mixin typo-headline($colorContrast: false, $usePreferred: true) {\n @include typo-preferred-font($usePreferred);\n font-size: 24px;\n font-weight: 400;\n line-height: 32px;\n -moz-osx-font-smoothing: grayscale;\n\n @if $colorContrast {\n opacity: 0.87;\n }\n}\n\n@mixin typo-title($colorContrast: false, $usePreferred: true) {\n @include typo-preferred-font($usePreferred);\n font-size: 20px;\n font-weight: 500;\n line-height: 1;\n letter-spacing: 0.02em;\n\n @if $colorContrast {\n opacity: 0.87;\n }\n}\n\n@mixin typo-subhead($colorContrast: false, $usePreferred: true) {\n @include typo-preferred-font($usePreferred);\n font-size: 16px;\n font-weight: 400;\n line-height: 24px;\n letter-spacing: 0.04em;\n\n @if $colorContrast {\n opacity: 0.87;\n }\n}\n\n@mixin typo-subhead-2($colorContrast: false, $usePreferred: true) {\n @include typo-preferred-font($usePreferred);\n font-size: 16px;\n font-weight: 400;\n line-height: 28px;\n letter-spacing: 0.04em;\n\n @if $colorContrast {\n opacity: 0.87;\n }\n}\n\n@mixin typo-body-2($colorContrast: false, $usePreferred: false) {\n @include typo-preferred-font($usePreferred);\n font-size: 14px;\n @if $usePreferred {\n font-weight: 500;\n } @else {\n font-weight: bold;\n }\n line-height: 24px;\n letter-spacing: 0;\n\n @if $colorContrast {\n opacity: 0.87;\n }\n}\n\n@mixin typo-body-1($colorContrast: false, $usePreferred: false) {\n @include typo-preferred-font($usePreferred);\n font-size: 14px;\n font-weight: 400;\n line-height: 24px;\n letter-spacing: 0;\n\n @if $colorContrast {\n opacity: 0.87;\n }\n}\n\n@mixin typo-caption($colorContrast: false, $usePreferred: false) {\n @include typo-preferred-font($usePreferred);\n font-size: 12px;\n font-weight: 400;\n line-height: 1;\n letter-spacing: 0;\n\n @if $colorContrast {\n opacity: 0.54;\n }\n}\n\n@mixin typo-blockquote($colorContrast: false, $usePreferred: true) {\n @include typo-preferred-font($usePreferred);\n position: relative;\n font-size: 24px;\n font-weight: 300;\n font-style: italic;\n line-height: 1.35;\n letter-spacing: 0.08em;\n\n &:before {\n position: absolute;\n left: -0.5em;\n content: 'â';\n }\n\n &:after {\n content: 'â';\n margin-left: -0.05em;\n }\n\n @if $colorContrast {\n opacity: 0.54;\n }\n}\n\n@mixin typo-menu($colorContrast: false, $usePreferred: true) {\n @include typo-preferred-font($usePreferred);\n font-size: 14px;\n font-weight: 500;\n line-height: 1;\n letter-spacing: 0;\n\n @if $colorContrast {\n opacity: 0.87;\n }\n}\n\n@mixin typo-button($colorContrast: false, $usePreferred: true) {\n @include typo-preferred-font($usePreferred);\n font-size: 14px;\n font-weight: 500;\n text-transform: uppercase;\n line-height: 1;\n letter-spacing: 0;\n\n @if $colorContrast {\n opacity: 0.87;\n }\n}\n\n@mixin typo-icon() {\n font-family: 'Material Icons';\n font-weight: normal;\n font-style: normal;\n font-size: 24px;\n line-height: 1;\n letter-spacing: normal;\n text-transform: none;\n display: inline-block;\n word-wrap: normal;\n font-feature-settings: 'liga';\n -webkit-font-feature-settings: 'liga';\n -webkit-font-smoothing: antialiased;\n}\n\n/* Shadows */\n\n// Focus shadow mixin.\n@mixin focus-shadow() {\n box-shadow: 0 0 8px rgba(0,0,0,.18),0 8px 16px rgba(0,0,0,.36);\n}\n\n@mixin shadow-2dp() {\n box-shadow: 0 2px 2px 0 rgba(0, 0, 0, $shadow-key-penumbra-opacity),\n 0 3px 1px -2px rgba(0, 0, 0, $shadow-key-umbra-opacity),\n 0 1px 5px 0 rgba(0, 0, 0, $shadow-ambient-shadow-opacity);\n}\n@mixin shadow-3dp() {\n box-shadow: 0 3px 4px 0 rgba(0, 0, 0, $shadow-key-penumbra-opacity),\n 0 3px 3px -2px rgba(0, 0, 0, $shadow-key-umbra-opacity),\n 0 1px 8px 0 rgba(0, 0, 0, $shadow-ambient-shadow-opacity);\n}\n@mixin shadow-4dp() {\n box-shadow: 0 4px 5px 0 rgba(0, 0, 0, $shadow-key-penumbra-opacity),\n 0 1px 10px 0 rgba(0, 0, 0, $shadow-ambient-shadow-opacity),\n 0 2px 4px -1px rgba(0, 0, 0, $shadow-key-umbra-opacity);\n}\n@mixin shadow-6dp() {\n box-shadow: 0 6px 10px 0 rgba(0, 0, 0, $shadow-key-penumbra-opacity),\n 0 1px 18px 0 rgba(0, 0, 0, $shadow-ambient-shadow-opacity),\n 0 3px 5px -1px rgba(0, 0, 0, $shadow-key-umbra-opacity);\n}\n@mixin shadow-8dp() {\n box-shadow: 0 8px 10px 1px rgba(0, 0, 0, $shadow-key-penumbra-opacity),\n 0 3px 14px 2px rgba(0, 0, 0, $shadow-ambient-shadow-opacity),\n 0 5px 5px -3px rgba(0, 0, 0, $shadow-key-umbra-opacity);\n}\n\n@mixin shadow-16dp() {\n box-shadow: 0 16px 24px 2px rgba(0, 0, 0, $shadow-key-penumbra-opacity),\n 0 6px 30px 5px rgba(0, 0, 0, $shadow-ambient-shadow-opacity),\n 0 8px 10px -5px rgba(0, 0, 0, $shadow-key-umbra-opacity);\n}\n\n@mixin shadow-24dp() {\n box-shadow: 0 9px 46px 8px rgba(0, 0, 0, $shadow-key-penumbra-opacity),\n 0 11px 15px -7px rgba(0, 0, 0, $shadow-ambient-shadow-opacity),\n 0 24px 38px 3px rgba(0, 0, 0, $shadow-key-umbra-opacity);\n}\n\n/* Animations */\n\n@mixin material-animation-fast-out-slow-in($duration:0.2s) {\n transition-duration: $duration;\n transition-timing-function: $animation-curve-fast-out-slow-in;\n}\n\n@mixin material-animation-linear-out-slow-in($duration:0.2s) {\n transition-duration: $duration;\n transition-timing-function: $animation-curve-linear-out-slow-in;\n}\n\n@mixin material-animation-fast-out-linear-in($duration:0.2s) {\n transition-duration: $duration;\n transition-timing-function: $animation-curve-fast-out-linear-in;\n}\n\n@mixin material-animation-default($duration:0.2s) {\n transition-duration: $duration;\n transition-timing-function: $animation-curve-default;\n}\n\n/* Dialog */\n\n@mixin dialog-width($units:5) {\n @if(type_of($units) != 'number') {\n @error \"The unit given to dialog-width should be a number.\";\n }\n // 56dp is the base unit width for Dialogs.\n // With 5 units being the number of units for a mobile device.\n // https://goo.gl/sK2O5o\n width: $units * 56px;\n}\n\n\n\n// WEBPACK FOOTER //\n// webpack:///~/material-design-lite/src/_mixins.scss","/**\n * Copyright 2016 Leif Olsen. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n@import \"functions\";\n\n// ----------------------------------------------------------------\n// Sample colors\n// ----------------------------------------------------------------\n$mdlext-palette-amber-50: #FFF8E1;\n$mdlext-palette-amber-100: #FFECB3;\n$mdlext-palette-amber-500: #FFC107;\n$mdlext-palette-amber-700: #FFA000;\n$mdlext-palette-blue-grey-500: #607D8B;\n$mdlext-palette-deep-orange-500: #FF5722;\n$mdlext-palette-deep-purple-100: #D1C4E9;\n$mdlext-palette-deep-purple-500: #512DA8;\n$mdlext-palette-deep-purple-700: #673AB7;\n$mdlext-palette-green-50: #E8F5E9;\n$mdlext-palette-green-100: #C8E6C9;\n$mdlext-palette-green-500: #4CAF50;\n$mdlext-palette-green-700: #388E3C;\n$mdlext-palette-grey-50: #FAFAFA;\n$mdlext-palette-grey-100: #F5F5F5;\n$mdlext-palette-grey-200: #EEEEEE;\n$mdlext-palette-grey-300: #E0E0E0;\n$mdlext-palette-grey-400: #BDBDBD;\n$mdlext-palette-grey-500: #9E9E9E;\n$mdlext-palette-grey-600: #757575;\n$mdlext-palette-grey-700: #616161;\n$mdlext-palette-grey-800: #424242;\n$mdlext-palette-grey-900: #212121;\n$mdlext-palette-indigo-A200: #536DFE;\n$mdlext-palette-light-blue-500: #03A9F4;\n$mdlext-palette-light-green-500: #8BC34A;\n$mdlext-palette-pink-500: #E91E63;\n$mdlext-palette-pink-700: #C2185B;\n$mdlext-palette-pink-A400: #F50057;\n$mdlext-palette-purple-A200: #E040FB;\n$mdlext-palette-red-700: #D32F2F;\n$mdlext-palette-red-A200: #FF5252;\n$mdlext-palette-red-A400: #FF1744;\n$mdlext-palette-yellow-500: #FFEB3B;\n$mdlext-color-black: #000000;\n$mdlext-color-white: #FFFFFF;\n\n\n/* ========== Sticky Header ========== */\n$mdlext-sticky-header-background-color : transparent !default;\n$mdlext-sticky-header-background-color-scroll : transparent !default;\n$mdlext-sticky-header-gradient-color : rgb-string-to-hex($color-primary) !default;\n$mdlext-sticky-header-gradient-color-start : $mdlext-sticky-header-gradient-color !default;\n$mdlext-sticky-header-gradient-color-end : $mdlext-sticky-header-gradient-color-start !default;\n$mdlext-sticky-header-gradient-color-scroll-start: rgba($mdlext-sticky-header-gradient-color, 0.98) !default;\n$mdlext-sticky-header-gradient-color-scroll-end : rgba($mdlext-sticky-header-gradient-color, 0.95) !default;\n\n// Background shorthand\n/* stylelint-disable */\n$mdlext-sticky-header-background : $mdlext-sticky-header-background-color\n linear-gradient(to bottom,\n $mdlext-sticky-header-gradient-color-start 0,\n $mdlext-sticky-header-gradient-color-end 100%) !default;\n\n// Background shorthand when content is scrolling\n$mdlext-sticky-header-background-scroll : $mdlext-sticky-header-background-color-scroll\n linear-gradient(to bottom,\n $mdlext-sticky-header-gradient-color-scroll-start 100%,\n $mdlext-sticky-header-gradient-color-scroll-end 100%) !default;\n/* stylelint-enable */\n\n/* ========== Accordion ========== */\n$mdlext-accordion-header-background-color-base : $mdlext-palette-grey-500 !default;\n$mdlext-accordion-header-background-color : rgba($mdlext-accordion-header-background-color-base, 0.20) !default;\n$mdlext-accordion-header-background-open-color : rgba($mdlext-accordion-header-background-color-base, 0.30) !default;\n$mdlext-accordion-header-background-active-color : rgba($mdlext-accordion-header-background-color-base, 0.40) !default;\n$mdlext-accordion-header-border-color : rgba($mdlext-accordion-header-background-color-base, 0.50) !default;\n$mdlext-accordion-header-background-hover-color : rgba($mdlext-accordion-header-background-color-base, 0.40) !default;\n$mdlext-accordion-header-focus-outline-color : invert !default;\n$mdlext-accordion-header-disabled-color : rgba($mdlext-accordion-header-background-color-base, 0.12) !default;\n$mdlext-accordion-header-secondary-color : $mdlext-color-black !default;\n$mdlext-accordion-header-secondary-color-disabled: rgba($mdlext-color-black, 0.26) !default;\n$mdlext-accordion-header-highlight-color : darken($mdlext-accordion-header-border-color, 3%) !default;\n$mdlext-accordion-ripple-color : rgba(rgb-string-to-hex($color-accent-contrast), 0.5) !default;\n$mdlext-accordion-header-padding : 8px !default;\n$mdlext-accordion-header-height : 56px !default;\n$mdlext-accordion-content-padding : $mdlext-accordion-header-padding !default;\n$mdlext-accordion-content-color : inherit !default;\n$mdlext-accordion-content-background-color : transparent !default;\n\n\n/* ========== Dialog ========== */\n$mdlext-dialog-padding : 0;\n$mdlext-dialog-background-color : transparent !default;\n$mdlext-dialog-backdrop-color : rgba(0, 0, 0, 0.86) !default;\n$mdlext-dialog-open-animation : 0.5s 0.2s forwards !default;\n$mdlext-dialog-backdrop-animation: 0.2s forwards !default;\n\n\n/* ========== Lightbox ========== */\n$mdlext-lightbox-background-color : $card-background-color !default;\n$mdlext-lightbox-border : 0 !default;\n$mdlext-lightbox-border-radius : 0 !default;\n$mdlext-lightbox-figure-margin : 0 !default;\n$mdlext-lightbox-figure-padding : 0 !default;\n$mdlext-lightbox-figcaption-background-color: rgba(255, 255, 255, 0.76) !default;\n$mdlext-lightbox-footer-background-color : rgba(255, 255, 255, 0.86) !default;\n\n\n/* ========== Lightboard ========== */\n$mdlext-lightboard-medium-small-breakpoint : $grid-tablet-breakpoint !default; // 480\n$mdlext-lightboard-medium-breakpoint : $grid-tablet-breakpoint + 180px !default; // 480 + 180\n$mdlext-lightboard-medium-large-breakpoint : $grid-desktop-breakpoint !default; // 840\n$mdlext-lightboard-large-breakpoint : $grid-desktop-breakpoint + 360px !default; // 840+360\n\n$mdlext-lightboard-small-gutter : 2px !default;\n$mdlext-lightboard-small-margin : 0 !default;\n$mdlext-lightboard-small-columns : 2 !default;\n$mdlext-lightboard-small-frame-width : 8px !default;\n\n$mdlext-lightboard-medium-small-gutter : 4px !default;\n$mdlext-lightboard-medium-small-margin : 0 !default;\n$mdlext-lightboard-medium-small-columns : 4 !default;\n$mdlext-lightboard-medium-small-frame-width : 8px !default;\n\n$mdlext-lightboard-medium-gutter : 4px !default;\n$mdlext-lightboard-medium-margin : 0 !default;\n$mdlext-lightboard-medium-columns : 5 !default;\n$mdlext-lightboard-medium-frame-width : 8px !default;\n\n$mdlext-lightboard-medium-large-gutter : 8px !default;\n$mdlext-lightboard-medium-large-margin : 0 !default;\n$mdlext-lightboard-medium-large-columns : 6 !default;\n$mdlext-lightboard-medium-large-frame-width : 12px !default;\n\n$mdlext-lightboard-large-gutter : 8px !default;\n$mdlext-lightboard-large-margin : 0 !default;\n$mdlext-lightboard-large-columns : 7 !default;\n$mdlext-lightboard-large-frame-width : 12px !default;\n\n$mdlext-lightboard-slide-max-size : 250px !default;\n$mdlext-lightboard-slide-border-color : #D8D8D8 !default;\n$mdlext-lightboard-slide-background-color : #F8F8F8 !default;\n$mdlext-lightboard-slide-border-radius : 5px !default;\n$mdlext-lightboard-slide-inner-border-radius : 3px !default;\n$mdlext-lightboard-slide-box-shadow : 2px 2px 6px -1px rgba(219, 215, 219, 0.5) !default;\n$mdlext-lightboard-slide-border-color-hover : #B8B8B8 !default;\n$mdlext-lightboard-slide-background-color-hover: #E8E8E8 !default;\n$mdlext-lightboard-slide-active-bacground-color: #E8E8E8 !default;\n$mdlext-lightboard-slide-box-shadow-hover : 2px 2px 12px -1px rgba(219, 215, 219, 1) !default;\n$mdlext-lightboard-ripple-color : $tab-highlight-color !default;\n$mdlext-lightboard-focus-outline-color : inherit !default;\n$mdlext-lightboard-figcaption-text-color : rgb-string-to-hex($palette-grey-400) !default;\n\n\n/* ========== Carousel ========== */\n$mdlext-carousel-slide-border-top-width : 2px !default;\n$mdlext-carousel-slide-border-top-color : rgb-string-to-hex($color-accent) !default;\n$mdlext-carousel-slide-margin-horizontal : 0;\n$mdlext-carousel-slide-figcaption-color : $mdlext-lightboard-figcaption-text-color !default;\n$mdlext-carousel-slide-ripple-color : $mdlext-lightboard-ripple-color !default;\n\n\n/* ========== Bordered fields ========== */\n$mdlext-bordered-field-vertical-spacing-top : 0 !default;\n$mdlext-bordered-field-vertical-spacing-bottom : $input-text-vertical-spacing !default;\n\n$mdlext-bordered-field-input-text-font-size : $input-text-font-size !default;\n$mdlext-bordered-field-font-weight : normal !default;\n$mdlext-bordered-field-border-width : 1px !default;\n$mdlext-bordered-field-border-radius : 3px !default;\n$mdlext-bordered-field-padding : $input-text-padding + 4px !default;\n$mdlext-bordered-field-padding-top : $input-text-vertical-spacing !default;\n$mdlext-bordered-field-padding-bottom : $input-text-padding !default;\n\n$mdlext-bordered-field-input-text-color : inherit !default;\n$mdlext-bordered-field-border-color : rgba($mdlext-color-black, 0.26) !default;\n$mdlext-bordered-field-background-color : rgba(#FFFFFF, 0.2) !default;\n$mdlext-bordered-field-focus-border-color : rgb-string-to-hex($color-primary) !default;\n$mdlext-bordered-field-focus-background-color : rgba(#EEEEEE, 0.2) !default;\n\n$mdlext-bordered-field-input-text-disabled-text-color : rgba($mdlext-color-black, 0.12) !default;\n$mdlext-bordered-field-disabled-border-color : rgba($mdlext-color-black, 0.12) !default;\n$mdlext-bordered-field-disabled-background-color : $mdlext-bordered-field-background-color !default;\n\n$mdlext-bordered-field-input-text-error-color : $mdlext-bordered-field-input-text-color !default;\n$mdlext-bordered-field-error-border-color : rgb-string-to-hex($input-text-error-color) !default;\n$mdlext-bordered-field-error-background-color : rgba(lighten($mdlext-bordered-field-error-border-color, 50%), 0.5) !default;\n$mdlext-bordered-field-error-focus-border-color : darken($mdlext-bordered-field-error-border-color, 10%) !default;\n$mdlext-bordered-field-error-focus-background-color : $mdlext-bordered-field-error-background-color !default;\n\n$mdlext-bordered-field-input-text-label-color : rgba($mdlext-color-black, 0.26) !default;\n$mdlext-bordered-field-input-text-label-focus-color : $mdlext-bordered-field-focus-border-color !default;\n$mdlext-bordered-field-input-text-label-error-color : $mdlext-bordered-field-error-border-color !default;\n$mdlext-bordered-field-input-text-label-disabled-color: rgba($mdlext-color-black, 0.12) !default;\n\n$mdlext-bordered-field-label-font-size : $mdlext-bordered-field-input-text-font-size !default;\n$mdlext-bordered-field-floating-label-font-size : $input-text-floating-label-fontsize !default;\n$mdlext-bordered-field-floating-label-font-weight : normal !default;\n\n$mdlext-bordered-field-height : $mdlext-bordered-field-padding-top + $mdlext-bordered-field-padding-bottom + $mdlext-bordered-field-input-text-font-size + 6px !default;\n$mdlext-bordered-field-floating-label-focus-bottom : $mdlext-bordered-field-height - $mdlext-bordered-field-floating-label-font-size - $mdlext-bordered-field-padding-top/2 !default;\n\n\n// MDL can not handle required attribute properly. Planned for MDL-v2\n//$mdlext-bordered-field-required-border-color : rgba(rgb-string-to-hex($color-accent), 0.8) !default;\n//$mdlext-bordered-field-required-background-color : $mdlext-bordered-field-background-color !default;\n//$mdlext-bordered-field-required-focus-border-color : rgba(rgb-string-to-hex($color-accent), 0.8) !default;\n//$mdlext-bordered-field-required-focus-background-color: $mdlext-bordered-field-background-color !default;\n//$mdlext-bordered-field-label-required-color : $mdlext-bordered-field-required-border-color !default;\n\n\n\n/* ========== Color Themes ========== */\n\n// ----------------------------------------------------------------\n// Light Color Theme.\n// ----------------------------------------------------------------\n$mdlext-light-color-primary: #4CAF50 !default;\n$mdlext-light-color-primary-dark: #388E3C !default;\n$mdlext-light-color-primary-light: #4CAF50 !default; // Fallback color. Set to color-primary if fallback is not needed\n$mdlext-light-color-primary-contrast: #C8E6C9 !default; // text color on primary/primary dark background\n$mdlext-light-color-accent: #E040FB !default;\n$mdlext-light-color-accent-light: #E040FB !default; // Fallback color. Set to color-accent if fallback is not needed\n$mdlext-light-color-accent-contrast: #FAFAFA !default;\n\n$mdlext-light-content-background-color: #FAFAFA !default; // background color on content (paper/card) background\n$mdlext-light-text-color-primary: rgba($mdlext-color-black, 0.87) !default; // text color on content (paper/card) background\n$mdlext-light-text-color-secondary: rgba($mdlext-color-black, 0.54) !default; // text color on content (paper/card) background\n$mdlext-light-text-color-disabled: rgba($mdlext-color-black, 0.38) !default; // disabled text, hint text, and icons\n$mdlext-light-divider-color: rgba($mdlext-color-black, 0.12) !default; // -> $card-border-color\n$mdlext-light-error-color: #D32F2F !default;\n\n// Anchor\n$mdlext-light-text-link-color: $mdlext-light-color-accent !default;\n\n// Card\n$mdlext-light-card-background-color: $mdlext-light-content-background-color !default;\n$mdlext-light-card-text-color: $mdlext-light-text-color-primary !default;\n$mdlext-light-card-image-placeholder-color: $mdlext-light-color-accent !default;\n$mdlext-light-card-supporting-text-text-color: rgba($mdlext-color-black, 0.54) !default;\n$mdlext-light-card-border-color: rgba(0, 0, 0, 0.1) !default;\n$mdlext-light-card-subtitle-color: rgba($mdlext-color-black, 0.54) !default;\n\n// Item\n\n// Default Item Colors\n$mdlext-light-default-item-text-color: rgba($mdlext-color-black, 0.87) !default;\n$mdlext-light-default-item-outline-color: $mdlext-palette-grey-400 !default;\n$mdlext-light-default-item-hover-bg-color: $mdlext-palette-grey-200 !default;\n$mdlext-light-default-item-focus-bg-color: $mdlext-palette-grey-200 !default;\n$mdlext-light-default-item-active-bg-color: $mdlext-palette-grey-300 !default;\n$mdlext-light-default-item-divider-color: rgba($mdlext-color-black, 0.12) !default;\n\n// Disabled Button Colors\n$mdlext-light-disabled-item-text-color: $mdlext-palette-grey-400 !default;\n\n// Dropdown menu / menu-button\n$mdlext-light-default-dropdown-bg-color: $mdlext-color-white !default;\n\n// Badge\n$mdlext-light-badge-color: $mdlext-light-color-accent-contrast !default;\n$mdlext-light-badge-color-inverse: $mdlext-light-color-accent !default;\n$mdlext-light-badge-background: $mdlext-light-color-accent !default;\n$mdlext-light-badge-background-inverse: $mdlext-light-color-accent-contrast !default;\n\n// Default button colors.\n$mdlext-light-button-primary-color: rgba($mdlext-palette-grey-500, 0.20) !default;\n$mdlext-light-button-secondary-color: $mdlext-color-black !default;\n$mdlext-light-button-hover-color: $mdlext-light-button-primary-color !default;\n$mdlext-light-button-active-color: rgba($mdlext-palette-grey-500, 0.40) !default;\n$mdlext-light-button-focus-color: rgba($mdlext-color-black, 0.12) !default;\n\n// Colored button colors.\n$mdlext-light-button-primary-color-alt: $mdlext-light-color-primary-light !default;\n$mdlext-light-button-secondary-color-alt: $mdlext-light-color-primary-contrast !default;\n$mdlext-light-button-hover-color-alt: darken($mdlext-light-color-primary-light, 10%) !default;\n$mdlext-light-button-active-color-alt: darken($mdlext-light-color-primary-light, 10%) !default;\n$mdlext-light-button-focus-color-alt: $mdlext-light-button-focus-color !default;\n\n// Ripple color for colored raised buttons.\n$mdlext-light-button-ripple-color-alt: $mdlext-light-color-primary-contrast !default;\n\n// Disabled button colors.\n$mdlext-light-button-primary-color-disabled: rgba($mdlext-color-black, 0.12) !default;\n$mdlext-light-button-secondary-color-disabled: rgba($mdlext-color-black, 0.26) !default;\n\n// FAB colors and sizes.\n$mdlext-light-button-fab-color-alt: $mdlext-light-color-accent !default;\n$mdlext-light-button-fab-hover-color-alt: $mdlext-light-color-accent !default;\n$mdlext-light-button-fab-active-color-alt: $mdlext-light-color-accent !default;\n$mdlext-light-button-fab-text-color-alt: $mdlext-light-color-accent-contrast !default;\n$mdlext-light-button-fab-ripple-color-alt: $mdlext-light-color-accent-contrast !default;\n\n// Slider\n$mdlext-light-range-bg-color: rgba($mdlext-color-black, 0.26) !default;\n$mdlext-light-range-color: $mdlext-light-color-accent-light !default;\n$mdlext-light-range-faded-color: rgba($mdlext-light-color-accent-light, 0.26) !default;\n$mdlext-light-range-bg-focus-color: rgba($mdlext-color-black, 0.12) !default;\n\n// Textfields\n$mdlext-light-input-text-background-color: transparent !default;\n$mdlext-light-input-text-label-color: rgba($mdlext-color-black, 0.54) !default;\n$mdlext-light-input-text-bottom-border-color: rgba($mdlext-color-black, 0.26) !default;\n$mdlext-light-input-text-highlight-color: $mdlext-light-color-accent-light !default;\n$mdlext-light-input-text-disabled-color: rgba($mdlext-color-black, 0.12) !default;\n$mdlext-light-input-text-disabled-text-color: rgba($mdlext-color-black, 0.26) !default;\n$mdlext-light-input-text-error-color: $mdlext-light-error-color !default;\n\n// Checkboxes\n$mdlext-light-checkbox-color: $mdlext-light-color-accent-light !default;\n$mdlext-light-checkbox-off-color: rgba($mdlext-color-black, 0.54) !default;\n$mdlext-light-checkbox-disabled-color: rgba($mdlext-color-black, 0.26) !default;\n$mdlext-light-checkbox-focus-color: rgba($mdlext-light-color-accent-light, 0.26) !default;\n\n// Icon Toggles\n$mdlext-light-icon-toggle-color: $mdlext-palette-grey-700 !default;\n$mdlext-light-icon-toggle-focus-color: $mdlext-light-button-focus-color !default;\n$mdlext-light-icon-toggle-checked-color: $mdlext-light-color-accent-light !default;\n$mdlext-light-icon-toggle-checked-focus-color: rgba($mdlext-light-color-accent-light, 0.26) !default;\n$mdlext-light-icon-toggle-disabled-color: rgba($mdlext-color-black, 0.26) !default;\n\n// Radio Buttons\n$mdlext-light-radio-color: $mdlext-light-color-accent-light !default;\n$mdlext-light-radio-off-color: rgba($mdlext-color-black, 0.54) !default;\n$mdlext-light-radio-disabled-color: rgba($mdlext-color-black, 0.26) !default;\n\n// Switches\n$mdlext-light-switch-color: $mdlext-light-color-accent-light !default;\n$mdlext-light-switch-faded-color: rgba($mdlext-light-color-accent-light, 0.26) !default;\n$mdlext-light-switch-thumb-color: $mdlext-light-switch-color !default;\n$mdlext-light-switch-track-color: rgba($mdlext-light-color-accent-light, 0.54) !default;\n$mdlext-light-switch-off-thumb-color: $mdlext-palette-grey-50 !default;\n$mdlext-light-switch-off-track-color: rgba($mdlext-color-black, 0.26) !default;\n$mdlext-light-switch-disabled-thumb-color: $mdlext-palette-grey-400 !default;\n$mdlext-light-switch-disabled-track-color: rgba($mdlext-color-black, 0.12) !default;\n\n// Data table\n$mdlext-light-data-table-background-color: $mdlext-light-content-background-color !default;\n$mdlext-light-data-table-header-color: rgba($mdlext-color-black, 0.54) !default;\n$mdlext-light-data-table-header-sorted-color: rgba($mdlext-color-black, 0.87) !default;\n$mdlext-light-data-table-header-sorted-icon-hover-color: rgba($mdlext-color-black, 0.26) !default;\n$mdlext-light-data-table-hover-color: $mdlext-palette-grey-200 !default;\n$mdlext-light-data-table-selection-color: $mdlext-palette-grey-200 !default;\n$mdlext-light-data-table-divider-color: rgba($mdlext-color-black, 0.12) !default;\n$mdlext-light-data-table-dividers: 1px solid $mdlext-light-data-table-divider-color !default;\n\n\n// Selectfield\n// Uses variables from textfield\n$mdlext-selectfield-arrow-width: 0.7em;\n$mdlext-selectfield-arrow-length: 0.5em;\n\n\n// Accordion\n$mdlext-light-accordion-header-background-color-base : $mdlext-palette-grey-600 !default;\n$mdlext-light-accordion-header-background-color : rgba($mdlext-light-accordion-header-background-color-base, 0.20) !default;\n$mdlext-light-accordion-header-background-open-color : rgba($mdlext-light-accordion-header-background-color-base, 0.30) !default;\n$mdlext-light-accordion-header-background-active-color : rgba($mdlext-light-accordion-header-background-color-base, 0.40) !default;\n$mdlext-light-accordion-header-border-color : rgba($mdlext-light-accordion-header-background-color-base, 0.50) !default;\n$mdlext-light-accordion-header-background-hover-color : rgba($mdlext-light-accordion-header-background-color-base, 0.40) !default;\n$mdlext-light-accordion-header-focus-outline-color : darken($mdlext-light-accordion-header-border-color, 3%) !default;\n$mdlext-light-accordion-header-disabled-color : rgba($mdlext-light-accordion-header-background-color-base, 0.12) !default;\n$mdlext-light-accordion-header-secondary-color : $mdlext-color-black !default;\n$mdlext-light-accordion-header-secondary-color-disabled: rgba($mdlext-color-black, 0.26) !default;\n$mdlext-light-accordion-header-highlight-color : darken($mdlext-light-accordion-header-border-color, 6%) !default;\n$mdlext-light-accordion-ripple-color : rgba($mdlext-light-accordion-header-background-color-base, 0.4) !default;\n$mdlext-light-accordion-content-color : inherit !default;\n$mdlext-light-accordion-content-background-color : transparent !default;\n\n\n// Bordered fields\n$mdlext-light-bordered-field-input-text-color : inherit !default;\n$mdlext-light-bordered-field-border-color : $mdlext-light-input-text-bottom-border-color !default;\n$mdlext-light-bordered-field-background-color : rgba($mdlext-light-content-background-color, 0.1) !default;\n$mdlext-light-bordered-field-focus-border-color : $mdlext-light-color-accent-light !default;\n$mdlext-light-bordered-field-focus-background-color : rgba(darken($mdlext-light-bordered-field-background-color, 10%), 0.1) !default;\n\n$mdlext-light-bordered-field-input-text-disabled-text-color : $mdlext-light-input-text-disabled-text-color;\n$mdlext-light-bordered-field-disabled-border-color : $mdlext-light-input-text-disabled-color !default;\n$mdlext-light-bordered-field-disabled-background-color : $mdlext-light-bordered-field-background-color !default;\n\n$mdlext-light-bordered-field-input-text-error-color : $mdlext-light-bordered-field-input-text-color !default;\n$mdlext-light-bordered-field-error-border-color : $mdlext-light-input-text-error-color !default;\n$mdlext-light-bordered-field-error-background-color : rgba(lighten($mdlext-light-bordered-field-error-border-color, 50%), 0.5) !default;\n$mdlext-light-bordered-field-error-focus-border-color : darken($mdlext-light-bordered-field-error-border-color, 10%) !default;\n$mdlext-light-bordered-field-error-focus-background-color : $mdlext-light-bordered-field-error-background-color !default;\n\n$mdlext-light-bordered-field-input-text-label-color : $mdlext-light-input-text-label-color !default;\n$mdlext-light-bordered-field-input-text-label-focus-color : $mdlext-light-bordered-field-focus-border-color !default;\n$mdlext-light-bordered-field-input-text-label-error-color : $mdlext-light-bordered-field-error-border-color !default;\n$mdlext-light-bordered-field-input-text-label-disabled-color: $mdlext-light-input-text-disabled-text-color !default;\n\n\n\n// ----------------------------------------------------------------\n// Dark Color Theme.\n// ----------------------------------------------------------------\n$mdlext-dark-color-primary: #FFC107 !default;\n$mdlext-dark-color-primary-dark: #FFA000 !default;\n$mdlext-dark-color-primary-light: #FFC107 !default; // Fallback color. Set to color-primary if fallback is not needed\n$mdlext-dark-color-primary-contrast: #FFF8E1 !default; // text color on primary/primary dark background\n$mdlext-dark-color-accent: #536DFE !default;\n$mdlext-dark-color-accent-light: #536DFE !default; // Fallback color. Set to color-accent if fallback is not needed\n$mdlext-dark-color-accent-contrast: #FFFFFF !default;\n\n$mdlext-dark-content-background-color: #303030 !default; // #424242 or #303030, background color on content (paper/card) background\n$mdlext-dark-text-color-primary: rgba(#FFFFFF, 1.00) !default; // text color on content (paper/card) background\n$mdlext-dark-text-color-secondary: rgba(#FFFFFF, 0.70) !default; // text color on content (paper/card) background\n$mdlext-dark-text-color-disabled: rgba(#FFFFFF, 0.50) !default; // disabled text, hint text, and icons\n$mdlext-dark-divider-color: rgba(#FFFFFF, 0.12) !default; // -> $card-border-color\n$mdlext-dark-error-color: #FF1744 !default;\n\n// Anchor\n$mdlext-dark-text-link-color: $mdlext-dark-color-accent !default;\n\n// Card\n$mdlext-dark-card-background-color: $mdlext-dark-content-background-color !default;\n$mdlext-dark-card-text-color: $mdlext-dark-text-color-primary !default;\n$mdlext-dark-card-image-placeholder-color: $mdlext-dark-color-accent !default;\n$mdlext-dark-card-supporting-text-text-color: rgba($mdlext-color-white, 0.70) !default;\n$mdlext-dark-card-border-color: rgba(0, 0, 0, 0.1) !default;\n$mdlext-dark-card-subtitle-color: rgba($mdlext-color-black, 0.70) !default;\n\n// Item\n\n// Default Item Colors\n$mdlext-dark-default-item-text-color: rgba($mdlext-color-white, 0.87) !default;\n$mdlext-dark-default-item-outline-color: $mdlext-palette-grey-700 !default;\n$mdlext-dark-default-item-hover-bg-color: $mdlext-palette-grey-900 !default;\n$mdlext-dark-default-item-focus-bg-color: $mdlext-palette-grey-900 !default;\n$mdlext-dark-default-item-active-bg-color: $mdlext-palette-grey-800 !default;\n$mdlext-dark-default-item-divider-color: rgba($mdlext-color-white, 0.20) !default;\n\n// Disabled Button Colors\n$mdlext-dark-disabled-item-text-color: $mdlext-palette-grey-500 !default;\n\n// Dropdown menu / menu-button\n$mdlext-dark-default-dropdown-bg-color: $mdlext-color-black !default;\n\n// Badge\n$mdlext-dark-badge-color: $mdlext-dark-color-accent-contrast !default;\n$mdlext-dark-badge-color-inverse: $mdlext-dark-color-accent !default;\n$mdlext-dark-badge-background: $mdlext-dark-color-accent !default;\n$mdlext-dark-badge-background-inverse: $mdlext-dark-color-accent-contrast !default;\n\n// Default button colors.\n$mdlext-dark-button-primary-color: rgba($mdlext-palette-grey-500, 0.20) !default;\n$mdlext-dark-button-secondary-color: $mdlext-color-white !default;\n$mdlext-dark-button-hover-color: $mdlext-dark-button-primary-color !default;\n$mdlext-dark-button-active-color: rgba($mdlext-palette-grey-500, 0.40) !default;\n$mdlext-dark-button-focus-color: rgba($mdlext-color-black, 0.12) !default;\n\n// Colored button colors.\n$mdlext-dark-button-primary-color-alt: $mdlext-dark-color-primary-light !default;\n$mdlext-dark-button-secondary-color-alt: $mdlext-dark-color-primary-contrast !default;\n$mdlext-dark-button-hover-color-alt: darken($mdlext-dark-color-primary-light, 10%) !default;\n$mdlext-dark-button-active-color-alt: darken($mdlext-dark-color-primary-light, 10%) !default;\n$mdlext-dark-button-focus-color-alt: $mdlext-dark-button-focus-color !default;\n\n// Ripple color for colored raised buttons.\n$mdlext-dark-button-ripple-color-alt: $mdlext-dark-color-primary-contrast !default;\n\n// Disabled button colors.\n$mdlext-dark-button-primary-color-disabled: rgba($mdlext-color-white, 0.12) !default;\n$mdlext-dark-button-secondary-color-disabled: rgba($mdlext-color-white, 0.26) !default;\n\n// FAB colors and sizes.\n$mdlext-dark-button-fab-color-alt: $mdlext-dark-color-accent !default;\n$mdlext-dark-button-fab-hover-color-alt: $mdlext-dark-color-accent !default;\n$mdlext-dark-button-fab-active-color-alt: $mdlext-dark-color-accent !default;\n$mdlext-dark-button-fab-text-color-alt: $mdlext-dark-color-accent-contrast !default;\n$mdlext-dark-button-fab-ripple-color-alt: $mdlext-dark-color-accent-contrast !default;\n\n// Slider\n$mdlext-dark-range-bg-color: rgba($mdlext-color-white, 0.87) !default;\n$mdlext-dark-range-color: $mdlext-dark-color-accent-light !default;\n$mdlext-dark-range-faded-color: rgba($mdlext-dark-color-accent-light, 0.50) !default;\n$mdlext-dark-range-bg-focus-color: rgba($mdlext-color-white, 0.50) !default;\n\n// Textfields\n$mdlext-dark-input-text-background-color: transparent !default;\n$mdlext-dark-input-text-label-color: rgba($mdlext-color-white, 0.50) !default;\n$mdlext-dark-input-text-bottom-border-color: rgba($mdlext-color-white, 0.26) !default;\n$mdlext-dark-input-text-highlight-color: $mdlext-dark-color-accent-light !default;\n$mdlext-dark-input-text-disabled-color: rgba($mdlext-color-white, 0.12) !default;\n$mdlext-dark-input-text-disabled-text-color: rgba($mdlext-color-white, 0.26) !default;\n$mdlext-dark-input-text-error-color: $mdlext-dark-error-color !default;\n\n// Checkboxes\n$mdlext-dark-checkbox-color: $mdlext-dark-color-accent-light !default;\n$mdlext-dark-checkbox-off-color: rgba($mdlext-color-white, 0.50) !default;\n$mdlext-dark-checkbox-disabled-color: rgba($mdlext-color-white, 0.26) !default;\n$mdlext-dark-checkbox-focus-color: rgba($mdlext-dark-color-accent-light, 0.26) !default;\n\n// Icon Toggles\n$mdlext-dark-icon-toggle-color: $mdlext-palette-grey-700 !default;\n$mdlext-dark-icon-toggle-focus-color: $mdlext-dark-button-focus-color !default;\n$mdlext-dark-icon-toggle-checked-color: $mdlext-dark-color-accent-light !default;\n$mdlext-dark-icon-toggle-checked-focus-color: rgba($mdlext-dark-color-accent-light, 0.26) !default;\n$mdlext-dark-icon-toggle-disabled-color: rgba($mdlext-color-white, 0.50) !default;\n\n// Radio Buttons\n$mdlext-dark-radio-color: $mdlext-dark-color-accent-light !default;\n$mdlext-dark-radio-off-color: rgba($mdlext-color-white, 0.50) !default;\n$mdlext-dark-radio-disabled-color: rgba($mdlext-color-white, 0.26) !default;\n\n// Switches\n$mdlext-dark-switch-color: $mdlext-dark-color-accent-light !default;\n$mdlext-dark-switch-faded-color: rgba($mdlext-dark-color-accent-light, 0.26) !default;\n$mdlext-dark-switch-thumb-color: $mdlext-dark-switch-color !default;\n$mdlext-dark-switch-track-color: rgba($mdlext-dark-color-accent-light, 0.5) !default;\n$mdlext-dark-switch-off-thumb-color: $mdlext-palette-grey-50 !default;\n$mdlext-dark-switch-off-track-color: rgba($mdlext-color-white, 0.26) !default;\n$mdlext-dark-switch-disabled-thumb-color: $mdlext-palette-grey-50 !default;\n$mdlext-dark-switch-disabled-track-color: rgba($mdlext-color-white, 0.12) !default;\n\n// Data table\n$mdlext-dark-data-table-background-color: $mdlext-dark-content-background-color !default;\n$mdlext-dark-data-table-header-color: rgba($mdlext-color-white, 0.87) !default;\n$mdlext-dark-data-table-header-sorted-color: rgba($mdlext-color-white, 0.87) !default;\n$mdlext-dark-data-table-header-sorted-icon-hover-color: rgba($mdlext-color-white, 0.26) !default;\n$mdlext-dark-data-table-hover-color: $mdlext-dark-default-item-hover-bg-color !default;\n$mdlext-dark-data-table-selection-color: $mdlext-dark-default-item-active-bg-color !default;\n$mdlext-dark-data-table-divider-color: rgba($mdlext-color-white, 0.12) !default;\n$mdlext-dark-data-table-dividers: 1px solid $mdlext-dark-data-table-divider-color !default;\n\n\n// Selectfield\n// Uses variables from textfield\n\n\n// Accordion\n$mdlext-dark-accordion-header-background-color-base : $mdlext-color-black !default;\n$mdlext-dark-accordion-header-background-color : rgba($mdlext-dark-accordion-header-background-color-base, 1.0) !default;\n$mdlext-dark-accordion-header-background-open-color : rgba($mdlext-dark-accordion-header-background-color-base, 0.9) !default;\n$mdlext-dark-accordion-header-border-color : $mdlext-palette-grey-800 !default;\n$mdlext-dark-accordion-header-background-hover-color : rgba($mdlext-dark-accordion-header-background-color-base, 0.5) !default;\n$mdlext-dark-accordion-header-background-active-color : rgba($mdlext-dark-accordion-header-background-color-base, 0.6) !default;\n$mdlext-dark-accordion-header-focus-outline-color : lighten($mdlext-dark-accordion-header-border-color, 40%) !default;\n$mdlext-dark-accordion-header-disabled-color : rgba($mdlext-dark-accordion-header-background-color-base, 0.4) !default;\n$mdlext-dark-accordion-header-secondary-color : $mdlext-dark-text-color-primary !default;\n$mdlext-dark-accordion-header-secondary-color-disabled: $mdlext-dark-text-color-disabled !default;\n$mdlext-dark-accordion-header-highlight-color : lighten($mdlext-dark-accordion-header-border-color, 40%) !default;\n$mdlext-dark-accordion-ripple-color : rgba($mdlext-dark-accordion-header-background-color-base, 0.3) !default;\n$mdlext-dark-accordion-content-color : inherit !default;\n$mdlext-dark-accordion-content-background-color : transparent !default;\n\n\n// Bordered fields\n$mdlext-dark-bordered-field-input-text-color : inherit !default;\n$mdlext-dark-bordered-field-border-color : $mdlext-dark-input-text-bottom-border-color !default;\n$mdlext-dark-bordered-field-background-color : rgba($mdlext-dark-content-background-color, 0.1) !default;\n$mdlext-dark-bordered-field-focus-border-color : $mdlext-dark-color-accent-light !default;\n$mdlext-dark-bordered-field-focus-background-color : rgba(darken($mdlext-dark-bordered-field-background-color, 10%), 0.1) !default;\n\n$mdlext-dark-bordered-field-input-text-disabled-text-color : $mdlext-dark-input-text-disabled-text-color;\n$mdlext-dark-bordered-field-disabled-border-color : $mdlext-dark-input-text-disabled-color !default;\n$mdlext-dark-bordered-field-disabled-background-color : $mdlext-dark-bordered-field-background-color !default;\n\n$mdlext-dark-bordered-field-input-text-error-color : $mdlext-dark-bordered-field-input-text-color !default;\n$mdlext-dark-bordered-field-error-border-color : $mdlext-dark-input-text-error-color !default;\n$mdlext-dark-bordered-field-error-background-color : rgba($mdlext-dark-bordered-field-error-border-color, 0.1) !default;\n$mdlext-dark-bordered-field-error-focus-border-color : darken($mdlext-dark-bordered-field-error-border-color, 10%) !default;\n$mdlext-dark-bordered-field-error-focus-background-color : $mdlext-dark-bordered-field-error-background-color !default;\n\n$mdlext-dark-bordered-field-input-text-label-color : $mdlext-dark-input-text-label-color !default;\n$mdlext-dark-bordered-field-input-text-label-focus-color : $mdlext-dark-bordered-field-focus-border-color !default;\n$mdlext-dark-bordered-field-input-text-label-error-color : $mdlext-dark-bordered-field-error-border-color !default;\n$mdlext-dark-bordered-field-input-text-label-disabled-color: $mdlext-dark-input-text-disabled-text-color !default;\n\n\n\n// WEBPACK FOOTER //\n// webpack:///src/_variables.scss","///\n/// Returns the opposite direction of each direction in a list\n/// Modified from: https://css-tricks.com/snippets/sass/opposite-direction-function/\n/// @author Hugo Giraudel\n/// @param {List} $directions - List of initial directions\n/// @return {List} - List of opposite directions\n@function mdlext-opposite-direction($directions) {\n $opposite-directions: ();\n $direction-map: (\n 'top': 'bottom',\n 'right': 'left',\n 'bottom': 'top',\n 'left': 'right',\n 'center': 'center',\n 'ltr': 'rtl',\n 'rtl': 'ltr'\n );\n\n @each $direction in $directions {\n $direction: to-lower-case($direction);\n\n @if map-has-key($direction-map, $direction) {\n $opposite-directions: append($opposite-directions, unquote(map-get($direction-map, $direction)));\n }\n @else {\n @warn \"No opposite direction can be found for `#{$direction}`. Direction omitted.\";\n }\n }\n\n @return $opposite-directions;\n}\n\n///\n/// Strip unit from value\n/// @author Hugo Giraudel\n/// http://hugogiraudel.com/2013/08/12/sass-functions/\n/// https://css-tricks.com/snippets/sass/strip-unit-function/\n/// @param {Number} $number - Number to remove unit from\n/// @return {Number} - Unitless number\n\n@function strip-unit($number) {\n @return if(type-of($number) == 'number' and not unitless($number), $number / ($number * 0 + 1), $number);\n}\n\n///\n/// Clamping a number means restricting it between min and max values.\n/// 4 clamped to 1-3 equals 3.\n/// -5 clamped to 1-10 equals 1.\n/// 42 clamped to 10-100 equals 42.\n/// @author Hugo Giraudel\n/// http://hugogiraudel.com/2013/08/12/sass-functions/\n/// @param {Number} $value - The value to clamp\n/// @param {Number} $min - min value in range\n/// @param {Number} $max - Max value in range\n/// @return {Number} - The clamped value\n\n@function clamp($value, $min, $max) {\n @return if($value > $max, $max, if($value < $min, $min, $value));\n}\n\n///\n/// Convert one unit into another\n/// @author Hugo Giraudel\n/// http://www.sitepoint.com/understanding-sass-units/\n/// @param {Number} $value - Initial value\n/// @param {String} $unit - Desired unit\n/// @return {Number}\n/// @throw Error if `$unit` does not exist or if units are incompatible.\n\n/* stylelint-disable */\n@function convert-unit($value, $unit) {\n $units: (\n 'px' : 0px,\n 'cm' : 0cm,\n 'mm' : 0mm,\n '%' : 0%,\n 'ch' : 0ch,\n 'in' : 0in,\n 'em' : 0em,\n 'rem' : 0rem,\n 'pt' : 0pt,\n 'pc' : 0pc,\n 'ex' : 0ex,\n 'vw' : 0vw,\n 'vh' : 0vh,\n 'vmin': 0vmin,\n 'vmax': 0vmax,\n 'deg' : 0deg,\n 'turn': 0turn,\n 'rad' : 0rad,\n 'grad': 0grad,\n 's' : 0s,\n 'ms' : 0ms,\n 'Hz' : 0Hz,\n 'kHz' : 0kHz,\n 'dppx': 0dppx,\n 'dpcm': 0dpcm,\n 'dpi' : 0dpi,\n );\n\n @if map-has-key($units, $unit) {\n @return map-get($units, $unit) + $value;\n }\n\n @error \"Unknown unit `#{$unit}`.\";\n}\n/* stylelint-enable */\n\n\n///\n/// Replace `$search` with `$replace` in `$string`\n/// @author Hugo Giraudel, http://hugogiraudel.com/2014/01/13/sass-string-replacement-function/\n/// @param {String} $string - Initial string\n/// @param {String} $search - Substring to replace\n/// @param {String} $replace ('') - New value\n/// @return {String} - Updated string\n@function str-replace($string, $search, $replace: '') {\n $index: str-index($string, $search);\n\n @if $index {\n @return str-slice($string, 1, $index - 1) + $replace + str-replace(str-slice($string, $index + str-length($search)), $search, $replace);\n }\n @return $string;\n}\n\n///\n/// @function explode() -- split a string into a list of strings\n/// @author https://gist.github.com/danielpchen/3677421ea15dcf2579ff\n/// {string} $string: the string to be split\n/// {string} $delimiter: the boundary string\n/// @return {list} the result list\n@function explode($string, $delimiter: ',') {\n $result: ();\n @if $delimiter == \"\" {\n @for $i from 1 through str-length($string) {\n $result: append($result, str-slice($string, $i, $i));\n }\n @return $result;\n }\n $exploding: true;\n @while $exploding {\n $d-index: str-index($string, $delimiter);\n @if $d-index {\n @if $d-index > 1 {\n $result: append($result, str-slice($string, 1, $d-index - 1));\n $string: str-slice($string, $d-index + str-length($delimiter));\n }\n @else if $d-index == 1 {\n $string: str-slice($string, 1, $d-index + str-length($delimiter));\n }\n @else {\n $result: append($result, $string);\n $exploding: false;\n }\n }\n @else {\n $result: append($result, $string);\n $exploding: false;\n }\n }\n @return $result;\n}\n\n///\n/// Add `$unit` to `$value`\n/// @author Hugo Giraudel\n///\n/// @param {Number} $value - Value to add unit to\n/// @param {String} $unit - String representation of the unit\n///\n/// @return {Number} - `$value` expressed in `$unit`\n/// @throw Error if `$unit` does not exist or if units are incompatible.\n///\n@function to-length($value, $unit) {\n $units: (\n 'px' : 1px,\n 'cm' : 1cm,\n 'mm' : 1mm,\n '%' : 1%,\n 'ch' : 1ch,\n 'pc' : 1pc,\n 'in' : 1in,\n 'em' : 1em,\n 'rem' : 1rem,\n 'pt' : 1pt,\n 'ex' : 1ex,\n 'vw' : 1vw,\n 'vh' : 1vh,\n 'vmin': 1vmin,\n 'vmax': 1vmax\n );\n\n @if not index(map-keys($units), $unit) {\n @error('Invalid unit `#{$unit}`.');\n }\n\n @return $value * map-get($units, $unit);\n}\n\n///\n/// Casts a string into a number\n///\n/// @author Hugo Giraudel\n// @param {String | Number} $value - Value to be parsed\n///\n/// @return {Number}\n/// @throw Error if `$value` is not a number or a string.\n///\n@function to-number($value) {\n @if type-of($value) == 'number' {\n @return $value;\n }\n @else if type-of($value) != 'string' {\n @error('Value for `to-number` should be a number or a string.');\n }\n\n $result: 0;\n $digits: 0;\n $minus: str-slice($value, 1, 1) == '-';\n $numbers: ('0': 0, '1': 1, '2': 2, '3': 3, '4': 4, '5': 5, '6': 6, '7': 7, '8': 8, '9': 9);\n\n @for $i from if($minus, 2, 1) through str-length($value) {\n $character: str-slice($value, $i, $i);\n\n @if not (index(map-keys($numbers), $character) or $character == '.') {\n @return to-length(if($minus, -$result, $result), str-slice($value, $i));\n }\n\n @if $character == '.' {\n $digits: 1;\n }\n @else if $digits == 0 {\n $result: $result * 10 + map-get($numbers, $character);\n }\n @else {\n $digits: $digits * 10;\n $result: $result + map-get($numbers, $character) / $digits;\n }\n }\n\n @return if($minus, -$result, $result);\n}\n\n///\n/// Convert `$rgb-string` to a number list\n/// @author Leif Olsen\n/// @param {String | Number} $value - Value to be parsed\n/// @return {list} the rgb number list\n/// @throw Error if `$value` is not a number, color or a string.\n@function rgb-string-to-numbers($value) {\n @if type-of($value) == 'number' or type-of($value) == 'color' {\n @return $value;\n }\n @else if type-of($value) != 'string' {\n @error('Value for `rgb-string-to-numbers` should be a number or a string.');\n }\n\n $s: str-replace($value, \"rgba\");\n $s: str-replace($s, \"rgb\");\n $s: str-replace($s, \"(\");\n $s: str-replace($s, \")\");\n $s: str-replace($s, \" \");\n $l: explode($s);\n $result: ();\n @for $i from 1 through length($l) {\n $result: append($result, to-number(nth($l, $i)));\n }\n @return $result;\n}\n\n///\n/// Convert `$rgb-string` to a corresponding hex value\n/// @author Leif Olsen\n/// @param {String | Number} $value - Value to be parsed\n/// @return {number} the rgb hex value\n/// @throw Error if `$value` is not a number, color or a string.\n@function rgb-string-to-hex($value) {\n @if type-of($value) == 'number' or type-of($value) == 'color' {\n @return $value;\n }\n @else if type-of($value) != 'string' {\n @error('Value for `rgb-string-to-numbers` should be a number or a string.');\n }\n $l: rgb-string-to-numbers($value);\n @return rgb(nth($l, 1), nth($l, 2), nth($l, 3));\n}\n\n\n///\n/// Convert hex color to a coresponding `$rgb-string`\n/// @author https://github.com/google/material-design-lite/issues/1689\n/// @param {Number} $hexColor - Value to convert\n/// @return {String} the rgb string value\n///\n/// @example - $color-primary: hex-to-string(#333);\n@function hex-to-rgb-string($hexColor) {\n // 0.999999 val in alpha actually compiles to 1.0\n $rgbaVal: inspect(rgba($hexColor, 0.9999999));\n\n // slice substring between 'rgba(' and '1.0)'\n @return str-slice($rgbaVal, 6, str-length($rgbaVal)-4);\n}\n\n\n\n// WEBPACK FOOTER //\n// webpack:///src/_functions.scss","@charset \"UTF-8\";\n\n/**\n * @license\n * Copyright 2016-2017 Leif Olsen. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * This code is built with Google Material Design Lite,\n * which is Licensed under the Apache License, Version 2.0\n */\n\n@import \"../mixins\";\n\n.mdlext-aria-expanded-plus-minus {\n @include mdlext-aria-expanded-toggle($font-family: inherit);\n}\n\n.mdlext-aria-expanded-more-less {\n @include mdlext-aria-expanded-toggle($icon: 'expand_more', $icon-expanded: 'expand_less');\n}\n\n\n\n// WEBPACK FOOTER //\n// webpack:///src/aria-expanded-toggle/_aria-expanded-toggle.scss","@import \"functions\";\n\n/// Triangle helper mixin\n/// Modified from: http://blustemy.io/drawing-pure-css-arrows-with-mixins/\n/// https://css-tricks.com/snippets/sass/css-triangle-mixin/\n/// @param {Direction} $direction - Triangle direction, either `top`, `right`, `bottom` or `left`\n/// @param {Color} $color [currentcolor] - Triangle color\n/// @param {Length} $size [1em] - Triangle size\n@mixin mdlext-arrow($direction: bottom, $base-width: 15px, $length: 10px, $color: inherit, $font-size: inherit) {\n content: '';\n width: 0;\n height: 0;\n font-size: $font-size;\n line-height: $font-size;\n border-#{mdlext-opposite-direction($direction)}: $length solid $color;\n border-#{mdlext-opposite-direction($direction)}-width: $length;\n border-#{mdlext-opposite-direction($direction)}-style: solid;\n border-#{mdlext-opposite-direction($direction)}-color: $color;\n\n $perpendicular-borders: ($base-width / 2) solid transparent;\n\n @if $direction == top or $direction == bottom {\n border-left: $perpendicular-borders;\n border-right: $perpendicular-borders;\n }\n @else if $direction == right or $direction == left {\n border-bottom: $perpendicular-borders;\n border-top: $perpendicular-borders;\n }\n}\n\n/// Hide element while making it readable for screen readers\n/// Copied from HTML5Boilerplate:\n/// https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css#L119-L133\n@mixin mdlext-visually-hidden() {\n border: 0;\n clip: rect(0 0 0 0);\n height: 1px;\n margin: -1px;\n overflow: hidden;\n padding: 0;\n position: absolute;\n width: 1px;\n}\n\n\n/// Toggle for aria-expanded attribute\n///\n/// @author Leif Olsen\n/// @param {Font} $font-family ['Material Icons'] - Font family\n/// @param {Length} $font-size [24px] - Font size\n/// @param {string} $icon ['+'] - icon to display when 'aria-expanded=\"false\"'\n/// @param {string} $icon-expanded ['-'] - icon to display when 'aria-expanded=\"true\"'\n/// @link https://github.com/google/material-design-icons Modified from '.material-icons' class\n/// @param {Length} $icon-offset [0] - Icon offset\n///\n/// @example - +/- toggle\n/// .plus-minus {\n/// @include mdlext-aria-expanded-toggle($font-family: inherit, $font-size: inherit);\n/// }\n/// \n/// \n///
\n///\n/// @example - Material Icons, expand-more/expand_less\n/// .more-less {\n/// @include mdlext-aria-expanded-toggle($content: 'expand_more', $content-expanded: 'expand_less');\n/// }\n/// \n/// \n///
\n\n@mixin mdlext-aria-expanded-toggle($font-family: 'Material Icons', $font-size: 24px, $icon: '+', $icon-expanded: '-', $icon-offset: 0) {\n font-family: $font-family;\n font-weight: inherit;\n font-style: inherit;\n font-size: $font-size; // Preferred icon size\n display: inline-block;\n width: 1em;\n height: 1em;\n line-height: 1;\n text-transform: none;\n letter-spacing: normal;\n word-wrap: normal;\n white-space: nowrap;\n direction: ltr;\n vertical-align: middle;\n\n // Support for all WebKit browsers.\n -webkit-font-smoothing: antialiased;\n -webkit-font-feature-settings: 'liga';\n\n // Support for Safari and Chrome.\n text-rendering: optimizeLegibility;\n\n // Support for Firefox.\n -moz-osx-font-smoothing: grayscale;\n\n // Support for IE.\n font-feature-settings: 'liga';\n\n &::after {\n content: $icon;\n margin-left: $icon-offset;\n }\n\n [aria-expanded='true'] > & {\n &::after {\n content: $icon-expanded;\n margin-left: $icon-offset;\n }\n }\n}\n\n\n/// Keyframe mixin\n/// Modified from: http://sassbreak.com/nested-keyframe-rules-sass/\n/// Modified from: http://sassbreak.com/sass-tools-and-snippets/\n///\n/// @example\n///\n/// .some-element {\n/// animation: 10s linear infinite;\n///\n/// @include mdlext-animation-keyframes {\n/// from {\n/// background-position: 0% 0%;\n/// }\n/// to {\n/// background-position: 114.2857% 0%;\n/// }\n/// }\n/// }\n\n@mixin mdlext-animation-keyframes {\n $animation-name: unique-id();\n animation-name: $animation-name;\n\n @keyframes #{$animation-name} {\n @content;\n }\n}\n\n\n/// Flexible title mixin\n/// A flexible title consists of three regions, left, middle and right.\n/// The left and right regions are optional and will typically contain state icons\n/// or act as a toolbar. The middle region should contain the title text.\n///\n/// @author Leif Olsen\n/// @param {String} $class - class name\n/// @gutter {Length} [8px] - horizontal spacing between title elements\n///\n/// @example\n///\n/// @include mdlext-flexible-title(my-title) {\n/// overflow: hidden;\n/// background-color: yellow;\n/// &__text {\n/// font-size: 20px;\n/// letter-spacing: 0.02em;\n/// font-weight: 400;\n/// line-height: 1.1;\n/// }\n/// }\n///\n/// \n/// info \n/// A title \n/// \n/// \n/// \n\n@mixin mdlext-flexible-title($class, $gutter: 8px) {\n .#{$class} {\n box-sizing: border-box;\n position: relative;\n width: 100%;\n display: flex;\n align-self: stretch;\n align-items: center;\n margin: 0;\n padding: 0 $gutter;\n\n &__text,\n &__text > * {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n > * {\n box-sizing: border-box;\n margin: 0;\n padding: 0 $gutter 0 0;\n }\n\n > *:last-child {\n padding-right: 0;\n }\n\n // Used to align elements inside a header or drawer, by growing to fill\n // remaining space. Commonly used for aligning elements to the right.\n &__spacer {\n flex: 1;\n }\n\n @content;\n }\n}\n\n\n\n\n// WEBPACK FOOTER //\n// webpack:///src/_mixins.scss","/**\n * Copyright 2016 Leif Olsen. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n// Use of this module requires the user to include variables from material-design-lite\n//@import \"../../node_modules/material-design-lite/src/variables\";\n//@import \"../../node_modules/material-design-lite/src/mixins\";\n@import \"../variables\";\n\n.mdlext-layout__sticky-header {\n position: absolute;\n overflow: visible;\n background: $mdlext-sticky-header-background;\n transition: 0.1s ease-in-out;\n\n &.mdlext-is-scroll {\n background: $mdlext-sticky-header-background-scroll;\n }\n}\n\n*:not(.is-small-screen) .mdlext-layout__sticky-header {\n .mdl-layout__drawer-button {\n visibility: hidden;\n }\n .mdl-layout__header-row {\n padding-left: $padding;\n }\n}\n\n*:not(.mdl-layout--fixed-drawer).has-drawer .mdlext-layout__sticky-header,\n.is-small-screen.has-drawer .mdlext-layout__sticky-header {\n display: flex;\n\n .mdl-layout__drawer-button {\n visibility: visible;\n }\n .mdl-layout__header-row {\n padding-left: $padding + $layout-drawer-button-desktop-size;\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// webpack:///src/sticky-header/_sticky-header.scss","/**\n * Copyright 2015 Google Inc. All Rights Reserved.\n * Copyright 2016 Leif Olsen. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * SASS based on css from Google Chrome Dialog polyfill, https://github.com/GoogleChrome/dialog-polyfill\n * @include 'node_modules/dialog-polyfill/dialog-polyfill.css' before using this\n */\n\n@import \"../variables\";\n\ndialog.mdlext-dialog {\n position: absolute;\n border: 0;\n opacity: 0;\n padding: $mdlext-dialog-padding;\n background-color: $mdlext-dialog-background-color;\n\n &[open] {\n animation: mdlext-open-dialog $mdlext-dialog-open-animation;\n }\n &[open]::backdrop {\n animation: mdlext-darken-backdrop $mdlext-dialog-backdrop-animation;\n }\n &[open] + .backdrop {\n animation: mdlext-darken-backdrop $mdlext-dialog-backdrop-animation;\n }\n}\n\n@keyframes mdlext-darken-backdrop {\n to { background: $mdlext-dialog-backdrop-color; }\n}\n@keyframes mdlext-open-dialog {\n to { opacity: 1; }\n}\n\n\n\n// WEBPACK FOOTER //\n// webpack:///src/dialog/dialog.scss","@charset \"UTF-8\";\n\n/**\n * This code is modified from Material Design Lite _grid.sass,\n * which is Licensed under the Apache License, Version 2.0\n * Copyright 2015 Google Inc. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n */\n\n///////////////////////////////////////////////////////////////////////\n//\n// Grid media queries, modified from Material Design Lite _grid.sass\n//\n///////////////////////////////////////////////////////////////////////\n// Use of this module requires the user to include variables from material-design-lite in hers/his main SASS module\n//@import \"../../node_modules/material-design-lite/src/variables\";\n\n\n.mdlext-grid {\n display: flex;\n flex-flow: row wrap;\n margin: 0 auto;\n align-items: stretch;\n\n &.mdlext-grid--no-spacing {\n padding: 0;\n }\n}\n\n.mdlext-cell {\n box-sizing: border-box;\n}\n\n\n.mdlext-cell--top {\n align-self: flex-start;\n}\n\n.mdlext-cell--middle {\n align-self: center;\n}\n\n.mdlext-cell--bottom {\n align-self: flex-end;\n}\n\n.mdlext-cell--stretch {\n align-self: stretch;\n}\n\n.mdlext-grid.mdlext-grid--no-spacing > .mdlext-cell {\n margin: 0;\n}\n\n// Define order override classes.\n@for $i from 1 through $grid-max-columns {\n .mdlext-cell--order-#{$i} {\n order: $i;\n }\n}\n\n\n// Mixins for width calculation.\n@mixin partial-size($size, $columns, $gutter) {\n width: calc(#{(($size / $columns) * 100) + \"%\"} - #{$gutter});\n\n .mdlext-grid--no-spacing > & {\n width: #{(($size / $columns) * 100) + \"%\"};\n }\n}\n\n@mixin full-size($gutter) {\n @include partial-size(1, 1, $gutter);\n}\n\n@mixin offset-size($size, $columns, $gutter) {\n margin-left: calc(#{(($size / $columns) * 100) + \"%\"} + #{$gutter / 2});\n\n .mdlext-grid.mdlext-grid--no-spacing > & {\n margin-left: #{(($size / $columns) * 100) + \"%\"};\n }\n}\n\n\n\n////////// Phone //////////\n\n/* stylelint-disable */\n@media (max-width: $grid-tablet-breakpoint - 1) {\n/* stylelint-enable */\n .mdlext-grid {\n padding: $grid-phone-margin - ($grid-phone-gutter / 2);\n }\n\n .mdlext-cell {\n margin: $grid-phone-gutter / 2;\n @include partial-size($grid-cell-default-columns, $grid-phone-columns, $grid-phone-gutter);\n }\n\n .mdlext-cell--hide-phone {\n display: none !important;\n }\n\n // Define order override classes.\n @for $i from 1 through $grid-max-columns {\n .mdlext-cell--order-#{$i}-phone.mdlext-cell--order-#{$i}-phone {\n order: $i;\n }\n }\n\n // Define partial sizes for columnNumber < totalColumns.\n @for $i from 1 through ($grid-phone-columns - 1) {\n .mdlext-cell--#{$i}-col,\n .mdlext-cell--#{$i}-col-phone.mdlext-cell--#{$i}-col-phone {\n @include partial-size($i, $grid-phone-columns, $grid-phone-gutter);\n }\n }\n\n // Define 100% for everything else.\n @for $i from $grid-phone-columns through $grid-desktop-columns {\n .mdlext-cell--#{$i}-col,\n .mdlext-cell--#{$i}-col-phone.mdlext-cell--#{$i}-col-phone {\n @include full-size($grid-phone-gutter);\n }\n }\n\n // Define valid phone offsets.\n @for $i from 1 through ($grid-phone-columns - 1) {\n .mdlext-cell--#{$i}-offset,\n .mdlext-cell--#{$i}-offset-phone.mdlext-cell--#{$i}-offset-phone {\n @include offset-size($i, $grid-phone-columns, $grid-phone-gutter);\n }\n }\n}\n\n\n////////// Tablet //////////\n\n/* stylelint-disable */\n@media (min-width: $grid-tablet-breakpoint) and (max-width: $grid-desktop-breakpoint - 1) { /* stylelint-enable */\n .mdlext-grid {\n padding: $grid-tablet-margin - ($grid-tablet-gutter / 2);\n }\n\n .mdlext-cell {\n margin: $grid-tablet-gutter / 2;\n @include partial-size($grid-cell-default-columns, $grid-tablet-columns, $grid-tablet-gutter);\n }\n\n .mdlext-cell--hide-tablet {\n display: none !important;\n }\n\n // Define order override classes.\n @for $i from 1 through $grid-max-columns {\n .mdlext-cell--order-#{$i}-tablet.mdlext-cell--order-#{$i}-tablet {\n order: $i;\n }\n }\n\n // Define partial sizes for columnNumber < totalColumns.\n @for $i from 1 through ($grid-tablet-columns - 1) {\n .mdlext-cell--#{$i}-col,\n .mdlext-cell--#{$i}-col-tablet.mdlext-cell--#{$i}-col-tablet {\n @include partial-size($i, $grid-tablet-columns, $grid-tablet-gutter);\n }\n }\n\n // Define 100% for everything else.\n @for $i from $grid-tablet-columns through $grid-desktop-columns {\n .mdlext-cell--#{$i}-col,\n .mdlext-cell--#{$i}-col-tablet.mdlext-cell--#{$i}-col-tablet {\n @include full-size($grid-tablet-gutter);\n }\n }\n\n // Define valid tablet offsets.\n @for $i from 1 through ($grid-tablet-columns - 1) {\n .mdlext-cell--#{$i}-offset,\n .mdlext-cell--#{$i}-offset-tablet.mdlext-cell--#{$i}-offset-tablet {\n @include offset-size($i, $grid-tablet-columns, $grid-tablet-gutter);\n }\n }\n}\n\n\n////////// Desktop //////////\n\n@media (min-width: $grid-desktop-breakpoint) {\n .mdlext-grid {\n padding: $grid-desktop-margin - ($grid-desktop-gutter / 2);\n }\n\n .mdlext-cell {\n margin: $grid-desktop-gutter / 2;\n @include partial-size($grid-cell-default-columns, $grid-desktop-columns, $grid-desktop-gutter);\n }\n\n .mdlext-cell--hide-desktop {\n display: none !important;\n }\n\n // Define order override classes.\n @for $i from 1 through $grid-max-columns {\n .mdlext-cell--order-#{$i}-desktop.mdlext-cell--order-#{$i}-desktop {\n order: $i;\n }\n }\n\n // Define partial sizes for all numbers of columns.\n @for $i from 1 through $grid-desktop-columns {\n .mdlext-cell--#{$i}-col,\n .mdlext-cell--#{$i}-col-desktop.mdlext-cell--#{$i}-col-desktop {\n @include partial-size($i, $grid-desktop-columns, $grid-desktop-gutter);\n }\n }\n\n // Define valid desktop offsets.\n @for $i from 1 through ($grid-desktop-columns - 1) {\n .mdlext-cell--#{$i}-offset,\n .mdlext-cell--#{$i}-offset-desktop.mdlext-cell--#{$i}-offset-desktop {\n @include offset-size($i, $grid-desktop-columns, $grid-desktop-gutter);\n }\n }\n}\n\n\n\n\n// WEBPACK FOOTER //\n// webpack:///src/grid/_grid-media-queries.scss","@charset \"UTF-8\";\n\n/**\n * Copyright 2016 Leif Olsen. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*\n * A lightboard is a translucent surface illuminated from behind, used for situations\n * where a shape laid upon the surface needs to be seen with high contrast. In the \"old days\" of photography\n * photograpers used a lightboard to get a quick view of their slides. The goal is to create a responsive lightbox\n * design, based on flex layout, similar to what is used in Adobe LightRoom to browse images.\n */\n\n// Use of this module requires the user to include variables from material-design-lite\n//@import \"../../node_modules/material-design-lite/src/variables\";\n//@import \"../../node_modules/material-design-lite/src/mixins\";\n@import \"../variables\";\n\nul.mdlext-lightboard {\n list-style: none;\n}\n\n.mdlext-lightboard {\n box-sizing: border-box;\n margin: 0 auto;\n padding: 0;\n display: flex;\n flex-flow:row wrap;\n align-items: stretch;\n\n *,\n *::before,\n *::after,\n input[type=\"search\"] {\n box-sizing: border-box;\n }\n\n .mdlext-lightboard__slide {\n background-color: $mdlext-lightboard-slide-background-color;\n border: 1px solid $mdlext-lightboard-slide-border-color;\n border-radius: $mdlext-lightboard-slide-border-radius;\n box-shadow: $mdlext-lightboard-slide-box-shadow;\n position: relative;\n display: block;\n max-width: $mdlext-lightboard-slide-max-size;\n\n &::before {\n // 1:1 ratio\n // TODO: Use a class for ratio so the grid can display slides with different ratios (16:9, 16:10, 4:3 ...)\n content: '';\n display: block;\n padding-top: 100%;\n }\n &:hover,\n &:active,\n &:focus {\n border-color: $mdlext-lightboard-slide-border-color-hover;\n background-color: $mdlext-lightboard-slide-background-color-hover;\n box-shadow: $mdlext-lightboard-slide-box-shadow-hover;\n\n figcaption {\n color: rgba(0, 0, 0, 1) !important;\n background-color: rgba(255, 255, 255, 0.2);\n }\n }\n &:focus {\n outline-offset: -2px;\n outline-color: $mdlext-lightboard-focus-outline-color;\n }\n &[aria-selected='true'] {\n background-color: $mdlext-lightboard-slide-active-bacground-color;\n\n figcaption {\n color: rgba(0, 0, 0, 1) !important;\n background-color: rgba(255, 255, 255, 0.2);\n }\n }\n &__frame,\n &__ripple-container {\n text-decoration: none;\n display: block;\n overflow: hidden;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n\n &:focus {\n outline-offset: -2px;\n outline-color: $mdlext-lightboard-focus-outline-color;\n }\n & .mdl-ripple {\n background: $mdlext-lightboard-ripple-color;\n }\n figure {\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n\n img {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n margin: auto;\n max-width: 100%;\n max-height: 100%;\n border-width: 0;\n border-radius: $mdlext-lightboard-slide-inner-border-radius;\n }\n figcaption {\n @include typo-caption($colorContrast: false, $usePreferred: true);\n\n color: $mdlext-lightboard-figcaption-text-color;\n position: absolute;\n bottom: -2px;\n white-space: nowrap;\n overflow: hidden;\n max-width: 100%;\n width: 100%;\n text-align: center;\n text-overflow: ellipsis;\n padding: 4px 0;\n }\n }\n &:hover {\n figcaption {\n // As far as I can see there is no way to darken/lighten a text color\n // defined by MDL, due to the \"unqote\" functions.\n // So this is a hack\n color: rgba(0, 0, 0, 1) !important;\n background-color: rgba(255, 255, 255, 0.2);\n }\n }\n }\n }\n}\n\n////// Media / Element queries default, Small //////\n.mdlext-lightboard {\n padding: calc((#{$mdlext-lightboard-small-margin} - #{$mdlext-lightboard-small-gutter}) / 2);\n\n .mdlext-lightboard__slide {\n margin: calc(#{$mdlext-lightboard-small-gutter} / 2);\n width: calc(1 / #{$mdlext-lightboard-small-columns} * 100% - #{$mdlext-lightboard-small-gutter});\n\n .mdlext-lightboard__slide__frame figure {\n margin: $mdlext-lightboard-small-frame-width;\n }\n }\n &.mdlext-lightboard--no-spacing {\n padding: 0;\n\n .mdlext-lightboard__slide {\n margin: 0;\n width: calc(1 / #{$mdlext-lightboard-small-columns} * 100%);\n }\n }\n}\n\n// Import one of _lightboard-media-queries.scss or _lightboard-eq-js.scss to complete SASS\n\n\n\n// WEBPACK FOOTER //\n// webpack:///src/lightboard/_lightboard.scss","@charset \"UTF-8\";\n\n//////////////////////////////\n//\n// Lightboard media queries\n//\n//////////////////////////////\n@import \"../variables\";\n\n////////// Small /////////////\n//@media (max-width: $mdlext-lightboard-medium-small-breakpoint - 1) {\n// // This is the default, see: _lightboard.scss\n//}\n\n////////// Medium small //////////\n/* stylelint-disable */\n@media (min-width: $mdlext-lightboard-medium-small-breakpoint) and (max-width: $mdlext-lightboard-medium-breakpoint - 1) { /* stylelint-enable */\n .mdlext-lightboard {\n padding: calc((#{$mdlext-lightboard-medium-small-margin} - #{$mdlext-lightboard-medium-small-gutter}) / 2);\n\n .mdlext-lightboard__slide {\n margin: calc(#{$mdlext-lightboard-medium-small-gutter} / 2);\n width: calc(1 / #{$mdlext-lightboard-medium-small-columns} * 100% - #{$mdlext-lightboard-medium-small-gutter});\n\n .mdlext-lightboard__slide__frame figure {\n margin: $mdlext-lightboard-medium-small-frame-width;\n }\n }\n &.mdlext-lightboard--no-spacing {\n padding: 0;\n\n .mdlext-lightboard__slide {\n margin: 0;\n width: calc(1 / #{$mdlext-lightboard-medium-small-columns} * 100%);\n }\n }\n }\n}\n\n////////// Medium //////////\n/* stylelint-disable */\n@media (min-width: $mdlext-lightboard-medium-breakpoint) and (max-width: $mdlext-lightboard-medium-large-breakpoint - 1) { /* stylelint-enable */\n .mdlext-lightboard {\n padding: calc((#{$mdlext-lightboard-medium-margin} - #{$mdlext-lightboard-medium-gutter}) / 2);\n\n .mdlext-lightboard__slide {\n margin: calc(#{$mdlext-lightboard-medium-gutter} / 2);\n width: calc(1 / #{$mdlext-lightboard-medium-columns} * 100% - #{$mdlext-lightboard-medium-gutter});\n\n .mdlext-lightboard__slide__frame figure {\n margin: $mdlext-lightboard-medium-frame-width;\n }\n }\n &.mdlext-lightboard--no-spacing {\n padding: 0;\n\n .mdlext-lightboard__slide {\n margin: 0;\n width: calc(1 / #{$mdlext-lightboard-medium-columns} * 100%);\n }\n }\n }\n}\n\n////////// Medium large //////////\n/* stylelint-disable */\n@media (min-width: $mdlext-lightboard-medium-large-breakpoint) and (max-width: $mdlext-lightboard-large-breakpoint - 1) { /* stylelint-enable */\n .mdlext-lightboard {\n padding: calc((#{$mdlext-lightboard-medium-large-margin} - #{$mdlext-lightboard-medium-large-gutter}) / 2);\n\n .mdlext-lightboard__slide {\n margin: calc(#{$mdlext-lightboard-medium-large-gutter} / 2);\n width: calc(1 / #{$mdlext-lightboard-medium-large-columns} * 100% - #{$mdlext-lightboard-medium-large-gutter});\n\n .mdlext-lightboard__slide__frame figure {\n margin: $mdlext-lightboard-medium-large-frame-width;\n }\n }\n &.mdlext-lightboard--no-spacing {\n padding: 0;\n\n .mdlext-lightboard__slide {\n margin: 0;\n width: calc(1 / #{$mdlext-lightboard-medium-large-columns} * 100%);\n }\n }\n }\n}\n\n////////// Large //////////\n@media (min-width: $mdlext-lightboard-large-breakpoint) {\n .mdlext-lightboard {\n padding: calc((#{$mdlext-lightboard-large-margin} - #{$mdlext-lightboard-large-gutter}) / 2);\n\n .mdlext-lightboard__slide {\n margin: calc(#{$mdlext-lightboard-large-gutter} / 2);\n width: calc(1 / #{$mdlext-lightboard-large-columns} * 100% - #{$mdlext-lightboard-large-gutter});\n\n .mdlext-lightboard__slide__frame figure {\n margin: $mdlext-lightboard-large-frame-width;\n }\n }\n &.mdlext-lightboard--no-spacing {\n padding: 0;\n\n .mdlext-lightboard__slide {\n margin: 0;\n width: calc(1 / #{$mdlext-lightboard-large-columns} * 100%);\n }\n }\n }\n}\n\n\n\n\n// WEBPACK FOOTER //\n// webpack:///src/lightboard/_lightboard-media-queries.scss","@charset \"UTF-8\";\n\n/**\n * Copyright 2016 Leif Olsen. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n// Use of this module requires the user to include variables from material-design-lite\n//@import \"../../node_modules/material-design-lite/src/variables\";\n//@import \"../../node_modules/material-design-lite/src/mixins\";\n@import \"../variables\";\n\n.mdlext-lightbox {\n user-select: none;\n cursor: default;\n position: relative;\n width: auto;\n max-width: 100%;\n margin: 0 auto;\n border: $mdlext-lightbox-border;\n border-radius: $mdlext-lightbox-border-radius;\n background-color: $mdlext-lightbox-background-color;\n box-sizing: border-box;\n outline: 0;\n display: block; // display: flex and IE11 has issues with reposition. Set display:block for now.\n\n *,\n *::before,\n *::after,\n input[type=\"search\"] {\n box-sizing: border-box;\n }\n\n .mdlext-lightbox__slider {\n // Displays prevvious, current and next image while dragging\n // Elements are created by lightbox component when dragging starts\n position: absolute;\n top: 0;\n left: 0;\n display: flex;\n justify-content: center;\n\n .mdlext-lightbox__slider__slide {\n flex-shrink: 0;\n display: block;\n text-align: left;\n color: #7f7f7f;\n background-size: cover;\n background-position: center;\n background-repeat: no-repeat;\n\n //&:nth-child(1),\n //&:nth-child(3) {\n // filter: blur(1px);\n //}\n }\n }\n\n figure {\n margin: $mdlext-lightbox-figure-margin;\n padding: $mdlext-lightbox-figure-padding;\n position: relative;\n\n img {\n width: 100%;\n max-width: 100%;\n height: auto;\n border: 0;\n outline: 0;\n }\n figcaption {\n @include typo-caption($colorContrast: false, $usePreferred: true);\n\n display: block;\n position: absolute;\n bottom: 0;\n left: 0;\n right: 0;\n max-width: 100%;\n height: auto;\n max-height: 50%;\n overflow: auto;\n padding: 8px;\n background-color: $mdlext-lightbox-figcaption-background-color;\n transform-origin: bottom;\n transform: scaleY(0);\n transition: 0.2s ease-in-out;\n\n &.mdlext-lightbox__show-figcaption {\n transform: scaleY(1);\n }\n tbody {\n th {\n text-align: left;\n }\n th,\n td {\n vertical-align: text-top;\n }\n }\n }\n }\n .mdl-card__menu {\n color: #ffffff;\n z-index: 1;\n }\n footer {\n display: flex;\n justify-content: space-between;\n align-items: center;\n background-color: $mdlext-lightbox-footer-background-color;\n\n .mdl-card__supporting-text {\n flex: 1;\n overflow: hidden;\n padding: 0;\n height: $card-supporting-text-line-height;\n width: 100%;\n }\n nav {\n display: flex;\n }\n }\n\n &.mdlext-lightbox--sticky-footer footer {\n position: fixed;\n bottom: 0;\n left: 0;\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// webpack:///src/lightbox/_lightbox.scss","@charset \"UTF-8\";\n\n/**\n * Copyright 2016 Leif Olsen. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*\n * A carousel ...\n */\n\n// Use of this module requires the user to include variables from material-design-lite\n//@import \"../../node_modules/material-design-lite/src/variables\";\n//@import \"../../node_modules/material-design-lite/src/mixins\";\n\nul.mdlext-carousel {\n list-style: none;\n}\n\n.mdlext-carousel {\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n overflow: hidden;\n height: 100%; // Use a container to constrain height and width\n width: 100%;\n display: block;\n white-space: nowrap;\n font-size: 0;\n background-color: transparent;\n}\n\n.mdlext-carousel__slide {\n box-sizing: border-box;\n display: inline-block;\n position: relative;\n outline: 0;\n margin: 0 $mdlext-carousel-slide-margin-horizontal;\n padding:0;\n height: 100%;\n border-top: $mdlext-carousel-slide-border-top-width solid transparent; // Makes room for the animated select/focus line\n\n //&:focus,\n &[aria-selected],\n &[aria-selected='true'] {\n figcaption {\n // As far as I can see there is no way to darken/lighten a text color\n // defined by MDL, due to the \"unqote\" functions.\n // So this is a hack\n color: rgba(0, 0, 0, 1) !important;\n background-color: rgba(255, 255, 255, 0.25);\n }\n }\n\n &[aria-selected]::after,\n &[aria-selected='true']::after {\n height: $mdlext-carousel-slide-border-top-width;\n width: 100%;\n display: block;\n content: ' ';\n top: (-$mdlext-carousel-slide-border-top-width);\n left: 0;\n position: absolute;\n background: $mdlext-carousel-slide-border-top-color;\n animation: border-expand 0.2s cubic-bezier(0.4, 0.0, 0.4, 1) 0.01s alternate forwards;\n transition: all 1s cubic-bezier(0.4, 0.0, 1, 1);\n }\n\n\n a {\n text-decoration: none;\n }\n\n figure {\n box-sizing: border-box;\n position: relative;\n height: 100%;\n margin: 0;\n padding: 0;\n\n img {\n box-sizing: border-box;\n max-height: 100%;\n }\n\n figcaption {\n box-sizing: border-box;\n @include typo-caption($colorContrast: false, $usePreferred: true);\n\n color: $mdlext-carousel-slide-figcaption-color;\n position: absolute;\n bottom: 0;\n left: 0;\n white-space: nowrap;\n overflow: hidden;\n max-width: 100%;\n width: 100%;\n text-align: center;\n text-overflow: ellipsis;\n padding: 4px 0;\n }\n &:hover {\n figcaption {\n // As far as I can see there is no way to darken/lighten a text color\n // defined by MDL, due to the \"unqote\" functions.\n // So this is a hack\n color: rgba(0, 0, 0, 1) !important;\n background-color: rgba(255, 255, 255, 0.25);\n }\n }\n }\n\n .mdlext-carousel__slide__ripple-container {\n text-decoration: none;\n display: block;\n overflow: hidden;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n outline: 0;\n\n & .mdl-ripple {\n background: $mdlext-carousel-slide-ripple-color;\n }\n }\n}\n\n\n\n\n\n// WEBPACK FOOTER //\n// webpack:///src/carousel/_carousel.scss","/**\n * Copyright 2016 Leif Olsen. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*\n * Copied/Modified/Inspired from/by:\n * https://github.com/google/material-design-lite/tree/master/src/textfield\n * http://red-team-design.com/making-html-dropdowns-not-suck/\n * http://codepen.io/etcpe9/pen/PqyOye,\n * http://codepen.io/pudgereyem/pen/PqBxQx\n * https://github.com/MEYVN-digital/mdl-selectfield\n * https://github.com/mebibou/mdl-selectfield\n */\n\n// Use of this module requires the user to include variables from material-design-lite\n//@import \"../../node_modules/material-design-lite/src/variables\";\n//@import \"../../node_modules/material-design-lite/src/mixins\";\n\n@import \"../mixins\";\n\n// The container for the selectfield.\n.mdlext-selectfield {\n box-sizing: border-box;\n position: relative;\n font-size: $input-text-font-size;\n display: inline-block;\n width: 300px;\n max-width: 100%;\n margin: 0;\n padding: $input-text-vertical-spacing 0;\n\n // Align buttons, if used.\n & .mdl-button {\n bottom: $input-text-vertical-spacing;\n position: absolute;\n }\n\n // Styling the down arrow\n &::after {\n @include mdlext-arrow(bottom, $mdlext-selectfield-arrow-width, $mdlext-selectfield-arrow-length);\n\n position: absolute;\n right: 0.5em;\n top: 50%;\n transform: translateY(-50%);\n pointer-events: none;\n }\n}\n\n.mdlext-selectfield.is-disabled {\n &::after {\n color: $input-text-disabled-color;\n @include mdlext-arrow(bottom, $mdlext-selectfield-arrow-width, $mdlext-selectfield-arrow-length, $input-text-disabled-color);\n }\n}\n\n// Optional class to align right.\n.mdlext-selectfield--align-right {\n text-align: right;\n}\n\n// Optional class to display at full width.\n.mdlext-selectfield--full-width {\n width: 100%;\n}\n\n// Optional class to make the select field expandable.\n.mdlext-selectfield--expandable {\n min-height: $input-text-button-size;\n min-width: $input-text-button-size;\n width: auto;\n}\n\n// Styling for the select element.\n.mdlext-selectfield__select {\n\n // Reset select\n box-sizing: border-box;\n border: 0;\n border-radius: 0;\n -webkit-appearance: none;\n -moz-appearance: none;\n -ms-appearance: none;\n appearance: none;\n text-indent: 0.01px; // Removes default arrow from firefox\n text-overflow: ''; // Removes default arrow from firefox\n outline: none;\n box-shadow: none;\n // End Reset select\n\n font-size: $input-text-font-size;\n font-family: $performance_font;\n padding: $input-text-padding calc(1.2em + #{$input-text-padding}) $input-text-padding 0;\n width: $input-text-width;\n border-bottom: 1px solid $input-text-bottom-border-color;\n display: block;\n margin: 0;\n background: none;\n text-align: left;\n color: inherit;\n\n // Mozilla, remove focusring\n &:-moz-focusring {\n color: transparent;\n text-shadow: 0 0 0 #000000;\n }\n\n // MS, remove selected option background color\n &:focus::-ms-value {\n background-color: inherit;\n color: inherit;\n }\n\n &::-ms-expand {\n display: none;\n }\n\n .mdlext-selectfield.is-focused & {\n outline: none;\n }\n\n .mdlext-selectfield.is-invalid & {\n border-color: $input-text-error-color;\n box-shadow: none;\n }\n\n fieldset[disabled] .mdlext-selectfield &,\n .mdlext-selectfield.is-disabled & {\n border-bottom: 1px dotted $input-text-disabled-color;\n color: $input-text-disabled-text-color;\n background-color: transparent;\n }\n\n option {\n color: $text-color-primary;\n box-sizing: border-box;\n background-color: inherit;\n }\n}\n\n// Styling for the label / floating label.\n.mdlext-selectfield__label {\n box-sizing: border-box;\n color: $input-text-label-color;\n font-size: $input-text-font-size;\n top: ($input-text-padding + $input-text-vertical-spacing);\n bottom: 0;\n left: 0;\n right: 0;\n pointer-events: none;\n position: absolute;\n display: block;\n width: 100%;\n overflow: hidden;\n white-space: nowrap;\n text-align: left;\n\n .mdlext-selectfield.is-dirty &,\n .mdlext-selectfield.has-placeholder & {\n visibility: hidden;\n }\n\n // Floating Label\n .mdlext-selectfield--floating-label & {\n @include material-animation-default();\n }\n\n .mdlext-selectfield--floating-label.has-placeholder & {\n transition: none;\n }\n\n fieldset[disabled] .mdlext-selectfield &,\n .mdlext-selectfield.is-disabled.is-disabled & {\n color: $input-text-disabled-text-color;\n }\n\n .mdlext-selectfield--floating-label.is-focused &,\n .mdlext-selectfield--floating-label.is-dirty.is-dirty &,\n .mdlext-selectfield--floating-label.has-placeholder & {\n color: $input-text-highlight-color;\n font-size: $input-text-floating-label-fontsize;\n top: $input-text-vertical-spacing - ($input-text-floating-label-fontsize + $input-text-padding);\n visibility: visible;\n }\n\n .mdlext-selectfield--floating-label.is-focused .mdlext-selectfield__expandable-holder &,\n .mdlext-selectfield--floating-label.is-dirty .mdlext-selectfield__expandable-holder &,\n .mdlext-selectfield--floating-label.has-placeholder .mdlext-selectfield__expandable-holder & {\n top: -($input-text-floating-label-fontsize + $input-text-padding);\n }\n\n .mdlext-selectfield--floating-label.is-invalid & {\n color: $input-text-error-color;\n font-size: $input-text-floating-label-fontsize;\n }\n\n // The after label is the colored underline for the Selectfield.\n &::after {\n background-color: $input-text-highlight-color;\n bottom: $input-text-vertical-spacing;\n content: '';\n height: 2px;\n left: 45%;\n position: absolute;\n @include material-animation-default();\n\n visibility: hidden;\n width: 10px;\n }\n\n .mdlext-selectfield.is-focused &::after {\n left: 0;\n visibility: visible;\n width: 100%;\n }\n\n .mdlext-selectfield.is-invalid &::after {\n background-color: $input-text-error-color;\n }\n}\n\n// SelectField Error.\n.mdlext-selectfield__error {\n color: $input-text-error-color;\n font-size: $input-text-floating-label-fontsize;\n position: absolute;\n margin-top: 3px;\n visibility: hidden;\n display: block;\n\n .mdlext-selectfield.is-invalid & {\n visibility: visible;\n }\n}\n\n// Expandable Holder.\n.mdlext-selectfield__expandable-holder {\n display: inline-block;\n position: relative;\n margin-left: $input-text-button-size;\n\n @include material-animation-default();\n\n // Safari (possibly others) need to be convinced that this field is actually\n // visible, otherwise it cannot be tabbed to nor focused via a .\n // TODO: In some cases (Retina displays), this is big enough to render the\n // inner element :(\n max-width: 0.1px;\n\n .mdlext-selectfield.is-focused &,\n .mdlext-selectfield.is-dirty & {\n // This is an unfortunate hack. Animating between widths in percent (%)\n // in many browsers (Chrome, Firefox) only animates the inner visual style\n // of the input - the outer bounding box still 'jumps'.\n // Thus assume a sensible maximum, and animate to/from that value.\n max-width: 600px;\n }\n .mdlext-selectfield__label::after {\n bottom: 0;\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// webpack:///src/selectfield/_selectfield.scss","@charset \"UTF-8\";\n\n/**\n * @license\n * Copyright 2016 Leif Olsen. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * This code is built with Google Material Design Lite,\n * which is Licensed under the Apache License, Version 2.0\n */\n\n/* Moved to aria-expanded-toggle.scss\n\n.mdlext-aria-expanded-plus-minus {\n @include mdlext-aria-expanded-toggle($font-family: inherit);\n}\n\n.mdlext-aria-expanded-more-less {\n @include mdlext-aria-expanded-toggle($icon: 'expand_more', $icon-expanded: 'expand_less');\n}\n*/\n\n.mdlext-menu-button {\n box-sizing: border-box;\n @include typo-menu();\n text-transform: none;\n position: relative;\n height: $button-height;\n padding: 0 $button-padding;\n display: flex;\n align-items: center;\n align-self: stretch;\n\n > * {\n margin: 0;\n padding: 0 0 0 8px;\n }\n\n > *:first-child {\n padding-left: 0;\n }\n\n > *:last-child:not(:only-child):not(.mdlext-menu__item__caption) {\n margin-left: auto; // If more than one element, push last element to the right\n }\n\n}\n\n.mdlext-menu-button__caption {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n line-height: 1.2;\n}\n\n.mdlext-menu,\n.mdlext-menu__item {\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n list-style: none;\n display: flex;\n}\n\n.mdlext-menu {\n position: absolute; //fixed;\n background: $default-dropdown-bg-color;\n z-index: 1000;\n min-width: 124px;\n border-radius: 2px;\n @include shadow-3dp();\n display: inline-flex;\n flex-direction: column;\n padding: 0;\n overflow: hidden;\n overflow-y: auto;\n\n &:focus {\n outline-offset: -1px;\n outline-width: 1px;\n }\n\n &[hidden] {\n @include mdlext-visually-hidden;\n pointer-events: none;\n }\n\n &__item {\n @include typo-body-1();\n color: $default-item-text-color;\n background-color: $default-dropdown-bg-color;\n position: relative;\n padding: 0 16px 0 24px;\n align-items: center;\n align-self: stretch;\n text-decoration: none;\n cursor: pointer;\n white-space: nowrap;\n user-select: none;\n min-height: 40px;\n overflow: hidden;\n\n &[aria-selected='true'] {\n background-color: $default-item-active-bg-color;\n }\n\n // checkmark\n &[aria-selected='true']::before {\n content:'\\2713';\n position: absolute;\n font-size: 1.4em;\n left: 4px;\n top: 50%;\n transform: translateY(-50%);\n pointer-events: none;\n }\n\n &:hover:not([disabled]) {\n background-color: $default-item-hover-bg-color;\n }\n\n &:focus {\n outline-offset: -2px;\n outline-width: 1px;\n outline-color: $default-item-outline-color;\n background-color: $default-item-focus-bg-color;\n }\n\n &::-moz-focus-inner {\n border: 0;\n }\n\n &[disabled] {\n color: $disabled-item-text-color;\n background-color: transparent;\n cursor: auto;\n pointer-events: none;\n\n > * {\n color: $disabled-item-text-color;\n }\n }\n\n &__caption {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n > * {\n margin: 0;\n padding: 0 0 0 8px;\n }\n\n > *:first-child {\n padding-left: 0;\n }\n\n > *:last-child:not(:only-child):not(.mdlext-menu__item__caption) {\n margin-left: auto; // If more than one element, push last element to the right\n }\n\n }\n &__item-separator {\n margin: 0;\n padding: 0;\n border-bottom: 1px solid $default-item-divider-color;\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// webpack:///src/menu-button/_menu-button.scss","/**\n * Copyright 2016 Leif Olsen. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*\n * The bordered fields are based on / inspired by this CodePen: http://codepen.io/prajwal078/pen/LVJZXz?editors=010\n */\n\n// Use of this module requires the user to include variables from material-design-lite\n//@import \"../../node_modules/material-design-lite/src/variables\";\n//@import \"../../node_modules/material-design-lite/src/mixins\";\n\n@import \"../variables\";\n@import \"../functions\";\n\n\n// \"Theme\" for this styling\n.mdlext-bordered-fields {\n box-sizing: border-box;\n\n * {\n box-sizing: border-box;\n }\n\n // Styling for textfield and selectfield.\n .mdl-textfield,\n .mdlext-selectfield {\n padding: 0;\n margin: $mdlext-bordered-field-vertical-spacing-top 0 $mdlext-bordered-field-vertical-spacing-bottom 0;\n\n .mdl-textfield__input,\n .mdlext-selectfield__select {\n height: $mdlext-bordered-field-height;\n background-color: $mdlext-bordered-field-background-color;\n border: $mdlext-bordered-field-border-width solid $mdlext-bordered-field-border-color;\n border-radius: $mdlext-bordered-field-border-radius;\n padding: $mdlext-bordered-field-padding-top $mdlext-bordered-field-padding $mdlext-bordered-field-padding-bottom $mdlext-bordered-field-padding;\n font-size: $mdlext-bordered-field-input-text-font-size;\n font-weight: $mdlext-bordered-field-font-weight;\n color: $mdlext-bordered-field-input-text-color;\n\n &:disabled {\n color: $mdlext-bordered-field-input-text-disabled-text-color;\n background-color: $mdlext-bordered-field-disabled-background-color;\n border-color: $mdlext-bordered-field-disabled-border-color;\n }\n\n // MDL can not handle required attribute properly. Planned for MDL-v2\n //&:required {\n // background-color: $mdlext-bordered-field-required-background-color;\n // border-color: $mdlext-bordered-field-required-border-color;\n //}\n\n &:focus {\n background-color: $mdlext-bordered-field-focus-background-color;\n border-color: $mdlext-bordered-field-focus-border-color;\n }\n\n // MDL can not handle required. Planned for MDL-v2\n //&:required:focus {\n // background-color: $mdlext-bordered-field-required-focus-background-color;\n // border-color: $mdlext-bordered-field-required-focus-border-color;\n //}\n }\n .mdlext-selectfield__select {\n padding-right: calc(1em + #{$mdlext-bordered-field-padding}); // space for down arrow\n }\n\n /*\n &.is-dirty {\n .mdl-textfield__input,\n .mdlext-selectfield__select {\n }\n }\n */\n\n &.is-invalid {\n .mdl-textfield__input,\n .mdlext-selectfield__select {\n color: $mdlext-bordered-field-input-text-error-color;\n border-color: $mdlext-bordered-field-error-border-color;\n background-color: $mdlext-bordered-field-error-background-color;\n\n &:focus {\n //&:required:focus {\n border-color: $mdlext-bordered-field-error-focus-border-color;\n background-color: $mdlext-bordered-field-error-focus-background-color;\n }\n }\n }\n }\n\n .mdlext-selectfield::after {\n top: auto;\n bottom: $mdlext-bordered-field-padding-bottom; // Position of down arrow\n }\n\n fieldset[disabled] .mdlext-selectfield::after,\n .mdlext-selectfield.is-disabled::after {\n color: $mdlext-bordered-field-input-text-disabled-text-color;\n @include mdlext-arrow(bottom, $mdlext-selectfield-arrow-width, $mdlext-selectfield-arrow-length, $mdlext-bordered-field-input-text-disabled-text-color);\n }\n\n\n fieldset[disabled] .mdl-textfield .mdl-textfield__input,\n fieldset[disabled] .mdlext-selectfield .mdlext-selectfield__select {\n color: $mdlext-bordered-field-input-text-disabled-text-color;\n background-color: $mdlext-bordered-field-disabled-background-color;\n border-color: $mdlext-bordered-field-disabled-border-color;\n }\n\n\n // Styling for the label / floating label.\n .mdl-textfield,\n .mdlext-selectfield {\n\n &.is-dirty,\n &.has-placeholder {\n .mdl-textfield__label,\n .mdlext-selectfield__label {\n visibility: hidden;\n }\n }\n .mdl-textfield__label,\n .mdlext-selectfield__label {\n color: $mdlext-bordered-field-input-text-label-color;\n font-size: $mdlext-bordered-field-label-font-size;\n font-weight: $mdlext-bordered-field-font-weight;\n padding-left: $mdlext-bordered-field-padding;\n top: auto;\n bottom: $mdlext-bordered-field-padding-bottom;\n\n // Hides the colored underline for the textField/selectfield.\n &::after {\n background-color: transparent !important;\n visibility: hidden !important;\n }\n }\n &.mdl-textfield--floating-label.is-focused.is-focused,\n &.mdl-textfield--floating-label.is-dirty.is-dirty,\n &.mdl-textfield--floating-label.has-placeholder,\n &.mdlext-selectfield--floating-label.is-focused.is-focused,\n &.mdlext-selectfield--floating-label.is-dirty.is-dirty,\n &.mdlext-selectfield--floating-label.has-placeholder {\n\n .mdl-textfield__label,\n .mdlext-selectfield__label {\n color: $mdlext-bordered-field-input-text-label-focus-color;\n font-size: $mdlext-bordered-field-floating-label-font-size;\n font-weight: $mdlext-bordered-field-floating-label-font-weight;\n top: auto;\n bottom: $mdlext-bordered-field-floating-label-focus-bottom;\n visibility: visible;\n }\n }\n &.mdl-textfield--floating-label.is-disabled.is-disabled,\n &.mdlext-selectfield--floating-label.is-disabled.is-disabled {\n\n .mdl-textfield__label,\n .mdlext-selectfield__label {\n color: $mdlext-bordered-field-input-text-label-disabled-color;\n }\n }\n &.mdl-textfield--floating-label.is-invalid.is-invalid,\n &.mdlext-selectfield--floating-label.is-invalid.is-invalid {\n\n .mdl-textfield__label,\n .mdlext-selectfield__label {\n color: $mdlext-bordered-field-input-text-label-error-color;\n }\n }\n }\n\n fieldset[disabled] .mdl-textfield .mdl-textfield__label,\n fieldset[disabled] .mdl-selectfield .mdl-selectfield__label {\n color: $mdlext-bordered-field-input-text-label-disabled-color;\n }\n\n // Icon(s) and/or button(s) inside textfield\n .mdl-textfield,\n .mdlext-selectfield {\n &.mdlext-bordered-fields__icon-left,\n &.mdlext-bordered-fields__icon-right {\n & > i,\n & > .mdl-button {\n position: absolute;\n bottom: $mdlext-bordered-field-padding-bottom - 2px;\n }\n & > i {\n bottom: $mdlext-bordered-field-padding-bottom + 2px;\n }\n }\n &.mdlext-bordered-fields__icon-left {\n & > i:first-child,\n & > .mdl-button:first-child {\n left: $mdlext-bordered-field-padding/2;\n }\n & > i ~ .mdl-textfield__input,\n & > .mdl-button ~ .mdl-textfield__input,\n & > i ~ .mdlext-selectfield__select,\n & > .mdl-button ~ .mdlext-selectfield__select {\n padding-left: $input-text-button-size;\n }\n & > i ~ .mdl-textfield__label,\n & > .mdl-button ~ .mdl-textfield__label {\n left: $input-text-button-size - $mdlext-bordered-field-padding;\n }\n & > i ~ .mdlext-selectfield__label,\n & > .mdl-button ~ .mdlext-selectfield__label {\n left: $input-text-button-size - $mdlext-bordered-field-padding;\n }\n }\n &.mdlext-bordered-fields__icon-right {\n & > .mdl-textfield__input {\n padding-right: $input-text-button-size;\n }\n & > i:last-child,\n & > .mdl-button:last-child {\n left: auto;\n right: $mdlext-bordered-field-padding/2;\n }\n }\n &.is-disabled i,\n &.is-disabled .mdl-button {\n color: $mdlext-bordered-field-disabled-border-color;\n pointer-events: none;\n }\n }\n\n fieldset[disabled] .mdl-textfield,\n fieldset[disabled] .mdlext-selectfield {\n i,\n .mdl-button {\n color: $mdlext-bordered-field-disabled-border-color;\n pointer-events: none;\n }\n }\n}\n\n\n\n\n// WEBPACK FOOTER //\n// webpack:///src/bordered-fields/_bordered-fields.scss","@charset \"UTF-8\";\n\n/**\n * @license\n * Copyright 2016-2017 Leif Olsen. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * This code is built with Google Material Design Lite,\n * which is Licensed under the Apache License, Version 2.0\n */\n\n.mdlext-collapsible {\n box-sizing: border-box;\n cursor: pointer;\n}\n\n.mdlext-collapsible-group,\n.mdlext-collapsible-region {\n box-sizing: border-box;\n\n &[hidden] {\n @include mdlext-visually-hidden;\n pointer-events: none;\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// webpack:///src/collapsible/_collapsible.scss","@charset \"UTF-8\";\n\n/**\n * @license\n * Copyright 2016 Leif Olsen. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * This code is built with Google Material Design Lite,\n * which is Licensed under the Apache License, Version 2.0\n */\n\n.mdlext-aria-toggle-plus-minus {\n @include mdlext-aria-expanded-toggle($font-family: inherit, $font-size: 1.4em);\n}\n\n.mdlext-aria-toggle-material-icons {\n @include mdlext-aria-expanded-toggle($font-size: 1.3em, $icon: 'expand_more', $icon-expanded: 'expand_less', $icon-offset: -$mdlext-accordion-header-padding);\n}\n\n.mdlext-accordion {\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n list-style: none;\n display: flex;\n\n * {\n box-sizing: border-box;\n }\n\n &__panel {\n box-sizing: border-box;\n position: relative;\n overflow: hidden;\n display: flex;\n flex-wrap: nowrap;\n }\n\n &__tab {\n @include typo-title();\n\n font-weight: 400;\n line-height: 1.1;\n box-sizing: border-box;\n position: relative;\n margin: 0;\n padding: 0; // $mdlext-accordion-header-padding;\n min-width: $mdlext-accordion-header-height;\n min-height: $mdlext-accordion-header-height;\n display: flex;\n align-items: center;\n align-self: stretch;\n user-select: none;\n color: $mdlext-accordion-header-secondary-color;\n background-color: $mdlext-accordion-header-background-color;\n cursor: pointer;\n overflow: hidden;\n\n &:focus {\n outline-offset: -2px;\n outline-color: $mdlext-accordion-header-focus-outline-color;\n outline-width: 2px;\n }\n\n &[aria-expanded='true'] {\n background-color: $mdlext-accordion-header-background-open-color;\n }\n\n &[aria-selected='true'] {\n background-color: $mdlext-accordion-header-background-active-color;\n }\n\n &[disabled] {\n background-color: $mdlext-accordion-header-disabled-color;\n color: $mdlext-accordion-header-secondary-color-disabled;\n pointer-events: none;\n\n > * {\n color: $mdlext-accordion-header-secondary-color-disabled;\n }\n }\n\n &:hover:not([disabled]) {\n background-color: $mdlext-accordion-header-background-hover-color;\n }\n\n > * {\n margin: 0;\n padding: 0;\n }\n\n &__caption {\n padding-left: $mdlext-accordion-header-padding;\n padding-right: $mdlext-accordion-header-padding;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n > *:first-child {\n padding-left: 0;\n }\n\n &--ripple {\n &[aria-selected='true']::before {\n content: '';\n position: absolute;\n top: 50%;\n left: 50%;\n background: $mdlext-accordion-ripple-color;\n opacity: 0;\n border-radius: 100%;\n transform: scale(1, 1) translate(-50%);\n transform-origin: 50% 50%;\n }\n &[aria-selected='true']:focus:not(:active)::before {\n // http://easings.net/\n animation: mdlext-accordion-tab-ripple 1s cubic-bezier(0.4, 0.0, 0.4, 1) 0.01s alternate forwards; // cubic-bezier(0.4, 0.0, 1, 1); //cubic-bezier(0.4, 0.0, 0.4, 1) 0.01s alternate forwards; //ease-out;\n }\n }\n }\n\n &__tabpanel {\n box-sizing: border-box;\n margin: 0;\n padding: 0 $mdlext-accordion-content-padding;\n color: $mdlext-accordion-content-color;\n background-color: $mdlext-accordion-content-background-color;\n display: block;\n overflow: auto;\n flex-grow: 1;\n\n &[hidden] {\n @include mdlext-visually-hidden;\n }\n }\n}\n\n// Vertical layout\n.mdlext-accordion {\n\n &--vertical {\n flex-direction: column;\n flex-wrap: nowrap;\n\n .mdlext-accordion__panel {\n min-height: $mdlext-accordion-header-height;\n flex-direction: column;\n }\n\n .mdlext-accordion__tab {\n height: $mdlext-accordion-header-height;\n border-top: 1px solid $mdlext-accordion-header-border-color;\n padding-left: $mdlext-accordion-header-padding;\n padding-right: $mdlext-accordion-header-padding;\n\n &[aria-selected='true']::after {\n position: absolute;\n bottom: 0;\n left: 0;\n height: 1px;\n width: 100%;\n display: block;\n content: \" \";\n background-color: $mdlext-accordion-header-highlight-color;\n animation: border-expand 0.2s cubic-bezier(0.4, 0.0, 0.4, 1) 0.01s alternate forwards;\n transition: all 1s cubic-bezier(0.4, 0.0, 1, 1);\n }\n\n > * {\n padding-left: $mdlext-accordion-header-padding;\n }\n\n > *:first-child {\n padding-left: 0;\n }\n\n > *:last-child:not(:only-child):not(.mdlext-accordion__tab__caption) {\n margin-left: auto; // If more than one element, push last element to the right\n }\n\n &--ripple {\n &[aria-selected='true']::before {\n width: 5%;\n height: 10%;\n }\n }\n\n }\n\n .mdlext-accordion__tabpanel {\n border-top: 1px solid $mdlext-accordion-header-border-color;\n\n &--animation {\n transform: scaleY(1);\n animation: mdlext-accordion-show-tabpanel-y 0.2s ease-in-out;\n\n &[hidden] {\n transform: scaleY(0);\n animation: mdlext-accordion-hide-tabpanel-y 0.2s ease-out;\n animation-delay: 0.1s;\n }\n }\n }\n }\n}\n\n// Horizontal layout\n.mdlext-accordion {\n\n &--horizontal {\n\n .mdlext-accordion__panel {\n min-width: $mdlext-accordion-header-height;\n width: $mdlext-accordion-header-height;\n }\n\n &[aria-multiselectable='true'] .mdlext-accordion__panel.is-expanded {\n width: 100%;\n }\n\n .mdlext-accordion__tab {\n flex-direction: column-reverse;\n width: $mdlext-accordion-header-height;\n white-space: nowrap;\n border-left: 1px solid $mdlext-accordion-header-border-color;\n\n &[aria-selected='true']::after {\n position: absolute;\n top: 0;\n right: 0;\n height: 100%;\n width: 1px;\n display: block;\n content: \" \";\n background-color: $mdlext-accordion-header-highlight-color;\n\n // Figure out how to animate a vertical line\n //animation: border-expand 0.2s cubic-bezier(0.4, 0.0, 0.4, 1) 0.01s alternate forwards;\n //transition: all 1s cubic-bezier(0.4, 0.0, 1, 1);\n }\n\n > * {\n //transform: rotate(-90deg) translateX(50%);\n transform: rotate(-90deg) translateX($mdlext-accordion-header-padding);\n }\n\n > *:last-child:not(:only-child):not(.mdlext-accordion__tab__caption) {\n // If more than one element, push last element to top\n margin-bottom: auto;\n transform: rotate(-90deg) translateX(0);\n }\n\n &__caption {\n transform: rotate(-90deg) translateX(50%);\n padding-right: $mdlext-accordion-header-padding + 8px;\n }\n\n &--ripple {\n &[aria-selected='true']::before {\n width: 10%;\n height: 5%;\n }\n }\n }\n\n .mdlext-accordion__tabpanel {\n border-left: 1px solid $mdlext-accordion-header-border-color;\n\n &--animation {\n transform: scaleX(1);\n animation: mdlext-accordion-show-tabpanel-x 0.2s ease-in-out;\n\n &[hidden] {\n transform: scaleX(0);\n animation: mdlext-accordion-hide-tabpanel-x 0.2s ease-out;\n }\n }\n }\n }\n}\n\n.mdlext-accordion {\n\n &__panel:first-child > &__tab {\n // Use container to set outer borders\n border-top-color: transparent;\n border-left-color: transparent;\n }\n\n &[aria-multiselectable=\"false\"] {\n .mdlext-accordion__panel.is-expanded {\n flex-grow: 1;\n }\n }\n}\n\n// Making accordion appear disabled.\n// Note: does not prevent tabbing into a disabled accordion\n.mdlext-accordion[disabled] {\n * {\n pointer-events: none;\n }\n .mdlext-accordion__tab {\n background-color: $mdlext-accordion-header-disabled-color;\n color: $mdlext-accordion-header-secondary-color-disabled;\n\n > * {\n color: $mdlext-accordion-header-secondary-color-disabled;\n }\n }\n .mdlext-accordion__tabpanel {\n opacity: 0.8;\n filter: blur(1px) grayscale(80%);\n }\n}\n\n\n@keyframes mdlext-accordion-tab-ripple {\n 0% {\n transform: scale(0, 0);\n opacity: 1;\n }\n 20% {\n transform: scale(25, 25);\n opacity: 1;\n }\n 100% {\n opacity: 0;\n transform: scale(40, 40);\n }\n}\n\n/*\n@keyframes mdlext-accordion-show-tabpanel-y {\n 0% { transform: scaleY(0.1); }\n 40% { transform: scaleY(1.03); }\n 60% { transform: scaleY(0.98); }\n 80% { transform: scaleY(1.03); }\n 100% { transform: scaleY(0.98); }\n 80% { transform: scaleY(1.01); }\n 100% { transform: scaleY(1); }\n}\n*/\n\n@keyframes mdlext-accordion-show-tabpanel-y {\n 0% { transform: scaleY(0); }\n 60% { transform: scaleY(1.01); }\n 80% { transform: scaleY(0.98); }\n 100% { transform: scaleY(1); }\n}\n\n@keyframes mdlext-accordion-hide-tabpanel-y {\n 0% { transform: scaleY(1); }\n 60% { transform: scaleY(0.98); }\n 80% { transform: scaleY(1.01); }\n 100% { transform: scaleY(0); }\n}\n\n/*\n@keyframes mdlext-accordion-show-tabpanel-x {\n 0% { transform: scaleX(0.1); }\n 40% { transform: scaleX(1.03); }\n 60% { transform: scaleX(0.98); }\n 80% { transform: scaleX(1.03); }\n 100% { transform: scaleX(0.98); }\n 80% { transform: scaleX(1.01); }\n 100% { transform: scaleX(1); }\n}\n*/\n\n@keyframes mdlext-accordion-show-tabpanel-x {\n 0% { transform: scaleX(0); }\n 60% { transform: scaleX(1.01); }\n 80% { transform: scaleX(0.98); }\n 100% { transform: scaleX(1); }\n}\n\n@keyframes mdlext-accordion-hide-tabpanel-x {\n 0% { transform: scaleX(1); }\n 60% { transform: scaleX(0.98); }\n 80% { transform: scaleX(1.01); }\n 100% { transform: scaleX(0); }\n}\n\n\n\n// WEBPACK FOOTER //\n// webpack:///src/accordion/_accordion.scss","/* -------------------------------------------------------------\n Palette samples. Not part of build\n----------------------------------------------------------------\n\n$mdlext-light-color-primary: #9E9E9E !default;\n$mdlext-light-color-primary-dark: #616161 !default;\n$mdlext-light-color-primary-light: #9E9E9E !default; // Fallback color. Set to color-primary if fallback is not needed\n$mdlext-light-color-primary-contrast: #212121 !default; // text color on primary/primary dark background\n$mdlext-light-color-accent: #E040FB !default;\n$mdlext-light-color-accent-light: #E040FB !default; // Fallback color. Set to color-accent if fallback is not needed\n$mdlext-light-color-accent-contrast: #FAFAFA !default;\n\n$mdlext-light-color-primary: #F5F5F5 !default;\n$mdlext-light-color-primary-dark: #E0E0E0 !default;\n$mdlext-light-color-primary-light: #8BC34A !default; // Fallback color. Set to color-primary if fallback is not needed\n$mdlext-light-color-primary-contrast: #000000 !default; // text color on primary/primary dark background\n$mdlext-light-color-accent: #FFC107 !default;\n$mdlext-light-color-accent-light: #FFC107 !default; // Fallback color. Set to color-accent if fallback is not needed\n$mdlext-light-color-accent-contrast: #FFFFFF !default;\n\n\n$mdlext-light-color-primary: #673AB7 !default;\n$mdlext-light-color-primary-dark: #512DA8 !default;\n$mdlext-light-color-primary-light: #673AB7 !default; // Fallback color. Set to color-primary if fallback is not needed\n$mdlext-light-color-primary-contrast: #D1C4E9 !default; // text color on primary/primary dark background\n$mdlext-light-color-accent: #4CAF50 !default;\n$mdlext-light-color-accent-light: #4CAF50 !default; // Fallback color. Set to color-accent if fallback is not needed\n$mdlext-light-color-accent-contrast: #FFFFFF !default;\n\n\n$mdlext-light-color-primary: #4CAF50 !default;\n$mdlext-light-color-primary-dark: #388E3C !default;\n$mdlext-light-color-primary-light: #4CAF50 !default; // Fallback color. Set to color-primary if fallback is not needed\n$mdlext-light-color-primary-contrast: #C8E6C9 !default; // text color on primary/primary dark background\n$mdlext-light-color-accent: #FF5252 !default;\n$mdlext-light-color-accent-light: #FF5252 !default; // Fallback color. Set to color-accent if fallback is not needed\n$mdlext-light-color-accent-contrast: #FFFFFF !default;\n\n\n$mdlext-light-color-primary: #4CAF50 !default;\n$mdlext-light-color-primary-dark: #388E3C !default;\n$mdlext-light-color-primary-light: #4CAF50 !default; // Fallback color. Set to color-primary if fallback is not needed\n$mdlext-light-color-primary-contrast: #C8E6C9 !default; // text color on primary/primary dark background\n$mdlext-light-color-accent: #03A9F4 !default;\n$mdlext-light-color-accent-light: #03A9F4 !default; // Fallback color. Set to color-accent if fallback is not needed\n$mdlext-light-color-accent-contrast: #FFFFFF !default;\n\n\n$mdlext-dark-color-primary: #212121 !default;\n$mdlext-dark-color-primary-dark: #000000 !default;\n$mdlext-dark-color-primary-light: #607D8B !default; // Fallback color. Set to color-primary if fallback is not needed\n$mdlext-dark-color-primary-contrast: #FFFFFF !default; // text color on primary/primary dark background\n$mdlext-dark-color-accent: #FF5722 !default;\n$mdlext-dark-color-accent-light: #FF5722 !default; // Fallback color. Set to color-accent if fallback is not needed\n$mdlext-dark-color-accent-contrast: #FFFFFF !default;\n\n*/\n\n\n\n// WEBPACK FOOTER //\n// webpack:///src/color-themes/_color-themes.scss","@import \"color-themes\";\n\n.mdlext-light-color-theme {\n background-color: $mdlext-light-content-background-color;\n color: $mdlext-light-text-color-primary;\n\n a {\n outline-color: inherit;\n }\n}\n\n// mdl/src/palette/_palette.scss\n// -----------------------------\n.mdlext-light-color-theme {\n\n .mdl-color--primary {\n background-color: $mdlext-light-color-primary !important;\n }\n\n .mdl-color--primary-contrast {\n background-color: $mdlext-light-color-primary-contrast !important;\n }\n\n .mdl-color--primary-dark {\n background-color: $mdlext-light-color-primary-dark !important;\n }\n\n .mdl-color--accent {\n background-color: $mdlext-light-color-accent !important;\n }\n\n .mdl-color--accent-contrast {\n background-color: $mdlext-light-color-accent-contrast !important;\n }\n\n .mdl-color-text--primary {\n color: $mdlext-light-color-primary !important;\n }\n\n .mdl-color-text--primary-contrast {\n color: $mdlext-light-color-primary-contrast !important;\n }\n\n .mdl-color-text--primary-dark {\n color: $mdlext-light-color-primary-dark !important;\n }\n\n .mdl-color-text--accent {\n color: $mdlext-light-color-accent !important;\n }\n\n .mdl-color-text--accent-contrast {\n color: $mdlext-light-color-accent-contrast !important;\n }\n\n}\n\n// mdl/src/typography/_typography.scss\n// -----------------------------------\n.mdlext-light-color-theme {\n a {\n color: $mdlext-light-text-link-color;\n }\n}\n\n\n// mdl/src/badge/_badge.scss\n// ---------------------------\n.mdlext-light-color-theme {\n .mdl-badge {\n\n &[data-badge]::after {\n background: $mdlext-light-badge-background;\n color: $mdlext-light-badge-color;\n }\n\n &.mdl-badge--no-background {\n &[data-badge]::after {\n color: $mdlext-light-badge-color-inverse;\n background: $mdlext-light-badge-background-inverse;\n }\n }\n }\n}\n\n\n// mdl/src/button/_button.scss\n// ---------------------------\n.mdlext-light-color-theme {\n\n .mdl-button {\n background: transparent;\n color: $mdlext-light-button-secondary-color;\n\n &:hover {\n background-color: $mdlext-light-button-hover-color;\n }\n\n &:focus:not(:active) {\n background-color: $mdlext-light-button-focus-color;\n }\n\n &:active {\n background-color: $mdlext-light-button-active-color;\n }\n\n &.mdl-button--colored {\n color: $mdlext-light-button-primary-color-alt;\n\n &:focus:not(:active) {\n background-color: $mdlext-light-button-focus-color-alt;\n }\n }\n }\n\n // Raised buttons\n .mdl-button--raised {\n background: $mdlext-light-button-primary-color;\n\n &:active {\n background-color: $mdlext-light-button-active-color;\n }\n\n &:focus:not(:active) {\n background-color: $mdlext-light-button-active-color;\n }\n\n &.mdl-button--colored {\n background: $mdlext-light-button-primary-color-alt;\n color: $mdlext-light-button-secondary-color-alt;\n\n &:hover {\n background-color: $mdlext-light-button-hover-color-alt;\n }\n\n &:active {\n background-color: $mdlext-light-button-active-color-alt;\n }\n\n &:focus:not(:active) {\n background-color: $mdlext-light-button-active-color-alt;\n }\n\n & .mdl-ripple {\n background: $mdlext-light-button-ripple-color-alt;\n }\n }\n }\n\n\n // FABs\n .mdl-button--fab {\n background: $mdlext-light-button-primary-color;\n\n &:active {\n background-color: $mdlext-light-button-active-color;\n }\n\n &:focus:not(:active) {\n background-color: $mdlext-light-button-active-color;\n }\n\n &.mdl-button--colored {\n background: $mdlext-light-button-fab-color-alt;\n color: $mdlext-light-button-fab-text-color-alt;\n\n &:hover {\n background-color: $mdlext-light-button-fab-hover-color-alt;\n }\n\n &:focus:not(:active) {\n background-color: $mdlext-light-button-fab-active-color-alt;\n }\n\n &:active {\n background-color: $mdlext-light-button-fab-active-color-alt;\n }\n\n & .mdl-ripple {\n background: $mdlext-light-button-fab-ripple-color-alt;\n }\n }\n }\n\n\n // Icon buttons\n .mdl-button--icon {\n color: inherit;\n }\n\n // Colorized buttons\n\n .mdl-button--primary.mdl-button--primary {\n color: $mdlext-light-button-primary-color-alt;\n\n & .mdl-ripple {\n background: $mdlext-light-button-secondary-color-alt;\n }\n &.mdl-button--raised,\n &.mdl-button--fab {\n color: $mdlext-light-button-secondary-color-alt;\n background-color: $mdlext-light-button-primary-color-alt;\n }\n }\n\n .mdl-button--accent.mdl-button--accent {\n color: $mdlext-light-button-fab-color-alt;\n\n & .mdl-ripple {\n background: $mdlext-light-button-fab-text-color-alt;\n }\n &.mdl-button--raised,\n &.mdl-button--fab {\n color: $mdlext-light-button-fab-text-color-alt;\n background-color: $mdlext-light-button-fab-color-alt;\n }\n }\n\n // Disabled buttons\n\n .mdl-button {\n // Bump up specificity by using [disabled] twice.\n &[disabled][disabled],\n &.mdl-button--disabled.mdl-button--disabled {\n color: $mdlext-light-button-secondary-color-disabled;\n background-color: transparent;\n }\n\n &--fab {\n // Bump up specificity by using [disabled] twice.\n &[disabled][disabled],\n &.mdl-button--disabled.mdl-button--disabled {\n background-color: $mdlext-light-button-primary-color-disabled;\n color: $mdlext-light-button-secondary-color-disabled;\n }\n }\n\n &--raised {\n // Bump up specificity by using [disabled] twice.\n &[disabled][disabled],\n &.mdl-button--disabled.mdl-button--disabled {\n background-color: $mdlext-light-button-primary-color-disabled;\n color: $mdlext-light-button-secondary-color-disabled;\n }\n }\n &--colored {\n // Bump up specificity by using [disabled] twice.\n &[disabled][disabled],\n &.mdl-button--disabled.mdl-button--disabled {\n color: $mdlext-light-button-secondary-color-disabled;\n }\n }\n }\n}\n\n// mdl/src/slider/_slider.scss\n// ---------------------------\n.mdlext-light-color-theme {\n .mdl-slider {\n\n &.is-upgraded {\n background: transparent;\n color: $mdlext-light-range-color;\n\n &::-webkit-slider-runnable-track {\n background: transparent;\n }\n\n &::-moz-range-track {\n background: transparent;\n }\n\n &::-ms-track {\n background: none;\n color: transparent;\n }\n\n /* stylelint-disable */\n &::-ms-fill-lower {\n background: linear-gradient(to right,\n transparent,\n transparent 16px,\n $mdlext-light-range-color 16px,\n $mdlext-light-range-color 0);\n }\n\n &::-ms-fill-upper {\n background: linear-gradient(to left,\n transparent,\n transparent 16px,\n $mdlext-light-range-bg-color 16px,\n $mdlext-light-range-bg-color 0);\n }\n /* stylelint-enable */\n\n\n /**************************** Thumbs ****************************/\n &::-webkit-slider-thumb {\n background: $mdlext-light-range-color;\n }\n\n &::-moz-range-thumb {\n background: $mdlext-light-range-color;\n }\n\n &:focus:not(:active)::-webkit-slider-thumb {\n box-shadow: 0 0 0 10px $mdlext-light-range-faded-color;\n }\n\n &:focus:not(:active)::-moz-range-thumb {\n box-shadow: 0 0 0 10px $mdlext-light-range-faded-color;\n }\n\n &:active::-webkit-slider-thumb {\n background: $mdlext-light-range-color;\n }\n\n &:active::-moz-range-thumb {\n background: $mdlext-light-range-color;\n }\n\n &::-ms-thumb {\n background: $mdlext-light-range-color;\n }\n\n /* stylelint-disable */\n &:focus:not(:active)::-ms-thumb {\n background: radial-gradient(circle closest-side,\n $mdlext-light-range-color 0%,\n $mdlext-light-range-color 37.5%,\n $mdlext-light-range-faded-color 37.5%,\n $mdlext-light-range-faded-color 100%);\n }\n /* stylelint-enable */\n\n &:active::-ms-thumb {\n background: $mdlext-light-range-color;\n }\n\n\n /**************************** 0-value ****************************/\n\n &.is-lowest-value::-webkit-slider-thumb {\n border-color: $mdlext-light-range-color;\n background: transparent;\n }\n\n &.is-lowest-value::-moz-range-thumb {\n border-color: $mdlext-light-range-bg-color;\n background: transparent;\n }\n\n &.is-lowest-value:focus:not(:active)::-webkit-slider-thumb {\n box-shadow: 0 0 0 10px $mdlext-light-range-bg-focus-color;\n background: $mdlext-light-range-bg-focus-color;\n }\n\n &.is-lowest-value:focus:not(:active)::-moz-range-thumb {\n box-shadow: 0 0 0 10px $mdlext-light-range-bg-focus-color;\n background: $mdlext-light-range-bg-focus-color;\n }\n\n &.is-lowest-value:active::-webkit-slider-thumb {\n border-color: $mdlext-light-range-bg-color;\n }\n\n &.is-lowest-value:active::-moz-range-thumb {\n border-color: $mdlext-light-range-bg-color;\n }\n\n /* stylelint-disable */\n &.is-lowest-value::-ms-thumb {\n background: radial-gradient(circle closest-side,\n transparent 0%,\n transparent 66.67%,\n $mdlext-light-range-bg-color 66.67%,\n $mdlext-light-range-bg-color 100%);\n }\n\n &.is-lowest-value:focus:not(:active)::-ms-thumb {\n background: radial-gradient(circle closest-side,\n $mdlext-light-range-bg-focus-color 0%,\n $mdlext-light-range-bg-focus-color 25%,\n $mdlext-light-range-bg-color 25%,\n $mdlext-light-range-bg-color 37.5%,\n $mdlext-light-range-bg-focus-color 37.5%,\n $mdlext-light-range-bg-focus-color 100%);\n }\n\n &.is-lowest-value:active::-ms-thumb {\n background: radial-gradient(circle closest-side,\n transparent 0%,\n transparent 77.78%,\n $mdlext-light-range-bg-color 77.78%,\n $mdlext-light-range-bg-color 100%);\n }\n /* stylelint-enable */\n\n &.is-lowest-value::-ms-fill-lower {\n background: transparent;\n }\n\n /**************************** Disabled ****************************/\n\n &:disabled:focus::-webkit-slider-thumb,\n &:disabled:active::-webkit-slider-thumb,\n &:disabled::-webkit-slider-thumb {\n background: $mdlext-light-range-bg-color;\n }\n\n &:disabled:focus::-moz-range-thumb,\n &:disabled:active::-moz-range-thumb,\n &:disabled::-moz-range-thumb {\n background: $mdlext-light-range-bg-color;\n }\n\n &:disabled + .mdl-slider__background-flex > .mdl-slider__background-lower {\n background-color: $mdlext-light-range-bg-color;\n }\n\n &.is-lowest-value:disabled:focus::-webkit-slider-thumb,\n &.is-lowest-value:disabled:active::-webkit-slider-thumb,\n &.is-lowest-value:disabled::-webkit-slider-thumb {\n border-color: $mdlext-light-range-bg-color;\n background: transparent;\n }\n\n &.is-lowest-value:disabled:focus::-moz-range-thumb,\n &.is-lowest-value:disabled:active::-moz-range-thumb,\n &.is-lowest-value:disabled::-moz-range-thumb {\n border-color: $mdlext-light-range-bg-color;\n background: transparent;\n }\n\n &:disabled:focus::-ms-thumb,\n &:disabled:active::-ms-thumb,\n &:disabled::-ms-thumb {\n background: $mdlext-light-range-bg-color;\n }\n\n /* stylelint-disable */\n &.is-lowest-value:disabled:focus::-ms-thumb,\n &.is-lowest-value:disabled:active::-ms-thumb,\n &.is-lowest-value:disabled::-ms-thumb {\n background: radial-gradient(circle closest-side,\n transparent 0%,\n transparent 50%,\n $mdlext-light-range-bg-color 50%,\n $mdlext-light-range-bg-color 100%);\n }\n\n &:disabled::-ms-fill-lower {\n background: linear-gradient(to right,\n transparent,\n transparent 25px,\n $mdlext-light-range-bg-color 25px,\n $mdlext-light-range-bg-color 0);\n }\n /* stylelint-enable */\n\n }\n }\n\n .mdl-slider__background-flex {\n background: transparent;\n }\n\n .mdl-slider__background-lower {\n background: $mdlext-light-range-color;\n }\n\n // This one styles the upper part of the slider track.\n .mdl-slider__background-upper {\n background: $mdlext-light-range-bg-color;\n }\n}\n\n\n// mdl/src/textfield/_textfield.scss\n// -----------------------------------\n.mdlext-light-color-theme {\n\n .mdl-textfield__input {\n border-bottom-color: $mdlext-light-input-text-bottom-border-color;\n }\n .mdl-textfield.is-invalid .mdl-textfield__input {\n border-color: $mdlext-light-input-text-error-color;\n }\n fieldset[disabled] .mdl-textfield .mdl-textfield__input,\n .mdl-textfield.is-disabled .mdl-textfield__input {\n background-color: transparent;\n border-bottom-color: $mdlext-light-input-text-disabled-color;\n color: $mdlext-light-input-text-disabled-text-color;\n }\n .mdl-textfield__label {\n color: $mdlext-light-input-text-label-color;\n }\n .mdl-textfield__label::after {\n background-color: $mdlext-light-input-text-highlight-color;\n }\n fieldset[disabled] .mdl-textfield .mdl-textfield__label,\n .mdl-textfield.is-disabled.is-disabled .mdl-textfield__label {\n color: $mdlext-light-input-text-disabled-text-color;\n }\n .mdl-textfield--floating-label.is-focused .mdl-textfield__label,\n .mdl-textfield--floating-label.is-dirty .mdl-textfield__label,\n .mdl-textfield--floating-label.has-placeholder .mdl-textfield__label {\n color: $mdlext-light-input-text-highlight-color;\n }\n .mdl-textfield--floating-label.is-invalid .mdl-textfield__label {\n color: $mdlext-light-input-text-error-color;\n }\n .mdl-textfield.is-invalid .mdl-textfield__label::after {\n background-color: $mdlext-light-input-text-error-color;\n }\n .mdl-textfield__error {\n color: $mdlext-light-input-text-error-color;\n }\n}\n\n\n// mdl/src/checkbox/_checkbox.scss\n// -----------------------------------\n.mdlext-light-color-theme {\n\n .mdl-checkbox__box-outline {\n border-color: $mdlext-light-checkbox-off-color;\n }\n .mdl-checkbox.is-checked .mdl-checkbox__box-outline {\n border-color: $mdlext-light-checkbox-color;\n }\n fieldset[disabled] .mdl-checkbox .mdl-checkbox__box-outline,\n .mdl-checkbox.is-disabled .mdl-checkbox__box-outline {\n border-color: $mdlext-light-checkbox-disabled-color;\n }\n\n .mdl-checkbox__focus-helper {\n background-color: transparent;\n }\n .mdl-checkbox.is-focused.is-checked .mdl-checkbox__focus-helper {\n box-shadow: 0 0 0 ($checkbox-button-size / 2) $mdlext-light-checkbox-focus-color;\n background-color: $mdlext-light-checkbox-focus-color;\n }\n\n .mdl-checkbox__tick-outline {\n background: transparent;\n }\n .mdl-checkbox.is-checked .mdl-checkbox__tick-outline {\n background-color: $mdlext-light-checkbox-color;\n }\n fieldset[disabled] .mdl-checkbox.is-checked .mdl-checkbox__tick-outline,\n .mdl-checkbox.is-checked.is-disabled .mdl-checkbox__tick-outline {\n background-color: $mdlext-light-checkbox-disabled-color;\n }\n\n fieldset[disabled] .mdl-checkbox .mdl-checkbox__label,\n .mdl-checkbox.is-disabled .mdl-checkbox__label {\n color: $mdlext-light-checkbox-disabled-color;\n }\n\n .mdl-checkbox__ripple-container .mdl-ripple {\n background: $mdlext-light-checkbox-color;\n }\n fieldset[disabled] .mdl-checkbox .mdl-checkbox__ripple-container .mdl-ripple,\n .mdl-checkbox.is-disabled .mdl-checkbox__ripple-container .mdl-ripple {\n background: transparent;\n }\n\n}\n\n// mdl/src/radio/_radio.scss\n// -----------------------------------\n.mdlext-light-color-theme {\n .mdl-radio__outer-circle {\n border-color: $mdlext-light-radio-off-color;\n }\n .mdl-radio.is-checked .mdl-radio__outer-circle {\n border-color: $mdlext-light-radio-color;\n }\n .mdl-radio__outer-circle fieldset[disabled] .mdl-radio,\n .mdl-radio.is-disabled .mdl-radio__outer-circle {\n border-color: $mdlext-light-radio-disabled-color;\n }\n\n .mdl-radio__inner-circle {\n background: $mdlext-light-radio-color;\n }\n fieldset[disabled] .mdl-radio .mdl-radio__inner-circle,\n .mdl-radio.is-disabled .mdl-radio__inner-circle {\n background: $mdlext-light-radio-disabled-color;\n }\n\n fieldset[disabled] .mdl-radio .mdl-radio__label,\n .mdl-radio.is-disabled .mdl-radio__label {\n color: $mdlext-light-radio-disabled-color;\n }\n\n .mdl-radio__ripple-container .mdl-ripple {\n background: $mdlext-light-radio-color;\n }\n fieldset[disabled] .mdl-radio .mdl-radio__ripple-container .mdl-ripple,\n .mdl-radio.is-disabled .mdl-radio__ripple-container .mdl-ripple {\n background: transparent;\n }\n}\n\n// mdl/src/icon-togglr/_icon-toggle.scss\n// ---------------------------------------\n.mdlext-light-color-theme {\n .mdl-icon-toggle__label {\n color: $mdlext-light-icon-toggle-color;\n }\n .mdl-icon-toggle.is-checked .mdl-icon-toggle__label {\n color: $mdlext-light-icon-toggle-checked-color;\n }\n .mdl-icon-toggle.is-disabled .mdl-icon-toggle__label {\n color: $mdlext-light-icon-toggle-disabled-color;\n }\n .mdl-icon-toggle.is-focused .mdl-icon-toggle__label {\n background-color: $mdlext-light-icon-toggle-focus-color;\n }\n .mdl-icon-toggle.is-focused.is-checked .mdl-icon-toggle__label {\n background-color: $mdlext-light-icon-toggle-checked-focus-color;\n }\n .mdl-icon-toggle__ripple-container .mdl-ripple {\n background: $mdlext-light-icon-toggle-color;\n }\n .mdl-icon-toggle.is-disabled .mdl-icon-toggle__ripple-container .mdl-ripple {\n background: transparent;\n }\n}\n\n\n// mdl/src/switch/_switch.scss\n// -----------------------------------\n.mdlext-light-color-theme {\n\n .mdl-switch__track {\n background: $mdlext-light-switch-off-track-color;\n }\n .mdl-switch.is-checked .mdl-switch__track {\n background: $mdlext-light-switch-track-color;\n }\n .mdl-switch__track fieldset[disabled] .mdl-switch,\n .mdl-switch.is-disabled .mdl-switch__track {\n background: $mdlext-light-switch-disabled-track-color;\n }\n\n .mdl-switch__thumb {\n background: $mdlext-light-switch-off-thumb-color;\n }\n .mdl-switch.is-checked .mdl-switch__thumb {\n background: $mdlext-light-switch-thumb-color;\n }\n .mdl-switch__thumb fieldset[disabled] .mdl-switch,\n .mdl-switch.is-disabled .mdl-switch__thumb {\n background: $mdlext-light-switch-disabled-thumb-color;\n }\n\n .mdl-switch__focus-helper {\n background-color: transparent;\n }\n .mdl-switch.is-focused .mdl-switch__focus-helper {\n background-color: rgba(0, 0, 0, 0.1);\n }\n .mdl-switch.is-focused.is-checked .mdl-switch__focus-helper {\n box-shadow: 0 0 0 (($switch-ripple-size - $switch-helper-size) / 2) $mdlext-light-switch-faded-color;\n background-color: $mdlext-light-switch-faded-color;\n }\n\n .mdl-switch__label fieldset[disabled] .mdl-switch,\n .mdl-switch.is-disabled .mdl-switch__label {\n color: $mdlext-light-switch-disabled-thumb-color;\n }\n\n .mdl-switch__ripple-container .mdl-ripple {\n background: $mdlext-light-switch-color;\n }\n fieldset[disabled] .mdl-switch .mdl-switch__ripple-container .mdl-ripple,\n .mdl-switch.is-disabled .mdl-switch__ripple-container .mdl-ripple {\n background: transparent;\n }\n}\n\n\n// mdl/src/data-table/_data-table.scss\n// -----------------------------------\n.mdlext-light-color-theme {\n\n .mdl-data-table {\n border-color: $mdlext-light-data-table-divider-color;\n background-color: $mdlext-light-data-table-background-color;\n\n tbody {\n tr {\n &.is-selected {\n background-color: $mdlext-light-data-table-selection-color;\n }\n &:hover {\n background-color: $mdlext-light-data-table-hover-color;\n }\n }\n }\n th {\n color: $data-table-header-color;\n\n &.mdl-data-table__header--sorted-ascending,\n &.mdl-data-table__header--sorted-descending {\n color: $mdlext-light-data-table-header-sorted-color;\n\n &:hover {\n &::before {\n color: $mdlext-light-data-table-header-sorted-icon-hover-color;\n }\n }\n }\n }\n }\n}\n\n\n// mdl/src/menu/_menu.scss\n// -----------------------------------\n.mdlext-light-color-theme {\n\n .mdl-menu__outline {\n background: $mdlext-light-default-dropdown-bg-color;\n }\n\n .mdl-menu__item {\n color: $mdlext-light-default-item-text-color;\n background-color: transparent;\n outline-color: $mdlext-light-default-item-outline-color;\n\n &--full-bleed-divider {\n border-bottom-color: $mdlext-light-default-item-divider-color;\n }\n\n &[disabled],\n &[data-mdl-disabled] {\n color: $mdlext-light-disabled-item-text-color;\n background-color: transparent;\n\n &:hover {\n background-color: transparent;\n }\n\n &:focus {\n background-color: transparent;\n }\n\n & .mdl-ripple {\n background: transparent;\n }\n }\n\n &:hover {\n background-color: $mdlext-light-default-item-hover-bg-color;\n }\n\n &:focus {\n background-color: $mdlext-light-default-item-focus-bg-color;\n }\n\n &:active {\n background-color: $mdlext-light-default-item-active-bg-color;\n }\n }\n}\n\n\n// mdl/src/card/_card.scss\n// ----------------------------------------\n.mdlext-light-color-theme {\n\n .mdl-card {\n background: $mdlext-light-card-background-color;\n }\n\n .mdl-card__media {\n background-color: $mdlext-light-card-image-placeholder-color;\n }\n\n .mdl-card__title {\n color: $mdlext-light-card-text-color;\n\n &.mdl-card--border {\n border-bottom-color: $mdlext-light-card-border-color;\n }\n }\n\n .mdl-card__title-text {\n color: inherit;\n }\n\n .mdl-card__subtitle-text {\n color: $mdlext-light-card-subtitle-color;\n }\n\n .mdl-card__supporting-text {\n color: $mdlext-light-card-supporting-text-text-color;\n }\n\n .mdl-card__actions {\n background-color: rgba(0, 0, 0, 0);\n\n &.mdl-card--border {\n border-top-color: $mdlext-light-card-border-color;\n }\n }\n}\n\n\n// mdlext/src/selectfield/_selectfield.scss\n// ----------------------------------------\n.mdlext-light-color-theme {\n\n .mdlext-selectfield.is-disabled::after {\n color: $mdlext-light-input-text-disabled-color;\n @include mdlext-arrow(bottom, $mdlext-selectfield-arrow-width, $mdlext-selectfield-arrow-length, $mdlext-light-input-text-disabled-color);\n }\n\n .mdlext-selectfield__select {\n border-bottom-color: $mdlext-light-input-text-bottom-border-color;\n color: inherit;\n\n option {\n background-color: $mdlext-light-content-background-color;\n color: $mdlext-light-text-color-primary;\n }\n }\n .mdlext-selectfield.is-invalid .mdlext-selectfield__select {\n border-color: $mdlext-light-input-text-error-color;\n }\n fieldset[disabled] .mdlext-selectfield .mdlext-selectfield__select,\n .mdlext-selectfield.is-disabled .mdlext-selectfield__select {\n background-color: transparent;\n border-bottom-color: $mdlext-light-input-text-disabled-color;\n color: $mdlext-light-input-text-disabled-text-color;\n }\n\n .mdlext-selectfield__label {\n color: $mdlext-light-input-text-label-color;\n }\n fieldset[disabled] .mdlext-selectfield .mdlext-selectfield__label,\n .mdlext-selectfield.is-disabled.is-disabled .mdlext-selectfield__label {\n color: $mdlext-light-input-text-disabled-text-color;\n }\n .mdlext-selectfield--floating-label.is-focused .mdlext-selectfield__label,\n .mdlext-selectfield--floating-label.is-dirty .mdlext-selectfield__label,\n .mdlext-selectfield--floating-label.is-dirty.is-dirty .mdlext-selectfield__label,\n .mdlext-selectfield--floating-label.has-placeholder .mdlext-selectfield__label {\n color: $mdlext-light-input-text-highlight-color;\n }\n .mdlext-selectfield--floating-label.is-invalid .mdlext-selectfield__label {\n color: $mdlext-light-input-text-error-color;\n }\n .mdlext-selectfield__label::after {\n background-color: $mdlext-light-input-text-highlight-color;\n }\n .mdlext-selectfield.is-invalid .mdlext-selectfield__label::after {\n background-color: $mdlext-light-input-text-error-color;\n }\n\n .mdlext-selectfield__error {\n color: $mdlext-light-input-text-error-color;\n }\n}\n\n// mdlext/src/menu-button/_menu-button.scss\n// ----------------------------------------\n.mdlext-menu.mdlext-light-color-theme {\n background: $mdlext-light-default-dropdown-bg-color;\n}\n\n.mdlext-light-color-theme {\n\n .mdlext-menu {\n background: $mdlext-light-default-dropdown-bg-color;\n\n &__item {\n color: $mdlext-light-default-item-text-color;\n background-color: $mdlext-light-default-dropdown-bg-color;\n\n &:active,\n &[aria-selected='true'] {\n background-color: $mdlext-light-default-item-active-bg-color;\n }\n &:hover:not([disabled]) {\n background-color: $mdlext-light-default-item-hover-bg-color;\n }\n &:focus {\n outline-color: $mdlext-light-default-item-outline-color;\n background-color: $mdlext-light-default-item-focus-bg-color;\n }\n &[disabled] {\n color: $mdlext-light-disabled-item-text-color;\n\n > * {\n color: $mdlext-light-disabled-item-text-color;\n }\n }\n }\n &__item-separator {\n border-bottom: 1px solid $mdlext-light-default-item-divider-color;\n }\n }\n}\n\n\n// mdlext/src/bordered-fields/_bordered-fields.scss\n// -------------------------------------------------\n.mdlext-light-color-theme {\n\n .mdlext-bordered-fields {\n\n .mdl-textfield,\n .mdlext-selectfield {\n\n .mdl-textfield__input,\n .mdlext-selectfield__select {\n background-color: $mdlext-light-bordered-field-background-color;\n border-color: $mdlext-light-bordered-field-border-color;\n color: $mdlext-light-bordered-field-input-text-color;\n\n &:disabled {\n color: $mdlext-light-bordered-field-input-text-disabled-text-color;\n background-color: $mdlext-light-bordered-field-disabled-background-color;\n border-color: $mdlext-light-bordered-field-disabled-border-color;\n }\n &:focus {\n background-color: $mdlext-light-bordered-field-focus-background-color;\n border-color: $mdlext-light-bordered-field-focus-border-color;\n }\n }\n &.is-invalid {\n .mdl-textfield__input,\n .mdlext-selectfield__select {\n color: $mdlext-light-bordered-field-input-text-error-color;\n border-color: $mdlext-light-bordered-field-error-border-color;\n background-color: $mdlext-light-bordered-field-error-background-color;\n\n &:focus {\n border-color: $mdlext-light-bordered-field-error-focus-border-color;\n background-color: $mdlext-light-bordered-field-error-focus-background-color;\n }\n }\n }\n }\n\n fieldset[disabled] .mdlext-selectfield::after,\n .mdlext-selectfield.is-disabled::after {\n color: $mdlext-light-bordered-field-input-text-disabled-text-color;\n @include mdlext-arrow(bottom, $mdlext-selectfield-arrow-width, $mdlext-selectfield-arrow-length, $mdlext-light-bordered-field-input-text-disabled-text-color);\n }\n\n fieldset[disabled] .mdl-textfield .mdl-textfield__input,\n fieldset[disabled] .mdlext-selectfield .mdlext-selectfield__select {\n color: $mdlext-light-bordered-field-input-text-disabled-text-color;\n background-color: $mdlext-light-bordered-field-disabled-background-color;\n border-color: $mdlext-light-bordered-field-disabled-border-color;\n }\n\n .mdl-textfield,\n .mdlext-selectfield {\n\n .mdl-textfield__label,\n .mdlext-selectfield__label {\n color: $mdlext-light-bordered-field-input-text-label-color;\n }\n &.mdl-textfield--floating-label.is-focused.is-focused,\n &.mdl-textfield--floating-label.is-dirty.is-dirty,\n &.mdl-textfield--floating-label.has-placeholder,\n &.mdlext-selectfield--floating-label.is-focused.is-focused,\n &.mdlext-selectfield--floating-label.is-dirty.is-dirty,\n &.mdlext-selectfield--floating-label.has-placeholder {\n\n .mdl-textfield__label,\n .mdlext-selectfield__label {\n color: $mdlext-light-bordered-field-input-text-label-focus-color;\n }\n }\n &.mdl-textfield--floating-label.is-disabled.is-disabled,\n &.mdlext-selectfield--floating-label.is-disabled.is-disabled {\n\n .mdl-textfield__label,\n .mdlext-selectfield__label {\n color: $mdlext-light-bordered-field-input-text-label-disabled-color;\n }\n }\n &.mdl-textfield--floating-label.is-invalid.is-invalid,\n &.mdlext-selectfield--floating-label.is-invalid.is-invalid {\n\n .mdl-textfield__label,\n .mdlext-selectfield__label {\n color: $mdlext-light-bordered-field-input-text-label-error-color;\n }\n }\n }\n\n fieldset[disabled] .mdl-textfield .mdl-textfield__label,\n fieldset[disabled] .mdl-selectfield .mdl-selectfield__label {\n color: $mdlext-light-bordered-field-input-text-label-disabled-color;\n }\n\n // Icon(s) and/or button(s) inside textfield\n .mdl-textfield,\n .mdlext-selectfield {\n &.is-disabled i,\n &.is-disabled .mdl-button {\n color: $mdlext-light-bordered-field-disabled-border-color;\n }\n }\n fieldset[disabled] .mdl-textfield,\n fieldset[disabled] .mdlext-selectfield {\n i,\n .mdl-button {\n color: $mdlext-light-bordered-field-disabled-border-color;\n }\n }\n }\n}\n\n\n// mdlext/src/accordion/_accordion.scss\n// ----------------------------------------\n.mdlext-light-color-theme {\n\n .mdlext-accordion {\n\n &__tab {\n color: $mdlext-light-accordion-header-secondary-color;\n background-color: $mdlext-light-accordion-header-background-color;\n\n &:focus {\n outline-color: $mdlext-light-accordion-header-focus-outline-color;\n }\n &[aria-expanded='true'] {\n background-color: $mdlext-light-accordion-header-background-open-color;\n }\n &[aria-selected='true'] {\n background-color: $mdlext-light-accordion-header-background-active-color;\n }\n &[disabled] {\n background-color: $mdlext-light-accordion-header-disabled-color;\n color: $mdlext-light-accordion-header-secondary-color-disabled;\n pointer-events: none;\n\n > * {\n color: $mdlext-light-accordion-header-secondary-color-disabled;\n }\n }\n &:hover:not([disabled]) {\n background-color: $mdlext-light-accordion-header-background-hover-color;\n }\n &--ripple {\n &[aria-selected='true']::before {\n background: $mdlext-light-accordion-ripple-color;\n }\n }\n }\n\n &__tabpanel {\n color: $mdlext-light-accordion-content-color;\n background-color: $mdlext-light-accordion-content-background-color;\n }\n }\n\n // Vertical layout\n .mdlext-accordion {\n\n &--vertical {\n\n .mdlext-accordion__tab {\n border-top: 1px solid $mdlext-light-accordion-header-border-color;\n\n &[aria-selected='true']::after {\n background-color: $mdlext-light-accordion-header-highlight-color;\n }\n }\n .mdlext-accordion__tabpanel {\n border-top: 1px solid $mdlext-light-accordion-header-border-color;\n }\n }\n }\n\n // Horizontal layout\n .mdlext-accordion {\n\n &--horizontal {\n\n .mdlext-accordion__tab {\n border-left: 1px solid $mdlext-light-accordion-header-border-color;\n\n &[aria-selected='true']::after {\n background-color: $mdlext-light-accordion-header-highlight-color;\n }\n }\n .mdlext-accordion__tabpanel {\n border-left: 1px solid $mdlext-light-accordion-header-border-color;\n }\n }\n }\n\n .mdlext-accordion {\n\n &__panel:first-child > &__tab {\n // Use container to set outer borders\n border-top-color: transparent;\n border-left-color: transparent;\n }\n }\n\n // Making accordion appear disabled.\n // Note: does not prevent tabbing into a disabled accordion\n .mdlext-accordion[disabled] {\n .mdlext-accordion__tab {\n background-color: $mdlext-light-accordion-header-disabled-color;\n color: $mdlext-light-accordion-header-secondary-color-disabled;\n\n > * {\n color: $mdlext-light-accordion-header-secondary-color-disabled;\n }\n }\n .mdlext-accordion__tabpanel {\n opacity: 0.8;\n filter: blur(1px) grayscale(80%);\n }\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// webpack:///src/color-themes/_light-color-theme.scss","@import \"color-themes\";\n\n.mdlext-dark-color-theme {\n background-color: $mdlext-dark-content-background-color;\n color: $mdlext-dark-text-color-primary;\n a {\n outline-color: inherit;\n }\n}\n\n// mdl/src/palette/_palette.scss\n.mdlext-dark-color-theme {\n\n .mdl-color--primary {\n background-color: $mdlext-dark-color-primary !important;\n }\n\n .mdl-color--primary-contrast {\n background-color: $mdlext-dark-color-primary-contrast !important;\n }\n\n .mdl-color--primary-dark {\n background-color: $mdlext-dark-color-primary-dark !important;\n }\n\n .mdl-color--accent {\n background-color: $mdlext-dark-color-accent !important;\n }\n\n .mdl-color--accent-contrast {\n background-color: $mdlext-dark-color-accent-contrast !important;\n }\n\n .mdl-color-text--primary {\n color: $mdlext-dark-color-primary !important;\n }\n\n .mdl-color-text--primary-contrast {\n color: $mdlext-dark-color-primary-contrast !important;\n }\n\n .mdl-color-text--primary-dark {\n color: $mdlext-dark-color-primary-dark !important;\n }\n\n .mdl-color-text--accent {\n color: $mdlext-dark-color-accent !important;\n }\n\n .mdl-color-text--accent-contrast {\n color: $mdlext-dark-color-accent-contrast !important;\n }\n\n}\n\n// mdl/src/typography/_typography.scss\n.mdlext-dark-color-theme {\n a {\n color: $mdlext-dark-text-link-color;\n }\n}\n\n\n// mdl/src/badge/_badge.scss\n// ---------------------------\n.mdlext-dark-color-theme {\n .mdl-badge {\n\n &[data-badge]::after {\n background: $mdlext-dark-badge-background;\n color: $mdlext-dark-badge-color;\n }\n\n &.mdl-badge--no-background {\n &[data-badge]::after {\n color: $mdlext-dark-badge-color-inverse;\n background: $mdlext-dark-badge-background-inverse;\n }\n }\n }\n}\n\n\n// mdl/src/button/_button.scss\n// ---------------------------\n.mdlext-dark-color-theme {\n\n .mdl-button {\n background: transparent;\n color: $mdlext-dark-button-secondary-color;\n\n &:hover {\n background-color: $mdlext-dark-button-hover-color;\n }\n\n &:focus:not(:active) {\n background-color: $mdlext-dark-button-focus-color;\n }\n\n &:active {\n background-color: $mdlext-dark-button-active-color;\n }\n\n &.mdl-button--colored {\n color: $mdlext-dark-button-primary-color-alt;\n\n &:focus:not(:active) {\n background-color: $mdlext-dark-button-focus-color-alt;\n }\n }\n }\n\n // Raised buttons\n .mdl-button--raised {\n background: $mdlext-dark-button-primary-color;\n\n &:active {\n background-color: $mdlext-dark-button-active-color;\n }\n\n &:focus:not(:active) {\n background-color: $mdlext-dark-button-active-color;\n }\n\n &.mdl-button--colored {\n background: $mdlext-dark-button-primary-color-alt;\n color: $mdlext-dark-button-secondary-color-alt;\n\n &:hover {\n background-color: $mdlext-dark-button-hover-color-alt;\n }\n\n &:active {\n background-color: $mdlext-dark-button-active-color-alt;\n }\n\n &:focus:not(:active) {\n background-color: $mdlext-dark-button-active-color-alt;\n }\n\n & .mdl-ripple {\n background: $mdlext-dark-button-ripple-color-alt;\n }\n }\n }\n\n\n // FABs\n .mdl-button--fab {\n background: $mdlext-dark-button-primary-color;\n\n &:active {\n background-color: $mdlext-dark-button-active-color;\n }\n\n &:focus:not(:active) {\n background-color: $mdlext-dark-button-active-color;\n }\n\n &.mdl-button--colored {\n background: $mdlext-dark-button-fab-color-alt;\n color: $mdlext-dark-button-fab-text-color-alt;\n\n &:hover {\n background-color: $mdlext-dark-button-fab-hover-color-alt;\n }\n\n &:focus:not(:active) {\n background-color: $mdlext-dark-button-fab-active-color-alt;\n }\n\n &:active {\n background-color: $mdlext-dark-button-fab-active-color-alt;\n }\n\n & .mdl-ripple {\n background: $mdlext-dark-button-fab-ripple-color-alt;\n }\n }\n }\n\n\n // Icon buttons\n .mdl-button--icon {\n color: inherit;\n }\n\n // Colorized buttons\n\n .mdl-button--primary.mdl-button--primary {\n color: $mdlext-dark-button-primary-color-alt;\n\n & .mdl-ripple {\n background: $mdlext-dark-button-secondary-color-alt;\n }\n &.mdl-button--raised,\n &.mdl-button--fab {\n color: $mdlext-dark-button-secondary-color-alt;\n background-color: $mdlext-dark-button-primary-color-alt;\n }\n }\n\n .mdl-button--accent.mdl-button--accent {\n color: $mdlext-dark-button-fab-color-alt;\n\n & .mdl-ripple {\n background: $mdlext-dark-button-fab-text-color-alt;\n }\n &.mdl-button--raised,\n &.mdl-button--fab {\n color: $mdlext-dark-button-fab-text-color-alt;\n background-color: $mdlext-dark-button-fab-color-alt;\n }\n }\n\n // Disabled buttons\n\n .mdl-button {\n // Bump up specificity by using [disabled] twice.\n &[disabled][disabled],\n &.mdl-button--disabled.mdl-button--disabled {\n color: $mdlext-dark-button-secondary-color-disabled;\n background-color: transparent;\n }\n\n &--fab {\n // Bump up specificity by using [disabled] twice.\n &[disabled][disabled],\n &.mdl-button--disabled.mdl-button--disabled {\n background-color: $mdlext-dark-button-primary-color-disabled;\n color: $mdlext-dark-button-secondary-color-disabled;\n }\n }\n\n &--raised {\n // Bump up specificity by using [disabled] twice.\n &[disabled][disabled],\n &.mdl-button--disabled.mdl-button--disabled {\n background-color: $mdlext-dark-button-primary-color-disabled;\n color: $mdlext-dark-button-secondary-color-disabled;\n }\n }\n &--colored {\n // Bump up specificity by using [disabled] twice.\n &[disabled][disabled],\n &.mdl-button--disabled.mdl-button--disabled {\n color: $mdlext-dark-button-secondary-color-disabled;\n }\n }\n }\n}\n\n\n// mdl/src/slider/_slider.scss\n// ---------------------------\n.mdlext-dark-color-theme {\n\n .mdl-slider {\n\n &.is-upgraded {\n background: transparent;\n color: $mdlext-dark-range-color;\n\n &::-webkit-slider-runnable-track {\n background: transparent;\n }\n\n &::-moz-range-track {\n background: transparent;\n }\n\n &::-ms-track {\n background: none;\n color: transparent;\n }\n\n /* stylelint-disable */\n &::-ms-fill-lower {\n background: linear-gradient(\n to right,\n transparent,\n transparent 16px,\n $mdlext-dark-range-color 16px,\n $mdlext-dark-range-color 0\n );\n }\n\n &::-ms-fill-upper {\n background: linear-gradient(\n to left,\n transparent,\n transparent 16px,\n $mdlext-dark-range-bg-color 16px,\n $mdlext-dark-range-bg-color 0);\n }\n /* stylelint-enable */\n\n &::-webkit-slider-thumb {\n background: $mdlext-dark-range-color;\n }\n\n &::-moz-range-thumb {\n background: $mdlext-dark-range-color;\n }\n\n &:focus:not(:active)::-webkit-slider-thumb {\n box-shadow: 0 0 0 10px $mdlext-dark-range-faded-color;\n }\n\n &:focus:not(:active)::-moz-range-thumb {\n box-shadow: 0 0 0 10px $mdlext-dark-range-faded-color;\n }\n\n &:active::-webkit-slider-thumb {\n background: $mdlext-dark-range-color;\n }\n\n &:active::-moz-range-thumb {\n background: $mdlext-dark-range-color;\n }\n\n &::-ms-thumb {\n background: $mdlext-dark-range-color;\n }\n\n /* stylelint-disable */\n &:focus:not(:active)::-ms-thumb {\n background: radial-gradient(circle closest-side,\n $mdlext-dark-range-color 0%,\n $mdlext-dark-range-color 37.5%,\n $mdlext-dark-range-faded-color 37.5%,\n $mdlext-dark-range-faded-color 100%);\n }\n /* stylelint-enable */\n\n &:active::-ms-thumb {\n background: $mdlext-dark-range-color;\n }\n\n\n /**************************** 0-value ****************************/\n\n &.is-lowest-value::-webkit-slider-thumb {\n border-color: $mdlext-dark-range-color;\n background: transparent;\n }\n\n &.is-lowest-value::-moz-range-thumb {\n border-color: $mdlext-dark-range-bg-color;\n background: transparent;\n }\n\n &.is-lowest-value:focus:not(:active)::-webkit-slider-thumb {\n box-shadow: 0 0 0 10px $mdlext-dark-range-bg-focus-color;\n background: $mdlext-dark-range-bg-focus-color;\n }\n\n &.is-lowest-value:focus:not(:active)::-moz-range-thumb {\n box-shadow: 0 0 0 10px $mdlext-dark-range-bg-focus-color;\n background: $mdlext-dark-range-bg-focus-color;\n }\n\n &.is-lowest-value:active::-webkit-slider-thumb {\n border-color: $mdlext-dark-range-bg-color;\n }\n\n &.is-lowest-value:active::-moz-range-thumb {\n border-color: $mdlext-dark-range-bg-color;\n }\n\n /* stylelint-disable */\n &.is-lowest-value::-ms-thumb {\n background: radial-gradient(circle closest-side,\n transparent 0%,\n transparent 66.67%,\n $mdlext-dark-range-bg-color 66.67%,\n $mdlext-dark-range-bg-color 100%);\n }\n\n &.is-lowest-value:focus:not(:active)::-ms-thumb {\n background: radial-gradient(circle closest-side,\n $mdlext-dark-range-bg-focus-color 0%,\n $mdlext-dark-range-bg-focus-color 25%,\n $mdlext-dark-range-bg-color 25%,\n $mdlext-dark-range-bg-color 37.5%,\n $mdlext-dark-range-bg-focus-color 37.5%,\n $mdlext-dark-range-bg-focus-color 100%);\n }\n\n &.is-lowest-value:active::-ms-thumb {\n background: radial-gradient(circle closest-side,\n transparent 0%,\n transparent 77.78%,\n $mdlext-dark-range-bg-color 77.78%,\n $mdlext-dark-range-bg-color 100%);\n }\n /* stylelint-enable */\n\n &.is-lowest-value::-ms-fill-lower {\n background: transparent;\n }\n\n /**************************** Disabled ****************************/\n\n &:disabled:focus::-webkit-slider-thumb,\n &:disabled:active::-webkit-slider-thumb,\n &:disabled::-webkit-slider-thumb {\n background: $mdlext-dark-range-bg-color;\n }\n\n &:disabled:focus::-moz-range-thumb,\n &:disabled:active::-moz-range-thumb,\n &:disabled::-moz-range-thumb {\n background: $mdlext-dark-range-bg-color;\n }\n\n &:disabled + .mdl-slider__background-flex > .mdl-slider__background-lower {\n background-color: $mdlext-dark-range-bg-color;\n }\n\n &.is-lowest-value:disabled:focus::-webkit-slider-thumb,\n &.is-lowest-value:disabled:active::-webkit-slider-thumb,\n &.is-lowest-value:disabled::-webkit-slider-thumb {\n border-color: $mdlext-dark-range-bg-color;\n background: transparent;\n }\n\n &.is-lowest-value:disabled:focus::-moz-range-thumb,\n &.is-lowest-value:disabled:active::-moz-range-thumb,\n &.is-lowest-value:disabled::-moz-range-thumb {\n border-color: $mdlext-dark-range-bg-color;\n background: transparent;\n }\n\n &:disabled:focus::-ms-thumb,\n &:disabled:active::-ms-thumb,\n &:disabled::-ms-thumb {\n background: $mdlext-dark-range-bg-color;\n }\n\n /* stylelint-disable */\n &.is-lowest-value:disabled:focus::-ms-thumb,\n &.is-lowest-value:disabled:active::-ms-thumb,\n &.is-lowest-value:disabled::-ms-thumb {\n background: radial-gradient(circle closest-side,\n transparent 0%,\n transparent 50%,\n $mdlext-dark-range-bg-color 50%,\n $mdlext-dark-range-bg-color 100%);\n }\n\n &:disabled::-ms-fill-lower {\n background: linear-gradient(to right,\n transparent,\n transparent 25px,\n $mdlext-dark-range-bg-color 25px,\n $mdlext-dark-range-bg-color 0);\n }\n /* stylelint-enable */\n\n }\n }\n\n .mdl-slider__background-flex {\n background: transparent;\n }\n\n .mdl-slider__background-lower {\n background: $mdlext-dark-range-color;\n }\n\n // This one styles the upper part of the slider track.\n .mdl-slider__background-upper {\n background: $mdlext-dark-range-bg-color;\n }\n}\n\n\n// mdl/src/textfield/_textfield.scss\n// -----------------------------------\n.mdlext-dark-color-theme {\n\n .mdl-textfield__input {\n border-bottom-color: $mdlext-dark-input-text-bottom-border-color;\n }\n .mdl-textfield.is-invalid .mdl-textfield__input {\n border-color: $mdlext-dark-input-text-error-color;\n }\n fieldset[disabled] .mdl-textfield .mdl-textfield__input,\n .mdl-textfield.is-disabled .mdl-textfield__input {\n background-color: transparent;\n border-bottom-color: $mdlext-dark-input-text-disabled-color;\n color: $mdlext-dark-input-text-disabled-text-color;\n }\n .mdl-textfield__label {\n color: $mdlext-dark-input-text-label-color;\n }\n .mdl-textfield__label::after {\n background-color: $mdlext-dark-input-text-highlight-color;\n }\n fieldset[disabled] .mdl-textfield .mdl-textfield__label,\n .mdl-textfield.is-disabled.is-disabled .mdl-textfield__label {\n color: $mdlext-dark-input-text-disabled-text-color;\n }\n .mdl-textfield--floating-label.is-focused .mdl-textfield__label,\n .mdl-textfield--floating-label.is-dirty .mdl-textfield__label,\n .mdl-textfield--floating-label.has-placeholder .mdl-textfield__label {\n color: $mdlext-dark-input-text-highlight-color;\n }\n .mdl-textfield--floating-label.is-invalid .mdl-textfield__label {\n color: $mdlext-dark-input-text-error-color;\n }\n .mdl-textfield.is-invalid .mdl-textfield__label::after {\n background-color: $mdlext-dark-input-text-error-color;\n }\n .mdl-textfield__error {\n color: $mdlext-dark-input-text-error-color;\n }\n}\n\n\n// mdl/src/checkbox/_checkbox.scss\n// -----------------------------------\n.mdlext-dark-color-theme {\n\n .mdl-checkbox__box-outline {\n border-color: $mdlext-dark-checkbox-off-color;\n }\n .mdl-checkbox.is-checked .mdl-checkbox__box-outline {\n border-color: $mdlext-dark-checkbox-color;\n }\n fieldset[disabled] .mdl-checkbox .mdl-checkbox__box-outline,\n .mdl-checkbox.is-disabled .mdl-checkbox__box-outline {\n border-color: $mdlext-dark-checkbox-disabled-color;\n }\n\n .mdl-checkbox__focus-helper {\n background-color: transparent;\n }\n .mdl-checkbox.is-focused.is-checked .mdl-checkbox__focus-helper {\n box-shadow: 0 0 0 ($checkbox-button-size / 2) $mdlext-dark-checkbox-focus-color;\n background-color: $mdlext-dark-checkbox-focus-color;\n }\n\n .mdl-checkbox__tick-outline {\n background: transparent;\n }\n .mdl-checkbox.is-checked .mdl-checkbox__tick-outline {\n background-color: $mdlext-dark-checkbox-color;\n }\n fieldset[disabled] .mdl-checkbox.is-checked .mdl-checkbox__tick-outline,\n .mdl-checkbox.is-checked.is-disabled .mdl-checkbox__tick-outline {\n background-color: $mdlext-dark-checkbox-disabled-color;\n }\n\n fieldset[disabled] .mdl-checkbox .mdl-checkbox__label,\n .mdl-checkbox.is-disabled .mdl-checkbox__label {\n color: $mdlext-dark-checkbox-disabled-color;\n }\n\n .mdl-checkbox__ripple-container .mdl-ripple {\n background: $mdlext-dark-checkbox-color;\n }\n fieldset[disabled] .mdl-checkbox .mdl-checkbox__ripple-container .mdl-ripple,\n .mdl-checkbox.is-disabled .mdl-checkbox__ripple-container .mdl-ripple {\n background: transparent;\n }\n\n}\n\n// mdl/src/radio/_radio.scss\n// -----------------------------------\n.mdlext-dark-color-theme {\n .mdl-radio__outer-circle {\n border-color: $mdlext-dark-radio-off-color;\n }\n .mdl-radio.is-checked .mdl-radio__outer-circle {\n border-color: $mdlext-dark-radio-color;\n }\n .mdl-radio__outer-circle fieldset[disabled] .mdl-radio,\n .mdl-radio.is-disabled .mdl-radio__outer-circle {\n border-color: $mdlext-dark-radio-disabled-color;\n }\n\n .mdl-radio__inner-circle {\n background: $mdlext-dark-radio-color;\n }\n fieldset[disabled] .mdl-radio .mdl-radio__inner-circle,\n .mdl-radio.is-disabled .mdl-radio__inner-circle {\n background: $mdlext-dark-radio-disabled-color;\n }\n\n fieldset[disabled] .mdl-radio .mdl-radio__label,\n .mdl-radio.is-disabled .mdl-radio__label {\n color: $mdlext-dark-radio-disabled-color;\n }\n\n .mdl-radio__ripple-container .mdl-ripple {\n background: $mdlext-dark-radio-color;\n }\n fieldset[disabled] .mdl-radio .mdl-radio__ripple-container .mdl-ripple,\n .mdl-radio.is-disabled .mdl-radio__ripple-container .mdl-ripple {\n background: transparent;\n }\n}\n\n// mdl/src/icon-togglr/_icon-toggle.scss\n// ---------------------------------------\n.mdlext-dark-color-theme {\n .mdl-icon-toggle__label {\n color: $mdlext-dark-icon-toggle-color;\n }\n .mdl-icon-toggle.is-checked .mdl-icon-toggle__label {\n color: $mdlext-dark-icon-toggle-checked-color;\n }\n .mdl-icon-toggle.is-disabled .mdl-icon-toggle__label {\n color: $mdlext-dark-icon-toggle-disabled-color;\n }\n .mdl-icon-toggle.is-focused .mdl-icon-toggle__label {\n background-color: $mdlext-dark-icon-toggle-focus-color;\n }\n .mdl-icon-toggle.is-focused.is-checked .mdl-icon-toggle__label {\n background-color: $mdlext-dark-icon-toggle-checked-focus-color;\n }\n .mdl-icon-toggle__ripple-container .mdl-ripple {\n background: $mdlext-dark-icon-toggle-color;\n }\n .mdl-icon-toggle.is-disabled .mdl-icon-toggle__ripple-container .mdl-ripple {\n background: transparent;\n }\n}\n\n\n// mdl/src/switch/_switch.scss\n// -----------------------------------\n.mdlext-dark-color-theme {\n\n .mdl-switch__track {\n background: $mdlext-dark-switch-off-track-color;\n }\n .mdl-switch.is-checked .mdl-switch__track {\n background: $mdlext-dark-switch-track-color;\n }\n .mdl-switch__track fieldset[disabled] .mdl-switch,\n .mdl-switch.is-disabled .mdl-switch__track {\n background: $mdlext-dark-switch-disabled-track-color;\n }\n\n .mdl-switch__thumb {\n background: $mdlext-dark-switch-off-thumb-color;\n }\n .mdl-switch.is-checked .mdl-switch__thumb {\n background: $mdlext-dark-switch-thumb-color;\n }\n .mdl-switch__thumb fieldset[disabled] .mdl-switch,\n .mdl-switch.is-disabled .mdl-switch__thumb {\n background: $mdlext-dark-switch-disabled-thumb-color;\n }\n\n .mdl-switch__focus-helper {\n background-color: transparent;\n }\n .mdl-switch.is-focused .mdl-switch__focus-helper {\n background-color: rgba(0, 0, 0, 0.1);\n }\n .mdl-switch.is-focused.is-checked .mdl-switch__focus-helper {\n box-shadow: 0 0 0 (($switch-ripple-size - $switch-helper-size) / 2) $mdlext-dark-switch-faded-color;\n background-color: $mdlext-dark-switch-faded-color;\n }\n\n .mdl-switch__label fieldset[disabled] .mdl-switch,\n .mdl-switch.is-disabled .mdl-switch__label {\n color: $mdlext-dark-switch-disabled-thumb-color;\n }\n\n .mdl-switch__ripple-container .mdl-ripple {\n background: $mdlext-dark-switch-color;\n }\n fieldset[disabled] .mdl-switch .mdl-switch__ripple-container .mdl-ripple,\n .mdl-switch.is-disabled .mdl-switch__ripple-container .mdl-ripple {\n background: transparent;\n }\n\n}\n\n\n// mdl/src/data-table/_data-table.scss\n// -----------------------------------\n.mdlext-dark-color-theme {\n\n .mdl-data-table {\n border-color: $mdlext-dark-data-table-divider-color;\n background-color: $mdlext-dark-data-table-background-color;\n\n tbody {\n tr {\n &.is-selected {\n background-color: $mdlext-dark-data-table-selection-color;\n }\n\n &:hover {\n background-color: $mdlext-dark-data-table-hover-color;\n }\n }\n }\n\n th {\n color: $mdlext-dark-data-table-header-color;\n\n &.mdl-data-table__header--sorted-ascending,\n &.mdl-data-table__header--sorted-descending {\n color: $mdlext-dark-data-table-header-sorted-color;\n\n &:hover {\n &::before {\n color: $mdlext-dark-data-table-header-sorted-icon-hover-color;\n }\n }\n }\n }\n }\n}\n\n// mdl/src/menu/_menu.scss\n// -----------------------------------\n.mdlext-dark-color-theme {\n\n .mdl-menu__outline {\n background: $mdlext-dark-default-dropdown-bg-color;\n }\n\n .mdl-menu__item {\n color: $mdlext-dark-default-item-text-color;\n background-color: transparent;\n outline-color: $mdlext-dark-default-item-outline-color;\n\n &--full-bleed-divider {\n border-bottom-color: $mdlext-dark-default-item-divider-color;\n }\n\n &[disabled],\n &[data-mdl-disabled] {\n color: $mdlext-dark-disabled-item-text-color;\n background-color: transparent;\n\n &:hover {\n background-color: transparent;\n }\n\n &:focus {\n background-color: transparent;\n }\n\n & .mdl-ripple {\n background: transparent;\n }\n }\n\n &:hover {\n background-color: $mdlext-dark-default-item-hover-bg-color;\n }\n\n &:focus {\n background-color: $mdlext-dark-default-item-focus-bg-color;\n }\n\n &:active {\n background-color: $mdlext-dark-default-item-active-bg-color;\n }\n }\n}\n\n// mdl/src/card/_card.scss\n// ----------------------------------------\n.mdlext-dark-color-theme {\n .mdl-card {\n background: $mdlext-dark-card-background-color;\n }\n\n .mdl-card__media {\n background-color: $mdlext-dark-card-image-placeholder-color;\n }\n\n .mdl-card__title {\n color: $mdlext-dark-card-text-color;\n\n &.mdl-card--border {\n border-bottom-color: $mdlext-dark-card-border-color;\n }\n }\n\n .mdl-card__title-text {\n color: inherit;\n }\n\n .mdl-card__subtitle-text {\n color: $mdlext-dark-card-subtitle-color;\n }\n\n .mdl-card__supporting-text {\n color: $mdlext-dark-card-supporting-text-text-color;\n }\n\n .mdl-card__actions {\n background-color: rgba(255, 255, 255, 0);\n\n &.mdl-card--border {\n border-top-color: $mdlext-dark-card-border-color;\n }\n }\n}\n\n\n// mdlext/src/selectfield/_selectfield.scss\n// ----------------------------------------\n.mdlext-dark-color-theme {\n\n .mdlext-selectfield.is-disabled::after {\n color: $mdlext-dark-input-text-disabled-color;\n @include mdlext-arrow(bottom, $mdlext-selectfield-arrow-width, $mdlext-selectfield-arrow-length, $mdlext-dark-input-text-disabled-color);\n }\n\n .mdlext-selectfield__select {\n border-bottom-color: $mdlext-dark-input-text-bottom-border-color;\n color: inherit;\n\n option {\n background-color: $mdlext-dark-content-background-color;\n color: $mdlext-dark-text-color-primary;\n }\n }\n .mdlext-selectfield.is-invalid .mdlext-selectfield__select {\n border-color: $mdlext-dark-input-text-error-color;\n }\n fieldset[disabled] .mdlext-selectfield .mdlext-selectfield__select,\n .mdlext-selectfield.is-disabled .mdlext-selectfield__select {\n background-color: transparent;\n border-bottom-color: $mdlext-dark-input-text-disabled-color;\n color: $mdlext-dark-input-text-disabled-text-color;\n }\n\n .mdlext-selectfield__label {\n color: $mdlext-dark-input-text-label-color;\n }\n fieldset[disabled] .mdlext-selectfield .mdlext-selectfield__label,\n .mdlext-selectfield.is-disabled.is-disabled .mdlext-selectfield__label {\n color: $mdlext-dark-input-text-disabled-text-color;\n }\n .mdlext-selectfield--floating-label.is-focused .mdlext-selectfield__label,\n .mdlext-selectfield--floating-label.is-dirty .mdlext-selectfield__label,\n .mdlext-selectfield--floating-label.is-dirty.is-dirty .mdlext-selectfield__label,\n .mdlext-selectfield--floating-label.has-placeholder .mdlext-selectfield__label {\n color: $mdlext-dark-input-text-highlight-color;\n }\n .mdlext-selectfield--floating-label.is-invalid .mdlext-selectfield__label {\n color: $mdlext-dark-input-text-error-color;\n }\n .mdlext-selectfield__label::after {\n background-color: $mdlext-dark-input-text-highlight-color;\n }\n .mdlext-selectfield.is-invalid .mdlext-selectfield__label::after {\n background-color: $mdlext-dark-input-text-error-color;\n }\n\n .mdlext-selectfield__error {\n color: $mdlext-dark-input-text-error-color;\n }\n}\n\n\n// mdlext/src/menu-button/_menu-button.scss\n// ----------------------------------------\n.mdlext-menu.mdlext-dark-color-theme {\n background: $mdlext-dark-default-dropdown-bg-color;\n}\n\n.mdlext-dark-color-theme {\n\n .mdlext-menu {\n background: $mdlext-dark-default-dropdown-bg-color;\n\n &__item {\n color: $mdlext-dark-default-item-text-color;\n background-color: $mdlext-dark-default-dropdown-bg-color;\n\n &:active,\n &[aria-selected='true'] {\n background-color: $mdlext-dark-default-item-active-bg-color;\n }\n &:hover:not([disabled]) {\n background-color: $mdlext-dark-default-item-hover-bg-color;\n }\n &:focus {\n outline-color: $mdlext-dark-default-item-outline-color;\n background-color: $mdlext-dark-default-item-focus-bg-color;\n }\n &[disabled] {\n color: $mdlext-dark-disabled-item-text-color;\n\n > * {\n color: $mdlext-dark-disabled-item-text-color;\n }\n }\n }\n &__item-separator {\n border-bottom: 1px solid $mdlext-dark-default-item-divider-color;\n }\n }\n}\n\n\n// mdlext/src/bordered-fields/_bordered-fields.scss\n// -------------------------------------------------\n.mdlext-dark-color-theme {\n\n .mdlext-bordered-fields {\n\n .mdl-textfield,\n .mdlext-selectfield {\n\n .mdl-textfield__input,\n .mdlext-selectfield__select {\n background-color: $mdlext-dark-bordered-field-background-color;\n border-color: $mdlext-dark-bordered-field-border-color;\n color: $mdlext-dark-bordered-field-input-text-color;\n\n &:disabled {\n color: $mdlext-dark-bordered-field-input-text-disabled-text-color;\n background-color: $mdlext-dark-bordered-field-disabled-background-color;\n border-color: $mdlext-dark-bordered-field-disabled-border-color;\n }\n &:focus {\n background-color: $mdlext-dark-bordered-field-focus-background-color;\n border-color: $mdlext-dark-bordered-field-focus-border-color;\n }\n }\n &.is-invalid {\n .mdl-textfield__input,\n .mdlext-selectfield__select {\n color: $mdlext-dark-bordered-field-input-text-error-color;\n border-color: $mdlext-dark-bordered-field-error-border-color;\n background-color: $mdlext-dark-bordered-field-error-background-color;\n\n &:focus {\n border-color: $mdlext-dark-bordered-field-error-focus-border-color;\n background-color: $mdlext-dark-bordered-field-error-focus-background-color;\n }\n }\n }\n }\n\n fieldset[disabled] .mdlext-selectfield::after,\n .mdlext-selectfield.is-disabled::after {\n color: $mdlext-dark-bordered-field-input-text-disabled-text-color;\n @include mdlext-arrow(bottom, $mdlext-selectfield-arrow-width, $mdlext-selectfield-arrow-length, $mdlext-dark-bordered-field-input-text-disabled-text-color);\n }\n\n fieldset[disabled] .mdl-textfield .mdl-textfield__input,\n fieldset[disabled] .mdlext-selectfield .mdlext-selectfield__select {\n color: $mdlext-dark-bordered-field-input-text-disabled-text-color;\n background-color: $mdlext-dark-bordered-field-disabled-background-color;\n border-color: $mdlext-dark-bordered-field-disabled-border-color;\n }\n\n .mdl-textfield,\n .mdlext-selectfield {\n\n .mdl-textfield__label,\n .mdlext-selectfield__label {\n color: $mdlext-dark-bordered-field-input-text-label-color;\n }\n &.mdl-textfield--floating-label.is-focused.is-focused,\n &.mdl-textfield--floating-label.is-dirty.is-dirty,\n &.mdl-textfield--floating-label.has-placeholder,\n &.mdlext-selectfield--floating-label.is-focused.is-focused,\n &.mdlext-selectfield--floating-label.is-dirty.is-dirty,\n &.mdlext-selectfield--floating-label.has-placeholder {\n\n .mdl-textfield__label,\n .mdlext-selectfield__label {\n color: $mdlext-dark-bordered-field-input-text-label-focus-color;\n }\n }\n &.mdl-textfield--floating-label.is-disabled.is-disabled,\n &.mdlext-selectfield--floating-label.is-disabled.is-disabled {\n\n .mdl-textfield__label,\n .mdlext-selectfield__label {\n color: $mdlext-dark-bordered-field-input-text-label-disabled-color;\n }\n }\n &.mdl-textfield--floating-label.is-invalid.is-invalid,\n &.mdlext-selectfield--floating-label.is-invalid.is-invalid {\n\n .mdl-textfield__label,\n .mdlext-selectfield__label {\n color: $mdlext-dark-bordered-field-input-text-label-error-color;\n }\n }\n }\n\n fieldset[disabled] .mdl-textfield .mdl-textfield__label,\n fieldset[disabled] .mdl-selectfield .mdl-selectfield__label {\n color: $mdlext-dark-bordered-field-input-text-label-disabled-color;\n }\n\n // Icon(s) and/or button(s) inside textfield\n .mdl-textfield,\n .mdlext-selectfield {\n &.is-disabled i,\n &.is-disabled .mdl-button {\n color: $mdlext-dark-bordered-field-disabled-border-color;\n }\n }\n fieldset[disabled] .mdl-textfield,\n fieldset[disabled] .mdlext-selectfield {\n i,\n .mdl-button {\n color: $mdlext-dark-bordered-field-disabled-border-color;\n }\n }\n }\n\n}\n\n\n// mdlext/src/accordion/_accordion.scss\n// ----------------------------------------\n.mdlext-dark-color-theme {\n\n .mdlext-accordion {\n\n &__tab {\n color: $mdlext-dark-accordion-header-secondary-color;\n background-color: $mdlext-dark-accordion-header-background-color;\n\n &:focus {\n outline-color: $mdlext-dark-accordion-header-focus-outline-color;\n }\n &[aria-expanded='true'] {\n background-color: $mdlext-dark-accordion-header-background-open-color;\n }\n &[aria-selected='true'] {\n background-color: $mdlext-dark-accordion-header-background-active-color;\n }\n &[disabled] {\n background-color: $mdlext-dark-accordion-header-disabled-color;\n color: $mdlext-dark-accordion-header-secondary-color-disabled;\n pointer-events: none;\n\n > * {\n color: $mdlext-dark-accordion-header-secondary-color-disabled;\n }\n }\n &:hover:not([disabled]) {\n background-color: $mdlext-dark-accordion-header-background-hover-color;\n }\n &--ripple {\n &[aria-selected='true']::before {\n background: $mdlext-dark-accordion-ripple-color;\n }\n }\n }\n\n &__tabpanel {\n color: $mdlext-dark-accordion-content-color;\n background-color: $mdlext-dark-accordion-content-background-color;\n }\n }\n\n // Vertical layout\n .mdlext-accordion {\n\n &--vertical {\n\n .mdlext-accordion__tab {\n border-top: 1px solid $mdlext-dark-accordion-header-border-color;\n\n &[aria-selected='true']::after {\n background-color: $mdlext-dark-accordion-header-highlight-color;\n }\n }\n .mdlext-accordion__tabpanel {\n border-top: 1px solid $mdlext-dark-accordion-header-border-color;\n }\n }\n }\n\n // Horizontal layout\n .mdlext-accordion {\n\n &--horizontal {\n\n .mdlext-accordion__tab {\n border-left: 1px solid $mdlext-dark-accordion-header-border-color;\n\n &[aria-selected='true']::after {\n background-color: $mdlext-dark-accordion-header-highlight-color;\n }\n }\n .mdlext-accordion__tabpanel {\n border-left: 1px solid $mdlext-dark-accordion-header-border-color;\n }\n }\n }\n\n .mdlext-accordion {\n\n &__panel:first-child > &__tab {\n // Use container to set outer borders\n border-top-color: transparent;\n border-left-color: transparent;\n }\n }\n\n // Making accordion appear disabled.\n // Note: does not prevent tabbing into a disabled accordion\n .mdlext-accordion[disabled] {\n .mdlext-accordion__tab {\n background-color: $mdlext-dark-accordion-header-disabled-color;\n color: $mdlext-dark-accordion-header-secondary-color-disabled;\n\n > * {\n color: $mdlext-dark-accordion-header-secondary-color-disabled;\n }\n }\n .mdlext-accordion__tabpanel {\n opacity: 0.8;\n filter: blur(1px) grayscale(80%);\n }\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// webpack:///src/color-themes/_dark-color-theme.scss"],"sourceRoot":""}
\ No newline at end of file
diff --git a/lib/mdl-ext.js.map b/lib/mdl-ext.js.map
index a93a710..3da77e8 100644
--- a/lib/mdl-ext.js.map
+++ b/lib/mdl-ext.js.map
@@ -1 +1 @@
-{"version":3,"sources":["webpack:///webpack/universalModuleDefinition?5ca6","webpack:///webpack/bootstrap 81c69dcb09cfbb28f3b4?c0bc","webpack:///./~/core-js/library/modules/_core.js?1b62","webpack:///./src/utils/constants.js?14df","webpack:///./~/core-js/library/modules/_export.js?ece2","webpack:///./~/core-js/library/modules/_wks.js?3027","webpack:///./~/core-js/library/modules/_global.js?77aa","webpack:///./~/core-js/library/modules/_an-object.js?0da3","webpack:///./~/core-js/library/modules/_iterators.js?aff7","webpack:///./~/babel-runtime/helpers/toConsumableArray.js?1825","webpack:///./~/core-js/library/modules/_descriptors.js?7051","webpack:///./~/core-js/library/modules/_fails.js?935d","webpack:///./~/core-js/library/modules/_hide.js?a6da","webpack:///./~/core-js/library/modules/_object-dp.js?4116","webpack:///./src/utils/full-throttle.js?dc07","webpack:///./src/utils/json-utils.js?45f0","webpack:///./src/utils/string-utils.js?37f8","webpack:///./~/core-js/library/modules/_has.js?d850","webpack:///./~/core-js/library/modules/_is-object.js?24c8","webpack:///./~/core-js/library/modules/_object-keys.js?f5bc","webpack:///./~/core-js/library/modules/_to-iobject.js?6946","webpack:///./~/core-js/library/modules/_to-object.js?b5c0","webpack:///./src/utils/dom-utils.js?0816","webpack:///./~/babel-runtime/helpers/classCallCheck.js?21af","webpack:///./~/babel-runtime/helpers/createClass.js?1dfe","webpack:///./~/core-js/library/modules/_defined.js?45d3","webpack:///./~/core-js/library/modules/_property-desc.js?1e86","webpack:///./~/core-js/library/modules/_shared-key.js?2a6c","webpack:///./~/core-js/library/modules/_to-integer.js?f65f","webpack:///./~/core-js/library/modules/es6.string.iterator.js?fe18","webpack:///./src/utils/easing.js?f6e9","webpack:///./src/utils/interval-function.js?c7e7","webpack:///./~/babel-runtime/core-js/get-iterator.js?1b08","webpack:///./~/babel-runtime/core-js/number/is-integer.js?14ca","webpack:///./~/babel-runtime/core-js/object/assign.js?e6ca","webpack:///./~/core-js/library/modules/_a-function.js?d53e","webpack:///./~/core-js/library/modules/_classof.js?b4b3","webpack:///./~/core-js/library/modules/_cof.js?48ea","webpack:///./~/core-js/library/modules/_ctx.js?ce00","webpack:///./~/core-js/library/modules/_dom-create.js?ab44","webpack:///./~/core-js/library/modules/_enum-bug-keys.js?7598","webpack:///./~/core-js/library/modules/_iobject.js?5cf9","webpack:///./~/core-js/library/modules/_iter-define.js?9a94","webpack:///./~/core-js/library/modules/_object-pie.js?d0d2","webpack:///./~/core-js/library/modules/_set-to-string-tag.js?c945","webpack:///./~/core-js/library/modules/_shared.js?7b6c","webpack:///./~/core-js/library/modules/_to-length.js?62a7","webpack:///./~/core-js/library/modules/_uid.js?e8cd","webpack:///./~/core-js/library/modules/core.get-iterator-method.js?9c88","webpack:///./~/core-js/library/modules/web.dom.iterable.js?bf0e","webpack:///./src/accordion/accordion.js?021c","webpack:///./src/carousel/carousel.js?7189","webpack:///./src/collapsible/collapsible.js?8da8","webpack:///./src/formatfield/formatfield.js?602e","webpack:///./src/index.js?9552","webpack:///./src/lightboard/lightboard.js?4a51","webpack:///./src/lightbox/lightbox.js?4a9b","webpack:///./src/menu-button/menu-button.js?292f","webpack:///./src/selectfield/selectfield.js?4310","webpack:///./src/sticky-header/sticky-header.js?0ce9","webpack:///./src/utils/index.js?d310","webpack:///./~/babel-runtime/core-js/array/from.js?efc2","webpack:///./~/babel-runtime/core-js/is-iterable.js?350e","webpack:///./~/babel-runtime/core-js/number/is-nan.js?f039","webpack:///./~/babel-runtime/core-js/object/define-property.js?5f70","webpack:///./~/babel-runtime/core-js/object/entries.js?41f9","webpack:///./~/babel-runtime/core-js/object/keys.js?fe06","webpack:///./~/babel-runtime/core-js/reflect/apply.js?a3c1","webpack:///./~/babel-runtime/helpers/slicedToArray.js?39c4","webpack:///./~/core-js/library/fn/array/from.js?669d","webpack:///./~/core-js/library/fn/get-iterator.js?2cf7","webpack:///./~/core-js/library/fn/is-iterable.js?0bd2","webpack:///./~/core-js/library/fn/number/is-integer.js?0be2","webpack:///./~/core-js/library/fn/number/is-nan.js?fc65","webpack:///./~/core-js/library/fn/object/assign.js?80e4","webpack:///./~/core-js/library/fn/object/define-property.js?b7d8","webpack:///./~/core-js/library/fn/object/entries.js?390f","webpack:///./~/core-js/library/fn/object/keys.js?cc3f","webpack:///./~/core-js/library/fn/reflect/apply.js?caa0","webpack:///./~/core-js/library/modules/_add-to-unscopables.js?d5e8","webpack:///./~/core-js/library/modules/_array-includes.js?6199","webpack:///./~/core-js/library/modules/_create-property.js?1ad1","webpack:///./~/core-js/library/modules/_html.js?e5af","webpack:///./~/core-js/library/modules/_ie8-dom-define.js?bd1f","webpack:///./~/core-js/library/modules/_is-array-iter.js?a4b3","webpack:///./~/core-js/library/modules/_is-integer.js?0b73","webpack:///./~/core-js/library/modules/_iter-call.js?5189","webpack:///./~/core-js/library/modules/_iter-create.js?0127","webpack:///./~/core-js/library/modules/_iter-detect.js?0a91","webpack:///./~/core-js/library/modules/_iter-step.js?e209","webpack:///./~/core-js/library/modules/_library.js?2c80","webpack:///./~/core-js/library/modules/_object-assign.js?5c0c","webpack:///./~/core-js/library/modules/_object-create.js?d8cf","webpack:///./~/core-js/library/modules/_object-dps.js?47fd","webpack:///./~/core-js/library/modules/_object-gops.js?a5fb","webpack:///./~/core-js/library/modules/_object-gpo.js?d47d","webpack:///./~/core-js/library/modules/_object-keys-internal.js?fcea","webpack:///./~/core-js/library/modules/_object-sap.js?a03e","webpack:///./~/core-js/library/modules/_object-to-array.js?ae83","webpack:///./~/core-js/library/modules/_redefine.js?1455","webpack:///./~/core-js/library/modules/_string-at.js?413a","webpack:///./~/core-js/library/modules/_to-index.js?9fd4","webpack:///./~/core-js/library/modules/_to-primitive.js?49a4","webpack:///./~/core-js/library/modules/core.get-iterator.js?aca7","webpack:///./~/core-js/library/modules/core.is-iterable.js?77cc","webpack:///./~/core-js/library/modules/es6.array.from.js?ce7d","webpack:///./~/core-js/library/modules/es6.array.iterator.js?1e09","webpack:///./~/core-js/library/modules/es6.number.is-integer.js?bf65","webpack:///./~/core-js/library/modules/es6.number.is-nan.js?a1c1","webpack:///./~/core-js/library/modules/es6.object.assign.js?9007","webpack:///./~/core-js/library/modules/es6.object.define-property.js?c82c","webpack:///./~/core-js/library/modules/es6.object.keys.js?c98f","webpack:///./~/core-js/library/modules/es6.reflect.apply.js?b3cf","webpack:///./~/core-js/library/modules/es7.object.entries.js?86f8","webpack:///./src/mdl-ext-build.scss?16f6"],"names":["VK_TAB","VK_ENTER","VK_ESC","VK_SPACE","VK_PAGE_UP","VK_PAGE_DOWN","VK_END","VK_HOME","VK_ARROW_LEFT","VK_ARROW_UP","VK_ARROW_RIGHT","VK_ARROW_DOWN","ARIA_EXPANDED","ARIA_HIDDEN","ARIA_MULTISELECTABLE","ARIA_SELECTED","IS_DIRTY","IS_DISABLED","IS_EXPANDED","IS_FOCUSED","IS_INVALID","IS_UPGRADED","DATA_UPGRADED","MDL_RIPPLE","MDL_RIPPLE_COMPONENT","MDL_RIPPLE_EFFECT","MDL_RIPPLE_EFFECT_IGNORE_EVENTS","fullThrottle","callback","context","window","throttling","args","requestAnimationFrame","jsonStringToObject","jsonString","source","s","replace","JSON","parse","e","Error","message","stringList","isString","str","flatten","list","reduce","a","b","concat","Array","isArray","objectToStrings","arg","filter","key","map","result","joinStrings","delimiter","join","randomString","n","Math","random","toString","slice","removeChildElements","element","forceReflow","lastChild","removeChild","d","style","display","moveElements","target","ownerDocument","createDocumentFragment","firstChild","appendChild","getWindowViewport","viewportWidth","max","document","documentElement","clientWidth","innerWidth","viewportHeight","clientHeight","innerHeight","isRectInsideWindowViewport","top","left","bottom","right","getScrollParents","elements","el","parentNode","cs","getComputedStyle","overflowY","overflowX","unshift","body","getParentElements","from","to","tether","controlledBy","controlRect","getBoundingClientRect","height","offsetHeight","width","offsetWidth","elementRect","dy","dx","ddy","ddx","r","offsetTop","offsetLeft","isFocusable","hasAttribute","tabindex","getAttribute","parseInt","selector","name","nodeName","test","type","toLowerCase","disabled","href","getPropertyValue","easeInOutQuad","t","c","inOutQuintic","ts","tc","MIN_INERVAL","intervalFunction","interval","lapse","cb","undefined","next","timeElapsed","execute","f","cancel","cancelAnimationFrame","start","timeStart","Date","now","loop","started","value","TypeError","immediate","ReferenceError","stop","ACCORDION","ACCORDION_VERTICAL","ACCORDION_HORIZONTAL","PANEL","PANEL_ROLE","TAB","TAB_CAPTION","TAB_ROLE","TABPANEL","TABPANEL_ROLE","RIPPLE_EFFECT","RIPPLE","ANIMATION_EFFECT","ANIMATION","MaterialExtAccordion","element_","init","accordionPanelElements","panel","tab","tabpanel","classList","contains","querySelector","prototype","commandHandler_","event","preventDefault","stopPropagation","detail","command","dispatchToggleEvent_","state","ce","CustomEvent","bubbles","cancelable","dispatchEvent","openTab_","add","setAttribute","removeAttribute","closeTab_","remove","toggleTab_","closeTabs_","openTabs_","querySelectorAll","forEach","closedItem","upgradeTab","tabElement","disableTab","enableTab","calcMaxTabCaptionWidth","tabCaption","w","children","v","maxWidth","selectTab","selectedTab","tabClickHandler","tabFocusHandler","tabpanelClickHandler","tabpanelFocusHandler","tabKeydownHandler","keyCode","nextTab","nextPanel","previousElementSibling","nextElementSibling","focus","removeEventListener","addEventListener","openTab","closeTab","toggleTab","action","bind","componentHandler","register","constructor","classAsString","cssClass","widget","MDL_RIPPLE_CONTAINER","SLIDE","ROLE","SLIDE_ROLE","MaterialExtCarousel","config_","interactive","autostart","animationLoop","scrollAnimation_","startSlideShow_","nextSlide","slide","animateScroll_","moveSlideIntoViewport_","emitSelectEvent_","nextScroll","nextDirection","direction","scrollLeft","scrollWidth","x","min","cancelSlideShow_","newPosition","newDuration","completedCallback","distance","duration","abs","command_","setAriaSelected_","slides","getSlidesInViewport_","length","keyDownHandler_","cmd","getSlide_","shiftKey","setFocus_","dragHandler_","updating","rAFDragId","startX","clientX","touches","prevX","targetElement","update","currentX","drag","endDrag","clickHandler_","focusHandler_","blurHandler_","evt","carouselRect","slidesInViewport","slideRect","removeListeners_","mdlDowngrade_","closest","addRipple_","rippleContainer","createElement","ripple","img","title","upgradeElement","stopAnimation","upgradeSlides","hasRippleEffect","getConfig","JS_COLLAPSIBLE","COLLAPSIBLE_CONTROL_CLASS","COLLAPSIBLE_GROUP_CLASS","COLLAPSIBLE_REGION_CLASS","Collapsible","controlElement_","keyDownHandler","controlElement","MouseEvent","view","clickHandler","isDisabled","p","push","find","toggle","isExpanded","dispatchToggleEvent","regions","regionElements","i","region","collapse","expand","regionId","ids","regionIds","id","role","addRegionId","initControl","initRegions","addRegionElement","addListeners","removeListeners","split","MaterialExtCollapsible","collapsible","downgrade","getControlElement","getRegionElements","addRegionElements","removeRegionElements","removeRegionElement","disableToggle","enableToggle","JS_FORMAT_FIELD","FORMAT_FIELD_COMPONENT","browserLanguage","navigator","languages","language","userLanguage","FormatField","options_","focusHandler","input","readOnly","unformatInput","blurHandler","formatValue","doReplace","RegExp","options","groupSeparator","decimalSeparator","intlGroupSeparator_","intlDecimalSeparator_","Intl","NumberFormat","locales","format","stripSeparatorsFromValue","fixSeparators","addOptions","opts","addLocale","addGrouping","toLocaleString","useGrouping","minimumFractionDigits","maximumFractionDigits","charAt","input_","MaterialExtFormatfield","formatField_","getOptions","getUnformattedValue","unformat","LIGHTBOARD_ROLE","SLIDE_TABSTOP","MaterialExtLightboard","getSlide","selectSlide_","selectedSlide","dispatchSelectEvent_","addRipple","firstSlide","lastSlide","prevSlide","keydownHandler","LIGHTBOX","LIGHTBOX_SLIDER","LIGHTBOX_SLIDER_SLIDE","STICKY_FOOTER","BUTTON","MaterialExtLightbox","dispatchAction_","buttonClickHandler_","repositionDialog_","footerHeight","footer","isSticky","reposition","dialog","fh","position","scrollTop","topValue","lightboxElement","naturalWidth","vh","imgLoadHandler_","imgDragHandler_","setStyles","properties","opacity","slider","textContent","src","button","figcaption","JS_MENU_BUTTON","MENU_BUTTON_MENU","MENU_BUTTON_MENU_ITEM","MENU_BUTTON_MENU_ITEM_SEPARATOR","menuFactory","ariaControls","removeAllSelected","selectedItem","setSelected","item","force","getSelected","isSeparator","nextItem","current","firstElementChild","previousItem","lastElementChild","firstItem","lastItem","selectItem","close","relatedTarget","explicitOriginalTarget","activeElement","shouldClose","err","touchStartHandler","open","btn","forceFocus","addWaiAria","menuitem","selected","MenuButton","openMenu","closeMenu","recalcMenuPosition","focusElement","focusElementLastScrollPosition","parseFloat","menu","positionChangeHandler","closeMenuHandler","dispatchMenuSelect","scrollElements","addFocusElement","tagName","moveElementToDocumentBody","findMenuElement","menuElement","menuElementId","addMenu","componentInstance","related","indexOf","MaterialExtMenuButton","menuButton_","getMenuElement","getSelectedMenuItem","setSelectedMenuItem","LABEL","INPUT","MaterialExtSelectfield","onFocus_","onBlur_","onReset_","updateClasses_","checkDisabled","checkValidity","checkDirty","checkFocus","select_","Boolean","disable","enable","change","label_","invalid","MDL_LAYOUT_CONTENT","IS_SCROLL_CLASS","MaterialExtStickyHeader","header_","content_","lastScrollTop_","visibleAtScrollEnd","mutationObserver_","drawing_","recalcWidth_","throttleResize","self","resizeHandler_","reposition_","currentContentScrollTop","scrollDiff","headerTop","scrollHeight","throttleScroll","scrollHandler_","updatePosition_","addMutationObserver_","MutationObserver","observe","attributes","childList","characterData","subtree","disconnect","paddingTop"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,O;ACVA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,uBAAe;AACf;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;;;;;;;;;;;;;;ACtCA,8BAA6B;AAC7B,sCAAqC,gC;;;;;;ACDrC;;;;;AAEA,KAAMA,SAAiB,CAAvB;AACA,KAAMC,WAAiB,EAAvB;AACA,KAAMC,SAAiB,EAAvB;AACA,KAAMC,WAAiB,EAAvB;AACA,KAAMC,aAAiB,EAAvB;AACA,KAAMC,eAAiB,EAAvB;AACA,KAAMC,SAAiB,EAAvB;AACA,KAAMC,UAAiB,EAAvB;AACA,KAAMC,gBAAiB,EAAvB;AACA,KAAMC,cAAiB,EAAvB;AACA,KAAMC,iBAAiB,EAAvB;AACA,KAAMC,gBAAiB,EAAvB;;AAEA,KAAMC,gBAAuB,eAA7B;AACA,KAAMC,cAAuB,aAA7B;AACA,KAAMC,uBAAuB,sBAA7B;AACA,KAAMC,gBAAuB,eAA7B;;AAEA,KAAMC,WAAgB,UAAtB;AACA,KAAMC,cAAgB,aAAtB;AACA,KAAMC,cAAgB,aAAtB;AACA,KAAMC,aAAgB,YAAtB;AACA,KAAMC,aAAgB,YAAtB;AACA,KAAMC,cAAgB,aAAtB;AACA,KAAMC,gBAAgB,eAAtB;;AAEA,KAAMC,aAAkC,YAAxC;AACA,KAAMC,uBAAkC,gBAAxC;AACA,KAAMC,oBAAkC,sBAAxC;AACA,KAAMC,kCAAkC,qCAAxC;;SAGE1B,M,GAAAA,M;SACAC,Q,GAAAA,Q;SACAC,M,GAAAA,M;SACAC,Q,GAAAA,Q;SACAC,U,GAAAA,U;SACAC,Y,GAAAA,Y;SACAC,M,GAAAA,M;SACAC,O,GAAAA,O;SACAC,a,GAAAA,a;SACAC,W,GAAAA,W;SACAC,c,GAAAA,c;SACAC,a,GAAAA,a;SACAC,a,GAAAA,a;SACAC,W,GAAAA,W;SACAC,oB,GAAAA,oB;SACAC,a,GAAAA,a;SACAC,Q,GAAAA,Q;SACAC,W,GAAAA,W;SACAC,W,GAAAA,W;SACAC,U,GAAAA,U;SACAC,U,GAAAA,U;SACAC,W,GAAAA,W;SACAC,a,GAAAA,a;SACAC,U,GAAAA,U;SACAC,oB,GAAAA,oB;SACAC,iB,GAAAA,iB;SACAC,+B,GAAAA,+B;;;;;;AC5DF;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oEAAmE;AACnE;AACA,sFAAqF;AACrF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX,UAAS;AACT;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA,gDAA+C;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA,eAAc;AACd,eAAc;AACd,eAAc;AACd,eAAc;AACd,gBAAe;AACf,gBAAe;AACf,gBAAe;AACf,iBAAgB;AAChB,0B;;;;;;AC5DA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,wB;;;;;;ACVA;AACA;AACA;AACA,wCAAuC,gC;;;;;;ACHvC;AACA;AACA;AACA;AACA,G;;;;;;ACJA,qB;;;;;;ACAA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA,8CAA6C,gBAAgB;AAC7D;AACA;;AAEA;AACA,IAAG;AACH;AACA;AACA,G;;;;;;ACpBA;AACA;AACA,kCAAiC,QAAQ,gBAAgB,UAAU,GAAG;AACtE,EAAC,E;;;;;;ACHD;AACA;AACA;AACA,IAAG;AACH;AACA;AACA,G;;;;;;ACNA;AACA;AACA;AACA;AACA,EAAC;AACD;AACA;AACA,G;;;;;;ACPA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG,UAAU;AACb;AACA;AACA;AACA,G;;;;;;;;;;;;;;;;;;ACfA;;;;;;;;;;;;;;;AAeA,KAAMC,eAAe,SAAfA,YAAe,CAACC,QAAD,EAAWC,OAAX,EAAuB;;AAE1C,OAAI,CAACA,OAAL,EAAc;AACZA,e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B;;;;;;;AClFf,mBAAkB,wD;;;;;;ACAlB,mBAAkB,wD;;;;;;ACAlB,mBAAkB,wD;;;;;;ACAlB;AACA;AACA;AACA,G;;;;;;ACHA;AACA;AACA;AACA;AACA,0BAAyB,kBAAkB,EAAE;;AAE7C;AACA;AACA;AACA;AACA,IAAG,UAAU;AACb;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,G;;;;;;ACtBA,kBAAiB;;AAEjB;AACA;AACA,G;;;;;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,G;;;;;;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA,G;;;;;;ACNA;AACA;AACA;AACA,c;;;;;;ACHA;AACA;AACA;AACA;AACA,G;;;;;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,6BAA4B,aAAa;;AAEzC;AACA;AACA;AACA;AACA;AACA,yCAAwC,oCAAoC;AAC5E,6CAA4C,oCAAoC;AAChF,MAAK,2BAA2B,oCAAoC;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAgB,mBAAmB;AACnC;AACA;AACA,kCAAiC,2BAA2B;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA,G;;;;;;ACrEA,eAAc,sB;;;;;;ACAd;AACA;AACA;;AAEA;AACA,mEAAkE,+BAA+B;AACjG,G;;;;;;ACNA;AACA;AACA,oDAAmD;AACnD;AACA,wCAAuC;AACvC,G;;;;;;ACLA;AACA;AACA;AACA;AACA,4DAA2D;AAC3D,G;;;;;;ACLA;AACA;AACA;AACA;AACA,G;;;;;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,G;;;;;;ACPA;AACA;AACA;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;AACA;AACA,4BAA2B,SAAS,mBAAmB;AACvD,gCAA+B,aAAa;AAC5C;AACA,IAAG,UAAU;AACb;AACA,G;;;;;;ACpBA;AACA,WAAU;AACV,G;;;;;;ACFA,uB;;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAkC,UAAU,EAAE;AAC9C,oBAAmB,sCAAsC;AACzD,EAAC,oCAAoC;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH,EAAC,W;;;;;;AChCD;AACA;AACA;AACA;AACA;AACA,8BAA6B;AAC7B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;;;;;;;ACxCA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,G;;;;;;ACZA,0C;;;;;;ACAA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH,G;;;;;;ACZA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,G;;;;;;AChBA;AACA;AACA;AACA;AACA;AACA,+BAA8B;AAC9B;AACA;AACA,oDAAmD,OAAO,EAAE;AAC5D,G;;;;;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA,G;;;;;;ACfA,0C;;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,G;;;;;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA,G;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,G;;;;;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA,G;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,G;;;;;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,yEAA0E,kBAAkB,EAAE;AAC9F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qDAAoD,gCAAgC;AACpF;AACA;AACA,MAAK;AACL;AACA,kCAAiC,gBAAgB;AACjD;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;;;;;;;ACpCD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,iCAAgC;AAChC,eAAc;AACd,kBAAiB;AACjB;AACA,EAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;;AAEA;AACA;AACA,6B;;;;;;ACjCA;AACA;;AAEA,+BAA8B,mCAAoC,E;;;;;;ACHlE;AACA;;AAEA;AACA;AACA;AACA;AACA,EAAC,E;;;;;;ACPD;AACA;;AAEA,2CAA0C,gCAAoC,E;;;;;;ACH9E;AACA;AACA,qEAAuE,0CAA0C,E;;;;;;ACFjH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,EAAC,E;;;;;;ACRD;AACA;AACA;AACA;AACA,sDAAmD;AACnD;AACA;AACA;AACA,sBAAqB;AACrB,EAAC;AACD;AACA;AACA;AACA;AACA;AACA,EAAC,E;;;;;;ACfD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,EAAC,E;;;;;;ACRD,0C","file":"mdl-ext.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"mdl-ext\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"mdl-ext\"] = factory();\n\telse\n\t\troot[\"mdl-ext\"] = factory();\n})(this, function() {\nreturn \n\n\n// WEBPACK FOOTER //\n// webpack/universalModuleDefinition\n\n\n// WEBPACK FOOTER //\n// webpack/universalModuleDefinition"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\texports: {},\n \t\t\tid: moduleId,\n \t\t\tloaded: false\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.loaded = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(0);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 81c69dcb09cfbb28f3b4\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 81c69dcb09cfbb28f3b4","var core = module.exports = {version: '2.4.0'};\nif(typeof __e == 'number')__e = core; // eslint-disable-line no-undef\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_core.js\n// module id = 1\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_core.js\n// module id = 1\n// module chunks = 0 1","'use strict';\n\nconst VK_TAB = 9;\nconst VK_ENTER = 13;\nconst VK_ESC = 27;\nconst VK_SPACE = 32;\nconst VK_PAGE_UP = 33;\nconst VK_PAGE_DOWN = 34;\nconst VK_END = 35;\nconst VK_HOME = 36;\nconst VK_ARROW_LEFT = 37;\nconst VK_ARROW_UP = 38;\nconst VK_ARROW_RIGHT = 39;\nconst VK_ARROW_DOWN = 40;\n\nconst ARIA_EXPANDED = 'aria-expanded';\nconst ARIA_HIDDEN = 'aria-hidden';\nconst ARIA_MULTISELECTABLE = 'aria-multiselectable';\nconst ARIA_SELECTED = 'aria-selected';\n\nconst IS_DIRTY = 'is-dirty';\nconst IS_DISABLED = 'is-disabled';\nconst IS_EXPANDED = 'is-expanded';\nconst IS_FOCUSED = 'is-focused';\nconst IS_INVALID = 'is-invalid';\nconst IS_UPGRADED = 'is-upgraded';\nconst DATA_UPGRADED = 'data-upgraded';\n\nconst MDL_RIPPLE = 'mdl-ripple';\nconst MDL_RIPPLE_COMPONENT = 'MaterialRipple';\nconst MDL_RIPPLE_EFFECT = 'mdl-js-ripple-effect';\nconst MDL_RIPPLE_EFFECT_IGNORE_EVENTS = 'mdl-js-ripple-effect--ignore-events';\n\nexport {\n VK_TAB,\n VK_ENTER,\n VK_ESC,\n VK_SPACE,\n VK_PAGE_UP,\n VK_PAGE_DOWN ,\n VK_END,\n VK_HOME,\n VK_ARROW_LEFT,\n VK_ARROW_UP,\n VK_ARROW_RIGHT,\n VK_ARROW_DOWN ,\n ARIA_EXPANDED,\n ARIA_HIDDEN,\n ARIA_MULTISELECTABLE,\n ARIA_SELECTED,\n IS_DIRTY,\n IS_DISABLED,\n IS_EXPANDED,\n IS_FOCUSED,\n IS_INVALID,\n IS_UPGRADED,\n DATA_UPGRADED ,\n MDL_RIPPLE,\n MDL_RIPPLE_COMPONENT,\n MDL_RIPPLE_EFFECT,\n MDL_RIPPLE_EFFECT_IGNORE_EVENTS\n};\n\n\n\n// WEBPACK FOOTER //\n// ./src/utils/constants.js\n\n\n// WEBPACK FOOTER //\n// ./src/utils/constants.js","var global = require('./_global')\n , core = require('./_core')\n , ctx = require('./_ctx')\n , hide = require('./_hide')\n , PROTOTYPE = 'prototype';\n\nvar $export = function(type, name, source){\n var IS_FORCED = type & $export.F\n , IS_GLOBAL = type & $export.G\n , IS_STATIC = type & $export.S\n , IS_PROTO = type & $export.P\n , IS_BIND = type & $export.B\n , IS_WRAP = type & $export.W\n , exports = IS_GLOBAL ? core : core[name] || (core[name] = {})\n , expProto = exports[PROTOTYPE]\n , target = IS_GLOBAL ? global : IS_STATIC ? global[name] : (global[name] || {})[PROTOTYPE]\n , key, own, out;\n if(IS_GLOBAL)source = name;\n for(key in source){\n // contains in native\n own = !IS_FORCED && target && target[key] !== undefined;\n if(own && key in exports)continue;\n // export native or passed\n out = own ? target[key] : source[key];\n // prevent global pollution for namespaces\n exports[key] = IS_GLOBAL && typeof target[key] != 'function' ? source[key]\n // bind timers to global for call from export context\n : IS_BIND && own ? ctx(out, global)\n // wrap global constructors for prevent change them in library\n : IS_WRAP && target[key] == out ? (function(C){\n var F = function(a, b, c){\n if(this instanceof C){\n switch(arguments.length){\n case 0: return new C;\n case 1: return new C(a);\n case 2: return new C(a, b);\n } return new C(a, b, c);\n } return C.apply(this, arguments);\n };\n F[PROTOTYPE] = C[PROTOTYPE];\n return F;\n // make static versions for prototype methods\n })(out) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n // export proto methods to core.%CONSTRUCTOR%.methods.%NAME%\n if(IS_PROTO){\n (exports.virtual || (exports.virtual = {}))[key] = out;\n // export proto methods to core.%CONSTRUCTOR%.prototype.%NAME%\n if(type & $export.R && expProto && !expProto[key])hide(expProto, key, out);\n }\n }\n};\n// type bitmap\n$export.F = 1; // forced\n$export.G = 2; // global\n$export.S = 4; // static\n$export.P = 8; // proto\n$export.B = 16; // bind\n$export.W = 32; // wrap\n$export.U = 64; // safe\n$export.R = 128; // real proto method for `library` \nmodule.exports = $export;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_export.js\n// module id = 3\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_export.js\n// module id = 3\n// module chunks = 0 1","var store = require('./_shared')('wks')\n , uid = require('./_uid')\n , Symbol = require('./_global').Symbol\n , USE_SYMBOL = typeof Symbol == 'function';\n\nvar $exports = module.exports = function(name){\n return store[name] || (store[name] =\n USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n};\n\n$exports.store = store;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_wks.js\n// module id = 4\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_wks.js\n// module id = 4\n// module chunks = 0 1","// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n ? window : typeof self != 'undefined' && self.Math == Math ? self : Function('return this')();\nif(typeof __g == 'number')__g = global; // eslint-disable-line no-undef\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_global.js\n// module id = 5\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_global.js\n// module id = 5\n// module chunks = 0 1","var isObject = require('./_is-object');\nmodule.exports = function(it){\n if(!isObject(it))throw TypeError(it + ' is not an object!');\n return it;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_an-object.js\n// module id = 6\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_an-object.js\n// module id = 6\n// module chunks = 0 1","module.exports = {};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_iterators.js\n// module id = 7\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_iterators.js\n// module id = 7\n// module chunks = 0 1","\"use strict\";\n\nexports.__esModule = true;\n\nvar _from = require(\"../core-js/array/from\");\n\nvar _from2 = _interopRequireDefault(_from);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n } else {\n return (0, _from2.default)(arr);\n }\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/babel-runtime/helpers/toConsumableArray.js\n// module id = 8\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/babel-runtime/helpers/toConsumableArray.js\n// module id = 8\n// module chunks = 0 1","// Thank's IE8 for his funny defineProperty\nmodule.exports = !require('./_fails')(function(){\n return Object.defineProperty({}, 'a', {get: function(){ return 7; }}).a != 7;\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_descriptors.js\n// module id = 9\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_descriptors.js\n// module id = 9\n// module chunks = 0 1","module.exports = function(exec){\n try {\n return !!exec();\n } catch(e){\n return true;\n }\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_fails.js\n// module id = 10\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_fails.js\n// module id = 10\n// module chunks = 0 1","var dP = require('./_object-dp')\n , createDesc = require('./_property-desc');\nmodule.exports = require('./_descriptors') ? function(object, key, value){\n return dP.f(object, key, createDesc(1, value));\n} : function(object, key, value){\n object[key] = value;\n return object;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_hide.js\n// module id = 11\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_hide.js\n// module id = 11\n// module chunks = 0 1","var anObject = require('./_an-object')\n , IE8_DOM_DEFINE = require('./_ie8-dom-define')\n , toPrimitive = require('./_to-primitive')\n , dP = Object.defineProperty;\n\nexports.f = require('./_descriptors') ? Object.defineProperty : function defineProperty(O, P, Attributes){\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if(IE8_DOM_DEFINE)try {\n return dP(O, P, Attributes);\n } catch(e){ /* empty */ }\n if('get' in Attributes || 'set' in Attributes)throw TypeError('Accessors not supported!');\n if('value' in Attributes)O[P] = Attributes.value;\n return O;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_object-dp.js\n// module id = 12\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_object-dp.js\n// module id = 12\n// module chunks = 0 1","/**\n * Since some events can fire at a high rate, the event handler should be limited to execute computationally\n * expensive operations, such as DOM modifications, inside a single rendered frame.\n * When listening to e.g. scroll and resize events, the browser tends to fire off more events per\n * second than are actually useful. For instance, if your event listener sets some element positions, then it\n * is possible for those positions to be updated multiple times in a single rendered frame. In this case, all of\n * the layout calculations triggered by setting the elements' positions will be wasted except for the one time that\n * it runs immediately prior to the browser rendering the updated layout to the screen.\n * To avoid wasting cycles, we can use requestAnimationFrame to only run the event listener once just before the page\n * is rendered to the screen.\n * *\n * @param callback the function to throttle\n * @param context optional context of this, default to global\n * @return {function(...[*])}\n */\nconst fullThrottle = (callback, context) => {\n\n if (!context) {\n context = this || window;\n }\n\n let throttling = false;\n\n return (...args) => {\n if(!throttling) {\n throttling = true;\n window.requestAnimationFrame( () => {\n throttling = false;\n return Reflect.apply(callback, context, args);\n });\n }\n };\n};\n\nexport default fullThrottle;\n\n\n\n// WEBPACK FOOTER //\n// ./src/utils/full-throttle.js\n\n\n// WEBPACK FOOTER //\n// ./src/utils/full-throttle.js","'use strict';\n\n/**\n * Converts a JSON string to object\n * @param jsonString\n * @param source\n */\nconst jsonStringToObject = (jsonString, source = {} ) => {\n const s = jsonString.replace(/'/g, '\"');\n try {\n return Object.assign(source, JSON.parse(s));\n }\n catch (e) {\n throw new Error(`Failed to parse json string: ${s}. Error: ${e.message}`);\n }\n};\n\nexport { jsonStringToObject };\n\n\n\n// WEBPACK FOOTER //\n// ./src/utils/json-utils.js\n\n\n// WEBPACK FOOTER //\n// ./src/utils/json-utils.js","'use strict';\n\n/**\n * @license\n * Copyright 2016 Leif Olsen. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * A javascript utility for conditionally creating a list of strings.\n * The function takes any number of arguments which can be a string or object.\n * Inspired by (but not copied from) JedWatson/classnames, https://github.com/JedWatson/classnames\n *\n * @param {*} args the strings and/or objects to\n * @return {Array} a list of strings\n * @example\n * // Returns ['foo', 'bar', 'baz', 'quux']\n * stringList(', ', 'foo', { bar: true, duck: false }, 'baz', { quux: true });\n * @example see the tests for more examples\n */\nconst stringList = (...args) => {\n\n const isString = str => str != null && typeof str === 'string';\n\n const flatten = list => list.reduce((a, b) => a.concat(Array.isArray(b) ? flatten(b) : b), []);\n\n const objectToStrings = arg =>\n Object.keys(arg)\n .filter(key => arg[key])\n .map(key => key);\n\n return args\n .filter(arg => !!arg)\n .map(arg => isString(arg) ? arg : objectToStrings(arg))\n .reduce((result, arg) => result.concat(Array.isArray(arg) ? flatten(arg) : arg), []);\n};\n\n/**\n * A simple javascript utility for conditionally joining strings together.\n * The function takes a delimiter string and any number of arguments which can be a string or object.\n *\n * @param delimiter delimiter to separate joined strings\n * @param {*} args the strings and/or objects to join\n * @return {String} the joined strings\n * @example\n * // Returns 'foo, bar, baz, quux'\n * joinStrings(', ', 'foo', { bar: true, duck: false }, 'baz', { quux: true });\n * @example see the tests for more examples\n */\nconst joinStrings = (delimiter = ' ', ...args) => stringList(...args).join(delimiter);\n\n/**\n * Generates a random string with a given length\n * @param n {Integer} length of generated string\n * @see http://stackoverflow.com/questions/1349404/generate-random-string-characters-in-javascript\n * @return {String} the random string\n * @example\n * // Returns e.g. 'pd781w0y'\n * randomString(8);\n * @example see the tests for more examples\n */\nconst randomString = ( n=12 ) => Array( n+1 ).join((`${Math.random().toString(36)}00000000000000000`).slice(2, 18)).slice(0, n);\n\nexport { joinStrings, randomString, stringList };\n\n\n\n\n// WEBPACK FOOTER //\n// ./src/utils/string-utils.js\n\n\n// WEBPACK FOOTER //\n// ./src/utils/string-utils.js","var hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function(it, key){\n return hasOwnProperty.call(it, key);\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_has.js\n// module id = 16\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_has.js\n// module id = 16\n// module chunks = 0 1","module.exports = function(it){\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_is-object.js\n// module id = 17\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_is-object.js\n// module id = 17\n// module chunks = 0 1","// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = require('./_object-keys-internal')\n , enumBugKeys = require('./_enum-bug-keys');\n\nmodule.exports = Object.keys || function keys(O){\n return $keys(O, enumBugKeys);\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_object-keys.js\n// module id = 18\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_object-keys.js\n// module id = 18\n// module chunks = 0 1","// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = require('./_iobject')\n , defined = require('./_defined');\nmodule.exports = function(it){\n return IObject(defined(it));\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_to-iobject.js\n// module id = 19\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_to-iobject.js\n// module id = 19\n// module chunks = 0 1","// 7.1.13 ToObject(argument)\nvar defined = require('./_defined');\nmodule.exports = function(it){\n return Object(defined(it));\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_to-object.js\n// module id = 20\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_to-object.js\n// module id = 20\n// module chunks = 0 1","/**\n * Remove child element(s)\n * element.innerHTNL = '' has a performance penality!\n * @see http://jsperf.com/empty-an-element/16\n * @see http://jsperf.com/force-reflow\n * @param element\n * @param forceReflow\n */\nconst removeChildElements = (element, forceReflow = true) => {\n\n // See: http://jsperf.com/empty-an-element/16\n while (element.lastChild) {\n element.removeChild(element.lastChild);\n }\n if(forceReflow) {\n // See: http://jsperf.com/force-reflow\n const d = element.style.display;\n\n element.style.display = 'none';\n element.style.display = d;\n }\n};\n\n/**\n * Moves child elements from a DOM node to another dom node.\n * @param source {HTMLElement}\n * @param target {HTMLElement} If the target parameter is ommited, a document fragment is created\n * @return {HTMLElement} The target node\n *\n * @example\n * // Moves child elements from a DOM node to another dom node.\n * moveElements(source, destination);\n *\n * @example\n * // If the second parameter is ommited, a document fragment is created:\n * let fragment = moveElements(source);\n *\n * @See: https://github.com/webmodules/dom-move\n */\nconst moveElements = (source, target) => {\n if (!target) {\n target = source.ownerDocument.createDocumentFragment();\n }\n while (source.firstChild) {\n target.appendChild(source.firstChild);\n }\n return target;\n};\n\n\n/**\n * Get the browser viewport dimensions\n * @see http://stackoverflow.com/questions/1248081/get-the-browser-viewport-dimensions-with-javascript\n * @return {{windowWidth: number, windowHeight: number}}\n */\nconst getWindowViewport = () => {\n return {\n viewportWidth: Math.max(document.documentElement.clientWidth || 0, window.innerWidth || 0),\n viewportHeight: Math.max(document.documentElement.clientHeight || 0, window.innerHeight || 0)\n };\n};\n\n\n/**\n * Check whether an element is in the window viewport\n * @see http://stackoverflow.com/questions/123999/how-to-tell-if-a-dom-element-is-visible-in-the-current-viewport/\n * @param top\n * @param left\n * @param bottom\n * @param right\n * @return {boolean} true if rectangle is inside window viewport, otherwise false\n */\nconst isRectInsideWindowViewport = ({ top, left, bottom, right }) => {\n const { viewportWidth, viewportHeight } = getWindowViewport();\n return top >= 0 &&\n left >= 0 &&\n bottom <= viewportHeight &&\n right <= viewportWidth;\n};\n\n\n/**\n * Get a list of parent elements that can possibly scroll\n * @param el the element to get parents for\n * @returns {Array}\n */\nconst getScrollParents = el => {\n const elements = [];\n\n /*\n for (el = el.parentNode; el; el = el.parentNode) {\n const cs = window.getComputedStyle(el);\n if(!(cs.overflowY === 'hidden' && cs.overflowX === 'hidden')) {\n elements.unshift(el);\n }\n if(el === document.body) {\n break;\n }\n }\n */\n\n let element = el.parentNode;\n while (element) {\n const cs = window.getComputedStyle(element);\n if(!(cs.overflowY === 'hidden' && cs.overflowX === 'hidden')) {\n elements.unshift(element);\n }\n if(element === document.body) {\n break;\n }\n element = element.parentNode;\n }\n\n return elements;\n};\n\n/**\n * Get a list of parent elements, from a given element to a given element\n * @param {HTMLElement} from\n * @param {HTMLElement} to\n * @return {Array} the parent elements, not including from and to\n */\nconst getParentElements = (from, to) => {\n const result = [];\n let element = from.parentNode;\n while (element) {\n if(element === to) {\n break;\n }\n result.unshift(element);\n element = element.parentNode;\n }\n return result;\n};\n\n/**\n * Position element next to button\n *\n * Positioning strategy\n * 1. element.height > viewport.height\n * let element.height = viewport.heigt\n * let element.overflow-y = auto\n * 2. element.width > viewport.width\n * let element.width = viewport.width\n * 3. position element below button, align left edge of element with button left\n * done if element inside viewport\n * 4. position element below button, align right edge of element with button right\n * done if element inside viewport\n * 5. positions element above button, aligns left edge of element with button left\n * done if element inside viewport\n * 6. position element above the control element, aligned to its right.\n * done if element inside viewport\n * 7. position element at button right hand side, aligns element top with button top\n * done if element inside viewport\n * 8. position element at button left hand side, aligns element top with button top\n * done if element inside viewport\n * 9. position element inside viewport\n * 1. position element at viewport bottom\n * 2. position element at button right hand side\n * done if element inside viewport\n * 3. position element at button left hand side\n * done if element inside viewport\n * 4. position element at viewport right\n * 10. done\n *\n */\nconst tether = (controlledBy, element) => {\n const controlRect = controlledBy.getBoundingClientRect();\n\n // 1. will element height fit inside window viewport?\n const { viewportWidth, viewportHeight } = getWindowViewport();\n\n element.style.height = 'auto';\n //element.style.overflowY = 'hidden';\n if(element.offsetHeight > viewportHeight) {\n element.style.height = `${viewportHeight}px`;\n element.style.overflowY = 'auto';\n }\n\n // 2. will element width fit inside window viewport?\n element.style.width = 'auto';\n if(element.offsetWidth > viewportWidth) {\n element.style.width = `${viewportWidth}px`;\n }\n\n const elementRect = element.getBoundingClientRect();\n\n // element to control distance\n const dy = controlRect.top - elementRect.top;\n const dx = controlRect.left - elementRect.left;\n\n // element rect, window coordinates relative to top,left of control\n const top = elementRect.top + dy;\n const left = elementRect.left + dx;\n const bottom = top + elementRect.height;\n const right = left + elementRect.width;\n\n // Position relative to control\n let ddy = dy;\n let ddx = dx;\n\n if(isRectInsideWindowViewport({\n top: top + controlRect.height,\n left: left,\n bottom: bottom + controlRect.height,\n right: right\n })) {\n // 3 position element below the control element, aligned to its left\n ddy = controlRect.height + dy;\n //console.log('***** 3');\n }\n else if(isRectInsideWindowViewport({\n top: top + controlRect.height,\n left: left + controlRect.width - elementRect.width,\n bottom: bottom + controlRect.height,\n right: left + controlRect.width\n })) {\n // 4 position element below the control element, aligned to its right\n ddy = controlRect.height + dy;\n ddx = dx + controlRect.width - elementRect.width;\n //console.log('***** 4');\n }\n else if(isRectInsideWindowViewport({\n top: top - elementRect.height,\n left: left,\n bottom: bottom - elementRect.height,\n right: right\n })) {\n // 5. position element above the control element, aligned to its left.\n ddy = dy - elementRect.height;\n //console.log('***** 5');\n }\n else if(isRectInsideWindowViewport({\n top: top - elementRect.height,\n left: left + controlRect.width - elementRect.width,\n bottom: bottom - elementRect.height,\n right: left + controlRect.width\n })) {\n // 6. position element above the control element, aligned to its right.\n ddy = dy - elementRect.height;\n ddx = dx + controlRect.width - elementRect.width;\n //console.log('***** 6');\n }\n else if(isRectInsideWindowViewport({\n top: top,\n left: left + controlRect.width,\n bottom: bottom,\n right: right + controlRect.width\n })) {\n // 7. position element at button right hand side\n ddx = controlRect.width + dx;\n //console.log('***** 7');\n }\n else if(isRectInsideWindowViewport({\n top: top,\n left: left - controlRect.width,\n bottom: bottom,\n right: right - controlRect.width\n })) {\n // 8. position element at button left hand side\n ddx = dx - elementRect.width;\n //console.log('***** 8');\n }\n else {\n // 9. position element inside viewport, near controlrect if possible\n //console.log('***** 9');\n\n // 9.1 position element near controlrect bottom\n ddy = dy - bottom + viewportHeight;\n if(top + controlRect.height >= 0 && bottom + controlRect.height <= viewportHeight) {\n ddy = controlRect.height + dy;\n }\n else if(top - elementRect.height >= 0 && bottom - elementRect.height <= viewportHeight) {\n ddy = dy - elementRect.height;\n }\n\n if(left + elementRect.width + controlRect.width <= viewportWidth) {\n // 9.2 Position element at button right hand side\n ddx = controlRect.width + dx;\n //console.log('***** 9.2');\n }\n else if(left - elementRect.width >= 0) {\n // 9.3 Position element at button left hand side\n ddx = dx - elementRect.width;\n //console.log('***** 9.3');\n }\n else {\n // 9.4 position element at (near) viewport right\n const r = left + elementRect.width - viewportWidth;\n ddx = dx - r;\n //console.log('***** 9.4');\n }\n }\n\n // 10. done\n element.style.top = `${element.offsetTop + ddy}px`;\n element.style.left = `${element.offsetLeft + ddx}px`;\n //console.log('***** 10. done');\n};\n\n/**\n * Check if the given element can receive focus\n * @param {HTMLElement} element the element to check\n * @return {boolean} true if the element is focusable, otherwise false\n */\nconst isFocusable = (element) => {\n // https://github.com/stephenmathieson/is-focusable/blob/master/index.js\n // http://stackoverflow.com/questions/1599660/which-html-elements-can-receive-focus\n\n if (element.hasAttribute('tabindex')) {\n const tabindex = element.getAttribute('tabindex');\n if (!Number.isNaN(tabindex)) {\n return parseInt(tabindex) > -1;\n }\n }\n\n if (element.hasAttribute('contenteditable') &&\n element.getAttribute('contenteditable') !== 'false') {\n // https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes#attr-contenteditable\n return true;\n }\n\n // natively focusable, but only when enabled\n const selector = /input|select|textarea|button|details/i;\n const name = element.nodeName;\n if (selector.test(name)) {\n return element.type.toLowerCase() !== 'hidden' && !element.disabled;\n }\n\n // anchors and area must have an href\n if (name === 'A' || name === 'AREA') {\n return !!element.href;\n }\n\n if (name === 'IFRAME') {\n // Check visible iframe\n const cs = window.getComputedStyle(element);\n return cs.getPropertyValue('display').toLowerCase() !== 'none';\n }\n\n return false;\n};\n\n\n/**\n * Get a list of offset parents for given element\n * @see https://www.benpickles.com/articles/51-finding-a-dom-nodes-common-ancestor-using-javascript\n * @param el the element\n * @return {Array} a list of offset parents\n */\n/*\nconst offsetParents = (el) => {\n const elements = [];\n for (; el; el = el.offsetParent) {\n elements.unshift(el);\n }\n if(!elements.find(e => e === document.body)) {\n elements.unshift(document.body);\n }\n return elements;\n};\n*/\n\n/**\n * Finds the common offset ancestor of two DOM nodes\n * @see https://www.benpickles.com/articles/51-finding-a-dom-nodes-common-ancestor-using-javascript\n * @see https://gist.github.com/benpickles/4059636\n * @param a\n * @param b\n * @return {Element} The common offset ancestor of a and b\n */\n/*\nconst commonOffsetAncestor = (a, b) => {\n const parentsA = offsetParents(a);\n const parentsB = offsetParents(b);\n\n for (let i = 0; i < parentsA.length; i++) {\n if (parentsA[i] !== parentsB[i]) return parentsA[i-1];\n }\n};\n*/\n\n/**\n * Calculate position relative to a target element\n * @see http://stackoverflow.com/questions/21064101/understanding-offsetwidth-clientwidth-scrollwidth-and-height-respectively\n * @param target\n * @param el\n * @return {{top: number, left: number}}\n */\n/*\nconst calcPositionRelativeToTarget = (target, el) => {\n let top = 0;\n let left = 0;\n\n while(el) {\n top += (el.offsetTop - el.scrollTop + el.clientTop) || 0;\n left += (el.offsetLeft - el.scrollLeft + el.clientLeft) || 0;\n el = el.offsetParent;\n\n if(el === target) {\n break;\n }\n }\n return { top: top, left: left };\n};\n*/\n\nexport {\n getWindowViewport,\n getParentElements,\n getScrollParents,\n isFocusable,\n isRectInsideWindowViewport,\n moveElements,\n removeChildElements,\n tether,\n};\n\n\n\n\n// WEBPACK FOOTER //\n// ./src/utils/dom-utils.js\n\n\n// WEBPACK FOOTER //\n// ./src/utils/dom-utils.js","\"use strict\";\n\nexports.__esModule = true;\n\nexports.default = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/babel-runtime/helpers/classCallCheck.js\n// module id = 22\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/babel-runtime/helpers/classCallCheck.js\n// module id = 22\n// module chunks = 0 1","\"use strict\";\n\nexports.__esModule = true;\n\nvar _defineProperty = require(\"../core-js/object/define-property\");\n\nvar _defineProperty2 = _interopRequireDefault(_defineProperty);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n (0, _defineProperty2.default)(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/babel-runtime/helpers/createClass.js\n// module id = 23\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/babel-runtime/helpers/createClass.js\n// module id = 23\n// module chunks = 0 1","// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function(it){\n if(it == undefined)throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_defined.js\n// module id = 24\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_defined.js\n// module id = 24\n// module chunks = 0 1","module.exports = function(bitmap, value){\n return {\n enumerable : !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable : !(bitmap & 4),\n value : value\n };\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_property-desc.js\n// module id = 25\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_property-desc.js\n// module id = 25\n// module chunks = 0 1","var shared = require('./_shared')('keys')\n , uid = require('./_uid');\nmodule.exports = function(key){\n return shared[key] || (shared[key] = uid(key));\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_shared-key.js\n// module id = 26\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_shared-key.js\n// module id = 26\n// module chunks = 0 1","// 7.1.4 ToInteger\nvar ceil = Math.ceil\n , floor = Math.floor;\nmodule.exports = function(it){\n return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_to-integer.js\n// module id = 27\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_to-integer.js\n// module id = 27\n// module chunks = 0 1","'use strict';\nvar $at = require('./_string-at')(true);\n\n// 21.1.3.27 String.prototype[@@iterator]()\nrequire('./_iter-define')(String, 'String', function(iterated){\n this._t = String(iterated); // target\n this._i = 0; // next index\n// 21.1.5.2.1 %StringIteratorPrototype%.next()\n}, function(){\n var O = this._t\n , index = this._i\n , point;\n if(index >= O.length)return {value: undefined, done: true};\n point = $at(O, index);\n this._i += point.length;\n return {value: point, done: false};\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/es6.string.iterator.js\n// module id = 28\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/es6.string.iterator.js\n// module id = 28\n// module chunks = 0 1","'use strict';\n\n// See: http://robertpenner.com/easing/\n\nconst easeInOutQuad = (t, b, c, d) => {\n t /= d / 2;\n if(t < 1) return c / 2 * t * t + b;\n t--;\n return -c / 2 * (t * (t - 2) - 1) + b;\n};\n\nconst inOutQuintic = (t, b, c, d) => {\n const ts = (t/=d)*t;\n const tc = ts*t;\n return b+c*(6*tc*ts + -15*ts*ts + 10*tc);\n};\n\nexport { easeInOutQuad, inOutQuintic };\n\n\n\n// WEBPACK FOOTER //\n// ./src/utils/easing.js\n\n\n// WEBPACK FOOTER //\n// ./src/utils/easing.js","const MIN_INERVAL = 1000/60;\n\n/**\n * Trigger a callback at a given interval\n * @param interval defaults to 1000/60 ms\n * @return {function()} reference to start, stop, immediate and started\n */\n\nconst intervalFunction = ( interval = MIN_INERVAL ) => {\n\n let lapse = interval < MIN_INERVAL ? MIN_INERVAL : interval;\n let cb = undefined;\n let next = null;\n let timeElapsed = 0;\n\n const execute = () => {\n const f = cb(timeElapsed);\n if (!f) {\n cancel();\n }\n };\n\n const cancel = () => {\n if(next) {\n window.cancelAnimationFrame(next);\n }\n next = null;\n timeElapsed = 0;\n };\n\n const start = () => {\n let timeStart = Date.now();\n\n const loop = now => {\n if (next) {\n next = window.requestAnimationFrame( () => loop( Date.now() ));\n\n timeElapsed += now - timeStart;\n\n if(timeElapsed >= lapse) {\n execute();\n if( (timeElapsed -= lapse) > lapse) {\n // time elapsed - interval_ > interval_ , indicates inactivity\n // Could be due to browser minimized, tab changed, screen saver started, computer sleep, and so on\n timeElapsed = 0;\n }\n }\n timeStart = now;\n }\n };\n\n next = 1; // a truthy value for first loop\n loop( timeStart );\n };\n\n return {\n get started() {\n return next != null;\n },\n get interval() {\n return lapse;\n },\n set interval(value) {\n lapse = value < MIN_INERVAL ? MIN_INERVAL : value;\n },\n start(callback) {\n if(typeof callback !== 'function') {\n throw new TypeError('callback parameter must be a function');\n }\n cb = callback;\n start();\n },\n immediate() {\n if(!cb) {\n throw new ReferenceError('callback parameter is not defined. Call start before immediate.');\n }\n execute();\n },\n stop: () => cancel(),\n };\n};\n\nexport default intervalFunction;\n\n\n\n// WEBPACK FOOTER //\n// ./src/utils/interval-function.js\n\n\n// WEBPACK FOOTER //\n// ./src/utils/interval-function.js","module.exports = { \"default\": require(\"core-js/library/fn/get-iterator\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/babel-runtime/core-js/get-iterator.js\n// module id = 31\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/babel-runtime/core-js/get-iterator.js\n// module id = 31\n// module chunks = 0 1","module.exports = { \"default\": require(\"core-js/library/fn/number/is-integer\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/babel-runtime/core-js/number/is-integer.js\n// module id = 32\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/babel-runtime/core-js/number/is-integer.js\n// module id = 32\n// module chunks = 0 1","module.exports = { \"default\": require(\"core-js/library/fn/object/assign\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/babel-runtime/core-js/object/assign.js\n// module id = 33\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/babel-runtime/core-js/object/assign.js\n// module id = 33\n// module chunks = 0 1","module.exports = function(it){\n if(typeof it != 'function')throw TypeError(it + ' is not a function!');\n return it;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_a-function.js\n// module id = 34\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_a-function.js\n// module id = 34\n// module chunks = 0 1","// getting tag from 19.1.3.6 Object.prototype.toString()\nvar cof = require('./_cof')\n , TAG = require('./_wks')('toStringTag')\n // ES3 wrong here\n , ARG = cof(function(){ return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function(it, key){\n try {\n return it[key];\n } catch(e){ /* empty */ }\n};\n\nmodule.exports = function(it){\n var O, T, B;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T\n // builtinTag case\n : ARG ? cof(O)\n // ES3 arguments fallback\n : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_classof.js\n// module id = 35\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_classof.js\n// module id = 35\n// module chunks = 0 1","var toString = {}.toString;\n\nmodule.exports = function(it){\n return toString.call(it).slice(8, -1);\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_cof.js\n// module id = 36\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_cof.js\n// module id = 36\n// module chunks = 0 1","// optional / simple context binding\nvar aFunction = require('./_a-function');\nmodule.exports = function(fn, that, length){\n aFunction(fn);\n if(that === undefined)return fn;\n switch(length){\n case 1: return function(a){\n return fn.call(that, a);\n };\n case 2: return function(a, b){\n return fn.call(that, a, b);\n };\n case 3: return function(a, b, c){\n return fn.call(that, a, b, c);\n };\n }\n return function(/* ...args */){\n return fn.apply(that, arguments);\n };\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_ctx.js\n// module id = 37\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_ctx.js\n// module id = 37\n// module chunks = 0 1","var isObject = require('./_is-object')\n , document = require('./_global').document\n // in old IE typeof document.createElement is 'object'\n , is = isObject(document) && isObject(document.createElement);\nmodule.exports = function(it){\n return is ? document.createElement(it) : {};\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_dom-create.js\n// module id = 38\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_dom-create.js\n// module id = 38\n// module chunks = 0 1","// IE 8- don't enum bug keys\nmodule.exports = (\n 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_enum-bug-keys.js\n// module id = 39\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_enum-bug-keys.js\n// module id = 39\n// module chunks = 0 1","// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = require('./_cof');\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function(it){\n return cof(it) == 'String' ? it.split('') : Object(it);\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_iobject.js\n// module id = 40\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_iobject.js\n// module id = 40\n// module chunks = 0 1","'use strict';\nvar LIBRARY = require('./_library')\n , $export = require('./_export')\n , redefine = require('./_redefine')\n , hide = require('./_hide')\n , has = require('./_has')\n , Iterators = require('./_iterators')\n , $iterCreate = require('./_iter-create')\n , setToStringTag = require('./_set-to-string-tag')\n , getPrototypeOf = require('./_object-gpo')\n , ITERATOR = require('./_wks')('iterator')\n , BUGGY = !([].keys && 'next' in [].keys()) // Safari has buggy iterators w/o `next`\n , FF_ITERATOR = '@@iterator'\n , KEYS = 'keys'\n , VALUES = 'values';\n\nvar returnThis = function(){ return this; };\n\nmodule.exports = function(Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED){\n $iterCreate(Constructor, NAME, next);\n var getMethod = function(kind){\n if(!BUGGY && kind in proto)return proto[kind];\n switch(kind){\n case KEYS: return function keys(){ return new Constructor(this, kind); };\n case VALUES: return function values(){ return new Constructor(this, kind); };\n } return function entries(){ return new Constructor(this, kind); };\n };\n var TAG = NAME + ' Iterator'\n , DEF_VALUES = DEFAULT == VALUES\n , VALUES_BUG = false\n , proto = Base.prototype\n , $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT]\n , $default = $native || getMethod(DEFAULT)\n , $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined\n , $anyNative = NAME == 'Array' ? proto.entries || $native : $native\n , methods, key, IteratorPrototype;\n // Fix native\n if($anyNative){\n IteratorPrototype = getPrototypeOf($anyNative.call(new Base));\n if(IteratorPrototype !== Object.prototype){\n // Set @@toStringTag to native iterators\n setToStringTag(IteratorPrototype, TAG, true);\n // fix for some old engines\n if(!LIBRARY && !has(IteratorPrototype, ITERATOR))hide(IteratorPrototype, ITERATOR, returnThis);\n }\n }\n // fix Array#{values, @@iterator}.name in V8 / FF\n if(DEF_VALUES && $native && $native.name !== VALUES){\n VALUES_BUG = true;\n $default = function values(){ return $native.call(this); };\n }\n // Define iterator\n if((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])){\n hide(proto, ITERATOR, $default);\n }\n // Plug for library\n Iterators[NAME] = $default;\n Iterators[TAG] = returnThis;\n if(DEFAULT){\n methods = {\n values: DEF_VALUES ? $default : getMethod(VALUES),\n keys: IS_SET ? $default : getMethod(KEYS),\n entries: $entries\n };\n if(FORCED)for(key in methods){\n if(!(key in proto))redefine(proto, key, methods[key]);\n } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n }\n return methods;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_iter-define.js\n// module id = 41\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_iter-define.js\n// module id = 41\n// module chunks = 0 1","exports.f = {}.propertyIsEnumerable;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_object-pie.js\n// module id = 42\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_object-pie.js\n// module id = 42\n// module chunks = 0 1","var def = require('./_object-dp').f\n , has = require('./_has')\n , TAG = require('./_wks')('toStringTag');\n\nmodule.exports = function(it, tag, stat){\n if(it && !has(it = stat ? it : it.prototype, TAG))def(it, TAG, {configurable: true, value: tag});\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_set-to-string-tag.js\n// module id = 43\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_set-to-string-tag.js\n// module id = 43\n// module chunks = 0 1","var global = require('./_global')\n , SHARED = '__core-js_shared__'\n , store = global[SHARED] || (global[SHARED] = {});\nmodule.exports = function(key){\n return store[key] || (store[key] = {});\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_shared.js\n// module id = 44\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_shared.js\n// module id = 44\n// module chunks = 0 1","// 7.1.15 ToLength\nvar toInteger = require('./_to-integer')\n , min = Math.min;\nmodule.exports = function(it){\n return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_to-length.js\n// module id = 45\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_to-length.js\n// module id = 45\n// module chunks = 0 1","var id = 0\n , px = Math.random();\nmodule.exports = function(key){\n return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_uid.js\n// module id = 46\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_uid.js\n// module id = 46\n// module chunks = 0 1","var classof = require('./_classof')\n , ITERATOR = require('./_wks')('iterator')\n , Iterators = require('./_iterators');\nmodule.exports = require('./_core').getIteratorMethod = function(it){\n if(it != undefined)return it[ITERATOR]\n || it['@@iterator']\n || Iterators[classof(it)];\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/core.get-iterator-method.js\n// module id = 47\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/core.get-iterator-method.js\n// module id = 47\n// module chunks = 0 1","require('./es6.array.iterator');\nvar global = require('./_global')\n , hide = require('./_hide')\n , Iterators = require('./_iterators')\n , TO_STRING_TAG = require('./_wks')('toStringTag');\n\nfor(var collections = ['NodeList', 'DOMTokenList', 'MediaList', 'StyleSheetList', 'CSSRuleList'], i = 0; i < 5; i++){\n var NAME = collections[i]\n , Collection = global[NAME]\n , proto = Collection && Collection.prototype;\n if(proto && !proto[TO_STRING_TAG])hide(proto, TO_STRING_TAG, NAME);\n Iterators[NAME] = Iterators.Array;\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/web.dom.iterable.js\n// module id = 48\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/web.dom.iterable.js\n// module id = 48\n// module chunks = 0 1","/**\n * @license\n * Copyright 2016 Leif Olsen. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * This code is built with Google Material Design Lite,\n * which is Licensed under the Apache License, Version 2.0\n */\n\n/**\n * A WAI-ARIA friendly accordion component.\n * An accordion is a collection of expandable panels associated with a common outer container. Panels consist\n * of a header and an associated content region or tabpanel. The primary use of an Accordion is to present multiple sections\n * of content on a single page without scrolling, where all of the sections are peers in the application or object hierarchy.\n * The general look is similar to a tree where each root tree node is an expandable accordion header. The user navigates\n * and makes the contents of each panel visible (or not) by interacting with the Accordion Header\n */\n\nimport {\n VK_ENTER,\n VK_SPACE,\n VK_END,\n VK_HOME,\n VK_ARROW_LEFT,\n VK_ARROW_UP,\n VK_ARROW_RIGHT,\n VK_ARROW_DOWN,\n IS_EXPANDED,\n IS_UPGRADED,\n ARIA_MULTISELECTABLE,\n ARIA_EXPANDED,\n ARIA_HIDDEN,\n ARIA_SELECTED\n} from '../utils/constants';\n\n\n(function() {\n 'use strict';\n const ACCORDION = 'mdlext-accordion';\n const ACCORDION_VERTICAL = 'mdlext-accordion--vertical';\n const ACCORDION_HORIZONTAL = 'mdlext-accordion--horizontal';\n const PANEL = 'mdlext-accordion__panel';\n const PANEL_ROLE = 'presentation';\n const TAB = 'mdlext-accordion__tab';\n const TAB_CAPTION = 'mdlext-accordion__tab__caption';\n const TAB_ROLE = 'tab';\n const TABPANEL = 'mdlext-accordion__tabpanel';\n const TABPANEL_ROLE = 'tabpanel';\n const RIPPLE_EFFECT = 'mdlext-js-ripple-effect';\n const RIPPLE = 'mdlext-accordion__tab--ripple';\n const ANIMATION_EFFECT = 'mdlext-js-animation-effect';\n const ANIMATION = 'mdlext-accordion__tabpanel--animation';\n\n /**\n * @constructor\n * @param {Element} element The element that will be upgraded.\n */\n const MaterialExtAccordion = function MaterialExtAccordion( element ) {\n\n // Stores the Accordion HTML element.\n this.element_ = element;\n\n // Initialize instance.\n this.init();\n };\n window['MaterialExtAccordion'] = MaterialExtAccordion;\n\n\n // Helpers\n const accordionPanelElements = ( element ) => {\n if(!element) {\n return {\n panel: null,\n tab: null,\n tabpanel: null\n };\n }\n else if (element.classList.contains(PANEL)) {\n return {\n panel: element,\n tab: element.querySelector(`.${TAB}`),\n tabpanel: element.querySelector(`.${TABPANEL}`)\n };\n }\n else {\n return {\n panel: element.parentNode,\n tab: element.parentNode.querySelector(`.${TAB}`),\n tabpanel: element.parentNode.querySelector(`.${TABPANEL}`)\n };\n }\n };\n\n\n // Private methods.\n\n /**\n * Handles custom command event, 'open', 'close', 'toggle' or upgrade\n * @param event. A custom event\n * @private\n */\n MaterialExtAccordion.prototype.commandHandler_ = function( event ) {\n event.preventDefault();\n event.stopPropagation();\n\n if(event && event.detail) {\n this.command(event.detail);\n }\n };\n\n /**\n * Dispatch toggle event\n * @param {string} state\n * @param {Element} tab\n * @param {Element} tabpanel\n * @private\n */\n MaterialExtAccordion.prototype.dispatchToggleEvent_ = function ( state, tab, tabpanel ) {\n const ce = new CustomEvent('toggle', {\n bubbles: true,\n cancelable: true,\n detail: { state: state, tab: tab, tabpanel: tabpanel }\n });\n this.element_.dispatchEvent(ce);\n };\n\n /**\n * Open tab\n * @param {Element} panel\n * @param {Element} tab\n * @param {Element} tabpanel\n * @private\n */\n MaterialExtAccordion.prototype.openTab_ = function( panel, tab, tabpanel ) {\n panel.classList.add(IS_EXPANDED);\n tab.setAttribute(ARIA_EXPANDED, 'true');\n tabpanel.removeAttribute('hidden');\n tabpanel.setAttribute(ARIA_HIDDEN, 'false');\n this.dispatchToggleEvent_('open', tab, tabpanel);\n };\n\n /**\n * Close tab\n * @param {Element} panel\n * @param {Element} tab\n * @param {Element} tabpanel\n * @private\n */\n MaterialExtAccordion.prototype.closeTab_ = function( panel, tab, tabpanel ) {\n panel.classList.remove(IS_EXPANDED);\n tab.setAttribute(ARIA_EXPANDED, 'false');\n tabpanel.setAttribute('hidden', '');\n tabpanel.setAttribute(ARIA_HIDDEN, 'true');\n this.dispatchToggleEvent_('close', tab, tabpanel);\n };\n\n /**\n * Toggle tab\n * @param {Element} panel\n * @param {Element} tab\n * @param {Element} tabpanel\n * @private\n */\n MaterialExtAccordion.prototype.toggleTab_ = function( panel, tab, tabpanel ) {\n if( !(this.element_.hasAttribute('disabled') || tab.hasAttribute('disabled')) ) {\n if (tab.getAttribute(ARIA_EXPANDED).toLowerCase() === 'true') {\n this.closeTab_(panel, tab, tabpanel);\n }\n else {\n if (this.element_.getAttribute(ARIA_MULTISELECTABLE).toLowerCase() !== 'true') {\n this.closeTabs_();\n }\n this.openTab_(panel, tab, tabpanel);\n }\n }\n };\n\n /**\n * Open tabs\n * @private\n */\n MaterialExtAccordion.prototype.openTabs_ = function() {\n if (this.element_.getAttribute(ARIA_MULTISELECTABLE).toLowerCase() === 'true') {\n [...this.element_.querySelectorAll(`.${ACCORDION} > .${PANEL}`)]\n .filter(panel => !panel.classList.contains(IS_EXPANDED))\n .forEach(closedItem => {\n const tab = closedItem.querySelector(`.${TAB}`);\n if (!tab.hasAttribute('disabled')) {\n this.openTab_(closedItem, tab, closedItem.querySelector(`.${TABPANEL}`));\n }\n });\n }\n };\n\n /**\n * Close tabs\n * @private\n */\n MaterialExtAccordion.prototype.closeTabs_ = function() {\n [...this.element_.querySelectorAll(`.${ACCORDION} > .${PANEL}.${IS_EXPANDED}`)]\n .forEach( panel => {\n const tab = panel.querySelector(`.${TAB}`);\n if(!tab.hasAttribute('disabled')) {\n this.closeTab_(panel, tab, panel.querySelector(`.${TABPANEL}`));\n }\n });\n };\n\n\n // Public methods.\n\n /**\n * Upgrade an individual accordion tab\n * @public\n * @param {Element} tabElement The HTML element for the accordion panel.\n */\n MaterialExtAccordion.prototype.upgradeTab = function( tabElement ) {\n\n const { panel, tab, tabpanel } = accordionPanelElements( tabElement );\n\n const disableTab = () => {\n panel.classList.remove(IS_EXPANDED);\n tab.setAttribute('tabindex', '-1');\n tab.setAttribute(ARIA_EXPANDED, 'false');\n tabpanel.setAttribute('hidden', '');\n tabpanel.setAttribute(ARIA_HIDDEN, 'true');\n };\n\n const enableTab = () => {\n if(!tab.hasAttribute(ARIA_EXPANDED)) {\n tab.setAttribute(ARIA_EXPANDED, 'false');\n }\n\n tab.setAttribute('tabindex', '0');\n\n if(tab.getAttribute(ARIA_EXPANDED).toLowerCase() === 'true') {\n panel.classList.add(IS_EXPANDED);\n tabpanel.removeAttribute('hidden');\n tabpanel.setAttribute(ARIA_HIDDEN, 'false');\n }\n else {\n panel.classList.remove(IS_EXPANDED);\n tabpanel.setAttribute('hidden', '');\n tabpanel.setAttribute(ARIA_HIDDEN, 'true');\n }\n };\n\n // In horizontal layout, caption must have a max-width defined to prevent pushing elements to the right of the caption out of view.\n // In JsDom, offsetWidth and offsetHeight properties do not work, so this function is not testable.\n /* istanbul ignore next */\n const calcMaxTabCaptionWidth = () => {\n\n const tabCaption = tab.querySelector(`.${TAB_CAPTION}`);\n if(tabCaption !== null) {\n const w = [...tab.children]\n .filter( el => el.classList && !el.classList.contains(TAB_CAPTION) )\n .reduce( (v, el) => v + el.offsetWidth, 0 );\n\n const maxWidth = tab.clientHeight - w;\n if(maxWidth > 0) {\n tabCaption.style['max-width'] = `${maxWidth}px`;\n }\n }\n };\n\n const selectTab = () => {\n if( !tab.hasAttribute(ARIA_SELECTED) ) {\n [...this.element_.querySelectorAll(`.${TAB}[aria-selected=\"true\"]`)].forEach(\n selectedTab => selectedTab.removeAttribute(ARIA_SELECTED)\n );\n tab.setAttribute(ARIA_SELECTED, 'true');\n }\n };\n\n const tabClickHandler = () => {\n this.toggleTab_(panel, tab, tabpanel);\n selectTab();\n };\n\n const tabFocusHandler = () => {\n selectTab();\n };\n\n const tabpanelClickHandler = () => {\n selectTab();\n };\n\n const tabpanelFocusHandler = () => {\n selectTab();\n };\n\n const tabKeydownHandler = e => {\n\n if(this.element_.hasAttribute('disabled')) {\n return;\n }\n\n if ( e.keyCode === VK_END || e.keyCode === VK_HOME\n || e.keyCode === VK_ARROW_UP || e.keyCode === VK_ARROW_LEFT\n || e.keyCode === VK_ARROW_DOWN || e.keyCode === VK_ARROW_RIGHT ) {\n\n let nextTab = null;\n let keyCode = e.keyCode;\n\n if (keyCode === VK_HOME) {\n nextTab = this.element_.querySelector(`.${PANEL}:first-child > .${TAB}`);\n if(nextTab && nextTab.hasAttribute('disabled')) {\n nextTab = null;\n keyCode = VK_ARROW_DOWN;\n }\n }\n else if (keyCode === VK_END) {\n nextTab = this.element_.querySelector(`.${PANEL}:last-child > .${TAB}`);\n if(nextTab && nextTab.hasAttribute('disabled')) {\n nextTab = null;\n keyCode = VK_ARROW_UP;\n }\n }\n\n if(!nextTab) {\n let nextPanel = panel;\n\n do {\n if (keyCode === VK_ARROW_UP || keyCode === VK_ARROW_LEFT) {\n nextPanel = nextPanel.previousElementSibling;\n if(!nextPanel) {\n nextPanel = this.element_.querySelector(`.${PANEL}:last-child`);\n }\n if (nextPanel) {\n nextTab = nextPanel.querySelector(`.${PANEL} > .${TAB}`);\n }\n }\n else if (keyCode === VK_ARROW_DOWN || keyCode === VK_ARROW_RIGHT) {\n nextPanel = nextPanel.nextElementSibling;\n if(!nextPanel) {\n nextPanel = this.element_.querySelector(`.${PANEL}:first-child`);\n }\n if (nextPanel) {\n nextTab = nextPanel.querySelector(`.${PANEL} > .${TAB}`);\n }\n }\n\n if(nextTab && nextTab.hasAttribute('disabled')) {\n nextTab = null;\n }\n else {\n break;\n }\n }\n while(nextPanel !== panel);\n }\n\n if (nextTab) {\n e.preventDefault();\n e.stopPropagation();\n nextTab.focus();\n\n // Workaround for JSDom testing:\n // In JsDom 'element.focus()' does not trigger any focus event\n if(!nextTab.hasAttribute(ARIA_SELECTED)) {\n\n [...this.element_.querySelectorAll(`.${TAB}[aria-selected=\"true\"]`)]\n .forEach( selectedTab => selectedTab.removeAttribute(ARIA_SELECTED) );\n\n nextTab.setAttribute(ARIA_SELECTED, 'true');\n }\n }\n }\n else if (e.keyCode === VK_ENTER || e.keyCode === VK_SPACE) {\n e.preventDefault();\n e.stopPropagation();\n this.toggleTab_(panel, tab, tabpanel);\n }\n };\n\n if(tab === null) {\n throw new Error('There must be a tab element for each accordion panel.');\n }\n\n if(tabpanel === null) {\n throw new Error('There must be a tabpanel element for each accordion panel.');\n }\n\n panel.setAttribute('role', PANEL_ROLE);\n tab.setAttribute('role', TAB_ROLE);\n tabpanel.setAttribute('role', TABPANEL_ROLE);\n\n if(tab.hasAttribute('disabled')) {\n disableTab();\n }\n else {\n enableTab();\n }\n\n if( this.element_.classList.contains(ACCORDION_HORIZONTAL)) {\n calcMaxTabCaptionWidth();\n }\n\n if (this.element_.classList.contains(RIPPLE_EFFECT)) {\n tab.classList.add(RIPPLE);\n }\n\n if (this.element_.classList.contains(ANIMATION_EFFECT)) {\n tabpanel.classList.add(ANIMATION);\n }\n\n // Remove listeners, just in case ...\n tab.removeEventListener('click', tabClickHandler);\n tab.removeEventListener('focus', tabFocusHandler);\n tab.removeEventListener('keydown', tabKeydownHandler);\n tabpanel.removeEventListener('click', tabpanelClickHandler);\n tabpanel.removeEventListener('focus', tabpanelFocusHandler);\n\n tab.addEventListener('click', tabClickHandler);\n tab.addEventListener('focus', tabFocusHandler);\n tab.addEventListener('keydown', tabKeydownHandler);\n tabpanel.addEventListener('click', tabpanelClickHandler, true);\n tabpanel.addEventListener('focus', tabpanelFocusHandler, true);\n };\n MaterialExtAccordion.prototype['upgradeTab'] = MaterialExtAccordion.prototype.upgradeTab;\n\n\n /**\n * Execute command\n * @param detail\n */\n MaterialExtAccordion.prototype.command = function( detail ) {\n\n const openTab = tabElement => {\n\n if(tabElement === undefined) {\n this.openTabs_();\n }\n else if(tabElement !== null) {\n const { panel, tab, tabpanel } = accordionPanelElements( tabElement );\n if(tab.getAttribute(ARIA_EXPANDED).toLowerCase() !== 'true') {\n this.toggleTab_(panel, tab, tabpanel);\n }\n }\n };\n\n const closeTab = tabElement => {\n if(tabElement === undefined) {\n this.closeTabs_();\n }\n else if(tabElement !== null) {\n const { panel, tab, tabpanel } = accordionPanelElements( tabElement );\n\n if(tab.getAttribute(ARIA_EXPANDED).toLowerCase() === 'true') {\n this.toggleTab_(panel, tab, tabpanel);\n }\n }\n };\n\n const toggleTab = tabElement => {\n if(tabElement) {\n const { panel, tab, tabpanel } = accordionPanelElements( tabElement );\n this.toggleTab_(panel, tab, tabpanel);\n }\n };\n\n\n if(detail && detail.action) {\n const { action, target } = detail;\n\n switch (action.toLowerCase()) {\n case 'open':\n openTab(target);\n break;\n case 'close':\n closeTab(target);\n break;\n case 'toggle':\n toggleTab(target);\n break;\n case 'upgrade':\n if(target) {\n this.upgradeTab(target);\n }\n break;\n default:\n throw new Error(`Unknown action \"${action}\". Action must be one of \"open\", \"close\", \"toggle\" or \"upgrade\"`);\n }\n }\n };\n MaterialExtAccordion.prototype['command'] = MaterialExtAccordion.prototype.command;\n\n\n /**\n * Initialize component\n */\n MaterialExtAccordion.prototype.init = function() {\n if (this.element_) {\n // Do the init required for this component to work\n if( !(this.element_.classList.contains(ACCORDION_HORIZONTAL) || this.element_.classList.contains(ACCORDION_VERTICAL))) {\n throw new Error(`Accordion must have one of the classes \"${ACCORDION_HORIZONTAL}\" or \"${ACCORDION_VERTICAL}\"`);\n }\n\n this.element_.setAttribute('role', 'tablist');\n\n if(!this.element_.hasAttribute(ARIA_MULTISELECTABLE)) {\n this.element_.setAttribute(ARIA_MULTISELECTABLE, 'false');\n }\n\n this.element_.removeEventListener('command', this.commandHandler_);\n this.element_.addEventListener('command', this.commandHandler_.bind(this), false);\n\n [...this.element_.querySelectorAll(`.${ACCORDION} > .${PANEL}`)].forEach( panel => this.upgradeTab(panel) );\n\n // Set upgraded flag\n this.element_.classList.add(IS_UPGRADED);\n }\n };\n\n\n /*\n * Downgrade component\n * E.g remove listeners and clean up resources\n *\n * Nothing to downgrade\n *\n MaterialExtAccordion.prototype.mdlDowngrade_ = function() {\n 'use strict';\n console.log('***** MaterialExtAccordion.mdlDowngrade');\n };\n */\n\n\n // The component registers itself. It can assume componentHandler is available\n // in the global scope.\n /* eslint no-undef: 0 */\n componentHandler.register({\n constructor: MaterialExtAccordion,\n classAsString: 'MaterialExtAccordion',\n cssClass: 'mdlext-js-accordion',\n widget: true\n });\n})();\n\n\n\n// WEBPACK FOOTER //\n// ./src/accordion/accordion.js\n\n\n// WEBPACK FOOTER //\n// ./src/accordion/accordion.js","/**\n * @license\n * Copyright 2016 Leif Olsen. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * This code is built with Google Material Design Lite,\n * which is Licensed under the Apache License, Version 2.0\n */\n\n/**\n * Image carousel\n */\n\nimport intervalFunction from '../utils/interval-function';\nimport { inOutQuintic } from '../utils/easing';\nimport { jsonStringToObject} from '../utils/json-utils';\nimport {\n VK_TAB,\n VK_ENTER,\n VK_ESC,\n VK_SPACE,\n VK_PAGE_UP,\n VK_PAGE_DOWN,\n VK_END,\n VK_HOME,\n VK_ARROW_LEFT,\n VK_ARROW_UP,\n VK_ARROW_RIGHT,\n VK_ARROW_DOWN,\n IS_UPGRADED,\n IS_FOCUSED,\n MDL_RIPPLE,\n MDL_RIPPLE_COMPONENT,\n MDL_RIPPLE_EFFECT,\n MDL_RIPPLE_EFFECT_IGNORE_EVENTS\n} from '../utils/constants';\n\nconst MDL_RIPPLE_CONTAINER = 'mdlext-carousel__slide__ripple-container';\n\n\n(function() {\n 'use strict';\n\n //const CAROUSEL = 'mdlext-carousel';\n const SLIDE = 'mdlext-carousel__slide';\n const ROLE = 'list';\n const SLIDE_ROLE = 'listitem';\n\n\n /**\n * @constructor\n * @param {Element} element The element that will be upgraded.\n */\n const MaterialExtCarousel = function MaterialExtCarousel(element) {\n // Stores the element.\n this.element_ = element;\n\n // Default config\n this.config_ = {\n interactive : true,\n autostart : false,\n type : 'slide',\n interval : 1000,\n animationLoop: intervalFunction(1000)\n };\n\n this.scrollAnimation_ = intervalFunction(33);\n\n // Initialize instance.\n this.init();\n };\n\n window['MaterialExtCarousel'] = MaterialExtCarousel;\n\n\n /**\n * Start slideshow animation\n * @private\n */\n MaterialExtCarousel.prototype.startSlideShow_ = function() {\n\n const nextSlide = () => {\n let slide = this.element_.querySelector(`.${SLIDE}[aria-selected]`);\n if(slide) {\n slide.removeAttribute('aria-selected');\n slide = slide.nextElementSibling;\n }\n if(!slide) {\n slide = this.element_.querySelector(`.${SLIDE}:first-child`);\n this.animateScroll_(0);\n }\n if(slide) {\n this.moveSlideIntoViewport_(slide);\n slide.setAttribute('aria-selected', '');\n this.emitSelectEvent_('next', null, slide);\n return true;\n }\n return false;\n };\n\n const nextScroll = direction => {\n let nextDirection = direction;\n\n if('next' === direction && this.element_.scrollLeft === this.element_.scrollWidth - this.element_.clientWidth) {\n nextDirection = 'prev';\n }\n else if(this.element_.scrollLeft === 0) {\n nextDirection = 'next';\n }\n const x = 'next' === nextDirection\n ? Math.min(this.element_.scrollLeft + this.element_.clientWidth, this.element_.scrollWidth - this.element_.clientWidth)\n : Math.max(this.element_.scrollLeft - this.element_.clientWidth, 0);\n\n this.animateScroll_(x, 1000);\n return nextDirection;\n };\n\n\n if(!this.config_.animationLoop.started) {\n this.config_.animationLoop.interval = this.config_.interval;\n let direction = 'next';\n\n if('scroll' === this.config_.type) {\n this.config_.animationLoop.start( () => {\n direction = nextScroll(direction);\n return true; // It runs until cancelSlideShow_ is triggered\n });\n }\n else {\n nextSlide();\n this.config_.animationLoop.start( () => {\n return nextSlide(); // It runs until cancelSlideShow_ is triggered\n });\n }\n }\n\n // TODO: Pause animation when carousel is not in browser viewport or user changes tab\n };\n\n /**\n * Cancel slideshow if running. Emmits a 'pause' event\n * @private\n */\n MaterialExtCarousel.prototype.cancelSlideShow_ = function() {\n if(this.config_.animationLoop.started) {\n this.config_.animationLoop.stop();\n this.emitSelectEvent_('pause', VK_ESC, this.element_.querySelector(`.${SLIDE}[aria-selected]`));\n }\n };\n\n /**\n * Animate scroll\n * @param newPosition\n * @param newDuration\n * @param completedCallback\n * @private\n */\n MaterialExtCarousel.prototype.animateScroll_ = function( newPosition, newDuration, completedCallback ) {\n\n const start = this.element_.scrollLeft;\n const distance = newPosition - start;\n\n if(distance !== 0) {\n const duration = Math.max(Math.min(Math.abs(distance), newDuration||400), 100); // duration is between 100 and newDuration||400ms||distance\n let t = 0;\n this.scrollAnimation_.stop();\n this.scrollAnimation_.start( timeElapsed => {\n t += timeElapsed;\n if(t < duration) {\n this.element_.scrollLeft = inOutQuintic(t, start, distance, duration);\n return true;\n }\n else {\n this.element_.scrollLeft = newPosition;\n if(completedCallback) {\n completedCallback();\n }\n return false;\n }\n });\n }\n else {\n if(completedCallback) {\n completedCallback();\n }\n }\n };\n\n /**\n * Execute commend\n * @param event\n * @private\n */\n MaterialExtCarousel.prototype.command_ = function( event ) {\n let x = 0;\n let slide = null;\n const a = event.detail.action.toLowerCase();\n\n // Cancel slideshow if running\n this.cancelSlideShow_();\n\n switch (a) {\n case 'first':\n slide = this.element_.querySelector(`.${SLIDE}:first-child`);\n break;\n\n case 'last':\n x = this.element_.scrollWidth - this.element_.clientWidth;\n slide = this.element_.querySelector(`.${SLIDE}:last-child`);\n break;\n\n case 'scroll-prev':\n x = Math.max(this.element_.scrollLeft - this.element_.clientWidth, 0);\n break;\n\n case 'scroll-next':\n x = Math.min(this.element_.scrollLeft + this.element_.clientWidth, this.element_.scrollWidth - this.element_.clientWidth);\n break;\n\n case 'next':\n case 'prev':\n slide = this.element_.querySelector(`.${SLIDE}[aria-selected]`);\n if(slide) {\n slide = a === 'next' ? slide.nextElementSibling : slide.previousElementSibling;\n this.setAriaSelected_(slide);\n this.emitSelectEvent_(a, null, slide);\n }\n return;\n\n case 'play':\n Object.assign(this.config_, event.detail);\n this.startSlideShow_();\n return;\n\n case 'pause':\n return;\n\n default:\n return;\n }\n\n this.animateScroll_(x, undefined, () => {\n if ('scroll-next' === a || 'scroll-prev' === a) {\n const slides = this.getSlidesInViewport_();\n if (slides.length > 0) {\n slide = 'scroll-next' === a ? slides[0] : slides[slides.length - 1];\n }\n }\n this.setAriaSelected_(slide);\n this.emitSelectEvent_(a, null, slide);\n });\n };\n\n /**\n * Handles custom command event, 'scroll-prev', 'scroll-next', 'first', 'last', next, prev, play, pause\n * @param event. A custom event\n * @private\n */\n MaterialExtCarousel.prototype.commandHandler_ = function( event ) {\n event.preventDefault();\n event.stopPropagation();\n if(event.detail && event.detail.action) {\n this.command_(event);\n }\n };\n\n /**\n * Handle keypress\n * @param event\n * @private\n */\n MaterialExtCarousel.prototype.keyDownHandler_ = function(event) {\n\n if (event && event.target && event.target !== this.element_) {\n\n let action = 'first';\n\n if ( event.keyCode === VK_HOME || event.keyCode === VK_END\n || event.keyCode === VK_PAGE_UP || event.keyCode === VK_PAGE_DOWN) {\n\n event.preventDefault();\n if (event.keyCode === VK_END) {\n action = 'last';\n }\n else if (event.keyCode === VK_PAGE_UP) {\n action = 'scroll-prev';\n }\n else if (event.keyCode === VK_PAGE_DOWN) {\n action = 'scroll-next';\n }\n\n const cmd = new CustomEvent('select', {\n detail: {\n action: action,\n }\n });\n this.command_(cmd);\n }\n else if ( event.keyCode === VK_TAB\n || event.keyCode === VK_ENTER || event.keyCode === VK_SPACE\n || event.keyCode === VK_ARROW_UP || event.keyCode === VK_ARROW_LEFT\n || event.keyCode === VK_ARROW_DOWN || event.keyCode === VK_ARROW_RIGHT) {\n\n let slide = getSlide_(event.target);\n\n if(!slide) {\n return;\n }\n\n // Cancel slideshow if running\n this.cancelSlideShow_();\n\n switch (event.keyCode) {\n case VK_ARROW_UP:\n case VK_ARROW_LEFT:\n action = 'prev';\n slide = slide.previousElementSibling;\n break;\n\n case VK_ARROW_DOWN:\n case VK_ARROW_RIGHT:\n action = 'next';\n slide = slide.nextElementSibling;\n break;\n\n case VK_TAB:\n if (event.shiftKey) {\n action = 'prev';\n slide = slide.previousElementSibling;\n }\n else {\n action = 'next';\n slide = slide.nextElementSibling;\n }\n break;\n\n case VK_SPACE:\n case VK_ENTER:\n action = 'select';\n break;\n }\n\n if(slide) {\n event.preventDefault();\n setFocus_(slide);\n this.emitSelectEvent_(action, event.keyCode, slide);\n }\n }\n }\n };\n\n /**\n * Handle dragging\n * @param event\n * @private\n */\n MaterialExtCarousel.prototype.dragHandler_ = function(event) {\n event.preventDefault();\n\n // Cancel slideshow if running\n this.cancelSlideShow_();\n\n let updating = false;\n let rAFDragId = 0;\n\n const startX = event.clientX || (event.touches !== undefined ? event.touches[0].clientX : 0);\n let prevX = startX;\n const targetElement = event.target;\n\n const update = e => {\n const currentX = (e.clientX || (e.touches !== undefined ? e.touches[0].clientX : 0));\n const dx = prevX - currentX;\n\n if(dx < 0) {\n this.element_.scrollLeft = Math.max(this.element_.scrollLeft + dx, 0);\n }\n else if(dx > 0) {\n this.element_.scrollLeft = Math.min(this.element_.scrollLeft + dx, this.element_.scrollWidth - this.element_.clientWidth);\n }\n\n prevX = currentX;\n updating = false;\n };\n\n // drag handler\n const drag = e => {\n e.preventDefault();\n\n if(!updating) {\n rAFDragId = window.requestAnimationFrame( () => update(e));\n updating = true;\n }\n };\n\n // end drag handler\n const endDrag = e => {\n e.preventDefault();\n\n this.element_.removeEventListener('mousemove', drag);\n this.element_.removeEventListener('touchmove', drag);\n window.removeEventListener('mouseup', endDrag);\n window.removeEventListener('touchend', endDrag);\n\n // cancel any existing drag rAF, see: http://www.html5rocks.com/en/tutorials/speed/animations/\n window.cancelAnimationFrame(rAFDragId);\n\n const slide = getSlide_(targetElement);\n setFocus_(slide);\n this.emitSelectEvent_('click', null, slide);\n };\n\n this.element_.addEventListener('mousemove', drag);\n this.element_.addEventListener('touchmove', drag);\n window.addEventListener('mouseup', endDrag);\n window.addEventListener('touchend',endDrag);\n };\n\n /**\n * Handle click\n * @param event\n * @private\n */\n MaterialExtCarousel.prototype.clickHandler_ = function(event) {\n // Click is handled by drag\n event.preventDefault();\n };\n\n /**\n * Handle focus\n * @param event\n * @private\n */\n MaterialExtCarousel.prototype.focusHandler_ = function(event) {\n const slide = getSlide_(event.target);\n if(slide) {\n // The last focused/selected slide has 'aria-selected', even if focus is lost\n this.setAriaSelected_(slide);\n slide.classList.add(IS_FOCUSED);\n }\n };\n\n /**\n * Handle blur\n * @param event\n * @private\n */\n MaterialExtCarousel.prototype.blurHandler_ = function(event) {\n const slide = getSlide_(event.target);\n if(slide) {\n slide.classList.remove(IS_FOCUSED);\n }\n };\n\n /**\n * Emits a custeom 'select' event\n * @param command\n * @param keyCode\n * @param slide\n * @private\n */\n MaterialExtCarousel.prototype.emitSelectEvent_ = function(command, keyCode, slide) {\n\n if(slide) {\n this.moveSlideIntoViewport_(slide);\n\n const evt = new CustomEvent('select', {\n bubbles: true,\n cancelable: true,\n detail: {\n command: command,\n keyCode: keyCode,\n source: slide\n }\n });\n this.element_.dispatchEvent(evt);\n }\n };\n\n /**\n * Get the first visible slide in component viewport\n * @private\n */\n MaterialExtCarousel.prototype.getSlidesInViewport_ = function() {\n const carouselRect = this.element_.getBoundingClientRect();\n\n const slidesInViewport = [...this.element_.querySelectorAll(`.${SLIDE}`)].filter( slide => {\n const slideRect = slide.getBoundingClientRect();\n return slideRect.left >= carouselRect.left && slideRect.right <= carouselRect.right;\n });\n return slidesInViewport;\n };\n\n /**\n * Move slide into component viewport - if needed\n * @param slide\n * @private\n */\n MaterialExtCarousel.prototype.moveSlideIntoViewport_ = function(slide) {\n const carouselRect = this.element_.getBoundingClientRect();\n const slideRect = slide.getBoundingClientRect();\n\n if(slideRect.left < carouselRect.left) {\n const x = this.element_.scrollLeft - (carouselRect.left - slideRect.left);\n this.animateScroll_(x);\n }\n else if(slideRect.right > carouselRect.right) {\n const x = this.element_.scrollLeft - (carouselRect.right - slideRect.right);\n this.animateScroll_(x);\n }\n };\n\n\n /**\n * Removes 'aria-selected' from all slides in carousel\n * @private\n */\n MaterialExtCarousel.prototype.setAriaSelected_ = function(slide) {\n if(slide) {\n [...this.element_.querySelectorAll(`.${SLIDE}[aria-selected]`)].forEach(\n slide => slide.removeAttribute('aria-selected')\n );\n slide.setAttribute('aria-selected', '');\n }\n };\n\n /**\n * Removes event listeners\n * @private\n */\n MaterialExtCarousel.prototype.removeListeners_ = function() {\n this.element_.removeEventListener('focus', this.focusHandler_);\n this.element_.removeEventListener('blur', this.blurHandler_);\n this.element_.removeEventListener('keydown', this.keyDownHandler_);\n this.element_.removeEventListener('mousedown', this.dragHandler_);\n this.element_.removeEventListener('touchstart', this.dragHandler_);\n this.element_.removeEventListener('click', this.clickHandler_, false);\n this.element_.removeEventListener('command', this.commandHandler_);\n this.element_.removeEventListener('mdl-componentdowngraded', this.mdlDowngrade_);\n };\n\n\n // Helpers\n const getSlide_ = element => {\n return element.closest(`.${SLIDE}`);\n };\n\n const setFocus_ = slide => {\n if(slide) {\n slide.focus();\n }\n };\n\n const addRipple_ = slide => {\n if(!slide.querySelector(`.${MDL_RIPPLE_CONTAINER}`)) {\n const rippleContainer = document.createElement('span');\n rippleContainer.classList.add(MDL_RIPPLE_CONTAINER);\n rippleContainer.classList.add(MDL_RIPPLE_EFFECT);\n const ripple = document.createElement('span');\n ripple.classList.add(MDL_RIPPLE);\n rippleContainer.appendChild(ripple);\n\n const img = slide.querySelector('img');\n if (img) {\n // rippleContainer blocks image title\n rippleContainer.title = img.title;\n }\n slide.appendChild(rippleContainer);\n componentHandler.upgradeElement(rippleContainer, MDL_RIPPLE_COMPONENT);\n }\n };\n // End helpers\n\n\n // Public methods.\n\n /**\n * Cancel animation - if running.\n *\n * @public\n */\n MaterialExtCarousel.prototype.stopAnimation = function() {\n this.config_.animationLoop.stop();\n };\n MaterialExtCarousel.prototype['stopAnimation'] = MaterialExtCarousel.prototype.stopAnimation;\n\n\n /**\n * Upgrade slides\n * Use if more list elements are added later (dynamically)\n *\n * @public\n */\n MaterialExtCarousel.prototype.upgradeSlides = function() {\n\n const hasRippleEffect = this.element_.classList.contains(MDL_RIPPLE_EFFECT);\n\n [...this.element_.querySelectorAll(`.${SLIDE}`)].forEach( slide => {\n\n slide.setAttribute('role', SLIDE_ROLE);\n\n if(this.config_.interactive) {\n if(!slide.getAttribute('tabindex')) {\n slide.setAttribute('tabindex', '0');\n }\n if (hasRippleEffect) {\n addRipple_(slide);\n }\n }\n else {\n slide.setAttribute('tabindex', '-1');\n }\n });\n };\n MaterialExtCarousel.prototype['upgradeSlides'] = MaterialExtCarousel.prototype.upgradeSlides;\n\n\n /**\n * Get config object\n *\n * @public\n */\n MaterialExtCarousel.prototype.getConfig = function() {\n return this.config_;\n };\n MaterialExtCarousel.prototype['getConfig'] = MaterialExtCarousel.prototype.getConfig;\n\n /**\n * Initialize component\n */\n MaterialExtCarousel.prototype.init = function() {\n\n if (this.element_) {\n // Config\n if(this.element_.hasAttribute('data-config')) {\n this.config_ = jsonStringToObject(this.element_.getAttribute('data-config'), this.config_);\n }\n\n // Wai-Aria\n this.element_.setAttribute('role', ROLE);\n\n // Prefer tabindex -1\n if(!Number.isInteger(this.element_.getAttribute('tabindex'))) {\n this.element_.setAttribute('tabindex', -1);\n }\n\n // Remove listeners, just in case ...\n this.removeListeners_();\n\n if(this.config_.interactive) {\n\n // Ripple\n const hasRippleEffect = this.element_.classList.contains(MDL_RIPPLE_EFFECT);\n if (hasRippleEffect) {\n this.element_.classList.add(MDL_RIPPLE_EFFECT_IGNORE_EVENTS);\n }\n\n // Listen to focus/blur events\n this.element_.addEventListener('focus', this.focusHandler_.bind(this), true);\n this.element_.addEventListener('blur', this.blurHandler_.bind(this), true);\n\n // Listen to keyboard events\n this.element_.addEventListener('keydown', this.keyDownHandler_.bind(this), false);\n\n // Listen to drag events\n this.element_.addEventListener('mousedown', this.dragHandler_.bind(this), false);\n this.element_.addEventListener('touchstart', this.dragHandler_.bind(this), false);\n\n // Listen to click events\n this.element_.addEventListener('click', this.clickHandler_.bind(this), false);\n }\n\n // Listen to custom 'command' event\n this.element_.addEventListener('command', this.commandHandler_.bind(this), false);\n\n // Listen to 'mdl-componentdowngraded' event\n this.element_.addEventListener('mdl-componentdowngraded', this.mdlDowngrade_.bind(this));\n\n // Slides collection\n this.upgradeSlides();\n\n // Set upgraded flag\n this.element_.classList.add(IS_UPGRADED);\n\n if(this.config_.autostart) {\n // Start slideshow\n this.startSlideShow_();\n }\n }\n };\n\n /*\n * Downgrade component\n * E.g remove listeners and clean up resources\n */\n MaterialExtCarousel.prototype.mdlDowngrade_ = function() {\n 'use strict';\n //console.log('***** MaterialExtCarousel.mdlDowngrade_');\n\n // Stop animation - if any\n this.stopAnimation();\n\n // Remove listeners\n this.removeListeners_();\n };\n\n // The component registers itself. It can assume componentHandler is available\n // in the global scope.\n /* eslint no-undef: 0 */\n componentHandler.register({\n constructor: MaterialExtCarousel,\n classAsString: 'MaterialExtCarousel',\n cssClass: 'mdlext-js-carousel',\n widget: true\n });\n})();\n\n\n\n// WEBPACK FOOTER //\n// ./src/carousel/carousel.js\n\n\n// WEBPACK FOOTER //\n// ./src/carousel/carousel.js","/**\n * @license\n * Copyright 2016-2017 Leif Olsen. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * This code is built with Google Material Design Lite,\n * which is Licensed under the Apache License, Version 2.0\n */\n\n\n/**\n * A collapsible is a component to mark expandable and collapsible regions.\n * The component use the aria-expanded state to indicate whether regions of\n * the content are collapsible, and to expose whether a region is currently\n * expanded or collapsed.\n * @see https://www.w3.org/WAI/GL/wiki/Using_the_WAI-ARIA_aria-expanded_state_to_mark_expandable_and_collapsible_regions\n */\n\nimport {\n IS_UPGRADED,\n VK_SPACE,\n VK_ENTER,\n} from '../utils/constants';\n\nimport { randomString } from '../utils/string-utils';\nimport { getParentElements, isFocusable } from '../utils/dom-utils';\n\nconst JS_COLLAPSIBLE = 'mdlext-js-collapsible';\nconst COLLAPSIBLE_CONTROL_CLASS = 'mdlext-collapsible';\nconst COLLAPSIBLE_GROUP_CLASS = 'mdlext-collapsible-group';\nconst COLLAPSIBLE_REGION_CLASS = 'mdlext-collapsible-region';\n\n/**\n * The collapsible component\n */\n\nclass Collapsible {\n element_ = null;\n controlElement_ = null;\n\n /**\n * @constructor\n * @param {HTMLElement} element The element that this component is connected to.\n */\n constructor(element) {\n this.element_ = element;\n this.init();\n }\n\n keyDownHandler = event => {\n if (event.keyCode === VK_ENTER || event.keyCode === VK_SPACE) {\n event.preventDefault();\n\n // Trigger click\n (event.target || this.controlElement).dispatchEvent(\n new MouseEvent('click', {\n bubbles: true,\n cancelable: true,\n view: window\n })\n );\n }\n };\n\n clickHandler = event => {\n if(!this.isDisabled) {\n if(event.target !== this.controlElement) {\n // Do not toggle if a focusable element inside the control element triggered the event\n const p = getParentElements(event.target, this.controlElement);\n p.push(event.target);\n if(p.find( el => isFocusable(el))) {\n return;\n }\n }\n this.toggle();\n }\n };\n\n get element() {\n return this.element_;\n }\n\n get controlElement() {\n return this.controlElement_;\n }\n\n get isDisabled() {\n return (this.controlElement.hasAttribute('disabled') &&\n this.controlElement.getAttribute('disabled').toLowerCase() !== 'false') ||\n (this.controlElement.hasAttribute('aria-disabled') &&\n this.controlElement.getAttribute('aria-disabled').toLowerCase() !== 'false');\n }\n\n get isExpanded() {\n return this.controlElement.hasAttribute('aria-expanded') &&\n this.controlElement.getAttribute('aria-expanded').toLowerCase() === 'true';\n }\n\n get regionIds() {\n return this.controlElement.hasAttribute('aria-controls')\n ? this.controlElement.getAttribute('aria-controls').split(' ')\n : [];\n }\n\n get regionElements() {\n return this.regionIds\n .map(id => document.querySelector(`#${id}`))\n .filter( el => el != null);\n }\n\n collapse() {\n if(!this.isDisabled && this.isExpanded) {\n if(this.dispatchToggleEvent('collapse')) {\n this.controlElement.setAttribute('aria-expanded', 'false');\n const regions = this.regionElements.slice(0);\n for (let i = regions.length - 1; i >= 0; --i) {\n regions[i].setAttribute('hidden', '');\n }\n }\n }\n }\n\n expand() {\n if(!this.isDisabled && !this.isExpanded) {\n if(this.dispatchToggleEvent('expand')) {\n this.controlElement.setAttribute('aria-expanded', 'true');\n this.regionElements.forEach(region => region.removeAttribute('hidden'));\n }\n }\n }\n\n toggle() {\n if (this.isExpanded) {\n this.collapse();\n }\n else {\n this.expand();\n }\n }\n\n dispatchToggleEvent(action) {\n return this.element.dispatchEvent(\n new CustomEvent('toggle', {\n bubbles: true,\n cancelable: true,\n detail: {\n action: action\n }\n })\n );\n }\n\n disableToggle() {\n this.controlElement.setAttribute('aria-disabled', true);\n }\n\n enableToggle() {\n this.controlElement.removeAttribute('aria-disabled');\n }\n\n addRegionId(regionId) {\n const ids = this.regionIds;\n if(!ids.find(id => regionId === id)) {\n ids.push(regionId);\n this.controlElement.setAttribute('aria-controls', ids.join(' '));\n }\n }\n\n addRegionElement(region) {\n if(!(region.classList.contains(COLLAPSIBLE_GROUP_CLASS) ||\n region.classList.contains(COLLAPSIBLE_REGION_CLASS))) {\n region.classList.add(COLLAPSIBLE_GROUP_CLASS);\n }\n\n if(!region.hasAttribute('role')) {\n const role = region.classList.contains(COLLAPSIBLE_GROUP_CLASS) ? 'group' : 'region';\n region.setAttribute('role', role);\n }\n\n if(!region.hasAttribute('id')) {\n region.id = `${region.getAttribute('role')}-${randomString()}`;\n }\n\n if(this.isExpanded) {\n region.removeAttribute('hidden');\n }\n else {\n region.setAttribute('hidden', '');\n }\n this.addRegionId(region.id);\n }\n\n removeRegionElement(region) {\n if(region && region.id) {\n const ids = this.regionIds.filter(id => id === region.id);\n this.controlElement.setAttribute('aria-controls', ids.join(' '));\n }\n }\n\n removeListeners() {\n this.controlElement.removeEventListener('keydown', this.keyDownHandler);\n this.controlElement.removeEventListener('click', this.clickHandler);\n }\n\n init() {\n const initControl = () => {\n // Find the button element\n this.controlElement_ = this.element.querySelector(`.${COLLAPSIBLE_CONTROL_CLASS}`) || this.element;\n\n // Add \"aria-expanded\" attribute if not present\n if(!this.controlElement.hasAttribute('aria-expanded')) {\n this.controlElement.setAttribute('aria-expanded', 'false');\n }\n\n // Add role=button if control != \n if(this.controlElement.nodeName.toLowerCase() !== 'button') {\n this.controlElement.setAttribute('role', 'button');\n }\n\n // Add tabindex\n if(!isFocusable(this.controlElement) && !this.controlElement.hasAttribute('tabindex')) {\n this.controlElement.setAttribute('tabindex', '0');\n }\n };\n\n const initRegions = () => {\n let regions = [];\n if(!this.controlElement.hasAttribute('aria-controls')) {\n // Add siblings as collapsible region(s)\n let r = this.element.nextElementSibling;\n while(r) {\n if(r.classList.contains(COLLAPSIBLE_GROUP_CLASS) ||\n r.classList.contains(COLLAPSIBLE_REGION_CLASS)) {\n regions.push(r);\n }\n else if(r.classList.contains(JS_COLLAPSIBLE)) {\n // A new collapsible component\n break;\n }\n r = r.nextElementSibling;\n }\n }\n else {\n regions = this.regionElements;\n }\n regions.forEach(region => this.addRegionElement(region));\n };\n\n const addListeners = () => {\n this.controlElement.addEventListener('keydown', this.keyDownHandler);\n this.controlElement.addEventListener('click', this.clickHandler);\n };\n\n initControl();\n initRegions();\n this.removeListeners();\n addListeners();\n }\n\n downgrade() {\n this.removeListeners();\n }\n\n}\n\n(function() {\n 'use strict';\n\n /**\n * @constructor\n * @param {HTMLElement} element The element that will be upgraded.\n */\n const MaterialExtCollapsible = function MaterialExtCollapsible(element) {\n this.element_ = element;\n this.collapsible = null;\n\n // Initialize instance.\n this.init();\n };\n window['MaterialExtCollapsible'] = MaterialExtCollapsible;\n\n /**\n * Initialize component\n */\n MaterialExtCollapsible.prototype.init = function() {\n if (this.element_) {\n this.collapsible = new Collapsible(this.element_);\n this.element_.classList.add(IS_UPGRADED);\n\n // Listen to 'mdl-componentdowngraded' event\n this.element_.addEventListener('mdl-componentdowngraded', this.mdlDowngrade_.bind(this));\n }\n };\n\n /*\n * Downgrade component\n * E.g remove listeners and clean up resources\n */\n MaterialExtCollapsible.prototype.mdlDowngrade_ = function() {\n this.collapsible.downgrade();\n };\n\n\n // Public methods.\n\n /**\n * Get control element.\n * @return {HTMLElement} element The element that controls the collapsible region.\n * @public\n */\n MaterialExtCollapsible.prototype.getControlElement = function() {\n return this.collapsible.controlElement;\n };\n MaterialExtCollapsible.prototype['getControlElement'] = MaterialExtCollapsible.prototype.getControlElement;\n\n /**\n * Get region elements controlled by this collapsible\n * @returns {Array} the collapsible region elements\n * @public\n */\n MaterialExtCollapsible.prototype.getRegionElements = function() {\n return this.collapsible.regionElements;\n };\n MaterialExtCollapsible.prototype['getRegionElements'] = MaterialExtCollapsible.prototype.getRegionElements;\n\n /**\n * Add region elements.\n * @param {Array} elements The element that will be upgraded.\n * @return {void}\n * @public\n */\n MaterialExtCollapsible.prototype.addRegionElements = function(...elements) {\n elements.forEach(element => this.collapsible.addRegionElement(element));\n };\n MaterialExtCollapsible.prototype['addRegionElements'] = MaterialExtCollapsible.prototype.addRegionElements;\n\n /**\n * Remove collapsible region(s) from component.\n * Note: This operation does not delete the element from the DOM tree.\n * @param {Array} elements The element that will be upgraded.\n * @public\n */\n MaterialExtCollapsible.prototype.removeRegionElements = function(...elements) {\n elements.forEach(element => this.collapsible.removeRegionElement(element));\n };\n MaterialExtCollapsible.prototype['removeRegionElements'] = MaterialExtCollapsible.prototype.removeRegionElements;\n\n /**\n * Expand collapsible region(s)\n * @return {void}\n * @public\n */\n MaterialExtCollapsible.prototype.expand = function() {\n this.collapsible.expand();\n };\n MaterialExtCollapsible.prototype['expand'] = MaterialExtCollapsible.prototype.expand;\n\n /**\n * Collapse collapsible region(s)\n * @return {void}\n * @public\n */\n MaterialExtCollapsible.prototype.collapse = function() {\n this.collapsible.collapse();\n };\n MaterialExtCollapsible.prototype['collapse'] = MaterialExtCollapsible.prototype.collapse;\n\n /**\n * Toggle collapsible region(s)\n * @return {void}\n * @public\n */\n MaterialExtCollapsible.prototype.toggle = function() {\n this.collapsible.toggle();\n };\n MaterialExtCollapsible.prototype['toggle'] = MaterialExtCollapsible.prototype.toggle;\n\n /**\n * Check whether component has aria-expanded state true\n * @return {Boolean} true if aria-expanded=\"true\", otherwise false\n */\n MaterialExtCollapsible.prototype.isExpanded = function() {\n return this.collapsible.isExpanded;\n };\n MaterialExtCollapsible.prototype['isExpanded'] = MaterialExtCollapsible.prototype.isExpanded;\n\n /**\n * Check whether component has aria-disabled state set to true\n * @return {Boolean} true if aria-disabled=\"true\", otherwise false\n */\n MaterialExtCollapsible.prototype.isDisabled = function() {\n return this.collapsible.isDisabled;\n };\n MaterialExtCollapsible.prototype['isDisabled'] = MaterialExtCollapsible.prototype.isDisabled;\n\n /**\n * Disables toggling of collapsible region(s)\n * @return {void}\n * @public\n */\n MaterialExtCollapsible.prototype.disableToggle = function() {\n this.collapsible.disableToggle();\n };\n MaterialExtCollapsible.prototype['disableToggle'] = MaterialExtCollapsible.prototype.disableToggle;\n\n /**\n * Enables toggling of collapsible region(s)\n * @return {void}\n * @public\n */\n MaterialExtCollapsible.prototype.enableToggle = function() {\n this.collapsible.enableToggle();\n };\n MaterialExtCollapsible.prototype['enableToggle'] = MaterialExtCollapsible.prototype.enableToggle;\n\n // The component registers itself. It can assume componentHandler is available\n // in the global scope.\n /* eslint no-undef: 0 */\n componentHandler.register({\n constructor: MaterialExtCollapsible,\n classAsString: 'MaterialExtCollapsible',\n cssClass: JS_COLLAPSIBLE,\n widget: true\n });\n\n})();\n\n\n\n// WEBPACK FOOTER //\n// ./src/collapsible/collapsible.js\n\n\n// WEBPACK FOOTER //\n// ./src/collapsible/collapsible.js","/**\n * @license\n * Copyright 2016-2017 Leif Olsen. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * This code is built with Google Material Design Lite,\n * which is Licensed under the Apache License, Version 2.0\n */\n\n\nimport {jsonStringToObject} from '../utils/json-utils';\nimport {\n IS_UPGRADED,\n} from '../utils/constants';\n\nconst JS_FORMAT_FIELD = 'mdlext-js-formatfield';\nconst FORMAT_FIELD_COMPONENT = 'MaterialExtFormatfield';\n\n/**\n * Detect browser locale\n * @returns {string} the locale\n * @see http://stackoverflow.com/questions/1043339/javascript-for-detecting-browser-language-preference\n */\nconst browserLanguage = () => {\n return navigator.languages\n ? navigator.languages[0]\n : navigator.language || navigator.userLanguage;\n};\n\n/**\n * The formatfield formats an input field using language sensitive number formatting.\n */\n\nclass FormatField {\n element_;\n input_;\n options_ = {};\n intlGroupSeparator_;\n intlDecimalSeparator_;\n\n constructor(element) {\n this.element_ = element;\n this.init();\n }\n\n focusHandler = () => {\n if(!(this.input.readOnly || this.input.disabled)) {\n this.input.value = this.unformatInput();\n // Select all text in any field on focus for easy re-entry.\n // Delay sightly to allow focus to \"stick\" before selecting.\n //setTimeout(() => this.input.select(), 20);\n }\n };\n\n blurHandler = () => {\n if(!(this.input.readOnly || this.input.disabled)) {\n this.formatValue();\n }\n };\n\n get element() {\n return this.element_;\n }\n\n get input() {\n return this.input_;\n }\n\n get options() {\n return this.options_;\n }\n\n stripSeparatorsFromValue() {\n const doReplace = () => this.input.value\n .replace(/\\s/g, '')\n .replace(new RegExp(this.options.groupSeparator, 'g'), '')\n .replace(this.options.decimalSeparator, '.');\n //.replace(this.intlGroupSeparator_, ''),\n //.replace(this.intlDecimalSeparator_, '.');\n\n return this.input.value ? doReplace() : this.input.value;\n }\n\n fixSeparators(value) {\n const doReplace = () => value\n .replace(new RegExp(this.intlGroupSeparator_, 'g'), this.options.groupSeparator)\n .replace(this.intlDecimalSeparator_, this.options.decimalSeparator);\n\n return value ? doReplace() : value;\n }\n\n formatValue() {\n if(this.input.value) {\n const v = new Intl.NumberFormat(this.options.locales, this.options)\n .format(this.stripSeparatorsFromValue());\n\n if('NaN' !== v) {\n this.input.value = this.fixSeparators(v);\n }\n }\n }\n\n unformat() {\n const doReplace = () => this.input.value\n .replace(/\\s/g, '')\n .replace(new RegExp(this.options.groupSeparator, 'g'), '')\n .replace(this.options.decimalSeparator, '.');\n\n return this.input.value ? doReplace() : this.input.value;\n }\n\n unformatInput() {\n const doReplace = () => this.input.value\n .replace(/\\s/g, '')\n .replace(new RegExp(this.options.groupSeparator, 'g'), '');\n\n return this.input.value ? doReplace() : this.input.value;\n }\n\n removeListeners() {\n this.input.removeEventListener('focus', this.focusHandler);\n this.input.removeEventListener('blur', this.blurHandler);\n }\n\n init() {\n const addListeners = () => {\n this.input.addEventListener('focus', this.focusHandler);\n this.input.addEventListener('blur', this.blurHandler);\n };\n\n const addOptions = () => {\n const opts = this.element.getAttribute('data-formatfield-options') ||\n this.input.getAttribute('data-formatfield-options');\n if(opts) {\n this.options_ = jsonStringToObject(opts, this.options);\n }\n };\n\n const addLocale = () => {\n if(!this.options.locales) {\n this.options.locales = browserLanguage() || 'en-US'; //'nb-NO', //'en-US',\n }\n };\n\n const addGrouping = () => {\n const s = (1234.5).toLocaleString(this.options.locales, {\n style: 'decimal',\n useGrouping: true,\n minimumFractionDigits: 1,\n maximumFractionDigits: 1\n });\n\n this.intlGroupSeparator_ = s.charAt(1);\n this.intlDecimalSeparator_ = s.charAt(s.length-2);\n this.options.groupSeparator = this.options.groupSeparator || this.intlGroupSeparator_;\n this.options.decimalSeparator = this.options.decimalSeparator || this.intlDecimalSeparator_;\n\n if(this.options.groupSeparator === this.options.decimalSeparator) {\n const e = `Error! options.groupSeparator, \"${this.options.groupSeparator}\" ` +\n 'and options.decimalSeparator, ' +\n `\"${this.options.decimalSeparator}\" should not be equal`;\n throw new Error(e);\n }\n };\n\n this.input_ = this.element.querySelector('input') || this.element;\n\n addOptions();\n addLocale();\n addGrouping();\n this.formatValue();\n addListeners();\n }\n\n downgrade() {\n this.removeListeners();\n }\n\n}\n\n(function() {\n 'use strict';\n\n /**\n * @constructor\n * @param {HTMLElement} element The element that will be upgraded.\n */\n const MaterialExtFormatfield = function MaterialExtFormatfield(element) {\n this.element_ = element;\n this.formatField_ = null;\n\n // Initialize instance.\n this.init();\n };\n window['MaterialExtFormatfield'] = MaterialExtFormatfield;\n\n /**\n * Initialize component\n */\n MaterialExtFormatfield.prototype.init = function() {\n if (this.element_) {\n this.element_.classList.add(IS_UPGRADED);\n this.formatField_ = new FormatField(this.element_);\n\n // Listen to 'mdl-componentdowngraded' event\n this.element_.addEventListener('mdl-componentdowngraded', this.mdlDowngrade_.bind(this));\n }\n };\n\n /**\n * Get options object\n *\n * @public\n *\n * @returns {Object} the options object\n */\n MaterialExtFormatfield.prototype.getOptions = function() {\n return this.formatField_.options;\n };\n MaterialExtFormatfield.prototype['getOptions'] = MaterialExtFormatfield.prototype.getOptions;\n\n\n /**\n * A unformatted value is a string value where the locale specific decimal separator\n * is replaced with a '.' separator and group separators are stripped.\n * The returned value is suitable for parsing to a JavaScript numerical value.\n *\n * @example\n * input.value = '1 234,5';\n * inputElement.MaterialExtFormatfield.getUnformattedValue();\n * // Returns '1234.5'\n *\n * @public\n *\n * @returns {String} the unformatted value\n */\n MaterialExtFormatfield.prototype.getUnformattedValue = function() {\n return this.formatField_.unformat();\n };\n MaterialExtFormatfield.prototype['getUnformattedValue'] = MaterialExtFormatfield.prototype.getUnformattedValue;\n\n /*\n * Downgrade component\n * E.g remove listeners and clean up resources\n */\n MaterialExtFormatfield.prototype.mdlDowngrade_ = function() {\n this.formatField_.downgrade();\n };\n\n // The component registers itself. It can assume componentHandler is available\n // in the global scope.\n /* eslint no-undef: 0 */\n componentHandler.register({\n constructor: MaterialExtFormatfield,\n classAsString: FORMAT_FIELD_COMPONENT,\n cssClass: JS_FORMAT_FIELD,\n widget: true\n });\n\n})();\n\n\n\n// WEBPACK FOOTER //\n// ./src/formatfield/formatfield.js\n\n\n// WEBPACK FOOTER //\n// ./src/formatfield/formatfield.js","import './utils';\nimport './accordion/accordion';\nimport './collapsible/collapsible';\nimport './carousel/carousel';\nimport './lightboard/lightboard';\nimport './lightbox/lightbox';\nimport './menu-button/menu-button';\nimport './selectfield/selectfield';\nimport './formatfield/formatfield';\nimport './sticky-header/sticky-header';\n\n\n\n// WEBPACK FOOTER //\n// ./src/index.js\n\n\n// WEBPACK FOOTER //\n// ./src/index.js","/**\n * @license\n * Copyright 2016 Leif Olsen. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * This code is built with Google Material Design Lite,\n * which is Licensed under the Apache License, Version 2.0\n */\n\n/**\n * A lightboard is a translucent surface illuminated from behind, used for situations\n * where a shape laid upon the surface needs to be seen with high contrast. In the \"old days\" of photography\n * photograpers used a lightboard to get a quick view of their slides. The goal is to create a responsive lightbox\n * design, based on flex layout, similar to what is used in Adobe LightRoom to browse images.\n */\n\nimport {\n VK_ENTER,\n VK_SPACE,\n VK_END,\n VK_HOME,\n VK_ARROW_LEFT,\n VK_ARROW_UP,\n VK_ARROW_RIGHT,\n VK_ARROW_DOWN,\n IS_UPGRADED,\n MDL_RIPPLE,\n MDL_RIPPLE_COMPONENT,\n MDL_RIPPLE_EFFECT,\n MDL_RIPPLE_EFFECT_IGNORE_EVENTS\n} from '../utils/constants';\n\nconst MDL_RIPPLE_CONTAINER = 'mdlext-lightboard__slide__ripple-container';\n\n(function() {\n 'use strict';\n\n //const LIGHTBOARD = 'mdlext-lightboard';\n const LIGHTBOARD_ROLE = 'grid';\n const SLIDE = 'mdlext-lightboard__slide';\n const SLIDE_ROLE = 'gridcell';\n const SLIDE_TABSTOP = 'mdlext-lightboard__slide__frame';\n /**\n * @constructor\n * @param {Element} element The element that will be upgraded.\n */\n const MaterialExtLightboard = function MaterialExtLightboard(element) {\n // Stores the element.\n this.element_ = element;\n\n // Initialize instance.\n this.init();\n };\n window['MaterialExtLightboard'] = MaterialExtLightboard;\n\n\n // Helpers\n const getSlide = element => {\n return element ? element.closest(`.${SLIDE}`) : null;\n };\n\n\n\n // Private methods.\n\n /**\n * Select a slide, i.e. set aria-selected=\"true\"\n * @param element\n * @private\n */\n MaterialExtLightboard.prototype.selectSlide_ = function(element) {\n const slide = getSlide(element);\n if( slide && !slide.hasAttribute('aria-selected') ) {\n [...this.element_.querySelectorAll(`.${SLIDE}[aria-selected=\"true\"]`)]\n .forEach(selectedSlide => selectedSlide.removeAttribute('aria-selected'));\n\n slide.setAttribute('aria-selected', 'true');\n }\n };\n\n\n /**\n * Dispatch select event\n * @param {Element} slide The slide that caused the event\n * @private\n */\n MaterialExtLightboard.prototype.dispatchSelectEvent_ = function ( slide ) {\n this.element_.dispatchEvent(\n new CustomEvent('select', {\n bubbles: true,\n cancelable: true,\n detail: { source: slide }\n })\n );\n };\n\n /**\n * Handles custom command event, 'first', 'next', 'prev', 'last', 'select' or upgrade\n * @param event. A custom event\n * @private\n */\n MaterialExtLightboard.prototype.commandHandler_ = function( event ) {\n event.preventDefault();\n event.stopPropagation();\n\n if(event && event.detail) {\n this.command(event.detail);\n }\n };\n\n\n // Public methods\n\n /**\n * Initialize lightboard slides\n * @public\n */\n MaterialExtLightboard.prototype.upgradeSlides = function() {\n\n const addRipple = slide => {\n // Use slide frame as ripple container\n if(!slide.querySelector(`.${MDL_RIPPLE_CONTAINER}`)) {\n const a = slide.querySelector(`.${SLIDE_TABSTOP}`);\n if(a) {\n const rippleContainer = a;\n rippleContainer.classList.add(MDL_RIPPLE_CONTAINER);\n rippleContainer.classList.add(MDL_RIPPLE_EFFECT);\n const ripple = document.createElement('span');\n ripple.classList.add(MDL_RIPPLE);\n rippleContainer.appendChild(ripple);\n componentHandler.upgradeElement(rippleContainer, MDL_RIPPLE_COMPONENT);\n }\n }\n };\n\n const hasRippleEffect = this.element_.classList.contains(MDL_RIPPLE_EFFECT);\n\n [...this.element_.querySelectorAll(`.${SLIDE}`)].forEach( slide => {\n\n slide.setAttribute('role', SLIDE_ROLE);\n\n if(!slide.querySelector('a')) {\n slide.setAttribute('tabindex', '0');\n }\n if(hasRippleEffect) {\n addRipple(slide);\n }\n });\n };\n MaterialExtLightboard.prototype['upgradeSlides'] = MaterialExtLightboard.prototype.upgradeSlides;\n\n\n /**\n * Execute command\n * @param detail\n * @public\n */\n MaterialExtLightboard.prototype.command = function( detail ) {\n\n const firstSlide = () => {\n return this.element_.querySelector(`.${SLIDE}:first-child`);\n };\n\n const lastSlide = () => {\n return this.element_.querySelector(`.${SLIDE}:last-child`);\n };\n\n const nextSlide = () => {\n const slide = this.element_.querySelector(`.${SLIDE}[aria-selected=\"true\"]`).nextElementSibling;\n return slide ? slide : firstSlide();\n };\n\n const prevSlide = () => {\n const slide = this.element_.querySelector(`.${SLIDE}[aria-selected=\"true\"]`).previousElementSibling;\n return slide ? slide : lastSlide();\n };\n\n if(detail && detail.action) {\n\n const { action, target } = detail;\n\n let slide;\n switch (action.toLowerCase()) {\n case 'select':\n slide = getSlide(target);\n this.dispatchSelectEvent_(slide);\n break;\n case 'first':\n slide = firstSlide();\n break;\n case 'next':\n slide = nextSlide();\n break;\n case 'prev':\n slide = prevSlide();\n break;\n case 'last':\n slide = lastSlide();\n break;\n case 'upgrade':\n this.upgradeSlides();\n break;\n default:\n throw new Error(`Unknown action \"${action}\". Action must be one of \"first\", \"next\", \"prev\", \"last\", \"select\" or \"upgrade\"`);\n }\n\n if (slide) {\n const a = slide.querySelector('a');\n if (a) {\n a.focus();\n }\n else {\n slide.focus();\n }\n\n // Workaround for JSDom testing:\n // In JsDom 'element.focus()' does not trigger any focus event\n if(!slide.hasAttribute('aria-selected')) {\n this.selectSlide_(slide);\n }\n\n }\n }\n };\n MaterialExtLightboard.prototype['command'] = MaterialExtLightboard.prototype.command;\n\n\n /**\n * Initialize component\n */\n MaterialExtLightboard.prototype.init = function() {\n\n const keydownHandler = event => {\n\n if(event.target !== this.element_) {\n let action;\n let target;\n switch (event.keyCode) {\n case VK_HOME:\n action = 'first';\n break;\n case VK_END:\n action = 'last';\n break;\n case VK_ARROW_UP:\n case VK_ARROW_LEFT:\n action = 'prev';\n break;\n case VK_ARROW_DOWN:\n case VK_ARROW_RIGHT:\n action = 'next';\n break;\n case VK_ENTER:\n case VK_SPACE:\n action = 'select';\n target = event.target;\n break;\n }\n if(action) {\n event.preventDefault();\n event.stopPropagation();\n this.command( { action: action, target: target } );\n }\n }\n };\n\n const clickHandler = event => {\n event.preventDefault();\n event.stopPropagation();\n\n if(event.target !== this.element_) {\n this.command( { action: 'select', target: event.target } );\n }\n };\n\n const focusHandler = event => {\n event.preventDefault();\n event.stopPropagation();\n\n if(event.target !== this.element_) {\n this.selectSlide_(event.target);\n }\n };\n\n\n if (this.element_) {\n this.element_.setAttribute('role', LIGHTBOARD_ROLE);\n\n if (this.element_.classList.contains(MDL_RIPPLE_EFFECT)) {\n this.element_.classList.add(MDL_RIPPLE_EFFECT_IGNORE_EVENTS);\n }\n\n // Remove listeners, just in case ...\n this.element_.removeEventListener('command', this.commandHandler_);\n this.element_.removeEventListener('keydown', keydownHandler);\n this.element_.removeEventListener('click', clickHandler);\n this.element_.removeEventListener('focus', focusHandler);\n\n this.element_.addEventListener('command', this.commandHandler_.bind(this), false);\n this.element_.addEventListener('keydown', keydownHandler, true);\n this.element_.addEventListener('click', clickHandler, true);\n this.element_.addEventListener('focus', focusHandler, true);\n\n this.upgradeSlides();\n\n this.element_.classList.add(IS_UPGRADED);\n }\n };\n\n // The component registers itself. It can assume componentHandler is available\n // in the global scope.\n /* eslint no-undef: 0 */\n /* jshint undef:false */\n componentHandler.register({\n constructor: MaterialExtLightboard,\n classAsString: 'MaterialExtLightboard',\n cssClass: 'mdlext-js-lightboard',\n widget: true\n });\n\n})();\n\n\n\n// WEBPACK FOOTER //\n// ./src/lightboard/lightboard.js\n\n\n// WEBPACK FOOTER //\n// ./src/lightboard/lightboard.js","/**\n * @license\n * Copyright 2016 Leif Olsen. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * This code is built with Google Material Design Lite,\n * which is Licensed under the Apache License, Version 2.0\n */\n\n\n/**\n * Responsive Lightbox\n */\n\nimport fullThrottle from '../utils/full-throttle';\nimport {\n VK_ESC,\n VK_SPACE,\n VK_END,\n VK_HOME,\n VK_ARROW_LEFT,\n VK_ARROW_UP,\n VK_ARROW_RIGHT,\n VK_ARROW_DOWN,\n IS_UPGRADED\n} from '../utils/constants';\n\n(function() {\n 'use strict';\n\n const LIGHTBOX = 'mdlext-lightbox';\n const LIGHTBOX_SLIDER = 'mdlext-lightbox__slider';\n const LIGHTBOX_SLIDER_SLIDE = 'mdlext-lightbox__slider__slide';\n const STICKY_FOOTER = 'mdlext-lightbox--sticky-footer';\n const BUTTON = 'mdl-button';\n\n /**\n * https://github.com/google/material-design-lite/issues/4205\n * @constructor\n * @param {Element} element The element that will be upgraded.\n */\n const MaterialExtLightbox = function MaterialExtLightbox(element) {\n // Stores the element.\n this.element_ = element;\n\n // Initialize instance.\n this.init();\n };\n window['MaterialExtLightbox'] = MaterialExtLightbox;\n\n\n /**\n * Handle keypress\n * @param event\n * @private\n */\n MaterialExtLightbox.prototype.keyDownHandler_ = function(event) {\n\n if (event) {\n if ( event.keyCode === VK_ESC || event.keyCode === VK_SPACE\n || event.keyCode === VK_END || event.keyCode === VK_HOME\n || event.keyCode === VK_ARROW_UP || event.keyCode === VK_ARROW_LEFT\n || event.keyCode === VK_ARROW_DOWN || event.keyCode === VK_ARROW_RIGHT) {\n\n if(event.keyCode !== VK_ESC) {\n event.preventDefault();\n event.stopPropagation();\n }\n\n let action = 'first';\n if (event.keyCode === VK_END) {\n action = 'last';\n }\n else if (event.keyCode === VK_ARROW_UP || event.keyCode === VK_ARROW_LEFT) {\n action = 'prev';\n }\n else if (event.keyCode === VK_ARROW_DOWN || event.keyCode === VK_ARROW_RIGHT) {\n action = 'next';\n }\n else if (event.keyCode === VK_SPACE) {\n action = 'select';\n }\n else if (event.keyCode === VK_ESC) {\n action = 'cancel';\n }\n\n dispatchAction_(action, this);\n }\n }\n };\n\n /**\n * Handle button clicks\n * @param event\n * @private\n */\n MaterialExtLightbox.prototype.buttonClickHandler_ = function(event) {\n\n if (event) {\n event.preventDefault();\n event.stopPropagation();\n\n dispatchAction_(this.getAttribute('data-action') || '', this);\n\n const n = this.closest(`.${LIGHTBOX}`);\n if(n) {\n n.focus();\n }\n }\n };\n\n /**\n * Dispatches an action custom event\n * @param action\n * @param source\n * @param target\n * @private\n */\n const dispatchAction_ = (action, source, target = source) => {\n\n target.dispatchEvent(new CustomEvent('action', {\n bubbles: true,\n cancelable: true,\n detail: {\n action: action || '',\n source: source\n }\n }));\n };\n\n /**\n * Reposition dialog if component parent element is \"DIALOG\"\n * @param lightboxElement\n * @private\n */\n const repositionDialog_ = lightboxElement => {\n const footerHeight = (footer, isSticky) => isSticky && footer ? footer.offsetHeight : 0;\n\n const reposition = (dialog, fh) => {\n if (window.getComputedStyle(dialog).position === 'absolute') {\n const scrollTop = document.body.scrollTop || document.documentElement.scrollTop;\n const topValue = scrollTop + (window.innerHeight - dialog.offsetHeight - fh) / 2;\n dialog.style.top = `${Math.max(scrollTop, topValue)}px`;\n }\n };\n\n const p = lightboxElement.parentNode;\n const dialog = p && p.nodeName === 'DIALOG' ? p : null;\n\n if(dialog && dialog.hasAttribute('open')) {\n lightboxElement.style.width = 'auto';\n lightboxElement.style.maxWidth = '100%';\n const img = lightboxElement.querySelector('img');\n if(img) {\n lightboxElement.style.maxWidth = img.naturalWidth !== undefined ? `${img.naturalWidth}px` : `${img.width}px` || '100%';\n }\n\n const fh = footerHeight(lightboxElement.querySelector('footer'), lightboxElement.classList.contains(STICKY_FOOTER));\n const vh = Math.max(document.documentElement.clientHeight, window.innerHeight || 0) - fh;\n if (dialog.offsetHeight > vh) {\n let n = 0;\n while(dialog.offsetHeight > vh && ++n < 4) {\n lightboxElement.style.width = `${lightboxElement.offsetWidth * vh / lightboxElement.offsetHeight}px`;\n }\n }\n reposition(dialog, fh);\n }\n };\n\n /**\n * Handle image load\n * @param event\n * @private\n */\n\n MaterialExtLightbox.prototype.imgLoadHandler_ = function( /*event*/ ) {\n repositionDialog_(this);\n };\n\n\n /**\n * Handle image drag\n * @param event\n * @private\n */\n MaterialExtLightbox.prototype.imgDragHandler_ = function(event ) {\n\n const setStyles = ( element, properties ) => {\n //noinspection JSAnnotator\n for(const [key, value] of Object.entries(properties)) {\n element.style[key] = value;\n }\n // ... or:\n //for (const key in properties) {\n // element.style[key] = properties[key];\n //}\n };\n\n event.preventDefault();\n //event.stopPropagation();\n\n const x = event.clientX || (event.touches !== undefined ? event.touches[0].clientX : 0);\n\n const img = this;\n img.style.opacity = '0.2';\n\n const slider = document.createElement('div');\n slider.classList.add(LIGHTBOX_SLIDER);\n setStyles(slider, {'width': `${img.offsetWidth}px`, 'height': `${img.offsetHeight}px`} );\n\n let slide = document.createElement('div');\n slide.classList.add(LIGHTBOX_SLIDER_SLIDE);\n slide.textContent = '>';\n setStyles(slide, {\n 'width' : `${img.offsetWidth}px`,\n 'height' : `${img.offsetHeight}px`,\n 'line-height' : `${img.offsetHeight}px`,\n 'font-size' : `${img.offsetHeight/4}px`,\n 'text-align' : 'right',\n 'background-image': `url(\"${img.getAttribute('data-img-url-prev') || ''}\")`\n });\n slider.appendChild(slide);\n\n slide = document.createElement('div');\n slide.classList.add(LIGHTBOX_SLIDER_SLIDE);\n setStyles(slide, {\n 'width' : `${img.offsetWidth}px`,\n 'height' : `${img.offsetHeight}px`,\n 'background-image': `url(\"${img.src}\")`\n });\n slider.appendChild(slide);\n\n slide = document.createElement('div');\n slide.classList.add(LIGHTBOX_SLIDER_SLIDE);\n slide.textContent = '<';\n setStyles(slide, {\n 'width' : `${img.offsetWidth}px`,\n 'height' : `${img.offsetHeight}px`,\n 'line-height' : `${img.offsetHeight}px`,\n 'font-size' : `${img.offsetHeight/4}px`,\n 'text-align' : 'left',\n 'background-image': `url(\"${img.getAttribute('data-img-url-next') || ''}\")`\n });\n slider.appendChild(slide);\n\n img.parentNode.appendChild(slider);\n\n\n // drag handler\n const drag = e => {\n e.preventDefault();\n const dx = (e.clientX || (e.touches !== undefined ? e.touches[0].clientX : 0)) - x; // TODO: maybe rewrite to improve performance\n\n if(slider.offsetWidth - Math.abs(dx) > 19) {\n slider.style.left = `${dx}px`;\n }\n };\n\n // end drag handler\n const endDrag = e => {\n e.preventDefault();\n //e.stopPropagation();\n\n window.removeEventListener('mousemove', drag);\n window.removeEventListener('touchmove', drag);\n window.removeEventListener('mouseup', endDrag);\n window.removeEventListener('touchend', endDrag);\n\n const dx = slider.offsetLeft;\n img.parentNode.removeChild(slider);\n img.style.opacity = '1.0';\n\n if(Math.abs(dx) > 19) {\n dispatchAction_( (dx > 0 ? 'prev' : 'next') , img);\n }\n };\n\n window.addEventListener('mousemove', drag);\n window.addEventListener('touchmove', drag);\n window.addEventListener('mouseup', endDrag);\n window.addEventListener('touchend',endDrag);\n };\n\n\n /**\n * Initialize component\n */\n MaterialExtLightbox.prototype.init = function() {\n\n if (this.element_) {\n // Do the init required for this component to work\n this.element_.addEventListener('keydown', this.keyDownHandler_.bind(this.element_), true);\n\n if(!Number.isInteger(this.element_.getAttribute('tabindex'))) {\n this.element_.setAttribute('tabindex', 1);\n }\n\n [...this.element_.querySelectorAll(`.${BUTTON}`)].forEach( button =>\n button.addEventListener('click', this.buttonClickHandler_.bind(button), false)\n );\n\n const figcaption = this.element_.querySelector('figcaption');\n if(figcaption) {\n figcaption.addEventListener('click', this.buttonClickHandler_.bind(figcaption), false);\n }\n\n const footer = this.element_.querySelector('footer');\n if(footer) {\n footer.addEventListener('click', this.buttonClickHandler_.bind(footer), false);\n }\n\n const img = this.element_.querySelector('img');\n if(img) {\n img.addEventListener('load', this.imgLoadHandler_.bind(this.element_), false);\n img.addEventListener('click', e => e.preventDefault(), true);\n img.addEventListener('mousedown', this.imgDragHandler_.bind(img), true);\n img.addEventListener('touchstart', this.imgDragHandler_.bind(img), true);\n }\n window.addEventListener('resize', fullThrottle( () => repositionDialog_(this.element_) ));\n window.addEventListener('orientationchange', () => repositionDialog_(this.element_));\n\n // Set upgraded flag\n this.element_.classList.add(IS_UPGRADED);\n }\n };\n\n /*\n * Downgrade component\n * E.g remove listeners and clean up resources\n *\n * Nothing to downgrade\n *\n MaterialExtLightbox.prototype.mdlDowngrade_ = function() {\n };\n */\n\n /**\n * The component registers itself. It can assume componentHandler is available in the global scope.\n */\n /* jshint undef:false */\n componentHandler.register({\n constructor: MaterialExtLightbox,\n classAsString: 'MaterialExtLightbox',\n cssClass: 'mdlext-js-lightbox'\n });\n\n})();\n\n\n\n\n// WEBPACK FOOTER //\n// ./src/lightbox/lightbox.js\n\n\n// WEBPACK FOOTER //\n// ./src/lightbox/lightbox.js","/**\n * @license\n * Copyright 2016 Leif Olsen. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * This code is built with Google Material Design Lite,\n * which is Licensed under the Apache License, Version 2.0\n */\n\n\n/**\n * A menu button is a button that opens a menu. It is often styled as a\n * typical push button with a downward pointing arrow or triangle to hint\n * that activating the button will display a menu.\n */\nimport { randomString } from '../utils/string-utils';\nimport fullThrottle from '../utils/full-throttle';\nimport {\n VK_TAB,\n VK_ENTER,\n VK_ESC,\n VK_SPACE,\n VK_END,\n VK_HOME,\n VK_ARROW_LEFT,\n VK_ARROW_UP,\n VK_ARROW_RIGHT,\n VK_ARROW_DOWN,\n IS_UPGRADED,\n} from '../utils/constants';\n\nimport { getScrollParents, tether } from '../utils/dom-utils';\n\nconst JS_MENU_BUTTON = 'mdlext-js-menu-button';\nconst MENU_BUTTON_MENU = 'mdlext-menu';\nconst MENU_BUTTON_MENU_ITEM = 'mdlext-menu__item';\nconst MENU_BUTTON_MENU_ITEM_SEPARATOR = 'mdlext-menu__item-separator';\n//const MDL_LAYOUT_CONTENT = 'mdl-layout__content';\n\n/**\n * Creates the menu controlled by the menu button\n * @param element\n * @return {{element: Element, selected: Element, open: (function(*=)), removeListeners: (function()), downgrade: (function())}}\n */\n\nconst menuFactory = element => {\n\n let ariaControls = null;\n let parentNode = null;\n\n const removeAllSelected = () => {\n [...element.querySelectorAll(`.${MENU_BUTTON_MENU_ITEM}[aria-selected=\"true\"]`)]\n .forEach(selectedItem => selectedItem.removeAttribute('aria-selected'));\n };\n\n const setSelected = (item, force=false) => {\n if(force || (item && !item.hasAttribute('aria-selected'))) {\n removeAllSelected();\n if(item) {\n item.setAttribute('aria-selected', 'true');\n }\n }\n };\n\n const getSelected = () => {\n return element.querySelector(`.${MENU_BUTTON_MENU_ITEM}[aria-selected=\"true\"]`);\n };\n\n const isDisabled = item => item && item.hasAttribute('disabled');\n\n const isSeparator = item => item && item.classList.contains(MENU_BUTTON_MENU_ITEM_SEPARATOR);\n\n const focus = item => {\n if(item) {\n item = item.closest(`.${MENU_BUTTON_MENU_ITEM}`);\n }\n if(item) {\n item.focus();\n }\n };\n\n const nextItem = current => {\n let n = current.nextElementSibling;\n if(!n) {\n n = element.firstElementChild;\n }\n if(!isDisabled(n) && !isSeparator(n)) {\n focus(n);\n }\n else {\n let i = element.children.length;\n while(n && i-- > 0) {\n if(isDisabled(n) || isSeparator(n)) {\n n = n.nextElementSibling;\n if(!n) {\n n = element.firstElementChild;\n }\n }\n else {\n focus(n);\n break;\n }\n }\n }\n };\n\n const previousItem = current => {\n let p = current.previousElementSibling;\n if(!p) {\n p = element.lastElementChild;\n }\n if(!isDisabled(p) && !isSeparator(p)) {\n focus(p);\n }\n else {\n let i = element.children.length;\n while(p && i-- > 0) {\n if(isDisabled(p) || isSeparator(p)) {\n p = p.previousElementSibling;\n if(!p) {\n p = element.lastElementChild;\n }\n }\n else {\n focus(p);\n break;\n }\n }\n }\n };\n\n const firstItem = () => {\n const item = element.firstElementChild;\n if(isDisabled(item) || isSeparator(item) ) {\n nextItem(item);\n }\n else {\n focus(item);\n }\n };\n\n const lastItem = () => {\n const item = element.lastElementChild;\n if(isDisabled(item) || isSeparator(item)) {\n previousItem(item);\n }\n else {\n focus(item);\n }\n };\n\n const selectItem = item => {\n if(item && !isDisabled(item) && !isSeparator(item)) {\n setSelected(item);\n close(true, item);\n }\n };\n\n const keyDownHandler = event => {\n\n const item = event.target.closest(`.${MENU_BUTTON_MENU_ITEM}`);\n\n switch (event.keyCode) {\n case VK_ARROW_UP:\n case VK_ARROW_LEFT:\n if(item) {\n previousItem(item);\n }\n else {\n firstItem();\n }\n break;\n\n case VK_ARROW_DOWN:\n case VK_ARROW_RIGHT:\n if(item) {\n nextItem(item);\n }\n else {\n lastItem();\n }\n break;\n\n case VK_HOME:\n firstItem();\n break;\n\n case VK_END:\n lastItem();\n break;\n\n case VK_SPACE:\n case VK_ENTER:\n selectItem(item);\n break;\n\n case VK_ESC:\n close(true);\n break;\n\n case VK_TAB:\n // We do not have a \"natural\" tab order from menu, so the best we can do is to set focus back to the button\n close(true);\n break;\n\n default:\n return;\n }\n event.preventDefault();\n };\n\n\n const blurHandler = event => {\n\n // See: https://github.com/facebook/react/issues/2011\n const t = event.relatedTarget ||\n event.explicitOriginalTarget || // FF\n document.activeElement; // IE11\n\n //console.log('***** blur, target, relatedTarget', event.target, t);\n\n try {\n if (t) {\n if (t.closest(`.${MENU_BUTTON_MENU}`) !== element && shouldClose(t)) {\n close();\n }\n }\n else {\n close();\n }\n }\n catch(err) {\n // FF throws error: \"TypeError: n.closest is not a function\" if related target is a text node\n close();\n }\n };\n\n const clickHandler = event => {\n //console.log('***** click, target', event.target);\n\n event.preventDefault();\n const t = event.target;\n if (t && t.closest(`.${MENU_BUTTON_MENU}`) === element) {\n const item = t.closest(`.${MENU_BUTTON_MENU_ITEM}`);\n if (item) {\n selectItem(item);\n }\n }\n else {\n if (shouldClose(t)) {\n close();\n }\n }\n };\n\n const touchStartHandler = event => {\n //console.log('***** touchStart, target', event.target);\n\n const t = event.target;\n if(!(t && t.closest(`.${MENU_BUTTON_MENU}`) === element)) {\n if (event.type === 'touchstart') {\n event.preventDefault();\n }\n close();\n }\n };\n\n const addListeners = () => {\n element.addEventListener('keydown', keyDownHandler, false);\n element.addEventListener('blur', blurHandler, true);\n element.addEventListener('click', clickHandler, true);\n document.documentElement.addEventListener('touchstart', touchStartHandler, true);\n };\n\n const removeListeners = () => {\n element.removeEventListener('keydown', keyDownHandler, false);\n element.removeEventListener('blur', blurHandler, true);\n element.removeEventListener('click', clickHandler, true);\n document.documentElement.removeEventListener('touchstart', touchStartHandler, true);\n };\n\n const open = (controlElement, position='first') => {\n\n ariaControls = controlElement.closest(`.${JS_MENU_BUTTON}`);\n\n element.style['min-width'] = `${Math.max(124, controlElement.getBoundingClientRect().width)}px`;\n element.removeAttribute('hidden');\n tether(controlElement, element);\n\n let item;\n switch (position.toLowerCase()) {\n case 'first':\n firstItem();\n break;\n\n case 'last':\n lastItem();\n break;\n\n case 'selected':\n item = getSelected();\n if(item && !item.hasAttribute('disabled')) {\n focus(item);\n }\n else {\n firstItem();\n }\n break;\n }\n\n addListeners();\n };\n\n\n const shouldClose = target => {\n //console.log('***** shouldClose');\n\n let result = false;\n const btn = (target && target.closest(`.${JS_MENU_BUTTON}`)) || null;\n if(!btn) {\n result = true;\n }\n else if(btn.getAttribute('aria-controls') === element.id) {\n if(btn !== ariaControls) {\n result = true;\n }\n }\n else {\n result = true;\n }\n return result;\n };\n\n const close = (forceFocus = false, item = null) => {\n removeListeners();\n\n element.dispatchEvent(\n new CustomEvent('_closemenu', {\n bubbles: true,\n cancelable: true,\n detail: { forceFocus: forceFocus, item: item }\n })\n );\n };\n\n const addWaiAria = () => {\n if (!element.hasAttribute('id')) {\n // Generate a random id\n element.id = `menu-button-${randomString()}`;\n }\n element.setAttribute('tabindex', '-1');\n element.setAttribute('role', 'menu');\n element.setAttribute('hidden', '');\n\n [...element.querySelectorAll(`.${MENU_BUTTON_MENU_ITEM}`)].forEach( menuitem => {\n menuitem.setAttribute('tabindex', '-1');\n menuitem.setAttribute('role', 'menuitem');\n });\n\n [...element.querySelectorAll(`.${MENU_BUTTON_MENU_ITEM_SEPARATOR}`)].forEach( menuitem => {\n menuitem.setAttribute('role', 'separator');\n });\n };\n\n const init = () => {\n addWaiAria();\n parentNode = element.parentNode;\n element.classList.add('is-upgraded');\n };\n\n const downgrade = () => {\n removeListeners();\n if(element.parentNode !== parentNode) {\n parentNode.appendChild(element);\n }\n element.classList.remove('is-upgraded');\n };\n\n init();\n\n return {\n /**\n * Get the menu element\n * @returns {Element} the menu element\n */\n get element() {\n return element;\n },\n\n /**\n * Set selected menu item\n * @param item\n */\n set selected(item) {\n setSelected(item, true);\n },\n\n /**\n * Open menu\n * @param {Element} controlElement the element where the menu should be aligned to\n * @param {String} position menuElement item to receive focus after menu element is opened\n */\n open: (controlElement, position='first') => open(controlElement, position),\n\n /**\n * Remove event listeners.\n */\n removeListeners: () => removeListeners(),\n\n /**\n * Downgrade menu\n */\n downgrade: () => downgrade(),\n };\n};\n\n\n/**\n * The menubutton component\n */\n\nclass MenuButton {\n\n constructor(element) {\n this.element = element;\n this.focusElement = undefined;\n this.focusElementLastScrollPosition = undefined;\n this.scrollElements = [];\n this.menu = undefined;\n this.selectedItem = null;\n this.init();\n }\n\n keyDownHandler = event => {\n if(!this.isDisabled()) {\n switch (event.keyCode) {\n case VK_ARROW_UP:\n this.openMenu('last');\n break;\n\n case VK_ARROW_DOWN:\n this.openMenu();\n break;\n\n case VK_SPACE:\n case VK_ENTER:\n this.openMenu('selected');\n break;\n\n case VK_ESC:\n this.closeMenu();\n break;\n\n case VK_TAB:\n this.closeMenu();\n return;\n\n default:\n return;\n }\n }\n //event.stopPropagation();\n event.preventDefault();\n };\n\n clickHandler = () => {\n if(!this.isDisabled()) {\n if(this.element.getAttribute('aria-expanded').toLowerCase() === 'true') {\n this.closeMenu(true);\n }\n else {\n this.openMenu('selected');\n }\n }\n };\n\n /**\n * Re-position menu if content is scrolled, window is resized or orientation change\n * @see https://javascriptweblog.wordpress.com/2015/11/02/of-classes-and-arrow-functions-a-cautionary-tale/\n */\n recalcMenuPosition = fullThrottle( () => {\n const c = this.focusElement.getBoundingClientRect();\n const dx = this.focusElementLastScrollPosition.left - c.left;\n const dy = this.focusElementLastScrollPosition.top - c.top;\n const left = (parseFloat(this.menu.element.style.left) || 0) - dx;\n const top = (parseFloat(this.menu.element.style.top) || 0) - dy;\n\n this.menu.element.style.left = `${left}px`;\n this.menu.element.style.top = `${top}px`;\n this.focusElementLastScrollPosition = c;\n });\n\n\n positionChangeHandler = () => {\n this.recalcMenuPosition(this);\n };\n\n closeMenuHandler = event => {\n if(event && event.detail) {\n if(event.detail.item && event.detail.item !== this.selectedItem) {\n this.selectedItem = event.detail.item;\n this.dispatchMenuSelect();\n }\n this.closeMenu(event.detail.forceFocus);\n }\n };\n\n dispatchMenuSelect() {\n this.element.dispatchEvent(\n new CustomEvent('menuselect', {\n bubbles: true,\n cancelable: true,\n detail: { source: this.selectedItem }\n })\n );\n }\n\n isDisabled() {\n return this.element.hasAttribute('disabled');\n }\n\n removeListeners() {\n this.element.removeEventListener('keydown', this.keyDownHandler);\n this.element.removeEventListener('click', this.clickHandler);\n }\n\n openMenu(position='first') {\n\n if(!this.isDisabled() && this.menu) {\n\n // Close the menu if button position change\n this.scrollElements = getScrollParents(this.element);\n this.scrollElements.forEach(el => el.addEventListener('scroll', this.positionChangeHandler));\n\n window.addEventListener('resize', this.positionChangeHandler);\n window.addEventListener('orientationchange', this.positionChangeHandler);\n this.menu.element.addEventListener('_closemenu', this.closeMenuHandler);\n\n this.menu.selected = this.selectedItem;\n this.menu.open(this.focusElement, position);\n this.element.setAttribute('aria-expanded', 'true');\n\n this.focusElementLastScrollPosition = this.focusElement.getBoundingClientRect();\n }\n }\n\n closeMenu(forceFocus = false) {\n if(this.menu) {\n this.menu.removeListeners();\n this.scrollElements.forEach(el => el.removeEventListener('scroll', this.positionChangeHandler));\n window.removeEventListener('resize', this.positionChangeHandler);\n window.removeEventListener('orientationchange', this.positionChangeHandler);\n this.menu.element.removeEventListener('_closemenu', this.closeMenuHandler);\n\n if (forceFocus) {\n this.focus();\n }\n this.element.setAttribute('aria-expanded', 'false');\n this.menu.element.setAttribute('hidden', '');\n }\n }\n\n focus() {\n if(!this.isDisabled()) {\n this.focusElement.focus();\n }\n }\n\n init() {\n const addListeners = () => {\n this.element.addEventListener('keydown', this.keyDownHandler);\n this.element.addEventListener('click', this.clickHandler);\n };\n\n const addWaiAria = () => {\n this.element.setAttribute('role', 'button');\n this.element.setAttribute('aria-expanded', 'false');\n this.element.setAttribute('aria-haspopup', 'true');\n };\n\n const addFocusElement = () => {\n this.focusElement = this.element.querySelector('input[type=\"text\"]');\n if(!this.focusElement) {\n this.focusElement = this.element;\n\n if(!(this.focusElement.tagName.toLowerCase() === 'button' || this.focusElement.tagName.toLowerCase() === 'input')) {\n if (!this.focusElement.hasAttribute('tabindex')) {\n this.focusElement.setAttribute('tabindex', '0');\n }\n }\n }\n };\n\n const moveElementToDocumentBody = (element) => {\n // To position an element on top of all other z-indexed elements, the element should be moved to document.body\n // See: https://philipwalton.com/articles/what-no-one-told-you-about-z-index/\n\n if(element.parentNode !== document.body) {\n return document.body.appendChild(element);\n }\n return element;\n };\n\n const findMenuElement = () => {\n let menuElement;\n const menuElementId = this.element.getAttribute('aria-controls');\n if(menuElementId !== null) {\n menuElement = document.querySelector(`#${menuElementId }`);\n }\n else {\n menuElement = this.element.parentNode.querySelector(`.${MENU_BUTTON_MENU}`);\n }\n return menuElement;\n };\n\n const addMenu = () => {\n const menuElement = findMenuElement();\n if(menuElement) {\n if(menuElement.componentInstance) {\n this.menu = menuElement.componentInstance;\n }\n else {\n this.menu = menuFactory(menuElement);\n menuElement.componentInstance = this.menu;\n moveElementToDocumentBody(menuElement);\n }\n this.element.setAttribute('aria-controls', this.menu.element.id);\n }\n };\n\n addFocusElement();\n addWaiAria();\n addMenu();\n this.removeListeners();\n addListeners();\n }\n\n downgrade() {\n if(this.menu) {\n // Do not downgrade menu if there are other buttons sharing this menu\n const related = [...document.querySelectorAll(`.${JS_MENU_BUTTON}[aria-controls=\"${this.element.getAttribute('aria-controls')}\"]`)];\n if(related.filter( c => c !== this.element && c.getAttribute('data-upgraded').indexOf('MaterialExtMenuButton') >= 0).length === 0) {\n this.menu.downgrade();\n }\n }\n this.removeListeners();\n }\n\n}\n\n(function() {\n 'use strict';\n\n /**\n * https://github.com/google/material-design-lite/issues/4205\n * @constructor\n * @param {Element} element The element that will be upgraded.\n */\n const MaterialExtMenuButton = function MaterialExtMenuButton(element) {\n this.element_ = element;\n this.menuButton_ = null;\n\n // Initialize instance.\n this.init();\n };\n window['MaterialExtMenuButton'] = MaterialExtMenuButton;\n\n\n // Public methods.\n\n /**\n * Get the menu element controlled by this button, null if no menu is controlled by this button\n * @public\n */\n MaterialExtMenuButton.prototype.getMenuElement = function() {\n return this.menuButton_.menu ? this.menuButton_.menu.element : null;\n };\n MaterialExtMenuButton.prototype['getMenuElement'] = MaterialExtMenuButton.prototype.getMenuElement;\n\n /**\n * Open menu\n * @public\n * @param {String} position one of \"first\", \"last\" or \"selected\"\n */\n MaterialExtMenuButton.prototype.openMenu = function(position) {\n this.menuButton_.openMenu(position);\n };\n MaterialExtMenuButton.prototype['openMenu'] = MaterialExtMenuButton.prototype.openMenu;\n\n /**\n * Close menu\n * @public\n */\n MaterialExtMenuButton.prototype.closeMenu = function() {\n this.menuButton_.closeMenu(true);\n };\n MaterialExtMenuButton.prototype['closeMenu'] = MaterialExtMenuButton.prototype.closeMenu;\n\n /**\n * Get selected menu item\n * @public\n * @returns {Element} The selected menu item or null if no item selected\n */\n MaterialExtMenuButton.prototype.getSelectedMenuItem = function() {\n return this.menuButton_.selectedItem;\n };\n MaterialExtMenuButton.prototype['getSelectedMenuItem'] = MaterialExtMenuButton.prototype.getSelectedMenuItem;\n\n\n /**\n * Set (default) selected menu item\n * @param {Element} item\n */\n MaterialExtMenuButton.prototype.setSelectedMenuItem = function(item) {\n this.menuButton_.selectedItem = item;\n };\n MaterialExtMenuButton.prototype['setSelectedMenuItem'] = MaterialExtMenuButton.prototype.setSelectedMenuItem;\n\n /**\n * Initialize component\n */\n MaterialExtMenuButton.prototype.init = function() {\n if (this.element_) {\n this.menuButton_ = new MenuButton(this.element_);\n this.element_.addEventListener('mdl-componentdowngraded', this.mdlDowngrade_.bind(this));\n this.element_.classList.add(IS_UPGRADED);\n }\n };\n\n /**\n * Downgrade component\n * E.g remove listeners and clean up resources\n */\n MaterialExtMenuButton.prototype.mdlDowngrade_ = function() {\n this.menuButton_.downgrade();\n };\n\n // The component registers itself. It can assume componentHandler is available\n // in the global scope.\n /* eslint no-undef: 0 */\n componentHandler.register({\n constructor: MaterialExtMenuButton,\n classAsString: 'MaterialExtMenuButton',\n cssClass: JS_MENU_BUTTON,\n widget: true\n });\n})();\n\n\n\n// WEBPACK FOOTER //\n// ./src/menu-button/menu-button.js\n\n\n// WEBPACK FOOTER //\n// ./src/menu-button/menu-button.js","/**\n * @license\n * Copyright 2016 Leif Olsen. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * This code is built with Google Material Design Lite,\n * which is Licensed under the Apache License, Version 2.0\n */\n\n/*\n * Copied/Modified from https://github.com/google/material-design-lite/tree/master/src/textfield\n */\n\nimport { randomString } from '../utils/string-utils';\nimport {\n IS_DIRTY,\n IS_FOCUSED,\n IS_DISABLED,\n IS_INVALID,\n IS_UPGRADED\n} from '../utils/constants';\n\n(function() {\n 'use strict';\n const LABEL = 'mdlext-selectfield__label';\n const INPUT = 'mdlext-selectfield__select';\n\n /**\n * Class constructor for Selectfield MDLEXT component.\n * Implements MDL component design pattern defined at:\n * https://github.com/jasonmayes/mdl-component-design-pattern\n *\n * @constructor\n * @param {HTMLElement} element The element that will be upgraded.\n */\n const MaterialExtSelectfield = function MaterialExtSelectfield(element) {\n this.element_ = element;\n this.init(); // Initialize instance.\n };\n\n window['MaterialExtSelectfield'] = MaterialExtSelectfield;\n\n /**\n * Handle focus.\n *\n * @param {Event} event The event that fired.\n * @private\n */\n /*eslint no-unused-vars: 0*/\n MaterialExtSelectfield.prototype.onFocus_ = function( /*event*/ ) {\n this.element_.classList.add(IS_FOCUSED);\n };\n\n /**\n * Handle lost focus.\n *\n * @param {Event} event The event that fired.\n * @private\n */\n /*eslint no-unused-vars: 0*/\n MaterialExtSelectfield.prototype.onBlur_ = function( /*event*/ ) {\n this.element_.classList.remove(IS_FOCUSED);\n };\n\n /**\n * Handle reset event from out side.\n *\n * @param {Event} event The event that fired.\n * @private\n */\n MaterialExtSelectfield.prototype.onReset_ = function( /*event*/ ) {\n this.updateClasses_();\n };\n\n /**\n * Handle class updates.\n *\n * @private\n */\n MaterialExtSelectfield.prototype.updateClasses_ = function() {\n this.checkDisabled();\n this.checkValidity();\n this.checkDirty();\n this.checkFocus();\n };\n\n // Public methods.\n\n /**\n * Check the disabled state and update field accordingly.\n *\n * @public\n */\n MaterialExtSelectfield.prototype.checkDisabled = function() {\n if (this.select_.disabled) {\n this.element_.classList.add(IS_DISABLED);\n } else {\n this.element_.classList.remove(IS_DISABLED);\n }\n };\n MaterialExtSelectfield.prototype['checkDisabled'] = MaterialExtSelectfield.prototype.checkDisabled;\n\n\n /**\n * Check the focus state and update field accordingly.\n *\n * @public\n */\n MaterialExtSelectfield.prototype.checkFocus = function() {\n // Note: element.querySelector(':focus') always return null in JsDom, even if select element has focus\n /*eslint no-extra-boolean-cast: 0*/\n if (Boolean(this.element_.querySelector(':focus'))) {\n this.element_.classList.add(IS_FOCUSED);\n } else {\n this.element_.classList.remove(IS_FOCUSED);\n }\n };\n\n MaterialExtSelectfield.prototype['checkFocus'] = MaterialExtSelectfield.prototype.checkFocus;\n\n\n /**\n * Check the validity state and update field accordingly.\n *\n * @public\n */\n MaterialExtSelectfield.prototype.checkValidity = function() {\n\n /* Don't think it makes any sense to check validity.\n Tests I've done, so far, indicates that setting an illegal value via JS returns selectedIndex=0\n\n if (this.select_.validity) {\n if (this.select_.validity.valid) {\n this.element_.classList.remove(this.CssClasses_.IS_INVALID);\n } else {\n this.element_.classList.add(this.CssClasses_.IS_INVALID);\n }\n }\n */\n };\n\n MaterialExtSelectfield.prototype['checkValidity'] = MaterialExtSelectfield.prototype.checkValidity;\n\n /**\n * Check the dirty state and update field accordingly.\n *\n * @public\n */\n MaterialExtSelectfield.prototype.checkDirty = function() {\n if (this.select_.value && this.select_.value.length > 0) {\n this.element_.classList.add(IS_DIRTY);\n } else {\n this.element_.classList.remove(IS_DIRTY);\n }\n };\n\n MaterialExtSelectfield.prototype['checkDirty'] = MaterialExtSelectfield.prototype.checkDirty;\n\n /**\n * Disable select field.\n *\n * @public\n */\n MaterialExtSelectfield.prototype.disable = function() {\n this.select_.disabled = true;\n this.updateClasses_();\n };\n\n MaterialExtSelectfield.prototype['disable'] = MaterialExtSelectfield.prototype.disable;\n\n /**\n * Enable select field.\n *\n * @public\n */\n MaterialExtSelectfield.prototype.enable = function() {\n this.select_.disabled = false;\n this.updateClasses_();\n };\n\n MaterialExtSelectfield.prototype['enable'] = MaterialExtSelectfield.prototype.enable;\n\n /**\n * Update select field value.\n *\n * @param {string} value The value to which to set the control (optional).\n * @public\n */\n MaterialExtSelectfield.prototype.change = function(value) {\n this.select_.value = value || '';\n this.updateClasses_();\n };\n MaterialExtSelectfield.prototype['change'] = MaterialExtSelectfield.prototype.change;\n\n /**\n * Initialize element.\n */\n MaterialExtSelectfield.prototype.init = function() {\n if (this.element_) {\n this.label_ = this.element_.querySelector(`.${LABEL}`);\n this.select_ = this.element_.querySelector(`.${INPUT}`);\n\n if (this.select_) {\n // Remove listeners, just in case ...\n this.select_.removeEventListener('change', this.updateClasses_);\n this.select_.removeEventListener('focus', this.onFocus_);\n this.select_.removeEventListener('blur', this.onBlur_);\n this.select_.removeEventListener('reset', this.onReset_);\n\n this.select_.addEventListener('change', this.updateClasses_.bind(this));\n this.select_.addEventListener('focus', this.onFocus_.bind(this));\n this.select_.addEventListener('blur', this.onBlur_.bind(this));\n this.select_.addEventListener('reset', this.onReset_.bind(this));\n\n if(this.label_) {\n let id;\n if(!this.select_.hasAttribute('id')) {\n id = `select-${randomString()}`;\n this.select_.id = id;\n }\n else {\n id = this.select_.id;\n }\n\n if(!this.label_.hasAttribute('for')) {\n this.label_.setAttribute('for', id);\n }\n }\n\n const invalid = this.element_.classList.contains(IS_INVALID);\n this.updateClasses_();\n this.element_.classList.add(IS_UPGRADED);\n\n if (invalid) {\n this.element_.classList.add(IS_INVALID);\n }\n if (this.select_.hasAttribute('autofocus')) {\n this.element_.focus();\n this.checkFocus();\n }\n }\n }\n };\n\n /**\n * Downgrade component\n * E.g remove listeners and clean up resources\n *\n * Nothing to downgrade\n *\n MaterialExtSelectfield.prototype.mdlDowngrade_ = function() {\n 'use strict';\n console.log('***** MaterialExtSelectfield.mdlDowngrade ');\n };\n */\n\n // The component registers itself. It can assume componentHandler is available\n // in the global scope.\n /*eslint no-undef: 0*/\n componentHandler.register({\n constructor: MaterialExtSelectfield,\n classAsString: 'MaterialExtSelectfield',\n cssClass: 'mdlext-js-selectfield',\n widget: true\n });\n})();\n\n\n\n// WEBPACK FOOTER //\n// ./src/selectfield/selectfield.js\n\n\n// WEBPACK FOOTER //\n// ./src/selectfield/selectfield.js","/**\n * @license\n * Copyright 2016 Leif Olsen. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * This code is built with Google Material Design Lite,\n * which is Licensed under the Apache License, Version 2.0\n */\n\n/**\n * A sticky header makes site navigation easily accessible anywhere on the page and saves content space at the same.\n * The header should auto-hide, i.e. hiding the header automatically when a user starts scrolling down the page and\n * bringing the header back when a user might need it: they reach the bottom of the page or start scrolling up.\n */\n\nimport fullThrottle from '../utils/full-throttle';\nimport { jsonStringToObject } from '../utils/json-utils';\nimport {\n IS_UPGRADED\n} from '../utils/constants';\n\n\n(function() {\n 'use strict';\n const MDL_LAYOUT_CONTENT = 'mdl-layout__content';\n const IS_SCROLL_CLASS = 'mdlext-is-scroll';\n\n\n /**\n * @constructor\n * @param {Element} element The element that will be upgraded.\n */\n const MaterialExtStickyHeader = function MaterialExtStickyHeader(element) {\n // Stores the element.\n this.header_ = element;\n\n // Heder listens to scroll events from content\n this.content_ = null;\n this.lastScrollTop_ = 0;\n\n // Default config\n this.config_ = {\n visibleAtScrollEnd: false\n };\n\n this.mutationObserver_ = null;\n\n this.drawing_ = false;\n\n // Initialize instance.\n this.init();\n };\n\n window['MaterialExtStickyHeader'] = MaterialExtStickyHeader;\n\n\n /**\n * Update header width\n * @private\n */\n MaterialExtStickyHeader.prototype.recalcWidth_ = function() {\n this.header_.style.width = `${this.content_.clientWidth}px`;\n };\n\n const throttleResize = fullThrottle(self => self.recalcWidth_() );\n\n /**\n * Adjust header width when window resizes or oreientation changes\n * @param event\n * @private\n */\n MaterialExtStickyHeader.prototype.resizeHandler_ = function( /* event */ ) {\n throttleResize(this);\n };\n\n\n /**\n * Update header position\n * @private\n */\n MaterialExtStickyHeader.prototype.reposition_ = function() {\n\n const currentContentScrollTop = this.content_.scrollTop;\n const scrollDiff = this.lastScrollTop_ - currentContentScrollTop;\n\n if(currentContentScrollTop <= 0) {\n // Scrolled to the top. Header sticks to the top\n this.header_.style.top = '0';\n this.header_.classList.remove(IS_SCROLL_CLASS);\n }\n else if(scrollDiff > 0) {\n\n if(scrollDiff >= this.header_.offsetHeight) {\n\n // Scrolled up. Header slides in\n const headerTop = (parseInt( window.getComputedStyle( this.header_ ).getPropertyValue( 'top' ) ) || 0);\n if(headerTop != 0) {\n this.header_.style.top = '0';\n this.header_.classList.add(IS_SCROLL_CLASS);\n }\n this.lastScrollTop_ = currentContentScrollTop;\n }\n return;\n }\n else if(scrollDiff < 0) {\n // Scrolled down\n this.header_.classList.add(IS_SCROLL_CLASS);\n let headerTop = (parseInt( window.getComputedStyle( this.header_ ).getPropertyValue( 'top' ) ) || 0);\n\n if (this.content_.scrollHeight - this.content_.scrollTop <= this.content_.offsetHeight) {\n // Bottom of content\n if(headerTop != 0) {\n this.header_.style.top = this.config_.visibleAtScrollEnd ? '0' : `-${this.header_.offsetHeight}px`;\n }\n }\n else {\n headerTop += scrollDiff;\n const offsetHeight = this.header_.offsetHeight;\n this.header_.style.top = `${( Math.abs( headerTop ) > offsetHeight ? -offsetHeight : headerTop )}px`;\n }\n }\n\n this.lastScrollTop_ = currentContentScrollTop;\n };\n\n\n const throttleScroll = fullThrottle((self) => self.reposition_());\n\n /**\n * Scroll header when content scrolls\n * @param event\n * @private\n */\n MaterialExtStickyHeader.prototype.scrollHandler_ = function( /* event */ ) {\n throttleScroll(this);\n };\n\n /**\n * Init header position\n * @private\n */\n MaterialExtStickyHeader.prototype.updatePosition_ = function( /* event */ ) {\n this.recalcWidth_();\n this.reposition_();\n };\n\n /**\n * Add mutation observer\n * @private\n */\n MaterialExtStickyHeader.prototype.addMutationObserver_ = function() {\n\n // jsdom does not support MutationObserver - so this is not testable\n /* istanbul ignore next */\n this.mutationObserver_ = new MutationObserver( ( /*mutations*/ ) => {\n // Adjust header width if content changes (e.g. in a SPA)\n this.updatePosition_();\n });\n\n this.mutationObserver_.observe( this.content_, {\n attributes: false,\n childList: true,\n characterData: false,\n subtree: true\n });\n };\n\n /**\n * Removes event listeners\n * @private\n */\n MaterialExtStickyHeader.prototype.removeListeners_ = function() {\n\n window.removeEventListener('resize', this.resizeHandler_);\n window.removeEventListener('orientationchange', this.resizeHandler_);\n\n if(this.content_) {\n this.content_.removeEventListener('scroll', this.scrollHandler_);\n }\n\n if(this.mutationObserver_) {\n this.mutationObserver_.disconnect();\n this.mutationObserver_ = null;\n }\n };\n\n /**\n * Initialize component\n */\n MaterialExtStickyHeader.prototype.init = function() {\n\n if (this.header_) {\n\n this.removeListeners_();\n\n if(this.header_.hasAttribute('data-config')) {\n this.config_ = jsonStringToObject(this.header_.getAttribute('data-config'));\n }\n\n this.content_ = this.header_.parentNode.querySelector(`.${MDL_LAYOUT_CONTENT}`) || null;\n\n if(this.content_) {\n this.content_.style.paddingTop = `${this.header_.offsetHeight}px`; // Make room for sticky header\n this.lastScrollTop_ = this.content_.scrollTop;\n\n this.content_.addEventListener('scroll', this.scrollHandler_.bind(this));\n window.addEventListener('resize', this.resizeHandler_.bind(this));\n window.addEventListener('orientationchange', this.resizeHandler_.bind(this));\n\n this.addMutationObserver_();\n this.updatePosition_();\n\n // Set upgraded flag\n this.header_.classList.add(IS_UPGRADED);\n }\n }\n };\n\n /*\n * Downgrade component\n * E.g remove listeners and clean up resources\n *\n * Nothing to clean\n *\n MaterialExtStickyHeader.prototype.mdlDowngrade_ = function() {\n 'use strict';\n console.log('***** MaterialExtStickyHeader.prototype.mdlDowngrade_');\n };\n */\n\n\n // The component registers itself. It can assume componentHandler is available\n // in the global scope.\n /* eslint no-undef: 0 */\n componentHandler.register({\n constructor: MaterialExtStickyHeader,\n classAsString: 'MaterialExtStickyHeader',\n cssClass: 'mdlext-js-sticky-header'\n });\n})();\n\n\n\n// WEBPACK FOOTER //\n// ./src/sticky-header/sticky-header.js\n\n\n// WEBPACK FOOTER //\n// ./src/sticky-header/sticky-header.js","import './constants';\nimport './dom-utils';\nimport './string-utils';\nimport './json-utils';\nimport './full-throttle';\nimport './easing';\nimport './interval-function';\n\n\n\n// WEBPACK FOOTER //\n// ./src/utils/index.js\n\n\n// WEBPACK FOOTER //\n// ./src/utils/index.js","module.exports = { \"default\": require(\"core-js/library/fn/array/from\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/babel-runtime/core-js/array/from.js\n// module id = 60\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/babel-runtime/core-js/array/from.js\n// module id = 60\n// module chunks = 0 1","module.exports = { \"default\": require(\"core-js/library/fn/is-iterable\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/babel-runtime/core-js/is-iterable.js\n// module id = 61\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/babel-runtime/core-js/is-iterable.js\n// module id = 61\n// module chunks = 0 1","module.exports = { \"default\": require(\"core-js/library/fn/number/is-nan\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/babel-runtime/core-js/number/is-nan.js\n// module id = 62\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/babel-runtime/core-js/number/is-nan.js\n// module id = 62\n// module chunks = 0 1","module.exports = { \"default\": require(\"core-js/library/fn/object/define-property\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/babel-runtime/core-js/object/define-property.js\n// module id = 63\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/babel-runtime/core-js/object/define-property.js\n// module id = 63\n// module chunks = 0 1","module.exports = { \"default\": require(\"core-js/library/fn/object/entries\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/babel-runtime/core-js/object/entries.js\n// module id = 64\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/babel-runtime/core-js/object/entries.js\n// module id = 64\n// module chunks = 0 1","module.exports = { \"default\": require(\"core-js/library/fn/object/keys\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/babel-runtime/core-js/object/keys.js\n// module id = 65\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/babel-runtime/core-js/object/keys.js\n// module id = 65\n// module chunks = 0 1","module.exports = { \"default\": require(\"core-js/library/fn/reflect/apply\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/babel-runtime/core-js/reflect/apply.js\n// module id = 66\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/babel-runtime/core-js/reflect/apply.js\n// module id = 66\n// module chunks = 0 1","\"use strict\";\n\nexports.__esModule = true;\n\nvar _isIterable2 = require(\"../core-js/is-iterable\");\n\nvar _isIterable3 = _interopRequireDefault(_isIterable2);\n\nvar _getIterator2 = require(\"../core-js/get-iterator\");\n\nvar _getIterator3 = _interopRequireDefault(_getIterator2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function () {\n function sliceIterator(arr, i) {\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = (0, _getIterator3.default)(arr), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"]) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n }\n\n return function (arr, i) {\n if (Array.isArray(arr)) {\n return arr;\n } else if ((0, _isIterable3.default)(Object(arr))) {\n return sliceIterator(arr, i);\n } else {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n }\n };\n}();\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/babel-runtime/helpers/slicedToArray.js\n// module id = 67\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/babel-runtime/helpers/slicedToArray.js\n// module id = 67\n// module chunks = 0 1","require('../../modules/es6.string.iterator');\nrequire('../../modules/es6.array.from');\nmodule.exports = require('../../modules/_core').Array.from;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/fn/array/from.js\n// module id = 68\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/fn/array/from.js\n// module id = 68\n// module chunks = 0 1","require('../modules/web.dom.iterable');\nrequire('../modules/es6.string.iterator');\nmodule.exports = require('../modules/core.get-iterator');\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/fn/get-iterator.js\n// module id = 69\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/fn/get-iterator.js\n// module id = 69\n// module chunks = 0 1","require('../modules/web.dom.iterable');\nrequire('../modules/es6.string.iterator');\nmodule.exports = require('../modules/core.is-iterable');\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/fn/is-iterable.js\n// module id = 70\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/fn/is-iterable.js\n// module id = 70\n// module chunks = 0 1","require('../../modules/es6.number.is-integer');\nmodule.exports = require('../../modules/_core').Number.isInteger;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/fn/number/is-integer.js\n// module id = 71\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/fn/number/is-integer.js\n// module id = 71\n// module chunks = 0 1","require('../../modules/es6.number.is-nan');\nmodule.exports = require('../../modules/_core').Number.isNaN;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/fn/number/is-nan.js\n// module id = 72\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/fn/number/is-nan.js\n// module id = 72\n// module chunks = 0 1","require('../../modules/es6.object.assign');\nmodule.exports = require('../../modules/_core').Object.assign;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/fn/object/assign.js\n// module id = 73\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/fn/object/assign.js\n// module id = 73\n// module chunks = 0 1","require('../../modules/es6.object.define-property');\nvar $Object = require('../../modules/_core').Object;\nmodule.exports = function defineProperty(it, key, desc){\n return $Object.defineProperty(it, key, desc);\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/fn/object/define-property.js\n// module id = 74\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/fn/object/define-property.js\n// module id = 74\n// module chunks = 0 1","require('../../modules/es7.object.entries');\nmodule.exports = require('../../modules/_core').Object.entries;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/fn/object/entries.js\n// module id = 75\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/fn/object/entries.js\n// module id = 75\n// module chunks = 0 1","require('../../modules/es6.object.keys');\nmodule.exports = require('../../modules/_core').Object.keys;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/fn/object/keys.js\n// module id = 76\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/fn/object/keys.js\n// module id = 76\n// module chunks = 0 1","require('../../modules/es6.reflect.apply');\nmodule.exports = require('../../modules/_core').Reflect.apply;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/fn/reflect/apply.js\n// module id = 77\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/fn/reflect/apply.js\n// module id = 77\n// module chunks = 0 1","module.exports = function(){ /* empty */ };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_add-to-unscopables.js\n// module id = 78\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_add-to-unscopables.js\n// module id = 78\n// module chunks = 0 1","// false -> Array#indexOf\n// true -> Array#includes\nvar toIObject = require('./_to-iobject')\n , toLength = require('./_to-length')\n , toIndex = require('./_to-index');\nmodule.exports = function(IS_INCLUDES){\n return function($this, el, fromIndex){\n var O = toIObject($this)\n , length = toLength(O.length)\n , index = toIndex(fromIndex, length)\n , value;\n // Array#includes uses SameValueZero equality algorithm\n if(IS_INCLUDES && el != el)while(length > index){\n value = O[index++];\n if(value != value)return true;\n // Array#toIndex ignores holes, Array#includes - not\n } else for(;length > index; index++)if(IS_INCLUDES || index in O){\n if(O[index] === el)return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_array-includes.js\n// module id = 79\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_array-includes.js\n// module id = 79\n// module chunks = 0 1","'use strict';\nvar $defineProperty = require('./_object-dp')\n , createDesc = require('./_property-desc');\n\nmodule.exports = function(object, index, value){\n if(index in object)$defineProperty.f(object, index, createDesc(0, value));\n else object[index] = value;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_create-property.js\n// module id = 80\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_create-property.js\n// module id = 80\n// module chunks = 0 1","module.exports = require('./_global').document && document.documentElement;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_html.js\n// module id = 81\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_html.js\n// module id = 81\n// module chunks = 0 1","module.exports = !require('./_descriptors') && !require('./_fails')(function(){\n return Object.defineProperty(require('./_dom-create')('div'), 'a', {get: function(){ return 7; }}).a != 7;\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_ie8-dom-define.js\n// module id = 82\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_ie8-dom-define.js\n// module id = 82\n// module chunks = 0 1","// check on default Array iterator\nvar Iterators = require('./_iterators')\n , ITERATOR = require('./_wks')('iterator')\n , ArrayProto = Array.prototype;\n\nmodule.exports = function(it){\n return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_is-array-iter.js\n// module id = 83\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_is-array-iter.js\n// module id = 83\n// module chunks = 0 1","// 20.1.2.3 Number.isInteger(number)\nvar isObject = require('./_is-object')\n , floor = Math.floor;\nmodule.exports = function isInteger(it){\n return !isObject(it) && isFinite(it) && floor(it) === it;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_is-integer.js\n// module id = 84\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_is-integer.js\n// module id = 84\n// module chunks = 0 1","// call something on iterator step with safe closing on error\nvar anObject = require('./_an-object');\nmodule.exports = function(iterator, fn, value, entries){\n try {\n return entries ? fn(anObject(value)[0], value[1]) : fn(value);\n // 7.4.6 IteratorClose(iterator, completion)\n } catch(e){\n var ret = iterator['return'];\n if(ret !== undefined)anObject(ret.call(iterator));\n throw e;\n }\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_iter-call.js\n// module id = 85\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_iter-call.js\n// module id = 85\n// module chunks = 0 1","'use strict';\nvar create = require('./_object-create')\n , descriptor = require('./_property-desc')\n , setToStringTag = require('./_set-to-string-tag')\n , IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nrequire('./_hide')(IteratorPrototype, require('./_wks')('iterator'), function(){ return this; });\n\nmodule.exports = function(Constructor, NAME, next){\n Constructor.prototype = create(IteratorPrototype, {next: descriptor(1, next)});\n setToStringTag(Constructor, NAME + ' Iterator');\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_iter-create.js\n// module id = 86\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_iter-create.js\n// module id = 86\n// module chunks = 0 1","var ITERATOR = require('./_wks')('iterator')\n , SAFE_CLOSING = false;\n\ntry {\n var riter = [7][ITERATOR]();\n riter['return'] = function(){ SAFE_CLOSING = true; };\n Array.from(riter, function(){ throw 2; });\n} catch(e){ /* empty */ }\n\nmodule.exports = function(exec, skipClosing){\n if(!skipClosing && !SAFE_CLOSING)return false;\n var safe = false;\n try {\n var arr = [7]\n , iter = arr[ITERATOR]();\n iter.next = function(){ return {done: safe = true}; };\n arr[ITERATOR] = function(){ return iter; };\n exec(arr);\n } catch(e){ /* empty */ }\n return safe;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_iter-detect.js\n// module id = 87\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_iter-detect.js\n// module id = 87\n// module chunks = 0 1","module.exports = function(done, value){\n return {value: value, done: !!done};\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_iter-step.js\n// module id = 88\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_iter-step.js\n// module id = 88\n// module chunks = 0 1","module.exports = true;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_library.js\n// module id = 89\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_library.js\n// module id = 89\n// module chunks = 0 1","'use strict';\n// 19.1.2.1 Object.assign(target, source, ...)\nvar getKeys = require('./_object-keys')\n , gOPS = require('./_object-gops')\n , pIE = require('./_object-pie')\n , toObject = require('./_to-object')\n , IObject = require('./_iobject')\n , $assign = Object.assign;\n\n// should work with symbols and should have deterministic property order (V8 bug)\nmodule.exports = !$assign || require('./_fails')(function(){\n var A = {}\n , B = {}\n , S = Symbol()\n , K = 'abcdefghijklmnopqrst';\n A[S] = 7;\n K.split('').forEach(function(k){ B[k] = k; });\n return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;\n}) ? function assign(target, source){ // eslint-disable-line no-unused-vars\n var T = toObject(target)\n , aLen = arguments.length\n , index = 1\n , getSymbols = gOPS.f\n , isEnum = pIE.f;\n while(aLen > index){\n var S = IObject(arguments[index++])\n , keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S)\n , length = keys.length\n , j = 0\n , key;\n while(length > j)if(isEnum.call(S, key = keys[j++]))T[key] = S[key];\n } return T;\n} : $assign;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_object-assign.js\n// module id = 90\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_object-assign.js\n// module id = 90\n// module chunks = 0 1","// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\nvar anObject = require('./_an-object')\n , dPs = require('./_object-dps')\n , enumBugKeys = require('./_enum-bug-keys')\n , IE_PROTO = require('./_shared-key')('IE_PROTO')\n , Empty = function(){ /* empty */ }\n , PROTOTYPE = 'prototype';\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar createDict = function(){\n // Thrash, waste and sodomy: IE GC bug\n var iframe = require('./_dom-create')('iframe')\n , i = enumBugKeys.length\n , lt = '<'\n , gt = '>'\n , iframeDocument;\n iframe.style.display = 'none';\n require('./_html').appendChild(iframe);\n iframe.src = 'javascript:'; // eslint-disable-line no-script-url\n // createDict = iframe.contentWindow.Object;\n // html.removeChild(iframe);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n iframeDocument.close();\n createDict = iframeDocument.F;\n while(i--)delete createDict[PROTOTYPE][enumBugKeys[i]];\n return createDict();\n};\n\nmodule.exports = Object.create || function create(O, Properties){\n var result;\n if(O !== null){\n Empty[PROTOTYPE] = anObject(O);\n result = new Empty;\n Empty[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = createDict();\n return Properties === undefined ? result : dPs(result, Properties);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_object-create.js\n// module id = 91\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_object-create.js\n// module id = 91\n// module chunks = 0 1","var dP = require('./_object-dp')\n , anObject = require('./_an-object')\n , getKeys = require('./_object-keys');\n\nmodule.exports = require('./_descriptors') ? Object.defineProperties : function defineProperties(O, Properties){\n anObject(O);\n var keys = getKeys(Properties)\n , length = keys.length\n , i = 0\n , P;\n while(length > i)dP.f(O, P = keys[i++], Properties[P]);\n return O;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_object-dps.js\n// module id = 92\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_object-dps.js\n// module id = 92\n// module chunks = 0 1","exports.f = Object.getOwnPropertySymbols;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_object-gops.js\n// module id = 93\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_object-gops.js\n// module id = 93\n// module chunks = 0 1","// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = require('./_has')\n , toObject = require('./_to-object')\n , IE_PROTO = require('./_shared-key')('IE_PROTO')\n , ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function(O){\n O = toObject(O);\n if(has(O, IE_PROTO))return O[IE_PROTO];\n if(typeof O.constructor == 'function' && O instanceof O.constructor){\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectProto : null;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_object-gpo.js\n// module id = 94\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_object-gpo.js\n// module id = 94\n// module chunks = 0 1","var has = require('./_has')\n , toIObject = require('./_to-iobject')\n , arrayIndexOf = require('./_array-includes')(false)\n , IE_PROTO = require('./_shared-key')('IE_PROTO');\n\nmodule.exports = function(object, names){\n var O = toIObject(object)\n , i = 0\n , result = []\n , key;\n for(key in O)if(key != IE_PROTO)has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while(names.length > i)if(has(O, key = names[i++])){\n ~arrayIndexOf(result, key) || result.push(key);\n }\n return result;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_object-keys-internal.js\n// module id = 95\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_object-keys-internal.js\n// module id = 95\n// module chunks = 0 1","// most Object methods by ES6 should accept primitives\nvar $export = require('./_export')\n , core = require('./_core')\n , fails = require('./_fails');\nmodule.exports = function(KEY, exec){\n var fn = (core.Object || {})[KEY] || Object[KEY]\n , exp = {};\n exp[KEY] = exec(fn);\n $export($export.S + $export.F * fails(function(){ fn(1); }), 'Object', exp);\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_object-sap.js\n// module id = 96\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_object-sap.js\n// module id = 96\n// module chunks = 0 1","var getKeys = require('./_object-keys')\n , toIObject = require('./_to-iobject')\n , isEnum = require('./_object-pie').f;\nmodule.exports = function(isEntries){\n return function(it){\n var O = toIObject(it)\n , keys = getKeys(O)\n , length = keys.length\n , i = 0\n , result = []\n , key;\n while(length > i)if(isEnum.call(O, key = keys[i++])){\n result.push(isEntries ? [key, O[key]] : O[key]);\n } return result;\n };\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_object-to-array.js\n// module id = 97\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_object-to-array.js\n// module id = 97\n// module chunks = 0 1","module.exports = require('./_hide');\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_redefine.js\n// module id = 98\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_redefine.js\n// module id = 98\n// module chunks = 0 1","var toInteger = require('./_to-integer')\n , defined = require('./_defined');\n// true -> String#at\n// false -> String#codePointAt\nmodule.exports = function(TO_STRING){\n return function(that, pos){\n var s = String(defined(that))\n , i = toInteger(pos)\n , l = s.length\n , a, b;\n if(i < 0 || i >= l)return TO_STRING ? '' : undefined;\n a = s.charCodeAt(i);\n return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n ? TO_STRING ? s.charAt(i) : a\n : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n };\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_string-at.js\n// module id = 99\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_string-at.js\n// module id = 99\n// module chunks = 0 1","var toInteger = require('./_to-integer')\n , max = Math.max\n , min = Math.min;\nmodule.exports = function(index, length){\n index = toInteger(index);\n return index < 0 ? max(index + length, 0) : min(index, length);\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_to-index.js\n// module id = 100\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_to-index.js\n// module id = 100\n// module chunks = 0 1","// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = require('./_is-object');\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function(it, S){\n if(!isObject(it))return it;\n var fn, val;\n if(S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it)))return val;\n if(typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it)))return val;\n if(!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it)))return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_to-primitive.js\n// module id = 101\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_to-primitive.js\n// module id = 101\n// module chunks = 0 1","var anObject = require('./_an-object')\n , get = require('./core.get-iterator-method');\nmodule.exports = require('./_core').getIterator = function(it){\n var iterFn = get(it);\n if(typeof iterFn != 'function')throw TypeError(it + ' is not iterable!');\n return anObject(iterFn.call(it));\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/core.get-iterator.js\n// module id = 102\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/core.get-iterator.js\n// module id = 102\n// module chunks = 0 1","var classof = require('./_classof')\n , ITERATOR = require('./_wks')('iterator')\n , Iterators = require('./_iterators');\nmodule.exports = require('./_core').isIterable = function(it){\n var O = Object(it);\n return O[ITERATOR] !== undefined\n || '@@iterator' in O\n || Iterators.hasOwnProperty(classof(O));\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/core.is-iterable.js\n// module id = 103\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/core.is-iterable.js\n// module id = 103\n// module chunks = 0 1","'use strict';\nvar ctx = require('./_ctx')\n , $export = require('./_export')\n , toObject = require('./_to-object')\n , call = require('./_iter-call')\n , isArrayIter = require('./_is-array-iter')\n , toLength = require('./_to-length')\n , createProperty = require('./_create-property')\n , getIterFn = require('./core.get-iterator-method');\n\n$export($export.S + $export.F * !require('./_iter-detect')(function(iter){ Array.from(iter); }), 'Array', {\n // 22.1.2.1 Array.from(arrayLike, mapfn = undefined, thisArg = undefined)\n from: function from(arrayLike/*, mapfn = undefined, thisArg = undefined*/){\n var O = toObject(arrayLike)\n , C = typeof this == 'function' ? this : Array\n , aLen = arguments.length\n , mapfn = aLen > 1 ? arguments[1] : undefined\n , mapping = mapfn !== undefined\n , index = 0\n , iterFn = getIterFn(O)\n , length, result, step, iterator;\n if(mapping)mapfn = ctx(mapfn, aLen > 2 ? arguments[2] : undefined, 2);\n // if object isn't iterable or it's array with default iterator - use simple case\n if(iterFn != undefined && !(C == Array && isArrayIter(iterFn))){\n for(iterator = iterFn.call(O), result = new C; !(step = iterator.next()).done; index++){\n createProperty(result, index, mapping ? call(iterator, mapfn, [step.value, index], true) : step.value);\n }\n } else {\n length = toLength(O.length);\n for(result = new C(length); length > index; index++){\n createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]);\n }\n }\n result.length = index;\n return result;\n }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/es6.array.from.js\n// module id = 104\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/es6.array.from.js\n// module id = 104\n// module chunks = 0 1","'use strict';\nvar addToUnscopables = require('./_add-to-unscopables')\n , step = require('./_iter-step')\n , Iterators = require('./_iterators')\n , toIObject = require('./_to-iobject');\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nmodule.exports = require('./_iter-define')(Array, 'Array', function(iterated, kind){\n this._t = toIObject(iterated); // target\n this._i = 0; // next index\n this._k = kind; // kind\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function(){\n var O = this._t\n , kind = this._k\n , index = this._i++;\n if(!O || index >= O.length){\n this._t = undefined;\n return step(1);\n }\n if(kind == 'keys' )return step(0, index);\n if(kind == 'values')return step(0, O[index]);\n return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/es6.array.iterator.js\n// module id = 105\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/es6.array.iterator.js\n// module id = 105\n// module chunks = 0 1","// 20.1.2.3 Number.isInteger(number)\nvar $export = require('./_export');\n\n$export($export.S, 'Number', {isInteger: require('./_is-integer')});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/es6.number.is-integer.js\n// module id = 106\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/es6.number.is-integer.js\n// module id = 106\n// module chunks = 0 1","// 20.1.2.4 Number.isNaN(number)\nvar $export = require('./_export');\n\n$export($export.S, 'Number', {\n isNaN: function isNaN(number){\n return number != number;\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/es6.number.is-nan.js\n// module id = 107\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/es6.number.is-nan.js\n// module id = 107\n// module chunks = 0 1","// 19.1.3.1 Object.assign(target, source)\nvar $export = require('./_export');\n\n$export($export.S + $export.F, 'Object', {assign: require('./_object-assign')});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/es6.object.assign.js\n// module id = 108\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/es6.object.assign.js\n// module id = 108\n// module chunks = 0 1","var $export = require('./_export');\n// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)\n$export($export.S + $export.F * !require('./_descriptors'), 'Object', {defineProperty: require('./_object-dp').f});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/es6.object.define-property.js\n// module id = 109\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/es6.object.define-property.js\n// module id = 109\n// module chunks = 0 1","// 19.1.2.14 Object.keys(O)\nvar toObject = require('./_to-object')\n , $keys = require('./_object-keys');\n\nrequire('./_object-sap')('keys', function(){\n return function keys(it){\n return $keys(toObject(it));\n };\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/es6.object.keys.js\n// module id = 110\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/es6.object.keys.js\n// module id = 110\n// module chunks = 0 1","// 26.1.1 Reflect.apply(target, thisArgument, argumentsList)\nvar $export = require('./_export')\n , aFunction = require('./_a-function')\n , anObject = require('./_an-object')\n , rApply = (require('./_global').Reflect || {}).apply\n , fApply = Function.apply;\n// MS Edge argumentsList argument is optional\n$export($export.S + $export.F * !require('./_fails')(function(){\n rApply(function(){});\n}), 'Reflect', {\n apply: function apply(target, thisArgument, argumentsList){\n var T = aFunction(target)\n , L = anObject(argumentsList);\n return rApply ? rApply(T, thisArgument, L) : fApply.call(T, thisArgument, L);\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/es6.reflect.apply.js\n// module id = 111\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/es6.reflect.apply.js\n// module id = 111\n// module chunks = 0 1","// https://github.com/tc39/proposal-object-values-entries\nvar $export = require('./_export')\n , $entries = require('./_object-to-array')(true);\n\n$export($export.S, 'Object', {\n entries: function entries(it){\n return $entries(it);\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/es7.object.entries.js\n// module id = 112\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/es7.object.entries.js\n// module id = 112\n// module chunks = 0 1","// removed by extract-text-webpack-plugin\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/mdl-ext-build.scss\n// module id = 113\n// module chunks = 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/mdl-ext-build.scss\n// module id = 113\n// module chunks = 1"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"sources":["webpack:///webpack/universalModuleDefinition?5ca6","webpack:///webpack/bootstrap 3248384f57abb70f72e4?50c4","webpack:///./~/core-js/library/modules/_core.js?1b62","webpack:///./src/utils/constants.js?14df","webpack:///./~/core-js/library/modules/_export.js?ece2","webpack:///./~/core-js/library/modules/_wks.js?3027","webpack:///./~/core-js/library/modules/_global.js?77aa","webpack:///./~/core-js/library/modules/_an-object.js?0da3","webpack:///./~/core-js/library/modules/_iterators.js?aff7","webpack:///./~/babel-runtime/helpers/toConsumableArray.js?1825","webpack:///./~/core-js/library/modules/_descriptors.js?7051","webpack:///./~/core-js/library/modules/_fails.js?935d","webpack:///./~/core-js/library/modules/_hide.js?a6da","webpack:///./~/core-js/library/modules/_object-dp.js?4116","webpack:///./src/utils/full-throttle.js?dc07","webpack:///./src/utils/json-utils.js?45f0","webpack:///./src/utils/string-utils.js?37f8","webpack:///./~/core-js/library/modules/_has.js?d850","webpack:///./~/core-js/library/modules/_is-object.js?24c8","webpack:///./~/core-js/library/modules/_object-keys.js?f5bc","webpack:///./~/core-js/library/modules/_to-iobject.js?6946","webpack:///./~/core-js/library/modules/_to-object.js?b5c0","webpack:///./src/utils/dom-utils.js?0816","webpack:///./~/babel-runtime/helpers/classCallCheck.js?21af","webpack:///./~/babel-runtime/helpers/createClass.js?1dfe","webpack:///./~/core-js/library/modules/_defined.js?45d3","webpack:///./~/core-js/library/modules/_property-desc.js?1e86","webpack:///./~/core-js/library/modules/_shared-key.js?2a6c","webpack:///./~/core-js/library/modules/_to-integer.js?f65f","webpack:///./~/core-js/library/modules/es6.string.iterator.js?fe18","webpack:///./src/utils/easing.js?f6e9","webpack:///./src/utils/interval-function.js?c7e7","webpack:///./~/babel-runtime/core-js/get-iterator.js?1b08","webpack:///./~/babel-runtime/core-js/number/is-integer.js?14ca","webpack:///./~/babel-runtime/core-js/object/assign.js?e6ca","webpack:///./~/core-js/library/modules/_a-function.js?d53e","webpack:///./~/core-js/library/modules/_classof.js?b4b3","webpack:///./~/core-js/library/modules/_cof.js?48ea","webpack:///./~/core-js/library/modules/_ctx.js?ce00","webpack:///./~/core-js/library/modules/_dom-create.js?ab44","webpack:///./~/core-js/library/modules/_enum-bug-keys.js?7598","webpack:///./~/core-js/library/modules/_iobject.js?5cf9","webpack:///./~/core-js/library/modules/_iter-define.js?9a94","webpack:///./~/core-js/library/modules/_object-pie.js?d0d2","webpack:///./~/core-js/library/modules/_set-to-string-tag.js?c945","webpack:///./~/core-js/library/modules/_shared.js?7b6c","webpack:///./~/core-js/library/modules/_to-length.js?62a7","webpack:///./~/core-js/library/modules/_uid.js?e8cd","webpack:///./~/core-js/library/modules/core.get-iterator-method.js?9c88","webpack:///./~/core-js/library/modules/web.dom.iterable.js?bf0e","webpack:///./src/accordion/accordion.js?021c","webpack:///./src/carousel/carousel.js?7189","webpack:///./src/collapsible/collapsible.js?8da8","webpack:///./src/formatfield/formatfield.js?602e","webpack:///./src/index.js?9552","webpack:///./src/lightboard/lightboard.js?4a51","webpack:///./src/lightbox/lightbox.js?4a9b","webpack:///./src/menu-button/menu-button.js?292f","webpack:///./src/selectfield/selectfield.js?4310","webpack:///./src/sticky-header/sticky-header.js?0ce9","webpack:///./src/utils/index.js?d310","webpack:///./~/babel-runtime/core-js/array/from.js?efc2","webpack:///./~/babel-runtime/core-js/is-iterable.js?350e","webpack:///./~/babel-runtime/core-js/number/is-nan.js?f039","webpack:///./~/babel-runtime/core-js/object/define-property.js?5f70","webpack:///./~/babel-runtime/core-js/object/entries.js?41f9","webpack:///./~/babel-runtime/core-js/object/keys.js?fe06","webpack:///./~/babel-runtime/core-js/reflect/apply.js?a3c1","webpack:///./~/babel-runtime/helpers/slicedToArray.js?39c4","webpack:///./~/core-js/library/fn/array/from.js?669d","webpack:///./~/core-js/library/fn/get-iterator.js?2cf7","webpack:///./~/core-js/library/fn/is-iterable.js?0bd2","webpack:///./~/core-js/library/fn/number/is-integer.js?0be2","webpack:///./~/core-js/library/fn/number/is-nan.js?fc65","webpack:///./~/core-js/library/fn/object/assign.js?80e4","webpack:///./~/core-js/library/fn/object/define-property.js?b7d8","webpack:///./~/core-js/library/fn/object/entries.js?390f","webpack:///./~/core-js/library/fn/object/keys.js?cc3f","webpack:///./~/core-js/library/fn/reflect/apply.js?caa0","webpack:///./~/core-js/library/modules/_add-to-unscopables.js?d5e8","webpack:///./~/core-js/library/modules/_array-includes.js?6199","webpack:///./~/core-js/library/modules/_create-property.js?1ad1","webpack:///./~/core-js/library/modules/_html.js?e5af","webpack:///./~/core-js/library/modules/_ie8-dom-define.js?bd1f","webpack:///./~/core-js/library/modules/_is-array-iter.js?a4b3","webpack:///./~/core-js/library/modules/_is-integer.js?0b73","webpack:///./~/core-js/library/modules/_iter-call.js?5189","webpack:///./~/core-js/library/modules/_iter-create.js?0127","webpack:///./~/core-js/library/modules/_iter-detect.js?0a91","webpack:///./~/core-js/library/modules/_iter-step.js?e209","webpack:///./~/core-js/library/modules/_library.js?2c80","webpack:///./~/core-js/library/modules/_object-assign.js?5c0c","webpack:///./~/core-js/library/modules/_object-create.js?d8cf","webpack:///./~/core-js/library/modules/_object-dps.js?47fd","webpack:///./~/core-js/library/modules/_object-gops.js?a5fb","webpack:///./~/core-js/library/modules/_object-gpo.js?d47d","webpack:///./~/core-js/library/modules/_object-keys-internal.js?fcea","webpack:///./~/core-js/library/modules/_object-sap.js?a03e","webpack:///./~/core-js/library/modules/_object-to-array.js?ae83","webpack:///./~/core-js/library/modules/_redefine.js?1455","webpack:///./~/core-js/library/modules/_string-at.js?413a","webpack:///./~/core-js/library/modules/_to-index.js?9fd4","webpack:///./~/core-js/library/modules/_to-primitive.js?49a4","webpack:///./~/core-js/library/modules/core.get-iterator.js?aca7","webpack:///./~/core-js/library/modules/core.is-iterable.js?77cc","webpack:///./~/core-js/library/modules/es6.array.from.js?ce7d","webpack:///./~/core-js/library/modules/es6.array.iterator.js?1e09","webpack:///./~/core-js/library/modules/es6.number.is-integer.js?bf65","webpack:///./~/core-js/library/modules/es6.number.is-nan.js?a1c1","webpack:///./~/core-js/library/modules/es6.object.assign.js?9007","webpack:///./~/core-js/library/modules/es6.object.define-property.js?c82c","webpack:///./~/core-js/library/modules/es6.object.keys.js?c98f","webpack:///./~/core-js/library/modules/es6.reflect.apply.js?b3cf","webpack:///./~/core-js/library/modules/es7.object.entries.js?86f8","webpack:///./src/mdl-ext-build.scss?16f6"],"names":["VK_TAB","VK_ENTER","VK_ESC","VK_SPACE","VK_PAGE_UP","VK_PAGE_DOWN","VK_END","VK_HOME","VK_ARROW_LEFT","VK_ARROW_UP","VK_ARROW_RIGHT","VK_ARROW_DOWN","ARIA_EXPANDED","ARIA_HIDDEN","ARIA_MULTISELECTABLE","ARIA_SELECTED","IS_DIRTY","IS_DISABLED","IS_EXPANDED","IS_FOCUSED","IS_INVALID","IS_UPGRADED","DATA_UPGRADED","MDL_RIPPLE","MDL_RIPPLE_COMPONENT","MDL_RIPPLE_EFFECT","MDL_RIPPLE_EFFECT_IGNORE_EVENTS","fullThrottle","callback","context","window","throttling","args","requestAnimationFrame","jsonStringToObject","jsonString","source","s","replace","JSON","parse","e","Error","message","stringList","isString","str","flatten","list","reduce","a","b","concat","Array","isArray","objectToStrings","arg","filter","key","map","result","joinStrings","delimiter","join","randomString","n","Math","random","toString","slice","removeChildElements","element","forceReflow","lastChild","removeChild","d","style","display","moveElements","target","ownerDocument","createDocumentFragment","firstChild","appendChild","getWindowViewport","viewportWidth","max","document","documentElement","clientWidth","innerWidth","viewportHeight","clientHeight","innerHeight","isRectInsideWindowViewport","top","left","bottom","right","getScrollParents","elements","el","parentNode","cs","getComputedStyle","overflowY","overflowX","unshift","body","getParentElements","from","to","tether","controlledBy","controlRect","getBoundingClientRect","height","offsetHeight","width","offsetWidth","elementRect","dy","dx","ddy","ddx","r","offsetTop","offsetLeft","isFocusable","hasAttribute","tabindex","getAttribute","parseInt","selector","name","nodeName","test","type","toLowerCase","disabled","href","getPropertyValue","easeInOutQuad","t","c","inOutQuintic","ts","tc","MIN_INERVAL","intervalFunction","interval","lapse","cb","undefined","next","timeElapsed","execute","f","cancel","cancelAnimationFrame","start","timeStart","Date","now","loop","started","value","TypeError","immediate","ReferenceError","stop","ACCORDION","ACCORDION_VERTICAL","ACCORDION_HORIZONTAL","PANEL","PANEL_ROLE","TAB","TAB_CAPTION","TAB_ROLE","TABPANEL","TABPANEL_ROLE","RIPPLE_EFFECT","RIPPLE","ANIMATION_EFFECT","ANIMATION","MaterialExtAccordion","element_","init","accordionPanelElements","panel","tab","tabpanel","classList","contains","querySelector","prototype","commandHandler_","event","preventDefault","stopPropagation","detail","command","dispatchToggleEvent_","state","ce","CustomEvent","bubbles","cancelable","dispatchEvent","openTab_","add","setAttribute","removeAttribute","closeTab_","remove","toggleTab_","closeTabs_","openTabs_","querySelectorAll","forEach","closedItem","upgradeTab","tabElement","disableTab","enableTab","calcMaxTabCaptionWidth","tabCaption","w","children","v","maxWidth","selectTab","selectedTab","tabClickHandler","tabFocusHandler","tabpanelClickHandler","tabpanelFocusHandler","tabKeydownHandler","keyCode","nextTab","nextPanel","previousElementSibling","nextElementSibling","focus","removeEventListener","addEventListener","openTab","closeTab","toggleTab","action","bind","componentHandler","register","constructor","classAsString","cssClass","widget","MDL_RIPPLE_CONTAINER","SLIDE","ROLE","SLIDE_ROLE","MaterialExtCarousel","config_","interactive","autostart","animationLoop","scrollAnimation_","startSlideShow_","nextSlide","slide","animateScroll_","moveSlideIntoViewport_","emitSelectEvent_","nextScroll","nextDirection","direction","scrollLeft","scrollWidth","x","min","cancelSlideShow_","newPosition","newDuration","completedCallback","distance","duration","abs","command_","setAriaSelected_","slides","getSlidesInViewport_","length","keyDownHandler_","cmd","getSlide_","shiftKey","setFocus_","dragHandler_","updating","rAFDragId","startX","clientX","touches","prevX","targetElement","update","currentX","drag","endDrag","clickHandler_","focusHandler_","blurHandler_","evt","carouselRect","slidesInViewport","slideRect","removeListeners_","mdlDowngrade_","closest","addRipple_","rippleContainer","createElement","ripple","img","title","upgradeElement","stopAnimation","upgradeSlides","hasRippleEffect","getConfig","JS_COLLAPSIBLE","COLLAPSIBLE_CONTROL_CLASS","COLLAPSIBLE_GROUP_CLASS","COLLAPSIBLE_REGION_CLASS","Collapsible","controlElement_","keyDownHandler","controlElement","MouseEvent","view","clickHandler","isDisabled","p","push","find","toggle","isExpanded","dispatchToggleEvent","regions","regionElements","i","region","collapse","expand","regionId","ids","regionIds","id","role","addRegionId","initControl","initRegions","addRegionElement","addListeners","removeListeners","split","MaterialExtCollapsible","collapsible","downgrade","getControlElement","getRegionElements","addRegionElements","removeRegionElements","removeRegionElement","disableToggle","enableToggle","JS_FORMAT_FIELD","FORMAT_FIELD_COMPONENT","browserLanguage","navigator","languages","language","userLanguage","FormatField","options_","focusHandler","input","readOnly","unformatInput","blurHandler","formatValue","doReplace","RegExp","options","groupSeparator","decimalSeparator","intlGroupSeparator_","intlDecimalSeparator_","Intl","NumberFormat","locales","format","stripSeparatorsFromValue","fixSeparators","addOptions","opts","addLocale","addGrouping","toLocaleString","useGrouping","minimumFractionDigits","maximumFractionDigits","charAt","input_","MaterialExtFormatfield","formatField_","getOptions","getUnformattedValue","unformat","LIGHTBOARD_ROLE","SLIDE_TABSTOP","MaterialExtLightboard","getSlide","selectSlide_","selectedSlide","dispatchSelectEvent_","addRipple","firstSlide","lastSlide","prevSlide","keydownHandler","LIGHTBOX","LIGHTBOX_SLIDER","LIGHTBOX_SLIDER_SLIDE","STICKY_FOOTER","BUTTON","MaterialExtLightbox","dispatchAction_","buttonClickHandler_","repositionDialog_","footerHeight","footer","isSticky","reposition","dialog","fh","position","scrollTop","topValue","lightboxElement","naturalWidth","vh","imgLoadHandler_","imgDragHandler_","setStyles","properties","opacity","slider","textContent","src","button","figcaption","JS_MENU_BUTTON","MENU_BUTTON_MENU","MENU_BUTTON_MENU_ITEM","MENU_BUTTON_MENU_ITEM_SEPARATOR","menuFactory","ariaControls","removeAllSelected","selectedItem","setSelected","item","force","getSelected","isSeparator","nextItem","current","firstElementChild","previousItem","lastElementChild","firstItem","lastItem","selectItem","close","relatedTarget","explicitOriginalTarget","activeElement","shouldClose","err","touchStartHandler","open","btn","forceFocus","addWaiAria","menuitem","selected","MenuButton","openMenu","closeMenu","recalcMenuPosition","focusElement","focusElementLastScrollPosition","parseFloat","menu","positionChangeHandler","closeMenuHandler","dispatchMenuSelect","scrollElements","addFocusElement","tagName","moveElementToDocumentBody","findMenuElement","menuElement","menuElementId","addMenu","componentInstance","related","indexOf","MaterialExtMenuButton","menuButton_","getMenuElement","getSelectedMenuItem","setSelectedMenuItem","LABEL","INPUT","MaterialExtSelectfield","onFocus_","onBlur_","onReset_","updateClasses_","checkDisabled","checkValidity","checkDirty","checkFocus","select_","Boolean","disable","enable","change","label_","invalid","MDL_LAYOUT_CONTENT","IS_SCROLL_CLASS","MaterialExtStickyHeader","header_","content_","lastScrollTop_","visibleAtScrollEnd","mutationObserver_","drawing_","recalcWidth_","throttleResize","self","resizeHandler_","reposition_","currentContentScrollTop","scrollDiff","headerTop","scrollHeight","throttleScroll","scrollHandler_","updatePosition_","addMutationObserver_","MutationObserver","observe","attributes","childList","characterData","subtree","disconnect","paddingTop"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,O;ACVA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,uBAAe;AACf;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;;;;;;;;;;;;;;ACtCA,8BAA6B;AAC7B,sCAAqC,gC;;;;;;ACDrC;;;;;AAEA,KAAMA,SAAiB,CAAvB;AACA,KAAMC,WAAiB,EAAvB;AACA,KAAMC,SAAiB,EAAvB;AACA,KAAMC,WAAiB,EAAvB;AACA,KAAMC,aAAiB,EAAvB;AACA,KAAMC,eAAiB,EAAvB;AACA,KAAMC,SAAiB,EAAvB;AACA,KAAMC,UAAiB,EAAvB;AACA,KAAMC,gBAAiB,EAAvB;AACA,KAAMC,cAAiB,EAAvB;AACA,KAAMC,iBAAiB,EAAvB;AACA,KAAMC,gBAAiB,EAAvB;;AAEA,KAAMC,gBAAuB,eAA7B;AACA,KAAMC,cAAuB,aAA7B;AACA,KAAMC,uBAAuB,sBAA7B;AACA,KAAMC,gBAAuB,eAA7B;;AAEA,KAAMC,WAAgB,UAAtB;AACA,KAAMC,cAAgB,aAAtB;AACA,KAAMC,cAAgB,aAAtB;AACA,KAAMC,aAAgB,YAAtB;AACA,KAAMC,aAAgB,YAAtB;AACA,KAAMC,cAAgB,aAAtB;AACA,KAAMC,gBAAgB,eAAtB;;AAEA,KAAMC,aAAkC,YAAxC;AACA,KAAMC,uBAAkC,gBAAxC;AACA,KAAMC,oBAAkC,sBAAxC;AACA,KAAMC,kCAAkC,qCAAxC;;SAGE1B,M,GAAAA,M;SACAC,Q,GAAAA,Q;SACAC,M,GAAAA,M;SACAC,Q,GAAAA,Q;SACAC,U,GAAAA,U;SACAC,Y,GAAAA,Y;SACAC,M,GAAAA,M;SACAC,O,GAAAA,O;SACAC,a,GAAAA,a;SACAC,W,GAAAA,W;SACAC,c,GAAAA,c;SACAC,a,GAAAA,a;SACAC,a,GAAAA,a;SACAC,W,GAAAA,W;SACAC,oB,GAAAA,oB;SACAC,a,GAAAA,a;SACAC,Q,GAAAA,Q;SACAC,W,GAAAA,W;SACAC,W,GAAAA,W;SACAC,U,GAAAA,U;SACAC,U,GAAAA,U;SACAC,W,GAAAA,W;SACAC,a,GAAAA,a;SACAC,U,GAAAA,U;SACAC,oB,GAAAA,oB;SACAC,iB,GAAAA,iB;SACAC,+B,GAAAA,+B;;;;;;AC5DF;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oEAAmE;AACnE;AACA,sFAAqF;AACrF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX,UAAS;AACT;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA,gDAA+C;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA,eAAc;AACd,eAAc;AACd,eAAc;AACd,eAAc;AACd,gBAAe;AACf,gBAAe;AACf,gBAAe;AACf,iBAAgB;AAChB,0B;;;;;;AC5DA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,wB;;;;;;ACVA;AACA;AACA;AACA,wCAAuC,gC;;;;;;ACHvC;AACA;AACA;AACA;AACA,G;;;;;;ACJA,qB;;;;;;ACAA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA,8CAA6C,gBAAgB;AAC7D;AACA;;AAEA;AACA,IAAG;AACH;AACA;AACA,G;;;;;;ACpBA;AACA;AACA,kCAAiC,QAAQ,gBAAgB,UAAU,GAAG;AACtE,EAAC,E;;;;;;ACHD;AACA;AACA;AACA,IAAG;AACH;AACA;AACA,G;;;;;;ACNA;AACA;AACA;AACA;AACA,EAAC;AACD;AACA;AACA,G;;;;;;ACPA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG,UAAU;AACb;AACA;AACA;AACA,G;;;;;;;;;;;;;;;;;;ACfA;;;;;;;;;;;;;;;AAeA,KAAMC,eAAe,SAAfA,YAAe,CAACC,QAAD,EAAWC,OAAX,EAAuB;;AAE1C,OAAI,CAACA,OAAL,EAAc;AACZA,e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B;;;;;;;AClFf,mBAAkB,wD;;;;;;ACAlB,mBAAkB,wD;;;;;;ACAlB,mBAAkB,wD;;;;;;ACAlB;AACA;AACA;AACA,G;;;;;;ACHA;AACA;AACA;AACA;AACA,0BAAyB,kBAAkB,EAAE;;AAE7C;AACA;AACA;AACA;AACA,IAAG,UAAU;AACb;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,G;;;;;;ACtBA,kBAAiB;;AAEjB;AACA;AACA,G;;;;;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,G;;;;;;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA,G;;;;;;ACNA;AACA;AACA;AACA,c;;;;;;ACHA;AACA;AACA;AACA;AACA,G;;;;;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,6BAA4B,aAAa;;AAEzC;AACA;AACA;AACA;AACA;AACA,yCAAwC,oCAAoC;AAC5E,6CAA4C,oCAAoC;AAChF,MAAK,2BAA2B,oCAAoC;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAgB,mBAAmB;AACnC;AACA;AACA,kCAAiC,2BAA2B;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA,G;;;;;;ACrEA,eAAc,sB;;;;;;ACAd;AACA;AACA;;AAEA;AACA,mEAAkE,+BAA+B;AACjG,G;;;;;;ACNA;AACA;AACA,oDAAmD;AACnD;AACA,wCAAuC;AACvC,G;;;;;;ACLA;AACA;AACA;AACA;AACA,4DAA2D;AAC3D,G;;;;;;ACLA;AACA;AACA;AACA;AACA,G;;;;;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,G;;;;;;ACPA;AACA;AACA;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;AACA;AACA,4BAA2B,SAAS,mBAAmB;AACvD,gCAA+B,aAAa;AAC5C;AACA,IAAG,UAAU;AACb;AACA,G;;;;;;ACpBA;AACA,WAAU;AACV,G;;;;;;ACFA,uB;;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAkC,UAAU,EAAE;AAC9C,oBAAmB,sCAAsC;AACzD,EAAC,oCAAoC;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH,EAAC,W;;;;;;AChCD;AACA;AACA;AACA;AACA;AACA,8BAA6B;AAC7B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;;;;;;;ACxCA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,G;;;;;;ACZA,0C;;;;;;ACAA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH,G;;;;;;ACZA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,G;;;;;;AChBA;AACA;AACA;AACA;AACA;AACA,+BAA8B;AAC9B;AACA;AACA,oDAAmD,OAAO,EAAE;AAC5D,G;;;;;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA,G;;;;;;ACfA,0C;;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,G;;;;;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA,G;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,G;;;;;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA,G;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,G;;;;;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,yEAA0E,kBAAkB,EAAE;AAC9F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qDAAoD,gCAAgC;AACpF;AACA;AACA,MAAK;AACL;AACA,kCAAiC,gBAAgB;AACjD;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;;;;;;;ACpCD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,iCAAgC;AAChC,eAAc;AACd,kBAAiB;AACjB;AACA,EAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;;AAEA;AACA;AACA,6B;;;;;;ACjCA;AACA;;AAEA,+BAA8B,mCAAoC,E;;;;;;ACHlE;AACA;;AAEA;AACA;AACA;AACA;AACA,EAAC,E;;;;;;ACPD;AACA;;AAEA,2CAA0C,gCAAoC,E;;;;;;ACH9E;AACA;AACA,qEAAuE,0CAA0C,E;;;;;;ACFjH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,EAAC,E;;;;;;ACRD;AACA;AACA;AACA;AACA,sDAAmD;AACnD;AACA;AACA;AACA,sBAAqB;AACrB,EAAC;AACD;AACA;AACA;AACA;AACA;AACA,EAAC,E;;;;;;ACfD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,EAAC,E;;;;;;ACRD,0C","file":"mdl-ext.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"mdl-ext\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"mdl-ext\"] = factory();\n\telse\n\t\troot[\"mdl-ext\"] = factory();\n})(this, function() {\nreturn \n\n\n// WEBPACK FOOTER //\n// webpack/universalModuleDefinition\n\n\n// WEBPACK FOOTER //\n// webpack/universalModuleDefinition"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\texports: {},\n \t\t\tid: moduleId,\n \t\t\tloaded: false\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.loaded = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(0);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 3248384f57abb70f72e4\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 3248384f57abb70f72e4","var core = module.exports = {version: '2.4.0'};\nif(typeof __e == 'number')__e = core; // eslint-disable-line no-undef\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_core.js\n// module id = 1\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_core.js\n// module id = 1\n// module chunks = 0 1","'use strict';\n\nconst VK_TAB = 9;\nconst VK_ENTER = 13;\nconst VK_ESC = 27;\nconst VK_SPACE = 32;\nconst VK_PAGE_UP = 33;\nconst VK_PAGE_DOWN = 34;\nconst VK_END = 35;\nconst VK_HOME = 36;\nconst VK_ARROW_LEFT = 37;\nconst VK_ARROW_UP = 38;\nconst VK_ARROW_RIGHT = 39;\nconst VK_ARROW_DOWN = 40;\n\nconst ARIA_EXPANDED = 'aria-expanded';\nconst ARIA_HIDDEN = 'aria-hidden';\nconst ARIA_MULTISELECTABLE = 'aria-multiselectable';\nconst ARIA_SELECTED = 'aria-selected';\n\nconst IS_DIRTY = 'is-dirty';\nconst IS_DISABLED = 'is-disabled';\nconst IS_EXPANDED = 'is-expanded';\nconst IS_FOCUSED = 'is-focused';\nconst IS_INVALID = 'is-invalid';\nconst IS_UPGRADED = 'is-upgraded';\nconst DATA_UPGRADED = 'data-upgraded';\n\nconst MDL_RIPPLE = 'mdl-ripple';\nconst MDL_RIPPLE_COMPONENT = 'MaterialRipple';\nconst MDL_RIPPLE_EFFECT = 'mdl-js-ripple-effect';\nconst MDL_RIPPLE_EFFECT_IGNORE_EVENTS = 'mdl-js-ripple-effect--ignore-events';\n\nexport {\n VK_TAB,\n VK_ENTER,\n VK_ESC,\n VK_SPACE,\n VK_PAGE_UP,\n VK_PAGE_DOWN ,\n VK_END,\n VK_HOME,\n VK_ARROW_LEFT,\n VK_ARROW_UP,\n VK_ARROW_RIGHT,\n VK_ARROW_DOWN ,\n ARIA_EXPANDED,\n ARIA_HIDDEN,\n ARIA_MULTISELECTABLE,\n ARIA_SELECTED,\n IS_DIRTY,\n IS_DISABLED,\n IS_EXPANDED,\n IS_FOCUSED,\n IS_INVALID,\n IS_UPGRADED,\n DATA_UPGRADED ,\n MDL_RIPPLE,\n MDL_RIPPLE_COMPONENT,\n MDL_RIPPLE_EFFECT,\n MDL_RIPPLE_EFFECT_IGNORE_EVENTS\n};\n\n\n\n// WEBPACK FOOTER //\n// ./src/utils/constants.js\n\n\n// WEBPACK FOOTER //\n// ./src/utils/constants.js","var global = require('./_global')\n , core = require('./_core')\n , ctx = require('./_ctx')\n , hide = require('./_hide')\n , PROTOTYPE = 'prototype';\n\nvar $export = function(type, name, source){\n var IS_FORCED = type & $export.F\n , IS_GLOBAL = type & $export.G\n , IS_STATIC = type & $export.S\n , IS_PROTO = type & $export.P\n , IS_BIND = type & $export.B\n , IS_WRAP = type & $export.W\n , exports = IS_GLOBAL ? core : core[name] || (core[name] = {})\n , expProto = exports[PROTOTYPE]\n , target = IS_GLOBAL ? global : IS_STATIC ? global[name] : (global[name] || {})[PROTOTYPE]\n , key, own, out;\n if(IS_GLOBAL)source = name;\n for(key in source){\n // contains in native\n own = !IS_FORCED && target && target[key] !== undefined;\n if(own && key in exports)continue;\n // export native or passed\n out = own ? target[key] : source[key];\n // prevent global pollution for namespaces\n exports[key] = IS_GLOBAL && typeof target[key] != 'function' ? source[key]\n // bind timers to global for call from export context\n : IS_BIND && own ? ctx(out, global)\n // wrap global constructors for prevent change them in library\n : IS_WRAP && target[key] == out ? (function(C){\n var F = function(a, b, c){\n if(this instanceof C){\n switch(arguments.length){\n case 0: return new C;\n case 1: return new C(a);\n case 2: return new C(a, b);\n } return new C(a, b, c);\n } return C.apply(this, arguments);\n };\n F[PROTOTYPE] = C[PROTOTYPE];\n return F;\n // make static versions for prototype methods\n })(out) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n // export proto methods to core.%CONSTRUCTOR%.methods.%NAME%\n if(IS_PROTO){\n (exports.virtual || (exports.virtual = {}))[key] = out;\n // export proto methods to core.%CONSTRUCTOR%.prototype.%NAME%\n if(type & $export.R && expProto && !expProto[key])hide(expProto, key, out);\n }\n }\n};\n// type bitmap\n$export.F = 1; // forced\n$export.G = 2; // global\n$export.S = 4; // static\n$export.P = 8; // proto\n$export.B = 16; // bind\n$export.W = 32; // wrap\n$export.U = 64; // safe\n$export.R = 128; // real proto method for `library` \nmodule.exports = $export;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_export.js\n// module id = 3\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_export.js\n// module id = 3\n// module chunks = 0 1","var store = require('./_shared')('wks')\n , uid = require('./_uid')\n , Symbol = require('./_global').Symbol\n , USE_SYMBOL = typeof Symbol == 'function';\n\nvar $exports = module.exports = function(name){\n return store[name] || (store[name] =\n USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n};\n\n$exports.store = store;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_wks.js\n// module id = 4\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_wks.js\n// module id = 4\n// module chunks = 0 1","// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n ? window : typeof self != 'undefined' && self.Math == Math ? self : Function('return this')();\nif(typeof __g == 'number')__g = global; // eslint-disable-line no-undef\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_global.js\n// module id = 5\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_global.js\n// module id = 5\n// module chunks = 0 1","var isObject = require('./_is-object');\nmodule.exports = function(it){\n if(!isObject(it))throw TypeError(it + ' is not an object!');\n return it;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_an-object.js\n// module id = 6\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_an-object.js\n// module id = 6\n// module chunks = 0 1","module.exports = {};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_iterators.js\n// module id = 7\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_iterators.js\n// module id = 7\n// module chunks = 0 1","\"use strict\";\n\nexports.__esModule = true;\n\nvar _from = require(\"../core-js/array/from\");\n\nvar _from2 = _interopRequireDefault(_from);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n } else {\n return (0, _from2.default)(arr);\n }\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/babel-runtime/helpers/toConsumableArray.js\n// module id = 8\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/babel-runtime/helpers/toConsumableArray.js\n// module id = 8\n// module chunks = 0 1","// Thank's IE8 for his funny defineProperty\nmodule.exports = !require('./_fails')(function(){\n return Object.defineProperty({}, 'a', {get: function(){ return 7; }}).a != 7;\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_descriptors.js\n// module id = 9\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_descriptors.js\n// module id = 9\n// module chunks = 0 1","module.exports = function(exec){\n try {\n return !!exec();\n } catch(e){\n return true;\n }\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_fails.js\n// module id = 10\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_fails.js\n// module id = 10\n// module chunks = 0 1","var dP = require('./_object-dp')\n , createDesc = require('./_property-desc');\nmodule.exports = require('./_descriptors') ? function(object, key, value){\n return dP.f(object, key, createDesc(1, value));\n} : function(object, key, value){\n object[key] = value;\n return object;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_hide.js\n// module id = 11\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_hide.js\n// module id = 11\n// module chunks = 0 1","var anObject = require('./_an-object')\n , IE8_DOM_DEFINE = require('./_ie8-dom-define')\n , toPrimitive = require('./_to-primitive')\n , dP = Object.defineProperty;\n\nexports.f = require('./_descriptors') ? Object.defineProperty : function defineProperty(O, P, Attributes){\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if(IE8_DOM_DEFINE)try {\n return dP(O, P, Attributes);\n } catch(e){ /* empty */ }\n if('get' in Attributes || 'set' in Attributes)throw TypeError('Accessors not supported!');\n if('value' in Attributes)O[P] = Attributes.value;\n return O;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_object-dp.js\n// module id = 12\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_object-dp.js\n// module id = 12\n// module chunks = 0 1","/**\n * Since some events can fire at a high rate, the event handler should be limited to execute computationally\n * expensive operations, such as DOM modifications, inside a single rendered frame.\n * When listening to e.g. scroll and resize events, the browser tends to fire off more events per\n * second than are actually useful. For instance, if your event listener sets some element positions, then it\n * is possible for those positions to be updated multiple times in a single rendered frame. In this case, all of\n * the layout calculations triggered by setting the elements' positions will be wasted except for the one time that\n * it runs immediately prior to the browser rendering the updated layout to the screen.\n * To avoid wasting cycles, we can use requestAnimationFrame to only run the event listener once just before the page\n * is rendered to the screen.\n * *\n * @param callback the function to throttle\n * @param context optional context of this, default to global\n * @return {function(...[*])}\n */\nconst fullThrottle = (callback, context) => {\n\n if (!context) {\n context = this || window;\n }\n\n let throttling = false;\n\n return (...args) => {\n if(!throttling) {\n throttling = true;\n window.requestAnimationFrame( () => {\n throttling = false;\n return Reflect.apply(callback, context, args);\n });\n }\n };\n};\n\nexport default fullThrottle;\n\n\n\n// WEBPACK FOOTER //\n// ./src/utils/full-throttle.js\n\n\n// WEBPACK FOOTER //\n// ./src/utils/full-throttle.js","'use strict';\n\n/**\n * Converts a JSON string to object\n * @param jsonString\n * @param source\n */\nconst jsonStringToObject = (jsonString, source = {} ) => {\n const s = jsonString.replace(/'/g, '\"');\n try {\n return Object.assign(source, JSON.parse(s));\n }\n catch (e) {\n throw new Error(`Failed to parse json string: ${s}. Error: ${e.message}`);\n }\n};\n\nexport { jsonStringToObject };\n\n\n\n// WEBPACK FOOTER //\n// ./src/utils/json-utils.js\n\n\n// WEBPACK FOOTER //\n// ./src/utils/json-utils.js","'use strict';\n\n/**\n * @license\n * Copyright 2016 Leif Olsen. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * A javascript utility for conditionally creating a list of strings.\n * The function takes any number of arguments which can be a string or object.\n * Inspired by (but not copied from) JedWatson/classnames, https://github.com/JedWatson/classnames\n *\n * @param {*} args the strings and/or objects to\n * @return {Array} a list of strings\n * @example\n * // Returns ['foo', 'bar', 'baz', 'quux']\n * stringList(', ', 'foo', { bar: true, duck: false }, 'baz', { quux: true });\n * @example see the tests for more examples\n */\nconst stringList = (...args) => {\n\n const isString = str => str != null && typeof str === 'string';\n\n const flatten = list => list.reduce((a, b) => a.concat(Array.isArray(b) ? flatten(b) : b), []);\n\n const objectToStrings = arg =>\n Object.keys(arg)\n .filter(key => arg[key])\n .map(key => key);\n\n return args\n .filter(arg => !!arg)\n .map(arg => isString(arg) ? arg : objectToStrings(arg))\n .reduce((result, arg) => result.concat(Array.isArray(arg) ? flatten(arg) : arg), []);\n};\n\n/**\n * A simple javascript utility for conditionally joining strings together.\n * The function takes a delimiter string and any number of arguments which can be a string or object.\n *\n * @param delimiter delimiter to separate joined strings\n * @param {*} args the strings and/or objects to join\n * @return {String} the joined strings\n * @example\n * // Returns 'foo, bar, baz, quux'\n * joinStrings(', ', 'foo', { bar: true, duck: false }, 'baz', { quux: true });\n * @example see the tests for more examples\n */\nconst joinStrings = (delimiter = ' ', ...args) => stringList(...args).join(delimiter);\n\n/**\n * Generates a random string with a given length\n * @param n {Integer} length of generated string\n * @see http://stackoverflow.com/questions/1349404/generate-random-string-characters-in-javascript\n * @return {String} the random string\n * @example\n * // Returns e.g. 'pd781w0y'\n * randomString(8);\n * @example see the tests for more examples\n */\nconst randomString = ( n=12 ) => Array( n+1 ).join((`${Math.random().toString(36)}00000000000000000`).slice(2, 18)).slice(0, n);\n\nexport { joinStrings, randomString, stringList };\n\n\n\n\n// WEBPACK FOOTER //\n// ./src/utils/string-utils.js\n\n\n// WEBPACK FOOTER //\n// ./src/utils/string-utils.js","var hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function(it, key){\n return hasOwnProperty.call(it, key);\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_has.js\n// module id = 16\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_has.js\n// module id = 16\n// module chunks = 0 1","module.exports = function(it){\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_is-object.js\n// module id = 17\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_is-object.js\n// module id = 17\n// module chunks = 0 1","// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = require('./_object-keys-internal')\n , enumBugKeys = require('./_enum-bug-keys');\n\nmodule.exports = Object.keys || function keys(O){\n return $keys(O, enumBugKeys);\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_object-keys.js\n// module id = 18\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_object-keys.js\n// module id = 18\n// module chunks = 0 1","// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = require('./_iobject')\n , defined = require('./_defined');\nmodule.exports = function(it){\n return IObject(defined(it));\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_to-iobject.js\n// module id = 19\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_to-iobject.js\n// module id = 19\n// module chunks = 0 1","// 7.1.13 ToObject(argument)\nvar defined = require('./_defined');\nmodule.exports = function(it){\n return Object(defined(it));\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_to-object.js\n// module id = 20\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_to-object.js\n// module id = 20\n// module chunks = 0 1","/**\n * Remove child element(s)\n * element.innerHTNL = '' has a performance penality!\n * @see http://jsperf.com/empty-an-element/16\n * @see http://jsperf.com/force-reflow\n * @param element\n * @param forceReflow\n */\nconst removeChildElements = (element, forceReflow = true) => {\n\n // See: http://jsperf.com/empty-an-element/16\n while (element.lastChild) {\n element.removeChild(element.lastChild);\n }\n if(forceReflow) {\n // See: http://jsperf.com/force-reflow\n const d = element.style.display;\n\n element.style.display = 'none';\n element.style.display = d;\n }\n};\n\n/**\n * Moves child elements from a DOM node to another dom node.\n * @param source {HTMLElement}\n * @param target {HTMLElement} If the target parameter is ommited, a document fragment is created\n * @return {HTMLElement} The target node\n *\n * @example\n * // Moves child elements from a DOM node to another dom node.\n * moveElements(source, destination);\n *\n * @example\n * // If the second parameter is ommited, a document fragment is created:\n * let fragment = moveElements(source);\n *\n * @See: https://github.com/webmodules/dom-move\n */\nconst moveElements = (source, target) => {\n if (!target) {\n target = source.ownerDocument.createDocumentFragment();\n }\n while (source.firstChild) {\n target.appendChild(source.firstChild);\n }\n return target;\n};\n\n\n/**\n * Get the browser viewport dimensions\n * @see http://stackoverflow.com/questions/1248081/get-the-browser-viewport-dimensions-with-javascript\n * @return {{windowWidth: number, windowHeight: number}}\n */\nconst getWindowViewport = () => {\n return {\n viewportWidth: Math.max(document.documentElement.clientWidth || 0, window.innerWidth || 0),\n viewportHeight: Math.max(document.documentElement.clientHeight || 0, window.innerHeight || 0)\n };\n};\n\n\n/**\n * Check whether an element is in the window viewport\n * @see http://stackoverflow.com/questions/123999/how-to-tell-if-a-dom-element-is-visible-in-the-current-viewport/\n * @param top\n * @param left\n * @param bottom\n * @param right\n * @return {boolean} true if rectangle is inside window viewport, otherwise false\n */\nconst isRectInsideWindowViewport = ({ top, left, bottom, right }) => {\n const { viewportWidth, viewportHeight } = getWindowViewport();\n return top >= 0 &&\n left >= 0 &&\n bottom <= viewportHeight &&\n right <= viewportWidth;\n};\n\n\n/**\n * Get a list of parent elements that can possibly scroll\n * @param el the element to get parents for\n * @returns {Array}\n */\nconst getScrollParents = el => {\n const elements = [];\n\n /*\n for (el = el.parentNode; el; el = el.parentNode) {\n const cs = window.getComputedStyle(el);\n if(!(cs.overflowY === 'hidden' && cs.overflowX === 'hidden')) {\n elements.unshift(el);\n }\n if(el === document.body) {\n break;\n }\n }\n */\n\n let element = el.parentNode;\n while (element) {\n const cs = window.getComputedStyle(element);\n if(!(cs.overflowY === 'hidden' && cs.overflowX === 'hidden')) {\n elements.unshift(element);\n }\n if(element === document.body) {\n break;\n }\n element = element.parentNode;\n }\n\n return elements;\n};\n\n/**\n * Get a list of parent elements, from a given element to a given element\n * @param {HTMLElement} from\n * @param {HTMLElement} to\n * @return {Array} the parent elements, not including from and to\n */\nconst getParentElements = (from, to) => {\n const result = [];\n let element = from.parentNode;\n while (element) {\n if(element === to) {\n break;\n }\n result.unshift(element);\n element = element.parentNode;\n }\n return result;\n};\n\n/**\n * Position element next to button\n *\n * Positioning strategy\n * 1. element.height > viewport.height\n * let element.height = viewport.heigt\n * let element.overflow-y = auto\n * 2. element.width > viewport.width\n * let element.width = viewport.width\n * 3. position element below button, align left edge of element with button left\n * done if element inside viewport\n * 4. position element below button, align right edge of element with button right\n * done if element inside viewport\n * 5. positions element above button, aligns left edge of element with button left\n * done if element inside viewport\n * 6. position element above the control element, aligned to its right.\n * done if element inside viewport\n * 7. position element at button right hand side, aligns element top with button top\n * done if element inside viewport\n * 8. position element at button left hand side, aligns element top with button top\n * done if element inside viewport\n * 9. position element inside viewport\n * 1. position element at viewport bottom\n * 2. position element at button right hand side\n * done if element inside viewport\n * 3. position element at button left hand side\n * done if element inside viewport\n * 4. position element at viewport right\n * 10. done\n *\n */\nconst tether = (controlledBy, element) => {\n const controlRect = controlledBy.getBoundingClientRect();\n\n // 1. will element height fit inside window viewport?\n const { viewportWidth, viewportHeight } = getWindowViewport();\n\n element.style.height = 'auto';\n //element.style.overflowY = 'hidden';\n if(element.offsetHeight > viewportHeight) {\n element.style.height = `${viewportHeight}px`;\n element.style.overflowY = 'auto';\n }\n\n // 2. will element width fit inside window viewport?\n element.style.width = 'auto';\n if(element.offsetWidth > viewportWidth) {\n element.style.width = `${viewportWidth}px`;\n }\n\n const elementRect = element.getBoundingClientRect();\n\n // element to control distance\n const dy = controlRect.top - elementRect.top;\n const dx = controlRect.left - elementRect.left;\n\n // element rect, window coordinates relative to top,left of control\n const top = elementRect.top + dy;\n const left = elementRect.left + dx;\n const bottom = top + elementRect.height;\n const right = left + elementRect.width;\n\n // Position relative to control\n let ddy = dy;\n let ddx = dx;\n\n if(isRectInsideWindowViewport({\n top: top + controlRect.height,\n left: left,\n bottom: bottom + controlRect.height,\n right: right\n })) {\n // 3 position element below the control element, aligned to its left\n ddy = controlRect.height + dy;\n //console.log('***** 3');\n }\n else if(isRectInsideWindowViewport({\n top: top + controlRect.height,\n left: left + controlRect.width - elementRect.width,\n bottom: bottom + controlRect.height,\n right: left + controlRect.width\n })) {\n // 4 position element below the control element, aligned to its right\n ddy = controlRect.height + dy;\n ddx = dx + controlRect.width - elementRect.width;\n //console.log('***** 4');\n }\n else if(isRectInsideWindowViewport({\n top: top - elementRect.height,\n left: left,\n bottom: bottom - elementRect.height,\n right: right\n })) {\n // 5. position element above the control element, aligned to its left.\n ddy = dy - elementRect.height;\n //console.log('***** 5');\n }\n else if(isRectInsideWindowViewport({\n top: top - elementRect.height,\n left: left + controlRect.width - elementRect.width,\n bottom: bottom - elementRect.height,\n right: left + controlRect.width\n })) {\n // 6. position element above the control element, aligned to its right.\n ddy = dy - elementRect.height;\n ddx = dx + controlRect.width - elementRect.width;\n //console.log('***** 6');\n }\n else if(isRectInsideWindowViewport({\n top: top,\n left: left + controlRect.width,\n bottom: bottom,\n right: right + controlRect.width\n })) {\n // 7. position element at button right hand side\n ddx = controlRect.width + dx;\n //console.log('***** 7');\n }\n else if(isRectInsideWindowViewport({\n top: top,\n left: left - controlRect.width,\n bottom: bottom,\n right: right - controlRect.width\n })) {\n // 8. position element at button left hand side\n ddx = dx - elementRect.width;\n //console.log('***** 8');\n }\n else {\n // 9. position element inside viewport, near controlrect if possible\n //console.log('***** 9');\n\n // 9.1 position element near controlrect bottom\n ddy = dy - bottom + viewportHeight;\n if(top + controlRect.height >= 0 && bottom + controlRect.height <= viewportHeight) {\n ddy = controlRect.height + dy;\n }\n else if(top - elementRect.height >= 0 && bottom - elementRect.height <= viewportHeight) {\n ddy = dy - elementRect.height;\n }\n\n if(left + elementRect.width + controlRect.width <= viewportWidth) {\n // 9.2 Position element at button right hand side\n ddx = controlRect.width + dx;\n //console.log('***** 9.2');\n }\n else if(left - elementRect.width >= 0) {\n // 9.3 Position element at button left hand side\n ddx = dx - elementRect.width;\n //console.log('***** 9.3');\n }\n else {\n // 9.4 position element at (near) viewport right\n const r = left + elementRect.width - viewportWidth;\n ddx = dx - r;\n //console.log('***** 9.4');\n }\n }\n\n // 10. done\n element.style.top = `${element.offsetTop + ddy}px`;\n element.style.left = `${element.offsetLeft + ddx}px`;\n //console.log('***** 10. done');\n};\n\n/**\n * Check if the given element can receive focus\n * @param {HTMLElement} element the element to check\n * @return {boolean} true if the element is focusable, otherwise false\n */\nconst isFocusable = (element) => {\n // https://github.com/stephenmathieson/is-focusable/blob/master/index.js\n // http://stackoverflow.com/questions/1599660/which-html-elements-can-receive-focus\n\n if (element.hasAttribute('tabindex')) {\n const tabindex = element.getAttribute('tabindex');\n if (!Number.isNaN(tabindex)) {\n return parseInt(tabindex) > -1;\n }\n }\n\n if (element.hasAttribute('contenteditable') &&\n element.getAttribute('contenteditable') !== 'false') {\n // https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes#attr-contenteditable\n return true;\n }\n\n // natively focusable, but only when enabled\n const selector = /input|select|textarea|button|details/i;\n const name = element.nodeName;\n if (selector.test(name)) {\n return element.type.toLowerCase() !== 'hidden' && !element.disabled;\n }\n\n // anchors and area must have an href\n if (name === 'A' || name === 'AREA') {\n return !!element.href;\n }\n\n if (name === 'IFRAME') {\n // Check visible iframe\n const cs = window.getComputedStyle(element);\n return cs.getPropertyValue('display').toLowerCase() !== 'none';\n }\n\n return false;\n};\n\n\n/**\n * Get a list of offset parents for given element\n * @see https://www.benpickles.com/articles/51-finding-a-dom-nodes-common-ancestor-using-javascript\n * @param el the element\n * @return {Array} a list of offset parents\n */\n/*\nconst offsetParents = (el) => {\n const elements = [];\n for (; el; el = el.offsetParent) {\n elements.unshift(el);\n }\n if(!elements.find(e => e === document.body)) {\n elements.unshift(document.body);\n }\n return elements;\n};\n*/\n\n/**\n * Finds the common offset ancestor of two DOM nodes\n * @see https://www.benpickles.com/articles/51-finding-a-dom-nodes-common-ancestor-using-javascript\n * @see https://gist.github.com/benpickles/4059636\n * @param a\n * @param b\n * @return {Element} The common offset ancestor of a and b\n */\n/*\nconst commonOffsetAncestor = (a, b) => {\n const parentsA = offsetParents(a);\n const parentsB = offsetParents(b);\n\n for (let i = 0; i < parentsA.length; i++) {\n if (parentsA[i] !== parentsB[i]) return parentsA[i-1];\n }\n};\n*/\n\n/**\n * Calculate position relative to a target element\n * @see http://stackoverflow.com/questions/21064101/understanding-offsetwidth-clientwidth-scrollwidth-and-height-respectively\n * @param target\n * @param el\n * @return {{top: number, left: number}}\n */\n/*\nconst calcPositionRelativeToTarget = (target, el) => {\n let top = 0;\n let left = 0;\n\n while(el) {\n top += (el.offsetTop - el.scrollTop + el.clientTop) || 0;\n left += (el.offsetLeft - el.scrollLeft + el.clientLeft) || 0;\n el = el.offsetParent;\n\n if(el === target) {\n break;\n }\n }\n return { top: top, left: left };\n};\n*/\n\nexport {\n getWindowViewport,\n getParentElements,\n getScrollParents,\n isFocusable,\n isRectInsideWindowViewport,\n moveElements,\n removeChildElements,\n tether,\n};\n\n\n\n\n// WEBPACK FOOTER //\n// ./src/utils/dom-utils.js\n\n\n// WEBPACK FOOTER //\n// ./src/utils/dom-utils.js","\"use strict\";\n\nexports.__esModule = true;\n\nexports.default = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/babel-runtime/helpers/classCallCheck.js\n// module id = 22\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/babel-runtime/helpers/classCallCheck.js\n// module id = 22\n// module chunks = 0 1","\"use strict\";\n\nexports.__esModule = true;\n\nvar _defineProperty = require(\"../core-js/object/define-property\");\n\nvar _defineProperty2 = _interopRequireDefault(_defineProperty);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n (0, _defineProperty2.default)(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/babel-runtime/helpers/createClass.js\n// module id = 23\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/babel-runtime/helpers/createClass.js\n// module id = 23\n// module chunks = 0 1","// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function(it){\n if(it == undefined)throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_defined.js\n// module id = 24\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_defined.js\n// module id = 24\n// module chunks = 0 1","module.exports = function(bitmap, value){\n return {\n enumerable : !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable : !(bitmap & 4),\n value : value\n };\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_property-desc.js\n// module id = 25\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_property-desc.js\n// module id = 25\n// module chunks = 0 1","var shared = require('./_shared')('keys')\n , uid = require('./_uid');\nmodule.exports = function(key){\n return shared[key] || (shared[key] = uid(key));\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_shared-key.js\n// module id = 26\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_shared-key.js\n// module id = 26\n// module chunks = 0 1","// 7.1.4 ToInteger\nvar ceil = Math.ceil\n , floor = Math.floor;\nmodule.exports = function(it){\n return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_to-integer.js\n// module id = 27\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_to-integer.js\n// module id = 27\n// module chunks = 0 1","'use strict';\nvar $at = require('./_string-at')(true);\n\n// 21.1.3.27 String.prototype[@@iterator]()\nrequire('./_iter-define')(String, 'String', function(iterated){\n this._t = String(iterated); // target\n this._i = 0; // next index\n// 21.1.5.2.1 %StringIteratorPrototype%.next()\n}, function(){\n var O = this._t\n , index = this._i\n , point;\n if(index >= O.length)return {value: undefined, done: true};\n point = $at(O, index);\n this._i += point.length;\n return {value: point, done: false};\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/es6.string.iterator.js\n// module id = 28\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/es6.string.iterator.js\n// module id = 28\n// module chunks = 0 1","'use strict';\n\n// See: http://robertpenner.com/easing/\n\nconst easeInOutQuad = (t, b, c, d) => {\n t /= d / 2;\n if(t < 1) return c / 2 * t * t + b;\n t--;\n return -c / 2 * (t * (t - 2) - 1) + b;\n};\n\nconst inOutQuintic = (t, b, c, d) => {\n const ts = (t/=d)*t;\n const tc = ts*t;\n return b+c*(6*tc*ts + -15*ts*ts + 10*tc);\n};\n\nexport { easeInOutQuad, inOutQuintic };\n\n\n\n// WEBPACK FOOTER //\n// ./src/utils/easing.js\n\n\n// WEBPACK FOOTER //\n// ./src/utils/easing.js","const MIN_INERVAL = 1000/60;\n\n/**\n * Trigger a callback at a given interval\n * @param interval defaults to 1000/60 ms\n * @return {function()} reference to start, stop, immediate and started\n */\n\nconst intervalFunction = ( interval = MIN_INERVAL ) => {\n\n let lapse = interval < MIN_INERVAL ? MIN_INERVAL : interval;\n let cb = undefined;\n let next = null;\n let timeElapsed = 0;\n\n const execute = () => {\n const f = cb(timeElapsed);\n if (!f) {\n cancel();\n }\n };\n\n const cancel = () => {\n if(next) {\n window.cancelAnimationFrame(next);\n }\n next = null;\n timeElapsed = 0;\n };\n\n const start = () => {\n let timeStart = Date.now();\n\n const loop = now => {\n if (next) {\n next = window.requestAnimationFrame( () => loop( Date.now() ));\n\n timeElapsed += now - timeStart;\n\n if(timeElapsed >= lapse) {\n execute();\n if( (timeElapsed -= lapse) > lapse) {\n // time elapsed - interval_ > interval_ , indicates inactivity\n // Could be due to browser minimized, tab changed, screen saver started, computer sleep, and so on\n timeElapsed = 0;\n }\n }\n timeStart = now;\n }\n };\n\n next = 1; // a truthy value for first loop\n loop( timeStart );\n };\n\n return {\n get started() {\n return next != null;\n },\n get interval() {\n return lapse;\n },\n set interval(value) {\n lapse = value < MIN_INERVAL ? MIN_INERVAL : value;\n },\n start(callback) {\n if(typeof callback !== 'function') {\n throw new TypeError('callback parameter must be a function');\n }\n cb = callback;\n start();\n },\n immediate() {\n if(!cb) {\n throw new ReferenceError('callback parameter is not defined. Call start before immediate.');\n }\n execute();\n },\n stop: () => cancel(),\n };\n};\n\nexport default intervalFunction;\n\n\n\n// WEBPACK FOOTER //\n// ./src/utils/interval-function.js\n\n\n// WEBPACK FOOTER //\n// ./src/utils/interval-function.js","module.exports = { \"default\": require(\"core-js/library/fn/get-iterator\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/babel-runtime/core-js/get-iterator.js\n// module id = 31\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/babel-runtime/core-js/get-iterator.js\n// module id = 31\n// module chunks = 0 1","module.exports = { \"default\": require(\"core-js/library/fn/number/is-integer\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/babel-runtime/core-js/number/is-integer.js\n// module id = 32\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/babel-runtime/core-js/number/is-integer.js\n// module id = 32\n// module chunks = 0 1","module.exports = { \"default\": require(\"core-js/library/fn/object/assign\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/babel-runtime/core-js/object/assign.js\n// module id = 33\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/babel-runtime/core-js/object/assign.js\n// module id = 33\n// module chunks = 0 1","module.exports = function(it){\n if(typeof it != 'function')throw TypeError(it + ' is not a function!');\n return it;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_a-function.js\n// module id = 34\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_a-function.js\n// module id = 34\n// module chunks = 0 1","// getting tag from 19.1.3.6 Object.prototype.toString()\nvar cof = require('./_cof')\n , TAG = require('./_wks')('toStringTag')\n // ES3 wrong here\n , ARG = cof(function(){ return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function(it, key){\n try {\n return it[key];\n } catch(e){ /* empty */ }\n};\n\nmodule.exports = function(it){\n var O, T, B;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T\n // builtinTag case\n : ARG ? cof(O)\n // ES3 arguments fallback\n : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_classof.js\n// module id = 35\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_classof.js\n// module id = 35\n// module chunks = 0 1","var toString = {}.toString;\n\nmodule.exports = function(it){\n return toString.call(it).slice(8, -1);\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_cof.js\n// module id = 36\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_cof.js\n// module id = 36\n// module chunks = 0 1","// optional / simple context binding\nvar aFunction = require('./_a-function');\nmodule.exports = function(fn, that, length){\n aFunction(fn);\n if(that === undefined)return fn;\n switch(length){\n case 1: return function(a){\n return fn.call(that, a);\n };\n case 2: return function(a, b){\n return fn.call(that, a, b);\n };\n case 3: return function(a, b, c){\n return fn.call(that, a, b, c);\n };\n }\n return function(/* ...args */){\n return fn.apply(that, arguments);\n };\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_ctx.js\n// module id = 37\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_ctx.js\n// module id = 37\n// module chunks = 0 1","var isObject = require('./_is-object')\n , document = require('./_global').document\n // in old IE typeof document.createElement is 'object'\n , is = isObject(document) && isObject(document.createElement);\nmodule.exports = function(it){\n return is ? document.createElement(it) : {};\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_dom-create.js\n// module id = 38\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_dom-create.js\n// module id = 38\n// module chunks = 0 1","// IE 8- don't enum bug keys\nmodule.exports = (\n 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_enum-bug-keys.js\n// module id = 39\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_enum-bug-keys.js\n// module id = 39\n// module chunks = 0 1","// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = require('./_cof');\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function(it){\n return cof(it) == 'String' ? it.split('') : Object(it);\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_iobject.js\n// module id = 40\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_iobject.js\n// module id = 40\n// module chunks = 0 1","'use strict';\nvar LIBRARY = require('./_library')\n , $export = require('./_export')\n , redefine = require('./_redefine')\n , hide = require('./_hide')\n , has = require('./_has')\n , Iterators = require('./_iterators')\n , $iterCreate = require('./_iter-create')\n , setToStringTag = require('./_set-to-string-tag')\n , getPrototypeOf = require('./_object-gpo')\n , ITERATOR = require('./_wks')('iterator')\n , BUGGY = !([].keys && 'next' in [].keys()) // Safari has buggy iterators w/o `next`\n , FF_ITERATOR = '@@iterator'\n , KEYS = 'keys'\n , VALUES = 'values';\n\nvar returnThis = function(){ return this; };\n\nmodule.exports = function(Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED){\n $iterCreate(Constructor, NAME, next);\n var getMethod = function(kind){\n if(!BUGGY && kind in proto)return proto[kind];\n switch(kind){\n case KEYS: return function keys(){ return new Constructor(this, kind); };\n case VALUES: return function values(){ return new Constructor(this, kind); };\n } return function entries(){ return new Constructor(this, kind); };\n };\n var TAG = NAME + ' Iterator'\n , DEF_VALUES = DEFAULT == VALUES\n , VALUES_BUG = false\n , proto = Base.prototype\n , $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT]\n , $default = $native || getMethod(DEFAULT)\n , $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined\n , $anyNative = NAME == 'Array' ? proto.entries || $native : $native\n , methods, key, IteratorPrototype;\n // Fix native\n if($anyNative){\n IteratorPrototype = getPrototypeOf($anyNative.call(new Base));\n if(IteratorPrototype !== Object.prototype){\n // Set @@toStringTag to native iterators\n setToStringTag(IteratorPrototype, TAG, true);\n // fix for some old engines\n if(!LIBRARY && !has(IteratorPrototype, ITERATOR))hide(IteratorPrototype, ITERATOR, returnThis);\n }\n }\n // fix Array#{values, @@iterator}.name in V8 / FF\n if(DEF_VALUES && $native && $native.name !== VALUES){\n VALUES_BUG = true;\n $default = function values(){ return $native.call(this); };\n }\n // Define iterator\n if((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])){\n hide(proto, ITERATOR, $default);\n }\n // Plug for library\n Iterators[NAME] = $default;\n Iterators[TAG] = returnThis;\n if(DEFAULT){\n methods = {\n values: DEF_VALUES ? $default : getMethod(VALUES),\n keys: IS_SET ? $default : getMethod(KEYS),\n entries: $entries\n };\n if(FORCED)for(key in methods){\n if(!(key in proto))redefine(proto, key, methods[key]);\n } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n }\n return methods;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_iter-define.js\n// module id = 41\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_iter-define.js\n// module id = 41\n// module chunks = 0 1","exports.f = {}.propertyIsEnumerable;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_object-pie.js\n// module id = 42\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_object-pie.js\n// module id = 42\n// module chunks = 0 1","var def = require('./_object-dp').f\n , has = require('./_has')\n , TAG = require('./_wks')('toStringTag');\n\nmodule.exports = function(it, tag, stat){\n if(it && !has(it = stat ? it : it.prototype, TAG))def(it, TAG, {configurable: true, value: tag});\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_set-to-string-tag.js\n// module id = 43\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_set-to-string-tag.js\n// module id = 43\n// module chunks = 0 1","var global = require('./_global')\n , SHARED = '__core-js_shared__'\n , store = global[SHARED] || (global[SHARED] = {});\nmodule.exports = function(key){\n return store[key] || (store[key] = {});\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_shared.js\n// module id = 44\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_shared.js\n// module id = 44\n// module chunks = 0 1","// 7.1.15 ToLength\nvar toInteger = require('./_to-integer')\n , min = Math.min;\nmodule.exports = function(it){\n return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_to-length.js\n// module id = 45\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_to-length.js\n// module id = 45\n// module chunks = 0 1","var id = 0\n , px = Math.random();\nmodule.exports = function(key){\n return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_uid.js\n// module id = 46\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_uid.js\n// module id = 46\n// module chunks = 0 1","var classof = require('./_classof')\n , ITERATOR = require('./_wks')('iterator')\n , Iterators = require('./_iterators');\nmodule.exports = require('./_core').getIteratorMethod = function(it){\n if(it != undefined)return it[ITERATOR]\n || it['@@iterator']\n || Iterators[classof(it)];\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/core.get-iterator-method.js\n// module id = 47\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/core.get-iterator-method.js\n// module id = 47\n// module chunks = 0 1","require('./es6.array.iterator');\nvar global = require('./_global')\n , hide = require('./_hide')\n , Iterators = require('./_iterators')\n , TO_STRING_TAG = require('./_wks')('toStringTag');\n\nfor(var collections = ['NodeList', 'DOMTokenList', 'MediaList', 'StyleSheetList', 'CSSRuleList'], i = 0; i < 5; i++){\n var NAME = collections[i]\n , Collection = global[NAME]\n , proto = Collection && Collection.prototype;\n if(proto && !proto[TO_STRING_TAG])hide(proto, TO_STRING_TAG, NAME);\n Iterators[NAME] = Iterators.Array;\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/web.dom.iterable.js\n// module id = 48\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/web.dom.iterable.js\n// module id = 48\n// module chunks = 0 1","/**\n * @license\n * Copyright 2016 Leif Olsen. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * This code is built with Google Material Design Lite,\n * which is Licensed under the Apache License, Version 2.0\n */\n\n/**\n * A WAI-ARIA friendly accordion component.\n * An accordion is a collection of expandable panels associated with a common outer container. Panels consist\n * of a header and an associated content region or tabpanel. The primary use of an Accordion is to present multiple sections\n * of content on a single page without scrolling, where all of the sections are peers in the application or object hierarchy.\n * The general look is similar to a tree where each root tree node is an expandable accordion header. The user navigates\n * and makes the contents of each panel visible (or not) by interacting with the Accordion Header\n */\n\nimport {\n VK_ENTER,\n VK_SPACE,\n VK_END,\n VK_HOME,\n VK_ARROW_LEFT,\n VK_ARROW_UP,\n VK_ARROW_RIGHT,\n VK_ARROW_DOWN,\n IS_EXPANDED,\n IS_UPGRADED,\n ARIA_MULTISELECTABLE,\n ARIA_EXPANDED,\n ARIA_HIDDEN,\n ARIA_SELECTED\n} from '../utils/constants';\n\n\n(function() {\n 'use strict';\n const ACCORDION = 'mdlext-accordion';\n const ACCORDION_VERTICAL = 'mdlext-accordion--vertical';\n const ACCORDION_HORIZONTAL = 'mdlext-accordion--horizontal';\n const PANEL = 'mdlext-accordion__panel';\n const PANEL_ROLE = 'presentation';\n const TAB = 'mdlext-accordion__tab';\n const TAB_CAPTION = 'mdlext-accordion__tab__caption';\n const TAB_ROLE = 'tab';\n const TABPANEL = 'mdlext-accordion__tabpanel';\n const TABPANEL_ROLE = 'tabpanel';\n const RIPPLE_EFFECT = 'mdlext-js-ripple-effect';\n const RIPPLE = 'mdlext-accordion__tab--ripple';\n const ANIMATION_EFFECT = 'mdlext-js-animation-effect';\n const ANIMATION = 'mdlext-accordion__tabpanel--animation';\n\n /**\n * @constructor\n * @param {Element} element The element that will be upgraded.\n */\n const MaterialExtAccordion = function MaterialExtAccordion( element ) {\n\n // Stores the Accordion HTML element.\n this.element_ = element;\n\n // Initialize instance.\n this.init();\n };\n window['MaterialExtAccordion'] = MaterialExtAccordion;\n\n\n // Helpers\n const accordionPanelElements = ( element ) => {\n if(!element) {\n return {\n panel: null,\n tab: null,\n tabpanel: null\n };\n }\n else if (element.classList.contains(PANEL)) {\n return {\n panel: element,\n tab: element.querySelector(`.${TAB}`),\n tabpanel: element.querySelector(`.${TABPANEL}`)\n };\n }\n else {\n return {\n panel: element.parentNode,\n tab: element.parentNode.querySelector(`.${TAB}`),\n tabpanel: element.parentNode.querySelector(`.${TABPANEL}`)\n };\n }\n };\n\n\n // Private methods.\n\n /**\n * Handles custom command event, 'open', 'close', 'toggle' or upgrade\n * @param event. A custom event\n * @private\n */\n MaterialExtAccordion.prototype.commandHandler_ = function( event ) {\n event.preventDefault();\n event.stopPropagation();\n\n if(event && event.detail) {\n this.command(event.detail);\n }\n };\n\n /**\n * Dispatch toggle event\n * @param {string} state\n * @param {Element} tab\n * @param {Element} tabpanel\n * @private\n */\n MaterialExtAccordion.prototype.dispatchToggleEvent_ = function ( state, tab, tabpanel ) {\n const ce = new CustomEvent('toggle', {\n bubbles: true,\n cancelable: true,\n detail: { state: state, tab: tab, tabpanel: tabpanel }\n });\n this.element_.dispatchEvent(ce);\n };\n\n /**\n * Open tab\n * @param {Element} panel\n * @param {Element} tab\n * @param {Element} tabpanel\n * @private\n */\n MaterialExtAccordion.prototype.openTab_ = function( panel, tab, tabpanel ) {\n panel.classList.add(IS_EXPANDED);\n tab.setAttribute(ARIA_EXPANDED, 'true');\n tabpanel.removeAttribute('hidden');\n tabpanel.setAttribute(ARIA_HIDDEN, 'false');\n this.dispatchToggleEvent_('open', tab, tabpanel);\n };\n\n /**\n * Close tab\n * @param {Element} panel\n * @param {Element} tab\n * @param {Element} tabpanel\n * @private\n */\n MaterialExtAccordion.prototype.closeTab_ = function( panel, tab, tabpanel ) {\n panel.classList.remove(IS_EXPANDED);\n tab.setAttribute(ARIA_EXPANDED, 'false');\n tabpanel.setAttribute('hidden', '');\n tabpanel.setAttribute(ARIA_HIDDEN, 'true');\n this.dispatchToggleEvent_('close', tab, tabpanel);\n };\n\n /**\n * Toggle tab\n * @param {Element} panel\n * @param {Element} tab\n * @param {Element} tabpanel\n * @private\n */\n MaterialExtAccordion.prototype.toggleTab_ = function( panel, tab, tabpanel ) {\n if( !(this.element_.hasAttribute('disabled') || tab.hasAttribute('disabled')) ) {\n if (tab.getAttribute(ARIA_EXPANDED).toLowerCase() === 'true') {\n this.closeTab_(panel, tab, tabpanel);\n }\n else {\n if (this.element_.getAttribute(ARIA_MULTISELECTABLE).toLowerCase() !== 'true') {\n this.closeTabs_();\n }\n this.openTab_(panel, tab, tabpanel);\n }\n }\n };\n\n /**\n * Open tabs\n * @private\n */\n MaterialExtAccordion.prototype.openTabs_ = function() {\n if (this.element_.getAttribute(ARIA_MULTISELECTABLE).toLowerCase() === 'true') {\n [...this.element_.querySelectorAll(`.${ACCORDION} > .${PANEL}`)]\n .filter(panel => !panel.classList.contains(IS_EXPANDED))\n .forEach(closedItem => {\n const tab = closedItem.querySelector(`.${TAB}`);\n if (!tab.hasAttribute('disabled')) {\n this.openTab_(closedItem, tab, closedItem.querySelector(`.${TABPANEL}`));\n }\n });\n }\n };\n\n /**\n * Close tabs\n * @private\n */\n MaterialExtAccordion.prototype.closeTabs_ = function() {\n [...this.element_.querySelectorAll(`.${ACCORDION} > .${PANEL}.${IS_EXPANDED}`)]\n .forEach( panel => {\n const tab = panel.querySelector(`.${TAB}`);\n if(!tab.hasAttribute('disabled')) {\n this.closeTab_(panel, tab, panel.querySelector(`.${TABPANEL}`));\n }\n });\n };\n\n\n // Public methods.\n\n /**\n * Upgrade an individual accordion tab\n * @public\n * @param {Element} tabElement The HTML element for the accordion panel.\n */\n MaterialExtAccordion.prototype.upgradeTab = function( tabElement ) {\n\n const { panel, tab, tabpanel } = accordionPanelElements( tabElement );\n\n const disableTab = () => {\n panel.classList.remove(IS_EXPANDED);\n tab.setAttribute('tabindex', '-1');\n tab.setAttribute(ARIA_EXPANDED, 'false');\n tabpanel.setAttribute('hidden', '');\n tabpanel.setAttribute(ARIA_HIDDEN, 'true');\n };\n\n const enableTab = () => {\n if(!tab.hasAttribute(ARIA_EXPANDED)) {\n tab.setAttribute(ARIA_EXPANDED, 'false');\n }\n\n tab.setAttribute('tabindex', '0');\n\n if(tab.getAttribute(ARIA_EXPANDED).toLowerCase() === 'true') {\n panel.classList.add(IS_EXPANDED);\n tabpanel.removeAttribute('hidden');\n tabpanel.setAttribute(ARIA_HIDDEN, 'false');\n }\n else {\n panel.classList.remove(IS_EXPANDED);\n tabpanel.setAttribute('hidden', '');\n tabpanel.setAttribute(ARIA_HIDDEN, 'true');\n }\n };\n\n // In horizontal layout, caption must have a max-width defined to prevent pushing elements to the right of the caption out of view.\n // In JsDom, offsetWidth and offsetHeight properties do not work, so this function is not testable.\n /* istanbul ignore next */\n const calcMaxTabCaptionWidth = () => {\n\n const tabCaption = tab.querySelector(`.${TAB_CAPTION}`);\n if(tabCaption !== null) {\n const w = [...tab.children]\n .filter( el => el.classList && !el.classList.contains(TAB_CAPTION) )\n .reduce( (v, el) => v + el.offsetWidth, 0 );\n\n const maxWidth = tab.clientHeight - w;\n if(maxWidth > 0) {\n tabCaption.style['max-width'] = `${maxWidth}px`;\n }\n }\n };\n\n const selectTab = () => {\n if( !tab.hasAttribute(ARIA_SELECTED) ) {\n [...this.element_.querySelectorAll(`.${TAB}[aria-selected=\"true\"]`)].forEach(\n selectedTab => selectedTab.removeAttribute(ARIA_SELECTED)\n );\n tab.setAttribute(ARIA_SELECTED, 'true');\n }\n };\n\n const tabClickHandler = () => {\n this.toggleTab_(panel, tab, tabpanel);\n selectTab();\n };\n\n const tabFocusHandler = () => {\n selectTab();\n };\n\n const tabpanelClickHandler = () => {\n selectTab();\n };\n\n const tabpanelFocusHandler = () => {\n selectTab();\n };\n\n const tabKeydownHandler = e => {\n\n if(this.element_.hasAttribute('disabled')) {\n return;\n }\n\n if ( e.keyCode === VK_END || e.keyCode === VK_HOME\n || e.keyCode === VK_ARROW_UP || e.keyCode === VK_ARROW_LEFT\n || e.keyCode === VK_ARROW_DOWN || e.keyCode === VK_ARROW_RIGHT ) {\n\n let nextTab = null;\n let keyCode = e.keyCode;\n\n if (keyCode === VK_HOME) {\n nextTab = this.element_.querySelector(`.${PANEL}:first-child > .${TAB}`);\n if(nextTab && nextTab.hasAttribute('disabled')) {\n nextTab = null;\n keyCode = VK_ARROW_DOWN;\n }\n }\n else if (keyCode === VK_END) {\n nextTab = this.element_.querySelector(`.${PANEL}:last-child > .${TAB}`);\n if(nextTab && nextTab.hasAttribute('disabled')) {\n nextTab = null;\n keyCode = VK_ARROW_UP;\n }\n }\n\n if(!nextTab) {\n let nextPanel = panel;\n\n do {\n if (keyCode === VK_ARROW_UP || keyCode === VK_ARROW_LEFT) {\n nextPanel = nextPanel.previousElementSibling;\n if(!nextPanel) {\n nextPanel = this.element_.querySelector(`.${PANEL}:last-child`);\n }\n if (nextPanel) {\n nextTab = nextPanel.querySelector(`.${PANEL} > .${TAB}`);\n }\n }\n else if (keyCode === VK_ARROW_DOWN || keyCode === VK_ARROW_RIGHT) {\n nextPanel = nextPanel.nextElementSibling;\n if(!nextPanel) {\n nextPanel = this.element_.querySelector(`.${PANEL}:first-child`);\n }\n if (nextPanel) {\n nextTab = nextPanel.querySelector(`.${PANEL} > .${TAB}`);\n }\n }\n\n if(nextTab && nextTab.hasAttribute('disabled')) {\n nextTab = null;\n }\n else {\n break;\n }\n }\n while(nextPanel !== panel);\n }\n\n if (nextTab) {\n e.preventDefault();\n e.stopPropagation();\n nextTab.focus();\n\n // Workaround for JSDom testing:\n // In JsDom 'element.focus()' does not trigger any focus event\n if(!nextTab.hasAttribute(ARIA_SELECTED)) {\n\n [...this.element_.querySelectorAll(`.${TAB}[aria-selected=\"true\"]`)]\n .forEach( selectedTab => selectedTab.removeAttribute(ARIA_SELECTED) );\n\n nextTab.setAttribute(ARIA_SELECTED, 'true');\n }\n }\n }\n else if (e.keyCode === VK_ENTER || e.keyCode === VK_SPACE) {\n e.preventDefault();\n e.stopPropagation();\n this.toggleTab_(panel, tab, tabpanel);\n }\n };\n\n if(tab === null) {\n throw new Error('There must be a tab element for each accordion panel.');\n }\n\n if(tabpanel === null) {\n throw new Error('There must be a tabpanel element for each accordion panel.');\n }\n\n panel.setAttribute('role', PANEL_ROLE);\n tab.setAttribute('role', TAB_ROLE);\n tabpanel.setAttribute('role', TABPANEL_ROLE);\n\n if(tab.hasAttribute('disabled')) {\n disableTab();\n }\n else {\n enableTab();\n }\n\n if( this.element_.classList.contains(ACCORDION_HORIZONTAL)) {\n calcMaxTabCaptionWidth();\n }\n\n if (this.element_.classList.contains(RIPPLE_EFFECT)) {\n tab.classList.add(RIPPLE);\n }\n\n if (this.element_.classList.contains(ANIMATION_EFFECT)) {\n tabpanel.classList.add(ANIMATION);\n }\n\n // Remove listeners, just in case ...\n tab.removeEventListener('click', tabClickHandler);\n tab.removeEventListener('focus', tabFocusHandler);\n tab.removeEventListener('keydown', tabKeydownHandler);\n tabpanel.removeEventListener('click', tabpanelClickHandler);\n tabpanel.removeEventListener('focus', tabpanelFocusHandler);\n\n tab.addEventListener('click', tabClickHandler);\n tab.addEventListener('focus', tabFocusHandler);\n tab.addEventListener('keydown', tabKeydownHandler);\n tabpanel.addEventListener('click', tabpanelClickHandler, true);\n tabpanel.addEventListener('focus', tabpanelFocusHandler, true);\n };\n MaterialExtAccordion.prototype['upgradeTab'] = MaterialExtAccordion.prototype.upgradeTab;\n\n\n /**\n * Execute command\n * @param detail\n */\n MaterialExtAccordion.prototype.command = function( detail ) {\n\n const openTab = tabElement => {\n\n if(tabElement === undefined) {\n this.openTabs_();\n }\n else if(tabElement !== null) {\n const { panel, tab, tabpanel } = accordionPanelElements( tabElement );\n if(tab.getAttribute(ARIA_EXPANDED).toLowerCase() !== 'true') {\n this.toggleTab_(panel, tab, tabpanel);\n }\n }\n };\n\n const closeTab = tabElement => {\n if(tabElement === undefined) {\n this.closeTabs_();\n }\n else if(tabElement !== null) {\n const { panel, tab, tabpanel } = accordionPanelElements( tabElement );\n\n if(tab.getAttribute(ARIA_EXPANDED).toLowerCase() === 'true') {\n this.toggleTab_(panel, tab, tabpanel);\n }\n }\n };\n\n const toggleTab = tabElement => {\n if(tabElement) {\n const { panel, tab, tabpanel } = accordionPanelElements( tabElement );\n this.toggleTab_(panel, tab, tabpanel);\n }\n };\n\n\n if(detail && detail.action) {\n const { action, target } = detail;\n\n switch (action.toLowerCase()) {\n case 'open':\n openTab(target);\n break;\n case 'close':\n closeTab(target);\n break;\n case 'toggle':\n toggleTab(target);\n break;\n case 'upgrade':\n if(target) {\n this.upgradeTab(target);\n }\n break;\n default:\n throw new Error(`Unknown action \"${action}\". Action must be one of \"open\", \"close\", \"toggle\" or \"upgrade\"`);\n }\n }\n };\n MaterialExtAccordion.prototype['command'] = MaterialExtAccordion.prototype.command;\n\n\n /**\n * Initialize component\n */\n MaterialExtAccordion.prototype.init = function() {\n if (this.element_) {\n // Do the init required for this component to work\n if( !(this.element_.classList.contains(ACCORDION_HORIZONTAL) || this.element_.classList.contains(ACCORDION_VERTICAL))) {\n throw new Error(`Accordion must have one of the classes \"${ACCORDION_HORIZONTAL}\" or \"${ACCORDION_VERTICAL}\"`);\n }\n\n this.element_.setAttribute('role', 'tablist');\n\n if(!this.element_.hasAttribute(ARIA_MULTISELECTABLE)) {\n this.element_.setAttribute(ARIA_MULTISELECTABLE, 'false');\n }\n\n this.element_.removeEventListener('command', this.commandHandler_);\n this.element_.addEventListener('command', this.commandHandler_.bind(this), false);\n\n [...this.element_.querySelectorAll(`.${ACCORDION} > .${PANEL}`)].forEach( panel => this.upgradeTab(panel) );\n\n // Set upgraded flag\n this.element_.classList.add(IS_UPGRADED);\n }\n };\n\n\n /*\n * Downgrade component\n * E.g remove listeners and clean up resources\n *\n * Nothing to downgrade\n *\n MaterialExtAccordion.prototype.mdlDowngrade_ = function() {\n 'use strict';\n console.log('***** MaterialExtAccordion.mdlDowngrade');\n };\n */\n\n\n // The component registers itself. It can assume componentHandler is available\n // in the global scope.\n /* eslint no-undef: 0 */\n componentHandler.register({\n constructor: MaterialExtAccordion,\n classAsString: 'MaterialExtAccordion',\n cssClass: 'mdlext-js-accordion',\n widget: true\n });\n})();\n\n\n\n// WEBPACK FOOTER //\n// ./src/accordion/accordion.js\n\n\n// WEBPACK FOOTER //\n// ./src/accordion/accordion.js","/**\n * @license\n * Copyright 2016 Leif Olsen. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * This code is built with Google Material Design Lite,\n * which is Licensed under the Apache License, Version 2.0\n */\n\n/**\n * Image carousel\n */\n\nimport intervalFunction from '../utils/interval-function';\nimport { inOutQuintic } from '../utils/easing';\nimport { jsonStringToObject} from '../utils/json-utils';\nimport {\n VK_TAB,\n VK_ENTER,\n VK_ESC,\n VK_SPACE,\n VK_PAGE_UP,\n VK_PAGE_DOWN,\n VK_END,\n VK_HOME,\n VK_ARROW_LEFT,\n VK_ARROW_UP,\n VK_ARROW_RIGHT,\n VK_ARROW_DOWN,\n IS_UPGRADED,\n IS_FOCUSED,\n MDL_RIPPLE,\n MDL_RIPPLE_COMPONENT,\n MDL_RIPPLE_EFFECT,\n MDL_RIPPLE_EFFECT_IGNORE_EVENTS\n} from '../utils/constants';\n\nconst MDL_RIPPLE_CONTAINER = 'mdlext-carousel__slide__ripple-container';\n\n\n(function() {\n 'use strict';\n\n //const CAROUSEL = 'mdlext-carousel';\n const SLIDE = 'mdlext-carousel__slide';\n const ROLE = 'list';\n const SLIDE_ROLE = 'listitem';\n\n\n /**\n * @constructor\n * @param {Element} element The element that will be upgraded.\n */\n const MaterialExtCarousel = function MaterialExtCarousel(element) {\n // Stores the element.\n this.element_ = element;\n\n // Default config\n this.config_ = {\n interactive : true,\n autostart : false,\n type : 'slide',\n interval : 1000,\n animationLoop: intervalFunction(1000)\n };\n\n this.scrollAnimation_ = intervalFunction(33);\n\n // Initialize instance.\n this.init();\n };\n\n window['MaterialExtCarousel'] = MaterialExtCarousel;\n\n\n /**\n * Start slideshow animation\n * @private\n */\n MaterialExtCarousel.prototype.startSlideShow_ = function() {\n\n const nextSlide = () => {\n let slide = this.element_.querySelector(`.${SLIDE}[aria-selected]`);\n if(slide) {\n slide.removeAttribute('aria-selected');\n slide = slide.nextElementSibling;\n }\n if(!slide) {\n slide = this.element_.querySelector(`.${SLIDE}:first-child`);\n this.animateScroll_(0);\n }\n if(slide) {\n this.moveSlideIntoViewport_(slide);\n slide.setAttribute('aria-selected', '');\n this.emitSelectEvent_('next', null, slide);\n return true;\n }\n return false;\n };\n\n const nextScroll = direction => {\n let nextDirection = direction;\n\n if('next' === direction && this.element_.scrollLeft === this.element_.scrollWidth - this.element_.clientWidth) {\n nextDirection = 'prev';\n }\n else if(this.element_.scrollLeft === 0) {\n nextDirection = 'next';\n }\n const x = 'next' === nextDirection\n ? Math.min(this.element_.scrollLeft + this.element_.clientWidth, this.element_.scrollWidth - this.element_.clientWidth)\n : Math.max(this.element_.scrollLeft - this.element_.clientWidth, 0);\n\n this.animateScroll_(x, 1000);\n return nextDirection;\n };\n\n\n if(!this.config_.animationLoop.started) {\n this.config_.animationLoop.interval = this.config_.interval;\n let direction = 'next';\n\n if('scroll' === this.config_.type) {\n this.config_.animationLoop.start( () => {\n direction = nextScroll(direction);\n return true; // It runs until cancelSlideShow_ is triggered\n });\n }\n else {\n nextSlide();\n this.config_.animationLoop.start( () => {\n return nextSlide(); // It runs until cancelSlideShow_ is triggered\n });\n }\n }\n\n // TODO: Pause animation when carousel is not in browser viewport or user changes tab\n };\n\n /**\n * Cancel slideshow if running. Emmits a 'pause' event\n * @private\n */\n MaterialExtCarousel.prototype.cancelSlideShow_ = function() {\n if(this.config_.animationLoop.started) {\n this.config_.animationLoop.stop();\n this.emitSelectEvent_('pause', VK_ESC, this.element_.querySelector(`.${SLIDE}[aria-selected]`));\n }\n };\n\n /**\n * Animate scroll\n * @param newPosition\n * @param newDuration\n * @param completedCallback\n * @private\n */\n MaterialExtCarousel.prototype.animateScroll_ = function( newPosition, newDuration, completedCallback ) {\n\n const start = this.element_.scrollLeft;\n const distance = newPosition - start;\n\n if(distance !== 0) {\n const duration = Math.max(Math.min(Math.abs(distance), newDuration||400), 100); // duration is between 100 and newDuration||400ms||distance\n let t = 0;\n this.scrollAnimation_.stop();\n this.scrollAnimation_.start( timeElapsed => {\n t += timeElapsed;\n if(t < duration) {\n this.element_.scrollLeft = inOutQuintic(t, start, distance, duration);\n return true;\n }\n else {\n this.element_.scrollLeft = newPosition;\n if(completedCallback) {\n completedCallback();\n }\n return false;\n }\n });\n }\n else {\n if(completedCallback) {\n completedCallback();\n }\n }\n };\n\n /**\n * Execute commend\n * @param event\n * @private\n */\n MaterialExtCarousel.prototype.command_ = function( event ) {\n let x = 0;\n let slide = null;\n const a = event.detail.action.toLowerCase();\n\n // Cancel slideshow if running\n this.cancelSlideShow_();\n\n switch (a) {\n case 'first':\n slide = this.element_.querySelector(`.${SLIDE}:first-child`);\n break;\n\n case 'last':\n x = this.element_.scrollWidth - this.element_.clientWidth;\n slide = this.element_.querySelector(`.${SLIDE}:last-child`);\n break;\n\n case 'scroll-prev':\n x = Math.max(this.element_.scrollLeft - this.element_.clientWidth, 0);\n break;\n\n case 'scroll-next':\n x = Math.min(this.element_.scrollLeft + this.element_.clientWidth, this.element_.scrollWidth - this.element_.clientWidth);\n break;\n\n case 'next':\n case 'prev':\n slide = this.element_.querySelector(`.${SLIDE}[aria-selected]`);\n if(slide) {\n slide = a === 'next' ? slide.nextElementSibling : slide.previousElementSibling;\n this.setAriaSelected_(slide);\n this.emitSelectEvent_(a, null, slide);\n }\n return;\n\n case 'play':\n Object.assign(this.config_, event.detail);\n this.startSlideShow_();\n return;\n\n case 'pause':\n return;\n\n default:\n return;\n }\n\n this.animateScroll_(x, undefined, () => {\n if ('scroll-next' === a || 'scroll-prev' === a) {\n const slides = this.getSlidesInViewport_();\n if (slides.length > 0) {\n slide = 'scroll-next' === a ? slides[0] : slides[slides.length - 1];\n }\n }\n this.setAriaSelected_(slide);\n this.emitSelectEvent_(a, null, slide);\n });\n };\n\n /**\n * Handles custom command event, 'scroll-prev', 'scroll-next', 'first', 'last', next, prev, play, pause\n * @param event. A custom event\n * @private\n */\n MaterialExtCarousel.prototype.commandHandler_ = function( event ) {\n event.preventDefault();\n event.stopPropagation();\n if(event.detail && event.detail.action) {\n this.command_(event);\n }\n };\n\n /**\n * Handle keypress\n * @param event\n * @private\n */\n MaterialExtCarousel.prototype.keyDownHandler_ = function(event) {\n\n if (event && event.target && event.target !== this.element_) {\n\n let action = 'first';\n\n if ( event.keyCode === VK_HOME || event.keyCode === VK_END\n || event.keyCode === VK_PAGE_UP || event.keyCode === VK_PAGE_DOWN) {\n\n event.preventDefault();\n if (event.keyCode === VK_END) {\n action = 'last';\n }\n else if (event.keyCode === VK_PAGE_UP) {\n action = 'scroll-prev';\n }\n else if (event.keyCode === VK_PAGE_DOWN) {\n action = 'scroll-next';\n }\n\n const cmd = new CustomEvent('select', {\n detail: {\n action: action,\n }\n });\n this.command_(cmd);\n }\n else if ( event.keyCode === VK_TAB\n || event.keyCode === VK_ENTER || event.keyCode === VK_SPACE\n || event.keyCode === VK_ARROW_UP || event.keyCode === VK_ARROW_LEFT\n || event.keyCode === VK_ARROW_DOWN || event.keyCode === VK_ARROW_RIGHT) {\n\n let slide = getSlide_(event.target);\n\n if(!slide) {\n return;\n }\n\n // Cancel slideshow if running\n this.cancelSlideShow_();\n\n switch (event.keyCode) {\n case VK_ARROW_UP:\n case VK_ARROW_LEFT:\n action = 'prev';\n slide = slide.previousElementSibling;\n break;\n\n case VK_ARROW_DOWN:\n case VK_ARROW_RIGHT:\n action = 'next';\n slide = slide.nextElementSibling;\n break;\n\n case VK_TAB:\n if (event.shiftKey) {\n action = 'prev';\n slide = slide.previousElementSibling;\n }\n else {\n action = 'next';\n slide = slide.nextElementSibling;\n }\n break;\n\n case VK_SPACE:\n case VK_ENTER:\n action = 'select';\n break;\n }\n\n if(slide) {\n event.preventDefault();\n setFocus_(slide);\n this.emitSelectEvent_(action, event.keyCode, slide);\n }\n }\n }\n };\n\n /**\n * Handle dragging\n * @param event\n * @private\n */\n MaterialExtCarousel.prototype.dragHandler_ = function(event) {\n event.preventDefault();\n\n // Cancel slideshow if running\n this.cancelSlideShow_();\n\n let updating = false;\n let rAFDragId = 0;\n\n const startX = event.clientX || (event.touches !== undefined ? event.touches[0].clientX : 0);\n let prevX = startX;\n const targetElement = event.target;\n\n const update = e => {\n const currentX = (e.clientX || (e.touches !== undefined ? e.touches[0].clientX : 0));\n const dx = prevX - currentX;\n\n if(dx < 0) {\n this.element_.scrollLeft = Math.max(this.element_.scrollLeft + dx, 0);\n }\n else if(dx > 0) {\n this.element_.scrollLeft = Math.min(this.element_.scrollLeft + dx, this.element_.scrollWidth - this.element_.clientWidth);\n }\n\n prevX = currentX;\n updating = false;\n };\n\n // drag handler\n const drag = e => {\n e.preventDefault();\n\n if(!updating) {\n rAFDragId = window.requestAnimationFrame( () => update(e));\n updating = true;\n }\n };\n\n // end drag handler\n const endDrag = e => {\n e.preventDefault();\n\n this.element_.removeEventListener('mousemove', drag);\n this.element_.removeEventListener('touchmove', drag);\n window.removeEventListener('mouseup', endDrag);\n window.removeEventListener('touchend', endDrag);\n\n // cancel any existing drag rAF, see: http://www.html5rocks.com/en/tutorials/speed/animations/\n window.cancelAnimationFrame(rAFDragId);\n\n const slide = getSlide_(targetElement);\n setFocus_(slide);\n this.emitSelectEvent_('click', null, slide);\n };\n\n this.element_.addEventListener('mousemove', drag);\n this.element_.addEventListener('touchmove', drag);\n window.addEventListener('mouseup', endDrag);\n window.addEventListener('touchend',endDrag);\n };\n\n /**\n * Handle click\n * @param event\n * @private\n */\n MaterialExtCarousel.prototype.clickHandler_ = function(event) {\n // Click is handled by drag\n event.preventDefault();\n };\n\n /**\n * Handle focus\n * @param event\n * @private\n */\n MaterialExtCarousel.prototype.focusHandler_ = function(event) {\n const slide = getSlide_(event.target);\n if(slide) {\n // The last focused/selected slide has 'aria-selected', even if focus is lost\n this.setAriaSelected_(slide);\n slide.classList.add(IS_FOCUSED);\n }\n };\n\n /**\n * Handle blur\n * @param event\n * @private\n */\n MaterialExtCarousel.prototype.blurHandler_ = function(event) {\n const slide = getSlide_(event.target);\n if(slide) {\n slide.classList.remove(IS_FOCUSED);\n }\n };\n\n /**\n * Emits a custeom 'select' event\n * @param command\n * @param keyCode\n * @param slide\n * @private\n */\n MaterialExtCarousel.prototype.emitSelectEvent_ = function(command, keyCode, slide) {\n\n if(slide) {\n this.moveSlideIntoViewport_(slide);\n\n const evt = new CustomEvent('select', {\n bubbles: true,\n cancelable: true,\n detail: {\n command: command,\n keyCode: keyCode,\n source: slide\n }\n });\n this.element_.dispatchEvent(evt);\n }\n };\n\n /**\n * Get the first visible slide in component viewport\n * @private\n */\n MaterialExtCarousel.prototype.getSlidesInViewport_ = function() {\n const carouselRect = this.element_.getBoundingClientRect();\n\n const slidesInViewport = [...this.element_.querySelectorAll(`.${SLIDE}`)].filter( slide => {\n const slideRect = slide.getBoundingClientRect();\n return slideRect.left >= carouselRect.left && slideRect.right <= carouselRect.right;\n });\n return slidesInViewport;\n };\n\n /**\n * Move slide into component viewport - if needed\n * @param slide\n * @private\n */\n MaterialExtCarousel.prototype.moveSlideIntoViewport_ = function(slide) {\n const carouselRect = this.element_.getBoundingClientRect();\n const slideRect = slide.getBoundingClientRect();\n\n if(slideRect.left < carouselRect.left) {\n const x = this.element_.scrollLeft - (carouselRect.left - slideRect.left);\n this.animateScroll_(x);\n }\n else if(slideRect.right > carouselRect.right) {\n const x = this.element_.scrollLeft - (carouselRect.right - slideRect.right);\n this.animateScroll_(x);\n }\n };\n\n\n /**\n * Removes 'aria-selected' from all slides in carousel\n * @private\n */\n MaterialExtCarousel.prototype.setAriaSelected_ = function(slide) {\n if(slide) {\n [...this.element_.querySelectorAll(`.${SLIDE}[aria-selected]`)].forEach(\n slide => slide.removeAttribute('aria-selected')\n );\n slide.setAttribute('aria-selected', '');\n }\n };\n\n /**\n * Removes event listeners\n * @private\n */\n MaterialExtCarousel.prototype.removeListeners_ = function() {\n this.element_.removeEventListener('focus', this.focusHandler_);\n this.element_.removeEventListener('blur', this.blurHandler_);\n this.element_.removeEventListener('keydown', this.keyDownHandler_);\n this.element_.removeEventListener('mousedown', this.dragHandler_);\n this.element_.removeEventListener('touchstart', this.dragHandler_);\n this.element_.removeEventListener('click', this.clickHandler_, false);\n this.element_.removeEventListener('command', this.commandHandler_);\n this.element_.removeEventListener('mdl-componentdowngraded', this.mdlDowngrade_);\n };\n\n\n // Helpers\n const getSlide_ = element => {\n return element.closest(`.${SLIDE}`);\n };\n\n const setFocus_ = slide => {\n if(slide) {\n slide.focus();\n }\n };\n\n const addRipple_ = slide => {\n if(!slide.querySelector(`.${MDL_RIPPLE_CONTAINER}`)) {\n const rippleContainer = document.createElement('span');\n rippleContainer.classList.add(MDL_RIPPLE_CONTAINER);\n rippleContainer.classList.add(MDL_RIPPLE_EFFECT);\n const ripple = document.createElement('span');\n ripple.classList.add(MDL_RIPPLE);\n rippleContainer.appendChild(ripple);\n\n const img = slide.querySelector('img');\n if (img) {\n // rippleContainer blocks image title\n rippleContainer.title = img.title;\n }\n slide.appendChild(rippleContainer);\n componentHandler.upgradeElement(rippleContainer, MDL_RIPPLE_COMPONENT);\n }\n };\n // End helpers\n\n\n // Public methods.\n\n /**\n * Cancel animation - if running.\n *\n * @public\n */\n MaterialExtCarousel.prototype.stopAnimation = function() {\n this.config_.animationLoop.stop();\n };\n MaterialExtCarousel.prototype['stopAnimation'] = MaterialExtCarousel.prototype.stopAnimation;\n\n\n /**\n * Upgrade slides\n * Use if more list elements are added later (dynamically)\n *\n * @public\n */\n MaterialExtCarousel.prototype.upgradeSlides = function() {\n\n const hasRippleEffect = this.element_.classList.contains(MDL_RIPPLE_EFFECT);\n\n [...this.element_.querySelectorAll(`.${SLIDE}`)].forEach( slide => {\n\n slide.setAttribute('role', SLIDE_ROLE);\n\n if(this.config_.interactive) {\n if(!slide.getAttribute('tabindex')) {\n slide.setAttribute('tabindex', '0');\n }\n if (hasRippleEffect) {\n addRipple_(slide);\n }\n }\n else {\n slide.setAttribute('tabindex', '-1');\n }\n });\n };\n MaterialExtCarousel.prototype['upgradeSlides'] = MaterialExtCarousel.prototype.upgradeSlides;\n\n\n /**\n * Get config object\n *\n * @public\n */\n MaterialExtCarousel.prototype.getConfig = function() {\n return this.config_;\n };\n MaterialExtCarousel.prototype['getConfig'] = MaterialExtCarousel.prototype.getConfig;\n\n /**\n * Initialize component\n */\n MaterialExtCarousel.prototype.init = function() {\n\n if (this.element_) {\n // Config\n if(this.element_.hasAttribute('data-config')) {\n this.config_ = jsonStringToObject(this.element_.getAttribute('data-config'), this.config_);\n }\n\n // Wai-Aria\n this.element_.setAttribute('role', ROLE);\n\n // Prefer tabindex -1\n if(!Number.isInteger(this.element_.getAttribute('tabindex'))) {\n this.element_.setAttribute('tabindex', -1);\n }\n\n // Remove listeners, just in case ...\n this.removeListeners_();\n\n if(this.config_.interactive) {\n\n // Ripple\n const hasRippleEffect = this.element_.classList.contains(MDL_RIPPLE_EFFECT);\n if (hasRippleEffect) {\n this.element_.classList.add(MDL_RIPPLE_EFFECT_IGNORE_EVENTS);\n }\n\n // Listen to focus/blur events\n this.element_.addEventListener('focus', this.focusHandler_.bind(this), true);\n this.element_.addEventListener('blur', this.blurHandler_.bind(this), true);\n\n // Listen to keyboard events\n this.element_.addEventListener('keydown', this.keyDownHandler_.bind(this), false);\n\n // Listen to drag events\n this.element_.addEventListener('mousedown', this.dragHandler_.bind(this), false);\n this.element_.addEventListener('touchstart', this.dragHandler_.bind(this), false);\n\n // Listen to click events\n this.element_.addEventListener('click', this.clickHandler_.bind(this), false);\n }\n\n // Listen to custom 'command' event\n this.element_.addEventListener('command', this.commandHandler_.bind(this), false);\n\n // Listen to 'mdl-componentdowngraded' event\n this.element_.addEventListener('mdl-componentdowngraded', this.mdlDowngrade_.bind(this));\n\n // Slides collection\n this.upgradeSlides();\n\n // Set upgraded flag\n this.element_.classList.add(IS_UPGRADED);\n\n if(this.config_.autostart) {\n // Start slideshow\n this.startSlideShow_();\n }\n }\n };\n\n /*\n * Downgrade component\n * E.g remove listeners and clean up resources\n */\n MaterialExtCarousel.prototype.mdlDowngrade_ = function() {\n 'use strict';\n //console.log('***** MaterialExtCarousel.mdlDowngrade_');\n\n // Stop animation - if any\n this.stopAnimation();\n\n // Remove listeners\n this.removeListeners_();\n };\n\n // The component registers itself. It can assume componentHandler is available\n // in the global scope.\n /* eslint no-undef: 0 */\n componentHandler.register({\n constructor: MaterialExtCarousel,\n classAsString: 'MaterialExtCarousel',\n cssClass: 'mdlext-js-carousel',\n widget: true\n });\n})();\n\n\n\n// WEBPACK FOOTER //\n// ./src/carousel/carousel.js\n\n\n// WEBPACK FOOTER //\n// ./src/carousel/carousel.js","/**\n * @license\n * Copyright 2016-2017 Leif Olsen. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * This code is built with Google Material Design Lite,\n * which is Licensed under the Apache License, Version 2.0\n */\n\n\n/**\n * A collapsible is a component to mark expandable and collapsible regions.\n * The component use the aria-expanded state to indicate whether regions of\n * the content are collapsible, and to expose whether a region is currently\n * expanded or collapsed.\n * @see https://www.w3.org/WAI/GL/wiki/Using_the_WAI-ARIA_aria-expanded_state_to_mark_expandable_and_collapsible_regions\n */\n\nimport {\n IS_UPGRADED,\n VK_SPACE,\n VK_ENTER,\n} from '../utils/constants';\n\nimport { randomString } from '../utils/string-utils';\nimport { getParentElements, isFocusable } from '../utils/dom-utils';\n\nconst JS_COLLAPSIBLE = 'mdlext-js-collapsible';\nconst COLLAPSIBLE_CONTROL_CLASS = 'mdlext-collapsible';\nconst COLLAPSIBLE_GROUP_CLASS = 'mdlext-collapsible-group';\nconst COLLAPSIBLE_REGION_CLASS = 'mdlext-collapsible-region';\n\n/**\n * The collapsible component\n */\n\nclass Collapsible {\n element_ = null;\n controlElement_ = null;\n\n /**\n * @constructor\n * @param {HTMLElement} element The element that this component is connected to.\n */\n constructor(element) {\n this.element_ = element;\n this.init();\n }\n\n keyDownHandler = event => {\n if (event.keyCode === VK_ENTER || event.keyCode === VK_SPACE) {\n event.preventDefault();\n\n // Trigger click\n (event.target || this.controlElement).dispatchEvent(\n new MouseEvent('click', {\n bubbles: true,\n cancelable: true,\n view: window\n })\n );\n }\n };\n\n clickHandler = event => {\n if(!this.isDisabled) {\n if(event.target !== this.controlElement) {\n // Do not toggle if a focusable element inside the control element triggered the event\n const p = getParentElements(event.target, this.controlElement);\n p.push(event.target);\n if(p.find( el => isFocusable(el))) {\n return;\n }\n }\n this.toggle();\n }\n };\n\n get element() {\n return this.element_;\n }\n\n get controlElement() {\n return this.controlElement_;\n }\n\n get isDisabled() {\n return (this.controlElement.hasAttribute('disabled') &&\n this.controlElement.getAttribute('disabled').toLowerCase() !== 'false') ||\n (this.controlElement.hasAttribute('aria-disabled') &&\n this.controlElement.getAttribute('aria-disabled').toLowerCase() !== 'false');\n }\n\n get isExpanded() {\n return this.controlElement.hasAttribute('aria-expanded') &&\n this.controlElement.getAttribute('aria-expanded').toLowerCase() === 'true';\n }\n\n get regionIds() {\n return this.controlElement.hasAttribute('aria-controls')\n ? this.controlElement.getAttribute('aria-controls').split(' ')\n : [];\n }\n\n get regionElements() {\n return this.regionIds\n .map(id => document.querySelector(`#${id}`))\n .filter( el => el != null);\n }\n\n collapse() {\n if(!this.isDisabled && this.isExpanded) {\n if(this.dispatchToggleEvent('collapse')) {\n this.controlElement.setAttribute('aria-expanded', 'false');\n const regions = this.regionElements.slice(0);\n for (let i = regions.length - 1; i >= 0; --i) {\n regions[i].setAttribute('hidden', '');\n }\n }\n }\n }\n\n expand() {\n if(!this.isDisabled && !this.isExpanded) {\n if(this.dispatchToggleEvent('expand')) {\n this.controlElement.setAttribute('aria-expanded', 'true');\n this.regionElements.forEach(region => region.removeAttribute('hidden'));\n }\n }\n }\n\n toggle() {\n if (this.isExpanded) {\n this.collapse();\n }\n else {\n this.expand();\n }\n }\n\n dispatchToggleEvent(action) {\n return this.element.dispatchEvent(\n new CustomEvent('toggle', {\n bubbles: true,\n cancelable: true,\n detail: {\n action: action\n }\n })\n );\n }\n\n disableToggle() {\n this.controlElement.setAttribute('aria-disabled', true);\n }\n\n enableToggle() {\n this.controlElement.removeAttribute('aria-disabled');\n }\n\n addRegionId(regionId) {\n const ids = this.regionIds;\n if(!ids.find(id => regionId === id)) {\n ids.push(regionId);\n this.controlElement.setAttribute('aria-controls', ids.join(' '));\n }\n }\n\n addRegionElement(region) {\n if(!(region.classList.contains(COLLAPSIBLE_GROUP_CLASS) ||\n region.classList.contains(COLLAPSIBLE_REGION_CLASS))) {\n region.classList.add(COLLAPSIBLE_GROUP_CLASS);\n }\n\n if(!region.hasAttribute('role')) {\n const role = region.classList.contains(COLLAPSIBLE_GROUP_CLASS) ? 'group' : 'region';\n region.setAttribute('role', role);\n }\n\n if(!region.hasAttribute('id')) {\n region.id = `${region.getAttribute('role')}-${randomString()}`;\n }\n\n if(this.isExpanded) {\n region.removeAttribute('hidden');\n }\n else {\n region.setAttribute('hidden', '');\n }\n this.addRegionId(region.id);\n }\n\n removeRegionElement(region) {\n if(region && region.id) {\n const ids = this.regionIds.filter(id => id === region.id);\n this.controlElement.setAttribute('aria-controls', ids.join(' '));\n }\n }\n\n removeListeners() {\n this.controlElement.removeEventListener('keydown', this.keyDownHandler);\n this.controlElement.removeEventListener('click', this.clickHandler);\n }\n\n init() {\n const initControl = () => {\n // Find the button element\n this.controlElement_ = this.element.querySelector(`.${COLLAPSIBLE_CONTROL_CLASS}`) || this.element;\n\n // Add \"aria-expanded\" attribute if not present\n if(!this.controlElement.hasAttribute('aria-expanded')) {\n this.controlElement.setAttribute('aria-expanded', 'false');\n }\n\n // Add role=button if control != \n if(this.controlElement.nodeName.toLowerCase() !== 'button') {\n this.controlElement.setAttribute('role', 'button');\n }\n\n // Add tabindex\n if(!isFocusable(this.controlElement) && !this.controlElement.hasAttribute('tabindex')) {\n this.controlElement.setAttribute('tabindex', '0');\n }\n };\n\n const initRegions = () => {\n let regions = [];\n if(!this.controlElement.hasAttribute('aria-controls')) {\n // Add siblings as collapsible region(s)\n let r = this.element.nextElementSibling;\n while(r) {\n if(r.classList.contains(COLLAPSIBLE_GROUP_CLASS) ||\n r.classList.contains(COLLAPSIBLE_REGION_CLASS)) {\n regions.push(r);\n }\n else if(r.classList.contains(JS_COLLAPSIBLE)) {\n // A new collapsible component\n break;\n }\n r = r.nextElementSibling;\n }\n }\n else {\n regions = this.regionElements;\n }\n regions.forEach(region => this.addRegionElement(region));\n };\n\n const addListeners = () => {\n this.controlElement.addEventListener('keydown', this.keyDownHandler);\n this.controlElement.addEventListener('click', this.clickHandler);\n };\n\n initControl();\n initRegions();\n this.removeListeners();\n addListeners();\n }\n\n downgrade() {\n this.removeListeners();\n }\n\n}\n\n(function() {\n 'use strict';\n\n /**\n * @constructor\n * @param {HTMLElement} element The element that will be upgraded.\n */\n const MaterialExtCollapsible = function MaterialExtCollapsible(element) {\n this.element_ = element;\n this.collapsible = null;\n\n // Initialize instance.\n this.init();\n };\n window['MaterialExtCollapsible'] = MaterialExtCollapsible;\n\n /**\n * Initialize component\n */\n MaterialExtCollapsible.prototype.init = function() {\n if (this.element_) {\n this.collapsible = new Collapsible(this.element_);\n this.element_.classList.add(IS_UPGRADED);\n\n // Listen to 'mdl-componentdowngraded' event\n this.element_.addEventListener('mdl-componentdowngraded', this.mdlDowngrade_.bind(this));\n }\n };\n\n /*\n * Downgrade component\n * E.g remove listeners and clean up resources\n */\n MaterialExtCollapsible.prototype.mdlDowngrade_ = function() {\n this.collapsible.downgrade();\n };\n\n\n // Public methods.\n\n /**\n * Get control element.\n * @return {HTMLElement} element The element that controls the collapsible region.\n * @public\n */\n MaterialExtCollapsible.prototype.getControlElement = function() {\n return this.collapsible.controlElement;\n };\n MaterialExtCollapsible.prototype['getControlElement'] = MaterialExtCollapsible.prototype.getControlElement;\n\n /**\n * Get region elements controlled by this collapsible\n * @returns {Array} the collapsible region elements\n * @public\n */\n MaterialExtCollapsible.prototype.getRegionElements = function() {\n return this.collapsible.regionElements;\n };\n MaterialExtCollapsible.prototype['getRegionElements'] = MaterialExtCollapsible.prototype.getRegionElements;\n\n /**\n * Add region elements.\n * @param {Array} elements The element that will be upgraded.\n * @return {void}\n * @public\n */\n MaterialExtCollapsible.prototype.addRegionElements = function(...elements) {\n elements.forEach(element => this.collapsible.addRegionElement(element));\n };\n MaterialExtCollapsible.prototype['addRegionElements'] = MaterialExtCollapsible.prototype.addRegionElements;\n\n /**\n * Remove collapsible region(s) from component.\n * Note: This operation does not delete the element from the DOM tree.\n * @param {Array} elements The element that will be upgraded.\n * @public\n */\n MaterialExtCollapsible.prototype.removeRegionElements = function(...elements) {\n elements.forEach(element => this.collapsible.removeRegionElement(element));\n };\n MaterialExtCollapsible.prototype['removeRegionElements'] = MaterialExtCollapsible.prototype.removeRegionElements;\n\n /**\n * Expand collapsible region(s)\n * @return {void}\n * @public\n */\n MaterialExtCollapsible.prototype.expand = function() {\n this.collapsible.expand();\n };\n MaterialExtCollapsible.prototype['expand'] = MaterialExtCollapsible.prototype.expand;\n\n /**\n * Collapse collapsible region(s)\n * @return {void}\n * @public\n */\n MaterialExtCollapsible.prototype.collapse = function() {\n this.collapsible.collapse();\n };\n MaterialExtCollapsible.prototype['collapse'] = MaterialExtCollapsible.prototype.collapse;\n\n /**\n * Toggle collapsible region(s)\n * @return {void}\n * @public\n */\n MaterialExtCollapsible.prototype.toggle = function() {\n this.collapsible.toggle();\n };\n MaterialExtCollapsible.prototype['toggle'] = MaterialExtCollapsible.prototype.toggle;\n\n /**\n * Check whether component has aria-expanded state true\n * @return {Boolean} true if aria-expanded=\"true\", otherwise false\n */\n MaterialExtCollapsible.prototype.isExpanded = function() {\n return this.collapsible.isExpanded;\n };\n MaterialExtCollapsible.prototype['isExpanded'] = MaterialExtCollapsible.prototype.isExpanded;\n\n /**\n * Check whether component has aria-disabled state set to true\n * @return {Boolean} true if aria-disabled=\"true\", otherwise false\n */\n MaterialExtCollapsible.prototype.isDisabled = function() {\n return this.collapsible.isDisabled;\n };\n MaterialExtCollapsible.prototype['isDisabled'] = MaterialExtCollapsible.prototype.isDisabled;\n\n /**\n * Disables toggling of collapsible region(s)\n * @return {void}\n * @public\n */\n MaterialExtCollapsible.prototype.disableToggle = function() {\n this.collapsible.disableToggle();\n };\n MaterialExtCollapsible.prototype['disableToggle'] = MaterialExtCollapsible.prototype.disableToggle;\n\n /**\n * Enables toggling of collapsible region(s)\n * @return {void}\n * @public\n */\n MaterialExtCollapsible.prototype.enableToggle = function() {\n this.collapsible.enableToggle();\n };\n MaterialExtCollapsible.prototype['enableToggle'] = MaterialExtCollapsible.prototype.enableToggle;\n\n // The component registers itself. It can assume componentHandler is available\n // in the global scope.\n /* eslint no-undef: 0 */\n componentHandler.register({\n constructor: MaterialExtCollapsible,\n classAsString: 'MaterialExtCollapsible',\n cssClass: JS_COLLAPSIBLE,\n widget: true\n });\n\n})();\n\n\n\n// WEBPACK FOOTER //\n// ./src/collapsible/collapsible.js\n\n\n// WEBPACK FOOTER //\n// ./src/collapsible/collapsible.js","/**\n * @license\n * Copyright 2016-2017 Leif Olsen. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * This code is built with Google Material Design Lite,\n * which is Licensed under the Apache License, Version 2.0\n */\n\n\nimport {jsonStringToObject} from '../utils/json-utils';\nimport {\n IS_UPGRADED,\n} from '../utils/constants';\n\nconst JS_FORMAT_FIELD = 'mdlext-js-formatfield';\nconst FORMAT_FIELD_COMPONENT = 'MaterialExtFormatfield';\n\n/**\n * Detect browser locale\n * @returns {string} the locale\n * @see http://stackoverflow.com/questions/1043339/javascript-for-detecting-browser-language-preference\n */\nconst browserLanguage = () => {\n return navigator.languages\n ? navigator.languages[0]\n : navigator.language || navigator.userLanguage;\n};\n\n/**\n * The formatfield formats an input field using language sensitive number formatting.\n */\n\nclass FormatField {\n element_;\n input_;\n options_ = {};\n intlGroupSeparator_;\n intlDecimalSeparator_;\n\n constructor(element) {\n this.element_ = element;\n this.init();\n }\n\n focusHandler = () => {\n if(!(this.input.readOnly || this.input.disabled)) {\n this.input.value = this.unformatInput();\n // Select all text in any field on focus for easy re-entry.\n // Delay sightly to allow focus to \"stick\" before selecting.\n //setTimeout(() => this.input.select(), 20);\n }\n };\n\n blurHandler = () => {\n if(!(this.input.readOnly || this.input.disabled)) {\n this.formatValue();\n }\n };\n\n get element() {\n return this.element_;\n }\n\n get input() {\n return this.input_;\n }\n\n get options() {\n return this.options_;\n }\n\n stripSeparatorsFromValue() {\n const doReplace = () => this.input.value\n .replace(/\\s/g, '')\n .replace(new RegExp(this.options.groupSeparator, 'g'), '')\n .replace(this.options.decimalSeparator, '.');\n //.replace(this.intlGroupSeparator_, ''),\n //.replace(this.intlDecimalSeparator_, '.');\n\n return this.input.value ? doReplace() : this.input.value;\n }\n\n fixSeparators(value) {\n const doReplace = () => value\n .replace(new RegExp(this.intlGroupSeparator_, 'g'), this.options.groupSeparator)\n .replace(this.intlDecimalSeparator_, this.options.decimalSeparator);\n\n return value ? doReplace() : value;\n }\n\n formatValue() {\n if(this.input.value) {\n const v = new Intl.NumberFormat(this.options.locales, this.options)\n .format(this.stripSeparatorsFromValue());\n\n if('NaN' !== v) {\n this.input.value = this.fixSeparators(v);\n }\n }\n }\n\n unformat() {\n const doReplace = () => this.input.value\n .replace(/\\s/g, '')\n .replace(new RegExp(this.options.groupSeparator, 'g'), '')\n .replace(this.options.decimalSeparator, '.');\n\n return this.input.value ? doReplace() : this.input.value;\n }\n\n unformatInput() {\n const doReplace = () => this.input.value\n .replace(/\\s/g, '')\n .replace(new RegExp(this.options.groupSeparator, 'g'), '');\n\n return this.input.value ? doReplace() : this.input.value;\n }\n\n removeListeners() {\n this.input.removeEventListener('focus', this.focusHandler);\n this.input.removeEventListener('blur', this.blurHandler);\n }\n\n init() {\n const addListeners = () => {\n this.input.addEventListener('focus', this.focusHandler);\n this.input.addEventListener('blur', this.blurHandler);\n };\n\n const addOptions = () => {\n const opts = this.element.getAttribute('data-formatfield-options') ||\n this.input.getAttribute('data-formatfield-options');\n if(opts) {\n this.options_ = jsonStringToObject(opts, this.options);\n }\n };\n\n const addLocale = () => {\n if(!this.options.locales) {\n this.options.locales = browserLanguage() || 'en-US'; //'nb-NO', //'en-US',\n }\n };\n\n const addGrouping = () => {\n const s = (1234.5).toLocaleString(this.options.locales, {\n style: 'decimal',\n useGrouping: true,\n minimumFractionDigits: 1,\n maximumFractionDigits: 1\n });\n\n this.intlGroupSeparator_ = s.charAt(1);\n this.intlDecimalSeparator_ = s.charAt(s.length-2);\n this.options.groupSeparator = this.options.groupSeparator || this.intlGroupSeparator_;\n this.options.decimalSeparator = this.options.decimalSeparator || this.intlDecimalSeparator_;\n\n if(this.options.groupSeparator === this.options.decimalSeparator) {\n const e = `Error! options.groupSeparator, \"${this.options.groupSeparator}\" ` +\n 'and options.decimalSeparator, ' +\n `\"${this.options.decimalSeparator}\" should not be equal`;\n throw new Error(e);\n }\n };\n\n this.input_ = this.element.querySelector('input') || this.element;\n\n addOptions();\n addLocale();\n addGrouping();\n this.formatValue();\n addListeners();\n }\n\n downgrade() {\n this.removeListeners();\n }\n\n}\n\n(function() {\n 'use strict';\n\n /**\n * @constructor\n * @param {HTMLElement} element The element that will be upgraded.\n */\n const MaterialExtFormatfield = function MaterialExtFormatfield(element) {\n this.element_ = element;\n this.formatField_ = null;\n\n // Initialize instance.\n this.init();\n };\n window['MaterialExtFormatfield'] = MaterialExtFormatfield;\n\n /**\n * Initialize component\n */\n MaterialExtFormatfield.prototype.init = function() {\n if (this.element_) {\n this.element_.classList.add(IS_UPGRADED);\n this.formatField_ = new FormatField(this.element_);\n\n // Listen to 'mdl-componentdowngraded' event\n this.element_.addEventListener('mdl-componentdowngraded', this.mdlDowngrade_.bind(this));\n }\n };\n\n /**\n * Get options object\n *\n * @public\n *\n * @returns {Object} the options object\n */\n MaterialExtFormatfield.prototype.getOptions = function() {\n return this.formatField_.options;\n };\n MaterialExtFormatfield.prototype['getOptions'] = MaterialExtFormatfield.prototype.getOptions;\n\n\n /**\n * A unformatted value is a string value where the locale specific decimal separator\n * is replaced with a '.' separator and group separators are stripped.\n * The returned value is suitable for parsing to a JavaScript numerical value.\n *\n * @example\n * input.value = '1 234,5';\n * inputElement.MaterialExtFormatfield.getUnformattedValue();\n * // Returns '1234.5'\n *\n * @public\n *\n * @returns {String} the unformatted value\n */\n MaterialExtFormatfield.prototype.getUnformattedValue = function() {\n return this.formatField_.unformat();\n };\n MaterialExtFormatfield.prototype['getUnformattedValue'] = MaterialExtFormatfield.prototype.getUnformattedValue;\n\n /*\n * Downgrade component\n * E.g remove listeners and clean up resources\n */\n MaterialExtFormatfield.prototype.mdlDowngrade_ = function() {\n this.formatField_.downgrade();\n };\n\n // The component registers itself. It can assume componentHandler is available\n // in the global scope.\n /* eslint no-undef: 0 */\n componentHandler.register({\n constructor: MaterialExtFormatfield,\n classAsString: FORMAT_FIELD_COMPONENT,\n cssClass: JS_FORMAT_FIELD,\n widget: true\n });\n\n})();\n\n\n\n// WEBPACK FOOTER //\n// ./src/formatfield/formatfield.js\n\n\n// WEBPACK FOOTER //\n// ./src/formatfield/formatfield.js","import './utils';\nimport './accordion/accordion';\nimport './collapsible/collapsible';\nimport './carousel/carousel';\nimport './lightboard/lightboard';\nimport './lightbox/lightbox';\nimport './menu-button/menu-button';\nimport './selectfield/selectfield';\nimport './formatfield/formatfield';\nimport './sticky-header/sticky-header';\n\n\n\n// WEBPACK FOOTER //\n// ./src/index.js\n\n\n// WEBPACK FOOTER //\n// ./src/index.js","/**\n * @license\n * Copyright 2016 Leif Olsen. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * This code is built with Google Material Design Lite,\n * which is Licensed under the Apache License, Version 2.0\n */\n\n/**\n * A lightboard is a translucent surface illuminated from behind, used for situations\n * where a shape laid upon the surface needs to be seen with high contrast. In the \"old days\" of photography\n * photograpers used a lightboard to get a quick view of their slides. The goal is to create a responsive lightbox\n * design, based on flex layout, similar to what is used in Adobe LightRoom to browse images.\n */\n\nimport {\n VK_ENTER,\n VK_SPACE,\n VK_END,\n VK_HOME,\n VK_ARROW_LEFT,\n VK_ARROW_UP,\n VK_ARROW_RIGHT,\n VK_ARROW_DOWN,\n IS_UPGRADED,\n MDL_RIPPLE,\n MDL_RIPPLE_COMPONENT,\n MDL_RIPPLE_EFFECT,\n MDL_RIPPLE_EFFECT_IGNORE_EVENTS\n} from '../utils/constants';\n\nconst MDL_RIPPLE_CONTAINER = 'mdlext-lightboard__slide__ripple-container';\n\n(function() {\n 'use strict';\n\n //const LIGHTBOARD = 'mdlext-lightboard';\n const LIGHTBOARD_ROLE = 'grid';\n const SLIDE = 'mdlext-lightboard__slide';\n const SLIDE_ROLE = 'gridcell';\n const SLIDE_TABSTOP = 'mdlext-lightboard__slide__frame';\n /**\n * @constructor\n * @param {Element} element The element that will be upgraded.\n */\n const MaterialExtLightboard = function MaterialExtLightboard(element) {\n // Stores the element.\n this.element_ = element;\n\n // Initialize instance.\n this.init();\n };\n window['MaterialExtLightboard'] = MaterialExtLightboard;\n\n\n // Helpers\n const getSlide = element => {\n return element ? element.closest(`.${SLIDE}`) : null;\n };\n\n\n\n // Private methods.\n\n /**\n * Select a slide, i.e. set aria-selected=\"true\"\n * @param element\n * @private\n */\n MaterialExtLightboard.prototype.selectSlide_ = function(element) {\n const slide = getSlide(element);\n if( slide && !slide.hasAttribute('aria-selected') ) {\n [...this.element_.querySelectorAll(`.${SLIDE}[aria-selected=\"true\"]`)]\n .forEach(selectedSlide => selectedSlide.removeAttribute('aria-selected'));\n\n slide.setAttribute('aria-selected', 'true');\n }\n };\n\n\n /**\n * Dispatch select event\n * @param {Element} slide The slide that caused the event\n * @private\n */\n MaterialExtLightboard.prototype.dispatchSelectEvent_ = function ( slide ) {\n this.element_.dispatchEvent(\n new CustomEvent('select', {\n bubbles: true,\n cancelable: true,\n detail: { source: slide }\n })\n );\n };\n\n /**\n * Handles custom command event, 'first', 'next', 'prev', 'last', 'select' or upgrade\n * @param event. A custom event\n * @private\n */\n MaterialExtLightboard.prototype.commandHandler_ = function( event ) {\n event.preventDefault();\n event.stopPropagation();\n\n if(event && event.detail) {\n this.command(event.detail);\n }\n };\n\n\n // Public methods\n\n /**\n * Initialize lightboard slides\n * @public\n */\n MaterialExtLightboard.prototype.upgradeSlides = function() {\n\n const addRipple = slide => {\n // Use slide frame as ripple container\n if(!slide.querySelector(`.${MDL_RIPPLE_CONTAINER}`)) {\n const a = slide.querySelector(`.${SLIDE_TABSTOP}`);\n if(a) {\n const rippleContainer = a;\n rippleContainer.classList.add(MDL_RIPPLE_CONTAINER);\n rippleContainer.classList.add(MDL_RIPPLE_EFFECT);\n const ripple = document.createElement('span');\n ripple.classList.add(MDL_RIPPLE);\n rippleContainer.appendChild(ripple);\n componentHandler.upgradeElement(rippleContainer, MDL_RIPPLE_COMPONENT);\n }\n }\n };\n\n const hasRippleEffect = this.element_.classList.contains(MDL_RIPPLE_EFFECT);\n\n [...this.element_.querySelectorAll(`.${SLIDE}`)].forEach( slide => {\n\n slide.setAttribute('role', SLIDE_ROLE);\n\n if(!slide.querySelector('a')) {\n slide.setAttribute('tabindex', '0');\n }\n if(hasRippleEffect) {\n addRipple(slide);\n }\n });\n };\n MaterialExtLightboard.prototype['upgradeSlides'] = MaterialExtLightboard.prototype.upgradeSlides;\n\n\n /**\n * Execute command\n * @param detail\n * @public\n */\n MaterialExtLightboard.prototype.command = function( detail ) {\n\n const firstSlide = () => {\n return this.element_.querySelector(`.${SLIDE}:first-child`);\n };\n\n const lastSlide = () => {\n return this.element_.querySelector(`.${SLIDE}:last-child`);\n };\n\n const nextSlide = () => {\n const slide = this.element_.querySelector(`.${SLIDE}[aria-selected=\"true\"]`).nextElementSibling;\n return slide ? slide : firstSlide();\n };\n\n const prevSlide = () => {\n const slide = this.element_.querySelector(`.${SLIDE}[aria-selected=\"true\"]`).previousElementSibling;\n return slide ? slide : lastSlide();\n };\n\n if(detail && detail.action) {\n\n const { action, target } = detail;\n\n let slide;\n switch (action.toLowerCase()) {\n case 'select':\n slide = getSlide(target);\n this.dispatchSelectEvent_(slide);\n break;\n case 'first':\n slide = firstSlide();\n break;\n case 'next':\n slide = nextSlide();\n break;\n case 'prev':\n slide = prevSlide();\n break;\n case 'last':\n slide = lastSlide();\n break;\n case 'upgrade':\n this.upgradeSlides();\n break;\n default:\n throw new Error(`Unknown action \"${action}\". Action must be one of \"first\", \"next\", \"prev\", \"last\", \"select\" or \"upgrade\"`);\n }\n\n if (slide) {\n const a = slide.querySelector('a');\n if (a) {\n a.focus();\n }\n else {\n slide.focus();\n }\n\n // Workaround for JSDom testing:\n // In JsDom 'element.focus()' does not trigger any focus event\n if(!slide.hasAttribute('aria-selected')) {\n this.selectSlide_(slide);\n }\n\n }\n }\n };\n MaterialExtLightboard.prototype['command'] = MaterialExtLightboard.prototype.command;\n\n\n /**\n * Initialize component\n */\n MaterialExtLightboard.prototype.init = function() {\n\n const keydownHandler = event => {\n\n if(event.target !== this.element_) {\n let action;\n let target;\n switch (event.keyCode) {\n case VK_HOME:\n action = 'first';\n break;\n case VK_END:\n action = 'last';\n break;\n case VK_ARROW_UP:\n case VK_ARROW_LEFT:\n action = 'prev';\n break;\n case VK_ARROW_DOWN:\n case VK_ARROW_RIGHT:\n action = 'next';\n break;\n case VK_ENTER:\n case VK_SPACE:\n action = 'select';\n target = event.target;\n break;\n }\n if(action) {\n event.preventDefault();\n event.stopPropagation();\n this.command( { action: action, target: target } );\n }\n }\n };\n\n const clickHandler = event => {\n event.preventDefault();\n event.stopPropagation();\n\n if(event.target !== this.element_) {\n this.command( { action: 'select', target: event.target } );\n }\n };\n\n const focusHandler = event => {\n event.preventDefault();\n event.stopPropagation();\n\n if(event.target !== this.element_) {\n this.selectSlide_(event.target);\n }\n };\n\n\n if (this.element_) {\n this.element_.setAttribute('role', LIGHTBOARD_ROLE);\n\n if (this.element_.classList.contains(MDL_RIPPLE_EFFECT)) {\n this.element_.classList.add(MDL_RIPPLE_EFFECT_IGNORE_EVENTS);\n }\n\n // Remove listeners, just in case ...\n this.element_.removeEventListener('command', this.commandHandler_);\n this.element_.removeEventListener('keydown', keydownHandler);\n this.element_.removeEventListener('click', clickHandler);\n this.element_.removeEventListener('focus', focusHandler);\n\n this.element_.addEventListener('command', this.commandHandler_.bind(this), false);\n this.element_.addEventListener('keydown', keydownHandler, true);\n this.element_.addEventListener('click', clickHandler, true);\n this.element_.addEventListener('focus', focusHandler, true);\n\n this.upgradeSlides();\n\n this.element_.classList.add(IS_UPGRADED);\n }\n };\n\n // The component registers itself. It can assume componentHandler is available\n // in the global scope.\n /* eslint no-undef: 0 */\n /* jshint undef:false */\n componentHandler.register({\n constructor: MaterialExtLightboard,\n classAsString: 'MaterialExtLightboard',\n cssClass: 'mdlext-js-lightboard',\n widget: true\n });\n\n})();\n\n\n\n// WEBPACK FOOTER //\n// ./src/lightboard/lightboard.js\n\n\n// WEBPACK FOOTER //\n// ./src/lightboard/lightboard.js","/**\n * @license\n * Copyright 2016 Leif Olsen. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * This code is built with Google Material Design Lite,\n * which is Licensed under the Apache License, Version 2.0\n */\n\n\n/**\n * Responsive Lightbox\n */\n\nimport fullThrottle from '../utils/full-throttle';\nimport {\n VK_ESC,\n VK_SPACE,\n VK_END,\n VK_HOME,\n VK_ARROW_LEFT,\n VK_ARROW_UP,\n VK_ARROW_RIGHT,\n VK_ARROW_DOWN,\n IS_UPGRADED\n} from '../utils/constants';\n\n(function() {\n 'use strict';\n\n const LIGHTBOX = 'mdlext-lightbox';\n const LIGHTBOX_SLIDER = 'mdlext-lightbox__slider';\n const LIGHTBOX_SLIDER_SLIDE = 'mdlext-lightbox__slider__slide';\n const STICKY_FOOTER = 'mdlext-lightbox--sticky-footer';\n const BUTTON = 'mdl-button';\n\n /**\n * https://github.com/google/material-design-lite/issues/4205\n * @constructor\n * @param {Element} element The element that will be upgraded.\n */\n const MaterialExtLightbox = function MaterialExtLightbox(element) {\n // Stores the element.\n this.element_ = element;\n\n // Initialize instance.\n this.init();\n };\n window['MaterialExtLightbox'] = MaterialExtLightbox;\n\n\n /**\n * Handle keypress\n * @param event\n * @private\n */\n MaterialExtLightbox.prototype.keyDownHandler_ = function(event) {\n\n if (event) {\n if ( event.keyCode === VK_ESC || event.keyCode === VK_SPACE\n || event.keyCode === VK_END || event.keyCode === VK_HOME\n || event.keyCode === VK_ARROW_UP || event.keyCode === VK_ARROW_LEFT\n || event.keyCode === VK_ARROW_DOWN || event.keyCode === VK_ARROW_RIGHT) {\n\n if(event.keyCode !== VK_ESC) {\n event.preventDefault();\n event.stopPropagation();\n }\n\n let action = 'first';\n if (event.keyCode === VK_END) {\n action = 'last';\n }\n else if (event.keyCode === VK_ARROW_UP || event.keyCode === VK_ARROW_LEFT) {\n action = 'prev';\n }\n else if (event.keyCode === VK_ARROW_DOWN || event.keyCode === VK_ARROW_RIGHT) {\n action = 'next';\n }\n else if (event.keyCode === VK_SPACE) {\n action = 'select';\n }\n else if (event.keyCode === VK_ESC) {\n action = 'cancel';\n }\n\n dispatchAction_(action, this);\n }\n }\n };\n\n /**\n * Handle button clicks\n * @param event\n * @private\n */\n MaterialExtLightbox.prototype.buttonClickHandler_ = function(event) {\n\n if (event) {\n event.preventDefault();\n event.stopPropagation();\n\n dispatchAction_(this.getAttribute('data-action') || '', this);\n\n const n = this.closest(`.${LIGHTBOX}`);\n if(n) {\n n.focus();\n }\n }\n };\n\n /**\n * Dispatches an action custom event\n * @param action\n * @param source\n * @param target\n * @private\n */\n const dispatchAction_ = (action, source, target = source) => {\n\n target.dispatchEvent(new CustomEvent('action', {\n bubbles: true,\n cancelable: true,\n detail: {\n action: action || '',\n source: source\n }\n }));\n };\n\n /**\n * Reposition dialog if component parent element is \"DIALOG\"\n * @param lightboxElement\n * @private\n */\n const repositionDialog_ = lightboxElement => {\n const footerHeight = (footer, isSticky) => isSticky && footer ? footer.offsetHeight : 0;\n\n const reposition = (dialog, fh) => {\n if (window.getComputedStyle(dialog).position === 'absolute') {\n const scrollTop = document.body.scrollTop || document.documentElement.scrollTop;\n const topValue = scrollTop + (window.innerHeight - dialog.offsetHeight - fh) / 2;\n dialog.style.top = `${Math.max(scrollTop, topValue)}px`;\n }\n };\n\n const p = lightboxElement.parentNode;\n const dialog = p && p.nodeName === 'DIALOG' ? p : null;\n\n if(dialog && dialog.hasAttribute('open')) {\n lightboxElement.style.width = 'auto';\n lightboxElement.style.maxWidth = '100%';\n const img = lightboxElement.querySelector('img');\n if(img) {\n lightboxElement.style.maxWidth = img.naturalWidth !== undefined ? `${img.naturalWidth}px` : `${img.width}px` || '100%';\n }\n\n const fh = footerHeight(lightboxElement.querySelector('footer'), lightboxElement.classList.contains(STICKY_FOOTER));\n const vh = Math.max(document.documentElement.clientHeight, window.innerHeight || 0) - fh;\n if (dialog.offsetHeight > vh) {\n let n = 0;\n while(dialog.offsetHeight > vh && ++n < 4) {\n lightboxElement.style.width = `${lightboxElement.offsetWidth * vh / lightboxElement.offsetHeight}px`;\n }\n }\n reposition(dialog, fh);\n }\n };\n\n /**\n * Handle image load\n * @param event\n * @private\n */\n\n MaterialExtLightbox.prototype.imgLoadHandler_ = function( /*event*/ ) {\n repositionDialog_(this);\n };\n\n\n /**\n * Handle image drag\n * @param event\n * @private\n */\n MaterialExtLightbox.prototype.imgDragHandler_ = function(event ) {\n\n const setStyles = ( element, properties ) => {\n //noinspection JSAnnotator\n for(const [key, value] of Object.entries(properties)) {\n element.style[key] = value;\n }\n // ... or:\n //for (const key in properties) {\n // element.style[key] = properties[key];\n //}\n };\n\n event.preventDefault();\n //event.stopPropagation();\n\n const x = event.clientX || (event.touches !== undefined ? event.touches[0].clientX : 0);\n\n const img = this;\n img.style.opacity = '0.2';\n\n const slider = document.createElement('div');\n slider.classList.add(LIGHTBOX_SLIDER);\n setStyles(slider, {'width': `${img.offsetWidth}px`, 'height': `${img.offsetHeight}px`} );\n\n let slide = document.createElement('div');\n slide.classList.add(LIGHTBOX_SLIDER_SLIDE);\n slide.textContent = '>';\n setStyles(slide, {\n 'width' : `${img.offsetWidth}px`,\n 'height' : `${img.offsetHeight}px`,\n 'line-height' : `${img.offsetHeight}px`,\n 'font-size' : `${img.offsetHeight/4}px`,\n 'text-align' : 'right',\n 'background-image': `url(\"${img.getAttribute('data-img-url-prev') || ''}\")`\n });\n slider.appendChild(slide);\n\n slide = document.createElement('div');\n slide.classList.add(LIGHTBOX_SLIDER_SLIDE);\n setStyles(slide, {\n 'width' : `${img.offsetWidth}px`,\n 'height' : `${img.offsetHeight}px`,\n 'background-image': `url(\"${img.src}\")`\n });\n slider.appendChild(slide);\n\n slide = document.createElement('div');\n slide.classList.add(LIGHTBOX_SLIDER_SLIDE);\n slide.textContent = '<';\n setStyles(slide, {\n 'width' : `${img.offsetWidth}px`,\n 'height' : `${img.offsetHeight}px`,\n 'line-height' : `${img.offsetHeight}px`,\n 'font-size' : `${img.offsetHeight/4}px`,\n 'text-align' : 'left',\n 'background-image': `url(\"${img.getAttribute('data-img-url-next') || ''}\")`\n });\n slider.appendChild(slide);\n\n img.parentNode.appendChild(slider);\n\n\n // drag handler\n const drag = e => {\n e.preventDefault();\n const dx = (e.clientX || (e.touches !== undefined ? e.touches[0].clientX : 0)) - x; // TODO: maybe rewrite to improve performance\n\n if(slider.offsetWidth - Math.abs(dx) > 19) {\n slider.style.left = `${dx}px`;\n }\n };\n\n // end drag handler\n const endDrag = e => {\n e.preventDefault();\n //e.stopPropagation();\n\n window.removeEventListener('mousemove', drag);\n window.removeEventListener('touchmove', drag);\n window.removeEventListener('mouseup', endDrag);\n window.removeEventListener('touchend', endDrag);\n\n const dx = slider.offsetLeft;\n img.parentNode.removeChild(slider);\n img.style.opacity = '1.0';\n\n if(Math.abs(dx) > 19) {\n dispatchAction_( (dx > 0 ? 'prev' : 'next') , img);\n }\n };\n\n window.addEventListener('mousemove', drag);\n window.addEventListener('touchmove', drag);\n window.addEventListener('mouseup', endDrag);\n window.addEventListener('touchend',endDrag);\n };\n\n\n /**\n * Initialize component\n */\n MaterialExtLightbox.prototype.init = function() {\n\n if (this.element_) {\n // Do the init required for this component to work\n this.element_.addEventListener('keydown', this.keyDownHandler_.bind(this.element_), true);\n\n if(!Number.isInteger(this.element_.getAttribute('tabindex'))) {\n this.element_.setAttribute('tabindex', 1);\n }\n\n [...this.element_.querySelectorAll(`.${BUTTON}`)].forEach( button =>\n button.addEventListener('click', this.buttonClickHandler_.bind(button), false)\n );\n\n const figcaption = this.element_.querySelector('figcaption');\n if(figcaption) {\n figcaption.addEventListener('click', this.buttonClickHandler_.bind(figcaption), false);\n }\n\n const footer = this.element_.querySelector('footer');\n if(footer) {\n footer.addEventListener('click', this.buttonClickHandler_.bind(footer), false);\n }\n\n const img = this.element_.querySelector('img');\n if(img) {\n img.addEventListener('load', this.imgLoadHandler_.bind(this.element_), false);\n img.addEventListener('click', e => e.preventDefault(), true);\n img.addEventListener('mousedown', this.imgDragHandler_.bind(img), true);\n img.addEventListener('touchstart', this.imgDragHandler_.bind(img), true);\n }\n window.addEventListener('resize', fullThrottle( () => repositionDialog_(this.element_) ));\n window.addEventListener('orientationchange', () => repositionDialog_(this.element_));\n\n // Set upgraded flag\n this.element_.classList.add(IS_UPGRADED);\n }\n };\n\n /*\n * Downgrade component\n * E.g remove listeners and clean up resources\n *\n * Nothing to downgrade\n *\n MaterialExtLightbox.prototype.mdlDowngrade_ = function() {\n };\n */\n\n /**\n * The component registers itself. It can assume componentHandler is available in the global scope.\n */\n /* jshint undef:false */\n componentHandler.register({\n constructor: MaterialExtLightbox,\n classAsString: 'MaterialExtLightbox',\n cssClass: 'mdlext-js-lightbox'\n });\n\n})();\n\n\n\n\n// WEBPACK FOOTER //\n// ./src/lightbox/lightbox.js\n\n\n// WEBPACK FOOTER //\n// ./src/lightbox/lightbox.js","/**\n * @license\n * Copyright 2016 Leif Olsen. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * This code is built with Google Material Design Lite,\n * which is Licensed under the Apache License, Version 2.0\n */\n\n\n/**\n * A menu button is a button that opens a menu. It is often styled as a\n * typical push button with a downward pointing arrow or triangle to hint\n * that activating the button will display a menu.\n */\nimport { randomString } from '../utils/string-utils';\nimport fullThrottle from '../utils/full-throttle';\nimport {\n VK_TAB,\n VK_ENTER,\n VK_ESC,\n VK_SPACE,\n VK_END,\n VK_HOME,\n VK_ARROW_LEFT,\n VK_ARROW_UP,\n VK_ARROW_RIGHT,\n VK_ARROW_DOWN,\n IS_UPGRADED,\n} from '../utils/constants';\n\nimport { getScrollParents, tether } from '../utils/dom-utils';\n\nconst JS_MENU_BUTTON = 'mdlext-js-menu-button';\nconst MENU_BUTTON_MENU = 'mdlext-menu';\nconst MENU_BUTTON_MENU_ITEM = 'mdlext-menu__item';\nconst MENU_BUTTON_MENU_ITEM_SEPARATOR = 'mdlext-menu__item-separator';\n//const MDL_LAYOUT_CONTENT = 'mdl-layout__content';\n\n/**\n * Creates the menu controlled by the menu button\n * @param element\n * @return {{element: Element, selected: Element, open: (function(*=)), removeListeners: (function()), downgrade: (function())}}\n */\n\nconst menuFactory = element => {\n\n let ariaControls = null;\n let parentNode = null;\n\n const removeAllSelected = () => {\n [...element.querySelectorAll(`.${MENU_BUTTON_MENU_ITEM}[aria-selected=\"true\"]`)]\n .forEach(selectedItem => selectedItem.removeAttribute('aria-selected'));\n };\n\n const setSelected = (item, force=false) => {\n if(force || (item && !item.hasAttribute('aria-selected'))) {\n removeAllSelected();\n if(item) {\n item.setAttribute('aria-selected', 'true');\n }\n }\n };\n\n const getSelected = () => {\n return element.querySelector(`.${MENU_BUTTON_MENU_ITEM}[aria-selected=\"true\"]`);\n };\n\n const isDisabled = item => item && item.hasAttribute('disabled');\n\n const isSeparator = item => item && item.classList.contains(MENU_BUTTON_MENU_ITEM_SEPARATOR);\n\n const focus = item => {\n if(item) {\n item = item.closest(`.${MENU_BUTTON_MENU_ITEM}`);\n }\n if(item) {\n item.focus();\n }\n };\n\n const nextItem = current => {\n let n = current.nextElementSibling;\n if(!n) {\n n = element.firstElementChild;\n }\n if(!isDisabled(n) && !isSeparator(n)) {\n focus(n);\n }\n else {\n let i = element.children.length;\n while(n && i-- > 0) {\n if(isDisabled(n) || isSeparator(n)) {\n n = n.nextElementSibling;\n if(!n) {\n n = element.firstElementChild;\n }\n }\n else {\n focus(n);\n break;\n }\n }\n }\n };\n\n const previousItem = current => {\n let p = current.previousElementSibling;\n if(!p) {\n p = element.lastElementChild;\n }\n if(!isDisabled(p) && !isSeparator(p)) {\n focus(p);\n }\n else {\n let i = element.children.length;\n while(p && i-- > 0) {\n if(isDisabled(p) || isSeparator(p)) {\n p = p.previousElementSibling;\n if(!p) {\n p = element.lastElementChild;\n }\n }\n else {\n focus(p);\n break;\n }\n }\n }\n };\n\n const firstItem = () => {\n const item = element.firstElementChild;\n if(isDisabled(item) || isSeparator(item) ) {\n nextItem(item);\n }\n else {\n focus(item);\n }\n };\n\n const lastItem = () => {\n const item = element.lastElementChild;\n if(isDisabled(item) || isSeparator(item)) {\n previousItem(item);\n }\n else {\n focus(item);\n }\n };\n\n const selectItem = item => {\n if(item && !isDisabled(item) && !isSeparator(item)) {\n setSelected(item);\n close(true, item);\n }\n };\n\n const keyDownHandler = event => {\n\n const item = event.target.closest(`.${MENU_BUTTON_MENU_ITEM}`);\n\n switch (event.keyCode) {\n case VK_ARROW_UP:\n case VK_ARROW_LEFT:\n if(item) {\n previousItem(item);\n }\n else {\n firstItem();\n }\n break;\n\n case VK_ARROW_DOWN:\n case VK_ARROW_RIGHT:\n if(item) {\n nextItem(item);\n }\n else {\n lastItem();\n }\n break;\n\n case VK_HOME:\n firstItem();\n break;\n\n case VK_END:\n lastItem();\n break;\n\n case VK_SPACE:\n case VK_ENTER:\n selectItem(item);\n break;\n\n case VK_ESC:\n close(true);\n break;\n\n case VK_TAB:\n // We do not have a \"natural\" tab order from menu, so the best we can do is to set focus back to the button\n close(true);\n break;\n\n default:\n return;\n }\n event.preventDefault();\n };\n\n\n const blurHandler = event => {\n\n // See: https://github.com/facebook/react/issues/2011\n const t = event.relatedTarget ||\n event.explicitOriginalTarget || // FF\n document.activeElement; // IE11\n\n //console.log('***** blur, target, relatedTarget', event.target, t);\n\n try {\n if (t) {\n if (t.closest(`.${MENU_BUTTON_MENU}`) !== element && shouldClose(t)) {\n close();\n }\n }\n else {\n close();\n }\n }\n catch(err) {\n // FF throws error: \"TypeError: n.closest is not a function\" if related target is a text node\n close();\n }\n };\n\n const clickHandler = event => {\n //console.log('***** click, target', event.target);\n\n event.preventDefault();\n const t = event.target;\n if (t && t.closest(`.${MENU_BUTTON_MENU}`) === element) {\n const item = t.closest(`.${MENU_BUTTON_MENU_ITEM}`);\n if (item) {\n selectItem(item);\n }\n }\n else {\n if (shouldClose(t)) {\n close();\n }\n }\n };\n\n const touchStartHandler = event => {\n //console.log('***** touchStart, target', event.target);\n\n const t = event.target;\n if(!(t && t.closest(`.${MENU_BUTTON_MENU}`) === element)) {\n if (event.type === 'touchstart') {\n event.preventDefault();\n }\n close();\n }\n };\n\n const addListeners = () => {\n element.addEventListener('keydown', keyDownHandler, false);\n element.addEventListener('blur', blurHandler, true);\n element.addEventListener('click', clickHandler, true);\n document.documentElement.addEventListener('touchstart', touchStartHandler, true);\n };\n\n const removeListeners = () => {\n element.removeEventListener('keydown', keyDownHandler, false);\n element.removeEventListener('blur', blurHandler, true);\n element.removeEventListener('click', clickHandler, true);\n document.documentElement.removeEventListener('touchstart', touchStartHandler, true);\n };\n\n const open = (controlElement, position='first') => {\n\n ariaControls = controlElement.closest(`.${JS_MENU_BUTTON}`);\n\n element.style['min-width'] = `${Math.max(124, controlElement.getBoundingClientRect().width)}px`;\n element.removeAttribute('hidden');\n tether(controlElement, element);\n\n let item;\n switch (position.toLowerCase()) {\n case 'first':\n firstItem();\n break;\n\n case 'last':\n lastItem();\n break;\n\n case 'selected':\n item = getSelected();\n if(item && !item.hasAttribute('disabled')) {\n focus(item);\n }\n else {\n firstItem();\n }\n break;\n }\n\n addListeners();\n };\n\n\n const shouldClose = target => {\n //console.log('***** shouldClose');\n\n let result = false;\n const btn = (target && target.closest(`.${JS_MENU_BUTTON}`)) || null;\n if(!btn) {\n result = true;\n }\n else if(btn.getAttribute('aria-controls') === element.id) {\n if(btn !== ariaControls) {\n result = true;\n }\n }\n else {\n result = true;\n }\n return result;\n };\n\n const close = (forceFocus = false, item = null) => {\n removeListeners();\n\n element.dispatchEvent(\n new CustomEvent('_closemenu', {\n bubbles: true,\n cancelable: true,\n detail: { forceFocus: forceFocus, item: item }\n })\n );\n };\n\n const addWaiAria = () => {\n if (!element.hasAttribute('id')) {\n // Generate a random id\n element.id = `menu-button-${randomString()}`;\n }\n element.setAttribute('tabindex', '-1');\n element.setAttribute('role', 'menu');\n element.setAttribute('hidden', '');\n\n [...element.querySelectorAll(`.${MENU_BUTTON_MENU_ITEM}`)].forEach( menuitem => {\n menuitem.setAttribute('tabindex', '-1');\n menuitem.setAttribute('role', 'menuitem');\n });\n\n [...element.querySelectorAll(`.${MENU_BUTTON_MENU_ITEM_SEPARATOR}`)].forEach( menuitem => {\n menuitem.setAttribute('role', 'separator');\n });\n };\n\n const init = () => {\n addWaiAria();\n parentNode = element.parentNode;\n element.classList.add('is-upgraded');\n };\n\n const downgrade = () => {\n removeListeners();\n if(element.parentNode !== parentNode) {\n parentNode.appendChild(element);\n }\n element.classList.remove('is-upgraded');\n };\n\n init();\n\n return {\n /**\n * Get the menu element\n * @returns {Element} the menu element\n */\n get element() {\n return element;\n },\n\n /**\n * Set selected menu item\n * @param item\n */\n set selected(item) {\n setSelected(item, true);\n },\n\n /**\n * Open menu\n * @param {Element} controlElement the element where the menu should be aligned to\n * @param {String} position menuElement item to receive focus after menu element is opened\n */\n open: (controlElement, position='first') => open(controlElement, position),\n\n /**\n * Remove event listeners.\n */\n removeListeners: () => removeListeners(),\n\n /**\n * Downgrade menu\n */\n downgrade: () => downgrade(),\n };\n};\n\n\n/**\n * The menubutton component\n */\n\nclass MenuButton {\n\n constructor(element) {\n this.element = element;\n this.focusElement = undefined;\n this.focusElementLastScrollPosition = undefined;\n this.scrollElements = [];\n this.menu = undefined;\n this.selectedItem = null;\n this.init();\n }\n\n keyDownHandler = event => {\n if(!this.isDisabled()) {\n switch (event.keyCode) {\n case VK_ARROW_UP:\n this.openMenu('last');\n break;\n\n case VK_ARROW_DOWN:\n this.openMenu();\n break;\n\n case VK_SPACE:\n case VK_ENTER:\n this.openMenu('selected');\n break;\n\n case VK_ESC:\n this.closeMenu();\n break;\n\n case VK_TAB:\n this.closeMenu();\n return;\n\n default:\n return;\n }\n }\n //event.stopPropagation();\n event.preventDefault();\n };\n\n clickHandler = () => {\n if(!this.isDisabled()) {\n if(this.element.getAttribute('aria-expanded').toLowerCase() === 'true') {\n this.closeMenu(true);\n }\n else {\n this.openMenu('selected');\n }\n }\n };\n\n /**\n * Re-position menu if content is scrolled, window is resized or orientation change\n * @see https://javascriptweblog.wordpress.com/2015/11/02/of-classes-and-arrow-functions-a-cautionary-tale/\n */\n recalcMenuPosition = fullThrottle( () => {\n const c = this.focusElement.getBoundingClientRect();\n const dx = this.focusElementLastScrollPosition.left - c.left;\n const dy = this.focusElementLastScrollPosition.top - c.top;\n const left = (parseFloat(this.menu.element.style.left) || 0) - dx;\n const top = (parseFloat(this.menu.element.style.top) || 0) - dy;\n\n this.menu.element.style.left = `${left}px`;\n this.menu.element.style.top = `${top}px`;\n this.focusElementLastScrollPosition = c;\n });\n\n\n positionChangeHandler = () => {\n this.recalcMenuPosition(this);\n };\n\n closeMenuHandler = event => {\n if(event && event.detail) {\n if(event.detail.item && event.detail.item !== this.selectedItem) {\n this.selectedItem = event.detail.item;\n this.dispatchMenuSelect();\n }\n this.closeMenu(event.detail.forceFocus);\n }\n };\n\n dispatchMenuSelect() {\n this.element.dispatchEvent(\n new CustomEvent('menuselect', {\n bubbles: true,\n cancelable: true,\n detail: { source: this.selectedItem }\n })\n );\n }\n\n isDisabled() {\n return this.element.hasAttribute('disabled');\n }\n\n removeListeners() {\n this.element.removeEventListener('keydown', this.keyDownHandler);\n this.element.removeEventListener('click', this.clickHandler);\n }\n\n openMenu(position='first') {\n\n if(!this.isDisabled() && this.menu) {\n\n // Close the menu if button position change\n this.scrollElements = getScrollParents(this.element);\n this.scrollElements.forEach(el => el.addEventListener('scroll', this.positionChangeHandler));\n\n window.addEventListener('resize', this.positionChangeHandler);\n window.addEventListener('orientationchange', this.positionChangeHandler);\n this.menu.element.addEventListener('_closemenu', this.closeMenuHandler);\n\n this.menu.selected = this.selectedItem;\n this.menu.open(this.focusElement, position);\n this.element.setAttribute('aria-expanded', 'true');\n\n this.focusElementLastScrollPosition = this.focusElement.getBoundingClientRect();\n }\n }\n\n closeMenu(forceFocus = false) {\n if(this.menu) {\n this.menu.removeListeners();\n this.scrollElements.forEach(el => el.removeEventListener('scroll', this.positionChangeHandler));\n window.removeEventListener('resize', this.positionChangeHandler);\n window.removeEventListener('orientationchange', this.positionChangeHandler);\n this.menu.element.removeEventListener('_closemenu', this.closeMenuHandler);\n\n if (forceFocus) {\n this.focus();\n }\n this.element.setAttribute('aria-expanded', 'false');\n this.menu.element.setAttribute('hidden', '');\n }\n }\n\n focus() {\n if(!this.isDisabled()) {\n this.focusElement.focus();\n }\n }\n\n init() {\n const addListeners = () => {\n this.element.addEventListener('keydown', this.keyDownHandler);\n this.element.addEventListener('click', this.clickHandler);\n };\n\n const addWaiAria = () => {\n this.element.setAttribute('role', 'button');\n this.element.setAttribute('aria-expanded', 'false');\n this.element.setAttribute('aria-haspopup', 'true');\n };\n\n const addFocusElement = () => {\n this.focusElement = this.element.querySelector('input[type=\"text\"]');\n if(!this.focusElement) {\n this.focusElement = this.element;\n\n if(!(this.focusElement.tagName.toLowerCase() === 'button' || this.focusElement.tagName.toLowerCase() === 'input')) {\n if (!this.focusElement.hasAttribute('tabindex')) {\n this.focusElement.setAttribute('tabindex', '0');\n }\n }\n }\n };\n\n const moveElementToDocumentBody = (element) => {\n // To position an element on top of all other z-indexed elements, the element should be moved to document.body\n // See: https://philipwalton.com/articles/what-no-one-told-you-about-z-index/\n\n if(element.parentNode !== document.body) {\n return document.body.appendChild(element);\n }\n return element;\n };\n\n const findMenuElement = () => {\n let menuElement;\n const menuElementId = this.element.getAttribute('aria-controls');\n if(menuElementId !== null) {\n menuElement = document.querySelector(`#${menuElementId }`);\n }\n else {\n menuElement = this.element.parentNode.querySelector(`.${MENU_BUTTON_MENU}`);\n }\n return menuElement;\n };\n\n const addMenu = () => {\n const menuElement = findMenuElement();\n if(menuElement) {\n if(menuElement.componentInstance) {\n this.menu = menuElement.componentInstance;\n }\n else {\n this.menu = menuFactory(menuElement);\n menuElement.componentInstance = this.menu;\n moveElementToDocumentBody(menuElement);\n }\n this.element.setAttribute('aria-controls', this.menu.element.id);\n }\n };\n\n addFocusElement();\n addWaiAria();\n addMenu();\n this.removeListeners();\n addListeners();\n }\n\n downgrade() {\n if(this.menu) {\n // Do not downgrade menu if there are other buttons sharing this menu\n const related = [...document.querySelectorAll(`.${JS_MENU_BUTTON}[aria-controls=\"${this.element.getAttribute('aria-controls')}\"]`)];\n if(related.filter( c => c !== this.element && c.getAttribute('data-upgraded').indexOf('MaterialExtMenuButton') >= 0).length === 0) {\n this.menu.downgrade();\n }\n }\n this.removeListeners();\n }\n\n}\n\n(function() {\n 'use strict';\n\n /**\n * https://github.com/google/material-design-lite/issues/4205\n * @constructor\n * @param {Element} element The element that will be upgraded.\n */\n const MaterialExtMenuButton = function MaterialExtMenuButton(element) {\n this.element_ = element;\n this.menuButton_ = null;\n\n // Initialize instance.\n this.init();\n };\n window['MaterialExtMenuButton'] = MaterialExtMenuButton;\n\n\n // Public methods.\n\n /**\n * Get the menu element controlled by this button, null if no menu is controlled by this button\n * @public\n */\n MaterialExtMenuButton.prototype.getMenuElement = function() {\n return this.menuButton_.menu ? this.menuButton_.menu.element : null;\n };\n MaterialExtMenuButton.prototype['getMenuElement'] = MaterialExtMenuButton.prototype.getMenuElement;\n\n /**\n * Open menu\n * @public\n * @param {String} position one of \"first\", \"last\" or \"selected\"\n */\n MaterialExtMenuButton.prototype.openMenu = function(position) {\n this.menuButton_.openMenu(position);\n };\n MaterialExtMenuButton.prototype['openMenu'] = MaterialExtMenuButton.prototype.openMenu;\n\n /**\n * Close menu\n * @public\n */\n MaterialExtMenuButton.prototype.closeMenu = function() {\n this.menuButton_.closeMenu(true);\n };\n MaterialExtMenuButton.prototype['closeMenu'] = MaterialExtMenuButton.prototype.closeMenu;\n\n /**\n * Get selected menu item\n * @public\n * @returns {Element} The selected menu item or null if no item selected\n */\n MaterialExtMenuButton.prototype.getSelectedMenuItem = function() {\n return this.menuButton_.selectedItem;\n };\n MaterialExtMenuButton.prototype['getSelectedMenuItem'] = MaterialExtMenuButton.prototype.getSelectedMenuItem;\n\n\n /**\n * Set (default) selected menu item\n * @param {Element} item\n */\n MaterialExtMenuButton.prototype.setSelectedMenuItem = function(item) {\n this.menuButton_.selectedItem = item;\n };\n MaterialExtMenuButton.prototype['setSelectedMenuItem'] = MaterialExtMenuButton.prototype.setSelectedMenuItem;\n\n /**\n * Initialize component\n */\n MaterialExtMenuButton.prototype.init = function() {\n if (this.element_) {\n this.menuButton_ = new MenuButton(this.element_);\n this.element_.addEventListener('mdl-componentdowngraded', this.mdlDowngrade_.bind(this));\n this.element_.classList.add(IS_UPGRADED);\n }\n };\n\n /**\n * Downgrade component\n * E.g remove listeners and clean up resources\n */\n MaterialExtMenuButton.prototype.mdlDowngrade_ = function() {\n this.menuButton_.downgrade();\n };\n\n // The component registers itself. It can assume componentHandler is available\n // in the global scope.\n /* eslint no-undef: 0 */\n componentHandler.register({\n constructor: MaterialExtMenuButton,\n classAsString: 'MaterialExtMenuButton',\n cssClass: JS_MENU_BUTTON,\n widget: true\n });\n})();\n\n\n\n// WEBPACK FOOTER //\n// ./src/menu-button/menu-button.js\n\n\n// WEBPACK FOOTER //\n// ./src/menu-button/menu-button.js","/**\n * @license\n * Copyright 2016 Leif Olsen. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * This code is built with Google Material Design Lite,\n * which is Licensed under the Apache License, Version 2.0\n */\n\n/*\n * Copied/Modified from https://github.com/google/material-design-lite/tree/master/src/textfield\n */\n\nimport { randomString } from '../utils/string-utils';\nimport {\n IS_DIRTY,\n IS_FOCUSED,\n IS_DISABLED,\n IS_INVALID,\n IS_UPGRADED\n} from '../utils/constants';\n\n(function() {\n 'use strict';\n const LABEL = 'mdlext-selectfield__label';\n const INPUT = 'mdlext-selectfield__select';\n\n /**\n * Class constructor for Selectfield MDLEXT component.\n * Implements MDL component design pattern defined at:\n * https://github.com/jasonmayes/mdl-component-design-pattern\n *\n * @constructor\n * @param {HTMLElement} element The element that will be upgraded.\n */\n const MaterialExtSelectfield = function MaterialExtSelectfield(element) {\n this.element_ = element;\n this.init(); // Initialize instance.\n };\n\n window['MaterialExtSelectfield'] = MaterialExtSelectfield;\n\n /**\n * Handle focus.\n *\n * @param {Event} event The event that fired.\n * @private\n */\n /*eslint no-unused-vars: 0*/\n MaterialExtSelectfield.prototype.onFocus_ = function( /*event*/ ) {\n this.element_.classList.add(IS_FOCUSED);\n };\n\n /**\n * Handle lost focus.\n *\n * @param {Event} event The event that fired.\n * @private\n */\n /*eslint no-unused-vars: 0*/\n MaterialExtSelectfield.prototype.onBlur_ = function( /*event*/ ) {\n this.element_.classList.remove(IS_FOCUSED);\n };\n\n /**\n * Handle reset event from out side.\n *\n * @param {Event} event The event that fired.\n * @private\n */\n MaterialExtSelectfield.prototype.onReset_ = function( /*event*/ ) {\n this.updateClasses_();\n };\n\n /**\n * Handle class updates.\n *\n * @private\n */\n MaterialExtSelectfield.prototype.updateClasses_ = function() {\n this.checkDisabled();\n this.checkValidity();\n this.checkDirty();\n this.checkFocus();\n };\n\n // Public methods.\n\n /**\n * Check the disabled state and update field accordingly.\n *\n * @public\n */\n MaterialExtSelectfield.prototype.checkDisabled = function() {\n if (this.select_.disabled) {\n this.element_.classList.add(IS_DISABLED);\n } else {\n this.element_.classList.remove(IS_DISABLED);\n }\n };\n MaterialExtSelectfield.prototype['checkDisabled'] = MaterialExtSelectfield.prototype.checkDisabled;\n\n\n /**\n * Check the focus state and update field accordingly.\n *\n * @public\n */\n MaterialExtSelectfield.prototype.checkFocus = function() {\n // Note: element.querySelector(':focus') always return null in JsDom, even if select element has focus\n /*eslint no-extra-boolean-cast: 0*/\n if (Boolean(this.element_.querySelector(':focus'))) {\n this.element_.classList.add(IS_FOCUSED);\n } else {\n this.element_.classList.remove(IS_FOCUSED);\n }\n };\n\n MaterialExtSelectfield.prototype['checkFocus'] = MaterialExtSelectfield.prototype.checkFocus;\n\n\n /**\n * Check the validity state and update field accordingly.\n *\n * @public\n */\n MaterialExtSelectfield.prototype.checkValidity = function() {\n\n /* Don't think it makes any sense to check validity.\n Tests I've done, so far, indicates that setting an illegal value via JS returns selectedIndex=0\n\n if (this.select_.validity) {\n if (this.select_.validity.valid) {\n this.element_.classList.remove(this.CssClasses_.IS_INVALID);\n } else {\n this.element_.classList.add(this.CssClasses_.IS_INVALID);\n }\n }\n */\n };\n\n MaterialExtSelectfield.prototype['checkValidity'] = MaterialExtSelectfield.prototype.checkValidity;\n\n /**\n * Check the dirty state and update field accordingly.\n *\n * @public\n */\n MaterialExtSelectfield.prototype.checkDirty = function() {\n if (this.select_.value && this.select_.value.length > 0) {\n this.element_.classList.add(IS_DIRTY);\n } else {\n this.element_.classList.remove(IS_DIRTY);\n }\n };\n\n MaterialExtSelectfield.prototype['checkDirty'] = MaterialExtSelectfield.prototype.checkDirty;\n\n /**\n * Disable select field.\n *\n * @public\n */\n MaterialExtSelectfield.prototype.disable = function() {\n this.select_.disabled = true;\n this.updateClasses_();\n };\n\n MaterialExtSelectfield.prototype['disable'] = MaterialExtSelectfield.prototype.disable;\n\n /**\n * Enable select field.\n *\n * @public\n */\n MaterialExtSelectfield.prototype.enable = function() {\n this.select_.disabled = false;\n this.updateClasses_();\n };\n\n MaterialExtSelectfield.prototype['enable'] = MaterialExtSelectfield.prototype.enable;\n\n /**\n * Update select field value.\n *\n * @param {string} value The value to which to set the control (optional).\n * @public\n */\n MaterialExtSelectfield.prototype.change = function(value) {\n this.select_.value = value || '';\n this.updateClasses_();\n };\n MaterialExtSelectfield.prototype['change'] = MaterialExtSelectfield.prototype.change;\n\n /**\n * Initialize element.\n */\n MaterialExtSelectfield.prototype.init = function() {\n if (this.element_) {\n this.label_ = this.element_.querySelector(`.${LABEL}`);\n this.select_ = this.element_.querySelector(`.${INPUT}`);\n\n if (this.select_) {\n // Remove listeners, just in case ...\n this.select_.removeEventListener('change', this.updateClasses_);\n this.select_.removeEventListener('focus', this.onFocus_);\n this.select_.removeEventListener('blur', this.onBlur_);\n this.select_.removeEventListener('reset', this.onReset_);\n\n this.select_.addEventListener('change', this.updateClasses_.bind(this));\n this.select_.addEventListener('focus', this.onFocus_.bind(this));\n this.select_.addEventListener('blur', this.onBlur_.bind(this));\n this.select_.addEventListener('reset', this.onReset_.bind(this));\n\n if(this.label_) {\n let id;\n if(!this.select_.hasAttribute('id')) {\n id = `select-${randomString()}`;\n this.select_.id = id;\n }\n else {\n id = this.select_.id;\n }\n\n if(!this.label_.hasAttribute('for')) {\n this.label_.setAttribute('for', id);\n }\n }\n\n const invalid = this.element_.classList.contains(IS_INVALID);\n this.updateClasses_();\n this.element_.classList.add(IS_UPGRADED);\n\n if (invalid) {\n this.element_.classList.add(IS_INVALID);\n }\n if (this.select_.hasAttribute('autofocus')) {\n this.element_.focus();\n this.checkFocus();\n }\n }\n }\n };\n\n /**\n * Downgrade component\n * E.g remove listeners and clean up resources\n *\n * Nothing to downgrade\n *\n MaterialExtSelectfield.prototype.mdlDowngrade_ = function() {\n 'use strict';\n console.log('***** MaterialExtSelectfield.mdlDowngrade ');\n };\n */\n\n // The component registers itself. It can assume componentHandler is available\n // in the global scope.\n /*eslint no-undef: 0*/\n componentHandler.register({\n constructor: MaterialExtSelectfield,\n classAsString: 'MaterialExtSelectfield',\n cssClass: 'mdlext-js-selectfield',\n widget: true\n });\n})();\n\n\n\n// WEBPACK FOOTER //\n// ./src/selectfield/selectfield.js\n\n\n// WEBPACK FOOTER //\n// ./src/selectfield/selectfield.js","/**\n * @license\n * Copyright 2016 Leif Olsen. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * This code is built with Google Material Design Lite,\n * which is Licensed under the Apache License, Version 2.0\n */\n\n/**\n * A sticky header makes site navigation easily accessible anywhere on the page and saves content space at the same.\n * The header should auto-hide, i.e. hiding the header automatically when a user starts scrolling down the page and\n * bringing the header back when a user might need it: they reach the bottom of the page or start scrolling up.\n */\n\nimport fullThrottle from '../utils/full-throttle';\nimport { jsonStringToObject } from '../utils/json-utils';\nimport {\n IS_UPGRADED\n} from '../utils/constants';\n\n\n(function() {\n 'use strict';\n const MDL_LAYOUT_CONTENT = 'mdl-layout__content';\n const IS_SCROLL_CLASS = 'mdlext-is-scroll';\n\n\n /**\n * @constructor\n * @param {Element} element The element that will be upgraded.\n */\n const MaterialExtStickyHeader = function MaterialExtStickyHeader(element) {\n // Stores the element.\n this.header_ = element;\n\n // Heder listens to scroll events from content\n this.content_ = null;\n this.lastScrollTop_ = 0;\n\n // Default config\n this.config_ = {\n visibleAtScrollEnd: false\n };\n\n this.mutationObserver_ = null;\n\n this.drawing_ = false;\n\n // Initialize instance.\n this.init();\n };\n\n window['MaterialExtStickyHeader'] = MaterialExtStickyHeader;\n\n\n /**\n * Update header width\n * @private\n */\n MaterialExtStickyHeader.prototype.recalcWidth_ = function() {\n this.header_.style.width = `${this.content_.clientWidth}px`;\n };\n\n const throttleResize = fullThrottle(self => self.recalcWidth_() );\n\n /**\n * Adjust header width when window resizes or oreientation changes\n * @param event\n * @private\n */\n MaterialExtStickyHeader.prototype.resizeHandler_ = function( /* event */ ) {\n throttleResize(this);\n };\n\n\n /**\n * Update header position\n * @private\n */\n MaterialExtStickyHeader.prototype.reposition_ = function() {\n\n const currentContentScrollTop = this.content_.scrollTop;\n const scrollDiff = this.lastScrollTop_ - currentContentScrollTop;\n\n if(currentContentScrollTop <= 0) {\n // Scrolled to the top. Header sticks to the top\n this.header_.style.top = '0';\n this.header_.classList.remove(IS_SCROLL_CLASS);\n }\n else if(scrollDiff > 0) {\n\n if(scrollDiff >= this.header_.offsetHeight) {\n\n // Scrolled up. Header slides in\n const headerTop = (parseInt( window.getComputedStyle( this.header_ ).getPropertyValue( 'top' ) ) || 0);\n if(headerTop != 0) {\n this.header_.style.top = '0';\n this.header_.classList.add(IS_SCROLL_CLASS);\n }\n this.lastScrollTop_ = currentContentScrollTop;\n }\n return;\n }\n else if(scrollDiff < 0) {\n // Scrolled down\n this.header_.classList.add(IS_SCROLL_CLASS);\n let headerTop = (parseInt( window.getComputedStyle( this.header_ ).getPropertyValue( 'top' ) ) || 0);\n\n if (this.content_.scrollHeight - this.content_.scrollTop <= this.content_.offsetHeight) {\n // Bottom of content\n if(headerTop != 0) {\n this.header_.style.top = this.config_.visibleAtScrollEnd ? '0' : `-${this.header_.offsetHeight}px`;\n }\n }\n else {\n headerTop += scrollDiff;\n const offsetHeight = this.header_.offsetHeight;\n this.header_.style.top = `${( Math.abs( headerTop ) > offsetHeight ? -offsetHeight : headerTop )}px`;\n }\n }\n\n this.lastScrollTop_ = currentContentScrollTop;\n };\n\n\n const throttleScroll = fullThrottle((self) => self.reposition_());\n\n /**\n * Scroll header when content scrolls\n * @param event\n * @private\n */\n MaterialExtStickyHeader.prototype.scrollHandler_ = function( /* event */ ) {\n throttleScroll(this);\n };\n\n /**\n * Init header position\n * @private\n */\n MaterialExtStickyHeader.prototype.updatePosition_ = function( /* event */ ) {\n this.recalcWidth_();\n this.reposition_();\n };\n\n /**\n * Add mutation observer\n * @private\n */\n MaterialExtStickyHeader.prototype.addMutationObserver_ = function() {\n\n // jsdom does not support MutationObserver - so this is not testable\n /* istanbul ignore next */\n this.mutationObserver_ = new MutationObserver( ( /*mutations*/ ) => {\n // Adjust header width if content changes (e.g. in a SPA)\n this.updatePosition_();\n });\n\n this.mutationObserver_.observe( this.content_, {\n attributes: false,\n childList: true,\n characterData: false,\n subtree: true\n });\n };\n\n /**\n * Removes event listeners\n * @private\n */\n MaterialExtStickyHeader.prototype.removeListeners_ = function() {\n\n window.removeEventListener('resize', this.resizeHandler_);\n window.removeEventListener('orientationchange', this.resizeHandler_);\n\n if(this.content_) {\n this.content_.removeEventListener('scroll', this.scrollHandler_);\n }\n\n if(this.mutationObserver_) {\n this.mutationObserver_.disconnect();\n this.mutationObserver_ = null;\n }\n };\n\n /**\n * Initialize component\n */\n MaterialExtStickyHeader.prototype.init = function() {\n\n if (this.header_) {\n\n this.removeListeners_();\n\n if(this.header_.hasAttribute('data-config')) {\n this.config_ = jsonStringToObject(this.header_.getAttribute('data-config'));\n }\n\n this.content_ = this.header_.parentNode.querySelector(`.${MDL_LAYOUT_CONTENT}`) || null;\n\n if(this.content_) {\n this.content_.style.paddingTop = `${this.header_.offsetHeight}px`; // Make room for sticky header\n this.lastScrollTop_ = this.content_.scrollTop;\n\n this.content_.addEventListener('scroll', this.scrollHandler_.bind(this));\n window.addEventListener('resize', this.resizeHandler_.bind(this));\n window.addEventListener('orientationchange', this.resizeHandler_.bind(this));\n\n this.addMutationObserver_();\n this.updatePosition_();\n\n // Set upgraded flag\n this.header_.classList.add(IS_UPGRADED);\n }\n }\n };\n\n /*\n * Downgrade component\n * E.g remove listeners and clean up resources\n *\n * Nothing to clean\n *\n MaterialExtStickyHeader.prototype.mdlDowngrade_ = function() {\n 'use strict';\n console.log('***** MaterialExtStickyHeader.prototype.mdlDowngrade_');\n };\n */\n\n\n // The component registers itself. It can assume componentHandler is available\n // in the global scope.\n /* eslint no-undef: 0 */\n componentHandler.register({\n constructor: MaterialExtStickyHeader,\n classAsString: 'MaterialExtStickyHeader',\n cssClass: 'mdlext-js-sticky-header'\n });\n})();\n\n\n\n// WEBPACK FOOTER //\n// ./src/sticky-header/sticky-header.js\n\n\n// WEBPACK FOOTER //\n// ./src/sticky-header/sticky-header.js","import './constants';\nimport './dom-utils';\nimport './string-utils';\nimport './json-utils';\nimport './full-throttle';\nimport './easing';\nimport './interval-function';\n\n\n\n// WEBPACK FOOTER //\n// ./src/utils/index.js\n\n\n// WEBPACK FOOTER //\n// ./src/utils/index.js","module.exports = { \"default\": require(\"core-js/library/fn/array/from\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/babel-runtime/core-js/array/from.js\n// module id = 60\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/babel-runtime/core-js/array/from.js\n// module id = 60\n// module chunks = 0 1","module.exports = { \"default\": require(\"core-js/library/fn/is-iterable\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/babel-runtime/core-js/is-iterable.js\n// module id = 61\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/babel-runtime/core-js/is-iterable.js\n// module id = 61\n// module chunks = 0 1","module.exports = { \"default\": require(\"core-js/library/fn/number/is-nan\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/babel-runtime/core-js/number/is-nan.js\n// module id = 62\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/babel-runtime/core-js/number/is-nan.js\n// module id = 62\n// module chunks = 0 1","module.exports = { \"default\": require(\"core-js/library/fn/object/define-property\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/babel-runtime/core-js/object/define-property.js\n// module id = 63\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/babel-runtime/core-js/object/define-property.js\n// module id = 63\n// module chunks = 0 1","module.exports = { \"default\": require(\"core-js/library/fn/object/entries\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/babel-runtime/core-js/object/entries.js\n// module id = 64\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/babel-runtime/core-js/object/entries.js\n// module id = 64\n// module chunks = 0 1","module.exports = { \"default\": require(\"core-js/library/fn/object/keys\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/babel-runtime/core-js/object/keys.js\n// module id = 65\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/babel-runtime/core-js/object/keys.js\n// module id = 65\n// module chunks = 0 1","module.exports = { \"default\": require(\"core-js/library/fn/reflect/apply\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/babel-runtime/core-js/reflect/apply.js\n// module id = 66\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/babel-runtime/core-js/reflect/apply.js\n// module id = 66\n// module chunks = 0 1","\"use strict\";\n\nexports.__esModule = true;\n\nvar _isIterable2 = require(\"../core-js/is-iterable\");\n\nvar _isIterable3 = _interopRequireDefault(_isIterable2);\n\nvar _getIterator2 = require(\"../core-js/get-iterator\");\n\nvar _getIterator3 = _interopRequireDefault(_getIterator2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function () {\n function sliceIterator(arr, i) {\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = (0, _getIterator3.default)(arr), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"]) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n }\n\n return function (arr, i) {\n if (Array.isArray(arr)) {\n return arr;\n } else if ((0, _isIterable3.default)(Object(arr))) {\n return sliceIterator(arr, i);\n } else {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n }\n };\n}();\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/babel-runtime/helpers/slicedToArray.js\n// module id = 67\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/babel-runtime/helpers/slicedToArray.js\n// module id = 67\n// module chunks = 0 1","require('../../modules/es6.string.iterator');\nrequire('../../modules/es6.array.from');\nmodule.exports = require('../../modules/_core').Array.from;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/fn/array/from.js\n// module id = 68\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/fn/array/from.js\n// module id = 68\n// module chunks = 0 1","require('../modules/web.dom.iterable');\nrequire('../modules/es6.string.iterator');\nmodule.exports = require('../modules/core.get-iterator');\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/fn/get-iterator.js\n// module id = 69\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/fn/get-iterator.js\n// module id = 69\n// module chunks = 0 1","require('../modules/web.dom.iterable');\nrequire('../modules/es6.string.iterator');\nmodule.exports = require('../modules/core.is-iterable');\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/fn/is-iterable.js\n// module id = 70\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/fn/is-iterable.js\n// module id = 70\n// module chunks = 0 1","require('../../modules/es6.number.is-integer');\nmodule.exports = require('../../modules/_core').Number.isInteger;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/fn/number/is-integer.js\n// module id = 71\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/fn/number/is-integer.js\n// module id = 71\n// module chunks = 0 1","require('../../modules/es6.number.is-nan');\nmodule.exports = require('../../modules/_core').Number.isNaN;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/fn/number/is-nan.js\n// module id = 72\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/fn/number/is-nan.js\n// module id = 72\n// module chunks = 0 1","require('../../modules/es6.object.assign');\nmodule.exports = require('../../modules/_core').Object.assign;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/fn/object/assign.js\n// module id = 73\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/fn/object/assign.js\n// module id = 73\n// module chunks = 0 1","require('../../modules/es6.object.define-property');\nvar $Object = require('../../modules/_core').Object;\nmodule.exports = function defineProperty(it, key, desc){\n return $Object.defineProperty(it, key, desc);\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/fn/object/define-property.js\n// module id = 74\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/fn/object/define-property.js\n// module id = 74\n// module chunks = 0 1","require('../../modules/es7.object.entries');\nmodule.exports = require('../../modules/_core').Object.entries;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/fn/object/entries.js\n// module id = 75\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/fn/object/entries.js\n// module id = 75\n// module chunks = 0 1","require('../../modules/es6.object.keys');\nmodule.exports = require('../../modules/_core').Object.keys;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/fn/object/keys.js\n// module id = 76\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/fn/object/keys.js\n// module id = 76\n// module chunks = 0 1","require('../../modules/es6.reflect.apply');\nmodule.exports = require('../../modules/_core').Reflect.apply;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/fn/reflect/apply.js\n// module id = 77\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/fn/reflect/apply.js\n// module id = 77\n// module chunks = 0 1","module.exports = function(){ /* empty */ };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_add-to-unscopables.js\n// module id = 78\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_add-to-unscopables.js\n// module id = 78\n// module chunks = 0 1","// false -> Array#indexOf\n// true -> Array#includes\nvar toIObject = require('./_to-iobject')\n , toLength = require('./_to-length')\n , toIndex = require('./_to-index');\nmodule.exports = function(IS_INCLUDES){\n return function($this, el, fromIndex){\n var O = toIObject($this)\n , length = toLength(O.length)\n , index = toIndex(fromIndex, length)\n , value;\n // Array#includes uses SameValueZero equality algorithm\n if(IS_INCLUDES && el != el)while(length > index){\n value = O[index++];\n if(value != value)return true;\n // Array#toIndex ignores holes, Array#includes - not\n } else for(;length > index; index++)if(IS_INCLUDES || index in O){\n if(O[index] === el)return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_array-includes.js\n// module id = 79\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_array-includes.js\n// module id = 79\n// module chunks = 0 1","'use strict';\nvar $defineProperty = require('./_object-dp')\n , createDesc = require('./_property-desc');\n\nmodule.exports = function(object, index, value){\n if(index in object)$defineProperty.f(object, index, createDesc(0, value));\n else object[index] = value;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_create-property.js\n// module id = 80\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_create-property.js\n// module id = 80\n// module chunks = 0 1","module.exports = require('./_global').document && document.documentElement;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_html.js\n// module id = 81\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_html.js\n// module id = 81\n// module chunks = 0 1","module.exports = !require('./_descriptors') && !require('./_fails')(function(){\n return Object.defineProperty(require('./_dom-create')('div'), 'a', {get: function(){ return 7; }}).a != 7;\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_ie8-dom-define.js\n// module id = 82\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_ie8-dom-define.js\n// module id = 82\n// module chunks = 0 1","// check on default Array iterator\nvar Iterators = require('./_iterators')\n , ITERATOR = require('./_wks')('iterator')\n , ArrayProto = Array.prototype;\n\nmodule.exports = function(it){\n return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_is-array-iter.js\n// module id = 83\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_is-array-iter.js\n// module id = 83\n// module chunks = 0 1","// 20.1.2.3 Number.isInteger(number)\nvar isObject = require('./_is-object')\n , floor = Math.floor;\nmodule.exports = function isInteger(it){\n return !isObject(it) && isFinite(it) && floor(it) === it;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_is-integer.js\n// module id = 84\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_is-integer.js\n// module id = 84\n// module chunks = 0 1","// call something on iterator step with safe closing on error\nvar anObject = require('./_an-object');\nmodule.exports = function(iterator, fn, value, entries){\n try {\n return entries ? fn(anObject(value)[0], value[1]) : fn(value);\n // 7.4.6 IteratorClose(iterator, completion)\n } catch(e){\n var ret = iterator['return'];\n if(ret !== undefined)anObject(ret.call(iterator));\n throw e;\n }\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_iter-call.js\n// module id = 85\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_iter-call.js\n// module id = 85\n// module chunks = 0 1","'use strict';\nvar create = require('./_object-create')\n , descriptor = require('./_property-desc')\n , setToStringTag = require('./_set-to-string-tag')\n , IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nrequire('./_hide')(IteratorPrototype, require('./_wks')('iterator'), function(){ return this; });\n\nmodule.exports = function(Constructor, NAME, next){\n Constructor.prototype = create(IteratorPrototype, {next: descriptor(1, next)});\n setToStringTag(Constructor, NAME + ' Iterator');\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_iter-create.js\n// module id = 86\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_iter-create.js\n// module id = 86\n// module chunks = 0 1","var ITERATOR = require('./_wks')('iterator')\n , SAFE_CLOSING = false;\n\ntry {\n var riter = [7][ITERATOR]();\n riter['return'] = function(){ SAFE_CLOSING = true; };\n Array.from(riter, function(){ throw 2; });\n} catch(e){ /* empty */ }\n\nmodule.exports = function(exec, skipClosing){\n if(!skipClosing && !SAFE_CLOSING)return false;\n var safe = false;\n try {\n var arr = [7]\n , iter = arr[ITERATOR]();\n iter.next = function(){ return {done: safe = true}; };\n arr[ITERATOR] = function(){ return iter; };\n exec(arr);\n } catch(e){ /* empty */ }\n return safe;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_iter-detect.js\n// module id = 87\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_iter-detect.js\n// module id = 87\n// module chunks = 0 1","module.exports = function(done, value){\n return {value: value, done: !!done};\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_iter-step.js\n// module id = 88\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_iter-step.js\n// module id = 88\n// module chunks = 0 1","module.exports = true;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_library.js\n// module id = 89\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_library.js\n// module id = 89\n// module chunks = 0 1","'use strict';\n// 19.1.2.1 Object.assign(target, source, ...)\nvar getKeys = require('./_object-keys')\n , gOPS = require('./_object-gops')\n , pIE = require('./_object-pie')\n , toObject = require('./_to-object')\n , IObject = require('./_iobject')\n , $assign = Object.assign;\n\n// should work with symbols and should have deterministic property order (V8 bug)\nmodule.exports = !$assign || require('./_fails')(function(){\n var A = {}\n , B = {}\n , S = Symbol()\n , K = 'abcdefghijklmnopqrst';\n A[S] = 7;\n K.split('').forEach(function(k){ B[k] = k; });\n return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;\n}) ? function assign(target, source){ // eslint-disable-line no-unused-vars\n var T = toObject(target)\n , aLen = arguments.length\n , index = 1\n , getSymbols = gOPS.f\n , isEnum = pIE.f;\n while(aLen > index){\n var S = IObject(arguments[index++])\n , keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S)\n , length = keys.length\n , j = 0\n , key;\n while(length > j)if(isEnum.call(S, key = keys[j++]))T[key] = S[key];\n } return T;\n} : $assign;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_object-assign.js\n// module id = 90\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_object-assign.js\n// module id = 90\n// module chunks = 0 1","// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\nvar anObject = require('./_an-object')\n , dPs = require('./_object-dps')\n , enumBugKeys = require('./_enum-bug-keys')\n , IE_PROTO = require('./_shared-key')('IE_PROTO')\n , Empty = function(){ /* empty */ }\n , PROTOTYPE = 'prototype';\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar createDict = function(){\n // Thrash, waste and sodomy: IE GC bug\n var iframe = require('./_dom-create')('iframe')\n , i = enumBugKeys.length\n , lt = '<'\n , gt = '>'\n , iframeDocument;\n iframe.style.display = 'none';\n require('./_html').appendChild(iframe);\n iframe.src = 'javascript:'; // eslint-disable-line no-script-url\n // createDict = iframe.contentWindow.Object;\n // html.removeChild(iframe);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n iframeDocument.close();\n createDict = iframeDocument.F;\n while(i--)delete createDict[PROTOTYPE][enumBugKeys[i]];\n return createDict();\n};\n\nmodule.exports = Object.create || function create(O, Properties){\n var result;\n if(O !== null){\n Empty[PROTOTYPE] = anObject(O);\n result = new Empty;\n Empty[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = createDict();\n return Properties === undefined ? result : dPs(result, Properties);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_object-create.js\n// module id = 91\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_object-create.js\n// module id = 91\n// module chunks = 0 1","var dP = require('./_object-dp')\n , anObject = require('./_an-object')\n , getKeys = require('./_object-keys');\n\nmodule.exports = require('./_descriptors') ? Object.defineProperties : function defineProperties(O, Properties){\n anObject(O);\n var keys = getKeys(Properties)\n , length = keys.length\n , i = 0\n , P;\n while(length > i)dP.f(O, P = keys[i++], Properties[P]);\n return O;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_object-dps.js\n// module id = 92\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_object-dps.js\n// module id = 92\n// module chunks = 0 1","exports.f = Object.getOwnPropertySymbols;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_object-gops.js\n// module id = 93\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_object-gops.js\n// module id = 93\n// module chunks = 0 1","// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = require('./_has')\n , toObject = require('./_to-object')\n , IE_PROTO = require('./_shared-key')('IE_PROTO')\n , ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function(O){\n O = toObject(O);\n if(has(O, IE_PROTO))return O[IE_PROTO];\n if(typeof O.constructor == 'function' && O instanceof O.constructor){\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectProto : null;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_object-gpo.js\n// module id = 94\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_object-gpo.js\n// module id = 94\n// module chunks = 0 1","var has = require('./_has')\n , toIObject = require('./_to-iobject')\n , arrayIndexOf = require('./_array-includes')(false)\n , IE_PROTO = require('./_shared-key')('IE_PROTO');\n\nmodule.exports = function(object, names){\n var O = toIObject(object)\n , i = 0\n , result = []\n , key;\n for(key in O)if(key != IE_PROTO)has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while(names.length > i)if(has(O, key = names[i++])){\n ~arrayIndexOf(result, key) || result.push(key);\n }\n return result;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_object-keys-internal.js\n// module id = 95\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_object-keys-internal.js\n// module id = 95\n// module chunks = 0 1","// most Object methods by ES6 should accept primitives\nvar $export = require('./_export')\n , core = require('./_core')\n , fails = require('./_fails');\nmodule.exports = function(KEY, exec){\n var fn = (core.Object || {})[KEY] || Object[KEY]\n , exp = {};\n exp[KEY] = exec(fn);\n $export($export.S + $export.F * fails(function(){ fn(1); }), 'Object', exp);\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_object-sap.js\n// module id = 96\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_object-sap.js\n// module id = 96\n// module chunks = 0 1","var getKeys = require('./_object-keys')\n , toIObject = require('./_to-iobject')\n , isEnum = require('./_object-pie').f;\nmodule.exports = function(isEntries){\n return function(it){\n var O = toIObject(it)\n , keys = getKeys(O)\n , length = keys.length\n , i = 0\n , result = []\n , key;\n while(length > i)if(isEnum.call(O, key = keys[i++])){\n result.push(isEntries ? [key, O[key]] : O[key]);\n } return result;\n };\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_object-to-array.js\n// module id = 97\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_object-to-array.js\n// module id = 97\n// module chunks = 0 1","module.exports = require('./_hide');\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_redefine.js\n// module id = 98\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_redefine.js\n// module id = 98\n// module chunks = 0 1","var toInteger = require('./_to-integer')\n , defined = require('./_defined');\n// true -> String#at\n// false -> String#codePointAt\nmodule.exports = function(TO_STRING){\n return function(that, pos){\n var s = String(defined(that))\n , i = toInteger(pos)\n , l = s.length\n , a, b;\n if(i < 0 || i >= l)return TO_STRING ? '' : undefined;\n a = s.charCodeAt(i);\n return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n ? TO_STRING ? s.charAt(i) : a\n : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n };\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_string-at.js\n// module id = 99\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_string-at.js\n// module id = 99\n// module chunks = 0 1","var toInteger = require('./_to-integer')\n , max = Math.max\n , min = Math.min;\nmodule.exports = function(index, length){\n index = toInteger(index);\n return index < 0 ? max(index + length, 0) : min(index, length);\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_to-index.js\n// module id = 100\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_to-index.js\n// module id = 100\n// module chunks = 0 1","// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = require('./_is-object');\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function(it, S){\n if(!isObject(it))return it;\n var fn, val;\n if(S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it)))return val;\n if(typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it)))return val;\n if(!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it)))return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_to-primitive.js\n// module id = 101\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_to-primitive.js\n// module id = 101\n// module chunks = 0 1","var anObject = require('./_an-object')\n , get = require('./core.get-iterator-method');\nmodule.exports = require('./_core').getIterator = function(it){\n var iterFn = get(it);\n if(typeof iterFn != 'function')throw TypeError(it + ' is not iterable!');\n return anObject(iterFn.call(it));\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/core.get-iterator.js\n// module id = 102\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/core.get-iterator.js\n// module id = 102\n// module chunks = 0 1","var classof = require('./_classof')\n , ITERATOR = require('./_wks')('iterator')\n , Iterators = require('./_iterators');\nmodule.exports = require('./_core').isIterable = function(it){\n var O = Object(it);\n return O[ITERATOR] !== undefined\n || '@@iterator' in O\n || Iterators.hasOwnProperty(classof(O));\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/core.is-iterable.js\n// module id = 103\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/core.is-iterable.js\n// module id = 103\n// module chunks = 0 1","'use strict';\nvar ctx = require('./_ctx')\n , $export = require('./_export')\n , toObject = require('./_to-object')\n , call = require('./_iter-call')\n , isArrayIter = require('./_is-array-iter')\n , toLength = require('./_to-length')\n , createProperty = require('./_create-property')\n , getIterFn = require('./core.get-iterator-method');\n\n$export($export.S + $export.F * !require('./_iter-detect')(function(iter){ Array.from(iter); }), 'Array', {\n // 22.1.2.1 Array.from(arrayLike, mapfn = undefined, thisArg = undefined)\n from: function from(arrayLike/*, mapfn = undefined, thisArg = undefined*/){\n var O = toObject(arrayLike)\n , C = typeof this == 'function' ? this : Array\n , aLen = arguments.length\n , mapfn = aLen > 1 ? arguments[1] : undefined\n , mapping = mapfn !== undefined\n , index = 0\n , iterFn = getIterFn(O)\n , length, result, step, iterator;\n if(mapping)mapfn = ctx(mapfn, aLen > 2 ? arguments[2] : undefined, 2);\n // if object isn't iterable or it's array with default iterator - use simple case\n if(iterFn != undefined && !(C == Array && isArrayIter(iterFn))){\n for(iterator = iterFn.call(O), result = new C; !(step = iterator.next()).done; index++){\n createProperty(result, index, mapping ? call(iterator, mapfn, [step.value, index], true) : step.value);\n }\n } else {\n length = toLength(O.length);\n for(result = new C(length); length > index; index++){\n createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]);\n }\n }\n result.length = index;\n return result;\n }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/es6.array.from.js\n// module id = 104\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/es6.array.from.js\n// module id = 104\n// module chunks = 0 1","'use strict';\nvar addToUnscopables = require('./_add-to-unscopables')\n , step = require('./_iter-step')\n , Iterators = require('./_iterators')\n , toIObject = require('./_to-iobject');\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nmodule.exports = require('./_iter-define')(Array, 'Array', function(iterated, kind){\n this._t = toIObject(iterated); // target\n this._i = 0; // next index\n this._k = kind; // kind\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function(){\n var O = this._t\n , kind = this._k\n , index = this._i++;\n if(!O || index >= O.length){\n this._t = undefined;\n return step(1);\n }\n if(kind == 'keys' )return step(0, index);\n if(kind == 'values')return step(0, O[index]);\n return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/es6.array.iterator.js\n// module id = 105\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/es6.array.iterator.js\n// module id = 105\n// module chunks = 0 1","// 20.1.2.3 Number.isInteger(number)\nvar $export = require('./_export');\n\n$export($export.S, 'Number', {isInteger: require('./_is-integer')});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/es6.number.is-integer.js\n// module id = 106\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/es6.number.is-integer.js\n// module id = 106\n// module chunks = 0 1","// 20.1.2.4 Number.isNaN(number)\nvar $export = require('./_export');\n\n$export($export.S, 'Number', {\n isNaN: function isNaN(number){\n return number != number;\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/es6.number.is-nan.js\n// module id = 107\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/es6.number.is-nan.js\n// module id = 107\n// module chunks = 0 1","// 19.1.3.1 Object.assign(target, source)\nvar $export = require('./_export');\n\n$export($export.S + $export.F, 'Object', {assign: require('./_object-assign')});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/es6.object.assign.js\n// module id = 108\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/es6.object.assign.js\n// module id = 108\n// module chunks = 0 1","var $export = require('./_export');\n// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)\n$export($export.S + $export.F * !require('./_descriptors'), 'Object', {defineProperty: require('./_object-dp').f});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/es6.object.define-property.js\n// module id = 109\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/es6.object.define-property.js\n// module id = 109\n// module chunks = 0 1","// 19.1.2.14 Object.keys(O)\nvar toObject = require('./_to-object')\n , $keys = require('./_object-keys');\n\nrequire('./_object-sap')('keys', function(){\n return function keys(it){\n return $keys(toObject(it));\n };\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/es6.object.keys.js\n// module id = 110\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/es6.object.keys.js\n// module id = 110\n// module chunks = 0 1","// 26.1.1 Reflect.apply(target, thisArgument, argumentsList)\nvar $export = require('./_export')\n , aFunction = require('./_a-function')\n , anObject = require('./_an-object')\n , rApply = (require('./_global').Reflect || {}).apply\n , fApply = Function.apply;\n// MS Edge argumentsList argument is optional\n$export($export.S + $export.F * !require('./_fails')(function(){\n rApply(function(){});\n}), 'Reflect', {\n apply: function apply(target, thisArgument, argumentsList){\n var T = aFunction(target)\n , L = anObject(argumentsList);\n return rApply ? rApply(T, thisArgument, L) : fApply.call(T, thisArgument, L);\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/es6.reflect.apply.js\n// module id = 111\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/es6.reflect.apply.js\n// module id = 111\n// module chunks = 0 1","// https://github.com/tc39/proposal-object-values-entries\nvar $export = require('./_export')\n , $entries = require('./_object-to-array')(true);\n\n$export($export.S, 'Object', {\n entries: function entries(it){\n return $entries(it);\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/es7.object.entries.js\n// module id = 112\n// module chunks = 0 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/es7.object.entries.js\n// module id = 112\n// module chunks = 0 1","// removed by extract-text-webpack-plugin\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/mdl-ext-build.scss\n// module id = 113\n// module chunks = 1\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/mdl-ext-build.scss\n// module id = 113\n// module chunks = 1"],"sourceRoot":""}
\ No newline at end of file
diff --git a/package.json b/package.json
index 7ad3f72..0848646 100644
--- a/package.json
+++ b/package.json
@@ -110,7 +110,7 @@
"gulp-posthtml": "2.0.0",
"ignore-styles": "5.0.1",
"istanbul": "1.0.0-alpha.2",
- "jsdom": "9.10.0",
+ "jsdom": "9.11.0",
"jsdomify": "2.1.0",
"material-design-lite": "1.3.0",
"mocha": "3.2.0",
@@ -118,7 +118,7 @@
"node-sass": "4.5.0",
"null-loader": "0.1.1",
"object-assign": "4.1.1",
- "postcss-loader": "1.2.2",
+ "postcss-loader": "1.3.0",
"posthtml-include": "1.1.0",
"require-uncached": "1.0.3",
"resolve-url-loader": "1.6.1",
@@ -130,7 +130,7 @@
"style-loader": "0.13.1",
"stylelint": "7.8.0",
"stylelint-config-standard": "16.0.0",
- "stylelint-webpack-plugin": "0.5.1",
+ "stylelint-webpack-plugin": "0.6.0",
"url-loader": "0.5.7",
"webpack": "1.14.0",
"yargs": "6.6.0"
diff --git a/src/_mixins.scss b/src/_mixins.scss
index 1f2bd09..cf274ab 100644
--- a/src/_mixins.scss
+++ b/src/_mixins.scss
@@ -111,3 +111,101 @@
}
}
}
+
+
+/// Keyframe mixin
+/// Modified from: http://sassbreak.com/nested-keyframe-rules-sass/
+/// Modified from: http://sassbreak.com/sass-tools-and-snippets/
+///
+/// @example
+///
+/// .some-element {
+/// animation: 10s linear infinite;
+///
+/// @include mdlext-animation-keyframes {
+/// from {
+/// background-position: 0% 0%;
+/// }
+/// to {
+/// background-position: 114.2857% 0%;
+/// }
+/// }
+/// }
+
+@mixin mdlext-animation-keyframes {
+ $animation-name: unique-id();
+ animation-name: $animation-name;
+
+ @keyframes #{$animation-name} {
+ @content;
+ }
+}
+
+
+/// Flexible title mixin
+/// A flexible title consists of three regions, left, middle and right.
+/// The left and right regions are optional and will typically contain state icons
+/// or act as a toolbar. The middle region should contain the title text.
+///
+/// @author Leif Olsen
+/// @param {String} $class - class name
+/// @gutter {Length} [8px] - horizontal spacing between title elements
+///
+/// @example
+///
+/// @include mdlext-flexible-title(my-title) {
+/// overflow: hidden;
+/// background-color: yellow;
+/// &__text {
+/// font-size: 20px;
+/// letter-spacing: 0.02em;
+/// font-weight: 400;
+/// line-height: 1.1;
+/// }
+/// }
+///
+///
+/// info
+/// A title
+///
+///
+///
+
+@mixin mdlext-flexible-title($class, $gutter: 8px) {
+ .#{$class} {
+ box-sizing: border-box;
+ position: relative;
+ width: 100%;
+ display: flex;
+ align-self: stretch;
+ align-items: center;
+ margin: 0;
+ padding: 0 $gutter;
+
+ &__text,
+ &__text > * {
+ white-space: nowrap;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ }
+
+ > * {
+ box-sizing: border-box;
+ margin: 0;
+ padding: 0 $gutter 0 0;
+ }
+
+ > *:last-child {
+ padding-right: 0;
+ }
+
+ // Used to align elements inside a header or drawer, by growing to fill
+ // remaining space. Commonly used for aligning elements to the right.
+ &__spacer {
+ flex: 1;
+ }
+
+ @content;
+ }
+}
+