{"version":3,"sources":["webpack:///./packages/material-components-web/material-components-web.scss","webpack:///./packages/material-components-web/node_modules/@material/elevation/_mixins.scss","webpack:///./packages/material-components-web/node_modules/@material/theme/_mixins.scss","webpack:///./packages/material-components-web/node_modules/@material/button/_mixins.scss","webpack:///./packages/material-components-web/node_modules/@material/typography/_mixins.scss","webpack:///./packages/material-components-web/node_modules/@material/shape/_mixins.scss","webpack:///./packages/material-components-web/node_modules/@material/rtl/_mixins.scss","webpack:///./packages/material-components-web/node_modules/@material/touch-target/_variables.scss","webpack:///./packages/material-components-web/node_modules/@material/button/_variables.scss","webpack:///./packages/material-components-web/node_modules/@material/ripple/_keyframes.scss","webpack:///./packages/material-components-web/node_modules/@material/animation/_variables.scss","webpack:///./packages/material-components-web/node_modules/@material/ripple/_mixins.scss","webpack:///./packages/material-components-web/node_modules/@material/ripple/_variables.scss","webpack:///./packages/material-components-web/node_modules/@material/card/_mixins.scss","webpack:///./packages/material-components-web/node_modules/@material/card/_variables.scss","webpack:///./packages/material-components-web/node_modules/@material/checkbox/_keyframes.scss","webpack:///./packages/material-components-web/node_modules/@material/checkbox/_variables.scss","webpack:///./packages/material-components-web/node_modules/@material/checkbox/_mixins.scss","webpack:///./packages/material-components-web/node_modules/@material/chips/_mixins.scss","webpack:///./packages/material-components-web/node_modules/@material/chips/_variables.scss","webpack:///./packages/material-components-web/node_modules/@material/data-table/_mixins.scss","webpack:///./packages/material-components-web/node_modules/@material/data-table/_variables.scss","webpack:///./packages/material-components-web/node_modules/@material/dialog/_mixins.scss","webpack:///./packages/material-components-web/node_modules/@material/dialog/_variables.scss","webpack:///./packages/material-components-web/node_modules/@material/drawer/_mixins.scss","webpack:///./packages/material-components-web/node_modules/@material/drawer/_variables.scss","webpack:///./packages/material-components-web/node_modules/@material/list/_mixins.scss","webpack:///./packages/material-components-web/node_modules/@material/elevation/_variables.scss","webpack:///./packages/material-components-web/node_modules/@material/fab/_mixins.scss","webpack:///./packages/material-components-web/node_modules/@material/fab/_variables.scss","webpack:///./packages/material-components-web/node_modules/@material/floating-label/_mixins.scss","webpack:///./packages/material-components-web/node_modules/@material/form-field/_mixins.scss","webpack:///./packages/material-components-web/node_modules/@material/icon-button/_mixins.scss","webpack:///./packages/material-components-web/node_modules/@material/icon-button/_variables.scss","webpack:///./packages/material-components-web/node_modules/@material/image-list/_mixins.scss","webpack:///./packages/material-components-web/node_modules/@material/image-list/_variables.scss","webpack:///./packages/material-components-web/node_modules/@material/layout-grid/mdc-layout-grid.scss","webpack:///./packages/material-components-web/node_modules/@material/layout-grid/_mixins.scss","webpack:///./packages/material-components-web/node_modules/@material/line-ripple/_mixins.scss","webpack:///./packages/material-components-web/node_modules/@material/linear-progress/_keyframes.scss","webpack:///./packages/material-components-web/node_modules/@material/linear-progress/_mixins.scss","webpack:///./packages/material-components-web/node_modules/@material/linear-progress/_variables.scss","webpack:///./packages/material-components-web/node_modules/@material/list/_variables.scss","webpack:///./packages/material-components-web/node_modules/@material/menu/_mixins.scss","webpack:///./packages/material-components-web/node_modules/@material/menu/_variables.scss","webpack:///./packages/material-components-web/node_modules/@material/menu-surface/_mixins.scss","webpack:///./packages/material-components-web/node_modules/@material/menu-surface/_variables.scss","webpack:///./packages/material-components-web/node_modules/@material/notched-outline/_mixins.scss","webpack:///./packages/material-components-web/node_modules/@material/notched-outline/_variables.scss","webpack:///./packages/material-components-web/node_modules/@material/radio/_mixins.scss","webpack:///./packages/material-components-web/node_modules/@material/radio/_variables.scss","webpack:///./packages/material-components-web/node_modules/@material/select/_keyframes.scss","webpack:///./packages/material-components-web/node_modules/@material/select/icon/_mixins.scss","webpack:///./packages/material-components-web/node_modules/@material/select/icon/_variables.scss","webpack:///./packages/material-components-web/node_modules/@material/select/icon/mdc-select-icon.scss","webpack:///./packages/material-components-web/node_modules/@material/select/helper-text/mdc-select-helper-text.scss","webpack:///./packages/material-components-web/node_modules/@material/select/mdc-select.scss","webpack:///./packages/material-components-web/node_modules/@material/select/_mixins.scss","webpack:///./packages/material-components-web/node_modules/@material/select/helper-text/_mixins.scss","webpack:///./packages/material-components-web/node_modules/@material/select/_variables.scss","webpack:///./packages/material-components-web/node_modules/@material/slider/_keyframes.scss","webpack:///./packages/material-components-web/node_modules/@material/slider/_mixins.scss","webpack:///./packages/material-components-web/node_modules/@material/slider/_variables.scss","webpack:///./packages/material-components-web/node_modules/@material/snackbar/_mixins.scss","webpack:///./packages/material-components-web/node_modules/@material/snackbar/_variables.scss","webpack:///./packages/material-components-web/node_modules/@material/switch/_mixins.scss","webpack:///./packages/material-components-web/node_modules/@material/switch/_variables.scss","webpack:///./packages/material-components-web/node_modules/@material/tab/_mixins.scss","webpack:///./packages/material-components-web/node_modules/@material/tab/_variables.scss","webpack:///./packages/material-components-web/node_modules/@material/tab-indicator/_mixins.scss","webpack:///./packages/material-components-web/node_modules/@material/tab-bar/mdc-tab-bar.scss","webpack:///./packages/material-components-web/node_modules/@material/tab-bar/_mixins.scss","webpack:///./packages/material-components-web/node_modules/@material/tab-indicator/mdc-tab-indicator.scss","webpack:///./packages/material-components-web/node_modules/@material/tab-scroller/mdc-tab-scroller.scss","webpack:///./packages/material-components-web/node_modules/@material/tab-scroller/_mixins.scss","webpack:///./packages/material-components-web/node_modules/@material/textfield/helper-text/_mixins.scss","webpack:///./packages/material-components-web/node_modules/@material/textfield/character-counter/_mixins.scss","webpack:///./packages/material-components-web/node_modules/@material/textfield/icon/_mixins.scss","webpack:///./packages/material-components-web/node_modules/@material/textfield/_mixins.scss","webpack:///./packages/material-components-web/node_modules/@material/textfield/_variables.scss","webpack:///./packages/material-components-web/node_modules/@material/textfield/icon/_variables.scss","webpack:///./packages/material-components-web/node_modules/@material/top-app-bar/mdc-top-app-bar.scss","webpack:///./packages/material-components-web/node_modules/@material/top-app-bar/_mixins.scss","webpack:///./packages/material-components-web/node_modules/@material/top-app-bar/_variables.scss"],"names":[],"mappings":"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A;UAAA;EACA;UAAA;CXwdP;AWldG;EAEI;EACA;EACA;CXmdP;AW7cG;EAEI,kGACE;UADF,0FACE;CX6cT;AWtcG;EAEI;UAAA;EAKA;UAAA;CXmcP;AWzOC;EAGI;EACA;EACA;EACA;EACA;CXyOL;AWpOG;EAEI;EACA;CXqOP;AWpcC;ET1GE;CFijBH;AW/ZG;EAGI,cA0OM;CXqLb;AW7XK;EAeF;EAIA,cAyLU;CXqLb;AWlWG;EAEI;CXmWP;AW9VK;EAEI,0BCrRS;ED0RT,cAqKI;CXsLb;AWrVC;EAEI;CXsVL;;AenlBC;EACE;IAEE,8BCVc;GhB+lBjB;EellBC;IACE,8DL5C+B;YK4C/B,sDL5C+B;GVgoBlC;EejlBC;IACE;GfmlBH;CACF;;Ae/lBC;EACE;IAEE,8BCVc;GhB+lBjB;EellBC;IACE,8DL5C+B;YK4C/B,sDL5C+B;GVgoBlC;EejlBC;IACE;GfmlBH;CACF;AehlBC;EACE;IAEE;YAAA;GfilBH;Ee9kBC;IACE;YAAA;GfglBH;Ee7kBC;IACE;YAAA;Gf+kBH;CACF;Ae3lBC;EACE;IAEE;YAAA;GfilBH;Ee9kBC;IACE;YAAA;GfglBH;Ee7kBC;IACE;YAAA;Gf+kBH;CACF;Ae5kBC;EACE;IACE,8DLnE+B;YKmE/B,sDLnE+B;IKoE/B;IACA;Gf8kBH;Ee3kBC;IACE;IACA;Gf6kBH;CACF;AevlBC;EACE;IACE,8DLnE+B;YKmE/B,sDLnE+B;IKoE/B;IACA;Gf8kBH;Ee3kBC;IACE;IACA;Gf6kBH;CACF;Ae1kBC;EACE;IACE,8DLlF+B;YKkF/B,sDLlF+B;IKmF/B;YAAA;IACA;Gf4kBH;EezkBC;IACE;YAAA;IACA;Gf2kBH;CACF;AerlBC;EACE;IACE,8DLlF+B;YKkF/B,sDLlF+B;IKmF/B;YAAA;IACA;Gf4kBH;EezkBC;IACE;YAAA;IACA;Gf2kBH;CACF;AexkBC;EACE;IACE,+DChEmC;YDgEnC,uDChEmC;IDiEnC;YAAA;IACA;Gf0kBH;EevkBC;IACE;YAAA;IACA;GfykBH;CACF;AenlBC;EACE;IACE,+DChEmC;YDgEnC,uDChEmC;IDiEnC;YAAA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EI;EACA;CXktBP;;AiBh7BC;ENgRE;EACA;EACA;EACA;EACA;EAGA;CXkqBH;;AiBr7BC;EAEI;CjBu7BL;;AkBtoBC;EAEI;ClBwoBL;;AkB3nBC;EAEI;ClB6nBL;AkB1nBG;EAEI;ClB2nBP;AkBvnBG;EAEI;ClBwnBP;;AkB7mBC;EAeE,YCzhBgB;ED0hBhB,aC1hBgB;ED2hBhB,gBC3hBgB;CnB6nCnB;;AkB7mBC;EASE,YCxhBiB;EDyhBjB,aCzhBiB;ED0hBjB,gBC1hBiB;CnBkoCpB;;AkBhlBC;EZzUE;EAGF;EAHE;EAGF;CN65BD;AMxmCK;EAwMF;EAGF;EAHE;EAGF;CNm6BD;;AkBhoCC;EbvBE;EHoCA;EAAA;EEeA;EACA;EFpBA;EACA;EACA;EAFA;EACA;EACA;EAFA;EACA;EACA;EAFA;EACA;EACA;EAFA;EACA;EACA;EAFA;EACA;EACA;UAAA;EAFA;EACA;EACA;EgB8aA,aAwIO;EjBxhBP;EACA;EiB/BE;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;ClBqpCL;AkBz4BC;EbtTE;CLksCH;AkB71BC;EhBjUE;CFiqCH;AkBzpBC;;EZ3TE;EAGF;EAHE;EAGF;CNw9BD;AMnqCK;;;EAwMF;EAGF;EAHE;EAGF;CNg+BD;ACviCC;EA5FI,YiBlD2C;EjBmD3C,aiBnD2C;EjBsDzC;EACA;EACA;CDooCP;AkB/qCK;EACE;EACA;ClBirCP;AkB7qCG;EhBPA;EACA;EACA;CFurCH;AkB5qCG;ElB3CA;EACA;EACA;EACA,aOlCK;EP8CH;EACA;UAAA;CA+sCL;;AkB/qCC;EAEI,yICtCJ;ED0CI;ClB8qCL;;AkB1qCC;EAEI;ClB4qCL;;AkBxqCC;EAEI;EACA;EACA;ClB0qCL;;AkBtqCC;EAEI,aChFc;CnBwvCnB;;AkBpqCC;EAEI,sEACE;EAQF;EACA,8BF3Fc;EE4Fd,6BF5Fc;ChB0vCnB;;AkB1pCC;EAEI;ClB4pCL;;AkBxpCC;EAEI;ClB0pCL;;AkBtpCC;;EAMI;ClBqpCL;;AkB35BC;EhB7UE;EACA;EACA;CF4uCH;AkB/yBC;EAEI;ClBgzBL;AkB75BG;EhBpVA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EACA;EACA;CpBgkDL;AM3mDK;Ec8CE;EACA;CpBgkDP;;AoB3jDC;EAEI;CpB6jDL;AMnnDK;Ec2DE;EACA;CpB2jDP;;AiB3zCC;;;;Ef1TE;EACA;EACA;CF4nDH;AW3hDC;;;ETnGE;EACA;EACA;CFmoDH;AW1/CG;;EAGI,cA0OM;CXixCb;AWz9CK;;;EAeF;EAIA,cAyLU;CXmxCb;AWh8CG;;EAEI;CXk8CP;AW77CK;;EAEI,0BCrRS;ED0RT,cAqKI;CXsxCb;AWr7CC;;EAEI;CXu7CL;AWzjDC;;;;ETnGE;EACA;EACA;CFkqDH;AiBrlCC;;EftlBE;EAAA;CFgrDH;AiB1lCC;;;;Ef/kBE;EACA;EACA;EAFA;EACA;EACA;CFkrDH;AevuDC;EACE;Ib2CA;IAAA;GFgsDD;EetuDC;Ib6CA;IACA;IACA;IAFA;IACA;IACA;GF+rDD;CACF;AervDC;EACE;Ib2CA;IAAA;GFgsDD;EetuDC;Ib6CA;IACA;IACA;IAFA;IACA;IACA;GF+rDD;CACF;AezuDC;EACE;IbsCA;IACA;IACA;IAFA;IACA;IACA;GFysDD;Ee3uDC;IbyBA;IAAA;GFstDD;CACF;AevvDC;EACE;IbsCA;IACA;IACA;IAFA;IACA;IACA;GFysDD;Ee3uDC;IbyBA;IAAA;GFstDD;CACF;AiB39CO;;;EAEI;UAAA;CjB89CX;AiBv9CO;;;EAEI;UAAA;CjB09CX;;AsBjwDC;;EAGI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CtBmwDL;;AsB/vDC;EAaI;EACA,WClCI;CvBwxDT;AsBh/CC;EpB3PE;EACA;EACA;CF8uDH;AsB3+CC;EAEI;CtB4+CL;AsBp+CC;EAEI;CtBq+CL;AsB79CC;EAEI;CtB89CL;AsBl9CC;EAGI;CtBk9CL;AsBl8CC;EAEI,iBC/WM;CvBkzDX;AsBp7CO;EANN;IAOQ,8BATa;GtBg8CpB;CACF;AsBp7CO;EAXN;IAYQ,iBCnYE;GvB0zDT;CACF;AsB36CC;EAeM,8BAjBe;CtBg7CtB;AsBz5CC;EAIE;IAEI;IAWA;GtB64CL;CACF;AsBh+CC;EjB7VE;CLg0DH;;AsB5xDC;EAEI;EACA;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;;MCyBb;MACA;KrCmuGC;GACF;;EoC9vGc;;ICoBf;IAEA;GrC8uGC;EqC5uGD;IDxBe;;MCyBb;MACA;KrCgvGC;GACF;;EoC3wGc;;ICoBf;IAEA;GrC2vGC;EqCzvGD;IDxBe;;MCyBb;MACA;KrC6vGC;GACF;;EoCxxGc;;ICoBf;IAEA;GrCwwGC;EqCtwGD;IDxBe;;MCyBb;MACA;KrC0wGC;GACF;;EoCryGc;;ICoBf;IAEA;GrCqxGC;EqCnxGD;IDxBe;;MCyBb;MACA;KrCuxGC;GACF;;EoClzGc;;ICoBf;IAEA;GrCkyGC;EqChyGD;IDxBe;;MCyBb;MACA;KrCoyGC;GACF;;EoC/zGc;;ICoBf;IAEA;GrC+yGC;EqC7yGD;IDxBe;;MCyBb;MACA;KrCizGC;GACF;;EoC50Gc;;ICoBf;IAEA;GrC4zGC;EqC1zGD;IDxBe;;MCyBb;MACA;KrC8zGC;GACF;;EoCz1Gc;;ICoBf;IAEA;GrCy0GC;EqCv0GD;IDxBe;;MCyBb;MACA;KrC20GC;GACF;;EoCt2Gc;;ICoBf;IAEA;GrCs1GC;EqCp1GD;IDxBe;;MCyBb;MACA;KrCw1GC;GACF;;EoCn3Gc;;ICoBf;IAEA;GrCm2GC;EqCj2GD;IDxBe;;MCyBb;MACA;KrCq2GC;GACF;;EoCh4Gc;;ICoBf;IAEA;GrCg3GC;EqC92GD;IDxBe;;MCyBb;MACA;KrCk3GC;GACF;CACF;AqCn5GG;EDRJ;ICiCE;IAEA;IAsDA;IACA;IAEA;GrCu0GC;EqC93GD;IDrCF;MCsCI;MACA;KrCi4GC;GACF;EqC30GD;ID9FF;MC+FI;KrC80GC;GACF;EoCj6Gc;;ICoBf;IAEA;GrCg5GC;EqC94GD;IDxBe;;MCyBb;MACA;KrCk5GC;GACF;;EoC76Gc;;ICoBf;IAEA;GrC65GC;EqC35GD;IDxBe;;MCyBb;MACA;KrC+5GC;GACF;;EoC17Gc;;ICoBf;IAEA;GrC06GC;EqCx6GD;IDxBe;;MCyBb;MACA;KrC46GC;GACF;;EoCv8Gc;;ICoBf;IAEA;GrCu7GC;EqCr7GD;IDxBe;;MCyBb;MACA;KrCy7GC;GACF;;EoCp9Gc;;ICoBf;IAEA;GrCo8GC;EqCl8GD;IDxBe;;MCyBb;MACA;KrCs8GC;GACF;;EoCj+Gc;;ICoBf;IAEA;GrCi9GC;EqC/8GD;IDxBe;;MCyBb;MACA;KrCm9GC;GACF;;EoC9+Gc;;ICoBf;IAEA;GrC89GC;EqC59GD;IDxBe;;MCyBb;MACA;KrCg+GC;GACF;;EoC3/Gc;;ICoBf;IAEA;GrC2+GC;EqCz+GD;IDxBe;;MCyBb;MACA;KrC6+GC;GACF;;EoCxgHc;;ICoBf;IAEA;GrCw/GC;EqCt/GD;IDxBe;;MCyBb;MACA;KrC0/GC;GACF;;EoCrhHc;;ICoBf;IAEA;GrCqgHC;EqCngHD;IDxBe;;MCyBb;MACA;KrCugHC;GACF;;EoCliHc;;ICoBf;IAEA;GrCkhHC;EqChhHD;IDxBe;;MCyBb;MACA;KrCohHC;GACF;;EoC/iHc;;ICoBf;IAEA;GrC+hHC;EqC7hHD;IDxBe;;MCyBb;MACA;KrCiiHC;GACF;CACF;AqCvkHG;EDHJ;ICiCE;IAEA;IAsDA;IACA;IAEA;GrCs/GC;EqC7iHD;IDrCF;MCsCI;MACA;KrCgjHC;GACF;EqC1/GD;ID9FF;MC+FI;KrC6/GC;GACF;EoChlHc;;ICoBf;IAEA;GrC+jHC;EqC7jHD;IDxBe;;MCyBb;MACA;KrCikHC;GACF;;EoC5lHc;;ICoBf;IAEA;GrC4kHC;EqC1kHD;IDxBe;;MCyBb;MACA;KrC8kHC;GACF;;EoCzmHc;;ICoBf;IAEA;GrCylHC;EqCvlHD;IDxBe;;MCyBb;MACA;KrC2lHC;GACF;;EoCtnHc;;ICoBf;IAEA;GrCsmHC;EqCpmHD;IDxBe;;MCyBb;MACA;KrCwmHC;GACF;;EoCnoHc;;ICoBf;IAEA;GrCmnHC;EqCjnHD;IDxBe;;MCyBb;MACA;KrCqnHC;GACF;;EoChpHc;;ICoBf;IAEA;GrCgoHC;EqC9nHD;IDxBe;;MCyBb;MACA;KrCkoHC;GACF;;EoC7pHc;;ICoBf;IAEA;GrC6oHC;EqC3oHD;IDxBe;;MCyBb;MACA;KrC+oHC;GACF;;EoC1qHc;;ICoBf;IAEA;GrC0pHC;EqCxpHD;IDxBe;;MCyBb;MACA;KrC4pHC;GACF;;EoCvrHc;;ICoBf;IAEA;GrCuqHC;EqCrqHD;IDxBe;;MCyBb;MACA;KrCyqHC;GACF;;EoCpsHc;;ICoBf;IAEA;GrCorHC;EqClrHD;IDxBe;;MCyBb;MACA;KrCsrHC;GACF;;EoCjtHc;;ICoBf;IAEA;GrCisHC;EqC/rHD;IDxBe;;MCyBb;MACA;KrCmsHC;GACF;;EoC9tHc;;ICoBf;IAEA;GrC8sHC;EqC5sHD;IDxBe;;MCyBb;MACA;KrCgtHC;GACF;CACF;AoCjuHG;EC4EF,SD7Ea;CpCquHd;AoCpuHG;EC4EF,SD7Ea;CpCwuHd;AoCvuHG;EC4EF,SD7Ea;CpC2uHd;AoC1uHG;EC4EF,SD7Ea;CpC8uHd;AoC7uHG;EC4EF,SD7Ea;CpCivHd;AoChvHG;EC4EF,SD7Ea;CpCovHd;AoCnvHG;EC4EF,SD7Ea;CpCuvHd;AoCtvHG;EC4EF,SD7Ea;CpC0vHd;AoCzvHG;EC4EF,SD7Ea;CpC6vHd;AoC5vHG;EC4EF,UD7Ea;CpCgwHd;AoC/vHG;EC4EF,UD7Ea;CpCmwHd;AoClwHG;EC4EF,UD7Ea;CpCswHd;AoC/vHC;EC2EE;CrCurHH;AqCrrHG;ED7EF;IC8EI;GrCwrHH;CACF;AoCnwHC;EC+EE;CrCurHH;AoClwHC;EC+EE;CrCsrHH;AqCprHG;EDjFF;ICkFI;GrCurHH;CACF;;AqCnyHG;ED8BJ;IC+FE;IAEA,2KACE;GrCyqHD;CACF;AqC/yHG;EDmCJ;IC+FE;IAEA,sKACE;GrC+qHD;CACF;AqC1zHG;EDwCJ;IC+FE;IAEA,mKACE;GrCqrHD;CACF;;AoC5wHD;EACE;EACA;CpC+wHD;;AoC5wHD;EACE;EACA;CpC+wHD;;AsCh2HK;EAEE;EACA;EACA;EACA;EACA;EACA;CtCk2HP;AsC/1HK;EACE;EACA;CtCi2HP;AsC91HK;EACE;UAAA;EACA;EACA;EACA;CtCg2HP;AsC31HK;EACE;EAAA;EAAA;CtC61HP;;AsCx1HC;EAEI;UAAA;EACA;CtC01HL;;AsCt1HC;EAEI;CtCw1HL;;AuC54HC;EACE;IACE;YAAA;GvC+4HH;EuC54HC;IACE;YAAA;IACA;YAAA;GvC84HH;EuC34HC;IACE;YAAA;IACA;YAAA;GvC64HH;EuC14HC;IACE;YAAA;GvC44HH;CACF;;AuC75HC;EACE;IACE;YAAA;GvC+4HH;EuC54HC;IACE;YAAA;IACA;YAAA;GvC84HH;EuC34HC;IACE;YAAA;IACA;YAAA;GvC64HH;EuC14HC;IACE;YAAA;GvC44HH;CACF;AuCv4HC;EACE;IACE;YAAA;GvCy4HH;EuCt4HC;IACE;YAAA;IACA;YAAA;GvCw4HH;EuCr4HC;IACE;YAAA;IACA;YAAA;GvCu4HH;EuCp4HC;IACE;YAAA;GvCs4HH;CACF;AuCv5HC;EACE;IACE;YAAA;GvCy4HH;EuCt4HC;IACE;YAAA;IACA;YAAA;GvCw4HH;EuCr4HC;IACE;YAAA;IACA;YAAA;GvCu4HH;EuCp4HC;IACE;YAAA;GvCs4HH;CACF;AuCj4HC;EACE;IACE;YAAA;IACA;YAAA;GvCm4HH;EuCh4HC;IACE;YAAA;IACA;YAAA;GvCk4HH;EuC/3HC;IACE;YAAA;IACA;YAAA;GvCi4HH;EuC93HC;IACE;YAAA;GvCg4HH;CACF;AuCl5HC;EACE;IACE;YAAA;IACA;YAAA;GvCm4HH;EuCh4HC;IACE;YAAA;IACA;YAAA;GvCk4HH;EuC/3HC;IACE;YAAA;IACA;YAAA;GvCi4HH;EuC93HC;IACE;YAAA;GvCg4HH;CACF;AuC33HC;EACE;IACE;YAAA;IACA;YAAA;GvC63HH;EuC13HC;IACE;YAAA;IACA;YAAA;GvC43HH;EuCz3HC;IACE;YAAA;IACA;YAAA;GvC23HH;EuCx3HC;IACE;YAAA;GvC03HH;CACF;AuC54HC;EACE;IACE;YAAA;IACA;YAAA;GvC63HH;EuC13HC;IACE;YAAA;IACA;YAAA;GvC43HH;EuCz3HC;IACE;YAAA;IACA;YAAA;GvC23HH;EuCx3HC;IACE;YAAA;GvC03HH;CACF;AuCr3HC;EACE;IACE;YAAA;GvCu3HH;CACF;AuC13HC;EACE;IACE;YAAA;GvCu3HH;CACF;AuCl3HC;EACE;IACE;YAAA;GvCo3HH;EuCj3HC;IACE;YAAA;IACA;YAAA;GvCm3HH;EuCh3HC;IACE;YAAA;IACA;YAAA;GvCk3HH;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BzlLC;EASM;UAAA;C9BmlLP;A+CniLC;EAEI;C/CoiLL;A8B/lLC;;EASM;UAAA;C9B0lLP;A+C9hLG;;EAEI;C/CgiLP;AyDv3KC;EnDhGE;EAGF;EAHE;EAGF;EmDgGE;EACA;EACA;EACA;EACA;EACA;CzD23KH;AM3qLK;EAwMF;EAGF;EAHE;EAGF;CNs+KD;AyD93KC;EACE;CzDg4KH;AyD73KC;EACE;EACA;CzD+3KH;;AyD1rLC;EvDIE;EACA;EACA;CF0rLH;AsCjrLG;EpCXA;EACA;EACA;CF+rLH;AsChsLG;EpCDA;EACA;EACA;CFosLH;AyDnuLG;EvDsBA;CFgtLH;A0D9uLC;ExDqCE;EACA;EACA;CF4sLH;AsCnsLG;EpCXA;EACA;EACA;CFitLH;A+CjrLC;;;E7ClCE;EACA;EACA;CFwtLH;A+CxrLC;;;E7ClCE;EACA;EACA;CF+tLH;A+CnrLC;;;EAII,kBUyB2C;CzD2pLhD;A+CpsLC;;;E7ClCE;EACA;EACA;CF2uLH;AwD5rLC;ECmEA;CzD4nLD;AwD1rLC;EACE;CxD4rLH;;AwDtrLC;EACE;CxDyrLH;;AwDrrLD;ECsME;EACA;CzDm/KD;AyD/pLC;EvDpGE;CFswLH;AyDvhLC;EvD/OE;CFywLH;AyDthLC;EAxHA;CzDipLD;AsC1vLG;EpClBA;CF+wLH;AyDrhLG;EAEE;CzDshLL;AyDlhLC;EvDhQE;CFqxLH;AyDjhLC;EvDpQE;EuDuQA;CzDkhLH;AyDrrLC;EvDpGE;CF4xLH;A+CnvLC;;;E7CzCE;CFiyLH;;AyD5gLG;EACE;CzD+gLL;;AoDnzLC;E9C2NE;EAGF;EAHE;EAGF;CN4lLD;AMvyLK;EAwMF;EAGF;EAHE;EAGF;CNkmLD;AoD3zLC;E9CsNE;EAGF;EAHE;EAGF;CNwmLD;AMnzLK;EAwMF;EAGF;EAHE;EAGF;CN8mLD;A8BjwLC;EAGM;UAAA;C9BiwLP;AM5zLK;EwB8DI;UAAA;C9BiwLT;A+C9sLC;EAEI;C/C+sLL;A8B1wLC;;EAGM;UAAA;C9B2wLP;AMt0LK;;;EwB8DI;UAAA;C9B6wLT;A+C9sLG;;EAEI;C/CgtLP;A8BrwLC;EAEI;UAAA;C9Bs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tlOK;EAwMF;EAGF;EAHE;EAGF;CNi5ND;;A6E9oOC;EAqEE;EACA;EACA;UAAA;EACA;C7E6kOH;A6E1kOC;EAGI;EACA;C7E0kOL;;A8El0NC;EnE7RE;EACA;EACA;EACA;EACA;EACA;EAEA;CXkmOH;AW9lOC;;EAGI;EACA;EACA;EACA;EACA;CX+lOL;AW3lOC;EAGI,8DACE;EAKF;CXslOL;AW/kOG;EAEI;UAAA;CXglOP;AW5kOG;EAEI;EACA;EACA;EACA;UAAA;EACA;UAAA;CX6kOP;AWvkOG;EAEI;EACA;EACA;CXwkOP;AWlkOG;EAEI,kGACE;UADF,0FACE;CXkkOT;AW3jOG;EAEI;UAAA;EAKA;UAAA;CXwjOP;AW91NC;;EAGI;EACA;EACA;EACA;EACA;CX+1NL;AW11NG;EAEI;EACA;CX21NP;;A8Er3NC;EnEgHE;EACA;EACA;EACA;EACA;EAGA;CXuwNH;;A8ElsOC;EAuYE,aCpXK;E1ElCL;EyE6CE;EACA;EACA;EACA;EACA;EACA;C9E0qOL;AW9kOC;;ET1GE;CF4rOH;AW1iOG;EAGI,cmEvKwC;C9EitO/C;AWxgOK;EAeF;EAIA,cmE3N4C;C9EotO/C;A8Er3LC;E5E90CE;CFssOH;A8E77LC;E5EzwCE;CFysOH;A8Eh7LC;EAGE;I5E5xCA;GF6sOD;E8Ej7LC;I5E5xCA;GF6sOD;E8Ej7LC;I5E5xCA;GF6sOD;E8Ej7LC;I5E5xCA;GF6sOD;CACF;A8E36LC;EAGE;I5EtyCA;GFktOD;CACF;A8EnkNC;E5EzoBE;EACA;EACA;CF+sOH;AsCtsOG;EpClBA;CF2tOH;AsCzsOG;EpClBA;CF8tOH;AsCttOG;EpCDA;EACA;EACA;CF0tOH;A2EhtOC;EzEnBE;CFsuOH;A4EvtOC;;E1EfE;CF0uOH;A6EhsOC;E3E1CE;CF6uOH;A6EzrOC;E3EpDE;CFgvOH;A8Et5LC;E5E11CE;CFmvOH;A8E16MC;ExE5nBE;EAGF;EAHE;EAGF;EwE6nBI;EACA;UAAA;EACA;C9E66ML;AMvvOK;EAwMF;EAGF;EAHE;EAGF;CNkjOD;A8BrsOC;EASM;UAAA;C9B+rOP;A8E76MG;ExE3oBA;EAGF;EAHE;EAGF;CN2jOD;AMtwOK;EAwMF;EAGF;EAHE;EAGF;CNikOD;A8Ej7MG;ExEnpBA;EAGF;EAHE;EAGF;CNukOD;AMlxOK;EAwMF;EAGF;EAHE;EAGF;CN6kOD;A8Et7MK;ExE1pBF;EAGF;EAHE;EAGF;CNmlOD;AM9xOK;EAwMF;EAGF;EAHE;EAGF;CNylOD;A8E77MO;ExE/pBJ;EAGF;EAHE;EAGF;CN+lOD;AM1yOK;EAwMF;EAGF;EAHE;EAGF;CNqmOD;;A8EnyOC;E1EHE;EACA;EFpBA;EACA;EACA;EAFA;EACA;EACA;EAFA;EACA;EACA;EAFA;EACA;EACA;EAFA;EACA;EACA;UAAA;EAFA;EACA;EACA;E4EiqBA,uBACE;EAxoBA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;KAAA;UAAA;EAIA;C9EmzOL;A8EhzOG;EAEI;EAIA;C9E8yOP;A8EpzOG;EAEI;EAIA;C9E8yOP;A8EpzOG;EAEI;EAIA;C9E8yOP;A8EpzOG;EAEI;EAIA;C9E8yOP;A8ExyOG;EAII;EACA;EAIA;C9EoyOP;A8E7yOG;EAII;EACA;EAIA;C9EoyOP;A8E7yOG;EAII;EACA;EAIA;C9EoyOP;A8E7yOG;EAII;EACA;EAIA;C9EoyOP;A8EhyOG;EAEI;C9EiyOP;A8E5xOG;EAEI;C9E6xOP;A8ExxOG;EAEI;C9EyxOP;A8EpxOG;EAslBA;EACA,oBCjpBkB;C/Ek1OrB;;A8EjxOC;EAEI;UAAA;EACA;C9EmxOL;;A8E/wOC;EA41BE;C9Eu7MH;A+C50OC;;;E7CzCE;CF03OH;A+Cj1OC;;;E7CzCE;CF+3OH;A+Ct1OC;;;E7ClCE;EACA;EACA;CF63OH;A8BvzOC;EAEI;UAAA;C9BwzOL;A+CjzOC;E1C/HI;EAGF;CLi7OH;AMx4OK;EDrCE;EACA;CLg7OP;A+CvyOC;E1CjJI;EAGF;CLy7OH;AMh5OK;EDrCE;EACA;CLw7OP;A8B51OC;EASM;UAAA;C9Bs1OP;A+CjwOC;EAEI;C/CkwOL;A8Bl2OC;;EASM;UAAA;C9B61OP;A+C3vOG;;EAEI;C/C6vOP;A+Cj2OC;EAEI,iBCzHS;ChD29Od;AWh0OC;;EAQM;CX4zOP;A8EplMC;E5E11CE;CFi7OH;A8Eh/MC;EAyBE,kBCl8ByB;EDm8BzB,qBCl8B4B;ED26B1B;EACA;EACA;EACA;C9Ek/ML;A8E9+MC;EAEI;C9E++ML;A+Ct3OC;EAEI,iBgC3EkB;C/Ek8OvB;;A+C14OC;;;EAII,kBgC5DkB;C/Ew8OvB;;A8E31OC;E5E1GE;CFy8OH;A+Ch6OC;;;E7CzCE;CF88OH;A8E/kNC;E/Bt1BA;;;I7CzCE;GFo9OD;CACF;;A8Ev2OC;EA4yBE;C9E+jNH;A8B55OC;EASM;UAAA;C9Bs5OP;A+Ct2OC;EAEI;C/Cu2OL;A8Bl6OC;;EASM;UAAA;C9B65OP;A+Cj2OG;;EAEI;C/Cm2OP;A8Bx5OC;EAEI;UAAA;C9By5OL;A8E7kNC;EAEI;C9E8kNL;A8E1kNC;EAEI;C9E2kNL;A8EvkNC;EAEI;C9EwkNL;;A6Ev/OC;EvEiNE;EAGF;EAHE;EAGF;CN0yOD;AMr/OK;EAwMF;EAGF;EAHE;EAGF;CNgzOD;A8E5gNC;ExEvyBE;EAGF;EAHE;EAGF;CNszOD;AMjgPK;EAwMF;EAGF;EAHE;EAGF;CN4zOD;A8ElhNC;ExE7yBE;EAGF;EAHE;EAGF;CNk0OD;AM7gPK;EAwMF;EAGF;EAHE;EAGF;CNw0OD;;A6E5hPC;EvEiNE;EAGF;EAHE;EAGF;CN+0OD;AM1hPK;EAwMF;EAGF;EAHE;EAGF;CNq1OD;A8Bx+OC;EAGM;UAAA;C9Bw+OP;AMniPK;EwB8DI;UAAA;C9Bw+OT;A+Ch5OC;EAEI;C/Ci5OL;A8Bj/OC;;EAGM;UAAA;C9Bk/OP;AM7iPK;;;EwB8DI;UAAA;C9Bo/OT;A+C/4OG;;EAEI;C/Ci5OP;A8B5+OC;EAEI;UAAA;C9B6+OL;A8B/+OC;EAEI;UAAA;C9Bg/OL;A8E/hNC;ExEr1BE;EAGF;EAHE;EAGF;CNu3OD;AMlkPK;EAwMF;EAGF;EAHE;EAGF;CN63OD;;A8BhhPC;EAGM;UAAA;C9BihPP;AM5kPK;EwB8DI;UAAA;C9BihPT;A+C99OC;EAEI;C/C+9OL;A8B1hPC;;EAGM;UAAA;C9B2hPP;AMtlPK;;;EwB8DI;UAAA;C9B6hPT;A+C99OG;;EAEI;C/Cg+OP;A8BrhPC;EAEI;UAAA;C9BshPL;A8BxhPC;EAEI;UAAA;C9ByhPL;A8EljNC;ExE32BE;EAGF;EAHE;EAGF;CNg6OD;AM3mPK;EAwMF;EAGF;EAHE;EAGF;CNs6OD;;A6EhnPC;EvEuME;EAGF;EAHE;EAGF;CN66OD;AMxnPK;EAwMF;EAGF;EAHE;EAGF;CNm7OD;A8E/jNC;ExEv3BE;EAGF;EAHE;EAGF;CNy7OD;AMpoPK;EAwMF;EAGF;EAHE;EAGF;CN+7OD;;A6EnpPC;EvEiNE;EAGF;EAHE;EAGF;CNs8OD;AMjpPK;EAwMF;EAGF;EAHE;EAGF;CN48OD;A6EtpPC;EvEuME;EAGF;EAHE;EAGF;CNk9OD;AM7pPK;EAwMF;EAGF;EAHE;EAGF;CNw9OD;A8ExkNC;EAEI,oBEtpCS;EFupCT,mBEvpCS;ChFguPd;;A8EriPC;EAEI;EACA;UAAA;C9EuiPL;;A6ErrPC;EvEiNE;EAGF;EAHE;EAGF;CNw+OD;AMnrPK;EAwMF;EAGF;EAHE;EAGF;CN8+OD;A8ExrNC;ExEzzBE;EAGF;EAHE;EAGF;CNo/OD;AM/rPK;EAwMF;EAGF;EAHE;EAGF;CN0/OD;A8E9rNC;ExE/zBE;EAGF;EAHE;EAGF;CNggPD;AM3sPK;EAwMF;EAGF;EAHE;EAGF;CNsgPD;;A6EhtPC;EvEuME;EAGF;EAHE;EAGF;CN6gPD;AMxtPK;EAwMF;EAGF;EAHE;EAGF;CNmhPD;A8EnpNC;ExEn4BE;EAGF;EAHE;EAGF;CNyhPD;AMpuPK;EAwMF;EAGF;EAHE;EAGF;CN+hPD;;A6EnvPC;EvEiNE;EAGF;EAHE;EAGF;CNsiPD;AMjvPK;EAwMF;EAGF;EAHE;EAGF;CN4iPD;A6EtvPC;EvEuME;EAGF;EAHE;EAGF;CNkjPD;AM7vPK;EAwMF;EAGF;EAHE;EAGF;CNwjPD;A8EvpNC;EAEI,oBEtqCe;EFuqCf,mBEvqCe;ChF+zPpB;;A8B/sPC;EASM;UAAA;C9B0sPP;A8BjsPC;EAEI;UAAA;C9BksPL;A8ExhOC;EAEI;C9EyhOL;A8ErhOC;EAEI;C9EshOL;A8EnhOG;EAEI;C9EohOP;;A8E5gOG;;EA/mBE;EACA;C9EgoPL;;A8E5nPC;EAuhCE;EACA;EACA;EACA;EAIA;C9EsmNH;A+CjwPC;;;E7CzCE;CF+yPH;A+CtwPC;;;E7CzCE;CFozPH;A+C3wPC;;;E7ClCE;EACA;EACA;CFkzPH;A8B5uPC;EAEI;UAAA;C9B6uPL;A+CtuPC;E1C/HI;EAGF;CLs2PH;AM7zPK;EDrCE;EACA;CLq2PP;A+C5tPC;E1CjJI;EAGF;CL82PH;AMr0PK;EDrCE;EACA;CL62PP;AWpuPC;;EAQM;CXguPP;A8Ex/MC;E5E11CE;CFq1PH;A8BxxPC;EASM;UAAA;C9BkxPP;A+CluPC;EAEI;C/CmuPL;A8B9xPC;;EASM;UAAA;C9ByxPP;A+C7tPG;;EAEI;C/C+tPP;A4Er2PC;EtE+ME;EAGF;EAHE;EAGF;EsE/MI;EACA,aEmrC+D;C9EsrNpE;AMt2PK;EAwMF;EAGF;EAHE;EAGF;CNiqPD;A8E1qNC;EAEI;EACA;EACA;EACA;EACA;EAIA;C9EwqNL;A8EpqNC;EAEI;EACA;C9EqqNL;A8EjqNC;EAEI;EACA;EACA;C9EkqNL;A8E9pNG;EAEI;UAAA;C9E+pNP;A+Ch1PC;;;EAII,kBgC5DkB;C/E64PvB;;A8EhuPC;EAu9BE;C9E6wNH;AsC53PG;EpClBA;CFi5PH;AsC/3PG;EpClBA;CFo5PH;A8EhxNC;EAKI;C9E8wNL;AW7yPC;;EAQM;CXyyPP;A8EjkNC;E5E11CE;CF85PH;A8ElxNG;EAEI;C9EmxNP;A8E9wNC;EAEI;C9E+wNL;;AsCl5PG;EpCXA;EACA;EACA;CFi6PH;;A8EtvPC;EAEI;EACA;EACA;C9EwvPL;A8ErvPG;EAEI;C9EsvPP;A8ElvPG;EAEI,oBC/Kc;EDgLd,mBChLc;C/Em6PrB;;A8E1uPC;EAEI;C9E4uPL;;A8E7mNC;E5E90CE;CF+7PH;A8EvtOC;EAEI;C9EwtOL;;AsCh7PG;EpCXA;EACA;EACA;CF+7PH;AsCt7PG;EpCXA;EACA;EACA;CFo8PH;AsCr8PG;EpCDA;EACA;EACA;CFy8PH;A8EpoNC;E5Ev0CE;EACA;EACA;CF88PH;A2E17PC;EzEtBE;EACA;EACA;CFm9PH;A8E50OC;E5EzoBE;EACA;EACA;CFw9PH;A6E76PC;E3E7CE;EACA;EACA;CF69PH;A8E1wOC;EAEI;C9E2wOL;;A+Ch8PC;;;E7ClCE;EACA;EACA;CFw+PH;A+Cx8PC;;;E7ClCE;EACA;EACA;CF++PH;A+C/8PC;;;E7ClCE;EACA;EACA;CFs/PH;;A+Ct9PC;;;E7ClCE;EACA;EACA;CF8/PH;A+C99PC;;;E7ClCE;EACA;EACA;CFqgQH;A+Cr+PC;;;E7ClCE;EACA;EACA;CF4gQH;;A8EjzPC;E5EpOE;E4EusBA;C9Em1OH;AsCxgQG;EpClBA;CF6hQH;A8EpxNC;E5EzwCE;CFgiQH;A8EvwNC;EAGE;I5E5xCA;GFoiQD;E8ExwNC;I5E5xCA;GFoiQD;E8ExwNC;I5E5xCA;GFoiQD;E8ExwNC;I5E5xCA;GFoiQD;CACF;A8ElwNC;EAGE;I5EtyCA;GFyiQD;CACF;A8E5tNC;E5E90CE;CF6iQH;A2E1hQC;EzEnBE;CFgjQH;A4EjiQC;;E1EfE;CFojQH;A6E1gQC;E3E1CE;CFujQH;A6EngQC;E3EpDE;CF0jQH;A8E93OC;ExC1qBE;IpClBA;GF8jQD;CACF;A8EtyNC;EAGE;I5E5xCA;GFmkQD;E8EvyNC;I5E5xCA;GFmkQD;E8EvyNC;I5E5xCA;GFmkQD;E8EvyNC;I5E5xCA;GFmkQD;CACF;A8EjyNC;EAGE;I5EtyCA;GFwkQD;CACF;A8E74OC;EAkpBA;I5E90CE;GF6kQD;CACF;A8El5OC;EHzqBA;IzEnBE;GFklQD;CACF;A8Ev5OC;EF7qBA;;I1EfE;GFwlQD;CACF;A8E75OC;EDlpBA;I3E1CE;GF6lQD;CACF;A8El6OC;EDxoBA;I3EpDE;GFkmQD;CACF;A8Ez5OC;EAEI;C9E05OL;;A8E93PC;E5ExOE;E4EmzCE;E5EnzCF;CF4mQH;A+CnkQC;;;E7CzCE;CFinQH;A8ElvOC;E/Bt1BA;;;I7CzCE;GFunQD;CACF;;A8Ep4NC;EAGI;EACA;C9Eq4NL;AMxnQK;EwEwvCE;EACA;C9Em4NP;;A8B7lQG;EACE;IACE;YAAA;G9BgmQL;E8B7lQG;IACE;YAAA;IACA;YAAA;G9B+lQL;E8B5lQG;IACE;YAAA;IACA;YAAA;G9B8lQL;E8B3lQG;IACE;YAAA;G9B6lQL;CACF;;A8B9mQG;EACE;IACE;YAAA;G9BgmQL;E8B7lQG;IACE;YAAA;IACA;YAAA;G9B+lQL;E8B5lQG;IACE;YAAA;IACA;YAAA;G9B8lQL;E8B3lQG;IACE;YAAA;G9B6lQL;CACF;A8B9mQG;EACE;IACE;YAAA;G9BgnQL;E8B7mQG;IACE;YAAA;IACA;YAAA;G9B+mQL;E8B5mQG;IACE;YAAA;IACA;YAAA;G9B8mQL;E8B3mQG;IACE;YAAA;G9B6mQL;CACF;A8B9nQG;EACE;IACE;YAAA;G9BgnQL;E8B7mQG;IACE;YAAA;IACA;YAAA;G9B+mQL;E8B5mQG;IACE;YAAA;IACA;YAAA;G9B8mQL;E8B3mQG;IACE;YAAA;G9B6mQL;CACF;A8B9nQG;EACE;IACE;YAAA;G9BgoQL;E8B7nQG;IACE;YAAA;IACA;YAAA;G9B+nQL;E8B5nQG;IACE;YAAA;IACA;YAAA;G9B8nQL;E8B3nQG;IACE;YAAA;G9B6nQL;CACF;A8B9oQG;EACE;IACE;YAAA;G9BgoQL;E8B7nQG;IACE;YAAA;IACA;YAAA;G9B+nQL;E8B5nQG;IACE;YAAA;IACA;YAAA;G9B8nQL;E8B3nQG;IACE;YAAA;G9B6nQL;CACF;A8B9oQG;EACE;IACE;YAAA;G9BgpQL;E8B7oQG;IACE;YAAA;IACA;YAAA;G9B+oQL;E8B5oQG;IACE;YAAA;IACA;YAAA;G9B8oQL;E8B3oQG;IACE;YAAA;G9B6oQL;CACF;A8B9pQG;EACE;IACE;YAAA;G9BgpQL;E8B7oQG;IACE;YAAA;IACA;YAAA;G9B+oQL;E8B5oQG;IACE;YAAA;IACA;YAAA;G9B8oQL;E8B3oQG;IACE;YAAA;G9B6oQL;CACF;A8B9pQG;EACE;IACE;YAAA;G9BgqQL;E8B7pQG;IACE;YAAA;IACA;YAAA;G9B+pQL;E8B5pQG;IACE;YAAA;IACA;YAAA;G9B8pQL;E8B3pQG;IACE;YAAA;G9B6pQL;CACF;A8B9qQG;EACE;IACE;YAAA;G9BgqQL;E8B7pQG;IACE;YAAA;IACA;YAAA;G9B+pQL;E8B5pQG;IACE;YA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;AM7hRK;EAwMF;EAGF;EAHE;EAGF;CNw1QD;;AkFljRC;E7E7BI;EAGF;CLilRH;AMxiRK;EDrCE;EACA;CLglRP;;AiFziRD;EACE;EACA;EACA;EACA;EACA;EACA;EACA;CjF4iRD;AMtjRK;E2EaF;EACA;EACA;EACA;CjF4iRH;AiFziRC;EACE,aEtEgB;CnFinRnB;AiFxiRC;EACE,aEzEqB;CnFmnRxB;AiFviRC;EACE;EACA;CjFyiRH;;AiFriRD;EhFtBI;EACA,2HAoGW;EgF5Eb,YEjFsB;EFkFtB;CjFwiRD;AiFtiRC;EACE;CjFwiRH;AiFriRC;EACE;CjFuiRH;;AiFliRD;EACE;CjFqiRD;AiFniRC;E3EoJE;EAGF;EAHE;EAGF;CNk5QD;AM7lRK;EAwMF;EAGF;EAHE;EAGF;CNw5QD;;AiFziRC;EACE,aE7Fe;CnFyoRlB;AiFziRC;EACE;CjF2iRH;AiFxiRC;E3EsIE;EAGF;EAHE;EAGF;CNq6QD;AMhnRK;EAwMF;EAGF;EAHE;EAGF;CN26QD;;AiF9iRC;EACE,cElHmB;CnFmqRtB;AiF9iRC;EACE;EACA,oBEtH6B;CnFsqRhC;AiF7iRC;;EAEE;CjF+iRH;;AiF1iRD;EACE;CjF6iRD;;AiF1iRD;EhFjFI;EACA,2HAoGW;EgFjBb;CjF6iRD;;AiFviRC;EACE;CjF0iRH;AiFviRC;EACE;CjFyiRH;AiFtiRC;E3E2FE;EAGF;EAHE;EAGF;E2E3FE,oBE7ImC;CnFurRtC;AM1pRK;EAwMF;EAGF;EAHE;EAGF;CNq9QD;;AiF3iRD;EACE,kBEhLW;CnF8tRZ;;AiF3iRD;EACE,kBE5JiB;CnF0sRlB;;AiF3iRD;EACE,kBEhLkB;CnF8tRnB;;AiF3iRD;EACE,mBE3KqB;CnFytRtB;;AiF3iRD;EACE;CjF8iRD;;AkFtrRC;EACE;IACE,aClDc;GnF2uRjB;;EkFtrRC;IACE,aCrDmB;GnF8uRtB;;EkFtrRC;IACE;GlFyrRH;;EkFtrRC;IACE;GlFyrRH;EkFvrRG;I5E0LF;IAGF;IAHE;IAGF;GNggRC;EM3sRG;IAwMF;IAGF;IAHE;IAGF;GNsgRC;;EkF7rRG;IACE,oBC1DgC;GnF0vRrC;;EkF5rRC;IACE,kBC5Ec;GnF2wRjB;CACF;AI5wRC;EA4DE;EACA;EFpBA;EACA;EACA;CFwuRH;;AI9wRG;EAuDA;EACA;EFpBA;EACA;EACA;EAFA;EACA;EACA;EAFA;EACA;EACA;EAFA;EACA;EACA;EAFA;EACA;EACA;EAFA;EACA;EACA;UAAA;EAFA;EACA;EACA;CFkwRH;;AIxyRG;EAuDA;EACA;EFpBA;EACA;EACA;EAFA;EACA;EACA;EAFA;EACA;EACA;EAFA;EACA;EACA;EAFA;EACA;EACA;EAFA;EACA;EACA;UAAA;EAFA;EACA;EACA;CF4xRH;;AIl0RG;EAuDA;EACA;EFpBA;EACA;EACA;EAFA;EACA;EACA;EAFA;EACA;EACA;EAFA;EACA;EACA;EAFA;EACA;EACA;EAFA;EACA;EACA;UAAA;EAFA;EACA;EACA;CFszRH;;AI51RG;EAuDA;EACA;EFpBA;EACA;EACA;EAFA;EACA;EACA;EAFA;EACA;EACA;EAFA;EACA;EACA;EAFA;EACA;EACA;EAFA;EACA;EACA;UAAA;EAFA;EACA;EACA;CFg1RH;;AIt3RG;EAuDA;EACA;EFpBA;EACA;EACA;EAFA;EACA;EACA;EAFA;EACA;EACA;EAFA;EACA;EACA;EAFA;EACA;EACA;EAFA;EACA;EACA;UAAA;EAFA;EACA;EACA;CF02RH;;AIh5RG;EAuDA;EACA;EFpBA;EACA;EACA;EAFA;EACA;EACA;EAFA;EACA;EACA;EAFA;EACA;EACA;EAFA;EACA;EACA;EAFA;EACA;EACA;UAAA;EAFA;EACA;EACA;CFo4RH;;AI16RG;EAuDA;EACA;EFpBA;EACA;EACA;EAFA;EACA;EACA;EAFA;EACA;EACA;EAFA;EACA;EACA;EAFA;EACA;EACA;EAFA;EACA;EACA;UAAA;EAFA;EACA;EACA;CF85RH;;AIp8RG;EAuDA;EACA;EFpBA;EACA;EACA;EAFA;EACA;EACA;EAFA;EACA;EACA;EAFA;EACA;EACA;EAFA;EACA;EACA;EAFA;EACA;EACA;UAAA;EAFA;EACA;EACA;CFw7RH;;AI99RG;EAuDA;EACA;EFpBA;EACA;EACA;EAFA;EACA;EACA;EAFA;EACA;EACA;EAFA;EACA;EACA;EAFA;EACA;EACA;EAFA;EACA;EACA;UAAA;EAFA;EACA;EACA;CFk9RH;;AIx/RG;EAuDA;EACA;EFpBA;EACA;EACA;EAFA;EACA;EACA;EAFA;EACA;EACA;EAFA;EACA;EACA;EAFA;EACA;EACA;EAFA;EACA;EACA;UAAA;EAFA;EACA;EACA;CF4+RH;;AIlhSG;EAuDA;EACA;EFpBA;EACA;EACA;EAFA;EACA;EACA;EAFA;EACA;EACA;EAFA;EACA;EACA;EAFA;EACA;EACA;EAFA;EACA;EACA;UAAA;EAFA;EACA;EACA;CFsgSH;;AI5iSG;EAuDA;EACA;EFpBA;EACA;EACA;EAFA;EACA;EACA;EAFA;EACA;EACA;EAFA;EACA;EACA;EAFA;EACA;EACA;EAFA;EACA;EACA;UAAA;EAFA;EACA;EACA;CFgiSH;;AItkSG;EAuDA;EACA;EFpBA;EACA;EACA;EAFA;EACA;EACA;EAFA;EACA;EACA;EAFA;EACA;EACA;EAFA;EACA;EACA;EAFA;EACA;EACA;UAAA;EAFA;EACA;EACA","file":"material-components-web.css","sourcesContent":["//\n// Copyright 2019 Google Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n//\n\n@use \"@material/base/mixins\" as base-mixins;\n@use \"@material/feature-targeting/functions\";\n@use \"@material/feature-targeting/mixins\" as feature-targeting-mixins;\n@use \"./variables\";\n\n/// Styles applied to the component's touch target wrapper element.\n@mixin wrapper($query: functions.all()) {\n $feat-structure: functions.create-target($query, structure);\n\n .mdc-touch-target-wrapper {\n @include feature-targeting-mixins.targets($feat-structure) {\n // Ensure that styles are only emitted once across all components that\n // have increased touch targets.\n @include base-mixins.emit-once(\"mdc-touch-target/wrapper\") {\n // NOTE: Will change to `inline-block` in the future, but keeping as is\n // temporarily for backwards-compatibility.\n display: inline;\n }\n }\n }\n}\n\n/// Styles applied to the component's inner touch target element.\n/// By default, only sets the inner element height to the minimum touch target\n/// height ($mdc-touch-target-height).\n/// @param {Boolean} $set-width [false] - Sets the inner element width to the\n/// minimum touch target width ($mdc-touch-target-width).\n@mixin touch-target($set-width: false, $query: functions.all()) {\n $feat-structure: functions.create-target($query, structure);\n\n @include feature-targeting-mixins.targets($feat-structure) {\n position: absolute;\n top: 50%;\n right: 0;\n height: variables.$height;\n }\n\n @if $set-width {\n @include feature-targeting-mixins.targets($feat-structure) {\n /* @noflip */\n left: 50%;\n width: variables.$width;\n transform: translate(-50%, -50%);\n }\n } @else {\n @include feature-targeting-mixins.targets($feat-structure) {\n left: 0;\n transform: translateY(-50%);\n }\n }\n}\n\n/// Applies margin to the component with the increased touch target,\n/// to compensate for the touch target.\n@mixin margin($component-height, $component-width: null, $query: functions.all()) {\n $feat-structure: functions.create-target($query, structure);\n\n $vertical-margin-value: (variables.$height - $component-height) / 2;\n\n @include feature-targeting-mixins.targets($feat-structure) {\n margin-top: $vertical-margin-value;\n margin-bottom: $vertical-margin-value;\n }\n\n @if $component-width {\n $horizontal-margin-value: (variables.$width - $component-width) / 2;\n\n @include feature-targeting-mixins.targets($feat-structure) {\n margin-right: $horizontal-margin-value;\n margin-left: $horizontal-margin-value;\n }\n }\n}\n","//\n// Copyright 2017 Google Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n//\n\n@use \"sass:map\";\n@use \"sass:math\";\n@use \"sass:meta\";\n@use \"@material/base/mixins\" as base-mixins;\n@use \"@material/feature-targeting/functions\" as feature-targeting-functions;\n@use \"@material/feature-targeting/mixins\" as feature-targeting-mixins;\n@use \"@material/theme/mixins\" as theme-mixins;\n@use \"@material/theme/variables\" as theme-variables;\n@use \"./functions\";\n@use \"./variables\";\n\n@mixin core-styles($query: feature-targeting-functions.all()) {\n $feat-animation: feature-targeting-functions.create-target($query, animation);\n $feat-structure: feature-targeting-functions.create-target($query, structure);\n\n @for $z-value from 0 through 24 {\n .mdc-elevation--z#{$z-value} {\n @include elevation($z-value, $query: $query);\n }\n }\n\n .mdc-elevation-transition {\n @include feature-targeting-mixins.targets($feat-animation) {\n transition: functions.transition-value();\n }\n\n @include feature-targeting-mixins.targets($feat-structure) {\n will-change: variables.$property;\n }\n }\n}\n\n///\n/// Called once per application to set up the global default elevation styles.\n///\n@mixin overlay-common($query: feature-targeting-functions.all()) {\n $feat-animation: feature-targeting-functions.create-target($query, animation);\n $feat-structure: feature-targeting-functions.create-target($query, structure);\n\n @include overlay-selector_ {\n @include feature-targeting-mixins.targets($feat-structure) {\n @include base-mixins.emit-once(\"mdc-elevation/common/structure\") {\n position: absolute;\n border-radius: inherit;\n opacity: 0;\n pointer-events: none;\n }\n }\n\n @include feature-targeting-mixins.targets($feat-animation) {\n @include base-mixins.emit-once(\"mdc-elevation/common/animation\") {\n transition: functions.overlay-transition-value();\n }\n }\n\n @include base-mixins.emit-once(\"mdc-elevation/common/color\") {\n @include overlay-fill-color(variables.$overlay-color, $query: $query);\n }\n }\n}\n\n///\n/// Sets the shadow of the element.\n///\n/// @param {String} $box-shadow - The shadow to apply to the element.\n///\n@mixin shadow($box-shadow, $query: feature-targeting-functions.all()) {\n $feat-color: feature-targeting-functions.create-target($query, color);\n\n @include feature-targeting-mixins.targets($feat-color) {\n /* @alternate */\n box-shadow: $box-shadow;\n }\n}\n\n///\n/// Sets the elevation overlay surface required positioning.\n///\n@mixin overlay-surface-position($query: feature-targeting-functions.all()) {\n $feat-structure: feature-targeting-functions.create-target($query, structure);\n\n @include feature-targeting-mixins.targets($feat-structure) {\n /* @alternate */\n position: relative;\n }\n}\n\n///\n/// Sets the dimensions of the elevation overlay, including positioning and sizing.\n///\n/// @param {Number} $width - The width of the elevation overlay\n/// @param {Number} [$height] - The height of the elevation overlay\n/// @param {Boolean} [$has-content-sizing] - Set to false if the container has no content sizing\n///\n@mixin overlay-dimensions($width, $height: $width, $has-content-sizing: true, $query: feature-targeting-functions.all()) {\n $feat-structure: feature-targeting-functions.create-target($query, structure);\n\n @include overlay-selector_ {\n @include feature-targeting-mixins.targets($feat-structure) {\n width: $width;\n height: $height;\n\n @if $has-content-sizing {\n top: 0;\n /* @noflip */\n left: 0;\n } @else {\n top: 50%;\n /* @noflip */\n left: 50%;\n transform: translate(-50%, -50%);\n }\n }\n }\n}\n\n///\n/// Sets the elevation overlay fill color.\n/// Expected to be called directly on the elevation overlay element.\n///\n/// @param {Color} $color - The color of the elevation overlay.\n///\n@mixin overlay-fill-color($color, $query: feature-targeting-functions.all()) {\n $feat-color: feature-targeting-functions.create-target($query, color);\n\n @include feature-targeting-mixins.targets($feat-color) {\n @include theme-mixins.prop(background-color, $color);\n }\n}\n\n///\n/// Sets the elevation overlay opacity.\n/// Expected to be called from a parent element.\n///\n/// @param {Number} $opacity - The opacity of the elevation overlay.\n///\n@mixin overlay-opacity($opacity, $query: feature-targeting-functions.all()) {\n $feat-color: feature-targeting-functions.create-target($query, color);\n\n @include overlay-selector_ {\n @include feature-targeting-mixins.targets($feat-color) {\n opacity: $opacity;\n }\n }\n}\n\n// Applies the correct CSS rules to an element to give it the elevation specified by $z-value.\n// The $z-value must be between 0 and 24.\n// If $color has an alpha channel, it will be ignored and overridden. To increase the opacity of the shadow, use\n// $opacity-boost.\n@mixin elevation($z-value, $color: variables.$baseline-color, $opacity-boost: 0, $query: feature-targeting-functions.all()) {\n @if meta.type-of($z-value) != number or not math.is-unitless($z-value) {\n @error \"$z-value must be a unitless number, but received '#{$z-value}'\";\n }\n\n @if $z-value < 0 or $z-value > 24 {\n @error \"$z-value must be between 0 and 24, but received '#{$z-value}'\";\n }\n\n $feat-color: feature-targeting-functions.create-target($query, color);\n\n $color: theme-variables.prop-value($color);\n\n $umbra-z-value: map.get(variables.$umbra-map, $z-value);\n $penumbra-z-value: map.get(variables.$penumbra-map, $z-value);\n $ambient-z-value: map.get(variables.$ambient-map, $z-value);\n\n $umbra-color: rgba($color, variables.$umbra-opacity + $opacity-boost);\n $penumbra-color: rgba($color, variables.$penumbra-opacity + $opacity-boost);\n $ambient-color: rgba($color, variables.$ambient-opacity + $opacity-boost);\n\n $box-shadow: (\n #{\"#{$umbra-z-value} #{$umbra-color}\"},\n #{\"#{$penumbra-z-value} #{$penumbra-color}\"},\n #{$ambient-z-value} $ambient-color,\n );\n\n @include shadow($box-shadow, $query: $query);\n}\n\n// Private\n\n///\n/// Sets the elevation overlay transition value.\n///\n/// @param {String} $duration - The duration of the transition.\n/// @param {String} $easing - The easing function for the transition.\n/// @return {String}\n/// @access private\n///\n@mixin overlay-selector_ {\n .mdc-elevation-overlay {\n @content;\n }\n}\n","//\n// Copyright 2017 Google Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n//\n\n@use \"sass:map\";\n@use \"@material/feature-targeting/functions\" as feature-targeting-functions;\n@use \"@material/feature-targeting/mixins\";\n@use \"./variables\";\n@use \"./functions\";\n\n@mixin core-styles($query: feature-targeting-functions.all()) {\n $feat-color: feature-targeting-functions.create-target($query, color);\n\n :root {\n @include mixins.targets($feat-color) {\n @each $style in map.keys(variables.$property-values) {\n --mdc-theme-#{$style}: #{map.get(variables.$property-values, $style)};\n }\n }\n }\n\n @each $style in map.keys(variables.$property-values) {\n @if $style != \"background\" and $style != \"surface\" {\n .mdc-theme--#{$style} {\n @include mixins.targets($feat-color) {\n @include prop(color, $style, true);\n }\n }\n } @else {\n .mdc-theme--#{$style} {\n @include mixins.targets($feat-color) {\n @include prop(background-color, $style);\n }\n }\n }\n }\n\n // CSS rules for using primary and secondary (plus light/dark variants) as background colors.\n @each $style in (\"primary\", \"secondary\") {\n .mdc-theme--#{$style}-bg {\n @include mixins.targets($feat-color) {\n @include prop(background-color, $style, true);\n }\n }\n }\n}\n\n// Applies the correct theme color style to the specified property.\n// $property is typically color or background-color, but can be any CSS property that accepts color values.\n// $style should be one of the map keys in $mdc-theme-property-values (_variables.scss), or a color value.\n@mixin prop($property, $style, $important: false) {\n $important-rule: if($important, \"!important\", \"\");\n\n @if functions.is-var-with-fallback_($style) {\n #{$property}: functions.get-var-fallback_($style) #{$important-rule};\n /* @alternate */\n #{$property}: functions.var_($style) #{$important-rule};\n } @else if variables.is-valid-theme-prop-value_($style) {\n #{$property}: $style #{$important-rule};\n } @else {\n @if not map.has-key(variables.$property-values, $style) {\n @error \"Invalid style: '#{$style}'. Choose one of: #{map.keys(variables.$property-values)}\";\n }\n $value: map.get(variables.$property-values, $style);\n\n #{$property}: $value #{$important-rule};\n /* @alternate */\n #{$property}: var(--mdc-theme-#{$style}, $value) #{$important-rule};\n }\n}\n","//\n// Copyright 2016 Google Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n//\n\n@use \"sass:math\";\n@use \"@material/elevation/mixins\" as elevation-mixins;\n@use \"@material/feature-targeting/functions\" as feature-targeting-functions;\n@use \"@material/feature-targeting/mixins\" as feature-targeting-mixins;\n@use \"@material/ripple/mixins\" as ripple-mixins;\n@use \"@material/rtl/mixins\" as rtl-mixins;\n@use \"@material/theme/functions\" as theme-functions;\n@use \"@material/theme/mixins\" as theme-mixins;\n@use \"@material/touch-target/mixins\" as touch-target-mixins;\n@use \"@material/typography/mixins\" as typography-mixins;\n@use \"@material/shape/mixins\" as shape-mixins;\n@use \"@material/shape/functions\" as shape-functions;\n@use \"@material/density/functions\" as density-functions;\n@use \"./variables\";\n@use \"@material/elevation/functions\" as elevation-functions;\n\n$ripple-target: \".mdc-button__ripple\";\n\n@mixin core-styles($query: feature-targeting-functions.all()) {\n @include without-ripple($query);\n @include ripple($query);\n}\n\n@mixin theme-baseline($query: feature-targeting-functions.all()) {\n .mdc-button {\n @include density(variables.$density-scale, $query: $query);\n }\n}\n\n// This API is intended for use by frameworks that may want to separate the ripple-related styles from the other\n// button styles. It is recommended that most users use `mdc-button-core-styles` instead.\n@mixin without-ripple($query: feature-targeting-functions.all()) {\n $feat-color: feature-targeting-functions.create-target($query, color);\n $feat-structure: feature-targeting-functions.create-target($query, structure);\n\n @include touch-target-mixins.wrapper($query); // COPYBARA_COMMENT_THIS_LINE\n @include elevation-mixins.overlay-common($query); // COPYBARA_COMMENT_THIS_LINE\n\n // postcss-bem-linter: define button\n .mdc-button {\n @include base_($query);\n @include shape-radius(small, $query: $query);\n @include container-fill-color(transparent, $query);\n @include disabled-container-fill-color(transparent, $query);\n // The icon CSS class overrides styles defined in the .material-icons CSS\n // class, which is loaded separately so the order of CSS definitions is not\n // guaranteed. Therefore, increase specifity by nesting this class to ensure\n // overrides apply.\n .mdc-button__icon {\n @include feature-targeting-mixins.targets($feat-structure) {\n @include icon_;\n }\n }\n\n .mdc-button__touch {\n @include touch-target-mixins.touch-target($query: $query);\n }\n\n @include ink-color(primary, $query);\n @include disabled-ink-color(variables.$disabled-ink-color, $query);\n }\n\n .mdc-button__label + .mdc-button__icon {\n @include feature-targeting-mixins.targets($feat-structure) {\n @include icon-trailing_;\n }\n }\n\n // stylelint-disable-next-line selector-no-qualifying-type\n svg.mdc-button__icon {\n @include feature-targeting-mixins.targets($feat-structure) {\n @include icon-svg_;\n }\n }\n\n .mdc-button--raised,\n .mdc-button--unelevated,\n .mdc-button--outlined {\n .mdc-button__icon {\n @include feature-targeting-mixins.targets($feat-structure) {\n // Icons inside contained buttons have different styles due to increased button padding\n @include icon-contained_;\n }\n }\n\n .mdc-button__label + .mdc-button__icon {\n @include feature-targeting-mixins.targets($feat-structure) {\n @include icon-contained-trailing_;\n }\n }\n }\n\n .mdc-button--raised,\n .mdc-button--unelevated {\n @include filled_($query);\n }\n\n .mdc-button--raised {\n @include raised_($query);\n }\n\n .mdc-button--outlined {\n @include outlined_($query);\n }\n\n .mdc-button--touch {\n @include touch-target-mixins.margin(\n $component-height: variables.$height, $query: $query);\n }\n // postcss-bem-linter: end\n}\n\n// This API is intended for use by frameworks that may want to separate the ripple-related styles from the other\n// button styles. It is recommended that most users use `mdc-button-core-styles` instead.\n@mixin ripple($query: feature-targeting-functions.all()) {\n $feat-structure: feature-targeting-functions.create-target($query, structure);\n\n @include ripple-mixins.common($query); // COPYBARA_COMMENT_THIS_LINE\n\n .mdc-button {\n @include ripple-mixins.surface($query: $query, $ripple-target: $ripple-target);\n @include ripple-mixins.radius-bounded(\n $query: $query, $ripple-target: $ripple-target);\n @include ripple-mixins.states(\n $color: primary, $query: $query, $ripple-target: $ripple-target);\n\n #{$ripple-target} {\n @include feature-targeting-mixins.targets($feat-structure) {\n position: absolute;\n // Ripple needs content-box as the box sizing and box-sizing: border-box\n // is often set as a default, so we override that here.\n box-sizing: content-box;\n width: 100%;\n height: 100%;\n overflow: hidden;\n }\n }\n\n // Ripple targets inside outlined buttons set their own `top`/`left`,\n // depending on the border width.\n &:not(.mdc-button--outlined) #{$ripple-target} {\n @include feature-targeting-mixins.targets($feat-structure) {\n top: 0;\n left: 0;\n }\n }\n }\n\n .mdc-button--raised,\n .mdc-button--unelevated {\n @include ripple-mixins.states(\n $color: on-primary, $query: $query, $ripple-target: $ripple-target);\n }\n}\n\n@mixin filled-accessible($container-fill-color, $query: feature-targeting-functions.all()) {\n $fill-tone: theme-functions.tone($container-fill-color);\n\n @include container-fill-color($container-fill-color, $query);\n\n @if ($fill-tone == \"dark\") {\n @include ink-color(text-primary-on-dark, $query);\n @include ripple-mixins.states(\n $color: text-primary-on-dark, $query: $query, $ripple-target: $ripple-target);\n } @else {\n @include ink-color(text-primary-on-light, $query);\n @include ripple-mixins.states(\n $color: text-primary-on-light, $query: $query, $ripple-target: $ripple-target);\n }\n}\n\n///\n/// Sets the container fill color to the given color for an enabled button.\n/// @param {Color} $color - The desired container fill color.\n///\n@mixin container-fill-color($color, $query: feature-targeting-functions.all()) {\n // :not(:disabled) is used to support link styled as button\n // as link does not support :enabled style\n &:not(:disabled) {\n @include container-fill-color_($color, $query: $query);\n }\n}\n\n///\n/// Sets the container fill color to the given color for a disabled button.\n/// @param {Color} $color - The desired container fill color.\n///\n@mixin disabled-container-fill-color($color, $query: feature-targeting-functions.all()) {\n &:disabled {\n @include container-fill-color_($color, $query: $query);\n }\n}\n\n///\n/// Sets the outline color to the given color for an enabled button.\n/// @param {Color} $color - The desired outline color.\n///\n@mixin outline-color($color, $query: feature-targeting-functions.all()) {\n &:not(:disabled) {\n @include outline-color_($color, $query: $query);\n }\n}\n\n///\n/// Sets the outline color to the given color for a disabled button.\n/// @param {Color} $color - The desired outline color.\n///\n@mixin disabled-outline-color($color, $query: feature-targeting-functions.all()) {\n &:disabled {\n @include outline-color_($color, $query: $query);\n }\n}\n\n///\n/// Sets the icon color to the given color for an enabled button.\n/// @param {Color} $color - The desired icon color.\n///\n@mixin icon-color($color, $query: feature-targeting-functions.all()) {\n &:not(:disabled) {\n @include icon-color_($color, $query: $query);\n }\n}\n\n///\n/// Sets the icon color to the given color for a disabled button.\n/// @param {Color} $color - The desired icon color.\n///\n@mixin disabled-icon-color($color, $query: feature-targeting-functions.all()) {\n &:disabled {\n @include icon-color_($color, $query: $query);\n }\n}\n\n///\n/// Sets the ink color to the given color for an enabled button,\n/// and sets the icon color to the given color unless `mdc-button-icon-color`\n/// is also used.\n/// @param {Color} $color - The desired ink color.\n///\n@mixin ink-color($color, $query: feature-targeting-functions.all()) {\n &:not(:disabled) {\n @include ink-color_($color, $query: $query);\n }\n}\n\n///\n/// Sets the ink color to the given color for a disabled button,\n/// and sets the icon color to the given color unless `mdc-button-icon-color`\n/// is also used.\n/// @param {Color} $color - The desired ink color.\n///\n@mixin disabled-ink-color($color, $query: feature-targeting-functions.all()) {\n &:disabled {\n @include ink-color_($color, $query: $query);\n }\n}\n\n///\n/// Sets density scale for button.\n///\n/// @param {Number | String} $density-scale - Density scale value for component. Supported density scale values `-3`,\n/// `-2`, `-1`, `0`.\n///\n@mixin density($density-scale, $query: feature-targeting-functions.all()) {\n\n $height: density-functions.prop-value(\n $density-config: variables.$density-config,\n $density-scale: $density-scale,\n $property-name: height,\n );\n\n @include height($height, $query: $query);\n\n @if $density-scale != 0 {\n @include touch-target-reset_($query: $query);\n }\n}\n\n///\n/// Resets touch target-related styles. This is called from the density mixin to\n/// automatically remove the increased touch target, since dense components\n/// don't have the same default a11y requirements.\n/// @access private\n///\n@mixin touch-target-reset_($query: feature-targeting-functions.all()) {\n $feat-structure: feature-targeting-functions.create-target($query, structure);\n\n @include feature-targeting-mixins.targets($feat-structure) {\n margin-top: 0;\n margin-bottom: 0;\n }\n\n .mdc-button__touch {\n @include feature-targeting-mixins.targets($feat-structure) {\n display: none;\n }\n }\n}\n\n///\n/// Sets custom height for button.\n/// @param {Number} $height - Height of button in `px`.\n///\n@mixin height($height, $query: feature-targeting-functions.all()) {\n $feat-structure: feature-targeting-functions.create-target($query, structure);\n\n @include feature-targeting-mixins.targets($feat-structure) {\n height: $height;\n }\n}\n\n@mixin shape-radius($radius,\n$rtl-reflexive: false,\n$density-scale: variables.$density-scale,\n$query: feature-targeting-functions.all()) {\n\n $height: density-functions.prop-value(\n $density-config: variables.$density-config,\n $density-scale: $density-scale,\n $property-name: height,\n );\n $resolved-radius: shape-functions.resolve-percentage-radius($height, $radius);\n\n @include shape-mixins.radius($resolved-radius, $rtl-reflexive, $query: $query);\n\n #{$ripple-target} {\n @include shape-mixins.radius($resolved-radius, $rtl-reflexive, $query: $query);\n }\n}\n\n///\n/// Sets horizontal padding to the given number.\n/// @param {Number} $padding\n///\n@mixin horizontal-padding($padding, $query: feature-targeting-functions.all()) {\n $feat-structure: feature-targeting-functions.create-target($query, structure);\n\n @include feature-targeting-mixins.targets($feat-structure) {\n // $padding should be a single value; enforce it by specifying all 4 sides in the output\n padding: 0 $padding 0 $padding;\n }\n}\n\n@mixin outline-width(\n $outline-width,\n $padding: variables.$contained-horizontal-padding,\n $query: feature-targeting-functions.all()\n) {\n $feat-structure: feature-targeting-functions.create-target($query, structure);\n // Note: Adjust padding to maintain consistent width with non-outlined buttons\n $padding-value: math.max($padding - $outline-width, 0);\n\n @include horizontal-padding($padding-value, $query);\n\n @include feature-targeting-mixins.targets($feat-structure) {\n border-width: $outline-width;\n }\n\n #{$ripple-target} {\n @include feature-targeting-mixins.targets($feat-structure) {\n top: -$outline-width;\n left: -$outline-width;\n border: $outline-width solid transparent;\n }\n }\n}\n\n///\n/// Sets the button label to overflow as ellipsis\n///\n@mixin label-overlow-ellipsis($query: feature-targeting-functions.all()) {\n .mdc-button__label {\n @include typography-mixins.overflow-ellipsis($query: $query);\n }\n}\n\n@mixin base_($query) {\n $feat-color: feature-targeting-functions.create-target($query, color);\n $feat-structure: feature-targeting-functions.create-target($query, structure);\n\n @include typography-mixins.typography(button, $query);\n @include horizontal-padding(variables.$horizontal-padding, $query);\n @include elevation-mixins.overlay-surface-position($query: $query);\n @include elevation-mixins.overlay-dimensions(100%, $query: $query);\n\n @include feature-targeting-mixins.targets($feat-structure) {\n display: inline-flex;\n // position: relative; already set in mdc-elevation-overlay-surface-position\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n min-width: 64px;\n border: none;\n outline: none;\n /* @alternate */\n line-height: inherit;\n user-select: none;\n -webkit-appearance: none;\n // Even though `visible` is the default, IE 11 computes the property as\n // `hidden` in some cases, unless it's explicitly defined here.\n overflow: visible;\n vertical-align: middle;\n }\n\n &::-moz-focus-inner {\n @include feature-targeting-mixins.targets($feat-structure) {\n padding: 0;\n border: 0;\n }\n }\n\n // postcss-bem-linter: ignore\n &:active {\n @include feature-targeting-mixins.targets($feat-structure) {\n outline: none;\n }\n }\n\n &:hover {\n @include feature-targeting-mixins.targets($feat-structure) {\n cursor: pointer;\n }\n }\n\n &:disabled {\n @include feature-targeting-mixins.targets($feat-structure) {\n cursor: default;\n pointer-events: none;\n }\n }\n}\n\n@mixin icon_ {\n @include rtl-mixins.reflexive-box(margin, right, 8px);\n\n display: inline-block;\n width: 18px;\n height: 18px;\n font-size: 18px;\n vertical-align: top;\n}\n\n@mixin icon-trailing_ {\n @include rtl-mixins.reflexive-box(margin, left, 8px);\n}\n\n@mixin icon-svg_ {\n fill: currentColor;\n}\n\n@mixin icon-contained_ {\n @include rtl-mixins.reflexive-property(margin, -4px, 8px);\n}\n\n@mixin icon-contained-trailing_ {\n @include rtl-mixins.reflexive-property(margin, 8px, -4px);\n}\n\n@mixin outlined_($query) {\n $feat-structure: feature-targeting-functions.create-target($query, structure);\n\n @include outline-width(variables.$outlined-border-width, $query: $query);\n @include outline-color(variables.$outline-color, $query);\n @include disabled-outline-color(variables.$disabled-container-color, $query);\n\n @include feature-targeting-mixins.targets($feat-structure) {\n border-style: solid;\n }\n}\n\n@mixin filled_($query) {\n @include horizontal-padding(variables.$contained-horizontal-padding, $query);\n @include container-fill-color(primary, $query);\n @include ink-color(on-primary, $query);\n @include disabled-container-fill-color(variables.$disabled-container-color, $query);\n @include disabled-ink-color(variables.$disabled-ink-color, $query);\n}\n\n@mixin raised_($query) {\n $feat-animation: feature-targeting-functions.create-target($query, animation);\n $feat-color: feature-targeting-functions.create-target($query, color);\n\n @include elevation-mixins.elevation(2, $query: $query);\n\n &:hover,\n &:focus {\n @include elevation-mixins.elevation(4, $query: $query);\n }\n\n &:active {\n @include elevation-mixins.elevation(8, $query: $query);\n }\n\n &:disabled {\n @include elevation-mixins.elevation(0, $query: $query);\n }\n\n @include feature-targeting-mixins.targets($feat-animation) {\n transition: elevation-functions.transition-value();\n }\n}\n\n///\n/// Sets the container fill color to the given color. This mixin should be\n/// wrapped in a selector that qualifies button state.\n/// @access private\n///\n@mixin container-fill-color_($color, $query: feature-targeting-functions.all()) {\n $feat-color: feature-targeting-functions.create-target($query, color);\n\n @include feature-targeting-mixins.targets($feat-color) {\n @include theme-mixins.prop(background-color, $color);\n }\n}\n\n///\n/// Sets the outline color to the given color. This mixin should be\n/// wrapped in a selector that qualifies button state.\n/// @access private\n///\n@mixin outline-color_($color, $query: feature-targeting-functions.all()) {\n $feat-color: feature-targeting-functions.create-target($query, color);\n\n @include feature-targeting-mixins.targets($feat-color) {\n @include theme-mixins.prop(border-color, $color);\n }\n}\n\n///\n/// Sets the icon color to the given color. This mixin should be\n/// wrapped in a selector that qualifies button state.\n/// @access private\n///\n@mixin icon-color_($color, $query: feature-targeting-functions.all()) {\n $feat-color: feature-targeting-functions.create-target($query, color);\n\n .mdc-button__icon {\n @include feature-targeting-mixins.targets($feat-color) {\n @include theme-mixins.prop(color, $color);\n }\n }\n}\n\n///\n/// Sets the ink color to the given color. This mixin should be\n/// wrapped in a selector that qualifies button state.\n/// @access private\n///\n@mixin ink-color_($color, $query: feature-targeting-functions.all()) {\n $feat-color: feature-targeting-functions.create-target($query, color);\n\n @include feature-targeting-mixins.targets($feat-color) {\n @include theme-mixins.prop(color, $color);\n }\n}\n","//\n// Copyright 2017 Google Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n//\n\n@use \"sass:list\";\n@use \"sass:map\";\n@use \"sass:string\";\n@use \"@material/feature-targeting/functions\" as feature-targeting-functions;\n@use \"@material/feature-targeting/mixins\" as feature-targeting-mixins;\n@use \"@material/theme/mixins\" as theme-mixins;\n@use \"./variables\";\n\n@mixin core-styles($query: feature-targeting-functions.all()) {\n .mdc-typography {\n @include base($query: $query);\n }\n\n @each $style in map.keys(variables.$styles) {\n .mdc-typography--#{$style} {\n @include typography($style, $query: $query);\n }\n }\n}\n\n@mixin base($query: feature-targeting-functions.all()) {\n $feat-typography: feature-targeting-functions.create-target($query, typography);\n\n @include smooth-font($query: $query);\n @include feature-targeting-mixins.targets($feat-typography) {\n @include theme-mixins.prop(font-family, (\n varname: --mdc-typography-font-family,\n fallback: map.get(variables.$base, 'font-family')\n ));\n }\n}\n\n@mixin typography($style, $query: feature-targeting-functions.all(), $exclude-props: ()) {\n $feat-typography: feature-targeting-functions.create-target($query, typography);\n $style-props: map.get(variables.$styles, $style);\n\n @if not map.has-key(variables.$styles, $style) {\n @error \"Invalid style specified! #{$style} doesn't exist. Choose one of #{map.keys(variables.$styles)}\";\n }\n\n @include smooth-font($query: $query);\n @include feature-targeting-mixins.targets($feat-typography) {\n @each $key, $value in $style-props {\n @if list.index($exclude-props, $key) == null {\n $fallback: $value;\n @if $key == \"font-family\" {\n // Each style has its own font-family custom property, but should\n // fallback to a generic font-family property. This allows\n // customizing the font-family for all styles or only specific ones.\n $fallback: (\n varname: --mdc-typography-font-family,\n fallback: $fallback\n );\n }\n\n @include theme-mixins.prop($key, (\n varname: --mdc-typography-#{$style}-#{$key},\n fallback: $fallback\n ));\n }\n }\n }\n}\n\n/// Applies antialiasing via font-smoothing to text.\n@mixin smooth-font($query: feature-targeting-functions.all()) {\n $feat-typography: feature-targeting-functions.create-target($query, typography);\n\n @include feature-targeting-mixins.targets($feat-typography) {\n -moz-osx-font-smoothing: grayscale;\n -webkit-font-smoothing: antialiased;\n }\n}\n\n// Element must be `display: block` or `display: inline-block` for this to work.\n@mixin overflow-ellipsis($query: feature-targeting-functions.all()) {\n $feat-structure: feature-targeting-functions.create-target($query, structure);\n\n @include feature-targeting-mixins.targets($feat-structure) {\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden;\n }\n}\n\n@mixin baseline-top($distance, $query: feature-targeting-functions.all()) {\n $feat-structure: feature-targeting-functions.create-target($query, structure);\n\n @include feature-targeting-mixins.targets($feat-structure) {\n display: block;\n margin-top: 0;\n /* @alternate */\n line-height: normal;\n }\n\n &::before {\n @include feature-targeting-mixins.targets($feat-structure) {\n @include baseline-strut_($distance);\n\n vertical-align: 0;\n }\n }\n}\n\n@mixin baseline-bottom($distance, $query: feature-targeting-functions.all()) {\n $feat-structure: feature-targeting-functions.create-target($query, structure);\n\n @include feature-targeting-mixins.targets($feat-structure) {\n margin-bottom: -1 * $distance;\n }\n\n &::after {\n @include feature-targeting-mixins.targets($feat-structure) {\n @include baseline-strut_($distance);\n\n vertical-align: -1 * $distance;\n }\n }\n}\n\n@mixin baseline-strut_($distance) {\n display: inline-block;\n width: 0;\n height: $distance;\n content: \"\";\n}\n","//\n// Copyright 2018 Google Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n//\n\n@use \"sass:list\";\n@use \"@material/feature-targeting/functions\" as feature-targeting-functions;\n@use \"@material/feature-targeting/mixins\" as feature-targeting-mixins;\n@use \"@material/rtl/mixins\" as rtl-mixins;\n@use \"./variables\";\n@use \"./functions\";\n\n@mixin radius($radius, $rtl-reflexive: false, $query: feature-targeting-functions.all()) {\n $feat-structure: feature-targeting-functions.create-target($query, structure);\n\n @include feature-targeting-mixins.targets($feat-structure) {\n // Even if $rtl-reflexive is true, only emit RTL styles if we can't easily tell that the given radius is symmetrical\n $needs-flip: $rtl-reflexive and list.length($radius) > 1;\n\n @if ($needs-flip) {\n /* @noflip */\n }\n\n border-radius: functions.prop-value($radius);\n\n @if ($needs-flip) {\n @include rtl-mixins.rtl {\n /* @noflip */\n border-radius: functions.flip-radius(functions.prop-value($radius));\n }\n }\n }\n}\n","//\n// Copyright 2017 Google Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n//\n\n@use \"sass:list\";\n@use \"./variables\";\n\n// Creates a rule that will be applied when an MDC Web component is within the context of an RTL layout.\n//\n// Usage Example:\n//\n// ```scss\n// .mdc-foo {\n// position: absolute;\n// left: 0;\n//\n// @include rtl {\n// left: auto;\n// right: 0;\n// }\n//\n// &__bar {\n// margin-left: 4px;\n// @include rtl(\".mdc-foo\") {\n// margin-left: auto;\n// margin-right: 4px;\n// }\n// }\n// }\n//\n// .mdc-foo--mod {\n// padding-left: 4px;\n//\n// @include rtl {\n// padding-left: auto;\n// padding-right: 4px;\n// }\n// }\n// ```\n//\n// Note that this mixin works by checking for an ancestor element with `[dir=\"rtl\"]`.\n// As a result, nested `dir` values are not supported:\n//\n// ```html\n// \n// \n//
\n//
Styled incorrectly as RTL!
\n//
\n// \n// ```\n//\n// In the future, selectors such as the `:dir` pseudo-class (http://mdn.io/css/:dir) will help us mitigate this.\n@mixin rtl($root-selector: null) {\n @if (variables.$include) {\n @if ($root-selector) {\n @at-root {\n #{$root-selector}[dir=\"rtl\"] &,\n [dir=\"rtl\"] #{$root-selector} & {\n @content;\n }\n }\n } @else {\n [dir=\"rtl\"] &,\n &[dir=\"rtl\"] {\n @content;\n }\n }\n }\n}\n\n// Takes a base box-model property name (`margin`, `border`, `padding`, etc.) along with a\n// default direction (`left` or `right`) and value, and emits rules which apply the given value to the\n// specified direction by default and the opposite direction in RTL.\n//\n// For example:\n//\n// ```scss\n// .mdc-foo {\n// @include rtl-reflexive-box(margin, left, 8px);\n// }\n// ```\n//\n// is equivalent to:\n//\n// ```scss\n// .mdc-foo {\n// margin-left: 8px;\n// margin-right: 0;\n//\n// @include rtl {\n// margin-left: 0;\n// margin-right: 8px;\n// }\n// }\n// ```\n//\n// whereas:\n//\n// ```scss\n// .mdc-foo {\n// @include rtl-reflexive-box(margin, right, 8px);\n// }\n// ```\n//\n// is equivalent to:\n//\n// ```scss\n// .mdc-foo {\n// margin-left: 0;\n// margin-right: 8px;\n//\n// @include rtl {\n// margin-left: 8px;\n// margin-right: 0;\n// }\n// }\n// ```\n//\n// You can also pass an optional 4th `$root-selector` argument which will be forwarded to `mdc-rtl`,\n// e.g. `@include rtl-reflexive-box(margin, left, 8px, \".mdc-component\")`.\n//\n// Note that this function will always zero out the original value in an RTL context.\n// If you're trying to flip the values, use `mdc-rtl-reflexive-property()` instead.\n@mixin reflexive-box($base-property, $default-direction, $value, $root-selector: null) {\n @if (list.index((right, left), $default-direction) == null) {\n @error \"Invalid default direction: '#{$default-direction}'. Please specifiy either 'right' or 'left'.\";\n }\n\n $left-value: $value;\n $right-value: 0;\n\n @if ($default-direction == right) {\n $left-value: 0;\n $right-value: $value;\n }\n\n @include reflexive-property($base-property, $left-value, $right-value, $root-selector);\n}\n\n// Takes a base property and emits rules that assign -left to and\n// -right to in a LTR context, and vice versa in a RTL context.\n// For example:\n//\n// ```scss\n// .mdc-foo {\n// @include rtl-reflexive-property(margin, auto, 12px);\n// }\n// ```\n//\n// is equivalent to:\n//\n// ```scss\n// .mdc-foo {\n// margin-left: auto;\n// margin-right: 12px;\n//\n// @include rtl {\n// margin-left: 12px;\n// margin-right: auto;\n// }\n// }\n// ```\n//\n// An optional 4th `$root-selector` argument can be given, which will be passed to `mdc-rtl`.\n@mixin reflexive-property($base-property, $left-value, $right-value, $root-selector: null) {\n $prop-left: #{$base-property}-left;\n $prop-right: #{$base-property}-right;\n\n @include reflexive($prop-left, $left-value, $prop-right, $right-value, $root-selector);\n}\n\n// Takes an argument specifying a horizontal position property (either \"left\" or \"right\") as well\n// as a value, and applies that value to the specified position in a LTR context, and flips it in a\n// RTL context. For example:\n//\n// ```scss\n// .mdc-foo {\n// @include rtl-reflexive-position(left, 0);\n// }\n// ```\n//\n// is equivalent to:\n//\n// ```scss\n// .mdc-foo {\n// left: 0;\n// right: initial;\n//\n// @include rtl {\n// left: initial;\n// right: 0;\n// }\n// }\n// ```\n//\n// An optional third $root-selector argument may also be given, which is passed to `mdc-rtl`.\n@mixin reflexive-position($position-property, $value, $root-selector: null) {\n @if (list.index((right, left), $position-property) == null) {\n @error \"Invalid position #{position-property}. Please specifiy either right or left\";\n }\n\n // TODO: \"initial\" is not supported in IE 11. https://caniuse.com/#feat=css-initial-value\n $left-value: $value;\n $right-value: initial;\n\n @if ($position-property == right) {\n $right-value: $value;\n $left-value: initial;\n }\n\n @include reflexive(left, $left-value, right, $right-value, $root-selector);\n}\n\n// Takes pair of properties with values as arguments and flips it in RTL context.\n// For example:\n//\n// ```scss\n// .mdc-foo {\n// @include rtl-reflexive(left, 2px, right, 5px);\n// }\n// ```\n//\n// is equivalent to:\n//\n// ```scss\n// .mdc-foo {\n// left: 2px;\n// right: 5px;\n//\n// @include rtl {\n// right: 2px;\n// left: 5px;\n// }\n// }\n// ```\n//\n// An optional fifth `$root-selector` argument may also be given, which is passed to `mdc-rtl`.\n@mixin reflexive(\n $left-property,\n $left-value,\n $right-property,\n $right-value,\n $root-selector: null\n) {\n @include property_($left-property, $left-value);\n @include property_($right-property, $right-value);\n\n @include rtl($root-selector) {\n @include property_($left-property, $right-value);\n @include property_($right-property, $left-value);\n }\n}\n\n///\n/// Adds `@noflip` annotation when `$mdc-rtl-include` is true.\n///\n/// @param {String} $property\n/// @param {String} $value\n/// @access private\n///\n@mixin property_($property, $value) {\n @if variables.$include {\n /* @noflip */\n }\n\n #{$property}: #{$value};\n}\n","//\n// Copyright 2019 Google Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n//\n\n$height: 48px !default;\n$width: $height !default;\n","//\n// Copyright 2017 Google Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n//\n\n@use \"@material/density/variables\" as density-variables;\n@use \"@material/theme/variables\" as theme-variables; // for mdc-theme-prop-value\n\n$height: 36px !default;\n$horizontal-padding: 8px !default;\n$contained-horizontal-padding: 16px !default;\n\n$minimum-height: 24px !default;\n$maximum-height: $height !default;\n$density-scale: density-variables.$default-scale !default;\n$density-config: (\n height: (\n default: $height,\n maximum: $maximum-height,\n minimum: $minimum-height,\n ),\n) !default;\n\n$outlined-border-width: 1px !default;\n$outline-color: rgba(theme-variables.prop-value(on-surface), .12) !default;\n$shape-radius: small !default;\n\n$disabled-container-color: rgba(theme-variables.prop-value(on-surface), .12) !default;\n$disabled-ink-color: rgba(theme-variables.prop-value(on-surface), .38) !default;\n","//\n// Copyright 2017 Google Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n//\n\n// MDC Ripple keyframes are split into their own file so that _mixins.scss can rely on them.\n\n@use \"@material/animation/variables\";\n@use \"./variables\" as variables2;\n\n@mixin keyframes_ {\n @keyframes mdc-ripple-fg-radius-in {\n from {\n animation-timing-function: variables.$standard-curve-timing-function;\n // NOTE: For these keyframes, we do not need custom property fallbacks because they are only\n // used in conjunction with `.mdc-ripple-upgraded`. Since MDCRippleFoundation checks to ensure\n // that custom properties are supported within the browser before adding this class, we can\n // safely use them without a fallback.\n transform: translate(var(--mdc-ripple-fg-translate-start, 0)) scale(1);\n }\n\n to {\n transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1));\n }\n }\n\n @keyframes mdc-ripple-fg-opacity-in {\n from {\n animation-timing-function: linear;\n opacity: 0;\n }\n\n to {\n opacity: var(--mdc-ripple-fg-opacity, 0);\n }\n }\n\n @keyframes mdc-ripple-fg-opacity-out {\n from {\n animation-timing-function: linear;\n opacity: var(--mdc-ripple-fg-opacity, 0);\n }\n\n to {\n opacity: 0;\n }\n }\n}\n","//\n// Copyright 2017 Google Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n//\n\n$deceleration-curve-timing-function: cubic-bezier(0, 0, .2, 1) !default;\n$standard-curve-timing-function: cubic-bezier(.4, 0, .2, 1) !default;\n$acceleration-curve-timing-function: cubic-bezier(.4, 0, 1, 1) !default;\n$sharp-curve-timing-function: cubic-bezier(.4, 0, .6, 1) !default;\n","//\n// Copyright 2016 Google Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n//\n\n@use \"sass:color\";\n@use \"sass:map\";\n@use \"@material/animation/functions\" as functions2;\n@use \"@material/animation/variables\" as variables2;\n@use \"@material/base/mixins\" as base-mixins;\n@use \"@material/feature-targeting/functions\" as feature-targeting-functions;\n@use \"@material/feature-targeting/mixins\" as feature-targeting-mixins;\n@use \"@material/theme/mixins\" as theme-mixins;\n@use \"./functions\";\n@use \"./keyframes\";\n@use \"./variables\";\n@use \"@material/theme/variables\" as theme-variables;\n\n@mixin core-styles($query: feature-targeting-functions.all()) {\n // postcss-bem-linter: define ripple-surface\n\n $feat-structure: feature-targeting-functions.create-target($query, structure);\n\n .mdc-ripple-surface {\n @include surface($query: $query);\n @include states($query: $query);\n @include radius-bounded($query: $query);\n\n @include feature-targeting-mixins.targets($feat-structure) {\n position: relative;\n outline: none;\n overflow: hidden;\n }\n\n &[data-mdc-ripple-is-unbounded] {\n @include radius-unbounded($query: $query);\n\n @include feature-targeting-mixins.targets($feat-structure) {\n overflow: visible;\n }\n }\n\n &--primary {\n @include states(primary, $query: $query);\n }\n\n &--accent {\n @include states(secondary, $query: $query);\n }\n }\n\n // postcss-bem-linter: end\n}\n\n@mixin common($query: feature-targeting-functions.all()) {\n $feat-animation: feature-targeting-functions.create-target($query, animation);\n\n // Ensure that styles needed by any component using MDC Ripple are emitted, but only once.\n // (Every component using MDC Ripple imports these mixins, but doesn't necessarily import\n // mdc-ripple.scss.)\n @include feature-targeting-mixins.targets($feat-animation) {\n @include base-mixins.emit-once(\"mdc-ripple/common/animation\") {\n @include keyframes.keyframes_;\n }\n }\n}\n\n@mixin surface($query: feature-targeting-functions.all(), $ripple-target: \"&\") {\n $feat-animation: feature-targeting-functions.create-target($query, animation);\n $feat-structure: feature-targeting-functions.create-target($query, structure);\n\n @include feature-targeting-mixins.targets($feat-structure) {\n --mdc-ripple-fg-size: 0;\n --mdc-ripple-left: 0;\n --mdc-ripple-top: 0;\n --mdc-ripple-fg-scale: 1;\n --mdc-ripple-fg-translate-end: 0;\n --mdc-ripple-fg-translate-start: 0;\n\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n // !!DO NOT REMOVE!! mdc-ripple-will-change-replacer\n }\n\n #{$ripple-target}::before,\n #{$ripple-target}::after {\n @include feature-targeting-mixins.targets($feat-structure) {\n position: absolute;\n border-radius: 50%;\n opacity: 0;\n pointer-events: none;\n content: \"\";\n }\n }\n\n #{$ripple-target}::before {\n @include feature-targeting-mixins.targets($feat-animation) {\n // Also transition background-color to avoid unnatural color flashes when toggling activated/selected state\n transition:\n opacity variables.$states-wash-duration linear,\n background-color variables.$states-wash-duration linear;\n }\n\n @include feature-targeting-mixins.targets($feat-structure) {\n z-index: 1; // Ensure that the ripple wash for hover/focus states is displayed on top of positioned child elements\n }\n }\n\n // Common styles for upgraded surfaces (some of these depend on custom properties set via JS or other mixins)\n\n &.mdc-ripple-upgraded {\n #{$ripple-target}::before {\n @include feature-targeting-mixins.targets($feat-structure) {\n transform: scale(var(--mdc-ripple-fg-scale, 1));\n }\n }\n\n #{$ripple-target}::after {\n @include feature-targeting-mixins.targets($feat-structure) {\n top: 0;\n /* @noflip */\n left: 0;\n transform: scale(0);\n transform-origin: center center;\n }\n }\n }\n\n &.mdc-ripple-upgraded--unbounded {\n #{$ripple-target}::after {\n @include feature-targeting-mixins.targets($feat-structure) {\n top: var(--mdc-ripple-top, 0);\n /* @noflip */\n left: var(--mdc-ripple-left, 0);\n }\n }\n }\n\n &.mdc-ripple-upgraded--foreground-activation {\n #{$ripple-target}::after {\n @include feature-targeting-mixins.targets($feat-animation) {\n animation:\n mdc-ripple-fg-radius-in variables.$translate-duration forwards,\n mdc-ripple-fg-opacity-in variables.$fade-in-duration forwards;\n }\n }\n }\n\n &.mdc-ripple-upgraded--foreground-deactivation {\n #{$ripple-target}::after {\n @include feature-targeting-mixins.targets($feat-animation) {\n animation: mdc-ripple-fg-opacity-out variables.$fade-out-duration;\n }\n\n @include feature-targeting-mixins.targets($feat-structure) {\n // Retain transform from mdc-ripple-fg-radius-in activation\n transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1));\n }\n }\n }\n}\n\n@mixin states-base-color(\n $color, $query: feature-targeting-functions.all(), $ripple-target: \"&\") {\n $feat-color: feature-targeting-functions.create-target($query, color);\n\n #{$ripple-target}::before,\n #{$ripple-target}::after {\n @include feature-targeting-mixins.targets($feat-color) {\n @if color.alpha(theme-variables.prop-value($color)) > 0 {\n @include theme-mixins.prop(background-color, $color);\n } @else {\n // If a color with 0 alpha is specified, don't render the ripple pseudo-elements at all.\n // This avoids unnecessary transitions and overflow.\n content: none;\n }\n }\n }\n}\n\n///\n/// Customizes ripple opacities in `hover`, `focus`, or `press` states\n/// @param {map} $opacity-map - map specifying custom opacity of zero or more states\n/// @param {bool} $has-nested-focusable-element - whether the component contains a focusable element in the root\n///\n@mixin states-opacities($opacity-map: (), $has-nested-focusable-element: false, $query: feature-targeting-functions.all()) {\n // Ensure sufficient specificity to override base state opacities\n @if map.has-key($opacity-map, hover) {\n @include states-hover-opacity(map.get($opacity-map, hover), $query: $query);\n }\n\n @if map.has-key($opacity-map, focus) {\n @include states-focus-opacity(map.get($opacity-map, focus), $has-nested-focusable-element, $query: $query);\n }\n\n @if map.has-key($opacity-map, press) {\n @include states-press-opacity(map.get($opacity-map, press), $query: $query);\n }\n}\n\n@mixin states-hover-opacity(\n $opacity, $query: feature-targeting-functions.all(), $ripple-target: \"&\") {\n $feat-color: feature-targeting-functions.create-target($query, color);\n\n // Background wash styles, for both CSS-only and upgraded stateful surfaces\n &:hover {\n #{$ripple-target}::before {\n // Opacity falls under color because the chosen opacity is color-dependent in typical usage\n @include feature-targeting-mixins.targets($feat-color) {\n opacity: $opacity;\n }\n }\n }\n}\n\n@mixin states-focus-opacity(\n $opacity,\n $has-nested-focusable-element: false,\n $query: feature-targeting-functions.all(),\n $ripple-target: \"&\") {\n\n // Focus overrides hover by reusing the ::before pseudo-element.\n // :focus-within generally works on non-MS browsers and matches when a *child* of the element has focus.\n // It is useful for cases where a component has a focusable element within the root node, e.g. text field,\n // but undesirable in general in case of nested stateful components.\n // We use a modifier class for JS-enabled surfaces to support all use cases in all browsers.\n @if $has-nested-focusable-element {\n // JS-enabled selectors.\n &.mdc-ripple-upgraded--background-focused,\n &.mdc-ripple-upgraded:focus-within,\n // CSS-only selectors.\n &:not(.mdc-ripple-upgraded):focus,\n &:not(.mdc-ripple-upgraded):focus-within {\n #{$ripple-target}::before {\n @include states-focus-opacity-properties_(\n $opacity: $opacity, $query: $query);\n }\n }\n } @else {\n // JS-enabled selectors.\n &.mdc-ripple-upgraded--background-focused,\n // CSS-only selectors.\n &:not(.mdc-ripple-upgraded):focus {\n #{$ripple-target}::before {\n @include states-focus-opacity-properties_(\n $opacity: $opacity, $query: $query);\n }\n }\n }\n}\n\n@mixin states-focus-opacity-properties_($opacity, $query) {\n $feat-animation: feature-targeting-functions.create-target($query, animation);\n // Opacity falls under color because the chosen opacity is color-dependent in typical usage\n $feat-color: feature-targeting-functions.create-target($query, color);\n\n // Note that this duration is only effective on focus, not blur\n @include feature-targeting-mixins.targets($feat-animation) {\n transition-duration: 75ms;\n }\n\n @include feature-targeting-mixins.targets($feat-color) {\n opacity: $opacity;\n }\n}\n\n@mixin states-press-opacity($opacity, $query: feature-targeting-functions.all(), $ripple-target: \"&\") {\n $feat-animation: feature-targeting-functions.create-target($query, animation);\n $feat-color: feature-targeting-functions.create-target($query, color);\n\n // Styles for non-upgraded (CSS-only) stateful surfaces\n\n &:not(.mdc-ripple-upgraded) {\n // Apply press additively by using the ::after pseudo-element\n #{$ripple-target}::after {\n @include feature-targeting-mixins.targets($feat-animation) {\n transition: opacity variables.$fade-out-duration linear;\n }\n }\n\n &:active {\n #{$ripple-target}::after {\n @include feature-targeting-mixins.targets($feat-animation) {\n transition-duration: variables.$fade-in-duration;\n }\n\n // Opacity falls under color because the chosen opacity is color-dependent in typical usage\n @include feature-targeting-mixins.targets($feat-color) {\n opacity: $opacity;\n }\n }\n }\n }\n\n &.mdc-ripple-upgraded {\n @include feature-targeting-mixins.targets($feat-color) {\n --mdc-ripple-fg-opacity: #{$opacity};\n }\n }\n}\n\n// Simple mixin for base states which automatically selects opacity values based on whether the ink color is\n// light or dark.\n@mixin states(\n $color: theme-variables.prop-value(on-surface),\n $has-nested-focusable-element: false,\n $query: feature-targeting-functions.all(),\n $ripple-target: \"&\",\n) {\n @include states-interactions_(\n $color: $color,\n $has-nested-focusable-element: $has-nested-focusable-element,\n $query: $query,\n $ripple-target: $ripple-target);\n}\n\n// Simple mixin for activated states which automatically selects opacity values based on whether the ink color is\n// light or dark.\n@mixin states-activated(\n $color, $has-nested-focusable-element: false, $query: feature-targeting-functions.all(), $ripple-target: \"&\") {\n $feat-color: feature-targeting-functions.create-target($query, color);\n $activated-opacity: functions.states-opacity($color, activated);\n\n &--activated {\n // Stylelint seems to think that '&' qualifies as a type selector here?\n // stylelint-disable-next-line selector-max-type\n #{$ripple-target}::before {\n // Opacity falls under color because the chosen opacity is color-dependent.\n @include feature-targeting-mixins.targets($feat-color) {\n opacity: $activated-opacity;\n }\n }\n\n @include states-interactions_(\n $color: $color,\n $has-nested-focusable-element: $has-nested-focusable-element,\n $opacity-modifier: $activated-opacity,\n $query: $query,\n $ripple-target: $ripple-target);\n }\n}\n\n// Simple mixin for selected states which automatically selects opacity values based on whether the ink color is\n// light or dark.\n@mixin states-selected(\n $color,\n $has-nested-focusable-element: false,\n $query: feature-targeting-functions.all(),\n $ripple-target: \"&\") {\n $feat-color: feature-targeting-functions.create-target($query, color);\n $selected-opacity: functions.states-opacity($color, selected);\n\n &--selected {\n // stylelint-disable-next-line selector-max-type\n #{$ripple-target}::before {\n // Opacity falls under color because the chosen opacity is color-dependent.\n @include feature-targeting-mixins.targets($feat-color) {\n opacity: $selected-opacity;\n }\n }\n\n @include states-interactions_(\n $color: $color,\n $has-nested-focusable-element: $has-nested-focusable-element,\n $opacity-modifier: $selected-opacity,\n $query: $query,\n $ripple-target: $ripple-target);\n }\n}\n\n@mixin radius-bounded(\n $radius: 100%, $query: feature-targeting-functions.all(), $ripple-target: \"&\") {\n $feat-struture: feature-targeting-functions.create-target($query, structure);\n\n #{$ripple-target}::before,\n #{$ripple-target}::after {\n @include feature-targeting-mixins.targets($feat-struture) {\n top: calc(50% - #{$radius});\n /* @noflip */\n left: calc(50% - #{$radius});\n width: $radius * 2;\n height: $radius * 2;\n }\n }\n\n &.mdc-ripple-upgraded {\n #{$ripple-target}::after {\n @include feature-targeting-mixins.targets($feat-struture) {\n width: var(--mdc-ripple-fg-size, $radius);\n height: var(--mdc-ripple-fg-size, $radius);\n }\n }\n }\n}\n\n@mixin radius-unbounded(\n $radius: 100%, $query: feature-targeting-functions.all(), $ripple-target: \"&\") {\n $feat-struture: feature-targeting-functions.create-target($query, structure);\n\n #{$ripple-target}::before,\n #{$ripple-target}::after {\n @include feature-targeting-mixins.targets($feat-struture) {\n top: calc(50% - #{$radius / 2});\n /* @noflip */\n left: calc(50% - #{$radius / 2});\n width: $radius;\n height: $radius;\n }\n }\n\n &.mdc-ripple-upgraded {\n #{$ripple-target}::before,\n #{$ripple-target}::after {\n @include feature-targeting-mixins.targets($feat-struture) {\n top: var(--mdc-ripple-top, calc(50% - #{$radius / 2}));\n /* @noflip */\n left: var(--mdc-ripple-left, calc(50% - #{$radius / 2}));\n width: var(--mdc-ripple-fg-size, $radius);\n height: var(--mdc-ripple-fg-size, $radius);\n }\n }\n\n #{$ripple-target}::after {\n @include feature-targeting-mixins.targets($feat-struture) {\n width: var(--mdc-ripple-fg-size, $radius);\n height: var(--mdc-ripple-fg-size, $radius);\n }\n }\n }\n}\n\n@mixin states-interactions_(\n $color,\n $has-nested-focusable-element,\n $opacity-modifier: 0,\n $query: feature-targeting-functions.all(),\n $ripple-target: \"&\",\n) {\n @include target-selector($ripple-target) {\n @include states-base-color($color, $query);\n }\n\n @include states-hover-opacity(\n $opacity: functions.states-opacity($color, hover) + $opacity-modifier,\n $query: $query,\n $ripple-target: $ripple-target);\n @include states-focus-opacity(\n $opacity: functions.states-opacity($color, focus) + $opacity-modifier,\n $has-nested-focusable-element: $has-nested-focusable-element,\n $query: $query,\n $ripple-target: $ripple-target,\n );\n @include states-press-opacity(\n $opacity: functions.states-opacity($color, press) + $opacity-modifier,\n $query: $query,\n $ripple-target: $ripple-target);\n}\n\n// Wraps content in the `ripple-target` selector if it exists.\n@mixin target-selector($ripple-target: \"&\") {\n @if $ripple-target == \"&\" {\n @content;\n } @else {\n #{$ripple-target} {\n @content;\n }\n }\n}\n\n// Common styles for a ripple target element.\n// Used for components which have an inner ripple target element.\n@mixin target-common($query: feature-targeting-functions.all()) {\n $feat-structure: feature-targeting-functions.create-target($query, structure);\n\n @include feature-targeting-mixins.targets($feat-structure) {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n // Necessary for clicks on other inner elements (e.g. close icon in chip)\n // to go through.\n pointer-events: none;\n }\n}\n","//\n// Copyright 2016 Google Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n//\n\n$fade-in-duration: 75ms !default;\n$fade-out-duration: 150ms !default;\n$translate-duration: 225ms !default;\n$states-wash-duration: 15ms !default;\n\n// Notes on states:\n// * focus takes precedence over hover (i.e. if an element is both focused and hovered, only focus value applies)\n// * press state applies to a separate pseudo-element, so it has an additive effect on top of other states\n// * selected/activated are applied additively to hover/focus via calculations at preprocessing time\n\n$dark-ink-opacities: (\n hover: .04,\n focus: .12,\n press: .12,\n selected: .08,\n activated: .12\n) !default;\n\n$light-ink-opacities: (\n hover: .08,\n focus: .24,\n press: .24,\n selected: .16,\n activated: .24\n) !default;\n\n// Legacy\n\n$pressed-dark-ink-opacity: .16 !default;\n$pressed-light-ink-opacity: .32 !default;\n","//\n// Copyright 2017 Google Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n//\n\n@use \"sass:math\";\n@use \"@material/elevation/mixins\" as elevation-mixins;\n@use \"@material/feature-targeting/functions\";\n@use \"@material/feature-targeting/mixins\" as feature-targeting-mixins;\n@use \"@material/ripple/mixins\" as ripple-mixins;\n@use \"@material/rtl/mixins\" as rtl-mixins;\n@use \"@material/shape/mixins\" as shape-mixins;\n@use \"@material/theme/mixins\" as theme-mixins;\n@use \"./variables\";\n@use \"@material/theme/variables\" as theme-variables;\n\n//\n// Public\n//\n\n@mixin core-styles($query: functions.all()) {\n @include without-ripple($query);\n @include ripple($query);\n}\n\n// This API is intended for use by frameworks that may want to separate the ripple-related styles from the other\n// card styles. It is recommended that most users use `mdc-card-core-styles` instead.\n@mixin without-ripple($query: functions.all()) {\n // postcss-bem-linter: define card\n\n $feat-color: functions.create-target($query, color);\n $feat-structure: functions.create-target($query, structure);\n\n @include elevation-mixins.overlay-common($query); // COPYBARA_COMMENT_THIS_LINE\n\n .mdc-card {\n @include shape-radius(medium, $query: $query);\n @include fill-color(surface, $query);\n @include elevation-mixins.overlay-surface-position($query: $query);\n @include elevation-mixins.overlay-dimensions(100%, $query: $query);\n @include elevation-mixins.elevation(1, $query: $query);\n\n @include feature-targeting-mixins.targets($feat-structure) {\n @include container-layout_;\n }\n }\n\n .mdc-card--outlined {\n @include elevation-mixins.elevation(0, $query: $query);\n @include outline(variables.$outline-color, $query: $query);\n }\n\n //\n // Media\n //\n\n .mdc-card__media {\n @include feature-targeting-mixins.targets($feat-structure) {\n position: relative; // Child element `__media-content` has `position: absolute`\n box-sizing: border-box;\n background-repeat: no-repeat;\n background-position: center;\n background-size: cover;\n }\n\n &::before {\n @include feature-targeting-mixins.targets($feat-structure) {\n display: block;\n content: \"\";\n }\n }\n }\n\n .mdc-card__media:first-child {\n @include feature-targeting-mixins.targets($feat-structure) {\n border-top-left-radius: inherit;\n border-top-right-radius: inherit;\n }\n }\n\n .mdc-card__media:last-child {\n @include feature-targeting-mixins.targets($feat-structure) {\n border-bottom-left-radius: inherit;\n border-bottom-right-radius: inherit;\n }\n }\n\n .mdc-card__media--square {\n @include media-aspect-ratio(1, 1, $query);\n }\n\n .mdc-card__media--16-9 {\n @include media-aspect-ratio(16, 9, $query);\n }\n\n .mdc-card__media-content {\n @include feature-targeting-mixins.targets($feat-structure) {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n box-sizing: border-box;\n }\n }\n\n //\n // Primary action\n //\n\n .mdc-card__primary-action {\n @include feature-targeting-mixins.targets($feat-structure) {\n @include container-layout_;\n\n position: relative; // Needed to prevent the ripple wash from overflowing the container in IE and Edge\n outline: none;\n color: inherit;\n text-decoration: none;\n cursor: pointer;\n overflow: hidden;\n }\n }\n\n .mdc-card__primary-action:first-child {\n @include feature-targeting-mixins.targets($feat-structure) {\n border-top-left-radius: inherit;\n border-top-right-radius: inherit;\n }\n }\n\n .mdc-card__primary-action:last-child {\n @include feature-targeting-mixins.targets($feat-structure) {\n border-bottom-left-radius: inherit;\n border-bottom-right-radius: inherit;\n }\n }\n\n //\n // Action row\n //\n\n .mdc-card__actions {\n @include feature-targeting-mixins.targets($feat-structure) {\n @include actions-layout_;\n\n min-height: 52px;\n padding: 8px;\n }\n }\n\n .mdc-card__actions--full-bleed {\n @include feature-targeting-mixins.targets($feat-structure) {\n padding: 0;\n }\n }\n\n .mdc-card__action-buttons,\n .mdc-card__action-icons {\n @include feature-targeting-mixins.targets($feat-structure) {\n @include actions-layout_;\n }\n }\n\n .mdc-card__action-icons {\n @include feature-targeting-mixins.targets($feat-color) {\n @include theme-mixins.prop(color, variables.$action-icon-color);\n }\n\n @include feature-targeting-mixins.targets($feat-structure) {\n flex-grow: 1;\n justify-content: flex-end;\n }\n }\n\n .mdc-card__action-buttons + .mdc-card__action-icons {\n @include feature-targeting-mixins.targets($feat-structure) {\n @include rtl-mixins.reflexive-box(margin, left, 16px);\n }\n }\n\n //\n // Action items\n //\n\n .mdc-card__action {\n @include feature-targeting-mixins.targets($feat-structure) {\n @include actions-layout_(inline-flex);\n\n justify-content: center;\n cursor: pointer;\n user-select: none;\n }\n\n &:focus {\n @include feature-targeting-mixins.targets($feat-structure) {\n outline: none;\n }\n }\n }\n\n //\n // Action buttons\n //\n\n .mdc-card__action--button {\n @include feature-targeting-mixins.targets($feat-structure) {\n @include rtl-mixins.reflexive-box(margin, right, 8px);\n\n padding: 0 8px;\n }\n\n &:last-child {\n @include feature-targeting-mixins.targets($feat-structure) {\n @include rtl-mixins.reflexive-box(margin, right, 0);\n }\n }\n }\n\n .mdc-card__actions--full-bleed .mdc-card__action--button {\n @include feature-targeting-mixins.targets($feat-structure) {\n justify-content: space-between;\n width: 100%;\n height: auto;\n max-height: none;\n margin: 0;\n padding: 8px 16px;\n /* @noflip */\n text-align: left;\n }\n\n @include rtl-mixins.rtl {\n @include feature-targeting-mixins.targets($feat-structure) {\n /* @noflip */\n text-align: right;\n }\n }\n }\n\n //\n // Action icons\n //\n\n .mdc-card__action--icon {\n @include feature-targeting-mixins.targets($feat-structure) {\n // Icon buttons are taller than buttons, so we need to adjust their margins to prevent the action row from\n // expanding.\n margin: -6px 0;\n\n // Same padding as mdc-icon-button.\n padding: 12px;\n }\n }\n\n .mdc-card__action--icon:not(:disabled) {\n @include feature-targeting-mixins.targets($feat-color) {\n @include theme-mixins.prop(color, variables.$action-icon-color);\n }\n }\n\n // postcss-bem-linter: end\n}\n\n// This API is intended for use by frameworks that may want to separate the ripple-related styles from the other\n// card styles. It is recommended that most users use `mdc-card-core-styles` instead.\n@mixin ripple($query: functions.all()) {\n @include ripple-mixins.common($query); // COPYBARA_COMMENT_THIS_LINE\n\n .mdc-card__primary-action {\n @include ripple-mixins.surface($query);\n @include ripple-mixins.radius-bounded($query: $query);\n @include ripple-mixins.states($query: $query);\n }\n}\n\n@mixin fill-color($color, $query: functions.all()) {\n $feat-color: functions.create-target($query, color);\n\n @include feature-targeting-mixins.targets($feat-color) {\n @include theme-mixins.prop(background-color, $color);\n }\n}\n\n@mixin outline($color, $thickness: variables.$outline-width, $query: functions.all()) {\n $feat-color: functions.create-target($query, color);\n $feat-structure: functions.create-target($query, structure);\n\n @include feature-targeting-mixins.targets($feat-structure) {\n border-width: $thickness;\n border-style: solid;\n }\n\n @include feature-targeting-mixins.targets($feat-color) {\n border-color: theme-variables.prop-value($color);\n }\n}\n\n@mixin shape-radius($radius, $rtl-reflexive: false, $query: functions.all()) {\n @include shape-mixins.radius($radius, $rtl-reflexive, $query: $query);\n}\n\n@mixin media-aspect-ratio($x, $y, $query: functions.all()) {\n $feat-structure: functions.create-target($query, structure);\n\n &::before {\n @include feature-targeting-mixins.targets($feat-structure) {\n // This clever trick brought to you by: http://www.mademyday.de/css-height-equals-width-with-pure-css.html\n margin-top: math.percentage($y / $x);\n }\n }\n}\n\n//\n// Private\n//\n\n@mixin container-layout_ {\n display: flex;\n flex-direction: column;\n box-sizing: border-box;\n}\n\n@mixin actions-layout_($display: flex) {\n display: $display;\n flex-direction: row;\n align-items: center;\n box-sizing: border-box;\n}\n","//\n// Copyright 2018 Google Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n//\n\n@use \"sass:color\";\n@use \"@material/theme/mixins\";\n@use \"@material/theme/variables\";\n\n$action-icon-color: rgba(variables.prop-value(on-surface), variables.text-emphasis(medium)) !default;\n$outline-color: color.mix(variables.prop-value(on-surface), variables.prop-value(surface), 12%) !default;\n$outline-width: 1px !default;\n","//\n// Copyright 2017 Google Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n//\n\n@use \"@material/animation/variables\" as animation-variables;\n@use \"@material/theme/mixins\";\n@use \"./variables\";\n\n@mixin container-keyframes_(\n $from-stroke-color,\n $to-stroke-color,\n $from-fill-color,\n $to-fill-color,\n $uid) {\n @keyframes mdc-checkbox-fade-in-background-#{$uid} {\n 0% {\n @include mixins.prop(border-color, $from-stroke-color);\n @include mixins.prop(background-color, $from-fill-color);\n }\n\n 50% {\n @include mixins.prop(border-color, $to-stroke-color);\n @include mixins.prop(background-color, $to-fill-color);\n }\n }\n\n @keyframes mdc-checkbox-fade-out-background-#{$uid} {\n 0%,\n 80% {\n @include mixins.prop(border-color, $to-stroke-color);\n @include mixins.prop(background-color, $to-fill-color);\n }\n\n 100% {\n @include mixins.prop(border-color, $from-stroke-color);\n @include mixins.prop(background-color, $from-fill-color);\n }\n }\n}\n\n@mixin mark-keyframes_ {\n @keyframes mdc-checkbox-unchecked-checked-checkmark-path {\n 0%,\n 50% {\n stroke-dashoffset: variables.$mark-path-length_;\n }\n\n 50% {\n animation-timing-function: animation-variables.$deceleration-curve-timing-function;\n }\n\n 100% {\n stroke-dashoffset: 0;\n }\n }\n\n @keyframes mdc-checkbox-unchecked-indeterminate-mixedmark {\n 0%,\n 68.2% {\n transform: scaleX(0);\n }\n\n 68.2% {\n animation-timing-function: cubic-bezier(0, 0, 0, 1);\n }\n\n 100% {\n transform: scaleX(1);\n }\n }\n\n @keyframes mdc-checkbox-checked-unchecked-checkmark-path {\n from {\n animation-timing-function: animation-variables.$acceleration-curve-timing-function;\n opacity: 1;\n stroke-dashoffset: 0;\n }\n\n to {\n opacity: 0;\n stroke-dashoffset: variables.$mark-path-length_ * -1;\n }\n }\n\n @keyframes mdc-checkbox-checked-indeterminate-checkmark {\n from {\n animation-timing-function: animation-variables.$deceleration-curve-timing-function;\n transform: rotate(0deg);\n opacity: 1;\n }\n\n to {\n transform: rotate(45deg);\n opacity: 0;\n }\n }\n\n @keyframes mdc-checkbox-indeterminate-checked-checkmark {\n from {\n animation-timing-function: variables.$indeterminate-checked-easing-function_;\n transform: rotate(45deg);\n opacity: 0;\n }\n\n to {\n transform: rotate(360deg);\n opacity: 1;\n }\n }\n\n @keyframes mdc-checkbox-checked-indeterminate-mixedmark {\n from {\n animation-timing-function: mdc-animation-deceleration-curve-timing-function;\n transform: rotate(-45deg);\n opacity: 0;\n }\n\n to {\n transform: rotate(0deg);\n opacity: 1;\n }\n }\n\n @keyframes mdc-checkbox-indeterminate-checked-mixedmark {\n from {\n animation-timing-function: variables.$indeterminate-checked-easing-function_;\n transform: rotate(0deg);\n opacity: 1;\n }\n\n to {\n transform: rotate(315deg);\n opacity: 0;\n }\n }\n\n @keyframes mdc-checkbox-indeterminate-unchecked-mixedmark {\n 0% {\n animation-timing-function: linear;\n transform: scaleX(1);\n opacity: 1;\n }\n\n 32.8%,\n 100% {\n transform: scaleX(0);\n opacity: 0;\n }\n }\n}\n","//\n// Copyright 2017 Google Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n//\n\n@use \"sass:map\";\n@use \"@material/ripple/variables\" as ripple-variables;\n@use \"@material/theme/variables\" as theme-variables;\n@use \"@material/density/variables\" as density-variables;\n\n$mark-color: theme-variables.prop-value(on-primary) !default;\n$border-color: rgba(theme-variables.prop-value(on-surface), .54) !default;\n$disabled-color: rgba(theme-variables.prop-value(on-surface), .38) !default;\n$baseline-theme-color: secondary !default;\n\n$ripple-size: 40px !default;\n$icon-size: 18px !default;\n$mark-stroke-size: 2 / 15 * $icon-size !default;\n$border-width: 2px !default;\n$transition-duration: 90ms !default;\n$item-spacing: 4px !default;\n$focus-indicator-opacity: map.get(ripple-variables.$dark-ink-opacities, focus) !default;\n\n$minimum-size: 28px !default;\n$maximum-size: $ripple-size !default;\n$density-scale: density-variables.$default-scale !default;\n$density-config: (\n size: (\n minimum: $minimum-size,\n default: $ripple-size,\n maximum: $maximum-size,\n ),\n) !default;\n\n// Manual calculation done on SVG\n$mark-path-length_: 29.7833385 !default;\n$indeterminate-checked-easing-function_: cubic-bezier(.14, 0, 0, 1) !default;\n","//\n// Copyright 2016 Google Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n//\n\n@use \"sass:math\";\n@use \"@material/animation/functions\" as functions2;\n@use \"@material/density/functions\" as density-functions;\n@use \"@material/feature-targeting/functions\" as feature-targeting-functions;\n@use \"@material/feature-targeting/mixins\" as feature-targeting-mixins;\n@use \"@material/ripple/mixins\" as ripple-mixins;\n@use \"@material/touch-target/mixins\" as touch-target-mixins;\n@use \"@material/theme/functions\" as theme-functions;\n@use \"./functions\";\n@use \"./keyframes\";\n@use \"./variables\";\n@use \"@material/theme/mixins\" as theme-mixins;\n@use \"@material/touch-target/variables\" as touch-target-variables;\n\n//\n// Public\n//\n\n$ripple-target: \".mdc-checkbox__ripple\";\n\n///\n/// Checkbox core styles.\n///\n@mixin core-styles($query: feature-targeting-functions.all()) {\n @include without-ripple($query);\n @include ripple($query);\n}\n\n// This API is intended for use by frameworks that may want to separate the ripple-related styles from the other\n// checkbox styles. It is recommended that most users use `mdc-checkbox-core-styles` instead.\n@mixin without-ripple($query: feature-targeting-functions.all()) {\n // postcss-bem-linter: define checkbox\n\n $feat-animation: feature-targeting-functions.create-target($query, animation);\n $feat-color: feature-targeting-functions.create-target($query, color);\n $feat-structure: feature-targeting-functions.create-target($query, structure);\n\n @include touch-target-mixins.wrapper($query); // COPYBARA_COMMENT_THIS_LINE\n\n @include feature-targeting-mixins.targets($feat-animation) {\n @include keyframes.mark-keyframes_;\n }\n\n .mdc-checkbox {\n @include feature-targeting-mixins.targets($feat-structure) {\n @include base_;\n }\n\n @include focus-indicator-color(variables.$baseline-theme-color, $query: $query);\n @include density(variables.$density-scale, $query: $query);\n }\n\n @include container-colors($query: $query);\n @include disabled-container-colors($query: $query);\n @include ink-color(variables.$mark-color, $query: $query);\n @include disabled-ink-color(variables.$mark-color, $query: $query);\n\n @media screen and (-ms-high-contrast: active) {\n @include disabled-container-colors(\n $unmarked-stroke-color: GrayText,\n $unmarked-fill-color: transparent,\n $marked-stroke-color: GrayText,\n $marked-fill-color: transparent,\n $query: $query\n );\n @include disabled-ink-color(GrayText, $query: $query);\n\n .mdc-checkbox__mixedmark {\n @include feature-targeting-mixins.targets($feat-structure) {\n margin: 0 1px; // Extra horizontal space around mixedmark symbol.\n }\n }\n }\n\n // Needed to disable hover effects on CSS-only (non-JS) checkboxes\n .mdc-checkbox--disabled {\n @include feature-targeting-mixins.targets($feat-structure) {\n @include disabled_;\n }\n }\n\n .mdc-checkbox__background {\n @include background_($query);\n }\n\n .mdc-checkbox__checkmark {\n @include checkmark_($query);\n }\n\n .mdc-checkbox__checkmark-path {\n @include checkmark-path_($query);\n }\n\n .mdc-checkbox__mixedmark {\n @include mixedmark_($query);\n }\n\n // JS checkbox\n .mdc-checkbox--upgraded {\n .mdc-checkbox__background,\n .mdc-checkbox__checkmark,\n .mdc-checkbox__checkmark-path,\n .mdc-checkbox__mixedmark {\n @include feature-targeting-mixins.targets($feat-animation) {\n @include child--upgraded_;\n }\n }\n }\n\n .mdc-checkbox--anim {\n @include feature-targeting-mixins.targets($feat-animation) {\n @include anim_;\n }\n }\n\n .mdc-checkbox__native-control:checked ~ .mdc-checkbox__background,\n .mdc-checkbox__native-control:indeterminate ~ .mdc-checkbox__background {\n @include feature-targeting-mixins.targets($feat-animation) {\n @include background--marked_;\n }\n\n .mdc-checkbox__checkmark-path {\n @include feature-targeting-mixins.targets($feat-structure) {\n @include checkmark-path--marked_;\n }\n }\n }\n\n // The frame's ::before element is used as a focus indicator for the checkbox\n .mdc-checkbox__background::before {\n @include focus-indicator_($query);\n }\n\n .mdc-checkbox__native-control:focus ~ .mdc-checkbox__background::before {\n @include focus-indicator--focused_($query);\n }\n\n .mdc-checkbox__native-control {\n @include feature-targeting-mixins.targets($feat-structure) {\n @include native-control_;\n }\n\n &:disabled {\n @include feature-targeting-mixins.targets($feat-structure) {\n @include disabled_;\n }\n }\n }\n\n .mdc-checkbox--touch {\n @include touch-target-mixins.margin(\n $component-height: variables.$ripple-size,\n $component-width: variables.$ripple-size,\n $query: $query);\n @include touch-target(touch-target-variables.$height, $query: $query);\n }\n\n .mdc-checkbox__native-control:checked ~ .mdc-checkbox__background {\n .mdc-checkbox__checkmark {\n @include checkmark--checked_($query);\n }\n\n .mdc-checkbox__mixedmark {\n @include feature-targeting-mixins.targets($feat-structure) {\n @include mixedmark--checked_;\n }\n }\n }\n\n .mdc-checkbox__native-control:indeterminate ~ .mdc-checkbox__background {\n .mdc-checkbox__checkmark {\n @include checkmark--indeterminate_($query);\n }\n\n .mdc-checkbox__mixedmark {\n @include feature-targeting-mixins.targets($feat-structure) {\n @include mixedmark--indeterminate_;\n }\n }\n }\n\n // postcss-bem-linter: end\n}\n\n// This API is intended for use by frameworks that may want to separate the ripple-related styles from the other\n// checkbox styles. It is recommended that most users use `mdc-checkbox-core-styles` instead.\n@mixin ripple($query: feature-targeting-functions.all()) {\n $feat-structure: feature-targeting-functions.create-target($query, structure);\n\n @include ripple-mixins.common($query); // COPYBARA_COMMENT_THIS_LINE\n\n .mdc-checkbox {\n @include ripple-mixins.surface($query: $query, $ripple-target: $ripple-target);\n @include ripple-mixins.states($color: on-surface, $query: $query, $ripple-target: $ripple-target);\n @include ripple-mixins.radius-unbounded($query: $query, $ripple-target: $ripple-target);\n }\n\n #{$ripple-target} {\n @include ripple-mixins.target-common($query: $query);\n }\n\n .mdc-ripple-upgraded--background-focused .mdc-checkbox__background::before {\n @include feature-targeting-mixins.targets($feat-structure) {\n content: none;\n }\n }\n}\n\n///\n/// Sets density scale for checkbox.\n///\n/// @param {Number | String} $density-scale - Density scale value for component. Supported density scale values\n/// `-3`, `-2`, `-1`, `0`.\n///\n@mixin density($density-scale, $query: feature-targeting-functions.all()) {\n $size: density-functions.prop-value(\n $density-config: variables.$density-config,\n $density-scale: $density-scale,\n $property-name: size,\n );\n\n @include ripple-size($size, $query: $query);\n\n @if $density-scale != 0 {\n @include touch-target-reset_($query: $query);\n }\n}\n\n@mixin ripple-size($ripple-size, $query: feature-targeting-functions.all()) {\n $feat-structure: feature-targeting-functions.create-target($query, structure);\n $checkbox-padding: ($ripple-size - variables.$icon-size) / 2;\n\n @include feature-targeting-mixins.targets($feat-structure) {\n padding: $checkbox-padding;\n }\n\n .mdc-checkbox__background {\n @include feature-targeting-mixins.targets($feat-structure) {\n top: $checkbox-padding;\n left: $checkbox-padding;\n }\n }\n\n .mdc-checkbox__background::before {\n @include feature-targeting-mixins.targets($feat-structure) {\n top: -(variables.$border-width) - $checkbox-padding;\n left: -(variables.$border-width) - $checkbox-padding;\n width: $ripple-size;\n height: $ripple-size;\n }\n }\n\n @include touch-target($ripple-size, $ripple-size: $ripple-size, $query: $query);\n}\n\n///\n/// Sets stroke & fill colors for both marked and unmarked state of enabled checkbox.\n/// Set $generate-keyframes to false to prevent the mixin from generating @keyframes\n/// @param {Color} $unmarked-stroke-color - The desired stroke color for the unmarked state\n/// @param {Color} $unmarked-fill-color - The desired fill color for the unmarked state\n/// @param {Color} $marked-stroke-color - The desired stroke color for the marked state\n/// @param {Color} $marked-fill-color - The desired fill color for the marked state\n/// @param {Boolean} $generate-keyframes [true] - Whether animation keyframes should be generated\n///\n@mixin container-colors(\n $unmarked-stroke-color: variables.$border-color,\n $unmarked-fill-color: transparent,\n $marked-stroke-color: variables.$baseline-theme-color,\n $marked-fill-color: variables.$baseline-theme-color,\n $generate-keyframes: true,\n $query: feature-targeting-functions.all()\n) {\n $feat-animation: feature-targeting-functions.create-target($query, animation);\n $feat-color: feature-targeting-functions.create-target($query, color);\n\n @include if-unmarked-enabled_ {\n @include container-colors_($unmarked-stroke-color, $unmarked-fill-color, $query: $query);\n }\n\n @include if-marked-enabled_ {\n @include container-colors_($marked-stroke-color, $marked-fill-color, $query: $query);\n }\n\n @if $generate-keyframes {\n $uid: theme-functions.color-hash($unmarked-stroke-color) +\n theme-functions.color-hash($marked-stroke-color) +\n theme-functions.color-hash($unmarked-fill-color) +\n theme-functions.color-hash($marked-fill-color);\n\n $anim-selector: if(&, \"&.mdc-checkbox--anim\", \".mdc-checkbox--anim\");\n\n @include feature-targeting-mixins.targets($feat-animation, $feat-color) {\n @include keyframes.container-keyframes_(\n $from-stroke-color: $unmarked-stroke-color,\n $to-stroke-color: $marked-stroke-color,\n $from-fill-color: $unmarked-fill-color,\n $to-fill-color: $marked-fill-color,\n $uid: #{$uid}\n );\n }\n\n // stylelint-disable max-nesting-depth\n\n #{$anim-selector} {\n &-unchecked-checked,\n &-unchecked-indeterminate {\n .mdc-checkbox__native-control:enabled ~ .mdc-checkbox__background {\n @include feature-targeting-mixins.targets($feat-animation) {\n animation-name: mdc-checkbox-fade-in-background-#{$uid};\n }\n }\n }\n\n &-checked-unchecked,\n &-indeterminate-unchecked {\n .mdc-checkbox__native-control:enabled ~ .mdc-checkbox__background {\n @include feature-targeting-mixins.targets($feat-animation) {\n animation-name: mdc-checkbox-fade-out-background-#{$uid};\n }\n }\n }\n }\n\n // stylelint-enable max-nesting-depth\n }\n}\n\n///\n/// Sets stroke & fill colors for both marked and unmarked state of disabled checkbox.\n/// @param {Color} $unmarked-stroke-color - The desired stroke color for the unmarked state\n/// @param {Color} $unmarked-fill-color - The desired fill color for the unmarked state\n/// @param {Color} $marked-stroke-color - The desired stroke color for the marked state\n/// @param {Color} $marked-fill-color - The desired fill color for the marked state\n///\n@mixin disabled-container-colors(\n $unmarked-stroke-color: variables.$disabled-color,\n $unmarked-fill-color: transparent,\n $marked-stroke-color: transparent,\n $marked-fill-color: variables.$disabled-color,\n $query: feature-targeting-functions.all()\n) {\n @include if-unmarked-disabled_ {\n @include container-colors_($unmarked-stroke-color, $unmarked-fill-color, $query: $query);\n }\n\n @include if-marked-disabled_ {\n @include container-colors_($marked-stroke-color, $marked-fill-color, $query: $query);\n }\n}\n\n///\n/// Sets the ink color of the checked and indeterminate icons for an enabled checkbox\n/// @param {Color} $color - The desired ink color in enabled state\n///\n@mixin ink-color($color, $query: feature-targeting-functions.all()) {\n @include if-enabled_ {\n @include ink-color_($color, $query: $query);\n }\n}\n\n///\n/// Sets the ink color of the checked and indeterminate icons for a disabled checkbox\n/// @param {Color} $color - The desired ink color in disabled state\n///\n@mixin disabled-ink-color($color, $query: feature-targeting-functions.all()) {\n $feat-color: feature-targeting-functions.create-target($query, color);\n\n @include if-disabled_ {\n @include ink-color_($color, $query: $query);\n }\n}\n\n@mixin focus-indicator-color($color, $query: feature-targeting-functions.all()) {\n $feat-color: feature-targeting-functions.create-target($query, color);\n\n .mdc-checkbox__native-control:checked ~ .mdc-checkbox__background::before,\n .mdc-checkbox__native-control:indeterminate ~ .mdc-checkbox__background::before {\n @include feature-targeting-mixins.targets($feat-color) {\n @include theme-mixins.prop(background-color, $color);\n }\n }\n\n &.mdc-checkbox--selected {\n @include ripple-mixins.states($color: $color, $query: $query, $ripple-target: $ripple-target);\n }\n\n &.mdc-ripple-upgraded--background-focused.mdc-checkbox--selected {\n @include ripple-mixins.states-base-color($color: $color, $query: $query, $ripple-target: $ripple-target);\n }\n}\n\n///\n/// Sets checkbox touch target size which can be more than the ripple size. Param `$ripple-size` is required for custom\n/// ripple size.\n///\n/// @param {Number} $size Size of touch target (Native input) in `px`.\n/// @param {Number} $ripple-size Size of ripple in `px`. Required only for custom ripple size.\n///\n@mixin touch-target(\n $size: variables.$ripple-size,\n $ripple-size: variables.$ripple-size,\n $query: feature-targeting-functions.all()) {\n $feat-structure: feature-targeting-functions.create-target($query, structure);\n $offset: ($ripple-size - $size) / 2;\n\n @include feature-targeting-mixins.targets($feat-structure) {\n .mdc-checkbox__native-control {\n top: $offset;\n right: $offset;\n left: $offset;\n width: $size;\n height: $size;\n }\n }\n}\n\n//\n// Private\n//\n\n@mixin base_ {\n display: inline-block;\n position: relative;\n flex: 0 0 variables.$icon-size;\n box-sizing: content-box;\n width: variables.$icon-size;\n height: variables.$icon-size;\n line-height: 0;\n white-space: nowrap;\n cursor: pointer;\n vertical-align: bottom;\n}\n\n@mixin disabled_ {\n cursor: default;\n pointer-events: none;\n}\n\n@mixin child--upgraded_ {\n // Due to the myriad of selector combos used to properly style a CSS-only checkbox, all of\n // which have varying selector precedence and make use of transitions, it is cleaner and more\n // efficient here to simply use !important, since the mdc-checkbox--anim-* classes will take\n // over from here.\n transition: none !important;\n}\n\n// Animation\n\n@mixin anim_ {\n $mdc-checkbox-indeterminate-change-duration_: 500ms;\n\n // stylelint-disable selector-max-type\n\n &-unchecked-checked,\n &-unchecked-indeterminate,\n &-checked-unchecked,\n &-indeterminate-unchecked {\n .mdc-checkbox__background {\n animation-duration: variables.$transition-duration * 2;\n animation-timing-function: linear;\n }\n }\n\n &-unchecked-checked {\n .mdc-checkbox__checkmark-path {\n // Instead of delaying the animation, we simply multiply its length by 2 and begin the\n // animation at 50% in order to prevent a flash of styles applied to a checked checkmark\n // as the background is fading in before the animation begins.\n animation: mdc-checkbox-unchecked-checked-checkmark-path variables.$transition-duration * 2 linear 0s;\n transition: none;\n }\n }\n\n &-unchecked-indeterminate {\n .mdc-checkbox__mixedmark {\n animation: mdc-checkbox-unchecked-indeterminate-mixedmark variables.$transition-duration linear 0s;\n transition: none;\n }\n }\n\n &-checked-unchecked {\n .mdc-checkbox__checkmark-path {\n animation: mdc-checkbox-checked-unchecked-checkmark-path variables.$transition-duration linear 0s;\n transition: none;\n }\n }\n\n &-checked-indeterminate {\n .mdc-checkbox__checkmark {\n animation: mdc-checkbox-checked-indeterminate-checkmark variables.$transition-duration linear 0s;\n transition: none;\n }\n\n .mdc-checkbox__mixedmark {\n animation: mdc-checkbox-checked-indeterminate-mixedmark variables.$transition-duration linear 0s;\n transition: none;\n }\n }\n\n &-indeterminate-checked {\n .mdc-checkbox__checkmark {\n animation: mdc-checkbox-indeterminate-checked-checkmark $mdc-checkbox-indeterminate-change-duration_ linear 0s;\n transition: none;\n }\n\n .mdc-checkbox__mixedmark {\n animation: mdc-checkbox-indeterminate-checked-mixedmark $mdc-checkbox-indeterminate-change-duration_ linear 0s;\n transition: none;\n }\n }\n\n &-indeterminate-unchecked {\n .mdc-checkbox__mixedmark {\n // stylelint-disable-next-line declaration-colon-space-after\n animation:\n mdc-checkbox-indeterminate-unchecked-mixedmark $mdc-checkbox-indeterminate-change-duration_ * .6 linear 0s;\n transition: none;\n }\n }\n\n // stylelint-enable selector-max-type\n}\n\n// Background\n\n///\n/// Helps select the checkbox background only when its native control is in\n/// enabled state.\n/// @access private\n///\n@mixin if-enabled_ {\n .mdc-checkbox__native-control:enabled ~ {\n @content;\n }\n}\n\n///\n/// Helps select the checkbox background only when its native control is in\n/// disabled state.\n/// @access private\n///\n@mixin if-disabled_ {\n .mdc-checkbox__native-control:disabled ~ {\n @content;\n }\n}\n\n///\n/// Helps select the checkbox background only when its native control is in\n/// unmarked & enabled state.\n/// @access private\n///\n@mixin if-unmarked-enabled_ {\n .mdc-checkbox__native-control:enabled:not(:checked):not(:indeterminate) ~ {\n @content;\n }\n}\n\n///\n/// Helps select the checkbox background only when its native control is in\n/// unmarked & disabled state.\n/// @access private\n///\n@mixin if-unmarked-disabled_ {\n // Note: we must use `[disabled]` instead of `:disabled` below because Edge does not always recalculate the style\n // property when the `:disabled` pseudo-class is followed by a sibling combinator. See:\n // https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/11295231/\n .mdc-checkbox__native-control[disabled]:not(:checked):not(:indeterminate) ~ {\n @content;\n }\n}\n\n///\n/// Helps select the checkbox background only when its native control is in\n/// marked & enabled state.\n/// @access private\n///\n@mixin if-marked-enabled_ {\n .mdc-checkbox__native-control:enabled:checked,\n .mdc-checkbox__native-control:enabled:indeterminate {\n ~ {\n @content;\n }\n }\n}\n\n///\n/// Helps select the checkbox background only when its native control is in\n/// marked & disabled state.\n/// @access private\n///\n@mixin if-marked-disabled_ {\n // Note: we must use `[disabled]` instead of `:disabled` below because Edge does not always recalculate the style\n // property when the `:disabled` pseudo-class is followed by a sibling combinator. See:\n // https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/11295231/\n .mdc-checkbox__native-control[disabled]:checked,\n .mdc-checkbox__native-control[disabled]:indeterminate {\n ~ {\n @content;\n }\n }\n}\n\n@mixin background_($query: feature-targeting-functions.all()) {\n $feat-animation: feature-targeting-functions.create-target($query, animation);\n $feat-structure: feature-targeting-functions.create-target($query, structure);\n $feat-color: feature-targeting-functions.create-target($query, color);\n\n @include feature-targeting-mixins.targets($feat-structure) {\n display: inline-flex;\n position: absolute;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n width: variables.$icon-size;\n height: variables.$icon-size;\n // border-color is overridden by the mdc-checkbox-unmarked-stroke-color() mixin\n border: variables.$border-width solid currentColor;\n border-radius: 2px;\n background-color: transparent;\n pointer-events: none;\n will-change: background-color, border-color;\n }\n\n .mdc-checkbox__background::before {\n @include feature-targeting-mixins.targets($feat-color) {\n @include theme-mixins.prop(background-color, on-surface);\n }\n }\n\n @include feature-targeting-mixins.targets($feat-animation) {\n transition:\n functions.transition-exit(background-color),\n functions.transition-exit(border-color);\n }\n}\n\n@mixin background--marked_ {\n transition:\n functions.transition-enter(border-color),\n functions.transition-enter(background-color);\n}\n\n///\n/// Sets the stroke & fill colors for the checkbox.\n/// This mixin should be wrapped in a mixin that qualifies state such as\n/// `mdc-checkbox-if-unmarked-enabled_`.\n/// @access private\n///\n@mixin container-colors_($stroke-color, $fill-color, $query: feature-targeting-functions.all()) {\n $feat-color: feature-targeting-functions.create-target($query, color);\n\n .mdc-checkbox__background {\n @include feature-targeting-mixins.targets($feat-color) {\n @include theme-mixins.prop(border-color, $stroke-color);\n @include theme-mixins.prop(background-color, $fill-color);\n }\n }\n}\n\n// Focus indicator\n\n@mixin focus-indicator_($query: feature-targeting-functions.all()) {\n $feat-animation: feature-targeting-functions.create-target($query, animation);\n $feat-structure: feature-targeting-functions.create-target($query, structure);\n\n @include feature-targeting-mixins.targets($feat-structure) {\n position: absolute;\n transform: scale(0, 0);\n border-radius: 50%;\n opacity: 0;\n pointer-events: none;\n content: \"\";\n will-change: opacity, transform;\n }\n\n @include feature-targeting-mixins.targets($feat-animation) {\n transition:\n functions.transition-exit(opacity),\n functions.transition-exit(transform);\n }\n}\n\n@mixin focus-indicator--focused_($query: feature-targeting-functions.all()) {\n $feat-animation: feature-targeting-functions.create-target($query, animation);\n $feat-structure: feature-targeting-functions.create-target($query, structure);\n\n @include feature-targeting-mixins.targets($feat-structure) {\n transform: scale(1);\n opacity: variables.$focus-indicator-opacity;\n }\n\n @include feature-targeting-mixins.targets($feat-animation) {\n transition:\n functions.transition-enter(opacity, 0ms, 80ms),\n functions.transition-enter(transform, 0ms, 80ms);\n }\n}\n\n// Native input\n\n@mixin native-control_ {\n position: absolute;\n margin: 0;\n padding: 0;\n opacity: 0;\n cursor: inherit;\n}\n\n// Check mark\n\n@mixin checkmark_($query: feature-targeting-functions.all()) {\n $feat-animation: feature-targeting-functions.create-target($query, animation);\n $feat-structure: feature-targeting-functions.create-target($query, structure);\n\n @include feature-targeting-mixins.targets($feat-structure) {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n width: 100%;\n opacity: 0;\n }\n\n @include feature-targeting-mixins.targets($feat-animation) {\n transition: functions.transition-exit(opacity, 0ms, variables.$transition-duration * 2);\n }\n\n .mdc-checkbox--upgraded & {\n @include feature-targeting-mixins.targets($feat-structure) {\n opacity: 1;\n }\n }\n}\n\n@mixin checkmark--checked_($query: feature-targeting-functions.all()) {\n $feat-animation: feature-targeting-functions.create-target($query, animation);\n $feat-structure: feature-targeting-functions.create-target($query, structure);\n\n @include feature-targeting-mixins.targets($feat-animation) {\n transition:\n functions.transition-enter(opacity, 0ms, variables.$transition-duration * 2),\n functions.transition-enter(transform, 0ms, variables.$transition-duration * 2);\n }\n\n @include feature-targeting-mixins.targets($feat-structure) {\n opacity: 1;\n }\n}\n\n@mixin checkmark--indeterminate_($query: feature-targeting-functions.all()) {\n $feat-animation: feature-targeting-functions.create-target($query, animation);\n $feat-structure: feature-targeting-functions.create-target($query, structure);\n\n @include feature-targeting-mixins.targets($feat-structure) {\n transform: rotate(45deg);\n opacity: 0;\n }\n\n @include feature-targeting-mixins.targets($feat-animation) {\n transition:\n functions.transition-exit(opacity, 0ms, variables.$transition-duration),\n functions.transition-exit(transform, 0ms, variables.$transition-duration);\n }\n}\n\n///\n/// Sets the ink color of the checked and indeterminate icons for a checkbox.\n/// This mixin should be wrapped in a mixin that qualifies state such as\n/// `mdc-checkbox-if-unmarked_`.\n/// @access private\n///\n@mixin ink-color_($color, $query: feature-targeting-functions.all()) {\n $feat-color: feature-targeting-functions.create-target($query, color);\n\n .mdc-checkbox__background {\n .mdc-checkbox__checkmark {\n @include feature-targeting-mixins.targets($feat-color) {\n @include theme-mixins.prop(color, $color);\n }\n }\n\n .mdc-checkbox__mixedmark {\n @include feature-targeting-mixins.targets($feat-color) {\n @include theme-mixins.prop(border-color, $color);\n }\n }\n }\n}\n\n// Check mark path\n\n@mixin checkmark-path_($query: feature-targeting-functions.all()) {\n $feat-animation: feature-targeting-functions.create-target($query, animation);\n $feat-structure: feature-targeting-functions.create-target($query, structure);\n\n @include feature-targeting-mixins.targets($feat-animation) {\n transition: functions.transition-exit(stroke-dashoffset, 0ms, variables.$transition-duration * 2);\n }\n\n @include feature-targeting-mixins.targets($feat-structure) {\n stroke: currentColor;\n stroke-width: variables.$mark-stroke-size * 1.3;\n stroke-dashoffset: variables.$mark-path-length_;\n stroke-dasharray: variables.$mark-path-length_;\n }\n}\n\n@mixin checkmark-path--marked_ {\n stroke-dashoffset: 0;\n}\n\n// Mixed mark\n\n@mixin mixedmark_($query: feature-targeting-functions.all()) {\n $feat-animation: feature-targeting-functions.create-target($query, animation);\n $feat-structure: feature-targeting-functions.create-target($query, structure);\n\n @include feature-targeting-mixins.targets($feat-structure) {\n width: 100%;\n height: 0;\n transform: scaleX(0) rotate(0deg);\n border-width: math.floor(variables.$mark-stroke-size) / 2;\n border-style: solid;\n opacity: 0;\n }\n\n @include feature-targeting-mixins.targets($feat-animation) {\n transition:\n functions.transition-exit(opacity),\n functions.transition-exit(transform);\n }\n}\n\n@mixin mixedmark--checked_ {\n transform: scaleX(1) rotate(-45deg);\n}\n\n@mixin mixedmark--indeterminate_ {\n transform: scaleX(1) rotate(0deg);\n opacity: 1;\n}\n\n///\n/// Resets touch target-related styles. This is called from the density mixin to\n/// automatically remove the increased touch target, since dense components\n/// don't have the same default a11y requirements.\n/// @access private\n///\n@mixin touch-target-reset_($query: feature-targeting-functions.all()) {\n $feat-structure: feature-targeting-functions.create-target($query, structure);\n\n @include feature-targeting-mixins.targets($feat-structure) {\n margin: 0;\n }\n}\n","//\n// Copyright 2017 Google Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n//\n\n@use \"sass:math\";\n@use \"@material/animation/functions\";\n@use \"@material/animation/variables\" as animation-variables;\n@use \"@material/checkbox/functions\" as checkbox-functions;\n@use \"@material/checkbox/variables\" as checkbox-variables;\n@use \"@material/elevation/mixins\" as elevation-mixins;\n@use \"@material/density/functions\" as density-functions;\n@use \"@material/feature-targeting/functions\" as feature-targeting-functions;\n@use \"@material/feature-targeting/mixins\" as feature-targeting-mixins;\n@use \"@material/ripple/mixins\" as ripple-mixins;\n@use \"@material/rtl/mixins\" as rtl-mixins;\n@use \"@material/theme/functions\" as theme-functions;\n@use \"@material/theme/mixins\" as theme-mixins;\n@use \"@material/touch-target/mixins\" as touch-target-mixins;\n@use \"@material/typography/mixins\" as typography-mixins;\n@use \"@material/shape/mixins\" as shape-mixins;\n@use \"@material/shape/functions\" as shape-functions;\n@use \"./variables\";\n@use \"@material/elevation/functions\" as elevation-functions;\n@use \"@material/theme/variables\" as theme-variables;\n\n$ripple-target: \".mdc-chip__ripple\";\n\n@mixin core-styles($query: feature-targeting-functions.all()) {\n @include without-ripple($query: $query);\n @include ripple($query: $query);\n}\n\n@mixin without-ripple($query: feature-targeting-functions.all()) {\n $feat-animation: feature-targeting-functions.create-target($query, animation);\n $feat-color: feature-targeting-functions.create-target($query, color);\n $feat-structure: feature-targeting-functions.create-target($query, structure);\n\n @include leading-icon-color(variables.$icon-color, $query: $query);\n @include trailing-icon-color(variables.$icon-color, $query: $query);\n @include leading-icon-size(variables.$leading-icon-size, $query: $query);\n @include trailing-icon-size(variables.$trailing-icon-size, $query: $query);\n @include trailing-icon-margin($query: $query);\n @include touch-target-mixins.wrapper($query); // COPYBARA_COMMENT_THIS_LINE\n @include elevation-mixins.overlay-common($query); // COPYBARA_COMMENT_THIS_LINE\n\n .mdc-chip {\n @include shape-radius(50%, $query: $query);\n @include fill-color(variables.$fill-color-default, $query: $query);\n @include ink-color-without-ripple_(variables.$ink-color-default, $query: $query);\n @include typography-mixins.typography(body2, $query: $query);\n @include density($density-scale: 0, $query: $query);\n @include leading-icon-margin($query: $query);\n @include elevation-mixins.overlay-surface-position($query: $query);\n @include elevation-mixins.overlay-dimensions(100%, $query: $query);\n\n @include feature-targeting-mixins.targets($feat-structure) {\n display: inline-flex;\n // position: relative; already set in mdc-elevation-overlay-surface-position\n align-items: center;\n box-sizing: border-box;\n padding: 0 variables.$horizontal-padding;\n border-width: 0;\n outline: none;\n cursor: pointer;\n -webkit-appearance: none;\n\n &::-moz-focus-inner {\n padding: 0;\n border: 0;\n }\n }\n\n &:hover {\n @include feature-targeting-mixins.targets($feat-color) {\n @include theme-mixins.prop(color, on-surface);\n }\n }\n\n .mdc-chip__touch {\n @include touch-target-mixins.touch-target($query: $query);\n }\n }\n\n .mdc-chip--exit {\n @include feature-targeting-mixins.targets($feat-color) {\n transition: variables.$exit-transition;\n }\n\n @include feature-targeting-mixins.targets($feat-structure) {\n opacity: 0;\n }\n }\n\n .mdc-chip__text {\n @include feature-targeting-mixins.targets($feat-structure) {\n white-space: nowrap;\n }\n }\n\n .mdc-chip__icon {\n @include feature-targeting-mixins.targets($feat-structure) {\n border-radius: 50%;\n outline: none;\n vertical-align: middle;\n }\n }\n\n .mdc-chip__checkmark {\n @include feature-targeting-mixins.targets($feat-structure) {\n height: variables.$leading-icon-size;\n }\n }\n\n .mdc-chip__checkmark-path {\n @include feature-targeting-mixins.targets($feat-animation) {\n transition:\n checkbox-functions.transition-exit(\n stroke-dashoffset,\n variables.$checkmark-animation-delay,\n variables.$checkmark-animation-duration\n );\n }\n\n @include feature-targeting-mixins.targets($feat-structure) {\n stroke-width: 2px;\n stroke-dashoffset: checkbox-variables.$mark-path-length_;\n stroke-dasharray: checkbox-variables.$mark-path-length_;\n }\n }\n\n .mdc-chip__primary-action:focus {\n @include feature-targeting-mixins.targets($feat-structure) {\n outline: none;\n }\n }\n\n .mdc-chip--selected .mdc-chip__checkmark-path {\n @include feature-targeting-mixins.targets($feat-structure) {\n stroke-dashoffset: 0;\n }\n }\n\n .mdc-chip__icon--leading,\n .mdc-chip__icon--trailing {\n @include feature-targeting-mixins.targets($feat-structure) {\n // Make these positioned elements, such that they're stacked above the\n // touch target element (`mdc-chip__touch`), so that clicks reach the\n // icons (e.g. for removable input chips).\n position: relative;\n }\n }\n\n // Change color of selected choice chips\n\n .mdc-chip-set--choice {\n .mdc-chip {\n @include selected-ink-color-without-ripple_(primary, $query: $query);\n }\n\n .mdc-chip--selected {\n @include feature-targeting-mixins.targets($feat-color) {\n @include theme-mixins.prop(background-color, surface);\n }\n }\n }\n\n // Add leading checkmark to filter chips with no leading icon\n\n .mdc-chip__checkmark-svg {\n @include feature-targeting-mixins.targets($feat-structure) {\n width: 0;\n height: variables.$leading-icon-size;\n }\n\n @include feature-targeting-mixins.targets($feat-animation) {\n transition: width variables.$width-animation-duration animation-variables.$standard-curve-timing-function;\n }\n }\n\n .mdc-chip--selected .mdc-chip__checkmark-svg {\n @include feature-targeting-mixins.targets($feat-structure) {\n width: variables.$leading-icon-size;\n }\n }\n\n // Add leading checkmark to filter chips with a leading icon\n\n .mdc-chip-set--filter {\n .mdc-chip__icon--leading {\n @include feature-targeting-mixins.targets($feat-animation) {\n transition: opacity variables.$opacity-animation-duration linear;\n transition-delay: variables.$leading-icon-delay;\n }\n\n @include feature-targeting-mixins.targets($feat-structure) {\n opacity: 1;\n }\n\n + .mdc-chip__checkmark {\n @include feature-targeting-mixins.targets($feat-animation) {\n transition: opacity variables.$opacity-animation-duration linear;\n\n // Delay the checkmark transition.\n transition-delay: variables.$checkmark-with-leading-icon-delay;\n }\n\n @include feature-targeting-mixins.targets($feat-structure) {\n opacity: 0;\n }\n\n .mdc-chip__checkmark-svg {\n // stylelint-disable max-nesting-depth\n\n @include feature-targeting-mixins.targets($feat-animation) {\n transition: width 0ms;\n }\n\n // stylelint-enable max-nesting-depth\n }\n }\n }\n\n .mdc-chip--selected .mdc-chip__icon--leading {\n @include feature-targeting-mixins.targets($feat-structure) {\n opacity: 0;\n }\n\n + .mdc-chip__checkmark {\n @include feature-targeting-mixins.targets($feat-structure) {\n // This ensures that the checkmark has zero width while the leading icon is still animating.\n width: 0;\n opacity: 1;\n }\n }\n }\n\n .mdc-chip__icon--leading-hidden.mdc-chip__icon--leading {\n @include feature-targeting-mixins.targets($feat-structure) {\n width: 0;\n }\n\n @include feature-targeting-mixins.targets($feat-structure) {\n // This ensures that the leading icon doesn't fade in while the checkmark is fading out.\n opacity: 0;\n }\n\n + .mdc-chip__checkmark {\n @include feature-targeting-mixins.targets($feat-structure) {\n width: variables.$leading-icon-size;\n }\n }\n }\n }\n}\n\n@mixin ripple($query: feature-targeting-functions.all()) {\n @include ripple-mixins.common($query); // COPYBARA_COMMENT_THIS_LINE\n $feat-structure: feature-targeting-functions.create-target($query, structure);\n\n .mdc-chip {\n @include ripple-mixins.surface($query: $query, $ripple-target: $ripple-target);\n @include ripple-mixins.radius-bounded($query: $query, $ripple-target: $ripple-target);\n @include ink-color-ripple_(variables.$ink-color-default, $query: $query);\n\n #{$ripple-target} {\n @include ripple-mixins.target-common($query: $query);\n\n @include feature-targeting-mixins.targets($feat-structure) {\n overflow: hidden;\n }\n }\n }\n\n .mdc-chip-set--choice {\n .mdc-chip {\n @include selected-ink-color-ripple_(primary, $query: $query);\n }\n }\n}\n\n@mixin set-core-styles($query: feature-targeting-functions.all()) {\n $feat-animation: feature-targeting-functions.create-target($query, animation);\n $feat-structure: feature-targeting-functions.create-target($query, structure);\n\n @include feature-targeting-mixins.targets($feat-animation) {\n @keyframes mdc-chip-entry {\n from {\n transform: scale(.8);\n opacity: .4;\n }\n\n to {\n transform: scale(1);\n opacity: 1;\n }\n }\n }\n\n .mdc-chip-set {\n @include set-spacing(8px, $query: $query);\n\n @include feature-targeting-mixins.targets($feat-structure) {\n display: flex;\n flex-wrap: wrap;\n box-sizing: border-box;\n }\n }\n\n .mdc-chip-set--input .mdc-chip {\n @include feature-targeting-mixins.targets($feat-animation) {\n animation: mdc-chip-entry 100ms animation-variables.$deceleration-curve-timing-function;\n }\n }\n}\n\n@mixin shape-radius(\n $radius,\n $rtl-reflexive: false,\n $density-scale: variables.$density-scale,\n $query: feature-targeting-functions.all()) {\n\n $height: density-functions.prop-value(\n $density-config: variables.$density-config,\n $density-scale: $density-scale,\n $property-name: height,\n );\n\n @include shape-mixins.radius(\n shape-functions.resolve-percentage-radius($height, $radius),\n $rtl-reflexive,\n $query: $query);\n\n #{$ripple-target} {\n @include shape-mixins.radius(\n shape-functions.resolve-percentage-radius($height, $radius),\n $rtl-reflexive,\n $query: $query\n );\n }\n}\n\n@mixin fill-color-accessible($color, $query: feature-targeting-functions.all()) {\n $fill-tone: theme-functions.tone($color);\n\n @include fill-color($color, $query: $query);\n\n @if ($fill-tone == \"dark\") {\n @include ink-color(text-primary-on-dark, $query: $query);\n @include selected-ink-color(text-primary-on-dark, $query: $query);\n @include leading-icon-color(text-primary-on-dark, $query: $query);\n @include trailing-icon-color(text-primary-on-dark, $query: $query);\n } @else {\n @include ink-color(text-primary-on-light, $query: $query);\n @include selected-ink-color(text-primary-on-light, $query: $query);\n @include leading-icon-color(text-primary-on-light, $query: $query);\n @include trailing-icon-color(text-primary-on-light, $query: $query);\n }\n}\n\n@mixin fill-color($color, $query: feature-targeting-functions.all()) {\n $feat-color: feature-targeting-functions.create-target($query, color);\n\n @include feature-targeting-mixins.targets($feat-color) {\n @include theme-mixins.prop(background-color, $color);\n }\n}\n\n@mixin ink-color($color, $query: feature-targeting-functions.all()) {\n @include ink-color-ripple_($color, $query: $query);\n @include ink-color-without-ripple_($color, $query: $query);\n}\n\n@mixin ink-color-without-ripple_($color, $query) {\n $feat-color: feature-targeting-functions.create-target($query, color);\n\n @include feature-targeting-mixins.targets($feat-color) {\n @include theme-mixins.prop(color, $color);\n }\n\n &:hover {\n @include feature-targeting-mixins.targets($feat-color) {\n @include theme-mixins.prop(color, $color);\n }\n }\n}\n\n@mixin ink-color-ripple_($color, $query) {\n @include ripple-mixins.states($color, true, $query: $query, $ripple-target: $ripple-target);\n}\n\n@mixin selected-ink-color($color, $query: feature-targeting-functions.all()) {\n @include selected-ink-color-ripple_($color, $query: $query);\n @include selected-ink-color-without-ripple_($color, $query: $query);\n}\n\n@mixin selected-ink-color-without-ripple_($color, $query) {\n $feat-color: feature-targeting-functions.create-target($query, color);\n\n &.mdc-chip--selected {\n @include feature-targeting-mixins.targets($feat-color) {\n @include theme-mixins.prop(color, $color);\n }\n\n @include leading-icon-color($color, $query: $query);\n\n &:hover {\n @include feature-targeting-mixins.targets($feat-color) {\n @include theme-mixins.prop(color, $color);\n }\n }\n }\n\n .mdc-chip__checkmark-path {\n @include feature-targeting-mixins.targets($feat-color) {\n @include theme-mixins.prop(stroke, $color);\n }\n }\n}\n\n@mixin selected-ink-color-ripple_($color, $query) {\n &.mdc-chip {\n @include ripple-mixins.states-selected(\n $color, $has-nested-focusable-element: true, $query: $query, $ripple-target: $ripple-target);\n }\n}\n\n@mixin outline(\n $width: 1px,\n $style: solid,\n $color: theme-variables.prop-value(on-surface),\n $query: feature-targeting-functions.all()) {\n @include outline-width($width, $query: $query);\n @include outline-style($style, $query: $query);\n @include outline-color($color, $query: $query);\n}\n\n@mixin outline-color($color, $query: feature-targeting-functions.all()) {\n $feat-color: feature-targeting-functions.create-target($query, color);\n\n @include feature-targeting-mixins.targets($feat-color) {\n @include theme-mixins.prop(border-color, $color);\n }\n}\n\n@mixin outline-style($style, $query: feature-targeting-functions.all()) {\n $feat-structure: feature-targeting-functions.create-target($query, structure);\n\n @include feature-targeting-mixins.targets($feat-structure) {\n border-style: $style;\n }\n}\n\n@mixin outline-width($width, $horizontal-padding: variables.$horizontal-padding, $query: feature-targeting-functions.all()) {\n $feat-structure: feature-targeting-functions.create-target($query, structure);\n\n // Note: Adjust padding to maintain consistent width with non-outlined chips\n $horizontal-padding-value: math.max($horizontal-padding - $width, 0);\n\n @include feature-targeting-mixins.targets($feat-structure) {\n padding-right: $horizontal-padding-value;\n padding-left: $horizontal-padding-value;\n border-width: $width;\n }\n\n #{$ripple-target} {\n @include feature-targeting-mixins.targets($feat-structure) {\n top: -$width;\n left: -$width;\n border: $width solid transparent;\n }\n }\n}\n\n@mixin horizontal-padding($padding, $query: feature-targeting-functions.all()) {\n $feat-structure: feature-targeting-functions.create-target($query, structure);\n\n @include feature-targeting-mixins.targets($feat-structure) {\n padding-right: $padding;\n padding-left: $padding;\n }\n}\n\n@mixin height($height, $query: feature-targeting-functions.all()) {\n $feat-structure: feature-targeting-functions.create-target($query, structure);\n\n @include feature-targeting-mixins.targets($feat-structure) {\n height: $height;\n }\n}\n\n@mixin set-spacing($gap-size, $query: feature-targeting-functions.all()) {\n $feat-structure: feature-targeting-functions.create-target($query, structure);\n\n @include feature-targeting-mixins.targets($feat-structure) {\n padding: $gap-size / 2;\n }\n\n .mdc-chip {\n @include feature-targeting-mixins.targets($feat-structure) {\n margin: $gap-size / 2;\n }\n }\n\n .mdc-chip--touch {\n @include touch-target-mixins.margin(\n $component-height: variables.$height, $query: $query);\n }\n}\n\n@mixin leading-icon-color($color, $opacity: variables.$icon-opacity, $query: feature-targeting-functions.all()) {\n $feat-color: feature-targeting-functions.create-target($query, color);\n\n .mdc-chip__icon--leading {\n @include feature-targeting-mixins.targets($feat-color) {\n color: rgba(theme-variables.prop-value($color), $opacity);\n }\n }\n}\n\n@mixin trailing-icon-color(\n $color,\n $opacity: variables.$icon-opacity,\n $hover-opacity: variables.$trailing-icon-hover-opacity,\n $focus-opacity: variables.$trailing-icon-focus-opacity,\n $query: feature-targeting-functions.all()) {\n $feat-color: feature-targeting-functions.create-target($query, color);\n\n .mdc-chip__icon--trailing {\n @include feature-targeting-mixins.targets($feat-color) {\n color: rgba(theme-variables.prop-value($color), $opacity);\n }\n\n &:hover {\n @include feature-targeting-mixins.targets($feat-color) {\n color: rgba(theme-variables.prop-value($color), $hover-opacity);\n }\n }\n\n &:focus {\n @include feature-targeting-mixins.targets($feat-color) {\n color: rgba(theme-variables.prop-value($color), $focus-opacity);\n }\n }\n }\n}\n\n// For customizing icon size, we need to increase specifity to ensure\n// overrides apply. Styles defined in the .material-icons CSS class are\n// loaded separately, so the order of CSS definitions is not guaranteed.\n\n@mixin leading-icon-size($size, $query: feature-targeting-functions.all()) {\n .mdc-chip__icon.mdc-chip__icon--leading:not(.mdc-chip__icon--leading-hidden) {\n @include icon-size_($size, $query: $query);\n }\n}\n\n@mixin trailing-icon-size($size, $query: feature-targeting-functions.all()) {\n .mdc-chip__icon.mdc-chip__icon--trailing {\n @include icon-size_($size, $query: $query);\n }\n}\n\n@mixin icon-size_($size, $query) {\n $feat-structure: feature-targeting-functions.create-target($query, structure);\n\n @include feature-targeting-mixins.targets($feat-structure) {\n width: $size;\n height: $size;\n font-size: $size;\n }\n}\n\n@mixin leading-icon-margin(\n $left-margin: variables.$leading-icon-margin-left,\n $right-margin: variables.$leading-icon-margin-right,\n $query: feature-targeting-functions.all()) {\n $feat-structure: feature-targeting-functions.create-target($query, structure);\n\n &.mdc-chip--selected .mdc-chip__checkmark,\n .mdc-chip__icon--leading:not(.mdc-chip__icon--leading-hidden) {\n @include feature-targeting-mixins.targets($feat-structure) {\n @include rtl-mixins.reflexive-property(margin, $left-margin, $right-margin);\n }\n }\n}\n\n@mixin trailing-icon-margin(\n $left-margin: variables.$trailing-icon-margin-left,\n $right-margin: variables.$trailing-icon-margin-right,\n $query: feature-targeting-functions.all()) {\n $feat-structure: feature-targeting-functions.create-target($query, structure);\n\n .mdc-chip__icon--trailing {\n @include feature-targeting-mixins.targets($feat-structure) {\n @include rtl-mixins.reflexive-property(margin, $left-margin, $right-margin);\n }\n }\n}\n\n@mixin elevation-transition($query: feature-targeting-functions.all()) {\n $feat-animation: feature-targeting-functions.create-target($query, animation);\n\n @include feature-targeting-mixins.targets($feat-animation) {\n transition: elevation-functions.transition-value();\n }\n\n &.mdc-chip--exit {\n @include feature-targeting-mixins.targets($feat-animation) {\n transition:\n elevation-functions.transition-value(),\n variables.$exit-transition;\n }\n }\n}\n\n///\n/// Sets the density scale for chips.\n///\n/// @param {Number | String} $density-scale - Density scale value for component.\n/// Supported density scale values are `-2`, `-1`, `0`.\n///\n@mixin density($density-scale, $query: feature-targeting-functions.all()) {\n $height: density-functions.prop-value(\n $density-config: variables.$density-config,\n $density-scale: $density-scale,\n $property-name: height,\n );\n\n @include height($height, $query: $query);\n\n @if $density-scale != 0 {\n @include touch-target-reset_($query: $query);\n }\n}\n\n///\n/// Resets touch target-related styles. This is called from the density mixin to\n/// automatically remove the increased touch target, since dense components\n/// don't have the same default a11y requirements.\n/// @access private\n///\n@mixin touch-target-reset_($query: feature-targeting-functions.all()) {\n $feat-structure: feature-targeting-functions.create-target($query, structure);\n\n // Selector is necessary here to override original specificity.\n &.mdc-chip--touch {\n @include feature-targeting-mixins.targets($feat-structure) {\n margin-top: 0;\n margin-bottom: 0;\n }\n }\n\n .mdc-chip__touch {\n @include feature-targeting-mixins.targets($feat-structure) {\n display: none;\n }\n }\n}\n","//\n// Copyright 2017 Google Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n//\n\n@use \"sass:color\";\n@use \"@material/animation/variables\" as animation-variables;\n@use \"@material/density/variables\" as density-variables;\n@use \"@material/theme/variables\" as theme-variables;\n\n$fill-color-default: color.mix(theme-variables.prop-value(on-surface), theme-variables.prop-value(surface), 12%) !default;\n$ink-color-default: rgba(theme-variables.prop-value(on-surface), .87) !default;\n$horizontal-padding: 12px !default;\n$height: 32px !default;\n\n$minimum-height: 24px !default;\n$maximum-height: $height !default;\n$density-scale: density-variables.$default-scale !default;\n$density-config: (\n height: (\n default: $height,\n maximum: $maximum-height,\n minimum: $minimum-height,\n ),\n) !default;\n\n$icon-color: theme-variables.prop-value(on-surface) !default;\n$icon-opacity: .54 !default;\n$trailing-icon-hover-opacity: .62 !default;\n$trailing-icon-focus-opacity: .87 !default;\n$leading-icon-size: 20px !default;\n$trailing-icon-size: 18px !default;\n// Speed up delay to bridge gap between leading icon and checkmark transition.\n$leading-icon-delay: -50ms !default;\n$checkmark-with-leading-icon-delay: 80ms !default;\n\n$checkmark-animation-delay: 50ms !default;\n$checkmark-animation-duration: 150ms !default;\n$width-animation-duration: 150ms !default;\n$opacity-animation-duration: 75ms !default;\n\n$leading-icon-margin-right: 4px !default;\n$leading-icon-margin-left: -4px !default;\n\n$trailing-icon-margin-right: -4px !default;\n$trailing-icon-margin-left: 4px !default;\n\n$exit-transition:\n opacity 75ms animation-variables.$standard-curve-timing-function,\n width 150ms animation-variables.$deceleration-curve-timing-function,\n padding 100ms linear,\n margin 100ms linear !default;\n","//\n// Copyright 2019 Google Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n//\n\n@use \"sass:list\";\n@use \"@material/animation/functions\";\n@use \"@material/elevation/mixins\";\n@use \"@material/feature-targeting/functions\" as feature-targeting-functions;\n@use \"@material/feature-targeting/mixins\" as feature-targeting-mixins;\n@use \"@material/checkbox/mixins\" as checkbox-mixins;\n@use \"@material/density/functions\" as density-functions;\n@use \"@material/rtl/mixins\" as rtl-mixins;\n@use \"@material/shape/mixins\" as shape-mixins;\n@use \"@material/theme/mixins\" as theme-mixins;\n@use \"@material/theme/variables\" as variables2; // for mdc-theme-prop-value.\n@use \"@material/typography/mixins\" as typography-mixins;\n@use \"./variables\";\n\n@mixin core-styles($query: feature-targeting-functions.all()) {\n $feat-structure: feature-targeting-functions.create-target($query, structure);\n $feat-typography: feature-targeting-functions.create-target($query, typography);\n\n // postcss-bem-linter: define data-table\n\n .mdc-data-table__content {\n @include typography-mixins.typography(body2, $query: $query);\n }\n\n .mdc-data-table {\n @include fill-color(variables.$fill-color, $query: $query);\n @include shape-radius(variables.$shape-radius, $query: $query);\n @include stroke-size(variables.$stroke-size, $query: $query);\n @include stroke-color(variables.$stroke-color, $query: $query);\n\n @at-root {\n @include row-fill-color(variables.$row-fill-color, $query: $query);\n @include header-row-fill-color(variables.$header-row-fill-color, $query: $query);\n @include selected-row-fill-color(variables.$selected-row-fill-color, $query: $query);\n @include divider-color(variables.$divider-color, $query: $query);\n @include divider-size(variables.$divider-size, $query: $query);\n @include row-hover-fill-color(variables.$row-hover-fill-color, $query: $query);\n @include header-row-text-color(variables.$header-row-text-color, $query: $query);\n @include row-text-color(variables.$row-text-color, $query: $query);\n @include density(variables.$default-density-scale, $query: $query);\n @include cell-padding(\n $leading-padding: variables.$cell-leading-padding,\n $trailing-padding: variables.$cell-trailing-padding,\n $query: $query\n );\n }\n\n @include feature-targeting-mixins.targets($feat-structure) {\n -webkit-overflow-scrolling: touch; // Lets it scroll lazy (iOS)\n display: inline-flex;\n flex-direction: column;\n box-sizing: border-box;\n overflow-x: auto;\n }\n }\n\n .mdc-data-table__table {\n @include feature-targeting-mixins.targets($feat-structure) {\n min-width: 100%; // Makes table full-width of its container (Firefox / IE11)\n border: 0;\n white-space: nowrap;\n border-collapse: collapse;\n /**\n * With table-layout:fixed, table and column widths are defined by the width\n * of the first row of cells. Cells in subsequent rows do not affect column\n * widths. This results in a predictable table layout and may also speed up\n * rendering.\n */\n table-layout: fixed;\n }\n }\n\n .mdc-data-table__cell {\n @include typography-mixins.typography(body2, $query: $query);\n\n @include feature-targeting-mixins.targets($feat-structure) {\n box-sizing: border-box;\n text-overflow: ellipsis;\n overflow: hidden;\n }\n }\n\n .mdc-data-table__cell--numeric {\n @include feature-targeting-mixins.targets($feat-structure) {\n text-align: right;\n }\n\n @include feature-targeting-mixins.targets($feat-structure) {\n @include rtl-mixins.rtl {\n /* @noflip */\n text-align: left;\n }\n }\n }\n\n .mdc-data-table__header-cell {\n @include typography-mixins.typography(subtitle2, $query: $query);\n\n @include feature-targeting-mixins.targets($feat-structure) {\n box-sizing: border-box;\n text-align: left;\n text-overflow: ellipsis;\n overflow: hidden;\n\n @include rtl-mixins.rtl {\n /* @noflip */\n text-align: right;\n }\n }\n }\n\n .mdc-data-table__header-cell--numeric {\n @include feature-targeting-mixins.targets($feat-structure) {\n text-align: right;\n }\n\n @include feature-targeting-mixins.targets($feat-structure) {\n @include rtl-mixins.rtl {\n /* @noflip */\n text-align: left;\n }\n }\n }\n}\n\n@mixin fill-color($color, $query: feature-targeting-functions.all()) {\n $feat-color: feature-targeting-functions.create-target($query, color);\n\n @include feature-targeting-mixins.targets($feat-color) {\n @include theme-mixins.prop(\"background-color\", $color);\n }\n}\n\n@mixin header-row-fill-color($color, $query: feature-targeting-functions.all()) {\n $feat-color: feature-targeting-functions.create-target($query, color);\n\n .mdc-data-table__header-row {\n @include feature-targeting-mixins.targets($feat-color) {\n @include theme-mixins.prop(\"background-color\", $color);\n }\n }\n}\n\n@mixin row-fill-color($color, $query: feature-targeting-functions.all()) {\n $feat-color: feature-targeting-functions.create-target($query, color);\n\n .mdc-data-table__row {\n @include feature-targeting-mixins.targets($feat-color) {\n @include theme-mixins.prop(\"background-color\", $color);\n }\n }\n}\n\n@mixin selected-row-fill-color($color, $query: feature-targeting-functions.all()) {\n $feat-color: feature-targeting-functions.create-target($query, color);\n\n .mdc-data-table__row--selected {\n @include feature-targeting-mixins.targets($feat-color) {\n @include theme-mixins.prop(\"background-color\", $color);\n }\n }\n}\n\n@mixin checked-icon-color($color, $query: feature-targeting-functions.all()) {\n .mdc-data-table__header-row-checkbox,\n .mdc-data-table__row-checkbox {\n @include checkbox-mixins.focus-indicator-color($color, $query: $query);\n @include checkbox-mixins.container-colors($marked-stroke-color: $color, $marked-fill-color: $color, $query: $query);\n }\n}\n\n@mixin divider-color($color, $query: feature-targeting-functions.all()) {\n $feat-color: feature-targeting-functions.create-target($query, color);\n\n .mdc-data-table__row {\n @include feature-targeting-mixins.targets($feat-color) {\n border-top-color: $color;\n }\n }\n}\n\n@mixin divider-size($size, $query: feature-targeting-functions.all()) {\n $feat-structure: feature-targeting-functions.create-target($query, structure);\n\n .mdc-data-table__row {\n @include feature-targeting-mixins.targets($feat-structure) {\n border-top-width: $size;\n border-top-style: solid;\n }\n }\n}\n\n@mixin row-hover-fill-color($color, $query: feature-targeting-functions.all()) {\n $feat-color: feature-targeting-functions.create-target($query, color);\n\n .mdc-data-table__row:not(.mdc-data-table__row--selected):hover {\n @include feature-targeting-mixins.targets($feat-color) {\n @include theme-mixins.prop(\"background-color\", $color);\n }\n }\n}\n\n@mixin header-row-text-color($color, $query: feature-targeting-functions.all()) {\n $feat-color: feature-targeting-functions.create-target($query, color);\n\n .mdc-data-table__header-cell {\n @include feature-targeting-mixins.targets($feat-color) {\n @include theme-mixins.prop(\"color\", $color);\n }\n }\n}\n\n@mixin row-text-color($color, $query: feature-targeting-functions.all()) {\n $feat-color: feature-targeting-functions.create-target($query, color);\n\n .mdc-data-table__cell {\n @include feature-targeting-mixins.targets($feat-color) {\n @include theme-mixins.prop(\"color\", $color);\n }\n }\n}\n\n@mixin shape-radius($radius, $rtl-reflexive: false, $query: feature-targeting-functions.all()) {\n @include shape-mixins.radius($radius, $rtl-reflexive, $query: $query);\n}\n\n@mixin stroke-size($size, $query: feature-targeting-functions.all()) {\n $feat-structure: feature-targeting-functions.create-target($query, structure);\n\n @include feature-targeting-mixins.targets($feat-structure) {\n border-width: $size;\n border-style: solid;\n }\n}\n\n@mixin stroke-color($color, $query: feature-targeting-functions.all()) {\n $feat-color: feature-targeting-functions.create-target($query, color);\n\n @include feature-targeting-mixins.targets($feat-color) {\n border-color: $color;\n }\n}\n\n@mixin header-cell-height($height, $query: feature-targeting-functions.all()) {\n $feat-structure: feature-targeting-functions.create-target($query, structure);\n\n .mdc-data-table__header-cell {\n @include feature-targeting-mixins.targets($feat-structure) {\n height: $height;\n }\n }\n}\n\n@mixin cell-height($height, $query: feature-targeting-functions.all()) {\n $feat-structure: feature-targeting-functions.create-target($query, structure);\n\n .mdc-data-table__cell {\n @include feature-targeting-mixins.targets($feat-structure) {\n height: $height;\n }\n }\n}\n\n@mixin cell-padding(\n $leading-padding: variables.$cell-leading-padding,\n $trailing-padding: variables.$cell-trailing-padding,\n $query: feature-targeting-functions.all()) {\n $feat-structure: feature-targeting-functions.create-target($query, structure);\n\n .mdc-data-table__cell,\n .mdc-data-table__header-cell {\n @include feature-targeting-mixins.targets($feat-structure) {\n padding-right: $trailing-padding;\n padding-left: $leading-padding;\n }\n }\n\n .mdc-data-table__header-cell--checkbox,\n .mdc-data-table__cell--checkbox {\n @include feature-targeting-mixins.targets($feat-structure) {\n @include rtl-mixins.reflexive-property(padding, $leading-padding, 0);\n }\n }\n}\n\n@mixin column-widths($width-list, $query: feature-targeting-functions.all()) {\n $feat-structure: feature-targeting-functions.create-target($query, structure);\n\n @for $i from 1 through list.length($width-list) {\n .mdc-data-table__row > :nth-child(#{$i}) {\n @include feature-targeting-mixins.targets($feat-structure) {\n width: list.nth($width-list, $i);\n }\n }\n }\n}\n\n///\n/// Sets density scale for data table. Use corresponding density mixins of child components (such as Checkbox) to apply\n/// density scales which will be rendered inside data table.\n///\n/// @param {Number | String} $density-scale - Density scale value for component. Supported density scale values `-4`,\n/// `-3`, `-2`, `-1`, `0`.\n///\n@mixin density($density-scale, $query: feature-targeting-functions.all()) {\n\n $height: density-functions.prop-value(\n $density-config: variables.$density-config,\n $density-scale: $density-scale,\n $property-name: height,\n );\n\n @include cell-height($height, $query: $query);\n @include header-cell-height(variables.get-header-cell-height($height), $query: $query);\n}\n\n@mixin theme-baseline($query: feature-targeting-functions.all()) {\n @include checked-icon-color(variables.$checked-icon-color, $query: $query);\n}\n","//\n// Copyright 2019 Google Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n//\n\n@use \"@material/theme/variables\" as theme-variables;\n@use \"@material/density/variables\" as density-variables;\n\n$fill-color: surface !default;\n$header-row-fill-color: inherit !default;\n$row-fill-color: inherit !default;\n$selected-row-fill-color: rgba(theme-variables.prop-value(primary), .04) !default;\n\n$checked-icon-color: primary !default;\n$divider-color: rgba(theme-variables.prop-value(on-surface), .12) !default;\n$divider-size: 1px !default;\n$row-hover-fill-color: rgba(theme-variables.prop-value(on-surface), .04) !default;\n$checkbox-touch-dimension: 48px !default;\n\n$header-row-text-color: rgba(theme-variables.prop-value(on-surface), .87) !default;\n$row-text-color: rgba(theme-variables.prop-value(on-surface), .87) !default;\n\n$shape-radius: medium !default;\n$stroke-size: 1px !default;\n$stroke-color: rgba(theme-variables.prop-value(on-surface), .12) !default;\n\n$cell-height: 52px !default;\n$header-cell-height: get-header-cell-height($cell-height) !default;\n$cell-leading-padding: 16px !default;\n$cell-trailing-padding: 16px !default;\n\n$minimum-cell-height: 36px !default;\n$maximum-cell-height: $cell-height !default;\n$default-density-scale: density-variables.$default-scale !default;\n$density-config: (\n height: (\n maximum: $cell-height,\n default: $cell-height,\n minimum: $minimum-cell-height,\n )\n);\n\n@function get-header-cell-height($height) {\n @return $height + 4px;\n}\n","//\n// Copyright 2018 Google Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n//\n\n@use \"sass:math\";\n@use \"@material/animation/functions\" as animation-functions;\n@use \"@material/button/variables\" as button-variables;\n@use \"@material/elevation/mixins\" as elevation-mixins;\n@use \"@material/feature-targeting/functions\" as feature-targeting-functions;\n@use \"@material/feature-targeting/mixins\" as feature-targeting-mixins;\n@use \"@material/rtl/mixins\" as rtl-mixins;\n@use \"@material/shape/mixins\" as shape-mixins;\n@use \"@material/theme/mixins\" as theme-mixins;\n@use \"@material/theme/variables\" as theme-variables; // for mdc-theme-prop-value\n@use \"@material/touch-target/variables\" as touch-target-variables;\n@use \"@material/typography/mixins\" as typography-mixins;\n@use \"./variables\";\n\n@mixin core-styles($query: feature-targeting-functions.all()) {\n $feat-animation: feature-targeting-functions.create-target($query, animation);\n $feat-structure: feature-targeting-functions.create-target($query, structure);\n\n @include elevation-mixins.overlay-common($query); // COPYBARA_COMMENT_THIS_LINE\n\n // postcss-bem-linter: define dialog\n\n .mdc-dialog,\n .mdc-dialog__scrim {\n @include feature-targeting-mixins.targets($feat-structure) {\n position: fixed;\n top: 0;\n left: 0;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n width: 100%;\n height: 100%;\n }\n }\n\n .mdc-dialog {\n @include container-fill-color(surface, $query: $query);\n @include scrim-color(variables.$scrim-color, $query: $query);\n @include title-ink-color(variables.$title-ink-color, $query: $query);\n @include content-ink-color(variables.$content-ink-color, $query: $query);\n @include scroll-divider-color(variables.$scroll-divider-color, $query: $query);\n @include min-width(variables.$min-width, $query: $query);\n @include max-width(variables.$max-width, variables.$margin, $query: $query);\n @include max-height(null, variables.$margin, $query: $query);\n @include shape-radius(medium, $query: $query);\n\n @include feature-targeting-mixins.targets($feat-structure) {\n // Use `display: none` instead of `visibility: hidden` to avoid recalculating layout when the dialog is closed.\n display: none;\n z-index: variables.$z-index;\n }\n }\n\n .mdc-dialog__scrim {\n @include feature-targeting-mixins.targets($feat-structure) {\n opacity: 0;\n z-index: -1;\n }\n }\n\n // This wrapper element is needed to make max-height work in IE 11.\n // See https://github.com/philipwalton/flexbugs/issues/216\n .mdc-dialog__container {\n @include feature-targeting-mixins.targets($feat-structure) {\n display: flex;\n flex-direction: row; // IE 11\n align-items: center;\n justify-content: space-around; // Ensure Safari centers the dialog (because it treats the container's width oddly)\n box-sizing: border-box;\n height: 100%;\n transform: scale(.8);\n opacity: 0;\n // This element is necessary for IE 11 and needs to have `height: 100%`.\n // Let clicks on element fall through to scrim element underneath.\n pointer-events: none;\n }\n }\n\n .mdc-dialog__surface {\n @include elevation-mixins.overlay-surface-position($query: $query);\n @include elevation-mixins.overlay-dimensions(100%, $query: $query);\n @include elevation-mixins.elevation(24, $query: $query);\n\n @include feature-targeting-mixins.targets($feat-structure) {\n display: flex;\n flex-direction: column;\n flex-grow: 0; // IE 11\n flex-shrink: 0; // IE 11\n box-sizing: border-box;\n max-width: 100%; // IE 11\n max-height: 100%; // IE 11\n pointer-events: auto; // Override from `.mdc-dialog__container`.\n // IE 11: Otherwise, scrolling content in `mdc-dialog__content` overflows.\n overflow-y: auto;\n\n @include rtl-mixins.rtl(\".mdc-dialog\") {\n /* @noflip */\n text-align: right;\n }\n }\n }\n\n .mdc-dialog__title {\n @include typography-mixins.baseline-top(40px, $query: $query);\n @include typography-mixins.typography(headline6, $query: $query);\n\n @include feature-targeting-mixins.targets($feat-structure) {\n display: block;\n position: relative;\n flex-shrink: 0;\n box-sizing: border-box;\n margin: 0;\n padding: 0 24px variables.$title-bottom-padding;\n border-bottom: 1px solid transparent;\n\n @include rtl-mixins.rtl(\".mdc-dialog\") {\n /* @noflip */\n text-align: right;\n }\n }\n }\n\n // stylelint-disable-next-line plugin/selector-bem-pattern\n .mdc-dialog--scrollable .mdc-dialog__title {\n @include feature-targeting-mixins.targets($feat-structure) {\n // Adjust bottom padding to make title height align to spec when divider is present.\n // (Titles for alert dialogs w/o dividers align based on text baseline. All spec values are divisible by 4.)\n padding-bottom: variables.$title-bottom-padding + 6px;\n }\n }\n\n .mdc-dialog__content {\n @include typography-mixins.typography(body1, $query: $query);\n\n @include feature-targeting-mixins.targets($feat-structure) {\n flex-grow: 1;\n box-sizing: border-box;\n margin: 0;\n padding: 20px 24px; // Note: the top padding is only 20px for dialogs without titles; see below for override\n overflow: auto;\n -webkit-overflow-scrolling: touch;\n }\n\n // The content element already has top/bottom padding, so we need to suppress margins on its first/last children.\n > :first-child {\n @include feature-targeting-mixins.targets($feat-structure) {\n margin-top: 0;\n }\n }\n\n // The content element already has top/bottom padding, so we need to suppress margins on its first/last children.\n > :last-child {\n @include feature-targeting-mixins.targets($feat-structure) {\n margin-bottom: 0;\n }\n }\n }\n\n // stylelint-disable-next-line plugin/selector-bem-pattern\n .mdc-dialog__title + .mdc-dialog__content {\n @include feature-targeting-mixins.targets($feat-structure) {\n // Eliminate padding to bring as close to spec as possible, relying on title padding.\n // (Spec seems inconsistent RE title/body spacing on alert vs. simple variants.)\n padding-top: 0;\n }\n }\n\n // stylelint-disable-next-line plugin/selector-bem-pattern\n .mdc-dialog--scrollable .mdc-dialog__content {\n @include feature-targeting-mixins.targets($feat-structure) {\n // Reduce and equalize vertical paddings when scrollable dividers are present\n // (Note: this is intentionally after title + content to take precedence)\n padding-top: 8px;\n padding-bottom: 8px;\n }\n }\n\n // stylelint-disable-next-line plugin/selector-bem-pattern\n .mdc-dialog__content .mdc-list:first-child:last-child {\n @include feature-targeting-mixins.targets($feat-structure) {\n // Override default .mdc-list padding for content consisting exclusively of a MDC List\n padding: 6px 0 0; // Top padding balances with title height\n }\n }\n\n // stylelint-disable-next-line plugin/selector-bem-pattern, selector-max-specificity\n .mdc-dialog--scrollable .mdc-dialog__content .mdc-list:first-child:last-child {\n @include feature-targeting-mixins.targets($feat-structure) {\n // Override default .mdc-list padding for content consisting exclusively of a MDC List\n padding: 0;\n }\n }\n\n .mdc-dialog__actions {\n @include feature-targeting-mixins.targets($feat-structure) {\n display: flex;\n position: relative;\n flex-shrink: 0;\n flex-wrap: wrap;\n align-items: center;\n justify-content: flex-end;\n box-sizing: border-box;\n min-height: 52px;\n margin: 0;\n padding: variables.$actions-padding;\n border-top: 1px solid transparent;\n }\n\n .mdc-dialog--stacked & {\n @include feature-targeting-mixins.targets($feat-structure) {\n flex-direction: column;\n align-items: flex-end;\n }\n }\n }\n\n .mdc-dialog__button {\n @include feature-targeting-mixins.targets($feat-structure) {\n @include rtl-mixins.reflexive-box(margin, left, 8px);\n }\n\n &:first-child {\n @include feature-targeting-mixins.targets($feat-structure) {\n @include rtl-mixins.reflexive-box(margin, left, 0);\n }\n }\n\n @include feature-targeting-mixins.targets($feat-structure) {\n max-width: 100%; // Prevent long text from overflowing parent element in IE 11\n /* @noflip */\n text-align: right;\n\n @include rtl-mixins.rtl(\".mdc-dialog\") {\n /* @noflip */\n text-align: left;\n }\n }\n\n .mdc-dialog--stacked &:not(:first-child) {\n @include feature-targeting-mixins.targets($feat-structure) {\n margin-top: 12px;\n }\n }\n }\n\n .mdc-dialog--open,\n .mdc-dialog--opening,\n .mdc-dialog--closing {\n @include feature-targeting-mixins.targets($feat-structure) {\n display: flex;\n }\n }\n\n .mdc-dialog--opening {\n .mdc-dialog__scrim {\n @include feature-targeting-mixins.targets($feat-animation) {\n transition: opacity 150ms linear;\n }\n }\n\n .mdc-dialog__container {\n @include feature-targeting-mixins.targets($feat-animation) {\n transition: opacity 75ms linear, animation-functions.enter(transform, 150ms);\n }\n }\n }\n\n .mdc-dialog--closing {\n .mdc-dialog__scrim,\n .mdc-dialog__container {\n @include feature-targeting-mixins.targets($feat-animation) {\n transition: opacity 75ms linear;\n }\n }\n\n .mdc-dialog__container {\n @include feature-targeting-mixins.targets($feat-structure) {\n // Dialog container scales up while opening, but should remain scaled up while closing\n transform: scale(1);\n }\n }\n }\n\n .mdc-dialog--open {\n .mdc-dialog__scrim {\n @include feature-targeting-mixins.targets($feat-structure) {\n opacity: 1;\n }\n }\n\n .mdc-dialog__container {\n @include feature-targeting-mixins.targets($feat-structure) {\n transform: scale(1);\n opacity: 1;\n }\n }\n }\n\n // postcss-bem-linter: end\n\n // Class applied to body while dialog is open, to prevent scrolling behind the dialog\n .mdc-dialog-scroll-lock {\n @include feature-targeting-mixins.targets($feat-structure) {\n overflow: hidden;\n }\n }\n}\n\n@mixin container-fill-color($color, $query: feature-targeting-functions.all()) {\n $feat-color: feature-targeting-functions.create-target($query, color);\n\n .mdc-dialog__surface {\n @include feature-targeting-mixins.targets($feat-color) {\n @include theme-mixins.prop(background-color, $color);\n }\n }\n}\n\n@mixin scrim-color($color, $opacity: variables.$scrim-opacity, $query: feature-targeting-functions.all()) {\n $feat-color: feature-targeting-functions.create-target($query, color);\n\n .mdc-dialog__scrim {\n @include feature-targeting-mixins.targets($feat-color) {\n background-color: rgba(theme-variables.prop-value($color), $opacity);\n }\n }\n}\n\n@mixin title-ink-color($color, $opacity: variables.$title-ink-opacity, $query: feature-targeting-functions.all()) {\n $feat-color: feature-targeting-functions.create-target($query, color);\n\n .mdc-dialog__title {\n @include feature-targeting-mixins.targets($feat-color) {\n color: rgba(theme-variables.prop-value($color), $opacity);\n }\n }\n}\n\n@mixin content-ink-color($color, $opacity: variables.$content-ink-opacity, $query: feature-targeting-functions.all()) {\n $feat-color: feature-targeting-functions.create-target($query, color);\n\n .mdc-dialog__content {\n @include feature-targeting-mixins.targets($feat-color) {\n color: rgba(theme-variables.prop-value($color), $opacity);\n }\n }\n}\n\n@mixin scroll-divider-color(\n $color,\n $opacity: variables.$scroll-divider-opacity,\n $query: feature-targeting-functions.all()\n) {\n $feat-color: feature-targeting-functions.create-target($query, color);\n\n &.mdc-dialog--scrollable .mdc-dialog__title,\n &.mdc-dialog--scrollable .mdc-dialog__actions {\n @include feature-targeting-mixins.targets($feat-color) {\n border-color: rgba(theme-variables.prop-value($color), $opacity);\n }\n }\n}\n\n@mixin shape-radius($radius, $rtl-reflexive: false, $query: feature-targeting-functions.all()) {\n $feat-structure: feature-targeting-functions.create-target($query, structure);\n\n .mdc-dialog__surface {\n @include shape-mixins.radius($radius, $rtl-reflexive, $query: $query);\n }\n}\n\n@mixin min-width($min-width, $query: feature-targeting-functions.all()) {\n $feat-structure: feature-targeting-functions.create-target($query, structure);\n\n .mdc-dialog__surface {\n @include feature-targeting-mixins.targets($feat-structure) {\n min-width: $min-width;\n }\n }\n}\n\n@mixin max-width($max-width, $margin, $query: feature-targeting-functions.all()) {\n $feat-structure: feature-targeting-functions.create-target($query, structure);\n $max-size-calc-expr: calc(100vw - #{$margin * 2});\n\n .mdc-dialog__surface {\n @include feature-targeting-mixins.targets($feat-structure) {\n @if $max-width {\n $max-width-breakpoint: $max-width + ($margin * 2);\n\n // Fit snugly within the viewport at smaller screen sizes.\n @media (max-width: $max-width-breakpoint) {\n max-width: $max-size-calc-expr;\n }\n\n // Once the screen gets big enough, apply a fixed maximum width.\n @media (min-width: $max-width-breakpoint) {\n max-width: $max-width;\n }\n } @else {\n max-width: $max-size-calc-expr;\n }\n }\n }\n}\n\n@mixin max-height($max-height, $margin, $query: feature-targeting-functions.all()) {\n $feat-structure: feature-targeting-functions.create-target($query, structure);\n $max-size-calc-expr: calc(100% - #{$margin * 2});\n\n .mdc-dialog__surface {\n @include feature-targeting-mixins.targets($feat-structure) {\n @if $max-height {\n $max-height-breakpoint: $max-height + ($margin * 2);\n\n // Fit snugly within the viewport at smaller screen sizes.\n @media (max-height: $max-height-breakpoint) {\n max-height: $max-size-calc-expr;\n }\n\n // Once the screen gets big enough, apply a fixed maximum height.\n @media (min-height: $max-height-breakpoint) {\n max-height: $max-height;\n }\n } @else {\n max-height: $max-size-calc-expr;\n }\n }\n }\n\n // Target IE 11.\n @media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n // On IE 11, if surface height is fixed and container height is 100%,\n // scrolling content overflows. So, reset height if surface height\n // is fixed.\n .mdc-dialog__container {\n @include feature-targeting-mixins.targets($feat-structure) {\n /* stylelint-disable */\n // Disable stylelint here, as nesting depth > 3 is required to\n // work around IE 11.\n @if $max-height {\n $max-height-breakpoint: $max-height + ($margin * 2);\n\n @media (min-height: $max-height-breakpoint) {\n align-items: stretch;\n height: auto;\n }\n }\n /* stylelint-enable*/\n }\n }\n }\n}\n\n// Applied to dialogs that have buttons with an increased touch target.\n@mixin with-touch-target($query: feature-targeting-functions.all()) {\n $feat-structure: feature-targeting-functions.create-target($query, structure);\n $touch-target-margin:\n (touch-target-variables.$height - button-variables.$height) / 2;\n $vertical-padding: math.max(0, variables.$actions-padding - $touch-target-margin);\n\n // Buttons with an increased touch target have added vertical margin, so\n // decrease the actions element padding to compensate.\n .mdc-dialog__actions {\n @include feature-targeting-mixins.targets($feat-structure) {\n padding-top: $vertical-padding;\n padding-bottom: $vertical-padding;\n\n // The below styles override the default button touch target values,\n // which otherwise cause `mdc-dialog__surface` to scroll unnnecessarily\n // in IE 11.\n .mdc-button__touch {\n top: -$touch-target-margin; // IE 11\n transform: none; // IE 11\n }\n }\n }\n}\n","//\n// Copyright 2018 Google Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n//\n\n$scrim-color: on-surface !default;\n$title-ink-color: on-surface !default;\n$content-ink-color: on-surface !default;\n$scroll-divider-color: on-surface !default;\n\n$scrim-opacity: .32 !default;\n$title-ink-opacity: .87 !default;\n$content-ink-opacity: .6 !default;\n$scroll-divider-opacity: .12 !default;\n\n$min-width: 280px !default;\n$max-width: 560px !default;\n$margin: 16px !default;\n$title-bottom-padding: 9px !default;\n$actions-padding: 8px !default;\n\n$z-index: 7 !default;\n","//\n// Copyright 2017 Google Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n//\n\n@use \"sass:list\";\n@use \"@material/feature-targeting/functions\";\n@use \"@material/feature-targeting/mixins\" as feature-targeting-mixins;\n@use \"@material/animation/functions\" as functions2;\n@use \"@material/animation/variables\" as animation-variables;\n@use \"@material/rtl/mixins\" as rtl-mixins;\n@use \"@material/typography/mixins\" as typography-mixins;\n@use \"@material/typography/variables\" as variables2;\n@use \"@material/theme/mixins\" as theme-mixins;\n@use \"@material/theme/variables\" as theme-variables;\n@use \"@material/list/mixins\" as list-mixins;\n@use \"@material/ripple/mixins\" as ripple-mixins;\n@use \"@material/shape/mixins\" as shape-mixins;\n@use \"@material/elevation/mixins\" as elevation-mixins;\n@use \"./variables\";\n\n//\n// Public\n//\n\n@mixin core-styles($query: functions.all()) {\n $feat-structure: functions.create-target($query, structure);\n $feat-animation: functions.create-target($query, animation);\n\n // postcss-bem-linter: define drawer\n .mdc-drawer {\n @include title-ink-color(variables.$title-ink-color, $query: $query);\n @include subtitle-ink-color(variables.$subtitle-ink-color, $query: $query);\n @include border-color(variables.$divider-color, $query: $query);\n @include surface-fill-color(variables.$surface-fill-color, $query: $query);\n @include item-icon-ink-color(variables.$item-inactive-ink-color, $query: $query);\n @include item-text-ink-color(variables.$item-inactive-ink-color, $query: $query);\n @include item-activated-icon-ink-color(variables.$item-activated-ink-color, $query: $query);\n @include item-activated-text-ink-color(variables.$item-activated-ink-color, $query: $query);\n @include shape-radius(large, $query: $query);\n @include item-shape-radius(4px, $query: $query);\n @include z-index(variables.$z-index, $query: $query);\n @include width(variables.$width, $query: $query);\n\n @include feature-targeting-mixins.targets($feat-structure) {\n display: flex;\n flex-direction: column;\n flex-shrink: 0;\n box-sizing: border-box;\n height: 100%;\n /* @noflip */\n border-right-width: 1px;\n /* @noflip */\n border-right-style: solid;\n overflow: hidden;\n\n @include rtl-mixins.rtl {\n /* @noflip */\n border-right-width: 0;\n /* @noflip */\n border-left-width: 1px;\n /* @noflip */\n border-right-style: none;\n /* @noflip */\n border-left-style: solid;\n }\n }\n\n @include feature-targeting-mixins.targets($feat-animation) {\n transition-property: transform;\n transition-timing-function: animation-variables.$standard-curve-timing-function;\n }\n\n @include list-item_($query);\n }\n\n .mdc-drawer--animate {\n @include feature-targeting-mixins.targets($feat-structure) {\n transform: translateX(-100%);\n\n @include rtl-mixins.rtl {\n transform: translateX(100%);\n }\n }\n }\n\n .mdc-drawer--opening {\n @include feature-targeting-mixins.targets($feat-structure) {\n transform: translateX(0);\n\n // Required to level the specificity with animate class.\n @include rtl-mixins.rtl {\n transform: translateX(0);\n }\n }\n\n @include feature-targeting-mixins.targets($feat-animation) {\n transition-duration: variables.$animation-enter;\n }\n }\n\n .mdc-drawer--closing {\n @include feature-targeting-mixins.targets($feat-structure) {\n transform: translateX(-100%);\n\n @include rtl-mixins.rtl {\n transform: translateX(100%);\n }\n }\n\n @include feature-targeting-mixins.targets($feat-animation) {\n transition-duration: variables.$animation-exit;\n }\n }\n\n .mdc-drawer__header {\n @include feature-targeting-mixins.targets($feat-structure) {\n flex-shrink: 0;\n box-sizing: border-box;\n min-height: 64px; // same as $mdc-top-app-bar-row-height\n padding: 0 variables.$surface-padding 4px;\n }\n }\n\n .mdc-drawer__title {\n @include typography-mixins.typography(headline6, $query: $query);\n @include typography-mixins.baseline-top(36px, $query: $query);\n @include typography-mixins.baseline-bottom(20px, $query: $query);\n }\n\n .mdc-drawer__subtitle {\n @include typography-mixins.typography(body2, $query: $query);\n @include typography-mixins.baseline-top(20px, $query: $query);\n\n @include feature-targeting-mixins.targets($feat-structure) {\n margin-bottom: 0;\n }\n }\n\n .mdc-drawer__content {\n @include feature-targeting-mixins.targets($feat-structure) {\n height: 100%;\n overflow-y: auto;\n -webkit-overflow-scrolling: touch;\n }\n }\n\n // postcss-bem-linter: end\n}\n\n@mixin dismissible-core-styles($query: functions.all()) {\n $feat-structure: functions.create-target($query, structure);\n\n .mdc-drawer--dismissible {\n @include feature-targeting-mixins.targets($feat-structure) {\n @include rtl-mixins.reflexive-position(left, 0);\n\n display: none;\n position: absolute;\n\n &.mdc-drawer--open {\n display: flex;\n }\n }\n }\n\n .mdc-drawer-app-content {\n @include feature-targeting-mixins.targets($feat-structure) {\n @include rtl-mixins.reflexive-box(margin, left, 0);\n\n position: relative;\n }\n }\n}\n\n@mixin modal-core-styles($query: functions.all()) {\n $feat-structure: functions.create-target($query, structure);\n $feat-animation: functions.create-target($query, animation);\n\n .mdc-drawer--modal {\n @include scrim-fill-color(variables.$modal-scrim-color, $query: $query);\n @include elevation-mixins.elevation(variables.$modal-elevation, $query: $query);\n\n @include feature-targeting-mixins.targets($feat-structure) {\n @include rtl-mixins.reflexive-position(left, 0);\n\n display: none;\n position: fixed;\n }\n\n &.mdc-drawer--open {\n @include feature-targeting-mixins.targets($feat-structure) {\n display: flex;\n }\n }\n }\n\n .mdc-drawer-scrim {\n @include feature-targeting-mixins.targets($feat-structure) {\n display: none;\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n z-index: variables.$z-index - 1;\n }\n\n @include feature-targeting-mixins.targets($feat-animation) {\n transition-property: opacity;\n transition-timing-function: animation-variables.$standard-curve-timing-function;\n }\n\n .mdc-drawer--open + & {\n @include feature-targeting-mixins.targets($feat-structure) {\n display: block;\n }\n }\n\n .mdc-drawer--animate + & {\n @include feature-targeting-mixins.targets($feat-structure) {\n opacity: 0;\n }\n }\n\n .mdc-drawer--opening + & {\n @include feature-targeting-mixins.targets($feat-animation) {\n transition-duration: variables.$animation-enter;\n }\n\n @include feature-targeting-mixins.targets($feat-structure) {\n opacity: 1;\n }\n }\n\n .mdc-drawer--closing + & {\n @include feature-targeting-mixins.targets($feat-animation) {\n transition-duration: variables.$animation-exit;\n }\n\n @include feature-targeting-mixins.targets($feat-structure) {\n opacity: 0;\n }\n }\n }\n}\n\n@mixin activated-overlay-color($color, $query: functions.all()) {\n :not(.mdc-list--non-interactive) > .mdc-list-item {\n @include ripple-mixins.states-activated($color, $query: $query);\n }\n}\n\n@mixin border-color($color, $query: functions.all()) {\n $feat-color: functions.create-target($query, color);\n $value: rgba(theme-variables.prop-value($color), variables.$divider-opacity);\n\n @include feature-targeting-mixins.targets($feat-color) {\n @include theme-mixins.prop(border-color, $value);\n }\n}\n\n@mixin item-shape-radius($radius, $rtl-reflexive: true, $query: functions.all()) {\n @include list-mixins.single-line-shape-radius($radius, $rtl-reflexive, $query: $query);\n}\n\n@mixin shape-radius($radius, $query: functions.all()) {\n @if list.length($radius) > 2 {\n @error \"Invalid radius: '#{$radius}' component doesn't allow customizing all corners\";\n } @else if list.length($radius) == 2 {\n $radius: 0 list.nth($radius, 1) list.nth($radius, 2) 0;\n } @else {\n $radius: 0 $radius $radius 0;\n }\n\n @include shape-mixins.radius($radius, $rtl-reflexive: true, $query: $query);\n}\n\n@mixin divider-color($color, $query: functions.all()) {\n $value: rgba(theme-variables.prop-value($color), variables.$divider-opacity);\n\n @include list-mixins.divider-color($value, $query: $query);\n}\n\n@mixin title-ink-color($color, $query: functions.all()) {\n $feat-color: functions.create-target($query, color);\n $value: rgba(theme-variables.prop-value($color), variables.$title-ink-opacity);\n\n .mdc-drawer__title {\n @include feature-targeting-mixins.targets($feat-color) {\n @include theme-mixins.prop(color, $value);\n }\n }\n}\n\n@mixin subtitle-ink-color($color, $query: functions.all()) {\n $feat-color: functions.create-target($query, color);\n $value: rgba(theme-variables.prop-value($color), variables.$subtitle-ink-opacity);\n\n @include list-mixins.group-subheader-ink-color($value, $query: $query);\n\n .mdc-drawer__subtitle {\n @include feature-targeting-mixins.targets($feat-color) {\n @include theme-mixins.prop(color, $value);\n }\n }\n}\n\n@mixin fill-color-accessible($color, $query: functions.all()) {\n $accessibleColor: theme-variables.accessible-ink-color($color);\n\n @include title-ink-color($accessibleColor, $query: $query);\n @include subtitle-ink-color($accessibleColor, $query: $query);\n @include item-text-ink-color($accessibleColor, $query: $query);\n @include item-icon-ink-color($accessibleColor, $query: $query);\n @include surface-fill-color($color, $query: $query);\n}\n\n@mixin item-icon-ink-color($color, $query: functions.all()) {\n $value: rgba(theme-variables.prop-value($color), variables.$item-inactive-icon-ink-opacity);\n\n @include list-mixins.item-graphic-ink-color($value, $query: $query);\n}\n\n@mixin item-activated-icon-ink-color($color, $query: functions.all()) {\n $value: rgba(theme-variables.prop-value($color), variables.$item-active-icon-ink-opacity);\n\n .mdc-list-item--activated {\n @include list-mixins.item-graphic-ink-color($value, $query: $query);\n }\n}\n\n@mixin item-activated-text-ink-color($color, $query: functions.all()) {\n $value: rgba(theme-variables.prop-value($color), variables.$item-active-text-ink-opacity);\n\n .mdc-list-item--activated {\n @include list-mixins.item-primary-text-ink-color($value, $query: $query);\n }\n}\n\n@mixin item-text-ink-color($color, $query: functions.all()) {\n $value: rgba(theme-variables.prop-value($color), variables.$item-inactive-text-ink-opacity);\n\n .mdc-list-item {\n @include list-mixins.item-primary-text-ink-color($value, $query: $query);\n }\n}\n\n@mixin surface-fill-color($color, $query: functions.all()) {\n $feat-color: functions.create-target($query, color);\n $value: theme-variables.prop-value($color);\n\n @include feature-targeting-mixins.targets($feat-color) {\n @include theme-mixins.prop(background-color, $value);\n }\n}\n\n@mixin scrim-fill-color($color, $query: functions.all()) {\n $feat-color: functions.create-target($query, color);\n $value: rgba(theme-variables.prop-value($color), variables.$modal-scrim-opacity);\n\n + .mdc-drawer-scrim {\n @include feature-targeting-mixins.targets($feat-color) {\n @include theme-mixins.prop(background-color, $value);\n }\n }\n}\n\n@mixin z-index($value, $query: functions.all()) {\n $feat-structure: functions.create-target($query, structure);\n\n @include feature-targeting-mixins.targets($feat-structure) {\n z-index: $value;\n }\n}\n\n@mixin width($width, $query: functions.all()) {\n $feat-structure: functions.create-target($query, structure);\n\n @include feature-targeting-mixins.targets($feat-structure) {\n width: $width;\n }\n\n &.mdc-drawer--open:not(.mdc-drawer--closing) + .mdc-drawer-app-content {\n @include feature-targeting-mixins.targets($feat-structure) {\n @include rtl-mixins.reflexive-box(margin, left, $width);\n }\n }\n}\n\n//\n// Private\n//\n@mixin list-item_($query: functions.all()) {\n $feat-structure: functions.create-target($query, structure);\n\n // postcss-bem-linter: ignore\n .mdc-list-item {\n @include typography-mixins.typography(subtitle2, $query: $query);\n\n @include feature-targeting-mixins.targets($feat-structure) {\n height: calc(48px - 2 * #{variables.$list-item-spacing});\n // To accomodate margin conflict.\n margin: (variables.$list-item-spacing * 2) 8px;\n padding: 0 variables.$surface-padding / 2;\n }\n }\n\n // postcss-bem-linter: ignore\n .mdc-list-item:nth-child(1) {\n @include feature-targeting-mixins.targets($feat-structure) {\n margin-top: 2px;\n }\n }\n\n // postcss-bem-linter: ignore\n .mdc-list-item:nth-last-child(1) {\n @include feature-targeting-mixins.targets($feat-structure) {\n margin-bottom: 0;\n }\n }\n\n // postcss-bem-linter: ignore\n .mdc-list-group__subheader {\n @include typography-mixins.typography(body2, $query: $query);\n @include typography-mixins.baseline-top(24px, $query: $query);\n\n @include feature-targeting-mixins.targets($feat-structure) {\n margin: 0;\n padding: 0 variables.$surface-padding;\n }\n }\n\n // postcss-bem-linter: ignore\n .mdc-list-divider {\n @include feature-targeting-mixins.targets($feat-structure) {\n margin: 3px 0 4px;\n }\n }\n\n // Prevents list item children from being included in the click target.\n // postcss-bem-linter: ignore\n .mdc-list-item__text,\n .mdc-list-item__graphic {\n @include feature-targeting-mixins.targets($feat-structure) {\n pointer-events: none;\n }\n }\n}\n","//\n// Copyright 2017 Google Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n//\n\n@use \"@material/theme/variables\";\n\n// Colors\n$title-ink-color: variables.prop-value(on-surface) !default;\n$subtitle-ink-color: variables.prop-value(on-surface) !default;\n$item-inactive-ink-color: variables.prop-value(on-surface) !default;\n$item-activated-ink-color: variables.prop-value(primary) !default;\n$divider-color: variables.prop-value(on-surface) !default;\n$surface-fill-color: variables.prop-value(surface) !default;\n\n// Opacity\n$title-ink-opacity: variables.text-emphasis(high) !default;\n$subtitle-ink-opacity: variables.text-emphasis(medium) !default;\n$item-inactive-icon-ink-opacity: variables.text-emphasis(medium) !default;\n$item-inactive-text-ink-opacity: variables.text-emphasis(high) !default;\n$item-active-icon-ink-opacity: 1 !default;\n$item-active-text-ink-opacity: variables.text-emphasis(high) !default;\n$divider-opacity: .12 !default;\n\n// Widths\n$width: 256px !default;\n$list-item-spacing: 4px !default;\n$surface-padding: 16px !default;\n\n// Animations\n$animation-enter: 250ms !default;\n$animation-exit: 200ms !default;\n\n// Scrim\n$modal-scrim-color: variables.prop-value(on-surface) !default;\n$modal-scrim-opacity: .32 !default;\n\n$z-index: 6 !default;\n$modal-elevation: 16 !default;\n","// Copyright 2016 Google Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n\n@use \"sass:map\";\n@use \"@material/density/functions\" as density-functions;\n@use \"@material/rtl/mixins\" as rtl-mixins;\n@use \"@material/theme/mixins\" as theme-mixins;\n@use \"@material/shape/functions\" as shape-functions;\n@use \"@material/shape/mixins\" as shape-mixins;\n@use \"@material/ripple/mixins\" as ripple-mixins;\n@use \"@material/theme/functions\" as theme-functions;\n@use \"@material/typography/mixins\" as typography-mixins;\n@use \"@material/typography/variables\" as typography-variables;\n@use \"@material/feature-targeting/functions\" as feature-targeting-functions;\n@use \"@material/feature-targeting/mixins\" as feature-targeting-mixins;\n@use \"./variables\";\n@use \"@material/ripple/functions\" as ripple-functions;\n@use \"@material/theme/variables\" as theme-variables;\n\n//\n// Public\n//\n\n@mixin core-styles($query: feature-targeting-functions.all()) {\n @include without-ripple($query);\n @include ripple($query);\n}\n\n// This API is intended for use by frameworks that may want to separate the ripple-related styles from the other\n// list styles. It is recommended that most users use `mdc-list-core-styles` instead.\n@mixin without-ripple($query: feature-targeting-functions.all()) {\n $feat-color: feature-targeting-functions.create-target($query, color);\n $feat-structure: feature-targeting-functions.create-target($query, structure);\n $feat-typography: feature-targeting-functions.create-target($query, typography);\n\n $item-primary-text-baseline-height: 32px;\n $item-secondary-text-baseline-height: 20px;\n $dense-item-primary-text-baseline-height: 24px;\n $divider-color: if(\n theme-functions.tone(theme-variables.$background) == \"dark\",\n variables.$divider-color-on-dark-bg,\n variables.$divider-color-on-light-bg\n );\n\n .mdc-list {\n @include base_($query);\n }\n\n @include single-line-density(variables.$single-line-density-scale, $query: $query);\n @include item-secondary-text-ink-color(text-secondary-on-background, $query);\n @include item-graphic-fill-color(transparent, $query);\n @include item-graphic-ink-color(text-icon-on-background, $query);\n @include item-meta-ink-color(text-hint-on-background, $query);\n @include group-subheader-ink-color(text-primary-on-background, $query);\n @include item-disabled-text-opacity(variables.$text-disabled-opacity, $query);\n @include item-disabled-text-color(variables.$text-disabled-color, $query);\n\n .mdc-list--dense {\n @include feature-targeting-mixins.targets($feat-structure) {\n padding-top: 4px;\n padding-bottom: 4px;\n font-size: .812rem;\n }\n }\n\n .mdc-list-item {\n @include feature-targeting-mixins.targets($feat-structure) {\n @include item-base_;\n }\n }\n\n // \"Selected\" is ephemeral and likely to change soon. E.g., selecting one or more photos to share in Google Photos.\n // \"Activated\" is more permanent. E.g., the currently highlighted navigation destination in a drawer.\n .mdc-list-item--selected,\n .mdc-list-item--activated {\n @include item-primary-text-ink-color(primary, $query);\n @include item-graphic-ink-color(primary, $query);\n }\n\n .mdc-list-item__graphic {\n @include feature-targeting-mixins.targets($feat-structure) {\n @include graphic-size_(24px);\n\n flex-shrink: 0;\n align-items: center;\n justify-content: center;\n fill: currentColor;\n }\n }\n\n // Extra specificity is to override .material-icons display style if used in\n // conjunction with mdc-list-item__graphic\n // stylelint-disable plugin/selector-bem-pattern\n .mdc-list .mdc-list-item__graphic {\n @include feature-targeting-mixins.targets($feat-structure) {\n display: inline-flex;\n }\n }\n // stylelint-enable plugin/selector-bem-pattern\n\n .mdc-list-item__meta {\n // stylelint-disable selector-class-pattern\n &:not(.material-icons) {\n @include typography-mixins.typography(caption, $query);\n }\n // stylelint-enable selector-class-pattern\n\n @include feature-targeting-mixins.targets($feat-structure) {\n @include rtl-mixins.reflexive-property(margin, auto, 0, \".mdc-list-item\");\n }\n }\n\n .mdc-list-item__text {\n @include typography-mixins.overflow-ellipsis($query);\n }\n\n // Disable interaction on label elements that may automatically\n // toggle corresponding checkbox / radio input.\n .mdc-list-item__text[for] {\n @include feature-targeting-mixins.targets($feat-structure) {\n pointer-events: none;\n }\n }\n\n .mdc-list-item__primary-text {\n @include typography-mixins.overflow-ellipsis($query);\n @include typography-mixins.baseline-top($item-primary-text-baseline-height, $query);\n @include typography-mixins.baseline-bottom($item-secondary-text-baseline-height, $query);\n\n @include feature-targeting-mixins.targets($feat-structure) {\n display: block;\n }\n\n // stylelint-disable plugin/selector-bem-pattern\n .mdc-list--dense & {\n @include typography-mixins.baseline-top($dense-item-primary-text-baseline-height, $query);\n @include typography-mixins.baseline-bottom($item-secondary-text-baseline-height, $query);\n }\n // stylelint-enable plugin/selector-bem-pattern\n }\n\n .mdc-list-item__secondary-text {\n @include typography-mixins.typography(body2, $query);\n @include typography-mixins.overflow-ellipsis($query);\n @include typography-mixins.baseline-top($item-secondary-text-baseline-height, $query);\n\n @include feature-targeting-mixins.targets($feat-structure) {\n display: block;\n }\n\n // stylelint-disable plugin/selector-bem-pattern\n .mdc-list--dense & {\n @include typography-mixins.baseline-top($item-secondary-text-baseline-height, $query);\n\n @include feature-targeting-mixins.targets($feat-structure) {\n font-size: inherit;\n }\n }\n // stylelint-enable plugin/selector-bem-pattern\n }\n\n // stylelint-disable plugin/selector-bem-pattern\n .mdc-list--dense .mdc-list-item {\n @include feature-targeting-mixins.targets($feat-structure) {\n height: 40px;\n }\n }\n\n .mdc-list--dense .mdc-list-item__graphic {\n @include feature-targeting-mixins.targets($feat-structure) {\n @include graphic-size_(20px);\n }\n }\n\n .mdc-list--avatar-list .mdc-list-item {\n @include feature-targeting-mixins.targets($feat-structure) {\n height: 56px;\n }\n }\n\n .mdc-list--avatar-list .mdc-list-item__graphic {\n @include feature-targeting-mixins.targets($feat-structure) {\n @include graphic-size_(40px);\n\n border-radius: 50%;\n }\n }\n\n .mdc-list--two-line .mdc-list-item__text {\n @include feature-targeting-mixins.targets($feat-structure) {\n align-self: flex-start;\n }\n }\n\n .mdc-list--two-line .mdc-list-item {\n @include feature-targeting-mixins.targets($feat-structure) {\n height: 72px;\n }\n }\n\n .mdc-list--two-line.mdc-list--dense .mdc-list-item,\n .mdc-list--avatar-list.mdc-list--dense .mdc-list-item {\n @include feature-targeting-mixins.targets($feat-structure) {\n height: 60px;\n }\n }\n\n .mdc-list--avatar-list.mdc-list--dense .mdc-list-item__graphic {\n @include feature-targeting-mixins.targets($feat-structure) {\n @include graphic-size_(36px);\n }\n }\n\n // Only change mouse cursor for interactive list items which are not disabled.\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item {\n @include feature-targeting-mixins.targets($feat-structure) {\n cursor: pointer;\n }\n }\n\n // Override anchor tag styles for the use-case of a list being used for navigation\n // stylelint-disable selector-max-type,selector-no-qualifying-type\n a.mdc-list-item {\n @include feature-targeting-mixins.targets($feat-structure) {\n color: inherit;\n text-decoration: none;\n }\n }\n // stylelint-enable selector-max-type,selector-no-qualifying-type\n\n .mdc-list-divider {\n @include feature-targeting-mixins.targets($feat-structure) {\n height: 0;\n margin: 0;\n border: none;\n border-bottom-width: 1px;\n border-bottom-style: solid;\n }\n }\n\n // Note: ideally we'd be able to hoist this to the top-level `$feat-color`, but doing so\n // will cause the `border` declaration on `.mdc-list-divider` above to override it.\n @include divider-color($divider-color, $query);\n\n .mdc-list-divider--padded {\n @include feature-targeting-mixins.targets($feat-structure) {\n // Leave gaps on each side to match the padding on list items\n margin: 0 variables.$side-padding;\n }\n }\n\n .mdc-list-divider--inset {\n @include feature-targeting-mixins.targets($feat-structure) {\n @include rtl-mixins.reflexive-box(margin, left, variables.$text-offset, \".mdc-list-group\");\n\n width: calc(100% - #{variables.$text-offset});\n }\n }\n\n .mdc-list-divider--inset.mdc-list-divider--padded {\n @include feature-targeting-mixins.targets($feat-structure) {\n width: calc(100% - #{variables.$text-offset} - #{variables.$side-padding});\n }\n }\n\n .mdc-list-group {\n @include feature-targeting-mixins.targets($feat-structure) {\n // Cancel top/bottom padding on individual lists within group\n .mdc-list {\n padding: 0;\n }\n }\n }\n\n .mdc-list-group__subheader {\n $mdc-list-subheader-virtual-height: 3rem;\n $mdc-list-subheader-leading: map.get(map.get(typography-variables.$styles, body1), line-height);\n $mdc-list-subheader-margin: calc((#{$mdc-list-subheader-virtual-height} - #{$mdc-list-subheader-leading}) / 2);\n\n @include typography-mixins.typography(subtitle1, $query);\n\n @include feature-targeting-mixins.targets($feat-structure) {\n margin: $mdc-list-subheader-margin variables.$side-padding;\n }\n }\n}\n\n// This API is intended for use by frameworks that may want to separate the ripple-related styles from the other\n// list styles. It is recommended that most users use `mdc-list-core-styles` instead.\n@mixin ripple($query: feature-targeting-functions.all()) {\n @include ripple-mixins.common($query); // COPYBARA_COMMENT_THIS_LINE\n\n // List items should support states by default, but it should be possible to opt out.\n // Direct child combinator is necessary for non-interactive modifier on parent to not\n // match this selector.\n :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item {\n @include item-interactive-ripple_($query);\n }\n\n // Set styles only for focus state on disabled list item.\n :not(.mdc-list--non-interactive) > .mdc-list-item--disabled {\n @include ripple-mixins.surface($query: $query);\n @include ripple-mixins.radius-bounded($query: $query);\n @include ripple-mixins.states-base-color(theme-variables.prop-value(on-surface), $query: $query);\n @include ripple-mixins.states-focus-opacity(ripple-functions.states-opacity(primary, focus), $query: $query);\n }\n}\n\n@mixin item-primary-text-ink-color($color, $query: feature-targeting-functions.all()) {\n $feat-color: feature-targeting-functions.create-target($query, color);\n\n @include feature-targeting-mixins.targets($feat-color) {\n @include theme-mixins.prop(color, $color);\n }\n}\n\n@mixin item-secondary-text-ink-color($color, $query: feature-targeting-functions.all()) {\n $feat-color: feature-targeting-functions.create-target($query, color);\n\n .mdc-list-item__secondary-text {\n @include feature-targeting-mixins.targets($feat-color) {\n @include theme-mixins.prop(color, $color);\n }\n }\n}\n\n@mixin item-graphic-fill-color($color, $query: feature-targeting-functions.all()) {\n $feat-color: feature-targeting-functions.create-target($query, color);\n\n .mdc-list-item__graphic {\n @include feature-targeting-mixins.targets($feat-color) {\n @include theme-mixins.prop(background-color, $color);\n }\n }\n}\n\n@mixin item-graphic-ink-color($color, $query: feature-targeting-functions.all()) {\n $feat-color: feature-targeting-functions.create-target($query, color);\n\n .mdc-list-item__graphic {\n @include feature-targeting-mixins.targets($feat-color) {\n @include theme-mixins.prop(color, $color);\n }\n }\n}\n\n@mixin item-meta-ink-color($color, $query: feature-targeting-functions.all()) {\n $feat-color: feature-targeting-functions.create-target($query, color);\n\n .mdc-list-item__meta {\n @include feature-targeting-mixins.targets($feat-color) {\n @include theme-mixins.prop(color, $color);\n }\n }\n}\n\n///\n/// Sets shape radius (rounded) to single line list variant.\n///\n/// @param {Number | List} $radius Radius size in `px` or percentage. It can be 4 value corner or single radius.\n/// Set to `50%` for rounded shape.\n/// @param {Boolean} $rtl-reflexive Set to true to flip border radius in RTL context. Defaults to `false`.\n/// @param {Number} $density-scale Density scale of single line list. Set this only when custom density is applied.\n/// Defaults to `$mdc-list-single-line-density-scale`.\n///\n/// @access public\n///\n@mixin single-line-shape-radius(\n $radius,\n $rtl-reflexive: false,\n $density-scale: variables.$single-line-density-scale,\n $query: feature-targeting-functions.all()) {\n\n $height: density-functions.prop-value(\n $density-config: variables.$single-line-density-config,\n $density-scale: $density-scale,\n $property-name: height,\n );\n\n $resolved-radius: shape-functions.resolve-percentage-radius($height, $radius);\n\n .mdc-list-item {\n @include shape-mixins.radius($resolved-radius, $rtl-reflexive, $query: $query);\n }\n}\n\n@mixin divider-color($color, $query: feature-targeting-functions.all()) {\n $feat-color: feature-targeting-functions.create-target($query, color);\n\n .mdc-list-divider {\n @include feature-targeting-mixins.targets($feat-color) {\n @include theme-mixins.prop(border-bottom-color, $color);\n }\n }\n}\n\n@mixin group-subheader-ink-color($color, $query: feature-targeting-functions.all()) {\n $feat-color: feature-targeting-functions.create-target($query, color);\n\n .mdc-list-group__subheader {\n @include feature-targeting-mixins.targets($feat-color) {\n @include theme-mixins.prop(color, $color);\n }\n }\n}\n\n@mixin item-disabled-text-opacity($opacity, $query: feature-targeting-functions.all()) {\n $feat-color: feature-targeting-functions.create-target($query, color);\n\n .mdc-list-item--disabled .mdc-list-item__text {\n @include feature-targeting-mixins.targets($feat-color) {\n opacity: $opacity;\n }\n }\n}\n\n@mixin item-disabled-text-color($color, $query: feature-targeting-functions.all()) {\n $feat-color: feature-targeting-functions.create-target($query, color);\n\n .mdc-list-item--disabled {\n .mdc-list-item__text,\n .mdc-list-item__primary-text,\n .mdc-list-item__secondary-text {\n @include feature-targeting-mixins.targets($feat-color) {\n @include theme-mixins.prop(color, $color);\n }\n }\n }\n}\n\n///\n/// Sets density scale to single line list variant.\n///\n/// @param {Number} $density-scale Density scale for list. Supported density scales are `-4`, `-3`, `-2`, `-1` and `0`.\n///\n/// @access public\n///\n@mixin single-line-density($density-scale, $query: feature-targeting-functions.all()) {\n $height: density-functions.prop-value(\n $density-config: variables.$single-line-density-config,\n $density-scale: $density-scale,\n $property-name: height,\n );\n\n .mdc-list-item {\n @include single-line-height($height, $query: $query);\n }\n}\n\n///\n/// Sets height to single line list variant.\n///\n/// @param {Number} $height Height value in `px`.\n///\n/// @access public\n///\n@mixin single-line-height($height, $query: feature-targeting-functions.all()) {\n $feat-structure: feature-targeting-functions.create-target($query, structure);\n\n @include feature-targeting-mixins.targets($feat-structure) {\n height: $height;\n }\n}\n\n//\n// Private\n//\n\n@mixin base_($query: feature-targeting-functions.all()) {\n $feat-color: feature-targeting-functions.create-target($query, color);\n $feat-structure: feature-targeting-functions.create-target($query, structure);\n $feat-typography: feature-targeting-functions.create-target($query, typography);\n\n @include typography-mixins.typography(subtitle1, $query);\n\n @include feature-targeting-mixins.targets($feat-typography) {\n // According to the mocks and stickersheet, the line-height is\n // adjusted to 24px for text content, same as for body1.\n /* @alternate */\n line-height: map.get(map.get(typography-variables.$styles, body1), line-height);\n }\n\n @include feature-targeting-mixins.targets($feat-structure) {\n margin: 0;\n padding: 8px 0;\n list-style-type: none;\n\n &:focus {\n outline: none;\n }\n }\n\n @include item-primary-text-ink-color(text-primary-on-background, $query);\n}\n\n@mixin item-base_ {\n display: flex;\n position: relative;\n align-items: center;\n justify-content: flex-start;\n padding: 0 variables.$side-padding;\n overflow: hidden;\n\n &:focus {\n outline: none;\n }\n}\n\n// Ripple styles for an interactive list item (one that is enabled and inside an interactive list).\n@mixin item-interactive-ripple_($query: feature-targeting-functions.all()) {\n @include ripple-mixins.surface($query);\n @include ripple-mixins.radius-bounded($query: $query);\n @include ripple-mixins.states(theme-variables.prop-value(on-surface), false, $query);\n @include ripple-mixins.states-activated(primary, false, $query);\n @include ripple-mixins.states-selected(primary, false, $query);\n}\n\n// Sets the width and height of the graphic element, as well as calculates the margins for\n// the graphic element such that the text is always offset by 72px, which is defined within\n// the spec.\n@mixin graphic-size_($size) {\n $text-offset: 72px;\n $side-padding: variables.$side-padding;\n $margin-value: $text-offset - $side-padding - $size;\n\n @include rtl-mixins.reflexive-box(margin, right, $margin-value, \".mdc-list-item\");\n\n width: $size;\n height: $size;\n}\n","//\n// Copyright 2017 Google Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n//\n\n@use \"@material/animation/variables\";\n\n$baseline-color: black !default;\n$umbra-opacity: .2 !default;\n$penumbra-opacity: .14 !default;\n$ambient-opacity: .12 !default;\n\n$umbra-map: (\n 0: \"0px 0px 0px 0px\",\n 1: \"0px 2px 1px -1px\",\n 2: \"0px 3px 1px -2px\",\n 3: \"0px 3px 3px -2px\",\n 4: \"0px 2px 4px -1px\",\n 5: \"0px 3px 5px -1px\",\n 6: \"0px 3px 5px -1px\",\n 7: \"0px 4px 5px -2px\",\n 8: \"0px 5px 5px -3px\",\n 9: \"0px 5px 6px -3px\",\n 10: \"0px 6px 6px -3px\",\n 11: \"0px 6px 7px -4px\",\n 12: \"0px 7px 8px -4px\",\n 13: \"0px 7px 8px -4px\",\n 14: \"0px 7px 9px -4px\",\n 15: \"0px 8px 9px -5px\",\n 16: \"0px 8px 10px -5px\",\n 17: \"0px 8px 11px -5px\",\n 18: \"0px 9px 11px -5px\",\n 19: \"0px 9px 12px -6px\",\n 20: \"0px 10px 13px -6px\",\n 21: \"0px 10px 13px -6px\",\n 22: \"0px 10px 14px -6px\",\n 23: \"0px 11px 14px -7px\",\n 24: \"0px 11px 15px -7px\"\n) !default;\n\n$penumbra-map: (\n 0: \"0px 0px 0px 0px\",\n 1: \"0px 1px 1px 0px\",\n 2: \"0px 2px 2px 0px\",\n 3: \"0px 3px 4px 0px\",\n 4: \"0px 4px 5px 0px\",\n 5: \"0px 5px 8px 0px\",\n 6: \"0px 6px 10px 0px\",\n 7: \"0px 7px 10px 1px\",\n 8: \"0px 8px 10px 1px\",\n 9: \"0px 9px 12px 1px\",\n 10: \"0px 10px 14px 1px\",\n 11: \"0px 11px 15px 1px\",\n 12: \"0px 12px 17px 2px\",\n 13: \"0px 13px 19px 2px\",\n 14: \"0px 14px 21px 2px\",\n 15: \"0px 15px 22px 2px\",\n 16: \"0px 16px 24px 2px\",\n 17: \"0px 17px 26px 2px\",\n 18: \"0px 18px 28px 2px\",\n 19: \"0px 19px 29px 2px\",\n 20: \"0px 20px 31px 3px\",\n 21: \"0px 21px 33px 3px\",\n 22: \"0px 22px 35px 3px\",\n 23: \"0px 23px 36px 3px\",\n 24: \"0px 24px 38px 3px\"\n) !default;\n\n$ambient-map: (\n 0: \"0px 0px 0px 0px\",\n 1: \"0px 1px 3px 0px\",\n 2: \"0px 1px 5px 0px\",\n 3: \"0px 1px 8px 0px\",\n 4: \"0px 1px 10px 0px\",\n 5: \"0px 1px 14px 0px\",\n 6: \"0px 1px 18px 0px\",\n 7: \"0px 2px 16px 1px\",\n 8: \"0px 3px 14px 2px\",\n 9: \"0px 3px 16px 2px\",\n 10: \"0px 4px 18px 3px\",\n 11: \"0px 4px 20px 3px\",\n 12: \"0px 5px 22px 4px\",\n 13: \"0px 5px 24px 4px\",\n 14: \"0px 5px 26px 4px\",\n 15: \"0px 6px 28px 5px\",\n 16: \"0px 6px 30px 5px\",\n 17: \"0px 6px 32px 5px\",\n 18: \"0px 7px 34px 6px\",\n 19: \"0px 7px 36px 6px\",\n 20: \"0px 8px 38px 7px\",\n 21: \"0px 8px 40px 7px\",\n 22: \"0px 8px 42px 7px\",\n 23: \"0px 9px 44px 8px\",\n 24: \"0px 9px 46px 8px\"\n) !default;\n\n// The css property used for elevation. In most cases this should not be changed. It is exposed\n// as a variable for abstraction / easy use when needing to reference the property directly, for\n// example in a `will-change` rule.\n$property: box-shadow !default;\n\n// The default color for the elevation overlay.\n$overlay-color: #fff;\n\n// The css property used for elevation overlay transitions. In most cases this should not be changed. It is exposed\n// as a variable for abstraction / easy use when needing to reference the property directly, for\n// example in a `will-change` rule.\n$overlay-property: opacity !default;\n\n// The default duration value for elevation transitions.\n$transition-duration: 280ms !default;\n\n// The default easing value for elevation transitions.\n$transition-timing-function: variables.$standard-curve-timing-function !default;\n","// Copyright 2016 Google Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n\n@use \"@material/animation/functions\" as animation-functions;\n@use \"@material/elevation/mixins\" as elevation-mixins;\n@use \"@material/elevation/variables\" as elevation-variables;\n@use \"@material/feature-targeting/functions\" as feature-targeting-functions;\n@use \"@material/feature-targeting/mixins\" as feature-targeting-mixins;\n@use \"@material/ripple/mixins\" as ripple-mixins;\n@use \"@material/ripple/variables\" as variables2;\n@use \"@material/rtl/mixins\" as rtl-mixins;\n@use \"@material/shape/mixins\" as shape-mixins;\n@use \"@material/shape/functions\" as shape-functions;\n@use \"@material/theme/functions\" as theme-functions;\n@use \"@material/theme/mixins\" as theme-mixins;\n@use \"@material/touch-target/mixins\" as touch-target-mixins;\n@use \"@material/typography/mixins\" as typography-mixins;\n@use \"./variables\";\n\n$ripple-target: \".mdc-fab__ripple\";\n\n@mixin core-styles($query: feature-targeting-functions.all()) {\n @include without-ripple($query);\n @include ripple($query);\n}\n\n@mixin without-ripple($query: feature-targeting-functions.all()) {\n // postcss-bem-linter: define fab\n\n @include touch-target-mixins.wrapper($query); // COPYBARA_COMMENT_THIS_LINE\n @include elevation-mixins.overlay-common($query); // COPYBARA_COMMENT_THIS_LINE\n\n .mdc-fab {\n @include base_($query: $query);\n @include container-color(secondary, $query: $query);\n @include icon-size(24px, $query: $query);\n @include ink-color(on-secondary, $query: $query);\n }\n\n .mdc-fab--mini {\n @include mini_($query: $query);\n }\n\n .mdc-fab--extended {\n @include extended_($query: $query);\n }\n\n .mdc-fab--touch {\n @include touch-target-mixins.margin(\n $component-height: variables.$mini-height,\n $component-width: variables.$mini-height,\n $query: $query);\n\n .mdc-fab__touch {\n @include touch-target-mixins.touch-target($set-width: true, $query: $query);\n }\n }\n\n .mdc-fab__label {\n @include label_($query: $query);\n }\n\n .mdc-fab__icon {\n @include icon_($query: $query);\n }\n\n // Increase specificity for FAB icon styles that need to override styles defined for .material-icons\n // (which is loaded separately so the order of CSS definitions is not guaranteed)\n .mdc-fab .mdc-fab__icon {\n @include icon-overrides_($query: $query);\n }\n\n .mdc-fab--exited {\n @include exited_($query: $query);\n }\n\n // postcss-bem-linter: end\n}\n\n@mixin ripple($query: feature-targeting-functions.all()) {\n $feat-structure: feature-targeting-functions.create-target($query, structure);\n\n @include ripple-mixins.common($query); // COPYBARA_COMMENT_THIS_LINE\n\n // postcss-bem-linter: define fab\n\n .mdc-fab {\n @include ripple-mixins.surface(\n $query: $query, $ripple-target: $ripple-target);\n @include ripple-mixins.radius-bounded(\n $query: $query, $ripple-target: $ripple-target);\n @include ripple-mixins.states(\n on-secondary, $query: $query, $ripple-target: $ripple-target);\n\n // stylelint-disable-next-line plugin/selector-bem-pattern\n #{$ripple-target} {\n @include ripple-mixins.target-common($query: $query);\n\n @include feature-targeting-mixins.targets($feat-structure) {\n overflow: hidden;\n }\n }\n }\n\n // postcss-bem-linter: end\n}\n\n@mixin accessible($container-color, $query: feature-targeting-functions.all()) {\n @include container-color($container-color, $query: $query);\n\n $fill-tone: theme-functions.tone($container-color);\n\n @if ($fill-tone == \"dark\") {\n @include ink-color(text-primary-on-dark, $query: $query);\n @include ripple-mixins.states(\n text-primary-on-dark,\n $query: $query,\n $ripple-target: $ripple-target);\n } @else {\n @include ink-color(text-primary-on-light, $query: $query);\n @include ripple-mixins.states(\n text-primary-on-light,\n $query: $query,\n $ripple-target: $ripple-target);\n }\n}\n\n@mixin container-color($color, $query: feature-targeting-functions.all()) {\n $feat-color: feature-targeting-functions.create-target($query, color);\n\n @include feature-targeting-mixins.targets($feat-color) {\n @include theme-mixins.prop(background-color, $color);\n }\n}\n\n@mixin icon-size($width, $height: $width, $query: feature-targeting-functions.all()) {\n $feat-structure: feature-targeting-functions.create-target($query, structure);\n\n .mdc-fab__icon {\n @include feature-targeting-mixins.targets($feat-structure) {\n width: $width;\n height: $height;\n font-size: $height;\n }\n }\n}\n\n@mixin ink-color($color, $query: feature-targeting-functions.all()) {\n $feat-color: feature-targeting-functions.create-target($query, color);\n\n @include feature-targeting-mixins.targets($feat-color) {\n @include theme-mixins.prop(color, $color);\n }\n}\n\n@mixin extended-fluid($query: feature-targeting-functions.all()) {\n $feat-structure: feature-targeting-functions.create-target($query, structure);\n\n @include feature-targeting-mixins.targets($feat-structure) {\n width: 100%;\n }\n}\n\n@mixin extended-padding($icon-padding, $label-padding, $query: feature-targeting-functions.all()) {\n $feat-structure: feature-targeting-functions.create-target($query, structure);\n\n @include extended-label-padding($label-padding, $query: $query);\n\n // Offsets the outer label padding by deducting it from icon padding.\n .mdc-fab__icon {\n @include feature-targeting-mixins.targets($feat-structure) {\n @include rtl-mixins.reflexive-property(margin, $icon-padding - $label-padding, $icon-padding);\n }\n }\n\n // For Extended FAB with text label followed by icon.\n .mdc-fab__label + .mdc-fab__icon {\n @include feature-targeting-mixins.targets($feat-structure) {\n @include rtl-mixins.reflexive-property(margin, $icon-padding, $icon-padding - $label-padding);\n }\n }\n}\n\n@mixin extended-label-padding($label-padding, $query: feature-targeting-functions.all()) {\n $feat-structure: feature-targeting-functions.create-target($query, structure);\n\n @include feature-targeting-mixins.targets($feat-structure) {\n padding: 0 $label-padding;\n }\n}\n\n@mixin shape-radius($radius, $rtl-reflexive: false, $query: feature-targeting-functions.all()) {\n &:not(.mdc-fab--extended) {\n @include shape-mixins.radius($radius, $rtl-reflexive, $query: $query);\n\n #{$ripple-target} {\n @include shape-mixins.radius($radius, $rtl-reflexive, $query: $query);\n }\n }\n}\n\n@mixin extended-shape-radius($radius, $rtl-reflexive: false, $query: feature-targeting-functions.all()) {\n @include shape-mixins.radius(\n shape-functions.resolve-percentage-radius(variables.$extended-height, $radius),\n $rtl-reflexive,\n $query: $query\n );\n\n #{$ripple-target} {\n @include shape-mixins.radius(\n shape-functions.resolve-percentage-radius(variables.$extended-height, $radius),\n $rtl-reflexive,\n $query: $query\n );\n }\n}\n\n$icon-enter-delay_: 90ms;\n$icon-enter-duration_: 180ms;\n\n@mixin base_($query: feature-targeting-functions.all()) {\n @include elevation-mixins.overlay-surface-position($query: $query);\n @include elevation-mixins.overlay-dimensions(100%, $query: $query);\n @include elevation-mixins.elevation(6, $query: $query);\n @include shape-radius(50%, $query: $query);\n\n $feat-animation: feature-targeting-functions.create-target($query, animation);\n $feat-structure: feature-targeting-functions.create-target($query, structure);\n\n @include feature-targeting-mixins.targets($feat-structure) {\n display: inline-flex;\n position: relative;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n width: variables.$height;\n height: variables.$height;\n padding: 0;\n border: none;\n fill: currentColor;\n text-decoration: none;\n cursor: pointer;\n user-select: none;\n -moz-appearance: none;\n -webkit-appearance: none;\n // Even though `visible` is the default, IE 11 computes the property as\n // `hidden` in some cases, unless it's explicitly defined here.\n overflow: visible;\n }\n\n @include feature-targeting-mixins.targets($feat-animation) {\n transition:\n box-shadow elevation-variables.$transition-duration elevation-variables.$transition-timing-function,\n opacity 15ms linear 30ms,\n animation-functions.enter(transform, $icon-enter-duration_ + $icon-enter-delay_);\n }\n\n &::-moz-focus-inner {\n @include feature-targeting-mixins.targets($feat-structure) {\n padding: 0;\n border: 0;\n }\n }\n\n &:hover,\n &:focus {\n @include elevation-mixins.elevation(8, $query: $query);\n }\n\n &:active {\n @include elevation-mixins.elevation(12, $query: $query);\n }\n\n &:active,\n &:focus {\n // TODO(acdvorak): Should this be paired with states and/or ripple? We don't want to disable outline\n // (an accessibility/usability feature) unless we're confident that there is also a visual indication that the\n // element has focus. If the client has customized the DOM in some unexpected way, and is certain that another\n // element will receive focus instead, they can always override this property manually in their CSS.\n @include feature-targeting-mixins.targets($feat-structure) {\n outline: none;\n }\n }\n\n &:hover {\n @include feature-targeting-mixins.targets($feat-structure) {\n cursor: pointer;\n }\n }\n\n // This allows for using SVGs within them to align properly in all browsers.\n // Can remove once: https://bugzilla.mozilla.org/show_bug.cgi?id=1294515 is resolved.\n\n // stylelint-disable selector-max-type\n // postcss-bem-linter: ignore\n > svg {\n @include feature-targeting-mixins.targets($feat-structure) {\n width: 100%;\n }\n }\n // stylelint-enable selector-max-type\n}\n\n@mixin mini_($query: feature-targeting-functions.all()) {\n $feat-structure: feature-targeting-functions.create-target($query, structure);\n\n @include feature-targeting-mixins.targets($feat-structure) {\n width: variables.$mini-height;\n height: variables.$mini-height;\n }\n}\n\n@mixin extended_($query: feature-targeting-functions.all()) {\n @include typography-mixins.typography(button, $query: $query);\n @include extended-shape-radius(50%, $query: $query);\n @include extended-padding(variables.$extended-icon-padding, variables.$extended-label-padding, $query: $query);\n\n $feat-structure: feature-targeting-functions.create-target($query, structure);\n\n @include feature-targeting-mixins.targets($feat-structure) {\n width: auto;\n max-width: 100%;\n height: variables.$extended-height;\n // This allows the text within the extended fab to be centered for varying font sizes.\n /* @alternate */\n line-height: normal;\n }\n}\n\n@mixin icon_($query: feature-targeting-functions.all()) {\n $feat-animation: feature-targeting-functions.create-target($query, animation);\n $feat-structure: feature-targeting-functions.create-target($query, structure);\n\n @include feature-targeting-mixins.targets($feat-animation) {\n transition: animation-functions.enter(transform, $icon-enter-duration_, $icon-enter-delay_);\n }\n\n @include feature-targeting-mixins.targets($feat-structure) {\n fill: currentColor;\n will-change: transform;\n }\n}\n\n@mixin label_($query: feature-targeting-functions.all()) {\n $feat-structure: feature-targeting-functions.create-target($query, structure);\n\n @include feature-targeting-mixins.targets($feat-structure) {\n justify-content: flex-start;\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow-x: hidden;\n overflow-y: visible;\n }\n}\n\n@mixin icon-overrides_($query: feature-targeting-functions.all()) {\n $feat-structure: feature-targeting-functions.create-target($query, structure);\n\n @include feature-targeting-mixins.targets($feat-structure) {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n }\n}\n\n@mixin exited_($query: feature-targeting-functions.all()) {\n $feat-animation: feature-targeting-functions.create-target($query, animation);\n $feat-structure: feature-targeting-functions.create-target($query, structure);\n\n @include feature-targeting-mixins.targets($feat-structure) {\n transform: scale(0);\n opacity: 0;\n }\n\n @include feature-targeting-mixins.targets($feat-animation) {\n transition:\n opacity 15ms linear 150ms,\n animation-functions.exit-permanent(transform, 180ms);\n }\n\n .mdc-fab__icon {\n @include feature-targeting-mixins.targets($feat-structure) {\n transform: scale(0);\n }\n\n @include feature-targeting-mixins.targets($feat-animation) {\n transition: animation-functions.exit-permanent(transform, 135ms);\n }\n }\n}\n","//\n// Copyright 2018 Google Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n//\n\n$extended-icon-padding: 12px !default;\n$extended-label-padding: 20px !default;\n$height: 56px !default;\n$mini-height: 40px !default;\n$extended-height: 48px !default;\n","//\n// Copyright 2018 Google Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n//\n\n@use \"@material/rtl/mixins\" as rtl-mixins;\n@use \"@material/theme/variables\" as variables2;\n@use \"@material/theme/mixins\" as theme-mixins;\n@use \"@material/feature-targeting/functions\";\n@use \"@material/feature-targeting/mixins\" as feature-targeting-mixins;\n@use \"@material/animation/variables\" as animation-variables;\n@use \"@material/typography/mixins\" as typography-mixins;\n@use \"./variables\";\n\n@mixin core-styles($query: functions.all()) {\n $feat-structure: functions.create-target($query, structure);\n $feat-animation: functions.create-target($query, animation);\n\n // postcss-bem-linter: define floating-label\n .mdc-floating-label {\n @include typography-mixins.typography(subtitle1, $exclude-props: (line-height), $query: $query);\n\n @include feature-targeting-mixins.targets($feat-structure) {\n position: absolute;\n /* @noflip */\n left: 0;\n /* @noflip */\n transform-origin: left top;\n line-height: 1.15rem;\n text-align: left;\n text-overflow: ellipsis;\n white-space: nowrap;\n cursor: text;\n overflow: hidden;\n\n /* @alternate */\n // Force the label into its own layer to prevent visible layer promotion adjustments\n // when the ripple is activated behind it.\n will-change: transform;\n\n @include rtl-mixins.rtl {\n /* @noflip */\n right: 0;\n /* @noflip */\n left: auto;\n /* @noflip */\n transform-origin: right top;\n /* @noflip */\n text-align: right;\n }\n }\n\n @include feature-targeting-mixins.targets($feat-animation) {\n transition:\n transform variables.$transition-duration animation-variables.$standard-curve-timing-function,\n color variables.$transition-duration animation-variables.$standard-curve-timing-function;\n }\n }\n\n .mdc-floating-label--float-above {\n @include feature-targeting-mixins.targets($feat-structure) {\n cursor: auto;\n }\n }\n\n @at-root {\n @include float-position(variables.$position-y, $query: $query);\n @include shake-animation(standard, $query: $query);\n }\n\n @include shake-keyframes(standard, variables.$position-y, $query: $query);\n}\n\n@mixin ink-color($color, $query: functions.all()) {\n $feat-color: functions.create-target($query, color);\n\n @include feature-targeting-mixins.targets($feat-color) {\n @include theme-mixins.prop(color, $color);\n }\n}\n\n// Used for textarea in case of scrolling\n@mixin fill-color($color, $query: functions.all()) {\n $feat-color: functions.create-target($query, color);\n\n @include feature-targeting-mixins.targets($feat-color) {\n @include theme-mixins.prop(background-color, $color);\n }\n}\n\n@mixin shake-keyframes(\n $modifier, $positionY, $positionX: 0%, $scale: .75, $query: functions.all()) {\n $feat-animation: functions.create-target($query, animation);\n\n @include feature-targeting-mixins.targets($feat-animation) {\n @keyframes mdc-floating-label-shake-float-above-#{$modifier} {\n 0% {\n transform: translateX(calc(0 - #{$positionX})) translateY(-#{$positionY}) scale(#{$scale});\n }\n\n 33% {\n animation-timing-function: cubic-bezier(.5, 0, .701732, .495819);\n transform: translateX(calc(4% - #{$positionX})) translateY(-#{$positionY}) scale(#{$scale});\n }\n\n 66% {\n animation-timing-function: cubic-bezier(.302435, .381352, .55, .956352);\n transform: translateX(calc(-4% - #{$positionX})) translateY(-#{$positionY}) scale(#{$scale});\n }\n\n 100% {\n transform: translateX(calc(0 - #{$positionX})) translateY(-#{$positionY}) scale(#{$scale});\n }\n }\n }\n}\n\n@mixin float-position($positionY, $positionX: 0%, $scale: .75, $query: functions.all()) {\n $feat-structure: functions.create-target($query, structure);\n\n .mdc-floating-label--float-above {\n @include feature-targeting-mixins.targets($feat-structure) {\n @if $positionX > 0 or $positionX < 0 {\n transform: translateY(-1 * $positionY) translateX(-1 * $positionX) scale($scale);\n\n @include rtl-mixins.rtl {\n transform: translateY(-1 * $positionY) translateX($positionX) scale($scale);\n }\n } @else {\n transform: translateY(-1 * $positionY) scale($scale);\n }\n }\n }\n}\n\n@mixin shake-animation($modifier, $query: functions.all()) {\n $feat-animation: functions.create-target($query, animation);\n\n .mdc-floating-label--shake {\n @include feature-targeting-mixins.targets($feat-animation) {\n animation: mdc-floating-label-shake-float-above-#{$modifier} 250ms 1;\n }\n }\n}\n\n@mixin max-width($max-width, $query: functions.all()) {\n $feat-structure: functions.create-target($query, structure);\n\n @include feature-targeting-mixins.targets($feat-structure) {\n max-width: $max-width;\n }\n}\n","//\n// Copyright 2019 Google Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n//\n\n@use \"@material/feature-targeting/functions\";\n@use \"@material/feature-targeting/mixins\" as feature-targeting-mixins;\n@use \"@material/rtl/mixins\" as rtl-mixins;\n@use \"@material/theme/mixins\" as theme-mixins;\n@use \"@material/typography/mixins\" as typography-mixins;\n@use \"./variables\";\n\n@mixin core-styles($query: functions.all()) {\n $feat-color: functions.create-target($query, color);\n $feat-structure: functions.create-target($query, structure);\n\n .mdc-form-field {\n @include typography-mixins.typography(body2, $query);\n\n @include feature-targeting-mixins.targets($feat-color) {\n @include theme-mixins.prop(color, text-primary-on-background);\n }\n\n @include feature-targeting-mixins.targets($feat-structure) {\n display: inline-flex;\n align-items: center;\n vertical-align: middle;\n }\n\n // stylelint-disable-next-line selector-max-type\n > label {\n @include feature-targeting-mixins.targets($feat-structure) {\n @include rtl-mixins.reflexive-property(margin, 0, auto);\n @include rtl-mixins.reflexive-property(padding, variables.$item-spacing, 0);\n\n order: 0;\n }\n }\n }\n\n .mdc-form-field--align-end {\n // stylelint-disable-next-line selector-max-type\n > label {\n @include feature-targeting-mixins.targets($feat-structure) {\n @include rtl-mixins.reflexive-property(margin, auto, 0);\n @include rtl-mixins.reflexive-property(padding, 0, variables.$item-spacing);\n\n order: -1;\n }\n }\n }\n}\n","//\n// Copyright 2018 Google Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n//\n\n@use \"sass:math\";\n@use \"@material/density/functions\" as density-functions;\n@use \"@material/feature-targeting/functions\" as feature-targeting-functions;\n@use \"@material/feature-targeting/mixins\" as feature-targeting-mixins;\n@use \"@material/ripple/mixins\" as ripple-mixins;\n@use \"@material/theme/mixins\" as theme-mixins;\n@use \"./variables\";\n\n@mixin core-styles($query: feature-targeting-functions.all()) {\n @include without-ripple($query);\n @include ripple($query);\n}\n\n@mixin without-ripple($query: feature-targeting-functions.all()) {\n $feat-structure: feature-targeting-functions.create-target($query, structure);\n\n // postcss-bem-linter: define icon-button\n .mdc-icon-button {\n @include base_($query: $query);\n @include density(0, $query: $query);\n }\n\n .mdc-icon-button__icon {\n @include feature-targeting-mixins.targets($feat-structure) {\n display: inline-block;\n }\n\n // stylelint-disable-next-line plugin/selector-bem-pattern\n &.mdc-icon-button__icon--on {\n @include feature-targeting-mixins.targets($feat-structure) {\n display: none;\n }\n }\n }\n\n .mdc-icon-button--on {\n .mdc-icon-button__icon {\n @include feature-targeting-mixins.targets($feat-structure) {\n display: none;\n }\n\n // stylelint-disable-next-line plugin/selector-bem-pattern\n &.mdc-icon-button__icon--on {\n @include feature-targeting-mixins.targets($feat-structure) {\n display: inline-block;\n }\n }\n }\n }\n // postcss-bem-linter: end\n}\n\n@mixin ripple($query: feature-targeting-functions.all()) {\n @include ripple-mixins.common($query); // COPYBARA_COMMENT_THIS_LINE\n\n .mdc-icon-button {\n @include ripple-mixins.surface($query: $query);\n @include ripple-mixins.radius-unbounded($query: $query);\n @include ripple-mixins.states($query: $query);\n }\n}\n\n///\n/// Sets the density scale for icon button.\n///\n/// @param {Number | String} $density-scale - Density scale value for component.\n/// Supported density scale values range from `-5` to `0`, with `0` being the default.\n///\n@mixin density($density-scale, $query: feature-targeting-functions.all()) {\n $size: density-functions.prop-value(\n $density-config: variables.$density-config,\n $density-scale: $density-scale,\n $property-name: size,\n );\n\n @include size($size, $query: $query);\n}\n\n///\n/// Sets the size of the icon-button.\n///\n/// @param {Number} $size - Size value for icon-button.\n/// Size will set the width, height, and padding for the overall component.\n///\n@mixin size($size, $query: feature-targeting-functions.all()) {\n $feat-structure: feature-targeting-functions.create-target($query, structure);\n\n @include feature-targeting-mixins.targets($feat-structure) {\n width: $size;\n height: $size;\n padding: ($size - variables.$icon-size) / 2;\n }\n}\n\n///\n/// Sets the width, height and padding of icon button. Also changes the size of\n/// the icon itself based on button size.\n///\n/// @param {Number} $width - Width value for icon-button.\n/// @param {Number} $height - Height value for icon-button. (default: $width)\n/// @param {Number} $padding - Padding value for icon-button. (default: max($width, $height) / 2)\n/// @deprecated\n/// This mixin provides too much of low level customization.\n/// Please use mdc-icon-button-size instead.\n///\n@mixin icon-size($width, $height: $width, $padding: math.max($width,$height) / 2, $query: feature-targeting-functions.all()) {\n $feat-structure: feature-targeting-functions.create-target($query, structure);\n\n @include feature-targeting-mixins.targets($feat-structure) {\n width: $width + $padding * 2;\n height: $height + $padding * 2;\n padding: $padding;\n font-size: math.max($width, $height);\n }\n\n // stylelint-disable-next-line selector-max-type\n svg,\n img {\n @include feature-targeting-mixins.targets($feat-structure) {\n width: $width;\n height: $height;\n }\n }\n}\n\n///\n/// Sets the font color and the ripple color to the provided color value.\n/// @param {Color} $color - The desired font and ripple color.\n///\n@mixin ink-color($color, $query: feature-targeting-functions.all()) {\n @include ink-color_($color, $query: $query);\n @include ripple-mixins.states($color, $query: $query);\n}\n\n///\n/// Sets the font color to the provided color value for a disabled icon button.\n/// @param {Color} $color - The desired font color.\n///\n@mixin disabled-ink-color($color, $query: feature-targeting-functions.all()) {\n @include if-disabled_ {\n @include ink-color_($color, $query: $query);\n }\n}\n\n@mixin base_($query: feature-targeting-functions.all()) {\n $feat-structure: feature-targeting-functions.create-target($query, structure);\n\n @include feature-targeting-mixins.targets($feat-structure) {\n display: inline-block;\n position: relative;\n box-sizing: border-box;\n border: none;\n outline: none;\n background-color: transparent;\n fill: currentColor;\n color: inherit;\n font-size: variables.$icon-size;\n text-decoration: none;\n cursor: pointer;\n user-select: none;\n }\n\n // stylelint-disable-next-line selector-max-type\n svg,\n img {\n @include feature-targeting-mixins.targets($feat-structure) {\n width: variables.$icon-size;\n height: variables.$icon-size;\n }\n }\n\n @include disabled-ink-color(text-disabled-on-light, $query: $query);\n\n @include if-disabled_ {\n @include feature-targeting-mixins.targets($feat-structure) {\n cursor: default;\n pointer-events: none;\n }\n }\n}\n\n///\n/// Sets the font color to the provided color value. This can be wrapped in\n/// a state qualifier such as `mdc-icon-button-if-disabled_`.\n/// @access private\n///\n@mixin ink-color_($color, $query: feature-targeting-functions.all()) {\n $feat-color: feature-targeting-functions.create-target($query, color);\n\n @include feature-targeting-mixins.targets($feat-color) {\n @include theme-mixins.prop(color, $color);\n }\n}\n\n///\n/// Helps style the icon button in its disabled state.\n/// @access private\n///\n@mixin if-disabled_ {\n &:disabled {\n @content;\n }\n}\n","//\n// Copyright 2018 Google Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n//\n\n@use \"@material/density/variables\";\n\n$icon-size: 24px !default;\n\n$size: 48px !default;\n$minimum-height: 28px !default;\n$maximum-height: $size !default;\n$density-scale: variables.$default-scale !default;\n$density-config: (\n size: (\n default: $size,\n maximum: $maximum-height,\n minimum: $minimum-height,\n ),\n) !default;\n","// Copyright 2018 Google Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n\n@use \"@material/feature-targeting/functions\" as feature-targeting-functions;\n@use \"@material/feature-targeting/mixins\" as feature-targeting-mixins;\n@use \"@material/shape/mixins\" as shape-mixins;\n@use \"@material/shape/functions\" as shape-functions;\n@use \"@material/theme/mixins\" as theme-mixins;\n@use \"@material/typography/mixins\" as typography-mixins;\n@use \"./variables\";\n\n@mixin core-styles($query: feature-targeting-functions.all()) {\n $feat-color: feature-targeting-functions.create-target($query, color);\n $feat-structure: feature-targeting-functions.create-target($query, structure);\n\n // postcss-bem-linter: define image-list\n .mdc-image-list {\n @include feature-targeting-mixins.targets($feat-structure) {\n display: flex;\n flex-wrap: wrap;\n // Margin and padding are set to override default user agent styles for lists, and also to center the Image List\n margin: 0 auto;\n padding: 0;\n }\n }\n\n .mdc-image-list__item,\n .mdc-image-list__image-aspect-container {\n @include feature-targeting-mixins.targets($feat-structure) {\n // Supports absolute positioning of protected supporting content for item, and image for image-aspect-container\n position: relative;\n box-sizing: border-box;\n }\n }\n\n .mdc-image-list__item {\n @include feature-targeting-mixins.targets($feat-structure) {\n list-style-type: none;\n }\n }\n\n .mdc-image-list__image {\n @include feature-targeting-mixins.targets($feat-structure) {\n width: 100%;\n }\n }\n\n // Descendant selector allows image-aspect-container to be optional in DOM structure\n .mdc-image-list__image-aspect-container .mdc-image-list__image {\n @include feature-targeting-mixins.targets($feat-structure) {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n height: 100%;\n // Background styles to support div instead of img\n background-repeat: no-repeat;\n background-position: center;\n background-size: cover;\n }\n }\n\n @include aspect(1, $query: $query);\n @include shape-radius(0, $query: $query);\n\n .mdc-image-list__supporting {\n @include feature-targeting-mixins.targets($feat-color) {\n @include theme-mixins.prop(color, text-primary-on-background);\n }\n\n @include feature-targeting-mixins.targets($feat-structure) {\n display: flex;\n align-items: center;\n justify-content: space-between;\n box-sizing: border-box;\n padding: 8px 0;\n line-height: variables.$icon-size;\n }\n }\n\n .mdc-image-list__label {\n @include typography-mixins.typography(subtitle1, $query: $query);\n @include typography-mixins.overflow-ellipsis($query: $query);\n }\n\n // Modifier for labels/icons with text protection, overlaying images.\n\n .mdc-image-list--with-text-protection .mdc-image-list__supporting {\n @include feature-targeting-mixins.targets($feat-structure) {\n position: absolute;\n bottom: 0;\n width: 100%;\n height: variables.$text-protection-height;\n padding: 0 variables.$text-protection-horizontal-padding;\n }\n\n @include feature-targeting-mixins.targets($feat-color) {\n background: variables.$text-protection-background-color;\n color: #fff;\n }\n }\n\n // Masonry Image List, using CSS columns (i.e. renders down then across)\n\n .mdc-image-list--masonry {\n @include feature-targeting-mixins.targets($feat-structure) {\n display: block; // Override flex\n }\n\n .mdc-image-list__item {\n @include feature-targeting-mixins.targets($feat-structure) {\n break-inside: avoid-column;\n }\n }\n\n .mdc-image-list__image {\n @include feature-targeting-mixins.targets($feat-structure) {\n display: block;\n height: auto;\n }\n }\n }\n // postcss-bem-linter: end\n}\n\n@mixin aspect($width-height-ratio, $query: feature-targeting-functions.all()) {\n $feat-structure: feature-targeting-functions.create-target($query, structure);\n\n .mdc-image-list__image-aspect-container {\n @include feature-targeting-mixins.targets($feat-structure) {\n padding-bottom: calc(100% / #{$width-height-ratio});\n }\n }\n}\n\n@mixin shape-radius($radius, $rtl-reflexive: false, $query: feature-targeting-functions.all()) {\n .mdc-image-list__image {\n @include shape-mixins.radius($radius, $rtl-reflexive, $query: $query);\n }\n\n $selector: if(&, \"&.mdc-image-list--with-text-protection\", \".mdc-image-list--with-text-protection\");\n\n #{$selector} .mdc-image-list__supporting {\n $masked-radius: shape-functions.mask-radius($radius, 0 0 1 1);\n\n @include shape-mixins.radius($masked-radius, $rtl-reflexive, $query: $query);\n }\n}\n\n// Standard Image List\n\n@mixin standard-columns(\n $column-count,\n $gutter-size: variables.$standard-gutter-size,\n $query: feature-targeting-functions.all()\n) {\n $feat-structure: feature-targeting-functions.create-target($query, structure);\n\n // This uses margin rather than padding to facilitate properly positioning the supporting content element when\n // --with-text-protection is used.\n .mdc-image-list__item {\n @include feature-targeting-mixins.targets($feat-structure) {\n // Subtract extra fraction from each item's width to ensure correct wrapping in IE/Edge which round differently\n width: calc(100% / #{$column-count} - #{$gutter-size + 1 / $column-count});\n margin: $gutter-size / 2;\n }\n }\n}\n\n// Masonry Image List\n\n@mixin masonry-columns(\n $column-count,\n $gutter-size: variables.$masonry-gutter-size,\n $query: feature-targeting-functions.all()\n) {\n $feat-structure: feature-targeting-functions.create-target($query, structure);\n\n @include feature-targeting-mixins.targets($feat-structure) {\n column-count: $column-count;\n column-gap: $gutter-size;\n }\n\n .mdc-image-list__item {\n @include feature-targeting-mixins.targets($feat-structure) {\n margin-bottom: $gutter-size;\n }\n }\n}\n","// Copyright 2018 Google Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n\n$standard-gutter-size: 4px !default;\n$masonry-gutter-size: 16px !default;\n$icon-size: 24px !default;\n$text-protection-background-color: rgba(0, 0, 0, .6) !default;\n$text-protection-height: 48px !default;\n$text-protection-horizontal-padding: 16px !default;\n","// Copyright 2017 Google Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n\n@use \"sass:list\";\n@use \"sass:map\";\n@use \"./variables\";\n@use \"./mixins\";\n\n:root {\n @each $size in map.keys(variables.$columns) {\n --mdc-layout-grid-margin-#{$size}: #{map.get(variables.$default-margin, $size)};\n --mdc-layout-grid-gutter-#{$size}: #{map.get(variables.$default-gutter, $size)};\n --mdc-layout-grid-column-width-#{$size}: #{map.get(variables.$column-width, $size)};\n }\n}\n\n// postcss-bem-linter: define layout-grid\n.mdc-layout-grid {\n @each $size in map.keys(variables.$columns) {\n @include mixins.media-query_($size) {\n $margin: map.get(variables.$default-margin, $size);\n\n @include mixins.layout-grid($size, $margin, variables.$max-width);\n }\n }\n}\n\n.mdc-layout-grid__inner {\n @each $size in map.keys(variables.$columns) {\n @include mixins.media-query_($size) {\n $margin: map.get(variables.$default-margin, $size);\n $gutter: map.get(variables.$default-gutter, $size);\n\n @include mixins.inner($size, $margin, $gutter);\n }\n }\n}\n\n.mdc-layout-grid__cell {\n // select the upper breakpoint\n $upper-breakpoint: list.nth(map.keys(variables.$columns), 1);\n\n @each $size in map.keys(variables.$columns) {\n @include mixins.media-query_($size) {\n $gutter: map.get(variables.$default-gutter, $size);\n\n @include mixins.cell($size, variables.$default-column-span, $gutter);\n\n @for $span from 1 through map.get(variables.$columns, $upper-breakpoint) {\n // Span classes.\n // stylelint-disable max-nesting-depth\n @at-root .mdc-layout-grid__cell--span-#{$span},\n .mdc-layout-grid__cell--span-#{$span}-#{$size} {\n @include mixins.cell-span_($size, $span, $gutter);\n }\n // stylelint-enable max-nesting-depth\n }\n }\n }\n\n // Order override classes.\n @for $i from 1 through map.get(variables.$columns, $upper-breakpoint) {\n &--order-#{$i} {\n @include mixins.cell-order($i);\n }\n }\n\n // Alignment classes.\n &--align-top {\n @include mixins.cell-align(top);\n }\n\n &--align-middle {\n @include mixins.cell-align(middle);\n }\n\n &--align-bottom {\n @include mixins.cell-align(bottom);\n }\n}\n\n.mdc-layout-grid--fixed-column-width {\n @each $size in map.keys(variables.$columns) {\n @include mixins.media-query_($size) {\n $margin: map.get(variables.$default-margin, $size);\n $gutter: map.get(variables.$default-gutter, $size);\n $column-width: map.get(variables.$column-width, $size);\n\n @include mixins.fixed-column-width($size, $margin, $gutter, $column-width);\n }\n }\n}\n\n.mdc-layout-grid--align-left {\n margin-right: auto;\n margin-left: 0;\n}\n\n.mdc-layout-grid--align-right {\n margin-right: 0;\n margin-left: auto;\n}\n// postcss-bem-linter: end\n","// Copyright 2017 Google Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n\n@use \"sass:list\";\n@use \"sass:map\";\n@use \"sass:math\";\n@use \"./variables\";\n\n// returns the lower grid boundary or null if the smallest grid is selected\n@function breakpoint-min($size) {\n @if not map.has-key(variables.$columns, $size) {\n @error \"Invalid style specified! Choose one of #{map.keys(variables.$columns)}\";\n }\n $min: map.get(variables.$breakpoints, $size);\n\n @return if($min > 0, $min, null);\n}\n\n// returns the upper grid boundary or null if the largest grid is selected\n@function breakpoint-max($size) {\n @if not map.has-key(variables.$columns, $size) {\n @error \"Invalid style specified! Choose one of #{map.keys(variables.$columns)}\";\n }\n $names: map.keys(variables.$columns);\n $n: list.index($names, $size);\n $prev: if($n > 1, list.nth($names, $n - 1), null);\n\n @return if($prev, (breakpoint-min($prev) - 1px), null);\n}\n\n// Private mixins, meant for internal use.\n@mixin media-query_($size) {\n @if not map.has-key(variables.$columns, $size) {\n @error \"Invalid style specified! Choose one of #{map.keys(variables.$columns)}\";\n }\n\n $min: breakpoint-min($size);\n $max: breakpoint-max($size);\n\n @if $min == null and $max != null {\n // Phone\n @media (max-width: $max) {\n @content;\n }\n } @else if $min != null and $max != null {\n // Tablet\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $min != null and $max == null {\n // Desktop\n @media (min-width: $min) {\n @content;\n }\n } @else {\n // Fallback - no breakpoints defined\n @content;\n }\n}\n\n@mixin cell-span_($size, $span, $gutter) {\n @if not map.has-key(variables.$columns, $size) {\n @error \"Invalid style specified! Choose one of #{map.keys(variables.$columns)}\";\n }\n\n $percent: math.percentage($span / map.get(variables.$columns, $size));\n\n @if $percent > 100% {\n $percent: 100%;\n }\n\n width: calc(#{$percent} - #{$gutter});\n // stylelint-disable-next-line declaration-block-no-duplicate-properties\n width: calc(#{$percent} - var(--mdc-layout-grid-gutter-#{$size}, #{$gutter}));\n\n @supports (display: grid) {\n width: auto;\n grid-column-end: span math.min($span, map.get(variables.$columns, $size));\n }\n}\n\n// Public mixins, meant for developer usage.\n@mixin layout-grid($size, $margin, $max-width: null) {\n @if not map.has-key(variables.$columns, $size) {\n @error \"Invalid style specified! Choose one of #{map.keys(variables.$columns)}\";\n }\n\n box-sizing: border-box;\n margin: 0 auto;\n padding: $margin;\n // stylelint-disable-next-line declaration-block-no-duplicate-properties\n padding: var(--mdc-layout-grid-margin-#{$size}, #{$margin});\n\n @if $max-width {\n max-width: $max-width;\n }\n}\n\n@mixin inner($size, $margin, $gutter) {\n @if not map.has-key(variables.$columns, $size) {\n @error \"Invalid style specified! Choose one of #{map.keys(variables.$columns)}\";\n }\n\n display: flex;\n flex-flow: row wrap;\n align-items: stretch;\n margin: -$gutter / 2;\n // stylelint-disable-next-line declaration-block-no-duplicate-properties\n margin: calc(var(--mdc-layout-grid-gutter-#{$size}, #{$gutter}) / 2 * -1);\n\n @supports (display: grid) {\n display: grid;\n margin: 0;\n grid-gap: $gutter;\n // stylelint-disable-next-line declaration-block-no-duplicate-properties\n grid-gap: var(--mdc-layout-grid-gutter-#{$size}, $gutter);\n grid-template-columns: repeat(map.get(variables.$columns, $size), minmax(0, 1fr));\n }\n}\n\n@mixin cell($size, $default-span, $gutter) {\n @if not map.has-key(variables.$columns, $size) {\n @error \"Invalid style specified! Choose one of #{map.keys(variables.$columns)}\";\n }\n\n @include cell-span_($size, $default-span, $gutter);\n\n box-sizing: border-box;\n margin: $gutter / 2;\n // stylelint-disable-next-line declaration-block-no-duplicate-properties\n margin: calc(var(--mdc-layout-grid-gutter-#{$size}, #{$gutter}) / 2);\n\n @supports (display: grid) {\n margin: 0;\n }\n}\n\n@mixin cell-order($order) {\n order: $order;\n}\n\n@mixin cell-align($position) {\n @if $position == \"top\" {\n align-self: flex-start;\n\n @supports (display: grid) {\n align-self: start;\n }\n }\n\n @if $position == \"middle\" {\n align-self: center;\n }\n\n @if $position == \"bottom\" {\n align-self: flex-end;\n\n @supports (display: grid) {\n align-self: end;\n }\n }\n\n @if $position == \"stretch\" {\n align-self: stretch;\n }\n}\n\n@mixin fixed-column-width($size, $margin, $gutter, $column-width) {\n @if not map.has-key(variables.$columns, $size) {\n @error \"Invalid style specified! Choose one of #{map.keys(variables.$columns)}\";\n }\n\n $columnCount: map.get(variables.$columns, $size);\n $gutter-number: $columnCount - 1;\n $margin-number: 2;\n\n width: $column-width * $columnCount + $gutter * $gutter-number + $margin * $margin-number;\n // stylelint-disable-next-line declaration-block-no-duplicate-properties\n width:\n calc(\n var(--mdc-layout-grid-column-width-#{$size}, #{$column-width}) * #{$columnCount} +\n var(--mdc-layout-grid-gutter-#{$size}, #{$gutter}) * #{$gutter-number} +\n var(--mdc-layout-grid-margin-#{$size}, #{$margin}) * #{$margin-number}\n );\n}\n","//\n// Copyright 2018 Google Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n//\n\n@use \"@material/feature-targeting/functions\" as feature-targeting-functions;\n@use \"@material/feature-targeting/mixins\" as feature-targeting-mixins;\n@use \"@material/theme/mixins\" as theme-mixins;\n@use \"./functions\";\n\n// Public\n\n@mixin core-styles($query: feature-targeting-functions.all()) {\n $feat-structure: feature-targeting-functions.create-target($query, structure);\n $feat-animation: feature-targeting-functions.create-target($query, animation);\n\n // postcss-bem-linter: define line-ripple\n .mdc-line-ripple {\n @include feature-targeting-mixins.targets($feat-structure) {\n &::before,\n &::after {\n position: absolute;\n bottom: 0;\n left: 0;\n width: 100%;\n border-bottom-style: solid;\n content: \"\";\n }\n\n &::before {\n border-bottom-width: 1px;\n z-index: 1;\n }\n\n &::after {\n transform: scaleX(0);\n border-bottom-width: 2px;\n opacity: 0;\n z-index: 2;\n }\n }\n\n @include feature-targeting-mixins.targets($feat-animation) {\n &::after {\n transition: functions.transition-value(transform), functions.transition-value(opacity);\n }\n }\n }\n\n .mdc-line-ripple--active::after {\n @include feature-targeting-mixins.targets($feat-structure) {\n transform: scaleX(1);\n opacity: 1;\n }\n }\n\n .mdc-line-ripple--deactivating::after {\n @include feature-targeting-mixins.targets($feat-structure) {\n opacity: 0;\n }\n }\n}\n\n@mixin active-color($color, $query: feature-targeting-functions.all()) {\n $feat-color: feature-targeting-functions.create-target($query, color);\n\n @include feature-targeting-mixins.targets($feat-color) {\n &::after {\n @include theme-mixins.prop(border-bottom-color, $color);\n }\n }\n}\n\n@mixin inactive-color($color, $query: feature-targeting-functions.all()) {\n $feat-color: feature-targeting-functions.create-target($query, color);\n\n @include feature-targeting-mixins.targets($feat-color) {\n &::before {\n @include theme-mixins.prop(border-bottom-color, $color);\n }\n }\n}\n","//\n// Copyright 2017 Google Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n//\n\n@mixin primary-indeterminate-translate-keyframes_ {\n @keyframes mdc-linear-progress-primary-indeterminate-translate {\n 0% {\n transform: translateX(0);\n }\n\n 20% {\n animation-timing-function: cubic-bezier(.5, 0, .701732, .495819);\n transform: translateX(0);\n }\n\n 59.15% {\n animation-timing-function: cubic-bezier(.302435, .381352, .55, .956352);\n transform: translateX(83.67142%);\n }\n\n 100% {\n transform: translateX(200.611057%);\n }\n }\n}\n\n@mixin primary-indeterminate-scale-keyframes_ {\n @keyframes mdc-linear-progress-primary-indeterminate-scale {\n 0% {\n transform: scaleX(.08);\n }\n\n 36.65% {\n animation-timing-function: cubic-bezier(.334731, .12482, .785844, 1);\n transform: scaleX(.08);\n }\n\n 69.15% {\n animation-timing-function: cubic-bezier(.06, .11, .6, 1);\n transform: scaleX(.661479);\n }\n\n 100% {\n transform: scaleX(.08);\n }\n }\n}\n\n@mixin secondary-indeterminate-translate-keyframes_ {\n @keyframes mdc-linear-progress-secondary-indeterminate-translate {\n 0% {\n animation-timing-function: cubic-bezier(.15, 0, .515058, .409685);\n transform: translateX(0);\n }\n\n 25% {\n animation-timing-function: cubic-bezier(.31033, .284058, .8, .733712);\n transform: translateX(37.651913%);\n }\n\n 48.35% {\n animation-timing-function: cubic-bezier(.4, .627035, .6, .902026);\n transform: translateX(84.386165%);\n }\n\n 100% {\n transform: translateX(160.277782%);\n }\n }\n}\n\n@mixin secondary-indeterminate-scale-keyframes_ {\n @keyframes mdc-linear-progress-secondary-indeterminate-scale {\n 0% {\n animation-timing-function: cubic-bezier(.205028, .057051, .57661, .453971);\n transform: scaleX(.08);\n }\n\n 19.15% {\n animation-timing-function: cubic-bezier(.152313, .196432, .648374, 1.004315);\n transform: scaleX(.457104);\n }\n\n 44.15% {\n animation-timing-function: cubic-bezier(.257759, -.003163, .211762, 1.38179);\n transform: scaleX(.72796);\n }\n\n 100% {\n transform: scaleX(.08);\n }\n }\n}\n\n@mixin buffering-keyframes_ {\n @keyframes mdc-linear-progress-buffering {\n to {\n transform: translateX(-10px);\n }\n }\n}\n\n@mixin primary-indeterminate-translate-reverse-keyframes_ {\n @keyframes mdc-linear-progress-primary-indeterminate-translate-reverse {\n 0% {\n transform: translateX(0);\n }\n\n 20% {\n animation-timing-function: cubic-bezier(.5, 0, .701732, .495819);\n transform: translateX(0);\n }\n\n 59.15% {\n animation-timing-function: cubic-bezier(.302435, .381352, .55, .956352);\n transform: translateX(-83.67142%);\n }\n\n 100% {\n transform: translateX(-200.611057%);\n }\n }\n}\n\n@mixin secondary-indeterminate-translate-reverse-keyframes_ {\n @keyframes mdc-linear-progress-secondary-indeterminate-translate-reverse {\n 0% {\n animation-timing-function: cubic-bezier(.15, 0, .515058, .409685);\n transform: translateX(0);\n }\n\n 25% {\n animation-timing-function: cubic-bezier(.31033, .284058, .8, .733712);\n transform: translateX(-37.651913%);\n }\n\n 48.35% {\n animation-timing-function: cubic-bezier(.4, .627035, .6, .902026);\n transform: translateX(-84.386165%);\n }\n\n 100% {\n transform: translateX(-160.277782%);\n }\n }\n}\n\n@mixin buffering-reverse-keyframes_ {\n @keyframes mdc-linear-progress-buffering-reverse {\n to {\n transform: translateX(10px);\n }\n }\n}\n","// Copyright 2017 Google Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n\n@use \"sass:string\";\n@use \"@material/animation/functions\" as animation-functions;\n@use \"@material/feature-targeting/functions\" as feature-targeting-functions;\n@use \"@material/feature-targeting/mixins\" as feature-targeting-mixins;\n@use \"@material/theme/mixins\" as theme-mixins;\n@use \"@material/theme/variables\" as theme-variables; // for mdc-theme-prop-value\n@use \"./variables\";\n@use \"./keyframes\";\n\n//\n// Public\n//\n\n@mixin core-styles($query: feature-targeting-functions.all()) {\n $feat-structure: feature-targeting-functions.create-target($query, structure);\n $feat-animation: feature-targeting-functions.create-target($query, animation);\n\n @include feature-targeting-mixins.targets($feat-animation) {\n @include keyframes.primary-indeterminate-translate-keyframes_;\n @include keyframes.primary-indeterminate-scale-keyframes_;\n @include keyframes.secondary-indeterminate-translate-keyframes_;\n @include keyframes.secondary-indeterminate-scale-keyframes_;\n @include keyframes.buffering-keyframes_;\n @include keyframes.primary-indeterminate-translate-reverse-keyframes_;\n @include keyframes.secondary-indeterminate-translate-reverse-keyframes_;\n @include keyframes.buffering-reverse-keyframes_;\n }\n\n .mdc-linear-progress {\n @include feature-targeting-mixins.targets($feat-structure) {\n position: relative;\n width: 100%;\n height: variables.$height;\n transform: translateZ(0);\n // Create a border around the bar in Windows High Contrast Mode.\n outline: 1px solid transparent;\n overflow: hidden;\n }\n\n @include feature-targeting-mixins.targets($feat-animation) {\n transition: animation-functions.exit-temporary(opacity, 250ms);\n }\n\n &__bar {\n @include feature-targeting-mixins.targets($feat-structure) {\n position: absolute;\n width: 100%;\n height: 100%;\n animation: none;\n transform-origin: top left;\n }\n\n @include feature-targeting-mixins.targets($feat-animation) {\n transition: animation-functions.exit-temporary(transform, 250ms);\n }\n }\n\n &__bar-inner {\n @include feature-targeting-mixins.targets($feat-structure) {\n display: inline-block;\n position: absolute;\n width: 100%;\n animation: none;\n // border-top is used rather than background-color to ensure that the\n // bar is visible in Windows High Contrast Mode.\n border-top: variables.$height solid;\n }\n }\n\n &__buffering-dots {\n @include feature-targeting-mixins.targets($feat-structure) {\n position: absolute;\n width: 100%;\n height: 100%;\n background-repeat: repeat-x;\n background-size: 10px variables.$height;\n }\n\n @include feature-targeting-mixins.targets($feat-animation) {\n animation: mdc-linear-progress-buffering 250ms infinite linear;\n }\n }\n\n &__buffer {\n @include feature-targeting-mixins.targets($feat-structure) {\n position: absolute;\n width: 100%;\n height: 100%;\n transform-origin: top left;\n }\n\n @include feature-targeting-mixins.targets($feat-animation) {\n transition: animation-functions.exit-temporary(transform, 250ms);\n }\n }\n\n &__primary-bar {\n @include feature-targeting-mixins.targets($feat-structure) {\n transform: scaleX(0);\n }\n }\n\n &__secondary-bar {\n @include feature-targeting-mixins.targets($feat-structure) {\n visibility: hidden;\n }\n }\n\n @include indeterminate_($query: $query);\n @include reversed_($query: $query);\n\n &--closed {\n @include feature-targeting-mixins.targets($feat-structure) {\n opacity: 0;\n }\n\n @include feature-targeting-mixins.targets($feat-animation) {\n animation: none;\n }\n }\n }\n\n @at-root {\n @include bar-color(primary, $query: $query);\n @include buffer-color(variables.$baseline-buffer-color, $query: $query);\n }\n\n .mdc-linear-progress--indeterminate.mdc-linear-progress--reversed {\n .mdc-linear-progress__primary-bar {\n @include feature-targeting-mixins.targets($feat-structure) {\n right: -145.166611%;\n left: auto;\n }\n }\n\n .mdc-linear-progress__secondary-bar {\n @include feature-targeting-mixins.targets($feat-structure) {\n right: -54.888891%;\n left: auto;\n }\n }\n }\n}\n\n@mixin bar-color($color, $query: feature-targeting-functions.all()) {\n $feat-color: feature-targeting-functions.create-target($query, color);\n\n .mdc-linear-progress__bar-inner {\n @include feature-targeting-mixins.targets($feat-color) {\n // Border is used rather than background-color to ensure that the\n // bar is visible in Windows High Contrast Mode.\n @include theme-mixins.prop(border-color, $color);\n }\n }\n}\n\n@mixin buffer-color($color, $query: feature-targeting-functions.all()) {\n // We need to escape the '#' character as \"%23\" for SVG because '#' is a reserved character in URIs.\n $color-value-for-css: theme-variables.prop-value($color);\n $color-value-for-svg: str-replace_(string.unquote(\"#{$color-value-for-css}\"), \"#\", \"%23\");\n $feat-color: feature-targeting-functions.create-target($query, color);\n\n .mdc-linear-progress__buffering-dots {\n @include feature-targeting-mixins.targets($feat-color) {\n // SVG is optimized for data URI (https://codepen.io/tigt/post/optimizing-svgs-in-data-uris)\n // stylelint-disable-next-line function-url-quotes\n background-image: url(\"data:image/svg+xml,%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' enable-background='new 0 0 5 2' xml:space='preserve' viewBox='0 0 5 2' preserveAspectRatio='none slice'%3E%3Ccircle cx='1' cy='1' r='1' fill='#{$color-value-for-svg}'/%3E%3C/svg%3E\");\n }\n }\n\n .mdc-linear-progress__buffer {\n @include feature-targeting-mixins.targets($feat-color) {\n background-color: $color-value-for-css;\n }\n }\n}\n\n//\n// Private\n//\n\n@mixin indeterminate_($query: feature-targeting-functions.all()) {\n $feat-structure: feature-targeting-functions.create-target($query, structure);\n $feat-animation: feature-targeting-functions.create-target($query, animation);\n\n &--indeterminate {\n .mdc-linear-progress__bar {\n @include feature-targeting-mixins.targets($feat-structure) {\n transition: none;\n }\n }\n\n .mdc-linear-progress__primary-bar {\n @include feature-targeting-mixins.targets($feat-structure) {\n left: -145.166611%;\n }\n\n @include feature-targeting-mixins.targets($feat-animation) {\n animation: mdc-linear-progress-primary-indeterminate-translate 2s infinite linear;\n }\n\n > .mdc-linear-progress__bar-inner {\n @include feature-targeting-mixins.targets($feat-animation) {\n animation: mdc-linear-progress-primary-indeterminate-scale 2s infinite linear;\n }\n }\n }\n\n .mdc-linear-progress__secondary-bar {\n @include feature-targeting-mixins.targets($feat-structure) {\n left: -54.888891%;\n visibility: visible;\n }\n\n @include feature-targeting-mixins.targets($feat-animation) {\n animation: mdc-linear-progress-secondary-indeterminate-translate 2s infinite linear;\n }\n\n > .mdc-linear-progress__bar-inner {\n @include feature-targeting-mixins.targets($feat-animation) {\n animation: mdc-linear-progress-secondary-indeterminate-scale 2s infinite linear;\n }\n }\n }\n }\n}\n\n@mixin reversed_($query: feature-targeting-functions.all()) {\n $feat-structure: feature-targeting-functions.create-target($query, structure);\n $feat-animation: feature-targeting-functions.create-target($query, animation);\n\n &--reversed {\n .mdc-linear-progress__bar,\n .mdc-linear-progress__buffer {\n @include feature-targeting-mixins.targets($feat-structure) {\n right: 0;\n transform-origin: center right;\n }\n }\n\n .mdc-linear-progress__primary-bar {\n @include feature-targeting-mixins.targets($feat-animation) {\n animation-name: mdc-linear-progress-primary-indeterminate-translate-reverse;\n }\n }\n\n .mdc-linear-progress__secondary-bar {\n @include feature-targeting-mixins.targets($feat-animation) {\n animation-name: mdc-linear-progress-secondary-indeterminate-translate-reverse;\n }\n }\n\n .mdc-linear-progress__buffering-dots {\n @include feature-targeting-mixins.targets($feat-animation) {\n animation: mdc-linear-progress-buffering-reverse 250ms infinite linear;\n }\n }\n }\n}\n\n// Based on https://css-tricks.com/snippets/sass/str-replace-function/\n@function str-replace_($string, $search, $replace) {\n $index: string.index($string, $search);\n\n @if $index {\n $head: string.slice($string, 1, $index - 1);\n $tail: str-replace_(string.slice($string, $index + string.length($search)), $search, $replace);\n\n @return $head + $replace + $tail;\n }\n\n @return $string;\n}\n","// Copyright 2017 Google Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n\n$baseline-buffer-color: #e6e6e6 !default;\n$height: 4px;\n","// Copyright 2016 Google Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n\n@use \"@material/density/variables\" as density-variables;\n@use \"@material/theme/variables\" as theme-variables;\n\n$divider-color-on-light-bg: rgba(0, 0, 0, .12) !default;\n$divider-color-on-dark-bg: rgba(255, 255, 255, .2) !default;\n$side-padding: 16px !default;\n$text-offset: 72px !default;\n$text-disabled-opacity: theme-variables.text-emphasis(disabled) !default;\n$text-disabled-color: on-surface !default;\n\n$single-line-height: 48px !default;\n$single-line-minimum-height: 24px !default;\n$single-line-maximum-height: $single-line-height !default;\n$single-line-density-scale: density-variables.$default-scale !default;\n$single-line-density-config: (\n height: (\n default: $single-line-height,\n maximum: $single-line-maximum-height,\n minimum: $single-line-minimum-height,\n ),\n) !default;\n","//\n// Copyright 2018 Google Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n//\n\n@use \"sass:math\";\n@use \"@material/elevation/mixins\" as elevation-mixins;\n@use \"@material/feature-targeting/functions\";\n@use \"@material/feature-targeting/mixins\" as feature-targeting-mixins;\n@use \"@material/rtl/mixins\" as rtl-mixins;\n@use \"@material/list/mixins\" as list-mixins;\n@use \"@material/list/variables\" as list-variables;\n@use \"@material/ripple/mixins\" as ripple-mixins;\n@use \"./variables\";\n\n@mixin core-styles($query: functions.all()) {\n $feat-color: functions.create-target($query, color);\n $feat-structure: functions.create-target($query, structure);\n\n @include ripple-mixins.common($query); // COPYBARA_COMMENT_THIS_LINE\n @include elevation-mixins.overlay-common($query); // COPYBARA_COMMENT_THIS_LINE\n\n // Customize the menu-surface and contained list to match the mdc-menu styles.\n .mdc-menu {\n @include list-mixins.item-meta-ink-color(variables.$ink-color, $query);\n @include list-mixins.item-graphic-ink-color(variables.$ink-color, $query);\n\n @include feature-targeting-mixins.targets($feat-structure) {\n min-width: variables.$min-width;\n }\n\n // Include mdc-list selector to ensure list-inside-menu overrides default list styles\n .mdc-list {\n @include list-mixins.item-primary-text-ink-color(variables.$ink-color, $query);\n @include elevation-mixins.overlay-surface-position($query: $query);\n @include elevation-mixins.overlay-dimensions(100%, $query: $query);\n }\n\n .mdc-list-divider {\n @include feature-targeting-mixins.targets($feat-structure) {\n margin: 8px 0;\n }\n }\n\n .mdc-list-item {\n @include feature-targeting-mixins.targets($feat-structure) {\n user-select: none;\n }\n }\n\n .mdc-list-item--disabled {\n @include feature-targeting-mixins.targets($feat-structure) {\n cursor: auto;\n }\n }\n\n //stylelint-disable selector-no-qualifying-type\n a.mdc-list-item .mdc-list-item__text,\n a.mdc-list-item .mdc-list-item__graphic {\n @include feature-targeting-mixins.targets($feat-structure) {\n pointer-events: none;\n }\n }\n // stylelint-enable selector-no-qualifying-type\n }\n\n // postcss-bem-linter: define menu\n .mdc-menu__selection-group {\n @include feature-targeting-mixins.targets($feat-structure) {\n padding: 0;\n fill: currentColor;\n }\n\n .mdc-list-item {\n @include feature-targeting-mixins.targets($feat-structure) {\n @include rtl-mixins.reflexive-property(padding, 56px, list-variables.$side-padding);\n }\n }\n\n // Extra specificity required to override `display` property on `mdc-list-item__graphic`.\n .mdc-menu__selection-group-icon {\n @include feature-targeting-mixins.targets($feat-structure) {\n @include rtl-mixins.reflexive-position(left, 16px);\n\n display: none;\n position: absolute;\n // IE11 requires the icon to be vertically centered due to its absolute positioning\n top: 50%;\n transform: translateY(-50%);\n }\n }\n }\n // postcss-bem-linter: end\n\n // stylelint-disable-next-line plugin/selector-bem-pattern\n .mdc-menu-item--selected .mdc-menu__selection-group-icon {\n @include feature-targeting-mixins.targets($feat-structure) {\n display: inline;\n }\n }\n}\n\n@mixin width($width, $query: functions.all()) {\n $feat-structure: functions.create-target($query, color);\n\n @include feature-targeting-mixins.targets($feat-structure) {\n @if math.is-unitless($width) {\n width: $width * variables.$width-base;\n } @else {\n width: $width;\n }\n }\n}\n","//\n// Copyright 2018 Google Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n//\n\n@use \"@material/theme/mixins\";\n@use \"@material/theme/variables\";\n\n$ink-color: rgba(variables.prop-value(on-surface), variables.text-emphasis(high)) !default;\n\n$width-base: 56px !default;\n$min-width: 2 * $width-base !default;\n","//\n// Copyright 2018 Google Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n//\n\n@use \"@material/feature-targeting/functions\";\n@use \"@material/feature-targeting/mixins\" as feature-targeting-mixins;\n@use \"@material/theme/mixins\" as theme-mixins;\n@use \"@material/shape/mixins\" as shape-mixins;\n@use \"@material/animation/variables\" as animation-variables;\n@use \"@material/elevation/mixins\" as elevation-mixins;\n@use \"@material/rtl/mixins\" as rtl-mixins;\n@use \"./variables\";\n\n//\n// Public\n//\n\n@mixin core-styles($query: functions.all()) {\n $feat-structure: functions.create-target($query, structure);\n\n // postcss-bem-linter: define menu-surface\n .mdc-menu-surface {\n @include base_($query);\n @include elevation-mixins.elevation($z-value: 8, $query: $query);\n @include fill-color(surface, $query);\n @include ink-color(on-surface, $query);\n @include shape-radius(medium, false, $query);\n\n @include feature-targeting-mixins.targets($feat-structure) {\n @include rtl-mixins.reflexive-property(transform-origin, top left, top right);\n }\n }\n\n .mdc-menu-surface--anchor {\n @include feature-targeting-mixins.targets($feat-structure) {\n position: relative;\n overflow: visible;\n }\n }\n\n .mdc-menu-surface--fixed {\n @include feature-targeting-mixins.targets($feat-structure) {\n position: fixed;\n }\n }\n // postcss-bem-linter: end\n}\n\n@mixin ink-color($color, $query: functions.all()) {\n $feat-color: functions.create-target($query, color);\n\n @include feature-targeting-mixins.targets($feat-color) {\n @include theme-mixins.prop(color, $color);\n }\n}\n\n@mixin fill-color($color, $query: functions.all()) {\n $feat-color: functions.create-target($query, color);\n\n @include feature-targeting-mixins.targets($feat-color) {\n @include theme-mixins.prop(background-color, $color);\n }\n}\n\n@mixin shape-radius($radius, $rtl-reflexive: false, $query: functions.all()) {\n @include shape-mixins.radius($radius, $rtl-reflexive, $query: $query);\n}\n\n//\n// Private\n//\n\n@mixin base_($query: functions.all()) {\n $feat-structure: functions.create-target($query, structure);\n $feat-animation: functions.create-target($query, animation);\n\n @include feature-targeting-mixins.targets($feat-structure) {\n display: none;\n position: absolute;\n box-sizing: border-box;\n max-width: calc(100vw - #{variables.$min-distance-from-edge});\n max-height: calc(100vh - #{variables.$min-distance-from-edge});\n margin: 0;\n padding: 0;\n transform: scale(1);\n transform-origin: top left;\n opacity: 0;\n overflow: auto;\n will-change: transform, opacity;\n z-index: variables.$z-index;\n }\n\n @include feature-targeting-mixins.targets($feat-animation) {\n transition:\n opacity variables.$fade-in-duration linear,\n transform variables.$scale-duration animation-variables.$deceleration-curve-timing-function;\n }\n\n &:focus {\n @include feature-targeting-mixins.targets($feat-structure) {\n outline: none;\n }\n }\n\n // stylelint-disable-next-line selector-max-type\n &--open {\n @include feature-targeting-mixins.targets($feat-structure) {\n display: inline-block;\n transform: scale(1);\n opacity: 1;\n }\n }\n\n &--animating-open {\n @include feature-targeting-mixins.targets($feat-structure) {\n display: inline-block;\n transform: scale(.8);\n opacity: 0;\n }\n }\n\n &--animating-closed {\n @include feature-targeting-mixins.targets($feat-structure) {\n display: inline-block;\n opacity: 0;\n }\n\n @include feature-targeting-mixins.targets($feat-animation) {\n transition: opacity variables.$fade-out-duration linear;\n }\n }\n}\n","//\n// Copyright 2018 Google Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n//\n\n$fade-in-duration: .03s !default;\n$fade-out-duration: .075s !default;\n$scale-duration: .12s !default;\n$min-distance-from-edge: 32px !default;\n$z-index: 8 !default; // One above mdc-dialog\n","//\n// Copyright 2018 Google Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n//\n\n@use \"sass:list\";\n@use \"@material/theme/mixins\" as theme-mixins;\n@use \"@material/shape/mixins\" as shape-mixins;\n@use \"@material/floating-label/mixins\" as floating-label-mixins;\n@use \"@material/shape/functions\" as shape-functions;\n@use \"@material/feature-targeting/functions\" as feature-targeting-functions;\n@use \"@material/feature-targeting/mixins\" as feature-targeting-mixins;\n@use \"@material/rtl/mixins\" as rtl-mixins;\n@use \"./variables\";\n\n@mixin core-styles($query: feature-targeting-functions.all()) {\n $feat-structure: feature-targeting-functions.create-target($query, structure);\n\n .mdc-notched-outline {\n @include base_($query);\n\n &__leading,\n &__notch,\n &__trailing {\n @include feature-targeting-mixins.targets($feat-structure) {\n box-sizing: border-box;\n height: 100%;\n border-top: variables.$border-width solid;\n border-bottom: variables.$border-width solid;\n pointer-events: none;\n }\n }\n\n &__leading {\n @include feature-targeting-mixins.targets($feat-structure) {\n @include rtl-mixins.reflexive-property(border, variables.$border-width solid, none);\n\n width: variables.$leading-width;\n }\n }\n\n &__trailing {\n @include feature-targeting-mixins.targets($feat-structure) {\n @include rtl-mixins.reflexive-property(border, none, variables.$border-width solid);\n\n flex-grow: 1;\n }\n }\n\n &__notch {\n @include feature-targeting-mixins.targets($feat-structure) {\n flex: 0 0 auto;\n width: auto;\n max-width: calc(100% - #{variables.$leading-width} * 2);\n }\n }\n\n .mdc-floating-label {\n @include feature-targeting-mixins.targets($feat-structure) {\n display: inline-block;\n position: relative;\n max-width: 100%;\n }\n }\n\n .mdc-floating-label--float-above {\n @include feature-targeting-mixins.targets($feat-structure) {\n text-overflow: clip;\n }\n }\n\n &--upgraded .mdc-floating-label--float-above {\n @include feature-targeting-mixins.targets($feat-structure) {\n max-width: calc(100% / .75);\n }\n }\n }\n\n .mdc-notched-outline--notched {\n .mdc-notched-outline__notch {\n @include feature-targeting-mixins.targets($feat-structure) {\n @include rtl-mixins.reflexive-box(padding, right, 8px);\n\n border-top: none;\n }\n }\n }\n\n .mdc-notched-outline--no-label {\n .mdc-notched-outline__notch {\n @include feature-targeting-mixins.targets($feat-structure) {\n padding: 0;\n }\n }\n }\n}\n\n@mixin color($color, $query: feature-targeting-functions.all()) {\n $feat-color: feature-targeting-functions.create-target($query, color);\n\n .mdc-notched-outline__leading,\n .mdc-notched-outline__notch,\n .mdc-notched-outline__trailing {\n @include feature-targeting-mixins.targets($feat-color) {\n @include theme-mixins.prop(border-color, $color);\n }\n }\n}\n\n@mixin stroke-width($width, $query: feature-targeting-functions.all()) {\n $feat-structure: feature-targeting-functions.create-target($query, structure);\n\n .mdc-notched-outline__leading,\n .mdc-notched-outline__notch,\n .mdc-notched-outline__trailing {\n @include feature-targeting-mixins.targets($feat-structure) {\n border-width: $width;\n }\n }\n}\n\n///\n/// Adds top offset to compensate for border width box size when it is notched.\n/// Use this when floating label is aligned to center to prevent label jump on focus.\n/// @param {Number} $stroke-width Stroke width of notched outline that needs to be offset.\n///\n@mixin notch-offset($stroke-width, $query: feature-targeting-functions.all()) {\n $feat-structure: feature-targeting-functions.create-target($query, structure);\n\n .mdc-notched-outline--notched .mdc-notched-outline__notch {\n @include feature-targeting-mixins.targets($feat-structure) {\n padding-top: $stroke-width;\n }\n }\n}\n\n@mixin shape-radius($radius, $rtl-reflexive: false, $query: feature-targeting-functions.all()) {\n $feat-structure: feature-targeting-functions.create-target($query, structure);\n $radius: shape-functions.prop-value($radius);\n\n @if (list.length($radius) > 1) {\n // stylelint-disable-next-line max-line-length\n @warn \"mdc-notched-outline-shape-radius only supports a single radius; see https://github.com/material-components/material-components-web/issues/4140\";\n }\n\n $radius: list.nth($radius, 1);\n\n .mdc-notched-outline__leading {\n @include shape-mixins.radius(shape-functions.mask-radius($radius, 1 0 0 1), $rtl-reflexive: true, $query: $query);\n\n @include feature-targeting-mixins.targets($feat-structure) {\n @if ($radius > variables.$leading-width) {\n width: $radius;\n }\n }\n }\n\n @if ($radius > variables.$leading-width) {\n .mdc-notched-outline__notch {\n @include feature-targeting-mixins.targets($feat-structure) {\n max-width: calc(100% - #{$radius} * 2);\n }\n }\n }\n\n .mdc-notched-outline__trailing {\n @include shape-mixins.radius(shape-functions.mask-radius($radius, 0 1 1 0), $rtl-reflexive: true, $query: $query);\n }\n}\n\n@mixin floating-label-float-position(\n $positionY, $positionX: 0%, $scale: .75, $query: feature-targeting-functions.all()) {\n $feat-structure: feature-targeting-functions.create-target($query, structure);\n\n @include floating-label-mixins.float-position(\n $positionY + variables.$label-adjust, $positionX, 1, $query: $query);\n\n .mdc-floating-label--float-above {\n @include feature-targeting-mixins.targets($feat-structure) {\n font-size: ($scale * 1rem);\n }\n }\n\n // Two selectors to ensure we select the appropriate class when applied from this component or a parent component.\n &.mdc-notched-outline--upgraded,\n .mdc-notched-outline--upgraded {\n @include floating-label-mixins.float-position($positionY, $positionX, $scale, $query: $query);\n\n // stylelint-disable-next-line no-descending-specificity\n .mdc-floating-label--float-above {\n @include feature-targeting-mixins.targets($feat-structure) {\n font-size: 1rem;\n }\n }\n }\n}\n\n///\n/// Sets floating label position in notched outline when label is afloat.\n///\n/// @param {Number} $positionY Absolute Y-axis position in `px`.\n/// @param {Number} $positionX Absolute X-axis position in `px`. Defaults to `0`.\n/// @param {Number} $scale Defaults to `.75`.\n///\n/// @todo Replace mixin `mdc-notched-outline-floating-label-float-position` with this mixin when floating label is\n/// center aligned in all the places.\n///\n@mixin floating-label-float-position-absolute(\n $positionY, $positionX: 0, $scale: .75, $query: feature-targeting-functions.all()) {\n $feat-structure: feature-targeting-functions.create-target($query, structure);\n\n @include floating-label-mixins.float-position(\n $positionY + variables.$label-adjust-absolute, $positionX, 1, $query: $query);\n\n .mdc-floating-label--float-above {\n @include feature-targeting-mixins.targets($feat-structure) {\n font-size: ($scale * 1rem);\n }\n }\n\n // Two selectors to ensure we select the appropriate class when applied from this component or a parent component.\n &.mdc-notched-outline--upgraded,\n .mdc-notched-outline--upgraded {\n @include floating-label-mixins.float-position(\n $positionY, $positionX, $scale, $query: $query);\n\n // stylelint-disable-next-line no-descending-specificity\n .mdc-floating-label--float-above {\n @include feature-targeting-mixins.targets($feat-structure) {\n font-size: 1rem;\n }\n }\n }\n}\n\n//\n// Private\n//\n@mixin base_($query) {\n $feat-structure: feature-targeting-functions.create-target($query, structure);\n\n @include feature-targeting-mixins.targets($feat-structure) {\n display: flex;\n position: absolute;\n right: 0;\n left: 0;\n box-sizing: border-box;\n width: 100%;\n max-width: 100%;\n height: 100%;\n /* @noflip */\n text-align: left;\n pointer-events: none;\n\n @include rtl-mixins.rtl {\n /* @noflip */\n text-align: right;\n }\n }\n}\n","//\n// Copyright 2018 Google Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n//\n\n// Keep this in sync with constants.numbers.MIN_LEADING_STROKE_EDGE_POSITION\n$min-leading-stroke-edge-position: 12px !default;\n// The gap between the stroke end and floating label\n// Keep this in sync with constants.numbers.NOTCH_GUTTER_SIZE\n$notch-gutter-size: 4px !default;\n$border-width: 1px !default;\n$leading-width: 12px !default;\n$padding: 4px !default;\n// This variable keeps the before/after JS label centered in the notch when the font-size is changed.\n$label-adjust: 14% !default;\n\n/// Label box height when it is floating above for notched upgraded. This value is used to put the label vertically in\n/// the middle when it is notched.\n$label-box-height: 13.5px !default;\n\n/// Label adjust offset applied to floating label when it is notched. Since notch without upgraded has different font\n/// size we add additional offset value.\n$label-adjust-absolute: 2.5px !default;\n","//\n// Copyright 2016 Google Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n//\n\n@use \"sass:map\";\n@use \"@material/animation/functions\" as functions2;\n@use \"@material/density/functions\" as density-functions;\n@use \"@material/feature-targeting/functions\" as feature-targeting-functions;\n@use \"@material/feature-targeting/mixins\" as feature-targeting-mixins;\n@use \"@material/ripple/mixins\" as ripple-mixins;\n@use \"@material/ripple/variables\" as ripple-variables;\n@use \"@material/theme/mixins\" as theme-mixins;\n@use \"@material/theme/variables\" as variables2;\n@use \"@material/touch-target/mixins\" as touch-target-mixins;\n@use \"@material/touch-target/variables\" as touch-target-variables;\n@use \"./functions\";\n@use \"./variables\";\n\n$ripple-target: \".mdc-radio__ripple\";\n\n///\n/// Radio core styles.\n///\n@mixin core-styles($query: feature-targeting-functions.all()) {\n @include without-ripple($query);\n @include ripple($query);\n}\n\n// This API is intended for use by frameworks that may want to separate the ripple-related styles from the other\n// radio styles. It is recommended that most users use `mdc-radio-core-styles` instead.\n@mixin without-ripple($query: feature-targeting-functions.all()) {\n // postcss-bem-linter: define radio\n\n $feat-animation: feature-targeting-functions.create-target($query, animation);\n $feat-color: feature-targeting-functions.create-target($query, color);\n $feat-structure: feature-targeting-functions.create-target($query, structure);\n\n @include touch-target-mixins.wrapper($query); // COPYBARA_COMMENT_THIS_LINE\n\n .mdc-radio {\n @include unchecked-stroke-color(variables.$unchecked-color, $query: $query);\n @include checked-stroke-color(variables.$baseline-theme-color, $query: $query);\n @include ink-color(variables.$baseline-theme-color, $query: $query);\n @include disabled-unchecked-stroke-color(variables.$disabled-circle-color, $query: $query);\n @include disabled-checked-stroke-color(variables.$disabled-circle-color, $query: $query);\n @include disabled-ink-color(variables.$disabled-circle-color, $query: $query);\n @include focus-indicator-color(variables.$baseline-theme-color, $query: $query);\n @include density(variables.$density-scale, $query: $query);\n\n @include feature-targeting-mixins.targets($feat-structure) {\n display: inline-block;\n position: relative;\n flex: 0 0 auto;\n box-sizing: content-box;\n width: variables.$icon-size;\n height: variables.$icon-size;\n cursor: pointer;\n /* @alternate */\n will-change: opacity, transform, border-color, color;\n }\n\n // Container for radio circles and ripple.\n &__background {\n @include feature-targeting-mixins.targets($feat-structure) {\n display: inline-block;\n position: relative;\n box-sizing: border-box;\n width: variables.$icon-size;\n height: variables.$icon-size;\n }\n\n &::before {\n @include feature-targeting-mixins.targets($feat-structure) {\n position: absolute;\n transform: scale(0, 0);\n border-radius: 50%;\n opacity: 0;\n pointer-events: none;\n content: \"\";\n }\n\n @include feature-targeting-mixins.targets($feat-animation) {\n transition: functions.exit(opacity), functions.exit(transform);\n }\n }\n }\n\n &__outer-circle {\n @include feature-targeting-mixins.targets($feat-structure) {\n position: absolute;\n top: 0;\n left: 0;\n box-sizing: border-box;\n width: 100%;\n height: 100%;\n border-width: 2px;\n border-style: solid;\n border-radius: 50%;\n }\n\n @include feature-targeting-mixins.targets($feat-animation) {\n transition: functions.exit(border-color);\n }\n }\n\n &__inner-circle {\n @include feature-targeting-mixins.targets($feat-structure) {\n position: absolute;\n top: 0;\n left: 0;\n box-sizing: border-box;\n width: 100%;\n height: 100%;\n transform: scale(0, 0);\n border-width: 10px;\n border-style: solid;\n border-radius: 50%;\n }\n\n @include feature-targeting-mixins.targets($feat-animation) {\n transition:\n functions.exit(transform),\n functions.exit(border-color);\n }\n }\n\n &__native-control {\n @include feature-targeting-mixins.targets($feat-structure) {\n position: absolute;\n margin: 0;\n padding: 0;\n opacity: 0;\n cursor: inherit;\n z-index: 1;\n }\n }\n\n &--touch {\n @include touch-target-mixins.margin(\n $component-height: variables.$ripple-size,\n $component-width: variables.$ripple-size,\n $query: $query);\n @include touch-target($size: touch-target-variables.$height, $query: $query);\n }\n }\n\n .mdc-radio__native-control:checked,\n .mdc-radio__native-control:disabled {\n + .mdc-radio__background {\n @include feature-targeting-mixins.targets($feat-animation) {\n transition:\n functions.enter(opacity),\n functions.enter(transform);\n }\n\n .mdc-radio__outer-circle {\n @include feature-targeting-mixins.targets($feat-animation) {\n transition: functions.enter(border-color);\n }\n }\n\n .mdc-radio__inner-circle {\n @include feature-targeting-mixins.targets($feat-animation) {\n transition:\n functions.enter(transform),\n functions.enter(border-color);\n }\n }\n }\n }\n\n .mdc-radio--disabled {\n @include feature-targeting-mixins.targets($feat-structure) {\n cursor: default;\n pointer-events: none;\n }\n }\n\n .mdc-radio__native-control:checked {\n + .mdc-radio__background {\n .mdc-radio__inner-circle {\n @include feature-targeting-mixins.targets($feat-structure) {\n transform: scale(.5);\n }\n\n @include feature-targeting-mixins.targets($feat-animation) {\n transition:\n functions.enter(transform),\n functions.enter(border-color);\n }\n }\n }\n }\n\n .mdc-radio__native-control:disabled,\n [aria-disabled=\"true\"] .mdc-radio__native-control {\n + .mdc-radio__background {\n @include feature-targeting-mixins.targets($feat-structure) {\n cursor: default;\n }\n }\n }\n\n .mdc-radio__native-control:focus {\n + .mdc-radio__background::before {\n @include feature-targeting-mixins.targets($feat-structure) {\n transform: scale(1);\n opacity: map.get(ripple-variables.$dark-ink-opacities, focus);\n }\n\n @include feature-targeting-mixins.targets($feat-animation) {\n transition:\n functions.enter(opacity),\n functions.enter(transform);\n }\n }\n }\n\n // postcss-bem-linter: end\n}\n\n// This API is intended for use by frameworks that may want to separate the ripple-related styles from the other\n// radio styles. It is recommended that most users use `mdc-radio-core-styles` instead.\n@mixin ripple($query: feature-targeting-functions.all()) {\n $feat-structure: feature-targeting-functions.create-target($query, structure);\n\n @include ripple-mixins.common($query); // COPYBARA_COMMENT_THIS_LINE\n\n .mdc-radio {\n @include ripple-mixins.surface($query: $query, $ripple-target: $ripple-target);\n @include ripple-mixins.radius-unbounded($query: $query, $ripple-target: $ripple-target);\n @include ripple-mixins.states(\n $color: variables.$baseline-theme-color, $query: $query, $ripple-target: $ripple-target);\n\n &.mdc-ripple-upgraded--background-focused {\n .mdc-radio__background::before {\n @include feature-targeting-mixins.targets($feat-structure) {\n content: none;\n }\n }\n }\n }\n\n #{$ripple-target} {\n @include ripple-mixins.target-common($query: $query);\n }\n}\n\n///\n/// Sets the stroke color of an unchecked, enabled radio button.\n/// @param {Color} $color - The desired stroke color.\n///\n@mixin unchecked-stroke-color($color, $query: feature-targeting-functions.all()) {\n @include if-enabled-unchecked_ {\n @include stroke-color_($color, $query: $query);\n }\n}\n\n///\n/// Sets the stroke color of a checked, enabled radio button.\n/// @param {Color} $color - The desired stroke color.\n///\n@mixin checked-stroke-color($color, $query: feature-targeting-functions.all()) {\n @include if-enabled-checked_ {\n @include stroke-color_($color, $query:$query);\n }\n}\n\n///\n/// Sets the ink color of an enabled radio button.\n/// @param {Color} $color - The desired ink color.\n///\n@mixin ink-color($color, $query: feature-targeting-functions.all()) {\n @include if-enabled_ {\n @include ink-color_($color, $query: $query);\n }\n}\n\n///\n/// Sets the stroke color of an unchecked, disabled radio button.\n/// @param {Color} $color - The desired stroke color.\n///\n@mixin disabled-unchecked-stroke-color($color, $query: feature-targeting-functions.all()) {\n @include if-disabled-unchecked_ {\n @include stroke-color_($color, $query: $query);\n }\n}\n\n///\n/// Sets the stroke color of a checked, disabled radio button.\n/// @param {Color} $color - The desired stroke color.\n///\n@mixin disabled-checked-stroke-color($color, $query: feature-targeting-functions.all()) {\n @include if-disabled-checked_ {\n @include stroke-color_($color, $query: $query);\n }\n}\n\n///\n/// Sets the ink color of a disabled radio button.\n/// @param {Color} $color - The desired ink color\n///\n@mixin disabled-ink-color($color, $query: feature-targeting-functions.all()) {\n @include if-disabled_ {\n @include ink-color_($color, $query: $query);\n }\n}\n\n@mixin focus-indicator-color($color, $query: feature-targeting-functions.all()) {\n $feat-color: feature-targeting-functions.create-target($query, color);\n\n .mdc-radio__background::before {\n @include feature-targeting-mixins.targets($feat-color) {\n @include theme-mixins.prop(background-color, $color);\n }\n }\n}\n\n///\n/// Sets radio touch target size which can be more than the ripple size. Param `$ripple-size` is required for custom\n/// ripple size.\n///\n/// @param {Number} $size Size of touch target (Native input) in `px`.\n/// @param {Number} $ripple-size Size of ripple in `px`. Required only for custom ripple size.\n///\n@mixin touch-target(\n $size: variables.$ripple-size,\n $ripple-size: variables.$ripple-size,\n $query: feature-targeting-functions.all()) {\n $feat-structure: feature-targeting-functions.create-target($query, structure);\n $offset: ($ripple-size - $size) / 2;\n\n .mdc-radio__native-control {\n @include feature-targeting-mixins.targets($feat-structure) {\n top: $offset;\n right: $offset;\n left: $offset;\n width: $size;\n height: $size;\n }\n }\n}\n\n///\n/// Sets density scale for radio.\n///\n/// @param {Number | String} $density-scale - Density scale value for component. Supported density scale values\n/// `-3`, `-2`, `-1`, `0`.\n///\n@mixin density($density-scale, $query: feature-targeting-functions.all()) {\n $size: density-functions.prop-value(\n $density-config: variables.$density-config,\n $density-scale: $density-scale,\n $property-name: size,\n );\n\n @include ripple-size($size, $query: $query);\n // Sets touch target size same as ripple size.\n @include touch-target($size: $size, $ripple-size: $size, $query: $query);\n\n @if $density-scale != 0 {\n @include touch-target-reset_($query: $query);\n }\n}\n\n///\n/// Sets radio ripple size.\n///\n/// @param {Number} $size - Ripple size in `px`.\n///\n@mixin ripple-size($size, $query: feature-targeting-functions.all()) {\n $feat-structure: feature-targeting-functions.create-target($query, structure);\n $padding: ($size - variables.$icon-size) / 2;\n\n @include feature-targeting-mixins.targets($feat-structure) {\n padding: $padding;\n }\n\n .mdc-radio__background::before {\n @include feature-targeting-mixins.targets($feat-structure) {\n top: -$padding;\n left: -$padding;\n width: $size;\n height: $size;\n }\n }\n}\n\n///\n/// Resets touch target-related styles. This is called from the density mixin to\n/// automatically remove the increased touch target, since dense components\n/// don't have the same default a11y requirements.\n/// @access private\n///\n@mixin touch-target-reset_($query: feature-targeting-functions.all()) {\n $feat-structure: feature-targeting-functions.create-target($query, structure);\n\n @include feature-targeting-mixins.targets($feat-structure) {\n margin: 0;\n }\n}\n\n///\n/// Helps select the radio background only when its native control is in the\n/// enabled state.\n/// @access private\n///\n@mixin if-enabled_ {\n .mdc-radio__native-control:enabled + {\n @content;\n }\n}\n\n///\n/// Helps select the radio background only when its native control is in the\n/// enabled & unchecked state.\n/// @access private\n///\n@mixin if-enabled-unchecked_ {\n .mdc-radio__native-control:enabled:not(:checked) + {\n @content;\n }\n}\n\n///\n/// Helps select the radio background only when its native control is in the\n/// enabled & checked state.\n/// @access private\n///\n@mixin if-enabled-checked_ {\n .mdc-radio__native-control:enabled:checked + {\n @content;\n }\n}\n\n///\n/// Helps select the radio background only when its native control is in the\n/// disabled state.\n/// @access private\n///\n@mixin if-disabled_ {\n [aria-disabled=\"true\"] .mdc-radio__native-control,\n .mdc-radio__native-control:disabled {\n + {\n @content;\n }\n }\n}\n\n///\n/// Helps select the radio background only when its native control is in the\n/// disabled & unchecked state.\n/// @access private\n///\n@mixin if-disabled-unchecked_ {\n [aria-disabled=\"true\"] .mdc-radio__native-control,\n .mdc-radio__native-control:disabled {\n &:not(:checked) + {\n @content;\n }\n }\n}\n\n///\n/// Helps select the radio background only when its native control is in the\n/// disabled & checked state.\n/// @access private\n///\n@mixin if-disabled-checked_ {\n [aria-disabled=\"true\"] .mdc-radio__native-control,\n .mdc-radio__native-control:disabled {\n &:checked + {\n @content;\n }\n }\n}\n\n///\n/// Sets the ink color for radio. This is wrapped in a mixin\n/// that qualifies state such as `mdc-radio-if-enabled_`\n/// @access private\n///\n@mixin ink-color_($color, $query: feature-targeting-functions.all()) {\n $feat-color: feature-targeting-functions.create-target($query, color);\n\n .mdc-radio__background .mdc-radio__inner-circle {\n @include feature-targeting-mixins.targets($feat-color) {\n @include theme-mixins.prop(border-color, $color);\n }\n }\n}\n\n///\n/// Sets the stroke color for radio. This is wrapped in a mixin\n/// that qualifies state such as `mdc-radio-if-enabled_`\n/// @access private\n///\n@mixin stroke-color_($color, $query: feature-targeting-functions.all()) {\n $feat-color: feature-targeting-functions.create-target($query, color);\n\n .mdc-radio__background .mdc-radio__outer-circle {\n @include feature-targeting-mixins.targets($feat-color) {\n @include theme-mixins.prop(border-color, $color);\n }\n }\n}\n","//\n// Copyright 2016 Google Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n//\n\n@use \"@material/density/variables\" as density-variables;\n@use \"@material/theme/variables\" as theme-variables;\n\n$ripple-size: 40px !default;\n$icon-size: 20px !default;\n$transition-duration: 120ms !default;\n$ripple-opacity: .14 !default;\n$baseline-theme-color: secondary !default;\n$unchecked-color: rgba(theme-variables.prop-value(on-surface), .54) !default;\n$disabled-circle-color: rgba(theme-variables.prop-value(on-surface), .38) !default;\n\n$minimum-size: 28px !default;\n$maximum-size: $ripple-size !default;\n$density-scale: density-variables.$default-scale !default;\n$density-config: (\n size: (\n minimum: $minimum-size,\n default: $ripple-size,\n maximum: $maximum-size,\n ),\n) !default;\n","//\n// Copyright 2018 Google Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n//\n\n@keyframes mdc-select-float-native-control {\n 0% {\n transform: translateY(8px);\n opacity: 0;\n }\n\n 100% {\n transform: translateY(0);\n opacity: 1;\n }\n}\n","// Copyright 2018 Google Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:/\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software./\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n//\n\n@use \"@material/rtl/mixins\" as rtl-mixins;\n@use \"@material/theme/mixins\" as theme-mixins;\n@use \"./variables\";\n\n// Public mixins\n\n@mixin icon-color($color) {\n &:not(.mdc-select--disabled) {\n @include icon-color_($color);\n }\n}\n\n// Private mixins\n\n@mixin icon_ {\n @include icon-color(on-surface);\n\n .mdc-select__icon {\n display: inline-block;\n position: absolute;\n bottom: 16px;\n box-sizing: border-box;\n width: variables.$icon-size;\n height: variables.$icon-size;\n border: none;\n background-color: transparent;\n fill: currentColor;\n opacity: variables.$icon-opacity;\n text-decoration: none;\n cursor: pointer;\n user-select: none;\n }\n}\n\n@mixin icon-color_($color) {\n .mdc-select__icon {\n @include theme-mixins.prop(color, $color);\n }\n}\n\n@mixin icon-horizontal-position_($iconPosition, $inputPadding) {\n .mdc-select__icon {\n @include rtl-mixins.reflexive-position(left, $iconPosition);\n }\n\n // Move the input's position, to allow room for the icon\n .mdc-select__selected-text {\n @include rtl-mixins.reflexive-property(padding, $inputPadding /* left */, variables.$icon-right-padding /* right */);\n }\n}\n","// Copyright 2018 Google Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:/\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software./\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n//\n\n$icon-size: 24px !default;\n$icon-opacity: .54 !default;\n$icon-right-padding: 32px !default;\n","// Copyright 2018 Google Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:/\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software./\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n//\n\n@use \"./mixins\";\n\n.mdc-select--with-leading-icon {\n @include mixins.icon_;\n}\n\n.mdc-select__icon:not([tabindex]),\n.mdc-select__icon[tabindex=\"-1\"] {\n cursor: default;\n pointer-events: none;\n}\n","// Copyright 2018 Google Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:/\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software./\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n//\n\n@use \"../functions\";\n@use \"@material/theme/mixins\" as mixins2;\n@use \"@material/typography/mixins\";\n\n// postcss-bem-linter: define select-helper-text\n.mdc-select-helper-text {\n @include mixins.typography(caption);\n @include mixins.baseline-top(16px);\n\n margin: 0;\n transition: functions.transition(opacity);\n opacity: 0;\n will-change: opacity;\n}\n\n.mdc-select-helper-text--persistent {\n transition: none;\n opacity: 1;\n will-change: initial;\n}\n// postcss-bem-linter: end\n","//\n// Copyright 2017 Google Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n//\n\n@use \"./keyframes\";\n@use \"./mixins\";\n@use \"./variables\";\n@use \"@material/animation/variables\" as animation-variables;\n@use \"@material/line-ripple/mdc-line-ripple\"; // COPYBARA_COMMENT_THIS_LINE\n@use \"@material/notched-outline/mdc-notched-outline\"; // COPYBARA_COMMENT_THIS_LINE\n@use \"@material/floating-label/mdc-floating-label\"; // COPYBARA_COMMENT_THIS_LINE\n@use \"@material/typography/mixins\" as mixins2;\n@use \"@material/ripple/common\"; // COPYBARA_COMMENT_THIS_LINE\n@use \"@material/ripple/mixins\" as ripple-mixins;\n@use \"@material/rtl/mixins\" as rtl-mixins;\n@use \"./icon/mdc-select-icon\";\n@use \"./helper-text/mdc-select-helper-text\";\n@use \"./helper-text/mixins\" as helper-text-mixins;\n@use \"@material/floating-label/mixins\" as floating-label-mixins;\n@use \"@material/ripple/functions\";\n@use \"@material/theme/mixins\" as theme-mixins;\n@use \"@material/theme/variables\" as theme-variables;\n\n// postcss-bem-linter: define select\n.mdc-select {\n @include mixins.container-fill-color(variables.$fill-color);\n @include mixins.ink-color(variables.$ink-color);\n @include mixins.label-color(variables.$label-color);\n @include mixins.bottom-line-color(variables.$bottom-line-idle-color);\n @include helper-text-mixins.helper-text-color(variables.$helper-text-color);\n @include mixins.shape-radius(small);\n\n // Focused state colors\n @include mixins.focused-bottom-line-color(primary);\n @include mixins.focused-label-color(variables.$focused-label-color);\n\n // Hover state colors\n @include mixins.hover-bottom-line-color(variables.$bottom-line-hover-color);\n\n // Floating label private mixin\n @include mixins.floating-label_;\n\n position: relative; // Menu is absolutely positioned relative to this.\n\n &__dropdown-icon {\n @include mixins.dd-arrow-svg-bg_(variables.$dropdown-color, variables.$dropdown-opacity);\n @include rtl-mixins.reflexive(left, auto, right, 8px);\n\n position: absolute;\n bottom: 16px;\n width: 24px;\n height: 24px;\n transition: transform variables.$dropdown-transition-duration animation-variables.$standard-curve-timing-function;\n pointer-events: none;\n\n .mdc-select--focused & {\n @include mixins.dd-arrow-svg-bg_(theme-variables.prop-value(primary), 1);\n }\n\n .mdc-select--activated & {\n transform: rotate(180deg) translateY(-5px);\n transition: transform variables.$dropdown-transition-duration animation-variables.$standard-curve-timing-function;\n }\n }\n}\n\n.mdc-select__anchor {\n @include ripple-mixins.surface;\n @include ripple-mixins.radius-bounded;\n // Select intentionally omits press ripple, so each state needs to be specified individually.\n @include ripple-mixins.states-base-color(variables.$ink-color);\n @include ripple-mixins.states-hover-opacity(functions.states-opacity(variables.$ink-color, hover));\n @include ripple-mixins.states-focus-opacity(functions.states-opacity(variables.$ink-color, focus));\n @include floating-label-mixins.float-position(variables.$label-position-y);\n\n display: inline-flex;\n position: relative;\n box-sizing: border-box;\n height: variables.$height;\n overflow: hidden;\n /* @alternate */\n will-change: opacity, transform, color;\n\n @include mixins.focused-line-ripple_ {\n &::after {\n transform: scale(1, 2);\n opacity: 1;\n }\n }\n}\n\n@include mixins.helper-text_;\n@include mixins.text_();\n\n.mdc-select--outlined {\n @include mixins.outlined_;\n}\n\n.mdc-select--invalid {\n @include mixins.label-color(variables.$error-color);\n @include mixins.bottom-line-color(variables.$error-color);\n @include mixins.focused-bottom-line-color(variables.$error-color);\n @include mixins.focused-label-color(variables.$error-color);\n @include helper-text-mixins.helper-text-validation-color(variables.$error-color);\n\n // Hover state colors\n @include mixins.hover-bottom-line-color(variables.$error-color);\n\n &.mdc-select--outlined {\n @include mixins.outline-color(variables.$error-color);\n @include mixins.hover-outline-color(variables.$error-color);\n @include mixins.focused-outline-color(variables.$error-color);\n }\n\n .mdc-select__dropdown-icon {\n @include mixins.dd-arrow-svg-bg_(variables.$error-color, 1);\n }\n\n // stylelint-disable-next-line plugin/selector-bem-pattern\n + .mdc-select-helper-text--validation-msg {\n opacity: 1;\n }\n}\n\n.mdc-select--required {\n // stylelint-disable-next-line plugin/selector-bem-pattern\n .mdc-floating-label::after {\n content: \"*\";\n }\n}\n\n.mdc-select--disabled {\n @include mixins.disabled_;\n}\n\n.mdc-select--no-label {\n @include mixins.no-label_;\n}\n\n.mdc-select--with-leading-icon {\n @include mixins.with-leading-icon_;\n}\n\n.mdc-select__menu .mdc-list .mdc-list-item--selected {\n @include theme-mixins.prop(color, on-surface);\n @include ripple-mixins.states(on-surface);\n}\n\n@include floating-label-mixins.shake-keyframes(\n select-outlined-leading-icon,\n variables.$outlined-label-position-y,\n variables.$outlined-with-leading-icon-label-position-x\n);\n@include floating-label-mixins.shake-keyframes(\n select-outlined-leading-icon-rtl,\n variables.$outlined-label-position-y,\n -(variables.$outlined-with-leading-icon-label-position-x)\n);\n","//\n// Copyright 2018 Google Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n//\n\n@use \"sass:list\";\n@use \"sass:string\";\n@use \"@material/floating-label/mixins\" as floating-label-mixins;\n@use \"@material/theme/mixins\" as theme-mixins;\n@use \"@material/shape/mixins\" as shape-mixins;\n@use \"@material/shape/functions\";\n@use \"@material/line-ripple/mixins\" as line-ripple-mixins;\n@use \"@material/notched-outline/mixins\" as notched-outline-mixins;\n@use \"@material/notched-outline/variables\" as notched-outline-variables;\n@use \"@material/ripple/mixins\" as ripple-mixins;\n@use \"./icon/mixins\";\n@use \"./variables\";\n@use \"@material/rtl/mixins\" as rtl-mixins;\n@use \"@material/theme/variables\" as theme-variables;\n@use \"@material/typography/mixins\" as typography-mixins;\n\n// Public\n\n@mixin ink-color($color) {\n &:not(.mdc-select--disabled) {\n @include ink-color_($color);\n }\n}\n\n@mixin container-fill-color($color) {\n &:not(.mdc-select--disabled) {\n @include container-fill-color_($color);\n }\n}\n\n@mixin focused-label-color($color) {\n &:not(.mdc-select--disabled) {\n &.mdc-select--focused .mdc-floating-label {\n @include floating-label-mixins.ink-color(theme-variables.prop-value($color));\n }\n }\n}\n\n@mixin hover-bottom-line-color($color) {\n &:not(.mdc-select--disabled):hover {\n @include bottom-line-color_($color);\n }\n}\n\n@mixin bottom-line-color($color) {\n &:not(.mdc-select--disabled) {\n @include bottom-line-color_($color);\n }\n}\n\n@mixin focused-bottom-line-color($color) {\n &:not(.mdc-select--disabled) {\n @include focused-line-ripple-color_($color);\n }\n}\n\n@mixin label-color($color) {\n &:not(.mdc-select--disabled) .mdc-floating-label {\n @include floating-label-mixins.ink-color($color);\n }\n}\n\n@mixin outline-color($color) {\n &:not(.mdc-select--disabled) {\n @include outline-color_($color);\n }\n}\n\n@mixin hover-outline-color($color) {\n &:not(.mdc-select--disabled) {\n @include hover-outline-color_($color);\n }\n}\n\n@mixin focused-outline-color($color) {\n &:not(.mdc-select--disabled) {\n @include focused-outline-color_($color);\n }\n}\n\n@mixin shape-radius($radius, $rtl-reflexive: false) {\n @if list.length($radius) > 2 {\n @error \"Invalid radius: '#{$radius}' component doesn't allow customizing all corners\";\n }\n\n $masked-radius: functions.mask-radius($radius, 1 1 0 0);\n\n .mdc-select__anchor {\n @include shape-mixins.radius(functions.resolve-percentage-radius(variables.$height, $masked-radius), $rtl-reflexive);\n }\n}\n\n@mixin outline-shape-radius($radius, $rtl-reflexive: false) {\n $resolved-radius: list.nth(functions.resolve-percentage-radius(variables.$height, functions.prop-value($radius)), 1);\n\n @if (list.length(functions.prop-value($radius)) > 1) {\n // stylelint-disable-next-line max-line-length\n @warn \"mdc-select-outline-shape-radius only supports a single radius; see https://github.com/material-components/material-components-web/issues/4140\";\n }\n\n .mdc-notched-outline {\n @include notched-outline-mixins.shape-radius($resolved-radius, $rtl-reflexive);\n }\n\n .mdc-select__selected-text {\n @include shape-mixins.radius($resolved-radius, $rtl-reflexive);\n }\n\n @if ($resolved-radius > notched-outline-variables.$leading-width) {\n .mdc-select__selected-text {\n @include rtl-mixins.reflexive-property(\n padding,\n $resolved-radius + notched-outline-variables.$padding,\n variables.$arrow-padding\n );\n }\n\n + .mdc-select-helper-text {\n @include rtl-mixins.reflexive-property(\n margin,\n $resolved-radius + notched-outline-variables.$padding,\n variables.$outline-label-offset\n );\n }\n }\n}\n\n// Private\n@mixin focused-line-ripple_ {\n &.mdc-select--focused .mdc-line-ripple {\n @content;\n }\n}\n\n@mixin focused-outline_ {\n &.mdc-select--focused .mdc-notched-outline {\n @include notched-outline-mixins.stroke-width(2px);\n @content;\n }\n}\n\n@mixin focused-outline-idle_ {\n &.mdc-select--focused {\n @content;\n }\n}\n\n@mixin ink-color_($color) {\n .mdc-select__selected-text {\n @include theme-mixins.prop(color, $color);\n }\n}\n\n@mixin container-fill-color_($color) {\n .mdc-select__anchor {\n @include theme-mixins.prop(background-color, $color);\n }\n}\n\n@mixin bottom-line-color_($color) {\n .mdc-line-ripple {\n @include line-ripple-mixins.inactive-color($color);\n }\n}\n\n@mixin focused-line-ripple-color_($color) {\n @include focused-line-ripple_ {\n @include line-ripple-mixins.active-color($color);\n }\n}\n\n@mixin dd-arrow-svg-bg_($fill-hex-number, $opacity) {\n // Lookup color and remove leading #.\n $fill-hex-number: theme-variables.prop-value($fill-hex-number);\n $fill-hex-number: string.slice(string.unquote(\"#{$fill-hex-number}\"), 2);\n\n // stylelint-disable-next-line function-url-quotes\n background: url('data:image/svg+xml,%3Csvg%20width%3D%2210px%22%20height%3D%225px%22%20viewBox%3D%227%2010%2010%205%22%20version%3D%221.1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%3E%0A%20%20%20%20%3Cpolygon%20id%3D%22Shape%22%20stroke%3D%22none%22%20fill%3D%22%23#{$fill-hex-number}%22%20fill-rule%3D%22evenodd%22%20opacity%3D%22#{$opacity}%22%20points%3D%227%2010%2012%2015%2017%2010%22%3E%3C%2Fpolygon%3E%0A%3C%2Fsvg%3E')\n no-repeat\n center;\n}\n\n@mixin outline-color_($color) {\n @include notched-outline-mixins.color($color);\n}\n\n@mixin hover-outline-color_($color) {\n // stylelint-disable-next-line selector-combinator-space-after\n &:not(.mdc-select--focused) .mdc-select__selected-text:hover ~ {\n .mdc-notched-outline {\n @include notched-outline-mixins.color($color);\n }\n }\n}\n\n@mixin focused-outline-color_($color) {\n @include focused-outline_ {\n @include notched-outline-mixins.color($color);\n }\n}\n\n@mixin floating-label_ {\n .mdc-floating-label {\n @include rtl-mixins.reflexive-position(left, variables.$outline-label-offset);\n\n top: 21px;\n pointer-events: none;\n }\n\n &.mdc-select--with-leading-icon {\n .mdc-floating-label {\n @include rtl-mixins.reflexive-position(left, variables.$icon-padding);\n }\n }\n\n &.mdc-select--outlined {\n .mdc-floating-label {\n @include rtl-mixins.reflexive-position(left, notched-outline-variables.$padding);\n\n top: 17px;\n }\n\n &.mdc-select--with-leading-icon {\n .mdc-floating-label {\n @include rtl-mixins.reflexive-position(left, variables.$icon-padding - notched-outline-variables.$leading-width);\n\n &--float-above {\n @include rtl-mixins.reflexive-position(left, variables.$icon-padding - notched-outline-variables.$leading-width);\n }\n }\n }\n }\n}\n\n@mixin with-leading-icon_ {\n @include mixins.icon-horizontal-position_(16px, variables.$icon-padding);\n\n &.mdc-select--outlined {\n @include notched-outline-mixins.floating-label-float-position(\n variables.$outlined-label-position-y,\n variables.$outlined-with-leading-icon-label-position-x\n );\n @include floating-label-mixins.shake-animation(select-outlined-leading-icon);\n\n @include rtl-mixins.rtl {\n @include floating-label-mixins.shake-animation(select-outlined-leading-icon-rtl);\n }\n }\n\n &.mdc-select__menu .mdc-list-item__text {\n @include rtl-mixins.reflexive-property(padding, 32px /* left-value */, 32px /* right-value */);\n }\n}\n\n@mixin text_ {\n .mdc-select__selected-text {\n @include rtl-mixins.reflexive-property(padding, variables.$label-padding, variables.$arrow-padding);\n @include typography-mixins.typography(subtitle1);\n\n &::-ms-expand {\n display: none;\n }\n\n &::-ms-value {\n background-color: transparent;\n color: inherit;\n }\n\n // counteracts the extra text padding that Firefox adds by default\n // stylelint-disable-next-line function-url-quotes\n @-moz-document url-prefix(\"\") {\n text-indent: -2px;\n }\n\n box-sizing: border-box;\n width: 100%;\n min-width: 200px;\n height: variables.$height;\n padding-top: 20px;\n padding-bottom: 4px;\n border: none;\n outline: none;\n background-color: transparent;\n color: inherit; // Override default user agent stylesheet\n white-space: nowrap;\n cursor: pointer;\n appearance: none;\n }\n}\n\n@mixin disabled_ {\n @include container-fill-color_(variables.$disabled-fill-color);\n\n .mdc-floating-label {\n @include floating-label-mixins.ink-color(variables.$disabled-label-color);\n }\n\n .mdc-select__dropdown-icon {\n @include dd-arrow-svg-bg_(variables.$dropdown-color, variables.$disabled-dropdown-opacity);\n }\n\n .mdc-line-ripple {\n @include line-ripple-mixins.inactive-color(variables.$disabled-ink-color);\n\n &::before {\n // TODO(b/146080006)\n border-bottom-style: dotted;\n }\n }\n\n .mdc-select__icon {\n @include theme-mixins.prop(color, variables.$disabled-icon-color);\n }\n\n .mdc-select__selected-text {\n @include theme-mixins.prop(color, variables.$disabled-ink-color);\n\n pointer-events: none;\n }\n\n &.mdc-select--outlined {\n @include container-fill-color_(transparent);\n @include outline-color_(variables.$outlined-disabled-border);\n }\n\n cursor: default;\n pointer-events: none;\n}\n\n@mixin no-label_ {\n &:not(.mdc-select--outlined) {\n .mdc-select__anchor .mdc-select__selected-text {\n padding-top: 14px;\n }\n }\n}\n\n@mixin outlined_ {\n @include container-fill-color(transparent);\n @include outline-color(variables.$outlined-idle-border);\n @include hover-outline-color(variables.$outlined-hover-border);\n @include focused-outline-color(primary);\n @include outline-shape-radius(small);\n @include container-fill-color(transparent);\n\n border: none;\n\n .mdc-select__anchor {\n @include ripple-mixins.states-base-color(transparent);\n @include floating-label-mixins.shake-animation(text-field-outlined);\n @include notched-outline-mixins.floating-label-float-position(variables.$outlined-label-position-y, 0);\n\n overflow: visible;\n }\n\n .mdc-select__selected-text {\n @include rtl-mixins.reflexive-property(padding, variables.$label-padding, variables.$arrow-padding);\n\n display: flex;\n padding-top: 14px;\n padding-bottom: 12px;\n border: none;\n background-color: transparent;\n z-index: 1;\n }\n\n .mdc-select__icon {\n z-index: 2;\n }\n\n .mdc-floating-label {\n line-height: 1.15rem;\n pointer-events: auto;\n }\n}\n\n@mixin helper-text_ {\n .mdc-select-helper-text {\n // stylelint-disable plugin/selector-bem-pattern\n .mdc-select__anchor + & {\n margin-right: 12px;\n margin-left: 12px;\n }\n\n .mdc-select--outlined .mdc-select__anchor + & {\n margin-right: 16px;\n margin-left: 16px;\n }\n // stylelint-enable plugin/selector-bem-pattern\n }\n\n .mdc-select--focused .mdc-select__anchor + .mdc-select-helper-text:not(.mdc-select-helper-text--validation-msg) {\n opacity: 1;\n }\n}\n","// Copyright 2018 Google Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:/\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software./\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n//\n\n@use \"@material/theme/mixins\";\n\n// Public mixins\n\n@mixin helper-text-color($color) {\n &:not(.mdc-select--disabled) {\n @include helper-text-color_($color);\n }\n}\n\n@mixin helper-text-validation-color($color) {\n &:not(.mdc-select--disabled) {\n @include helper-text-validation-color_($color);\n }\n}\n\n// Private mixins\n\n@mixin helper-text-color_($color) {\n .mdc-select__anchor + .mdc-select-helper-text {\n @include mixins.prop(color, $color);\n }\n}\n\n@mixin helper-text-validation-color_($color) {\n &.mdc-select--invalid .mdc-select__anchor + .mdc-select-helper-text--validation-msg {\n @include mixins.prop(color, $color);\n }\n}\n","//\n// Copyright 2017 Google Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n//\n\n@use \"sass:color\";\n@use \"@material/animation/variables\" as variables2;\n@use \"@material/theme/variables\";\n\n$arrow-padding: 52px !default;\n$label-padding: 16px !default;\n$height: 56px !default;\n$icon-padding: 48px !default;\n\n$ink-color: rgba(variables.prop-value(on-surface), .87) !default;\n$dropdown-color: variables.prop-value(on-surface) !default;\n$icon-color: rgba(variables.prop-value(on-surface), .54) !default;\n$label-color: rgba(variables.prop-value(on-surface), .6) !default;\n$focused-label-color: rgba(variables.prop-value(primary), .87) !default;\n$bottom-line-idle-color: rgba(variables.prop-value(on-surface), .42) !default;\n$bottom-line-hover-color: rgba(variables.prop-value(on-surface), .87) !default;\n$helper-text-color: rgba(variables.prop-value(on-surface), .6) !default;\n\n$fill-color: color.mix(variables.prop-value(on-surface), variables.prop-value(surface), 4%) !default;\n\n$dropdown-opacity: .54 !default;\n\n// Disabled Styles\n$disabled-label-color: rgba(variables.prop-value(on-surface), .38) !default;\n$disabled-icon-color: rgba(variables.prop-value(on-surface), .38) !default;\n$disabled-ink-color: rgba(variables.prop-value(on-surface), .38) !default;\n$disabled-fill-color: color.mix(variables.prop-value(on-surface), variables.prop-value(surface), 2%) !default;\n$disabled-dropdown-opacity: .38 !default;\n\n$outlined-idle-border: rgba(variables.prop-value(on-surface), .38) !default;\n$outlined-hover-border: rgba(variables.prop-value(on-surface), .87) !default;\n\n// should be .06 after mdc-select opacity is applied\n$outlined-disabled-border: rgba(variables.prop-value(on-surface), .16) !default;\n\n$label-position-y: 70% !default;\n$outline-label-offset: 16px !default;\n$outlined-label-position-y: 130% !default;\n$outlined-dense-label-position-y: 110% !default;\n$outlined-with-leading-icon-label-position-x: 32px !default;\n\n$dropdown-transition-duration: 150ms !default;\n\n// Error colors\n$error-color: error !default;\n","//\n// Copyright 2017 Google Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n//\n\n@mixin emphasize-keyframes_ {\n @keyframes mdc-slider-emphasize {\n 0% {\n animation-timing-function: ease-out;\n }\n\n 50% {\n animation-timing-function: ease-in;\n transform: scale(.85);\n }\n\n 100% {\n transform: scale(.571);\n }\n }\n}\n","//\n// Copyright 2017 Google Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n//\n\n@use \"@material/feature-targeting/functions\" as feature-targeting-functions;\n@use \"@material/feature-targeting/mixins\" as feature-targeting-mixins;\n@use \"@material/theme/functions\" as theme-functions;\n@use \"@material/theme/mixins\" as theme-mixins;\n@use \"@material/theme/variables\" as theme-variables; // for mdc-theme-prop-value\n@use \"@material/typography/mixins\" as typography-mixins;\n@use \"@material/rtl/mixins\" as rtl-mixins;\n@use \"./variables\";\n@use \"./keyframes\";\n\n//\n// Public\n//\n@mixin core-styles($query: feature-targeting-functions.all()) {\n $feat-structure: feature-targeting-functions.create-target($query, structure);\n $feat-animation: feature-targeting-functions.create-target($query, animation);\n\n // postcss-bem-linter: define slider\n\n @include feature-targeting-mixins.targets($feat-animation) {\n @include keyframes.emphasize-keyframes_;\n }\n\n .mdc-slider {\n @include color-accessible(secondary, $query: $query);\n\n &--disabled {\n $disabled-color: #9a9a9a;\n\n @include highlight-color_($disabled-color, $query: $query);\n @include rail-color_($disabled-color, $query: $query);\n @include rail-tick-mark-color_($disabled-color, $query: $query);\n @include thumb-color_($disabled-color, $query: $query);\n @include thumb-stroke-cutout_(white, $query: $query);\n\n @include feature-targeting-mixins.targets($feat-structure) {\n cursor: auto;\n }\n }\n\n @include feature-targeting-mixins.targets($feat-structure) {\n position: relative;\n width: 100%;\n height: 48px;\n cursor: pointer;\n touch-action: pan-x;\n -webkit-tap-highlight-color: rgba(black, 0);\n\n &:focus {\n outline: none;\n }\n }\n\n @include track_($query: $query);\n @include track-marker_($query: $query);\n @include thumb_($query: $query);\n @include focus-ring_($query: $query);\n @include pin_($query: $query);\n }\n\n .mdc-slider--active {\n .mdc-slider__thumb {\n @include feature-targeting-mixins.targets($feat-structure) {\n transform: scale3d(1, 1, 1);\n }\n }\n }\n\n .mdc-slider--focus {\n .mdc-slider__thumb {\n @include feature-targeting-mixins.targets($feat-animation) {\n animation: mdc-slider-emphasize 266.67ms linear;\n }\n }\n\n .mdc-slider__focus-ring {\n @include feature-targeting-mixins.targets($feat-structure) {\n transform: scale3d(1.55, 1.55, 1.55);\n opacity: .25;\n }\n }\n }\n\n .mdc-slider--in-transit {\n .mdc-slider__thumb {\n @include feature-targeting-mixins.targets($feat-animation) {\n transition-delay: 140ms;\n }\n }\n }\n\n // NOTE(traviskaufman): There are multiple cases where we want the slider to\n // transition seamlessly even though we're jumping to a spot. The selectors\n // below highlight these cases. The selectors are supplemented by a comment\n // denoting their semantic meaning within the slider.\n\n // When a user clicks somewhere on the track that is not directly the slider\n // thumb container, we transition to the place where the user clicked.\n .mdc-slider--in-transit,\n // When a user is using the arrow keys to modify the value of the slider rather\n // than dragging with a pointer, we transition from one value to another.\n .mdc-slider:focus:not(.mdc-slider--active) {\n .mdc-slider__thumb-container,\n .mdc-slider__track {\n @include feature-targeting-mixins.targets($feat-animation) {\n transition: transform 80ms ease;\n }\n }\n }\n\n .mdc-slider--discrete {\n // stylelint-disable plugin/selector-bem-pattern\n &.mdc-slider--active {\n .mdc-slider__thumb {\n @include feature-targeting-mixins.targets($feat-structure) {\n transform: scale(calc(12 / 21));\n }\n }\n\n .mdc-slider__pin {\n @include feature-targeting-mixins.targets($feat-structure) {\n transform: rotate(-45deg) scale(1) translate(19px, -20px);\n }\n }\n }\n\n &.mdc-slider--focus {\n .mdc-slider__thumb {\n @include feature-targeting-mixins.targets($feat-animation) {\n animation: none;\n }\n }\n }\n\n &.mdc-slider--display-markers {\n .mdc-slider__track-marker-container {\n @include feature-targeting-mixins.targets($feat-structure) {\n visibility: visible;\n }\n }\n }\n // stylelint-enable plugin/selector-bem-pattern\n }\n\n // postcss-bem-linter: end\n}\n\n@mixin highlight-color($color, $query: feature-targeting-functions.all()) {\n &:not(.mdc-slider--disabled) {\n @include highlight-color_($color, $query: $query);\n }\n}\n\n@mixin rail-color($color, $opacity: variables.$baseline-rail-opacity, $query: feature-targeting-functions.all()) {\n &:not(.mdc-slider--disabled) {\n @include rail-color_($color, $opacity, $query: $query);\n }\n}\n\n@mixin rail-tick-mark-color($color, $query: feature-targeting-functions.all()) {\n &:not(.mdc-slider--disabled) {\n @include rail-tick-mark-color_($color, $query: $query);\n }\n}\n\n@mixin thumb-color($color, $query: feature-targeting-functions.all()) {\n &:not(.mdc-slider--disabled) {\n @include thumb-color_($color, $query: $query);\n }\n}\n\n@mixin focus-halo-color($color, $query: feature-targeting-functions.all()) {\n $feat-color: feature-targeting-functions.create-target($query, color);\n\n &:not(.mdc-slider--disabled) {\n .mdc-slider__focus-ring {\n @include feature-targeting-mixins.targets($feat-color) {\n @include theme-mixins.prop(background-color, $color);\n }\n }\n }\n}\n\n@mixin value-pin-ink-color($color, $query: feature-targeting-functions.all()) {\n $feat-color: feature-targeting-functions.create-target($query, color);\n\n &:not(.mdc-slider--disabled) {\n .mdc-slider__pin {\n @include feature-targeting-mixins.targets($feat-color) {\n @include theme-mixins.prop(color, $color);\n }\n }\n }\n}\n\n@mixin value-pin-fill-color($color, $query: feature-targeting-functions.all()) {\n $feat-color: feature-targeting-functions.create-target($query, color);\n\n &:not(.mdc-slider--disabled) {\n .mdc-slider__pin {\n @include feature-targeting-mixins.targets($feat-color) {\n @include theme-mixins.prop(background-color, $color);\n }\n }\n }\n}\n\n@mixin value-pin-fill-color-accessible($color, $query: feature-targeting-functions.all()) {\n $color-value: theme-variables.prop-value($color);\n $ink-color: if(theme-functions.tone($color-value) == \"light\", text-primary-on-light, text-primary-on-dark);\n\n @include value-pin-fill-color($color, $query: $query);\n @include value-pin-ink-color($ink-color, $query: $query);\n}\n\n// NOTE: This mixin sets the color of ALL customizable elements in the slider. If new elements are added, this mixin\n// should be updated to cover those additional elements.\n@mixin color-accessible($color, $query: feature-targeting-functions.all()) {\n @include highlight-color($color, $query: $query);\n @include rail-color($color, $query: $query);\n @include rail-tick-mark-color($color, $query: $query);\n @include thumb-color($color, $query: $query);\n @include focus-halo-color($color, $query: $query);\n @include value-pin-fill-color-accessible($color, $query: $query);\n}\n\n//\n// Private\n//\n\n@mixin track_($query: feature-targeting-functions.all()) {\n $feat-structure: feature-targeting-functions.create-target($query, structure);\n $feat-animation: feature-targeting-functions.create-target($query, animation);\n\n &__track-container {\n @include feature-targeting-mixins.targets($feat-structure) {\n position: absolute;\n top: 50%;\n width: 100%;\n height: 2px;\n overflow: hidden;\n }\n\n &::after {\n @include feature-targeting-mixins.targets($feat-structure) {\n position: absolute;\n top: 0;\n left: 0;\n display: block;\n width: 100%;\n height: 100%;\n content: \"\";\n }\n }\n }\n\n &__track {\n @include feature-targeting-mixins.targets($feat-structure) {\n position: absolute;\n width: 100%;\n height: 100%;\n transform-origin: left top;\n\n @include rtl-mixins.rtl(\".mdc-slider\") {\n transform-origin: right top;\n }\n }\n\n @include feature-targeting-mixins.targets($feat-animation) {\n will-change: transform;\n }\n }\n}\n\n@mixin track-marker_($query: feature-targeting-functions.all()) {\n $feat-structure: feature-targeting-functions.create-target($query, structure);\n\n // stylelint-disable-next-line selector-max-type\n &__track-marker-container {\n @include feature-targeting-mixins.targets($feat-structure) {\n display: flex;\n margin-right: 0;\n margin-left: -1px;\n visibility: hidden;\n\n @include rtl-mixins.rtl(\".mdc-slider\") {\n margin-right: -1px;\n margin-left: 0;\n }\n\n // Last marker at the very end of the slider (right-most in LTR, left-most in RTL)\n // stylelint-disable-next-line selector-max-type\n &::after {\n display: block;\n width: 2px;\n height: 2px;\n content: \"\";\n }\n }\n }\n\n &__track-marker {\n @include feature-targeting-mixins.targets($feat-structure) {\n flex: 1;\n\n // stylelint-disable-next-line selector-max-type\n &::after {\n display: block;\n width: 2px;\n height: 2px;\n content: \"\";\n }\n\n // stylelint-disable-next-line selector-max-type\n &:first-child::after {\n width: 3px;\n }\n }\n }\n}\n\n@mixin thumb_($query: feature-targeting-functions.all()) {\n $feat-structure: feature-targeting-functions.create-target($query, structure);\n $feat-animation: feature-targeting-functions.create-target($query, animation);\n\n &__thumb-container {\n @include feature-targeting-mixins.targets($feat-structure) {\n position: absolute;\n top: 15px;\n left: 0;\n width: 21px;\n // Ensure that touching anywhere within the Y-coordinate space of thumb\n // is considered \"clicking on the thumb\".\n height: 100%;\n user-select: none;\n }\n\n @include feature-targeting-mixins.targets($feat-animation) {\n will-change: transform;\n }\n }\n\n &__thumb {\n @include feature-targeting-mixins.targets($feat-structure) {\n position: absolute;\n top: 0;\n left: 0;\n transform: scale(.571);\n stroke-width: 3.5;\n }\n\n @include feature-targeting-mixins.targets($feat-animation) {\n transition: transform 100ms ease-out, fill 100ms ease-out, stroke 100ms ease-out;\n }\n }\n}\n\n@mixin focus-ring_($query: feature-targeting-functions.all()) {\n $feat-structure: feature-targeting-functions.create-target($query, structure);\n $feat-animation: feature-targeting-functions.create-target($query, animation);\n\n &__focus-ring {\n @include feature-targeting-mixins.targets($feat-structure) {\n width: 21px;\n height: 21px;\n border-radius: 50%;\n opacity: 0;\n }\n\n @include feature-targeting-mixins.targets($feat-animation) {\n transition: transform 266.67ms ease-out, opacity 266.67ms ease-out, background-color 266.67ms ease-out;\n }\n }\n}\n\n@mixin pin_($query: feature-targeting-functions.all()) {\n $feat-structure: feature-targeting-functions.create-target($query, structure);\n $feat-animation: feature-targeting-functions.create-target($query, animation);\n\n &__pin {\n @include feature-targeting-mixins.targets($feat-structure) {\n display: flex;\n position: absolute;\n top: 0;\n left: 0;\n align-items: center;\n justify-content: center;\n width: 26px;\n height: 26px;\n margin-top: -2px;\n margin-left: -2px;\n transform: rotate(-45deg) scale(0) translate(0, 0);\n border-radius: 50% 50% 50% 0%;\n\n // Ensuring that the pin is higher than the thumb in the stacking order\n // removes some rendering jank observed in Chrome.\n z-index: 1;\n }\n\n @include feature-targeting-mixins.targets($feat-animation) {\n transition: transform 100ms ease-out;\n }\n }\n\n &__pin-value-marker {\n @include typography-mixins.typography(body2, $query: $query);\n\n @include feature-targeting-mixins.targets($feat-structure) {\n transform: rotate(45deg);\n }\n }\n}\n\n@mixin highlight-color_($color, $query: feature-targeting-functions.all()) {\n $feat-color: feature-targeting-functions.create-target($query, color);\n\n .mdc-slider__track {\n @include feature-targeting-mixins.targets($feat-color) {\n @include theme-mixins.prop(background-color, $color);\n }\n }\n}\n\n@mixin rail-color_($color, $opacity: variables.$baseline-rail-opacity, $query: feature-targeting-functions.all()) {\n $feat-color: feature-targeting-functions.create-target($query, color);\n\n .mdc-slider__track-container::after {\n @include feature-targeting-mixins.targets($feat-color) {\n @include theme-mixins.prop(background-color, $color);\n\n opacity: $opacity;\n }\n }\n}\n\n@mixin rail-tick-mark-color_($color, $query: feature-targeting-functions.all()) {\n $feat-color: feature-targeting-functions.create-target($query, color);\n\n .mdc-slider__track-marker-container {\n @include feature-targeting-mixins.targets($feat-color) {\n @include theme-mixins.prop(background-color, $color);\n }\n }\n}\n\n@mixin thumb-color_($color, $query: feature-targeting-functions.all()) {\n $feat-color: feature-targeting-functions.create-target($query, color);\n\n .mdc-slider__thumb {\n @include feature-targeting-mixins.targets($feat-color) {\n @include theme-mixins.prop(fill, $color);\n @include theme-mixins.prop(stroke, $color);\n }\n }\n}\n\n@mixin thumb-stroke-cutout_($color, $query: feature-targeting-functions.all()) {\n $feat-color: feature-targeting-functions.create-target($query, color);\n\n .mdc-slider__thumb {\n @include feature-targeting-mixins.targets($feat-color) {\n /* @alternate */\n stroke: $color;\n // stylelint-disable-next-line declaration-block-no-duplicate-properties\n stroke: var(--mdc-slider-bg-color-behind-component, $color);\n }\n }\n}\n","//\n// Copyright 2017 Google Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n//\n\n$baseline-rail-opacity: .26 !default;\n","//\n// Copyright 2018 Google Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n//\n\n@use \"@material/feature-targeting/functions\" as feature-targeting-functions;\n@use \"@material/feature-targeting/mixins\" as feature-targeting-mixins;\n@use \"@material/animation/functions\" as animation-functions;\n@use \"@material/button/mixins\" as button-mixins;\n@use \"@material/icon-button/mixins\" as icon-button-mixins;\n@use \"@material/ripple/mixins\" as ripple-mixins;\n@use \"@material/rtl/mixins\" as rtl-mixins;\n@use \"@material/typography/mixins\" as typography-mixins;\n@use \"@material/elevation/mixins\" as elevation-mixins;\n@use \"@material/shape/mixins\" as shape-mixins;\n@use \"@material/theme/mixins\" as theme-mixins;\n@use \"./variables\";\n\n@mixin core-styles($query: feature-targeting-functions.all()) {\n $feat-structure: feature-targeting-functions.create-target($query, structure);\n $feat-animation: feature-targeting-functions.create-target($query, animation);\n\n // postcss-bem-linter: define snackbar\n .mdc-snackbar {\n @include z-index(variables.$z-index, $query: $query);\n @include viewport-margin(variables.$viewport-margin-narrow, $query: $query);\n\n @include feature-targeting-mixins.targets($feat-structure) {\n display: none;\n position: fixed;\n right: 0;\n bottom: 0;\n left: 0;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n\n // Ignore mouse events on the root layout element.\n pointer-events: none;\n\n // For some reason, iOS Safari displays a tap highlight on the entire snackbar element.\n // Mobile Safari only supports `rgba` values for this property; named values like\n // `transparent` are ignored. From Apple's docs:\n // > This property obeys the alpha value, if specified.\n // > If you don’t specify an alpha value, Safari on iOS applies a default alpha value to the color.\n // > To disable tap highlighting, set the alpha value to 0 (invisible).\n // > If you set the alpha value to 1.0 (opaque), the element is not visible when tapped.\n // See https://github.com/ben-eb/postcss-colormin/issues/1\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n }\n }\n\n @at-root {\n @include fill-color(variables.$fill-color, $query: $query);\n @include label-ink-color(variables.$label-ink-color, $query: $query);\n @include min-width(variables.$min-width, $query: $query);\n @include max-width(variables.$max-width, $query: $query);\n @include elevation(variables.$elevation, $query: $query);\n @include shape-radius(variables.$shape-radius, $query: $query);\n }\n\n .mdc-snackbar--opening,\n .mdc-snackbar--open,\n .mdc-snackbar--closing {\n @include feature-targeting-mixins.targets($feat-structure) {\n display: flex;\n }\n }\n\n .mdc-snackbar--leading {\n @include position-leading($query: $query);\n }\n\n .mdc-snackbar--stacked {\n @include layout-stacked($query: $query);\n }\n\n .mdc-snackbar__surface {\n @include feature-targeting-mixins.targets($feat-structure) {\n @include rtl-mixins.reflexive-property(padding, 0, variables.$padding);\n\n display: flex;\n align-items: center;\n justify-content: flex-start;\n box-sizing: border-box;\n transform: scale(.8);\n opacity: 0;\n }\n\n .mdc-snackbar--open & {\n @include feature-targeting-mixins.targets($feat-structure) {\n transform: scale(1);\n opacity: 1;\n pointer-events: auto; // Allow mouse events on surface element while snackbar is open\n }\n\n @include feature-targeting-mixins.targets($feat-animation) {\n transition:\n animation-functions.enter(opacity, variables.$enter-duration),\n animation-functions.enter(transform, variables.$enter-duration);\n }\n }\n\n .mdc-snackbar--closing & {\n @include feature-targeting-mixins.targets($feat-structure) {\n transform: scale(1);\n }\n\n @include feature-targeting-mixins.targets($feat-animation) {\n transition: animation-functions.exit-permanent(opacity, variables.$exit-duration);\n }\n }\n }\n\n .mdc-snackbar__label {\n @include typography-mixins.typography(variables.$label-type-scale, $query: $query);\n\n @include feature-targeting-mixins.targets($feat-structure) {\n @include rtl-mixins.reflexive-property(padding, 16px, variables.$padding);\n\n width: 100%;\n flex-grow: 1;\n box-sizing: border-box;\n margin: 0;\n\n // 14px top/bottom padding needed to make the height 48px.\n padding-top: 14px;\n padding-bottom: 14px;\n }\n }\n\n // Used to prevent visual jank when announcing label text to screen readers.\n // See the `announce()` function in util.js for details.\n .mdc-snackbar__label::before {\n @include feature-targeting-mixins.targets($feat-structure) {\n display: inline;\n content: attr(data-mdc-snackbar-label-text);\n }\n }\n\n .mdc-snackbar__actions {\n @include feature-targeting-mixins.targets($feat-structure) {\n\n display: flex;\n flex-shrink: 0;\n align-items: center;\n box-sizing: border-box;\n }\n }\n\n .mdc-snackbar__action {\n @include button-mixins.ink-color(variables.$action-ink-color, $query: $query);\n @include ripple-mixins.states(variables.$action-ink-color, $query: $query);\n }\n\n .mdc-snackbar__dismiss {\n @include icon-button-mixins.ink-color(variables.$dismiss-ink-color, $query: $query);\n }\n\n // Two selectors are needed to increase specificity above `.material-icons`.\n // stylelint-disable-next-line selector-class-pattern\n .mdc-snackbar__dismiss.mdc-snackbar__dismiss {\n @include icon-button-mixins.icon-size(variables.$dismiss-icon-size, $query: $query);\n }\n\n .mdc-snackbar__action + .mdc-snackbar__dismiss {\n @include feature-targeting-mixins.targets($feat-structure) {\n @include rtl-mixins.reflexive-property(margin, variables.$padding, 0);\n }\n }\n // postcss-bem-linter: end\n}\n\n@mixin fill-color($color, $query: feature-targeting-functions.all()) {\n $feat-color: feature-targeting-functions.create-target($query, color);\n\n .mdc-snackbar__surface {\n @include feature-targeting-mixins.targets($feat-color) {\n @include theme-mixins.prop(background-color, $color);\n }\n }\n}\n\n@mixin label-ink-color($color, $query: feature-targeting-functions.all()) {\n $feat-color: feature-targeting-functions.create-target($query, color);\n\n .mdc-snackbar__label {\n @include feature-targeting-mixins.targets($feat-color) {\n @include theme-mixins.prop(color, $color);\n }\n }\n}\n\n@mixin shape-radius($radius, $rtl-reflexive: false, $query: feature-targeting-functions.all()) {\n .mdc-snackbar__surface {\n @include shape-mixins.radius($radius, $rtl-reflexive, $query: $query);\n }\n}\n\n@mixin min-width(\n $min-width,\n $mobile-breakpoint: variables.$mobile-breakpoint,\n $query: feature-targeting-functions.all()\n) {\n $feat-structure: feature-targeting-functions.create-target($query, structure);\n\n .mdc-snackbar__surface {\n @include feature-targeting-mixins.targets($feat-structure) {\n min-width: $min-width;\n\n // The first media query ensures that snackbars are always 100% width on mobile devices, as required by the spec.\n // The second media query prevents snackbars from being wider than the viewport for large min-width values.\n @media (max-width: $mobile-breakpoint), (max-width: $min-width) {\n min-width: 100%;\n }\n }\n }\n}\n\n@mixin max-width($max-width, $query: feature-targeting-functions.all()) {\n $feat-structure: feature-targeting-functions.create-target($query, structure);\n\n .mdc-snackbar__surface {\n @include feature-targeting-mixins.targets($feat-structure) {\n max-width: $max-width;\n }\n }\n}\n\n@mixin elevation($z-index, $query: feature-targeting-functions.all()) {\n .mdc-snackbar__surface {\n @include elevation-mixins.elevation($z-index, $query: $query);\n }\n}\n\n@mixin viewport-margin($margin, $query: feature-targeting-functions.all()) {\n $feat-structure: feature-targeting-functions.create-target($query, structure);\n\n @include feature-targeting-mixins.targets($feat-structure) {\n margin: $margin;\n }\n}\n\n@mixin z-index($z-index, $query: feature-targeting-functions.all()) {\n $feat-structure: feature-targeting-functions.create-target($query, structure);\n\n @include feature-targeting-mixins.targets($feat-structure) {\n z-index: $z-index;\n }\n}\n\n@mixin position-leading($query: feature-targeting-functions.all()) {\n $feat-structure: feature-targeting-functions.create-target($query, structure);\n\n @include feature-targeting-mixins.targets($feat-structure) {\n justify-content: flex-start;\n }\n}\n\n@mixin layout-stacked($query: feature-targeting-functions.all()) {\n $feat-structure: feature-targeting-functions.create-target($query, structure);\n\n .mdc-snackbar__label {\n @include feature-targeting-mixins.targets($feat-structure) {\n @include rtl-mixins.reflexive-property(padding, 16px, 0);\n padding-bottom: 12px;\n }\n }\n\n .mdc-snackbar__surface {\n @include feature-targeting-mixins.targets($feat-structure) {\n flex-direction: column;\n align-items: flex-start;\n }\n }\n\n .mdc-snackbar__actions {\n @include feature-targeting-mixins.targets($feat-structure) {\n align-self: flex-end;\n margin-bottom: variables.$padding;\n }\n }\n}\n","//\n// Copyright 2018 Google Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n//\n\n@use \"sass:color\";\n@use \"@material/theme/functions\";\n@use \"@material/theme/variables\"; // for mdc-theme-prop-value() function\n\n$fill-color: color.mix(variables.prop-value(on-surface), variables.prop-value(surface), 80%) !default;\n$label-ink-color: rgba(variables.prop-value(surface), variables.text-emphasis(high)) !default;\n$action-ink-color: #bb86fc !default;\n$dismiss-ink-color: rgba(variables.prop-value(surface), variables.text-emphasis(high)) !default;\n\n$label-type-scale: body2 !default;\n$dismiss-icon-size: 18px !default;\n$min-width: 344px !default;\n$max-width: 672px !default;\n$mobile-breakpoint: 480px !default;\n$viewport-margin-narrow: 8px !default;\n$viewport-margin-wide: 24px !default;\n$padding: 8px !default;\n\n$elevation: 6 !default;\n$shape-radius: small !default; // Key from $mdc-shape-category-values or CSS length value (e.g., 4px)\n$z-index: 8 !default; // One above mdc-dialog\n\n// These variables need to be kept in sync with the values in constants.js.\n$enter-duration: 150ms !default;\n$exit-duration: 75ms !default;\n","//\n// Copyright 2018 Google Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n//\n\n@use \"@material/density/functions\" as density-functions;\n@use \"@material/elevation/mixins\" as elevation-mixins;\n@use \"@material/feature-targeting/functions\" as feature-targeting-functions;\n@use \"@material/feature-targeting/mixins\" as feature-targeting-mixins;\n@use \"@material/ripple/mixins\" as ripple-mixins;\n@use \"@material/rtl/mixins\" as rtl-mixins;\n@use \"@material/theme/mixins\" as theme-mixins;\n@use \"./functions\";\n@use \"./variables\";\n\n//\n// Public\n//\n\n@mixin core-styles($query: feature-targeting-functions.all()) {\n @include without-ripple($query);\n @include ripple($query);\n}\n\n// This API is intended for use by frameworks that may want to separate the ripple-related styles from the other\n// switch styles. It is recommended that most users use `mdc-switch-core-styles` instead.\n@mixin without-ripple($query: feature-targeting-functions.all()) {\n // postcss-bem-linter: define switch\n\n $feat-animation: feature-targeting-functions.create-target($query, animation);\n $feat-structure: feature-targeting-functions.create-target($query, structure);\n\n @include density(variables.$density-scale, $query: $query);\n\n .mdc-switch {\n @include feature-targeting-mixins.targets($feat-structure) {\n @include base_;\n }\n\n @include toggled-on-track-color(variables.$baseline-theme-color, $query);\n @include toggled-on-thumb-color(variables.$baseline-theme-color, $query);\n @include toggled-off-track-color(variables.$toggled-off-track-color, $query);\n @include toggled-off-thumb-color(variables.$toggled-off-thumb-color, $query);\n }\n\n .mdc-switch__native-control {\n @include feature-targeting-mixins.targets($feat-structure) {\n @include native-control_;\n }\n @include feature-targeting-mixins.targets($feat-animation) {\n transition: functions.transition(transform);\n }\n }\n\n .mdc-switch__track {\n @include track_($query);\n }\n\n .mdc-switch__thumb-underlay {\n @include thumb-underlay_($query);\n }\n\n .mdc-switch__thumb {\n @include thumb_($query);\n }\n\n .mdc-switch--checked {\n @include feature-targeting-mixins.targets($feat-structure) {\n .mdc-switch__track {\n @include track-checked_;\n }\n\n .mdc-switch__thumb-underlay {\n @include thumb-underlay-checked_;\n }\n\n .mdc-switch__native-control {\n @include native-control-checked_;\n }\n }\n }\n\n .mdc-switch--disabled {\n @include feature-targeting-mixins.targets($feat-structure) {\n @include disabled-base_;\n\n .mdc-switch__thumb {\n @include thumb-disabled_;\n }\n\n .mdc-switch__native-control {\n @include native-control-disabled_;\n }\n }\n }\n\n // postcss-bem-linter: end\n}\n\n// This API is intended for use by frameworks that may want to separate the ripple-related styles from the other\n// switch styles. It is recommended that most users use `mdc-switch-core-styles` instead.\n@mixin ripple($query: feature-targeting-functions.all()) {\n @include ripple-mixins.common($query); // COPYBARA_COMMENT_THIS_LINE\n\n .mdc-switch {\n @include toggled-off-ripple-color(variables.$toggled-off-ripple-color, $query);\n }\n\n .mdc-switch__thumb-underlay {\n @include ripple-mixins.surface($query);\n @include ripple-mixins.radius-unbounded(100%, $query);\n @include ripple-mixins.states(variables.$baseline-theme-color, false, $query);\n }\n}\n\n@mixin toggled-on-color($color, $query: feature-targeting-functions.all()) {\n @include toggled-on-track-color($color, $query);\n @include toggled-on-thumb-color($color, $query);\n @include toggled-on-ripple-color($color, $query);\n}\n\n@mixin toggled-off-color($color, $query: feature-targeting-functions.all()) {\n @include toggled-off-track-color($color, $query);\n @include toggled-off-thumb-color($color, $query);\n @include toggled-off-ripple-color($color, $query);\n}\n\n@mixin toggled-on-track-color($color, $query: feature-targeting-functions.all()) {\n $feat-color: feature-targeting-functions.create-target($query, color);\n\n &.mdc-switch--checked .mdc-switch__track {\n @include feature-targeting-mixins.targets($feat-color) {\n @include theme-mixins.prop(background-color, $color);\n }\n }\n}\n\n@mixin toggled-on-thumb-color($color, $query: feature-targeting-functions.all()) {\n $feat-color: feature-targeting-functions.create-target($query, color);\n\n &.mdc-switch--checked .mdc-switch__thumb {\n @include feature-targeting-mixins.targets($feat-color) {\n @include theme-mixins.prop(background-color, $color);\n @include theme-mixins.prop(border-color, $color);\n }\n }\n}\n\n@mixin toggled-on-ripple-color($color, $query: feature-targeting-functions.all()) {\n &.mdc-switch--checked .mdc-switch__thumb-underlay {\n @include ripple-mixins.states($color, false, $query);\n }\n}\n\n@mixin toggled-off-track-color($color, $query: feature-targeting-functions.all()) {\n $feat-color: feature-targeting-functions.create-target($query, color);\n\n &:not(.mdc-switch--checked) .mdc-switch__track {\n @include feature-targeting-mixins.targets($feat-color) {\n @include theme-mixins.prop(background-color, $color);\n }\n }\n}\n\n@mixin toggled-off-thumb-color($color, $query: feature-targeting-functions.all()) {\n $feat-color: feature-targeting-functions.create-target($query, color);\n\n &:not(.mdc-switch--checked) .mdc-switch__thumb {\n @include feature-targeting-mixins.targets($feat-color) {\n @include theme-mixins.prop(background-color, $color);\n @include theme-mixins.prop(border-color, $color);\n }\n }\n}\n\n@mixin toggled-off-ripple-color($color, $query: feature-targeting-functions.all()) {\n &:not(.mdc-switch--checked) .mdc-switch__thumb-underlay {\n @include ripple-mixins.states($color, false, $query);\n }\n}\n\n///\n/// Sets density scale for switch.\n///\n/// @param {Number | String} $density-scale - Density scale value for component.\n/// Supported density scale values are `-5`, `-4`, `-3`, `-2`, `-1`,\n/// `0` (default).\n///\n@mixin density($density-scale, $query: feature-targeting-functions.all()) {\n $size: density-functions.prop-value(\n $density-config: variables.$density-config,\n $density-scale: $density-scale,\n $property-name: size,\n );\n\n @include ripple-size($size, $query: $query);\n}\n\n@mixin ripple-size($ripple-size, $query: feature-targeting-functions.all()) {\n $feat-structure: feature-targeting-functions.create-target($query, structure);\n\n // Position for the tap target that contains the thumb to align the thumb\n // correctly offset from the track.\n $tap-target-initial-position:\n -$ripple-size / 2 + variables.$thumb-diameter / 2 - variables.$thumb-offset;\n // Value to cover the whole switch area (including the ripple) with the\n // native control.\n $native-control-width:\n variables.$track-width +\n ($ripple-size - variables.$thumb-diameter) + variables.$thumb-offset * 2;\n\n .mdc-switch__thumb-underlay {\n @include feature-targeting-mixins.targets($feat-structure) {\n @include rtl-mixins.reflexive-position(left, $tap-target-initial-position);\n\n // Ensures the knob is centered on the track.\n top: -(($ripple-size - variables.$track-height) / 2);\n width: $ripple-size;\n height: $ripple-size;\n }\n }\n\n .mdc-switch__native-control {\n @include feature-targeting-mixins.targets($feat-structure) {\n width: $native-control-width;\n height: $ripple-size;\n }\n }\n}\n\n///\n/// Customizes ripple opacities surrounding the thumb in `hover`, `focus`, or `press` states\n/// The customizations apply to both on and off switches to ensure symmetry\n/// @param {map} $opacity-map - map specifying custom opacity of zero or more states\n///\n@mixin ripple-states-opacity($opacity-map: (), $query: feature-targeting-functions.all()) {\n // Ensure sufficient specificity to override base state opacities\n &.mdc-switch .mdc-switch__thumb-underlay {\n @include ripple-mixins.states-opacities($opacity-map, $query: $query);\n }\n}\n\n//\n// Private\n//\n\n// Structure\n@mixin base_ {\n display: inline-block;\n position: relative;\n outline: none;\n user-select: none;\n}\n\n@mixin track_($query: feature-targeting-functions.all()) {\n $feat-animation: feature-targeting-functions.create-target($query, animation);\n $feat-structure: feature-targeting-functions.create-target($query, structure);\n $feat-color: feature-targeting-functions.create-target($query, color);\n\n @include feature-targeting-mixins.targets($feat-structure) {\n box-sizing: border-box;\n width: variables.$track-width;\n height: variables.$track-height;\n border: 1px solid;\n border-radius: variables.$track-height / 2;\n opacity: .38;\n }\n\n @include feature-targeting-mixins.targets($feat-animation) {\n transition:\n functions.transition(opacity),\n functions.transition(background-color),\n functions.transition(border-color);\n }\n\n @include feature-targeting-mixins.targets($feat-color) {\n @include theme-mixins.prop(border-color, transparent);\n }\n}\n\n@mixin thumb-underlay_($query: feature-targeting-functions.all()) {\n $feat-animation: feature-targeting-functions.create-target($query, animation);\n $feat-color: feature-targeting-functions.create-target($query, color);\n $feat-structure: feature-targeting-functions.create-target($query, structure);\n\n @include feature-targeting-mixins.targets($feat-structure) {\n display: flex;\n position: absolute;\n align-items: center;\n justify-content: center;\n transform: translateX(0);\n }\n\n @include feature-targeting-mixins.targets($feat-animation) {\n transition:\n functions.transition(transform),\n functions.transition(background-color),\n functions.transition(border-color);\n }\n}\n\n@mixin native-control_ {\n @include rtl-mixins.reflexive-position(left, 0);\n\n position: absolute;\n top: 0;\n margin: 0;\n opacity: 0;\n cursor: pointer;\n pointer-events: auto;\n}\n\n@mixin thumb_($query: feature-targeting-functions.all()) {\n $feat-structure: feature-targeting-functions.create-target($query, structure);\n $feat-color: feature-targeting-functions.create-target($query, color);\n\n @include elevation-mixins.elevation($z-value: 2, $query: $query);\n\n @include feature-targeting-mixins.targets($feat-structure) {\n box-sizing: border-box;\n width: variables.$thumb-diameter;\n height: variables.$thumb-diameter;\n border: variables.$thumb-diameter / 2 solid;\n border-radius: 50%;\n // Allow events to go through to the native control, necessary for IE and Edge.\n pointer-events: none;\n z-index: 1;\n }\n}\n\n// Checked state\n\n@mixin track-checked_ {\n opacity: .54;\n}\n\n@mixin thumb-underlay-checked_ {\n transform: translateX(variables.$thumb-active-margin);\n\n @include rtl-mixins.rtl {\n transform: translateX(-(variables.$thumb-active-margin));\n }\n}\n\n@mixin native-control-checked_ {\n // Translate the native control the opposite direction so that the tap target stays the same.\n transform: translateX(-(variables.$thumb-active-margin));\n\n @include rtl-mixins.rtl {\n transform: translateX(variables.$thumb-active-margin);\n }\n}\n\n// Disabled state\n\n@mixin disabled-base_ {\n opacity: .38;\n pointer-events: none;\n}\n\n@mixin thumb-disabled_ {\n border-width: 1px; // In high contrast mode, only show outline of knob.\n}\n\n@mixin native-control-disabled_ {\n cursor: default;\n pointer-events: none;\n}\n","//\n// Copyright 2018 Google Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n//\n\n@use \"@material/density/variables\" as density-variables;\n@use \"@material/theme/variables\" as theme-variables;\n\n$track-width: 32px !default;\n$track-height: 14px !default;\n$thumb-diameter: 20px !default;\n$ripple-size: 48px !default;\n\n$minimum-size: 28px !default;\n$maximum-size: $ripple-size !default;\n$density-scale: density-variables.$default-scale !default;\n$density-config: (\n size: (\n minimum: $minimum-size,\n default: $maximum-size,\n maximum: $maximum-size,\n ),\n) !default;\n\n// Amount the edge of the thumb should be offset from the edge of the track.\n$thumb-offset: 4px !default;\n\n$thumb-active-margin:\n $track-width - $thumb-diameter + $thumb-offset * 2 !default;\n\n$toggled-off-thumb-color: theme-variables.prop-value(surface) !default;\n$toggled-off-track-color: theme-variables.prop-value(on-surface) !default;\n$toggled-off-ripple-color: #9e9e9e !default;\n$disabled-thumb-color: theme-variables.prop-value(surface) !default;\n$disabled-track-color: theme-variables.prop-value(on-surface) !default;\n\n$baseline-theme-color: secondary !default;\n","//\n// Copyright 2018 Google Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n//\n\n@use \"@material/feature-targeting/functions\";\n@use \"@material/feature-targeting/mixins\" as feature-targeting-mixins;\n@use \"@material/ripple/mixins\" as ripple-mixins;\n@use \"@material/theme/mixins\" as theme-mixins;\n@use \"@material/typography/mixins\" as typography-mixins;\n@use \"@material/rtl/mixins\" as rtl-mixins;\n@use \"@material/tab-indicator/mixins\" as tab-indicator-mixins;\n@use \"./variables\";\n\n// Public mixins\n\n@mixin core-styles($query: functions.all()) {\n @include without-ripple($query);\n @include ripple($query);\n}\n\n// This API is intended for use by frameworks that may want to separate the ripple-related styles\n// from the other tah styles. It is recommended that most users use `mdc-tab-core-styles` instead.\n@mixin without-ripple($query: functions.all()) {\n $feat-structure: functions.create-target($query, structure);\n $feat-animation: functions.create-target($query, animation);\n\n // postcss-bem-linter: define tab\n\n .mdc-tab {\n @include base_($query);\n }\n\n .mdc-tab--min-width {\n @include feature-targeting-mixins.targets($feat-structure) {\n flex: 0 1 auto;\n }\n }\n\n .mdc-tab__content {\n @include content_($query);\n }\n\n .mdc-tab__text-label {\n @include feature-targeting-mixins.targets($feat-animation) {\n transition: 150ms color linear;\n }\n\n @include feature-targeting-mixins.targets($feat-structure) {\n display: inline-block;\n // Setting line-height here overrides the line-height from the typography\n // mixin above. The line-height needs to be overridden so that the spacing\n // between the text label and the icon as well as the text label and the\n // bottom of the tab remain the same.\n line-height: 1;\n z-index: 2;\n }\n }\n\n .mdc-tab__icon {\n @include feature-targeting-mixins.targets($feat-animation) {\n transition: 150ms color linear;\n }\n\n @include feature-targeting-mixins.targets($feat-structure) {\n width: variables.$icon-size;\n height: variables.$icon-size;\n font-size: variables.$icon-size;\n z-index: 2;\n }\n }\n\n .mdc-tab--stacked {\n @include stacked_($query);\n }\n\n .mdc-tab--active {\n @include active_($query);\n }\n\n .mdc-tab:not(.mdc-tab--stacked) .mdc-tab__icon + .mdc-tab__text-label {\n @include feature-targeting-mixins.targets($feat-structure) {\n @include rtl-mixins.reflexive-box(padding, left, 8px);\n }\n }\n\n // postcss-bem-linter: end\n}\n\n// This API is intended for use by frameworks that may want to separate the ripple-related styles\n// from the other tah styles. It is recommended that most users use `mdc-tab-core-styles` instead.\n@mixin ripple($query: functions.all()) {\n @include ripple-mixins.common($query); // COPYBARA_COMMENT_THIS_LINE\n\n .mdc-tab__ripple {\n @include ripple_($query);\n }\n}\n\n@mixin horizontal-padding($padding, $query: functions.all()) {\n $feat-structure: functions.create-target($query, structure);\n\n @include feature-targeting-mixins.targets($feat-structure) {\n padding-right: $padding;\n padding-left: $padding;\n }\n}\n\n@mixin text-label-color($color, $query: functions.all()) {\n $feat-color: functions.create-target($query, color);\n\n .mdc-tab__text-label {\n @include feature-targeting-mixins.targets($feat-color) {\n @include theme-mixins.prop(color, $color);\n }\n }\n}\n\n@mixin icon-color($color, $query: functions.all()) {\n $feat-color: functions.create-target($query, color);\n\n .mdc-tab__icon {\n @include feature-targeting-mixins.targets($feat-color) {\n @include theme-mixins.prop(color, $color);\n\n fill: currentColor;\n }\n }\n}\n\n@mixin states-color($color, $query: functions.all()) {\n .mdc-tab__ripple {\n @include ripple-mixins.states($color, $query: $query);\n }\n}\n\n@mixin ink-color($color, $query: functions.all()) {\n @include icon-color($color, $query);\n @include states-color($color, $query);\n @include text-label-color($color, $query);\n}\n\n@mixin active-text-label-color($color, $query: functions.all()) {\n &.mdc-tab--active {\n @include text-label-color($color, $query);\n }\n}\n\n@mixin active-icon-color($color, $query: functions.all()) {\n &.mdc-tab--active {\n @include icon-color($color, $query);\n }\n}\n\n@mixin active-states-color($color, $query: functions.all()) {\n &.mdc-tab--active {\n @include states-color($color, $query);\n }\n}\n\n@mixin parent-positioning($query: functions.all()) {\n $feat-structure: functions.create-target($query, structure);\n\n @include feature-targeting-mixins.targets($feat-structure) {\n position: relative;\n }\n}\n\n@mixin fixed-width($width, $query: functions.all()) {\n $feat-structure: functions.create-target($query, structure);\n\n @include feature-targeting-mixins.targets($feat-structure) {\n flex: 0 1 $width;\n }\n}\n\n///\n/// Sets tab height\n///\n/// @param {Number} $height Height value in `px`.\n///\n@mixin height($height, $query: functions.all()) {\n $feat-structure: functions.create-target($query, structure);\n\n @include feature-targeting-mixins.targets($feat-structure) {\n height: $height;\n }\n}\n\n///\n/// Sets tab text transform\n///\n/// @param {String} $transform The text-transform property to apply.\n///\n@mixin text-transform($transform, $query: functions.all()) {\n $feat-structure: functions.create-target($query, structure);\n\n @include feature-targeting-mixins.targets($feat-structure) {\n text-transform: $transform;\n }\n}\n\n//\n// Private\n//\n\n@mixin base_($query: functions.all()) {\n $feat-structure: functions.create-target($query, structure);\n\n @include typography-mixins.typography(button, $query);\n @include text-label-color(variables.$text-label-color-default, $query);\n @include icon-color(variables.$icon-color-default, $query);\n @include horizontal-padding(variables.$horizontal-padding, $query);\n @include tab-indicator-mixins.surface($query);\n\n @include feature-targeting-mixins.targets($feat-structure) {\n display: flex;\n flex: 1 0 auto;\n justify-content: center;\n box-sizing: border-box;\n // Explicitly setting margin to 0 is to override safari default margin for button elements.\n margin: 0;\n padding-top: 0;\n padding-bottom: 0;\n border: none;\n outline: none;\n background: none;\n text-align: center;\n white-space: nowrap;\n cursor: pointer;\n -webkit-appearance: none;\n z-index: 1;\n\n // Firefox still draws a dotted border around focused buttons unless specifically overridden.\n &::-moz-focus-inner {\n padding: 0;\n border: 0;\n }\n }\n}\n\n@mixin ripple_($query: functions.all()) {\n $feat-structure: functions.create-target($query, structure);\n\n @include ripple-mixins.surface($query);\n @include ripple-mixins.radius-bounded($query: $query);\n @include ripple-mixins.states($color: primary, $query: $query);\n\n @include feature-targeting-mixins.targets($feat-structure) {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n overflow: hidden;\n }\n}\n\n@mixin content_($query: functions.all()) {\n $feat-structure: functions.create-target($query, structure);\n\n @include tab-indicator-mixins.surface($query);\n\n @include feature-targeting-mixins.targets($feat-structure) {\n display: flex;\n align-items: center;\n justify-content: center;\n height: inherit;\n pointer-events: none;\n }\n}\n\n@mixin stacked_($query: functions.all()) {\n $feat-structure: functions.create-target($query, structure);\n\n @include feature-targeting-mixins.targets($feat-structure) {\n .mdc-tab__content {\n flex-direction: column;\n align-items: center;\n justify-content: center;\n }\n\n .mdc-tab__text-label {\n padding-top: 6px;\n padding-bottom: 4px;\n }\n }\n}\n\n@mixin active_($query: functions.all()) {\n $feat-animation: functions.create-target($query, animation);\n\n @include text-label-color(variables.$text-label-color-active, $query);\n @include icon-color(variables.$icon-color-active, $query);\n\n .mdc-tab__text-label,\n .mdc-tab__icon {\n @include feature-targeting-mixins.targets($feat-animation) {\n transition-delay: 100ms;\n }\n }\n}\n","//\n// Copyright 2018 Google Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n//\n\n@use \"@material/theme/variables\"; // for mdc-theme-prop-value()\n\n$icon-size: 24px !default;\n$height: 48px !default;\n$stacked-height: 72px !default;\n$horizontal-padding: 24px !default;\n$text-label-opacity: .6 !default;\n$icon-opacity: .54 !default;\n$text-label-color-default: rgba(variables.prop-value(on-surface), $text-label-opacity) !default;\n$icon-color-default: rgba(variables.prop-value(on-surface), $icon-opacity) !default;\n$text-label-color-active: primary !default;\n$icon-color-active: primary !default;\n","//\n// Copyright 2018 Google Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n//\n\n@use \"@material/animation/variables\";\n@use \"@material/theme/mixins\" as theme-mixins;\n@use \"@material/feature-targeting/functions\";\n@use \"@material/feature-targeting/mixins\" as feature-targeting-mixins;\n\n@mixin core-styles($query: functions.all()) {\n $feat-structure: functions.create-target($query, structure);\n $feat-animation: functions.create-target($query, animation);\n\n // postcss-bem-linter: define tab-indicator\n\n .mdc-tab-indicator {\n @include base_($query);\n }\n\n .mdc-tab-indicator__content {\n @include feature-targeting-mixins.targets($feat-structure) {\n transform-origin: left;\n opacity: 0;\n }\n }\n\n .mdc-tab-indicator__content--underline {\n @include feature-targeting-mixins.targets($feat-structure) {\n align-self: flex-end;\n box-sizing: border-box;\n width: 100%;\n border-top-style: solid;\n }\n }\n\n .mdc-tab-indicator__content--icon {\n @include feature-targeting-mixins.targets($feat-structure) {\n align-self: center;\n margin: 0 auto;\n }\n }\n\n .mdc-tab-indicator--active .mdc-tab-indicator__content {\n @include feature-targeting-mixins.targets($feat-structure) {\n opacity: 1;\n }\n }\n\n // Slide by default\n .mdc-tab-indicator .mdc-tab-indicator__content {\n @include feature-targeting-mixins.targets($feat-animation) {\n transition: 250ms transform variables.$standard-curve-timing-function;\n }\n }\n\n // --no-transition is applied in cases where styles need to be applied immediately to set up a transition\n .mdc-tab-indicator--no-transition .mdc-tab-indicator__content {\n @include feature-targeting-mixins.targets($feat-animation) {\n transition: none;\n }\n }\n\n .mdc-tab-indicator--fade .mdc-tab-indicator__content {\n @include feature-targeting-mixins.targets($feat-animation) {\n transition: 150ms opacity linear;\n }\n }\n\n // postcss-bem-linter: ignore\n .mdc-tab-indicator--active.mdc-tab-indicator--fade .mdc-tab-indicator__content {\n @include feature-targeting-mixins.targets($feat-animation) {\n transition-delay: 100ms;\n }\n }\n\n // postcss-bem-linter: end\n}\n\n@mixin surface($query: functions.all()) {\n $feat-structure: functions.create-target($query, structure);\n\n @include feature-targeting-mixins.targets($feat-structure) {\n position: relative;\n }\n}\n\n@mixin underline-color($color, $query: functions.all()) {\n $feat-color: functions.create-target($query, color);\n\n .mdc-tab-indicator__content--underline {\n @include feature-targeting-mixins.targets($feat-color) {\n @include theme-mixins.prop(border-color, $color);\n }\n }\n}\n\n@mixin underline-height($height, $query: functions.all()) {\n $feat-structure: functions.create-target($query, structure);\n\n .mdc-tab-indicator__content--underline {\n @include feature-targeting-mixins.targets($feat-structure) {\n border-top-width: $height;\n }\n }\n}\n\n@mixin underline-top-corner-radius($radius, $query: functions.all()) {\n $feat-structure: functions.create-target($query, structure);\n\n .mdc-tab-indicator__content--underline {\n @include feature-targeting-mixins.targets($feat-structure) {\n border-top-left-radius: $radius;\n border-top-right-radius: $radius;\n }\n }\n}\n\n@mixin icon-color($color, $query: functions.all()) {\n $feat-color: functions.create-target($query, color);\n\n .mdc-tab-indicator__content--icon {\n @include feature-targeting-mixins.targets($feat-color) {\n @include theme-mixins.prop(color, $color);\n }\n }\n}\n\n@mixin icon-height($height, $query: functions.all()) {\n $feat-structure: functions.create-target($query, structure);\n\n .mdc-tab-indicator__content--icon {\n @include feature-targeting-mixins.targets($feat-structure) {\n height: $height;\n font-size: $height;\n }\n }\n}\n\n//\n// Private\n//\n\n@mixin base_($query) {\n $feat-structure: functions.create-target($query, structure);\n\n @include underline-color(primary, $query);\n @include icon-color(secondary, $query);\n @include underline-height(2px, $query);\n @include icon-height(34px, $query);\n\n @include feature-targeting-mixins.targets($feat-structure) {\n display: flex;\n position: absolute;\n top: 0;\n left: 0;\n justify-content: center;\n width: 100%;\n height: 100%;\n pointer-events: none;\n z-index: 1;\n }\n}\n","/**\n * @license\n * Copyright 2018 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\n\n@use \"./mixins\";\n@include mixins.core-styles;\n","//\n// Copyright 2018 Google Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n//\n\n@use \"@material/animation/variables\" as animation-variables;\n@use \"@material/density/functions\" as density-functions;\n@use \"@material/feature-targeting/functions\" as feature-targeting-functions;\n@use \"@material/feature-targeting/mixins\" as feature-targeting-mixins;\n@use \"@material/tab-scroller/mixins\" as tab-scroller-mixins;\n@use \"@material/tab/mixins\" as tab-mixins;\n@use \"./variables\";\n\n@mixin core-styles($query: feature-targeting-functions.all()) {\n // postcss-bem-linter: define tab-bar\n .mdc-tab-bar {\n @include width(100%, $query);\n }\n\n @include density(variables.$density-scale, $query: $query);\n @include stacked-density(variables.$stacked-density-scale, $query: $query);\n // postcss-bem-linter: end\n}\n\n@mixin width($width, $query: feature-targeting-functions.all()) {\n $feat-structure: feature-targeting-functions.create-target($query, structure);\n\n @include feature-targeting-mixins.targets($feat-structure) {\n width: $width;\n }\n}\n\n///\n/// Sets density scale to default tab bar variant. Use `mdc-tab-bar-stacked-density()` mixin for stacked tab bar\n/// variant.\n///\n/// @param {Number} $density-scale Density scale value. Supported density scales `-4`, `-3`, `-2`, `-1` and `0`.\n///\n@mixin density($density-scale, $query: feature-targeting-functions.all()) {\n $height: density-functions.prop-value(\n $density-config: variables.$density-config,\n $density-scale: $density-scale,\n $property-name: height,\n );\n\n .mdc-tab {\n @include tab-mixins.height($height, $query: $query);\n }\n}\n\n///\n/// Sets density scale to stacked tab bar variant.\n///\n/// @param {Number} $density-scale Density scale value. Supported density scales `-4`, `-3`, `-2`, `-1` and `0`.\n///\n@mixin stacked-density($density-scale, $query: feature-targeting-functions.all()) {\n $height: density-functions.prop-value(\n $density-config: variables.$stacked-density-config,\n $density-scale: $density-scale,\n $property-name: height,\n );\n\n .mdc-tab--stacked {\n @include tab-mixins.height($height, $query: $query);\n }\n}\n\n///\n/// Sets the CSS transition for the tab scrolling animation. This mixin is a proxy to `mdc-tab-scroller-transition`\n/// mixin.\n///\n/// @param {Number | String} $duration-ms - Duration (in ms) of the animation.\n/// @param {String} $timing-function - Optionally overrides the default animation timing function.\n///\n@mixin tab-scroller-transition(\n $duration-ms,\n $timing-function: animation-variables.$standard-curve-timing-function,\n $query: feature-targeting-functions.all()\n) {\n .mdc-tab-scroller {\n @include tab-scroller-mixins.transition($duration-ms, $timing-function: $timing-function, $query: $query);\n }\n}\n","/**\n * @license\n * Copyright 2018 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\n\n@use \"./mixins\";\n@include mixins.core-styles;\n","/**\n * @license\n * Copyright 2018 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\n\n@use \"./mixins\";\n@include mixins.core-styles;\n","//\n// Copyright 2018 Google Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n//\n\n@use \"@material/animation/variables\" as animation-variables;\n@use \"@material/tab/mixins\" as tab-mixins;\n@use \"@material/feature-targeting/functions\";\n@use \"@material/feature-targeting/mixins\" as feature-targeting-mixins;\n@use \"./variables\";\n\n///\n/// Sets the CSS transition for the tab scrolling animation.\n///\n/// @param {Number | String} $duration-ms - Duration (in ms) of the animation.\n/// @param {String} $timing-function - Optionally overrides the default animation timing function.\n///\n@mixin transition(\n $duration-ms,\n $timing-function: animation-variables.$standard-curve-timing-function,\n $query: functions.all()\n) {\n $feat-animation: functions.create-target($query, animation);\n\n &.mdc-tab-scroller--animating .mdc-tab-scroller__scroll-content {\n @include feature-targeting-mixins.targets($feat-animation) {\n transition: $duration-ms transform $timing-function;\n }\n }\n}\n\n@mixin core-styles($query: functions.all()) {\n $feat-structure: functions.create-target($query, structure);\n $feat-animation: functions.create-target($query, animation);\n\n // postcss-bem-linter: define tab-scroller\n .mdc-tab-scroller {\n @include transition(\n $duration-ms: variables.$transition-duration,\n $query: $query);\n\n @include feature-targeting-mixins.targets($feat-structure) {\n overflow-y: hidden;\n }\n }\n\n // Selector for test element used to feature-detect horizontal scrollbar height\n .mdc-tab-scroller__test {\n @include feature-targeting-mixins.targets($feat-structure) {\n position: absolute;\n top: -9999px;\n width: 100px;\n height: 100px;\n overflow-x: scroll;\n }\n }\n\n .mdc-tab-scroller__scroll-area {\n @include feature-targeting-mixins.targets($feat-structure) {\n -webkit-overflow-scrolling: touch;\n display: flex;\n overflow-x: hidden;\n }\n }\n\n .mdc-tab-scroller__scroll-area,\n .mdc-tab-scroller__test {\n @include feature-targeting-mixins.targets($feat-structure) {\n &::-webkit-scrollbar {\n display: none;\n }\n }\n }\n\n // This modifier class will be added in JS after computing the OS scrollbar size in order to hide the scrollbar.\n .mdc-tab-scroller__scroll-area--scroll {\n @include feature-targeting-mixins.targets($feat-structure) {\n overflow-x: scroll;\n }\n }\n\n .mdc-tab-scroller__scroll-content {\n @include scroll-content_($query);\n }\n\n .mdc-tab-scroller--align-start .mdc-tab-scroller__scroll-content {\n @include feature-targeting-mixins.targets($feat-structure) {\n justify-content: flex-start;\n }\n }\n\n .mdc-tab-scroller--align-end .mdc-tab-scroller__scroll-content {\n @include feature-targeting-mixins.targets($feat-structure) {\n justify-content: flex-end;\n }\n }\n\n .mdc-tab-scroller--align-center .mdc-tab-scroller__scroll-content {\n @include feature-targeting-mixins.targets($feat-structure) {\n justify-content: center;\n }\n }\n\n .mdc-tab-scroller--animating {\n .mdc-tab-scroller__scroll-area {\n @include feature-targeting-mixins.targets($feat-animation) {\n -webkit-overflow-scrolling: auto;\n }\n }\n }\n\n // postcss-bem-linter: end\n}\n\n//\n// Private\n//\n\n@mixin scroll-content_($query: functions.all()) {\n $feat-structure: functions.create-target($query, structure);\n $feat-animation: functions.create-target($query, animation);\n\n @include tab-mixins.parent-positioning($query);\n\n @include feature-targeting-mixins.targets($feat-structure) {\n display: flex;\n flex: 1 0 auto;\n transform: none;\n }\n\n @include feature-targeting-mixins.targets($feat-animation) {\n will-change: transform;\n }\n}\n","//\n// Copyright 2018 Google Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n//\n\n@use \"../functions\";\n@use \"@material/theme/mixins\";\n@use \"@material/typography/mixins\" as typography-mixins;\n@use \"@material/feature-targeting/functions\" as feature-targeting-functions;\n@use \"@material/feature-targeting/mixins\" as feature-targeting-mixins;\n// Public mixins\n\n@mixin helper-text-core-styles($query: feature-targeting-functions.all()) {\n $feat-structure: feature-targeting-functions.create-target($query, structure);\n $feat-animation: feature-targeting-functions.create-target($query, animation);\n\n // postcss-bem-linter: define text-field-helper-text\n\n .mdc-text-field-helper-text {\n @include typography-mixins.typography(caption, $query: $query);\n @include typography-mixins.baseline-top(16px, $query: $query);\n\n @include feature-targeting-mixins.targets($feat-structure) {\n margin: 0;\n opacity: 0;\n will-change: opacity;\n }\n\n @include feature-targeting-mixins.targets($feat-animation) {\n transition: functions.transition(opacity);\n }\n }\n\n .mdc-text-field-helper-text--persistent {\n @include feature-targeting-mixins.targets($feat-animation) {\n transition: none;\n }\n\n @include feature-targeting-mixins.targets($feat-structure) {\n opacity: 1;\n will-change: initial;\n }\n }\n\n // postcss-bem-linter: end\n}\n\n///\n/// Customizes the color of the helper text following an enabled text-field.\n/// @param {Color} $color - The desired helper text color.\n///\n@mixin helper-text-color($color, $query: feature-targeting-functions.all()) {\n &:not(.mdc-text-field--disabled) {\n @include helper-text-color_($color, $query);\n }\n}\n\n///\n/// Customizes the color of the helper text following a disabled text-field.\n/// @param {Color} $color - The desired helper text color.\n///\n@mixin disabled-helper-text-color($color, $query: feature-targeting-functions.all()) {\n &.mdc-text-field--disabled {\n @include helper-text-color_($color, $query);\n }\n}\n\n@mixin helper-text-validation-color($color, $query: feature-targeting-functions.all()) {\n &:not(.mdc-text-field--disabled) {\n @include helper-text-validation-color_($color, $query);\n }\n}\n\n// Private mixins\n\n@mixin helper-text-color_($color, $query: feature-targeting-functions.all()) {\n $feat-color: feature-targeting-functions.create-target($query, color);\n\n + .mdc-text-field-helper-line .mdc-text-field-helper-text {\n @include feature-targeting-mixins.targets($feat-color) {\n @include mixins.prop(color, $color);\n }\n }\n}\n\n@mixin helper-text-validation-color_($color, $query: feature-targeting-functions.all()) {\n $feat-color: feature-targeting-functions.create-target($query, color);\n\n &.mdc-text-field--invalid + .mdc-text-field-helper-line .mdc-text-field-helper-text--validation-msg {\n @include feature-targeting-mixins.targets($feat-color) {\n @include mixins.prop(color, $color);\n }\n }\n}\n","//\n// Copyright 2019 Google Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n//\n\n@use \"@material/theme/mixins\" as theme-mixins;\n@use \"@material/rtl/mixins\" as rtl-mixins;\n@use \"@material/feature-targeting/functions\" as feature-targeting-functions;\n@use \"@material/feature-targeting/mixins\" as feature-targeting-mixins;\n@use \"@material/typography/mixins\" as typography-mixins;\n\n// Public mixins\n\n@mixin character-counter-core-styles($query: feature-targeting-functions.all()) {\n $feat-structure: feature-targeting-functions.create-target($query, structure);\n\n // postcss-bem-linter: define text-field-character-counter\n\n .mdc-text-field-character-counter {\n @include typography-mixins.typography(caption, $query: $query);\n @include typography-mixins.baseline-top(16px, $query: $query);\n\n @include feature-targeting-mixins.targets($feat-structure) {\n // Keep flex item align to trailing side on absence of helper text.\n @include rtl-mixins.reflexive-box(margin, left, auto);\n @include rtl-mixins.reflexive-box(padding, left, 16px);\n\n white-space: nowrap;\n }\n }\n\n // postcss-bem-linter: end\n}\n\n///\n/// Customizes the color of the character counter associated with an enabled text field.\n/// @param {Color} $color - The desired character counter color.\n///\n@mixin character-counter-color($color, $query: feature-targeting-functions.all()) {\n &:not(.mdc-text-field--disabled) {\n @include character-counter-color_($color, $query);\n }\n}\n\n///\n/// Customizes the color of the character counter associated with a disabled text field.\n/// @param {Color} $color - The desired character counter color.\n///\n@mixin disabled-character-counter-color($color, $query: feature-targeting-functions.all()) {\n &.mdc-text-field--disabled {\n @include character-counter-color_($color, $query);\n }\n}\n\n@mixin character-counter-position($xOffset, $yOffset, $query: feature-targeting-functions.all()) {\n $feat-structure: feature-targeting-functions.create-target($query, structure);\n\n .mdc-text-field-character-counter {\n @include feature-targeting-mixins.targets($feat-structure) {\n @include rtl-mixins.reflexive-position(right, $xOffset);\n position: absolute;\n bottom: $yOffset;\n }\n }\n}\n\n\n// Private mixins\n\n@mixin character-counter-color_($color, $query: feature-targeting-functions.all()) {\n $feat-color: feature-targeting-functions.create-target($query, color);\n\n // Character counter is placed inside mdc-textfield element (for textarea variant) or\n // inside helper line which is sibling to mdc-textfield.\n .mdc-text-field-character-counter,\n + .mdc-text-field-helper-line .mdc-text-field-character-counter {\n @include feature-targeting-mixins.targets($feat-color) {\n @include theme-mixins.prop(color, $color);\n }\n }\n}\n","//\n// Copyright 2018 Google Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n//\n\n@use \"@material/rtl/mixins\" as rtl-mixins;\n@use \"@material/theme/variables\";\n@use \"@material/theme/mixins\" as theme-mixins;\n@use \"@material/feature-targeting/functions\" as feature-targeting-functions;\n@use \"@material/feature-targeting/mixins\" as feature-targeting-mixins;\n\n// Public mixins\n\n@mixin icon-core-styles($query: feature-targeting-functions.all()) {\n .mdc-text-field__icon {\n @include icon_($query: $query);\n }\n}\n\n///\n/// Customizes the color for the leading icon in an enabled text-field.\n/// @param {Color} $color - The desired icon color.\n///\n@mixin leading-icon-color($color, $query: feature-targeting-functions.all()) {\n &:not(.mdc-text-field--disabled) {\n @include leading-icon-color_($color, $query);\n }\n}\n\n///\n/// Customizes the color for the trailing icon in an enabled text-field.\n/// @param {Color} $color - The desired icon color.\n///\n@mixin trailing-icon-color($color, $query: feature-targeting-functions.all()) {\n &:not(.mdc-text-field--disabled) {\n @include trailing-icon-color_($color, $query);\n }\n}\n\n///\n/// Customizes the color for the leading/trailing icons in a disabled text-field.\n/// @param {Color} $color - The desired icon color.\n///\n@mixin disabled-icon-color($color, $query: feature-targeting-functions.all()) {\n &.mdc-text-field--disabled {\n @include leading-icon-color_($color, $query);\n @include trailing-icon-color_($color, $query);\n }\n}\n\n// Private mixins\n\n@mixin leading-icon-horizontal-position_($position, $query: feature-targeting-functions.all()) {\n $feat-structure: feature-targeting-functions.create-target($query, structure);\n\n .mdc-text-field__icon--leading {\n @include feature-targeting-mixins.targets($feat-structure) {\n @include rtl-mixins.reflexive-position(left, $position);\n }\n }\n}\n\n@mixin trailing-icon-horizontal-position_($position, $query: feature-targeting-functions.all()) {\n $feat-structure: feature-targeting-functions.create-target($query, structure);\n\n .mdc-text-field__icon--trailing {\n @include feature-targeting-mixins.targets($feat-structure) {\n @include rtl-mixins.reflexive-position(right, $position);\n }\n }\n}\n\n@mixin icon-horizontal-position-two-icons_(\n $position-left, $position-right, $query: feature-targeting-functions.all()) {\n @include leading-icon-horizontal-position_($position-left, $query);\n @include trailing-icon-horizontal-position_($position-right, $query);\n}\n\n@mixin icon_($query: feature-targeting-functions.all()) {\n $feat-structure: feature-targeting-functions.create-target($query, structure);\n $feat-color: feature-targeting-functions.create-target($query, color);\n\n @include feature-targeting-mixins.targets($feat-structure) {\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n cursor: pointer;\n }\n\n &:not([tabindex]),\n &[tabindex=\"-1\"] {\n @include feature-targeting-mixins.targets($feat-color) {\n cursor: default;\n pointer-events: none;\n }\n }\n}\n\n@mixin leading-icon-color_($color, $query: feature-targeting-functions.all()) {\n $feat-color: feature-targeting-functions.create-target($query, color);\n\n .mdc-text-field__icon--leading {\n @include feature-targeting-mixins.targets($feat-color) {\n @include theme-mixins.prop(color, $color);\n }\n }\n}\n\n@mixin trailing-icon-color_($color, $query: feature-targeting-functions.all()) {\n $feat-color: feature-targeting-functions.create-target($query, color);\n\n .mdc-text-field__icon--trailing {\n @include feature-targeting-mixins.targets($feat-color) {\n @include theme-mixins.prop(color, $color);\n }\n }\n}\n","//\n// Copyright 2017 Google Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n//\n\n@use \"sass:list\";\n@use \"@material/density/functions\" as density-functions;\n@use \"@material/floating-label/mixins\" as floating-label-mixins;\n@use \"@material/line-ripple/mixins\" as line-ripple-mixins;\n@use \"@material/notched-outline/mixins\" as notched-outline-mixins;\n@use \"@material/notched-outline/variables\" as notched-outline-variables;\n@use \"@material/ripple/mixins\" as ripple-mixins;\n@use \"@material/ripple/functions\" as ripple-functions;\n@use \"@material/theme/mixins\" as theme-mixins;\n@use \"@material/shape/mixins\" as shape-mixins;\n@use \"@material/shape/functions\" as shape-functions;\n@use \"@material/feature-targeting/functions\" as feature-targeting-functions;\n@use \"@material/feature-targeting/mixins\" as feature-targeting-mixins;\n@use \"@material/typography/mixins\" as typography-mixins;\n@use \"helper-text/mixins\" as helper-text-mixins;\n@use \"character-counter/mixins\" as character-counter-mixins;\n@use \"icon/mixins\" as icon-mixins;\n@use \"icon/variables\" as icon-variables;\n@use \"./variables\";\n@use \"./functions\";\n@use \"@material/rtl/mixins\" as rtl-mixins;\n\n@mixin core-styles($query: feature-targeting-functions.all()) {\n @include ripple($query);\n @include without-ripple($query);\n}\n\n@mixin without-ripple($query: feature-targeting-functions.all()) {\n $feat-structure: feature-targeting-functions.create-target($query, structure);\n $feat-color: feature-targeting-functions.create-target($query, color);\n $feat-animation: feature-targeting-functions.create-target($query, animation);\n\n // postcss-bem-linter: define text-field\n .mdc-text-field {\n // Text Field intentionally omits press ripple, so each state needs to be specified individually.\n @include ripple-mixins.states-base-color(variables.$ink-color, $query: $query, $ripple-target: variables.$ripple-target);\n @include ripple-mixins.states-hover-opacity(ripple-functions.states-opacity(variables.$ink-color, hover), $query: $query, $ripple-target: variables.$ripple-target);\n @include ripple-mixins.states-focus-opacity(ripple-functions.states-opacity(variables.$ink-color, focus), $query: $query, $ripple-target: variables.$ripple-target);\n\n // Height\n @include height(variables.$height, $query: $query);\n\n // Shape\n @include shape-radius(small, $query: $query);\n\n // Colors\n @include label-color(variables.$label, $query: $query);\n @include ink-color(variables.$ink-color, $query: $query);\n @include placeholder-color(variables.$placeholder-ink-color, $query: $query);\n @include caret-color(primary, $query: $query);\n @include bottom-line-color(variables.$bottom-line-idle, $query: $query);\n @include hover-bottom-line-color(variables.$bottom-line-hover, $query: $query);\n @include line-ripple-color_(primary, $query: $query);\n @include helper-text-mixins.helper-text-color(variables.$helper-text-color, $query: $query);\n @include character-counter-mixins.character-counter-color(variables.$helper-text-color, $query: $query);\n @include icon-mixins.leading-icon-color(variables.$icon-color, $query: $query);\n @include icon-mixins.trailing-icon-color(variables.$icon-color, $query: $query);\n @include fill-color(variables.$background, $query: $query);\n\n // Floating Label\n @include floating-label_($query);\n\n @include feature-targeting-mixins.targets($feat-structure) {\n display: inline-flex;\n position: relative;\n box-sizing: border-box;\n overflow: hidden;\n /* @alternate */\n will-change: opacity, transform, color;\n }\n }\n\n .mdc-text-field__input {\n // Exclude setting line-height to keep caret (text cursor) same height as the input text in iOS browser.\n @include typography-mixins.typography(subtitle1, $exclude-props: (line-height), $query: $query);\n @include input-padding_($query: $query);\n\n @include feature-targeting-mixins.targets($feat-structure) {\n align-self: flex-end;\n box-sizing: border-box;\n width: 100%;\n height: 100%;\n border: none;\n border-radius: 0;\n background: none;\n appearance: none;\n }\n\n @include feature-targeting-mixins.targets($feat-animation) {\n transition: functions.transition(opacity);\n }\n\n &::placeholder {\n @include feature-targeting-mixins.targets($feat-animation) {\n transition: functions.transition(opacity, $duration: 67ms);\n }\n\n @include feature-targeting-mixins.targets($feat-structure) {\n opacity: 0;\n }\n }\n\n // Always show placeholder for text fields that has no\n // label and show only on focused state when label is present.\n .mdc-text-field--fullwidth &::placeholder,\n .mdc-text-field--no-label &::placeholder,\n .mdc-text-field--focused &::placeholder {\n @include feature-targeting-mixins.targets($feat-animation) {\n transition-delay: 40ms;\n transition-duration: 110ms;\n }\n\n @include feature-targeting-mixins.targets($feat-structure) {\n opacity: 1;\n }\n }\n\n &:focus {\n @include feature-targeting-mixins.targets($feat-structure) {\n outline: none;\n }\n }\n\n // Remove red outline on firefox\n &:invalid {\n @include feature-targeting-mixins.targets($feat-structure) {\n box-shadow: none;\n }\n }\n\n // Keep Chrome autofill behind the notched outline\n &:-webkit-autofill {\n @include feature-targeting-mixins.targets($feat-structure) {\n z-index: auto !important;\n }\n }\n\n // Vertically center aligns the text input placeholder and value for only filled variant.\n .mdc-text-field--no-label:not(.mdc-text-field--outlined):not(.mdc-text-field--textarea) & {\n @include input-no-label-padding_($query: $query);\n }\n }\n\n // stylelint-disable-next-line plugin/selector-bem-pattern\n // Move label when text-field gets auto-filled in Chrome.\n .mdc-text-field__input:-webkit-autofill + .mdc-floating-label {\n @include feature-targeting-mixins.targets($feat-structure) {\n transform: translateY(-50%) scale(.75);\n cursor: auto;\n }\n }\n\n .mdc-text-field--outlined {\n @include outlined_($query);\n }\n\n .mdc-text-field--outlined.mdc-text-field--focused {\n @include outlined-focused_($query);\n }\n\n .mdc-text-field--outlined.mdc-text-field--disabled {\n @include outlined-disabled_($query);\n }\n\n .mdc-text-field--outlined.mdc-text-field--dense {\n @include outlined-dense_($query);\n }\n\n .mdc-text-field--with-leading-icon {\n @include with-leading-icon_($query);\n }\n\n .mdc-text-field--with-leading-icon.mdc-text-field--outlined {\n @include outlined-with-leading-icon_($query);\n }\n\n .mdc-text-field--with-leading-icon.mdc-text-field--outlined.mdc-text-field--dense {\n @include outlined-dense-with-leading-icon_($query);\n }\n\n .mdc-text-field--with-trailing-icon {\n @include with-trailing-icon_($query);\n }\n\n .mdc-text-field--with-leading-icon.mdc-text-field--with-trailing-icon {\n @include with-both-icons_($query);\n }\n\n // stylelint-disable plugin/selector-bem-pattern\n .mdc-text-field--dense .mdc-text-field__icon {\n @include feature-targeting-mixins.targets($feat-structure) {\n bottom: 16px;\n transform: scale(.8);\n }\n }\n // stylelint-enable plugin/selector-bem-pattern\n\n .mdc-text-field--with-leading-icon.mdc-text-field--dense {\n @include dense-with-leading-icon_($query);\n }\n\n .mdc-text-field--with-trailing-icon.mdc-text-field--dense {\n @include dense-with-trailing-icon_($query);\n }\n\n .mdc-text-field--with-leading-icon.mdc-text-field--with-trailing-icon.mdc-text-field--dense {\n @include dense-with-both-icons_($query);\n }\n\n .mdc-text-field--dense {\n @include dense_($query);\n }\n\n @include required-label-asterisk_ {\n @include feature-targeting-mixins.targets($feat-structure) {\n margin-left: 1px;\n content: \"*\";\n }\n }\n\n .mdc-text-field--textarea {\n @include textarea_($query);\n }\n\n .mdc-text-field--fullwidth {\n @include fullwidth_($query);\n }\n\n .mdc-text-field--fullwidth.mdc-text-field--invalid {\n @include fullwidth-invalid_($query);\n }\n\n // postcss-bem-linter: define text-field-helper-text\n // stylelint-disable plugin/selector-bem-pattern\n .mdc-text-field-helper-line {\n @include feature-targeting-mixins.targets($feat-structure) {\n display: flex;\n justify-content: space-between;\n box-sizing: border-box;\n }\n\n .mdc-text-field--dense + & {\n @include feature-targeting-mixins.targets($feat-structure) {\n margin-bottom: 4px;\n }\n }\n\n .mdc-text-field + & {\n @include feature-targeting-mixins.targets($feat-structure) {\n padding-right: variables.$helper-line-padding;\n padding-left: variables.$helper-line-padding;\n }\n }\n }\n // stylelint-enable plugin/selector-bem-pattern\n // postcss-bem-linter: end\n\n // mdc-form-field tweaks to align text field label correctly\n // stylelint-disable selector-max-type\n .mdc-form-field > .mdc-text-field + label {\n @include feature-targeting-mixins.targets($feat-structure) {\n align-self: flex-start;\n }\n }\n // stylelint-enable selector-max-type\n\n .mdc-text-field--focused {\n @include focused_($query);\n }\n\n .mdc-text-field--invalid {\n @include invalid_($query);\n }\n\n .mdc-text-field--textarea.mdc-text-field--invalid {\n @include textarea-invalid_($query);\n }\n\n .mdc-text-field--outlined.mdc-text-field--invalid {\n @include outlined-invalid_($query);\n }\n\n .mdc-text-field--disabled {\n @include disabled_($query);\n }\n\n .mdc-text-field--textarea.mdc-text-field--disabled {\n @include textarea-disabled_($query);\n }\n\n .mdc-text-field--end-aligned {\n @include end-aligned_($query);\n }\n\n @include floating-label-mixins.shake-keyframes(\n text-field-dense,\n variables.$dense-label-position-y,\n 0%,\n variables.$dense-label-scale,\n $query: $query\n );\n @include floating-label-mixins.shake-keyframes(\n text-field-outlined,\n variables.$outlined-label-position-y,\n $query: $query\n );\n @include floating-label-mixins.shake-keyframes(\n text-field-outlined-dense,\n variables.$outlined-dense-label-position-y,\n 0%,\n variables.$dense-label-scale,\n $query: $query\n );\n @include floating-label-mixins.shake-keyframes(\n text-field-outlined-leading-icon,\n variables.$outlined-label-position-y,\n variables.$outlined-with-leading-icon-label-position-x,\n $query: $query\n );\n @include floating-label-mixins.shake-keyframes(\n text-field-outlined-leading-icon-dense,\n variables.$outlined-dense-label-position-y,\n variables.$outlined-dense-with-leading-icon-label-position-x,\n variables.$dense-label-scale,\n $query: $query\n );\n @include floating-label-mixins.shake-keyframes(\n text-field-outlined-leading-icon-rtl,\n variables.$outlined-label-position-y,\n -(variables.$outlined-with-leading-icon-label-position-x),\n $query: $query\n );\n @include floating-label-mixins.shake-keyframes(\n text-field-outlined-leading-icon-dense-rtl,\n variables.$outlined-dense-label-position-y,\n -(variables.$outlined-dense-with-leading-icon-label-position-x),\n variables.$dense-label-scale,\n $query: $query\n );\n @include floating-label-mixins.shake-keyframes(\n textarea,\n variables.$textarea-label-position-y,\n 0%,\n $query: $query\n );\n}\n\n// This API is intended for use by frameworks that may want to separate the ripple-related styles\n// from the other text field styles. It is recommended that most users use `mdc-text-field-core-styles` instead.\n@mixin ripple($query: feature-targeting-functions.all()) {\n @include ripple-mixins.common($query); // COPYBARA_COMMENT_THIS_LINE\n\n .mdc-text-field {\n @include ripple-mixins.surface($query: $query, $ripple-target: variables.$ripple-target);\n @include ripple-mixins.radius-bounded($query: $query, $ripple-target: variables.$ripple-target);\n }\n\n #{variables.$ripple-target} {\n @include ripple-mixins.target-common($query: $query);\n }\n}\n\n///\n/// Sets density scale for default text field variant.\n///\n/// @param {Number | String} $density-scale - Density scale value for component. Supported density scale values `-4`,\n/// `-3`, `-2`, `-1`, `0`. Default is `0`.\n/// @param {Number} $minimum-height-for-filled-label Sets the minimum height for\n/// filled textfields at which to allow floating labels.\n///\n@mixin density($density-scale, $minimum-height-for-filled-label: variables.$minimum-height-for-filled-label, $query: feature-targeting-functions.all()) {\n $height: density-functions.prop-value(\n $density-config: variables.$density-config,\n $density-scale: $density-scale,\n $property-name: height,\n );\n\n @include height($height, $minimum-height-for-filled-label: $minimum-height-for-filled-label, $query: $query);\n}\n\n///\n/// Sets density scale for outlined text field (Excluding outlined text field with leading icon).\n///\n/// @param {Number | String} $density-scale - Density scale value for component. Supported density scale values `-4`,\n/// `-3`, `-2`, `-1`, `0`. Default is `0`.\n///\n@mixin outlined-density($density-scale, $query: feature-targeting-functions.all()) {\n $height: density-functions.prop-value(\n $density-config: variables.$density-config,\n $density-scale: $density-scale,\n $property-name: height,\n );\n\n @include outlined-height($height, $query: $query);\n}\n\n///\n/// Sets density scale for outlined text field with leading icon.\n///\n/// @param {Number | String} $density-scale - Density scale value for component. Supported density scale values `-4`,\n/// `-3`, `-2`, `-1`, `0`. Default is `0`.\n///\n@mixin outlined-with-leading-icon-density($density-scale, $query: feature-targeting-functions.all()) {\n $height: density-functions.prop-value(\n $density-config: variables.$density-config,\n $density-scale: $density-scale,\n $property-name: height,\n );\n\n @include outlined-with-leading-icon-height($height, $query: $query);\n}\n\n///\n/// Sets height of default text field variant.\n///\n/// @param {Number} $height\n/// @param {Number} $minimum-height-for-filled-label Sets the minimum height for\n/// filled textfields at which to allow floating labels.\n/// @access public\n///\n@mixin height($height, $minimum-height-for-filled-label: variables.$minimum-height-for-filled-label, $query: feature-targeting-functions.all()) {\n $feat-structure: feature-targeting-functions.create-target($query, structure);\n\n @include feature-targeting-mixins.targets($feat-structure) {\n height: $height;\n }\n\n @if $height < $minimum-height-for-filled-label {\n // Filled text fields must be tall enough to display a label\n &:not(.mdc-text-field--outlined):not(.mdc-text-field--textarea) {\n @include feature-targeting-mixins.targets($feat-structure) {\n .mdc-floating-label {\n display: none;\n }\n }\n\n .mdc-text-field__input {\n @include input-no-label-padding_($query: $query);\n }\n }\n }\n}\n\n///\n/// Sets height of outlined text field variant (Excluding outlined text field with leading icon).\n///\n/// @param {Number} $height\n/// @access public\n///\n@mixin outlined-height($height, $query: feature-targeting-functions.all()) {\n $keyframe-suffix: text-field-outlined-#{$height};\n $positionY: variables.get-outlined-label-position-y($height);\n\n @include notched-outline-mixins.floating-label-float-position-absolute($positionY, $query: $query);\n\n @at-root {\n @include floating-label-mixins.shake-keyframes($keyframe-suffix, $positionY, $query: $query);\n }\n\n @include floating-label-mixins.shake-animation($keyframe-suffix, $query: $query);\n @include height($height, $query: $query);\n}\n\n///\n/// Sets height of outlined text field with leading icon variant.\n///\n/// @param {Number} $height\n/// @access public\n///\n@mixin outlined-with-leading-icon-height($height, $query: feature-targeting-functions.all()) {\n $keyframe-suffix: text-field-outlined-with-leading-icon-#{$height};\n $positionY: variables.get-outlined-label-position-y($height);\n\n // For specificity\n &.mdc-text-field--outlined {\n @include notched-outline-mixins.floating-label-float-position-absolute($positionY, 32px, $query: $query);\n }\n\n @at-root {\n @include floating-label-mixins.shake-keyframes(\n $keyframe-suffix,\n $positionY,\n variables.$outlined-with-leading-icon-label-position-x,\n $query: $query\n );\n }\n\n @include floating-label-mixins.shake-animation($keyframe-suffix, $query: $query);\n\n $keyframe-suffix-rtl: #{$keyframe-suffix}-rtl;\n\n @at-root {\n @include floating-label-mixins.shake-keyframes(\n $keyframe-suffix-rtl,\n $positionY,\n -(variables.$outlined-with-leading-icon-label-position-x),\n $query: $query\n );\n }\n\n @include rtl-mixins.rtl {\n @include floating-label-mixins.shake-animation($keyframe-suffix, $query: $query);\n }\n\n @include height($height, $query: $query);\n}\n\n///\n/// Sets shape radius of default text field variant.\n///\n/// @param {Number} $radius Shape radius value in `px` or in percentage.\n/// @param {Number} $text-field-height Height of default text field variant. Required only when `$radius` is in\n/// percentage unit and if text field has custom height. Defaults to `variables.$height`.\n/// @param {Boolean} $rtl-reflexive Set to true to flip shape radius in RTL context. Defaults to `false`.\n///\n@mixin shape-radius(\n $radius,\n $density-scale: variables.$density-scale,\n $rtl-reflexive: false,\n $query: feature-targeting-functions.all()) {\n @if list.length($radius) > 2 {\n @error \"Invalid radius: '#{$radius}' component doesn't allow customizing all corners\";\n }\n\n $height: density-functions.prop-value(\n $density-config: variables.$density-config,\n $density-scale: $density-scale,\n $property-name: height,\n );\n\n $masked-radius: shape-functions.mask-radius($radius, 1 1 0 0);\n\n @include shape-mixins.radius(\n shape-functions.resolve-percentage-radius($height, $masked-radius),\n $rtl-reflexive,\n $query: $query\n );\n}\n\n@mixin textarea-shape-radius($radius, $rtl-reflexive: false, $query: feature-targeting-functions.all()) {\n @include notched-outline-mixins.shape-radius($radius, $rtl-reflexive, $query: $query);\n}\n\n///\n/// Customizes the color of the text entered into an enabled text field.\n/// @param {Color} $color - The desired input text color.\n///\n@mixin ink-color($color, $query: feature-targeting-functions.all()) {\n @include if-enabled_ {\n @include ink-color_($color, $query: $query);\n }\n}\n\n///\n/// Customizes the color of the entered text in a disabled text field.\n/// @param {Color} $color - The desired input text color.\n///\n@mixin disabled-ink-color($color, $query: feature-targeting-functions.all()) {\n @include if-disabled_ {\n @include ink-color_($color, $query: $query);\n }\n}\n\n///\n/// Customizes the color of the placeholder in an enabled text field.\n/// @param {Color} $color - The desired placeholder text color.\n///\n@mixin placeholder-color($color, $query: feature-targeting-functions.all()) {\n @include if-enabled_ {\n @include placeholder-color_($color, $query: $query);\n }\n}\n\n///\n/// Customizes the color of the placeholder in a disabled text field.\n/// @param {Color} $color - The desired placeholder text color.\n///\n@mixin disabled-placeholder-color($color, $query: feature-targeting-functions.all()) {\n @include if-disabled_ {\n @include placeholder-color_($color, $query: $query);\n }\n}\n\n///\n/// Customizes the background color of the text field or textarea when enabled.\n/// @param {Color} $color - The desired background color.\n///\n@mixin fill-color($color, $query: feature-targeting-functions.all()) {\n @include if-enabled_ {\n @include fill-color_($color, $query: $query);\n }\n}\n\n///\n/// Customizes the background color of the text field or textarea when disabled.\n/// @param {Color} $color - The desired background color.\n///\n@mixin disabled-fill-color($color, $query: feature-targeting-functions.all()) {\n @include if-disabled_ {\n @include fill-color_($color, $query: $query);\n }\n}\n\n///\n/// Customizes the text field bottom line color for the filled variant.\n/// @param {Color} $color - The desired bottom line color.\n///\n@mixin bottom-line-color($color, $query: feature-targeting-functions.all()) {\n @include if-enabled_ {\n @include bottom-line-color_($color, $query: $query);\n }\n}\n\n///\n/// Customizes the disabled text field bottom line color for the filled variant.\n/// @param {Color} $color - The desired bottom line color.\n///\n@mixin disabled-bottom-line-color($color, $query: feature-targeting-functions.all()) {\n @include if-disabled_ {\n @include bottom-line-color_($color, $query: $query);\n }\n}\n\n///\n/// Customizes the hover text field bottom line color for the filled variant.\n/// @param {Color} $color - The desired bottom line color.\n///\n@mixin hover-bottom-line-color($color, $query: feature-targeting-functions.all()) {\n @include if-enabled_ {\n @include hover-bottom-line-color_($color, $query: $query);\n }\n}\n\n///\n/// Customizes the color of the default line ripple of the text field.\n/// @param {Color} $color - The desired line ripple color.\n///\n@mixin line-ripple-color($color, $query: feature-targeting-functions.all()) {\n @include if-enabled_ {\n @include line-ripple-color_($color, $query: $query);\n }\n}\n\n///\n/// Customizes the text color of the label in an enabled text field.\n/// @param {Color} $color - The desired label text color.\n///\n@mixin label-color($color, $query: feature-targeting-functions.all()) {\n @include if-enabled_ {\n @include label-ink-color_($color, $query: $query);\n }\n}\n\n///\n/// Customizes the text color of the label in a disabled text field.\n/// @param {Color} $color - The desired label text color.\n///\n@mixin disabled-label-color($color, $query: feature-targeting-functions.all()) {\n @include if-disabled_ {\n @include label-ink-color_($color, $query: $query);\n }\n}\n\n///\n/// Customizes the border color of the outlined text field or textarea.\n/// @param {Color} $color - The desired outline border color.\n///\n@mixin outline-color($color, $query: feature-targeting-functions.all()) {\n @include if-enabled_ {\n @include notched-outline-mixins.color($color, $query: $query);\n }\n}\n\n///\n/// Customizes the outline border color when the text field or textarea is hovered.\n/// @param {Color} $color - The desired outline border color.\n///\n@mixin hover-outline-color($color, $query: feature-targeting-functions.all()) {\n @include if-enabled_ {\n @include hover-outline-color_($color, $query: $query);\n }\n}\n\n///\n/// Customizes the outline border color when the text field or textarea is focused.\n/// @param {Color} $color - The desired outline border color.\n///\n@mixin focused-outline-color($color, $query: feature-targeting-functions.all()) {\n @include if-enabled_ {\n @include focused-outline-color_($color, $query: $query);\n }\n}\n\n///\n/// Customizes the outline border color when the text field or textarea is disabled.\n/// @param {Color} $color - The desired outline border color.\n///\n@mixin disabled-outline-color($color, $query: feature-targeting-functions.all()) {\n @include if-disabled_ {\n @include notched-outline-mixins.color($color, $query: $query);\n }\n}\n\n///\n/// Customizes the caret color of the text field or textarea.\n/// @param {Color} $color - The desired caret color.\n///\n@mixin caret-color($color, $query: feature-targeting-functions.all()) {\n $feat-color: feature-targeting-functions.create-target($query, color);\n\n .mdc-text-field__input {\n @include feature-targeting-mixins.targets($feat-color) {\n @include theme-mixins.prop(caret-color, $color);\n }\n }\n}\n\n// Private mixins\n\n// Baseline\n\n@mixin input-padding_($query: feature-targeting-functions.all()) {\n $feat-structure: feature-targeting-functions.create-target($query, structure);\n\n @include feature-targeting-mixins.targets($feat-structure) {\n padding:\n variables.$input-padding-top\n variables.$input-padding\n variables.$input-padding-bottom + variables.$input-border-bottom;\n }\n}\n\n@mixin input-no-label-padding_($query: feature-targeting-functions.all()) {\n $feat-structure: feature-targeting-functions.create-target($query, structure);\n\n @include feature-targeting-mixins.targets($feat-structure) {\n padding-top: 0;\n padding-bottom: variables.$input-border-bottom;\n }\n}\n\n@mixin disabled_($query: feature-targeting-functions.all()) {\n $feat-structure: feature-targeting-functions.create-target($query, structure);\n\n @include bottom-line-color_(variables.$disabled-border, $query: $query);\n @include ink-color_(variables.$disabled-ink-color, $query: $query);\n @include placeholder-color_(variables.$disabled-placeholder-ink-color, $query: $query);\n @include label-ink-color_(variables.$disabled-label-color, $query: $query);\n @include helper-text-mixins.helper-text-color_(variables.$disabled-helper-text-color, $query: $query);\n @include character-counter-mixins.character-counter-color_(variables.$disabled-helper-text-color, $query: $query);\n @include icon-mixins.leading-icon-color_(variables.$disabled-icon, $query: $query);\n @include icon-mixins.trailing-icon-color_(variables.$disabled-icon, $query: $query);\n @include fill-color_(variables.$disabled-background, $query: $query);\n\n @media screen and (-ms-high-contrast: active) {\n @include bottom-line-color_(GrayText, $query: $query);\n @include placeholder-color_(GrayText, $query: $query);\n @include label-ink-color_(GrayText, $query: $query);\n @include helper-text-mixins.helper-text-color_(GrayText, $query: $query);\n @include character-counter-mixins.character-counter-color_(GrayText, $query: $query);\n @include icon-mixins.leading-icon-color_(GrayText, $query: $query);\n @include icon-mixins.trailing-icon-color_(GrayText, $query: $query);\n }\n\n @include feature-targeting-mixins.targets($feat-structure) {\n pointer-events: none;\n }\n\n .mdc-floating-label {\n @include feature-targeting-mixins.targets($feat-structure) {\n cursor: default;\n }\n }\n}\n\n@mixin invalid_($query: feature-targeting-functions.all()) {\n $feat-structure: feature-targeting-functions.create-target($query, structure);\n\n @include bottom-line-color(variables.$error, $query: $query);\n @include hover-bottom-line-color(variables.$error, $query: $query);\n @include line-ripple-color(variables.$error, $query: $query);\n @include label-color(variables.$error, $query: $query);\n @include helper-text-mixins.helper-text-validation-color(variables.$error, $query: $query);\n @include caret-color(variables.$error, $query: $query);\n @include icon-mixins.trailing-icon-color(variables.$error, $query: $query);\n\n + .mdc-text-field-helper-line .mdc-text-field-helper-text--validation-msg {\n @include feature-targeting-mixins.targets($feat-structure) {\n opacity: 1;\n }\n }\n}\n\n@mixin focused_($query: feature-targeting-functions.all()) {\n $feat-structure: feature-targeting-functions.create-target($query, structure);\n\n @include label-color(variables.$focused-label-color, $query: $query);\n\n + .mdc-text-field-helper-line .mdc-text-field-helper-text:not(.mdc-text-field-helper-text--validation-msg) {\n @include feature-targeting-mixins.targets($feat-structure) {\n opacity: 1;\n }\n }\n}\n\n@mixin dense_($query: feature-targeting-functions.all()) {\n $feat-structure: feature-targeting-functions.create-target($query, structure);\n $feat-typography: feature-targeting-functions.create-target($query, typography);\n\n @include floating-label-mixins.float-position(\n variables.$dense-label-position-y,\n 0%,\n variables.$dense-label-scale,\n $query: $query\n );\n @include floating-label-mixins.shake-animation(text-field-dense, $query: $query);\n\n .mdc-text-field__input {\n @include feature-targeting-mixins.targets($feat-structure) {\n padding: 12px 12px 0;\n }\n }\n\n .mdc-floating-label {\n @include feature-targeting-mixins.targets($feat-typography) {\n font-size: .813rem;\n }\n\n &--float-above {\n @include feature-targeting-mixins.targets($feat-typography) {\n font-size: .813rem;\n }\n }\n }\n}\n\n@mixin required-label-asterisk_() {\n .mdc-text-field__input:required ~ {\n .mdc-floating-label::after,\n .mdc-notched-outline .mdc-floating-label::after {\n @content;\n }\n }\n}\n\n///\n/// Sets shape radius of outlined text field variant.\n///\n/// @param {Number} $radius Shape radius value in `px` or in percentage.\n/// @param {Number} $text-field-height Height of outlined text field variant. Required only when `$radius` is in\n/// percentage unit and if text field has custom height. Defaults to `variables.$height`.\n/// @param {Boolean} $rtl-reflexive Set to true to flip shape radius in RTL context. Defaults to `false`.\n///\n@mixin outline-shape-radius(\n $radius,\n $density-scale: variables.$density-scale,\n $rtl-reflexive: false,\n $query: feature-targeting-functions.all()) {\n $feat-structure: feature-targeting-functions.create-target($query, structure);\n $height: density-functions.prop-value(\n $density-config: variables.$density-config,\n $density-scale: $density-scale,\n $property-name: height,\n );\n\n $resolved-radius: list.nth(shape-functions.resolve-percentage-radius($height, shape-functions.prop-value($radius)), 1);\n\n @if (list.length(shape-functions.prop-value($radius)) > 1) {\n // stylelint-disable max-line-length\n @warn \"mdc-text-field-outline-shape-radius only supports a single radius; see https://github.com/material-components/material-components-web/issues/4140\";\n // stylelint-enable\n }\n\n .mdc-notched-outline {\n @include notched-outline-mixins.shape-radius($resolved-radius, $rtl-reflexive, $query: $query);\n }\n\n @if ($resolved-radius > notched-outline-variables.$leading-width) {\n .mdc-text-field__input {\n @include feature-targeting-mixins.targets($feat-structure) {\n @include rtl-mixins.reflexive-property(padding, $resolved-radius + notched-outline-variables.$padding, 0);\n }\n }\n\n + .mdc-text-field-helper-line {\n @include feature-targeting-mixins.targets($feat-structure) {\n @include rtl-mixins.reflexive-property(padding, $resolved-radius + notched-outline-variables.$padding, $resolved-radius);\n }\n }\n }\n}\n\n@mixin floating-label_($query: feature-targeting-functions.all()) {\n $feat-structure: feature-targeting-functions.create-target($query, structure);\n\n .mdc-floating-label {\n @include feature-targeting-mixins.targets($feat-structure) {\n @include rtl-mixins.reflexive-position(left, variables.$label-offset);\n\n top: 50%;\n transform: translateY(-50%);\n pointer-events: none;\n }\n }\n\n // Include these mixins to override above `transform` property.\n //TODO: Remove these from here when floating label is center aligned in all position - this lowers specificity.\n @include floating-label-mixins.float-position(variables.$label-position-y, $query: $query);\n\n &--textarea {\n .mdc-floating-label {\n @include feature-targeting-mixins.targets($feat-structure) {\n @include rtl-mixins.reflexive-position(left, notched-outline-variables.$padding);\n }\n }\n }\n\n &--outlined {\n .mdc-floating-label {\n @include feature-targeting-mixins.targets($feat-structure) {\n @include rtl-mixins.reflexive-position(left, notched-outline-variables.$padding);\n }\n }\n\n &--with-leading-icon {\n .mdc-floating-label {\n @include feature-targeting-mixins.targets($feat-structure) {\n @include rtl-mixins.reflexive-position(left, (icon-variables.$icon-padding - notched-outline-variables.$leading-width));\n }\n\n &--float-above {\n @include feature-targeting-mixins.targets($feat-structure) {\n @include rtl-mixins.reflexive-position(\n left,\n (icon-variables.$icon-padding - notched-outline-variables.$leading-width) + notched-outline-variables.$padding\n );\n }\n }\n }\n }\n }\n}\n\n// Outlined\n\n@mixin outlined-disabled_($query: feature-targeting-functions.all()) {\n @include notched-outline-mixins.color(variables.$outlined-disabled-border, $query: $query);\n @include fill-color_(transparent, $query);\n\n @media screen and (-ms-high-contrast: active) {\n @include notched-outline-mixins.color(GrayText, $query: $query);\n }\n}\n\n@mixin outlined-invalid_($query: feature-targeting-functions.all()) {\n @include outline-color(variables.$error, $query: $query);\n @include hover-outline-color(variables.$error, $query: $query);\n @include focused-outline-color(variables.$error, $query: $query);\n}\n\n@mixin outlined-focused_($query: feature-targeting-functions.all()) {\n @include notched-outline-mixins.stroke-width(variables.$outlined-stroke-width, $query: $query);\n}\n\n@mixin outlined-dense_($query: feature-targeting-functions.all()) {\n $feat-structure: feature-targeting-functions.create-target($query, structure);\n\n @include notched-outline-mixins.floating-label-float-position(\n variables.$outlined-dense-label-position-y,\n 0%,\n variables.$dense-label-scale,\n $query: $query\n );\n @include floating-label-mixins.shake-animation(text-field-outlined-dense, $query: $query);\n\n @include feature-targeting-mixins.targets($feat-structure) {\n height: 48px;\n }\n\n .mdc-text-field__input {\n @include feature-targeting-mixins.targets($feat-structure) {\n padding: 12px 12px 7px;\n }\n }\n\n .mdc-floating-label {\n @include feature-targeting-mixins.targets($feat-structure) {\n top: 14px;\n }\n }\n\n .mdc-text-field__icon {\n @include feature-targeting-mixins.targets($feat-structure) {\n top: 12px;\n }\n }\n}\n\n@mixin outlined_($query: feature-targeting-functions.all()) {\n $feat-structure: feature-targeting-functions.create-target($query, structure);\n\n @include outline-color(variables.$outlined-idle-border, $query: $query);\n @include hover-outline-color(variables.$outlined-hover-border, $query: $query);\n @include focused-outline-color(primary, $query: $query);\n @include floating-label-mixins.shake-animation(text-field-outlined, $query: $query);\n @include outline-shape-radius(small, $query: $query);\n @include notched-outline-mixins.floating-label-float-position-absolute(variables.$outlined-label-position-y, $query: $query);\n @include notched-outline-mixins.notch-offset(notched-outline-variables.$border-width, $query: $query);\n @include ripple-mixins.states-base-color(transparent, $query: $query, $ripple-target: variables.$ripple-target);\n @include fill-color(transparent, $query: $query);\n\n @include feature-targeting-mixins.targets($feat-structure) {\n overflow: visible;\n }\n\n .mdc-text-field__input {\n @include outlined-input-padding_($query: $query);\n @include feature-targeting-mixins.targets($feat-structure) {\n display: flex;\n border: none !important; // FF adds unwanted border in HC mode on windows.\n background-color: transparent;\n z-index: 1;\n }\n }\n\n .mdc-text-field__icon {\n @include feature-targeting-mixins.targets($feat-structure) {\n z-index: 2;\n }\n }\n\n &.mdc-text-field--focused {\n @include notched-outline-mixins.notch-offset(variables.$outlined-stroke-width, $query: $query);\n }\n}\n\n@mixin outlined-input-padding_($query: feature-targeting-functions.all()) {\n $feat-structure: feature-targeting-functions.create-target($query, structure);\n\n @include feature-targeting-mixins.targets($feat-structure) {\n padding-top: variables.$outlined-input-padding-top;\n padding-bottom: variables.$outlined-input-padding-bottom;\n }\n}\n\n@mixin hover-outline-color_($color, $query: feature-targeting-functions.all()) {\n &:not(.mdc-text-field--focused):hover {\n .mdc-notched-outline {\n @include notched-outline-mixins.color($color, $query: $query);\n }\n }\n}\n\n@mixin focused-outline-color_($color, $query: feature-targeting-functions.all()) {\n &.mdc-text-field--focused {\n @include notched-outline-mixins.color($color, $query: $query);\n }\n}\n\n// Icons\n\n@mixin with-leading-icon_($query: feature-targeting-functions.all()) {\n $feat-structure: feature-targeting-functions.create-target($query, structure);\n\n @include icon-mixins.leading-icon-horizontal-position_(icon-variables.$icon-position, $query: $query);\n\n .mdc-text-field__input {\n @include feature-targeting-mixins.targets($feat-structure) {\n @include rtl-mixins.reflexive-property(padding, icon-variables.$icon-padding, variables.$input-padding);\n }\n }\n\n .mdc-floating-label {\n @include feature-targeting-mixins.targets($feat-structure) {\n @include rtl-mixins.reflexive-position(left, icon-variables.$icon-padding);\n }\n }\n}\n\n@mixin dense-with-leading-icon_($query: feature-targeting-functions.all()) {\n $feat-structure: feature-targeting-functions.create-target($query, structure);\n\n @include icon-mixins.leading-icon-horizontal-position_(icon-variables.$dense-icon-position, $query: $query);\n\n .mdc-text-field__input {\n @include feature-targeting-mixins.targets($feat-structure) {\n @include rtl-mixins.reflexive-property(padding, icon-variables.$dense-icon-padding, variables.$input-padding);\n }\n }\n\n .mdc-floating-label {\n @include feature-targeting-mixins.targets($feat-structure) {\n @include rtl-mixins.reflexive-position(left, icon-variables.$dense-icon-padding);\n }\n }\n}\n\n@mixin outlined-with-leading-icon_($query: feature-targeting-functions.all()) {\n $feat-structure: feature-targeting-functions.create-target($query, structure);\n\n @include icon-mixins.leading-icon-horizontal-position_(icon-variables.$icon-position, $query: $query);\n @include notched-outline-mixins.floating-label-float-position-absolute(\n variables.$outlined-label-position-y,\n 32px,\n $query: $query\n );\n @include floating-label-mixins.shake-animation(text-field-outlined-leading-icon, $query: $query);\n\n @include rtl-mixins.rtl {\n @include floating-label-mixins.shake-animation(text-field-outlined-leading-icon-rtl, $query: $query);\n }\n\n .mdc-floating-label {\n @include feature-targeting-mixins.targets($feat-structure) {\n @include rtl-mixins.reflexive-position(left, icon-variables.$icon-padding - notched-outline-variables.$leading-width);\n }\n }\n}\n\n@mixin outlined-dense-with-leading-icon_($query: feature-targeting-functions.all()) {\n $feat-structure: feature-targeting-functions.create-target($query, structure);\n\n @include notched-outline-mixins.floating-label-float-position(\n variables.$outlined-dense-label-position-y,\n variables.$outlined-dense-with-leading-icon-label-position-x,\n variables.$dense-label-scale,\n $query: $query\n );\n @include floating-label-mixins.shake-animation(text-field-outlined-leading-icon-dense, $query: $query);\n\n @include rtl-mixins.rtl {\n @include floating-label-mixins.shake-animation(text-field-outlined-leading-icon-dense-rtl, $query: $query);\n }\n\n .mdc-floating-label {\n @include feature-targeting-mixins.targets($feat-structure) {\n @include rtl-mixins.reflexive-position(left, icon-variables.$dense-icon-padding - notched-outline-variables.$leading-width);\n }\n }\n}\n\n@mixin with-trailing-icon_($query: feature-targeting-functions.all()) {\n $feat-structure: feature-targeting-functions.create-target($query, structure);\n\n @include icon-mixins.trailing-icon-horizontal-position_(icon-variables.$trailing-icon-position, $query: $query);\n\n .mdc-text-field__input {\n @include feature-targeting-mixins.targets($feat-structure) {\n @include rtl-mixins.reflexive-property(padding, variables.$input-padding, icon-variables.$icon-padding);\n }\n }\n}\n\n@mixin dense-with-trailing-icon_($query: feature-targeting-functions.all()) {\n $feat-structure: feature-targeting-functions.create-target($query, structure);\n\n @include icon-mixins.trailing-icon-horizontal-position_(icon-variables.$dense-icon-position, $query: $query);\n\n .mdc-text-field__input {\n @include feature-targeting-mixins.targets($feat-structure) {\n @include rtl-mixins.reflexive-property(padding, variables.$input-padding, icon-variables.$dense-icon-padding);\n }\n }\n}\n\n@mixin with-both-icons_($query: feature-targeting-functions.all()) {\n $feat-structure: feature-targeting-functions.create-target($query, structure);\n\n @include icon-mixins.icon-horizontal-position-two-icons_(\n icon-variables.$icon-position,\n icon-variables.$trailing-icon-position,\n $query: $query\n );\n\n .mdc-text-field__input {\n @include feature-targeting-mixins.targets($feat-structure) {\n padding-right: icon-variables.$icon-padding;\n padding-left: icon-variables.$icon-padding;\n }\n }\n}\n\n@mixin dense-with-both-icons_($query: feature-targeting-functions.all()) {\n $feat-structure: feature-targeting-functions.create-target($query, structure);\n\n @include icon-mixins.icon-horizontal-position-two-icons_(\n icon-variables.$dense-icon-position,\n icon-variables.$dense-icon-position,\n $query: $query\n );\n\n .mdc-text-field__input {\n @include feature-targeting-mixins.targets($feat-structure) {\n padding-right: icon-variables.$dense-icon-padding;\n padding-left: icon-variables.$dense-icon-padding;\n }\n }\n}\n\n// Full Width\n@mixin fullwidth_($query: feature-targeting-functions.all()) {\n $feat-structure: feature-targeting-functions.create-target($query, structure);\n\n @include bottom-line-color(variables.$bottom-line-idle, $query: $query);\n @include disabled-bottom-line-color(variables.$bottom-line-idle, $query: $query);\n\n @include feature-targeting-mixins.targets($feat-structure) {\n width: 100%;\n }\n\n &:not(.mdc-text-field--textarea) {\n @include ripple-mixins.states-base-color(transparent, $query: $query, $ripple-target: variables.$ripple-target);\n @include fill-color(transparent, $query: $query);\n\n @include feature-targeting-mixins.targets($feat-structure) {\n display: block;\n }\n\n .mdc-text-field__input {\n @include feature-targeting-mixins.targets($feat-structure) {\n padding: 0 0 variables.$input-border-bottom;\n }\n }\n }\n\n &.mdc-text-field--textarea .mdc-text-field__input {\n @include feature-targeting-mixins.targets($feat-structure) {\n resize: vertical;\n }\n }\n}\n\n@mixin fullwidth-invalid_($query: feature-targeting-functions.all()) {\n @include bottom-line-color(variables.$error, $query);\n}\n\n// Textarea\n@mixin textarea-disabled_($query: feature-targeting-functions.all()) {\n @include outlined-disabled_($query);\n @include fill-color_(variables.$textarea-disabled-background, $query, true);\n}\n\n@mixin textarea-invalid_($query: feature-targeting-functions.all()) {\n @include outline-color(variables.$error, $query: $query);\n @include hover-outline-color(variables.$error, $query: $query);\n @include focused-outline-color(variables.$error, $query: $query);\n}\n\n@mixin textarea_($query: feature-targeting-functions.all()) {\n // Note: The refactor to add the filled textarea style will result in a lot of the specificity issues that the\n // textarea has being resolved by using the same --outlined variant class as the text field.\n @include outline-color(variables.$outlined-idle-border, $query: $query);\n @include hover-outline-color(variables.$outlined-hover-border, $query: $query);\n @include focused-outline-color(primary, $query: $query);\n @include floating-label-mixins.shake-animation(textarea, $query: $query);\n @include outline-shape-radius(small, $query: $query);\n @include ripple-mixins.states-base-color(transparent, $query: $query, $ripple-target: variables.$ripple-target);\n @include fill-color(transparent, $query: $query);\n @include notched-outline-mixins.floating-label-float-position(variables.$textarea-label-position-y, $query: $query);\n @include character-counter-mixins.character-counter-position(16px, 13px, $query: $query);\n\n $padding-inset: 16px;\n $feat-structure: feature-targeting-functions.create-target($query, structure);\n $feat-animation: feature-targeting-functions.create-target($query, animation);\n $feat-typography: feature-targeting-functions.create-target($query, typography);\n\n @include feature-targeting-mixins.targets($feat-structure) {\n display: inline-flex;\n width: auto;\n height: auto;\n overflow: visible;\n }\n\n @include feature-targeting-mixins.targets($feat-structure) {\n transition: none;\n }\n\n .mdc-text-field__input {\n @include feature-targeting-mixins.targets($feat-structure) {\n align-self: auto;\n box-sizing: border-box;\n height: auto;\n margin: $padding-inset / 2 1px 1px 0;\n padding: 0 $padding-inset $padding-inset;\n }\n\n @include feature-targeting-mixins.targets($feat-typography) {\n line-height: 1.75rem; // 28sp\n }\n }\n\n .mdc-text-field-character-counter + .mdc-text-field__input {\n @include feature-targeting-mixins.targets($feat-structure) {\n margin-bottom: 28px; // Leaves space for character counter if it exists.\n padding-bottom: 0;\n }\n }\n\n .mdc-floating-label {\n @include feature-targeting-mixins.targets($feat-structure) {\n top: 17px;\n width: auto;\n pointer-events: none;\n }\n\n // Resets center aligning the floating label.\n &:not(.mdc-floating-label--float-above) {\n @include feature-targeting-mixins.targets($feat-structure) {\n transform: none;\n }\n }\n }\n\n &.mdc-text-field--focused {\n @include outlined-focused_($query);\n }\n}\n\n// End aligned\n@mixin end-aligned_($query: feature-targeting-functions.all()) {\n $feat-structure: feature-targeting-functions.create-target($query, structure);\n\n .mdc-text-field__input {\n @include feature-targeting-mixins.targets($feat-structure) {\n // IE11 does not support text-align: end\n /* @noflip */\n text-align: right;\n }\n\n @include rtl-mixins.rtl {\n @include feature-targeting-mixins.targets($feat-structure) {\n /* @noflip */\n text-align: left;\n }\n }\n }\n}\n\n// Customization\n\n@mixin ink-color_($color, $query: feature-targeting-functions.all()) {\n $feat-color: feature-targeting-functions.create-target($query, color);\n\n .mdc-text-field__input {\n @include feature-targeting-mixins.targets($feat-color) {\n @include theme-mixins.prop(color, $color);\n }\n }\n}\n\n@mixin placeholder-color_($color, $query: feature-targeting-functions.all()) {\n $feat-color: feature-targeting-functions.create-target($query, color);\n\n // GSS will combine selectors with the same content, and some browsers have a\n // CSS quirk where it drops a rule if it does not recognize one of the\n // selectors.\n // To avoid GSS combining the ::placeholder and :-ms-input-placeholder\n // selectors, we wrap them in `@media all`.\n // TODO(b/142329051)\n @media all {\n // ::placeholder needs to be wrapped because IE11 will drop other selectors\n // using the same color\n .mdc-text-field__input::placeholder {\n @include feature-targeting-mixins.targets($feat-color) {\n @include theme-mixins.prop(color, $color);\n }\n }\n }\n\n @media all {\n // :-ms-input-placeholder needs to be wrapped because Firefox will drop\n // other selectors using the same color\n .mdc-text-field__input:-ms-input-placeholder {\n @include feature-targeting-mixins.targets($feat-color) {\n @include theme-mixins.prop(color, $color);\n }\n }\n }\n}\n\n@mixin fill-color_($color, $query: feature-targeting-functions.all(), $addAlternate: false) {\n $feat-color: feature-targeting-functions.create-target($query, color);\n\n @include feature-targeting-mixins.targets($feat-color) {\n @if ($addAlternate) {\n /* @alternate */\n }\n @include theme-mixins.prop(background-color, $color);\n }\n}\n\n@mixin bottom-line-color_($color, $query: feature-targeting-functions.all()) {\n .mdc-line-ripple {\n @include line-ripple-mixins.inactive-color($color, $query: $query);\n }\n}\n\n@mixin hover-bottom-line-color_($color, $query: feature-targeting-functions.all()) {\n $feat-color: feature-targeting-functions.create-target($query, color);\n\n &:hover .mdc-line-ripple {\n @include line-ripple-mixins.inactive-color($color, $query: $query);\n }\n}\n\n@mixin line-ripple-color_($color, $query: feature-targeting-functions.all()) {\n .mdc-line-ripple {\n @include line-ripple-mixins.active-color($color, $query: $query);\n }\n}\n\n@mixin label-ink-color_($color, $query: feature-targeting-functions.all()) {\n .mdc-floating-label {\n @include floating-label-mixins.ink-color($color, $query: $query);\n }\n}\n\n// State qualifiers\n\n///\n/// Helps style the text-field only when it's enabled.\n/// @access private\n///\n@mixin if-enabled_ {\n &:not(.mdc-text-field--disabled) {\n @content;\n }\n}\n\n///\n/// Helps style the text-field only when it's disabled.\n/// @access private\n///\n@mixin if-disabled_ {\n &.mdc-text-field--disabled {\n @content;\n }\n}\n","//\n// Copyright 2017 Google Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n//\n\n@use \"sass:color\";\n@use \"@material/density/variables\" as density-variables;\n@use \"@material/floating-label/variables\" as floating-label-variables;\n@use \"@material/notched-outline/variables\" as notched-outline-variables;\n@use \"@material/theme/variables\" as theme-variables;\n\n///\n/// Returns outlined text field floating label position for given height.\n///\n/// @todo Instead of adjusting `$positionY` with label box height that might change based on floating label font size\n/// wrap label in a child element to apply `transitionY(-50%)` to automatically offset based on box height.\n///\n@function get-outlined-label-position-y($text-field-height) {\n @return $text-field-height / 2 + notched-outline-variables.$label-box-height / 2;\n}\n\n$error: error !default;\n$fullwidth-bottom-line-color: rgba(theme-variables.prop-value(on-surface), .12) !default;\n$disabled-border: rgba(theme-variables.prop-value(on-surface), .06) !default;\n$disabled-icon: rgba(theme-variables.prop-value(on-surface), .3) !default;\n$bottom-line-hover: rgba(theme-variables.prop-value(on-surface), .87) !default;\n$bottom-line-idle: rgba(theme-variables.prop-value(on-surface), .42) !default;\n$label: rgba(theme-variables.prop-value(on-surface), .6) !default;\n\n$ink-color: rgba(theme-variables.prop-value(on-surface), .87) !default;\n$helper-text-color: rgba(theme-variables.prop-value(on-surface), .6) !default;\n$icon-color: rgba(theme-variables.prop-value(on-surface), .54) !default;\n$focused-label-color: rgba(theme-variables.prop-value(primary), .87) !default;\n$placeholder-ink-color: rgba(theme-variables.prop-value(on-surface), .54) !default;\n\n$disabled-label-color: rgba(theme-variables.prop-value(on-surface), .38) !default;\n$disabled-ink-color: rgba(theme-variables.prop-value(on-surface), .38) !default;\n$disabled-placeholder-ink-color: rgba(theme-variables.prop-value(on-surface), .38) !default;\n$disabled-helper-text-color: rgba(theme-variables.prop-value(on-surface), .38) !default;\n\n$background: color.mix(theme-variables.prop-value(on-surface), theme-variables.prop-value(surface), 4%) !default;\n$disabled-background: color.mix(theme-variables.prop-value(on-surface), theme-variables.prop-value(surface), 2%) !default;\n$secondary-text: rgba(theme-variables.prop-value(on-surface), .6) !default;\n\n$outlined-idle-border: rgba(theme-variables.prop-value(on-surface), .38) !default;\n$outlined-disabled-border: rgba(theme-variables.prop-value(on-surface), .06) !default;\n$outlined-hover-border: rgba(theme-variables.prop-value(on-surface), .87) !default;\n\n$textarea-border: rgba(theme-variables.prop-value(on-surface), .73) !default;\n$textarea-background: rgba(theme-variables.prop-value(surface), 1) !default;\n$textarea-disabled-border-color: rgba(theme-variables.prop-value(on-surface), .26) !default;\n// cannot be transparent because multiline textarea input\n// will make text unreadable\n$textarea-disabled-background: rgba(249, 249, 249, 1) !default;\n\n$ripple-target: '.mdc-text-field__ripple';\n$outlined-stroke-width: 2px !default;\n$height: 56px !default;\n$minimum-height: 40px !default;\n$minimum-height-for-filled-label: 52px !default;\n$maximum-height: $height !default;\n$density-scale: density-variables.$default-scale !default;\n$density-config: (\n height: (\n default: $height,\n maximum: $maximum-height,\n minimum: $minimum-height,\n ),\n) !default;\n$label-position-y: floating-label-variables.$position-y !default;\n$label-offset: 16px !default;\n$dense-label-position-y: 70% !default;\n$dense-label-scale: .8 !default;\n$outlined-label-position-y:\n get-outlined-label-position-y($height) !default;\n$outlined-dense-label-position-y: 120% !default;\n$outlined-with-leading-icon-label-position-x: 0 !default;\n$outlined-dense-with-leading-icon-label-position-x: 21px !default;\n$textarea-label-position-y: 130% !default;\n$helper-line-padding: 16px !default;\n$input-padding: 16px !default;\n$input-padding-top: 20px !default;\n$input-padding-bottom: 6px !default;\n$outlined-input-padding-top: 12px !default;\n$outlined-input-padding-bottom: 14px !default;\n$input-border-bottom: 1px !default;\n// Note that the scale factor is an eyeballed approximation of what's shown in the mocks.\n","//\n// Copyright 2018 Google Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n//\n\n$icon-position: 16px !default;\n$trailing-icon-position: 12px !default;\n$icon-padding: 48px !default;\n$dense-icon-padding: 44px !default;\n$dense-icon-position: 12px !default;\n$dense-icon-padding: 38px !default;\n","//\n// Copyright 2018 Google Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n//\n\n@use \"@material/elevation/mixins\" as elevation-mixins;\n@use \"@material/animation/variables\" as animation-variables;\n@use \"@material/rtl/mixins\" as rtl-mixins;\n@use \"@material/typography/mixins\" as typography-mixins;\n@use \"./mixins\";\n@use \"./variables\";\n\n// postcss-bem-linter: define top-app-bar\n.mdc-top-app-bar {\n @include mixins.fill-color-accessible(primary);\n @include mixins.icon-ink-color(on-primary);\n\n display: flex;\n position: fixed;\n flex-direction: column;\n justify-content: space-between;\n box-sizing: border-box;\n width: 100%;\n z-index: 4;\n\n &__row {\n display: flex;\n position: relative;\n box-sizing: border-box;\n width: 100%;\n height: variables.$row-height;\n }\n\n &__section {\n display: inline-flex;\n flex: 1 1 auto;\n align-items: center;\n min-width: 0;\n padding: variables.$section-vertical-padding variables.$section-horizontal-padding;\n z-index: 1;\n\n &--align-start {\n justify-content: flex-start;\n order: -1;\n }\n\n &--align-end {\n justify-content: flex-end;\n order: 1;\n }\n }\n\n &__title {\n @include typography-mixins.typography(headline6);\n @include rtl-mixins.reflexive-box(padding, left, variables.$title-left-padding);\n\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden;\n z-index: 1;\n }\n}\n\n@at-root {\n @include mixins.short-shape-radius(24px);\n}\n\n.mdc-top-app-bar--short {\n top: 0;\n /* @noflip */\n right: auto;\n /* @noflip */\n left: 0;\n width: 100%;\n transition: width 250ms animation-variables.$standard-curve-timing-function;\n\n @include rtl-mixins.rtl {\n /* @noflip */\n right: 0;\n /* @noflip */\n left: auto;\n }\n\n .mdc-top-app-bar__row {\n height: variables.$mobile-row-height;\n }\n\n .mdc-top-app-bar__section {\n padding: variables.$mobile-section-padding;\n }\n\n .mdc-top-app-bar__title {\n transition: opacity 200ms animation-variables.$standard-curve-timing-function;\n opacity: 1;\n }\n}\n\n.mdc-top-app-bar--short-collapsed {\n @include elevation-mixins.elevation(4);\n\n width: variables.$short-collapsed-width;\n transition: width 300ms animation-variables.$standard-curve-timing-function;\n\n .mdc-top-app-bar__title {\n display: none;\n }\n\n .mdc-top-app-bar__action-item {\n transition: padding 150ms animation-variables.$standard-curve-timing-function;\n }\n}\n\n// stylelint-disable-next-line plugin/selector-bem-pattern\n.mdc-top-app-bar--short-collapsed.mdc-top-app-bar--short-has-action-item {\n width: variables.$short-collapsed-width * 2;\n\n .mdc-top-app-bar__section--align-end {\n @include rtl-mixins.reflexive-box(padding, right, 12px);\n }\n}\n\n.mdc-top-app-bar--dense {\n .mdc-top-app-bar__row {\n height: variables.$dense-row-height;\n }\n\n .mdc-top-app-bar__section {\n padding: 0 variables.$dense-section-horizontal-padding;\n }\n\n .mdc-top-app-bar__title {\n @include rtl-mixins.reflexive-box(padding, left, variables.$dense-title-left-padding);\n }\n}\n\n.mdc-top-app-bar--prominent {\n .mdc-top-app-bar__row {\n height: variables.$prominent-row-height;\n }\n\n .mdc-top-app-bar__title {\n align-self: flex-end;\n padding-bottom: variables.$prominent-title-bottom-padding;\n }\n\n .mdc-top-app-bar__action-item,\n .mdc-top-app-bar__navigation-icon {\n align-self: flex-start;\n }\n}\n\n// stylelint-disable-next-line plugin/selector-bem-pattern\n.mdc-top-app-bar--fixed {\n transition: box-shadow 200ms linear;\n}\n\n.mdc-top-app-bar--fixed-scrolled {\n @include elevation-mixins.elevation(4);\n\n transition: box-shadow 200ms linear;\n}\n\n// Specific styles for dense and prominent styled top app bar\n// stylelint-disable plugin/selector-bem-pattern\n.mdc-top-app-bar--dense.mdc-top-app-bar--prominent {\n .mdc-top-app-bar__row {\n height: variables.$dense-row-height * 2;\n }\n\n .mdc-top-app-bar__section {\n padding: 0 variables.$section-horizontal-padding;\n }\n\n .mdc-top-app-bar__title {\n @include rtl-mixins.reflexive-box(padding, left, variables.$title-left-padding);\n\n padding-bottom: variables.$dense-prominent-title-bottom-padding;\n }\n}\n// stylelint-enable plugin/selector-bem-pattern\n\n.mdc-top-app-bar--fixed-adjust {\n padding-top: variables.$row-height;\n}\n\n.mdc-top-app-bar--dense-fixed-adjust {\n padding-top: variables.$dense-row-height;\n}\n\n.mdc-top-app-bar--short-fixed-adjust {\n padding-top: variables.$mobile-row-height;\n}\n\n.mdc-top-app-bar--prominent-fixed-adjust {\n padding-top: variables.$prominent-row-height;\n}\n\n.mdc-top-app-bar--dense-prominent-fixed-adjust {\n padding-top: variables.$dense-row-height * 2;\n}\n\n// Mobile Styles\n@include mixins.mobile-breakpoint_;\n","//\n// Copyright 2018 Google Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n//\n\n@use \"sass:list\";\n@use \"@material/animation/variables\" as animation-variables;\n@use \"@material/ripple/mixins\" as ripple-mixins;\n@use \"@material/theme/variables\" as theme-variables; // for mdc-theme-accessible-ink-color\n@use \"@material/theme/mixins\" as theme-mixins;\n@use \"@material/shape/mixins\" as shape-mixins;\n@use \"@material/shape/functions\";\n@use \"./variables\";\n@use \"@material/rtl/mixins\" as rtl-mixins;\n\n//\n// Public\n//\n\n@mixin ink-color($color) {\n @include theme-mixins.prop(color, $color);\n}\n\n@mixin fill-color($color) {\n @include theme-mixins.prop(background-color, $color);\n}\n\n@mixin fill-color-accessible($color) {\n @include fill-color($color);\n @include ink-color(theme-variables.accessible-ink-color($color));\n}\n\n@mixin icon-ink-color($color) {\n .mdc-top-app-bar__action-item,\n .mdc-top-app-bar__navigation-icon {\n @include theme-mixins.prop(color, $color);\n @include ripple-mixins.states($color);\n }\n}\n\n@mixin short-shape-radius($radius, $rtl-reflexive: true) {\n @if list.length($radius) > 1 {\n @error \"Invalid radius: '#{$radius}' component doesn't allow customizing all corners\";\n }\n\n $radius: 0 0 $radius 0;\n\n $selector: if(&, \"&.mdc-top-app-bar--short-collapsed\", \".mdc-top-app-bar--short-collapsed\");\n\n #{$selector} {\n @include shape-mixins.radius(\n functions.resolve-percentage-radius(variables.$dense-row-height, $radius),\n $rtl-reflexive\n );\n }\n}\n\n//\n// Private\n//\n\n@mixin mobile-breakpoint_($mobile-breakpoint: variables.$mobile-breakpoint) {\n @media (max-width: $mobile-breakpoint) {\n .mdc-top-app-bar__row {\n height: variables.$mobile-row-height;\n }\n\n .mdc-top-app-bar__section {\n padding: variables.$mobile-section-padding;\n }\n\n .mdc-top-app-bar--short {\n transition: width 200ms animation-variables.$standard-curve-timing-function;\n }\n\n .mdc-top-app-bar--short-collapsed {\n transition: width 250ms animation-variables.$standard-curve-timing-function;\n\n .mdc-top-app-bar__section--align-end {\n @include rtl-mixins.reflexive-box(padding, right, variables.$short-collapsed-right-icon-padding);\n }\n }\n\n .mdc-top-app-bar--prominent {\n .mdc-top-app-bar__title {\n padding-bottom: variables.$prominent-mobile-title-bottom-padding;\n }\n }\n\n .mdc-top-app-bar--fixed-adjust {\n padding-top: variables.$mobile-row-height;\n }\n }\n}\n","//\n// Copyright 2018 Google Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n//\n\n// Default styles\n$row-height: 64px !default;\n$title-left-padding: 20px !default;\n$section-vertical-padding: 8px !default;\n$section-horizontal-padding: 12px !default;\n\n$mobile-breakpoint: 599px !default;\n\n// Default mobile styles\n$mobile-row-height: 56px !default;\n$mobile-section-padding: 4px !default;\n\n// Short top app bar\n$short-collapsed-border-radius: 4px !default;\n$short-collapsed-width: 56px !default;\n$short-collapsed-right-icon-padding: 12px !default;\n\n// Prominent styles\n$prominent-row-height: 128px !default;\n$prominent-title-bottom-padding: 2px !default;\n\n// Prominent mobile styles\n$prominent-mobile-title-bottom-padding: 6px !default;\n\n// Dense styles\n$dense-row-height: 48px !default;\n$dense-section-horizontal-padding: 4px !default;\n$dense-title-left-padding: 12px !default;\n\n// Dense & Prominent styles\n$dense-prominent-title-bottom-padding: 9px !default;\n"],"sourceRoot":""}