aboutsummaryrefslogtreecommitdiff
path: root/Neutron-trunk/resources/lib/material/material-components-web.min.css.map
blob: 553f6a0a70359b4a378b52f31f079229d410f540 (plain)
1
{"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/ripple/_keyframes.scss","webpack:///./packages/material-components-web/node_modules/@material/ripple/_mixins.scss","webpack:///./packages/material-components-web/node_modules/@material/card/_mixins.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/animation/_variables.scss","webpack:///./packages/material-components-web/node_modules/@material/checkbox/_mixins.scss","webpack:///./packages/material-components-web/node_modules/@material/touch-target/_variables.scss","webpack:///./packages/material-components-web/node_modules/@material/chips/trailingaction/_mixins.scss","webpack:///./packages/material-components-web/node_modules/@material/chips/trailingaction/_variables.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/circular-progress/_mixins.scss","webpack:///./packages/material-components-web/node_modules/@material/circular-progress/_keyframes.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/icon-button/_mixins.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/list/_mixins.scss","webpack:///./packages/material-components-web/node_modules/@material/drawer/_variables.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/dom/_mixins.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/_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/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/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/helper-text/_mixins.scss","webpack:///./packages/material-components-web/node_modules/@material/select/icon/_mixins.scss","webpack:///./packages/material-components-web/node_modules/@material/select/_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/tab/_mixins.scss","webpack:///./packages/material-components-web/node_modules/@material/tab-indicator/_mixins.scss","webpack:///./packages/material-components-web/node_modules/@material/tab-bar/_mixins.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/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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EI,4FAKA,wMA2NN,uEAGI,qBAEA,sBACA,WACA,YAKF,uDAEI,sCACA,uCAhON,uEN1GE,iCMmJA,0CAGI,WArB0B,CA6C5B,gSAyBF,yBAIA,WAtE8B,CAkF9B,6DAEI,gCAKF,oEAEI,yBAKA,WA5FwB,CAkGhC,8BAEI,8BS9BF,4BT0MA,kBACA,MACA,OACA,WACA,YAGA,oBS7MI,gBToFJ,6EAGI,WAPa,CAzLnB,yJNnGE,yBAEA,mDM0IA,mFAGI,WArB0B,CA6C5B,ocAyBF,yBAIA,UAtE8B,CAkF9B,sGAEI,gCAKF,6GAEI,yBAKA,UA5FwB,CAkGhC,uEAEI,6BSTF,kCACE,KACE,kDACA,WAGF,GACE,8CACA,WARJ,0BACE,KACE,kDACA,WAGF,GACE,8CACA,WAKN,cAoME,YAhME,aACA,eACA,sBAiMJ,wBAEI,WAIJ,+BjBxbE,eACA,iBAJsB,CiBwPxB,+BAEI,4HE3IJ,gGjB3GE,eAEA,yCkB1DF,0DACE,8DADF,kDACE,8DAOF,8DAEI,MACE,0DADF,IACE,0DADF,MACE,0DADF,IACE,0DADF,MACE,0DADF,IACE,0DADF,MACE,0DADF,KACE,6DAHN,sDAEI,MACE,0DADF,IACE,0DADF,MACE,0DADF,IACE,0DADF,MACE,0DADF,IACE,0DADF,MACE,0DADF,KACE,6DAUN,6DACE,iBACA,gBACA,cACA,cACA,gBACA,gBANF,qDACE,iBACA,gBACA,cACA,cACA,gBACA,gBAQF,6DACE,eACA,cACA,gBACA,gBACA,cACA,cANF,qDACE,eACA,cACA,gBACA,gBACA,cACA,cAQF,6DACE,eACA,cACA,gBACA,gBACA,cACA,cANF,qDACE,eACA,cACA,gBACA,gBACA,cACA,cAQF,6DACE,eACA,cACA,gBACA,gBACA,cALF,qDACE,eACA,cACA,gBACA,gBACA,cAQF,mDACE,+DACA,8DACA,8DAHF,2CACE,+DACA,8DACA,8DAQF,oDACE,iEACA,gEACA,gEDvEF,4CCqEE,iEACA,gEACA,gEDvEF,uBA0LE,WACA,YAvLE,qBACA,kBAEA,cAIA,0DAmLJ,sJAGI,iBAIJ,8G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uBCsCI,WACA,wBAuDF,yBD9FF,uBC+FI,UDlFa,qECoBf,yBAEA,+DAEA,yBDxBe,qECyBb,WACA,wBD1Ba,qECoBf,uBAEA,6DAEA,yBDxBe,qECyBb,WACA,wBD1Ba,qECoBf,yBAEA,+DAEA,yBDxBe,qECyBb,WACA,wBD1Ba,qECoBf,uBAEA,6DAEA,yBDxBe,qECyBb,WACA,wBD1Ba,qECoBf,yBAEA,+DAEA,yBDxBe,qECyBb,WACA,wBD1Ba,qECoBf,uBAEA,6DAEA,yBDxBe,qECyBb,WACA,wBD1Ba,qECoBf,yBAEA,+DAEA,yBDxBe,qECyBb,WACA,wBD1Ba,qECoBf,wBAEA,8DAEA,yBDxBe,qECyBb,WACA,wBD1Ba,qECoBf,wBAEA,8DAEA,yBDxBe,qECyBb,WACA,wBD1Ba,uECoBf,wBAEA,8DAEA,yBDxBe,uECyBb,WACA,wBD1Ba,uECoBf,wBAEA,8DAEA,yBDxBe,uECyBb,WACA,wBD1Ba,uECoBf,wBAEA,8DAEA,yBDxBe,uECyBb,WACA,yBApCA,yBDHJ,uBCiCE,wBAEA,6DAsDA,sBACA,WAEA,2DAvDA,yBDrCF,uBCsCI,WACA,wBAuDF,yBD9FF,uBC+FI,UDlFa,oECoBf,uBAEA,4DAEA,yBDxBe,oECyBb,WACA,wBD1Ba,oECoBf,uBAEA,4DAEA,yBDxBe,oECyBb,WACA,wBD1Ba,oECoBf,uBAEA,4DAEA,yBDxBe,oECyBb,WACA,wBD1Ba,oECoBf,wBAEA,6DAEA,yBDxBe,oECyBb,WACA,wBD1Ba,oECoBf,wBAEA,6DAEA,yBDxBe,oECyBb,WACA,wBD1Ba,oECoBf,wBAEA,6DAEA,yBDxBe,oECyBb,WACA,wBD1Ba,oECoBf,wBAEA,6DAEA,yBDxBe,oECyBb,WACA,wBD1Ba,oECoBf,wBAEA,6DAEA,yBDxBe,oECyBb,WACA,wBD1Ba,oECoBf,wBAEA,6DAEA,yBDxBe,oECyBb,WACA,wBD1Ba,sECoBf,wBAEA,6DAEA,yBDxBe,sECyBb,WACA,wBD1Ba,sECoBf,wBAEA,6DAEA,yBDxBe,sECyBb,WACA,wBD1Ba,sECoBf,wBAEA,6DAEA,yBDxBe,sECyBb,WAC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","file":"material-components-web.min.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  .mdc-button__touch {\n    @include feature-targeting-mixins.targets($feat-structure) {\n      left: -$outline-width;\n      width: calc(100% + 2 * #{$outline-width});\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/// Sets a container's baseline that text content will align to.\n///\n/// If the `$display` is set to a flexbox display, only `$top` baseline may be\n/// set. A separate element must be added as a child of the container with a\n/// `$bottom` baseline.\n///\n/// @param {Number} $top - the distance from the top of the container to the\n///     text's baseline.\n/// @param {Number} $bottom - the distance from the text's baseline to the\n///     bottom of the container.\n/// @param {String} $display - the display type of the container. May be `flex`,\n///     `inline-flex`, `block`, or `inline-block`.\n@mixin baseline($top: 0, $bottom: 0, $display: block, $query: feature-targeting-functions.all()) {\n  $validDisplayTypes: (flex, inline-flex, block, inline-block);\n\n  @if list.index($validDisplayTypes, $display) == null {\n    @error \"mdc-typography: invalid display specified! #{$display} must be one of #{$validDisplayTypes}\";\n  }\n\n  $isFlexbox: $display == \"flex\" or $display == \"inline-flex\";\n  $feat-structure: feature-targeting-functions.create-target($query, structure);\n\n  @include feature-targeting-mixins.targets($feat-structure) {\n    display: $display;\n\n    @if $isFlexbox {\n      align-items: baseline;\n    }\n  }\n\n  @if $top > 0 {\n    @include baseline-top($top, $query: $query);\n  }\n\n  @if $bottom > 0 {\n    @if $isFlexbox {\n      @error \"mdc-typography: invalid baseline with display type. #{$display} cannot specifiy $bottom. Add a separate child element with its own $bottom.\";\n    }\n\n    @include baseline-bottom($bottom, $query: $query);\n  }\n}\n\n/// Sets the baseline of flow text content.\n///\n/// Separate `$top` and `$bottom` baselines may be specified. You should ensure\n/// that the `$top` baseline matches the previous text content's $bottom\n/// baseline to ensure text is positioned appropriately.\n///\n/// See go/css-baseline for reference on how this mixin works.\n///\n/// This is intended for text flow content only (e.g. `<h1>`, `<p>`, `<span>`,\n/// or `<div>` with only text content). Use `baseline()` to set the baseline of\n/// containers that are flexbox or have non-flow content children.\n///\n/// @param {Number} $top - the distance from the top of the container to the\n///     text's baseline.\n/// @param {Number} $bottom - the distance from the text's baseline to the\n///     bottom of the container.\n/// @param {Boolean} $lineHeight - the line-height to use for the text. This\n///     is the distance between baselines of multiple lines of text.\n/// @param {String} $display - the display type of the container. May be `block`\n///     or `inline-block`.\n@mixin text-baseline($top: 0, $bottom: 0, $display: block, $lineHeight: normal, $query: feature-targeting-functions.all()) {\n  $validDisplayTypes: (block, inline-block);\n\n  @if list.index($validDisplayTypes, $display) == null {\n    @error \"mdc-typography: invalid display specified! #{$display} must be one of #{$validDisplayTypes}\";\n  }\n\n  $feat-structure: feature-targeting-functions.create-target($query, structure);\n\n  @include baseline($display: $display, $top: $top, $bottom: $bottom, $query: $query);\n  @include feature-targeting-mixins.targets($feat-structure) {\n    @if $top > 0 {\n      margin-top: 0;\n      /* @alternate */\n      line-height: #{$lineHeight};\n    }\n\n    @if $bottom > 0 {\n      margin-bottom: -1 * $bottom;\n    }\n  }\n}\n\n/// Creates a baseline strut from the top of a container. This mixin is for\n/// advanced users, prefer `baseline()`.\n///\n/// @param {Number} $distance - The distance from the top of the container to\n///     the text's baseline.\n@mixin baseline-top($distance, $query: feature-targeting-functions.all()) {\n  $feat-structure: feature-targeting-functions.create-target($query, structure);\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/// Creates a baseline strut from the baseline to the bottom of a container.\n/// This mixin is for advanced users, prefer `baseline()`.\n///\n/// @param {Number} $distance - The distance from the text's baseline to the\n///     bottom of the container.\n@mixin baseline-bottom($distance, $query: feature-targeting-functions.all()) {\n  $feat-structure: feature-targeting-functions.create-target($query, structure);\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// <html dir=\"rtl\">\n//   <!-- ... -->\n//   <div dir=\"ltr\">\n//     <div class=\"mdc-foo\">Styled incorrectly as RTL!</div>\n//   </div>\n// </html>\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 <base-property>-left to <left-value> and\n// <base-property>-right to <right-value> 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 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 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/// @param {string} $ripple-target - the optional selector for the ripple element\n///\n@mixin states-opacities($opacity-map: (), $has-nested-focusable-element: false, $ripple-target: \"&\", $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), $ripple-target: $ripple-target, $query: $query);\n  }\n\n  @if map.has-key($opacity-map, focus) {\n    @include states-focus-opacity(map.get($opacity-map, focus), $ripple-target: $ripple-target, $has-nested-focusable-element: $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), $ripple-target: $ripple-target, $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  $opacity-map: (\n    hover: functions.states-opacity($color, hover) + $opacity-modifier,\n    focus: functions.states-opacity($color, focus) + $opacity-modifier,\n    press: functions.states-opacity($color, press) + $opacity-modifier,\n  );\n\n  @include states-opacities($opacity-map, $has-nested-focusable-element: $has-nested-focusable-element, $ripple-target: $ripple-target, $query: $query);\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 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 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$baseline-theme-color: secondary !default;\n$mark-color: theme-variables.prop-value(on-secondary) !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\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 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: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  .mdc-checkbox__native-control[data-indeterminate=\"true\"] ~ .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  .mdc-checkbox__native-control:indeterminate ~ .mdc-checkbox__background,\n  .mdc-checkbox__native-control[data-indeterminate=\"true\"] ~ .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  .mdc-checkbox__native-control[data-indeterminate=\"true\"] ~ .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):not([data-indeterminate=\"true\"]) ~ {\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):not([data-indeterminate=\"true\"]) ~ {\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  .mdc-checkbox__native-control[data-indeterminate=\"true\"]:enabled {\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  .mdc-checkbox__native-control[data-indeterminate=\"true\"][disabled] {\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 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 2020 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/mixins\" as feature-mixins;\n@use \"@material/feature-targeting/functions\" as feature-functions;\n@use \"@material/ripple/mixins\" as ripple;\n@use \"@material/rtl/mixins\" as rtl;\n@use \"@material/theme/mixins\" as theme;\n@use \"@material/touch-target/mixins\" as touch;\n@use \"./variables\";\n\n$ripple-target: '.mdc-chip-trailing-action__ripple';\n\n@mixin core-styles($query: feature-functions.all()) {\n  @include without-ripple($query: $query);\n  @include ripple($query: $query);\n}\n\n@mixin without-ripple($query: feature-functions.all()) {\n  $feat-structure: feature-functions.create-target($query, structure);\n  $feat-color: feature-functions.create-target($query, color);\n\n  @include touch.wrapper($query); // COPYBARA_COMMENT_THIS_LINE\n  @include _touch-target-base($query);\n\n  .mdc-chip-trailing-action {\n    @include size(variables.$size, $query);\n    @include color(variables.$color, $query);\n\n    @include feature-mixins.targets($feat-structure) {\n      border: none;\n      display: inline-flex;\n      position: relative;\n      align-items: center;\n      justify-content: center;\n      box-sizing: border-box;\n      padding: 0;\n      outline: none;\n      cursor: pointer;\n      -webkit-appearance: none;\n    }\n\n    @include feature-mixins.targets($feat-color) {\n      background: none;\n    }\n\n    // Nested to increase specificity, ensuring SVG and font icon\n    // color is affected regardless of load order without needing\n    // !important or HTML tag targetting.\n    .mdc-chip-trailing-action__icon {\n      @include feature-mixins.targets($feat-color) {\n        fill: currentColor;\n        color: inherit;\n      }\n    }\n  }\n}\n\n@mixin ripple($query: feature-functions.all()) {\n  @include ripple.common($query); // COPYBARA_COMMENT_THIS_LINE\n  $feat-structure: feature-functions.create-target($query, structure);\n\n  .mdc-chip-trailing-action {\n    @include ripple.surface($query: $query, $ripple-target: $ripple-target);\n    @include ripple.radius-unbounded($query: $query, $ripple-target: $ripple-target);\n    @include ripple.states(variables.$ripple-color, $query: $query, $ripple-target: $ripple-target);\n\n    #{$ripple-target} {\n      @include feature-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}\n\n/// Set the color of the trailing action\n/// @param {Color} $color The trailing action color\n@mixin color($color, $query: feature-functions.all()) {\n  $feat-color: feature-functions.create-target($query, color);\n\n  .mdc-chip-trailing-action {\n    @include feature-mixins.targets($feat-color) {\n      @include theme.prop(color, $color);\n    }\n  }\n}\n\n/// Set the size of the trailing action\n/// @param {Number} $number The size of the trailing action\n@mixin size($size, $query: feature-functions.all()) {\n  $feat-structure: feature-functions.create-target($query, structure);\n\n  .mdc-chip-trailing-action__icon {\n    @include feature-mixins.targets($feat-structure) {\n      height: $size;\n      width: $size;\n      font-size: $size;\n    }\n  }\n}\n\n/// Set the horizontal spacing of the trailing action\n/// @param {Number} $left The left spacing\n/// @param {Number} $right The right spacing\n@mixin horizontal-spacing($left, $right, $query: feature-functions.all()) {\n  $feat-structure: feature-functions.create-target($query, structure);\n\n  .mdc-chip-trailing-action {\n    @include feature-mixins.targets($feat-structure) {\n      @include rtl.reflexive-property(margin, $left, $right);\n    }\n  }\n}\n\n/// Set the width of the touch target\n/// @param {Number} $width The width of the touch target\n@mixin touch-target-width($width, $query: feature-functions.all()) {\n  $feat-structure: feature-functions.create-target($query, structure);\n\n  .mdc-chip-trailing-action__touch {\n    @include feature-mixins.targets($feat-structure) {\n      width: $width;\n    }\n  }\n}\n\n/// Private mixins\n\n@mixin _touch-target-base($query: feature-functions.all()) {\n  @include touch-target-width(variables.$touch-target-width, $query);\n\n  .mdc-chip-trailing-action__touch {\n    @include touch.touch-target($set-width: true, $query: $query);\n  }\n}\n","//\n// Copyright 2020 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$size: 18px !default;\n$margin-right: -4px !default;\n$margin-left: 4px !default;\n$touch-target-width: 26px !default;\n$color: on-surface !default;\n$ripple-color: on-surface !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/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@use \"./trailingaction/mixins\" as trailing-action-mixins;\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  @include trailing-action-mixins.color($color, $query: $query);\n\n  // TODO(b/151980552): Remove the following block\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  @include trailing-action-mixins.size($size, $query: $query);\n\n  // TODO(b/151980552): Remove the following block\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  @include trailing-action-mixins.horizontal-spacing($left-margin, $right-margin, $query: $query);\n\n  // TODO(b/151980552): Remove the following block\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 2020 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/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 \"./variables\";\n@use \"./keyframes\";\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 color(variables.$color, $query);\n\n  @include feature-targeting-mixins.targets($feat-animation) {\n    @include keyframes.container-rotate-keyframes_;\n    @include keyframes.spinner-layer-rotate-keyframes_;\n    @include keyframes.color-1-fade-in-out-keyframes_;\n    @include keyframes.color-2-fade-in-out-keyframes_;\n    @include keyframes.color-3-fade-in-out-keyframes_;\n    @include keyframes.color-4-fade-in-out-keyframes_;\n    @include keyframes.left-spin-keyframes_;\n    @include keyframes.right-spin-keyframes_;\n  }\n\n  .mdc-circular-progress {\n    @include size_(variables.$default-size, $query);\n\n    @include feature-targeting-mixins.targets($feat-structure) {\n      display: inline-block;\n      position: relative;\n      /* @noflip */\n      direction: ltr;\n    }\n\n    @include feature-targeting-mixins.targets($feat-animation) {\n      transition: animation-functions.exit-temporary(opacity, 250ms);\n    }\n  }\n\n  .mdc-circular-progress--small {\n    @include size_(small, $query);\n  }\n\n  .mdc-circular-progress--medium {\n    @include size_(medium, $query);\n  }\n\n  .mdc-circular-progress--large {\n    @include size_(large, $query);\n  }\n\n  .mdc-circular-progress__determinate-container,\n  .mdc-circular-progress__indeterminate-circle-graphic,\n  .mdc-circular-progress__indeterminate-container,\n  .mdc-circular-progress__spinner-layer {\n    @include feature-targeting-mixins.targets($feat-structure) {\n      position: absolute;\n      width: 100%;\n      height: 100%;\n    }\n  }\n\n  .mdc-circular-progress__determinate-container {\n    @include feature-targeting-mixins.targets($feat-structure) {\n      transform: rotate(-90deg);\n    }\n  }\n\n  .mdc-circular-progress__indeterminate-container {\n    @include feature-targeting-mixins.targets($feat-structure) {\n      opacity: 0;\n    }\n  }\n\n\n  .mdc-circular-progress__determinate-circle-graphic,\n  .mdc-circular-progress__indeterminate-circle-graphic {\n    @include feature-targeting-mixins.targets($feat-structure) {\n      fill: transparent;\n    }\n  }\n\n  .mdc-circular-progress__determinate-circle {\n    @include feature-targeting-mixins.targets($feat-animation) {\n      transition: animation-functions.enter(stroke-dashoffset, 500ms);\n    }\n  }\n\n  .mdc-circular-progress__gap-patch {\n    @include feature-targeting-mixins.targets($feat-structure) {\n      position: absolute;\n      top: 0;\n      /* @noflip */\n      left: 47.5%;\n      box-sizing: border-box;\n      width: 5%;\n      height: 100%;\n      overflow: hidden;\n    }\n\n    .mdc-circular-progress__indeterminate-circle-graphic {\n      @include feature-targeting-mixins.targets($feat-structure) {\n        /* @noflip */\n        left: -900%;\n        width: 2000%;\n        transform: rotate(180deg);\n      }\n    }\n  }\n\n  .mdc-circular-progress__circle-clipper {\n    @include feature-targeting-mixins.targets($feat-structure) {\n      display: inline-block;\n      position: relative;\n      width: 50%;\n      height: 100%;\n      overflow: hidden;\n    }\n\n    .mdc-circular-progress__indeterminate-circle-graphic {\n      @include feature-targeting-mixins.targets($feat-structure) {\n        width: 200%;\n      }\n    }\n  }\n\n  .mdc-circular-progress__circle-right {\n    .mdc-circular-progress__indeterminate-circle-graphic {\n      @include feature-targeting-mixins.targets($feat-structure) {\n        /* @noflip */\n        left: -100%;\n      }\n    }\n  }\n\n  .mdc-circular-progress--indeterminate {\n    .mdc-circular-progress__determinate-container {\n      @include feature-targeting-mixins.targets($feat-structure) {\n        opacity: 0;\n      }\n    }\n\n    .mdc-circular-progress__indeterminate-container {\n      @include feature-targeting-mixins.targets($feat-structure) {\n        opacity: 1;\n      }\n    }\n\n    @include indeterminate-active-animations_($query);\n  }\n\n  .mdc-circular-progress--closed {\n    @include feature-targeting-mixins.targets($feat-structure) {\n      opacity: 0;\n    }\n  }\n}\n\n// Public mixins\n\n/// Customizes the stroke-color of the indicator. Applies to the\n/// determinate variant, and also the indeterminate variant unless the\n/// four-color mixin is applied.\n/// @param {Color} $color - The desired stroke color.\n/// @see {mixin} indeterminate-colors\n@mixin color($color, $query: feature-targeting-functions.all()) {\n  $feat-color: feature-targeting-functions.create-target($query, color);\n\n  .mdc-circular-progress__determinate-circle,\n  .mdc-circular-progress__indeterminate-circle-graphic {\n    @include feature-targeting-mixins.targets($feat-color) {\n      @include theme-mixins.prop(\"stroke\", $color);\n    }\n  }\n}\n\n/// Applies four animated stroke-colors to the indeterminate indicator.\n/// Applicable to the indeterminate variant only and overrides any single color\n/// currently set.\n/// @param {List} $colors - A list of four desired colors.\n/// @see {mixin} color\n@mixin indeterminate-colors($colors, $query: feature-targeting-functions.all()) {\n  $feat-color: feature-targeting-functions.create-target($query, color);\n\n  @if length($colors) != 4 {\n    @error \"`mdc-circular-progress-colors` accepts exactly 4 colors\";\n  }\n\n  @for $i from 1 through 4 {\n    .mdc-circular-progress__color-#{$i} .mdc-circular-progress__indeterminate-circle-graphic {\n      @include feature-targeting-mixins.targets($feat-color) {\n        stroke: nth($colors, $i);\n      }\n    }\n  }\n}\n\n// Private mixins\n\n/// Sets the container size of the indicator and the stroke width appropriate\n/// for the size according to Material Design guidelines. The dimensions are\n/// predefined for one of three discrete sizes listed below only.\n/// @param {String} $size - Choose from small, medium, or large.\n/// @access private\n@mixin size_($size, $query: feature-targeting-functions.all()) {\n  $feat-structure: feature-targeting-functions.create-target($query, structure);\n\n  $resolved-size: map-get(variables.$container-side-length, $size);\n\n  @include feature-targeting-mixins.targets($feat-structure) {\n    width: $resolved-size;\n    height: $resolved-size;\n  }\n\n  .mdc-circular-progress__determinate-circle-graphic,\n  .mdc-circular-progress__indeterminate-circle-graphic {\n    @include feature-targeting-mixins.targets($feat-structure) {\n      stroke-width: map-get(variables.$stroke-width, $size);\n    }\n  }\n\n  .mdc-circular-progress__gap-patch .mdc-circular-progress__indeterminate-circle-graphic {\n    @include feature-targeting-mixins.targets($feat-structure) {\n      stroke-width: map-get(variables.$stroke-width, $size) * .8;\n    }\n  }\n}\n\n/// Sets the animations for the indicator in indeterminate mode.\n/// @access private\n@mixin indeterminate-active-animations_($query: feature-targeting-functions.all()) {\n  $feat-animation: feature-targeting-functions.create-target($query, animation);\n\n  .mdc-circular-progress__indeterminate-container {\n    @include feature-targeting-mixins.targets($feat-animation) {\n      $duration:\n        360deg *\n        variables.$arc-time /\n        (variables.$arc-start-rotation-interval + (360 - variables.$arc-size));\n\n      animation: mdc-circular-progress-container-rotate $duration linear infinite;\n    }\n  }\n\n  $spinner-rotate-animation:\n    mdc-circular-progress-spinner-layer-rotate\n    4 * variables.$arc-time\n    variables.$timing-function\n    infinite both;\n\n  .mdc-circular-progress__spinner-layer {\n    @include feature-targeting-mixins.targets($feat-animation) {\n      animation: $spinner-rotate-animation;\n    }\n  }\n\n  @for $i from 1 through 4 {\n    $color-fade-in-out-animation:\n      mdc-circular-progress-color-#{$i}-fade-in-out\n      4 * variables.$arc-time\n      variables.$timing-function\n      infinite both;\n\n    .mdc-circular-progress__color-#{$i} {\n      @include feature-targeting-mixins.targets($feat-animation) {\n        animation:\n          $spinner-rotate-animation, $color-fade-in-out-animation;\n      }\n    }\n  }\n\n  .mdc-circular-progress__circle-left .mdc-circular-progress__indeterminate-circle-graphic {\n    @include feature-targeting-mixins.targets($feat-animation) {\n      animation: mdc-circular-progress-left-spin variables.$arc-time variables.$timing-function infinite both;\n    }\n  }\n\n  .mdc-circular-progress__circle-right .mdc-circular-progress__indeterminate-circle-graphic {\n    @include feature-targeting-mixins.targets($feat-animation) {\n      animation: mdc-circular-progress-right-spin variables.$arc-time variables.$timing-function infinite both;\n    }\n  }\n}\n","//\n// Copyright 2020 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 \"./variables\";\n\n/// Keyframes for the persistent rotation of the outermost container\n/// @access private\n@mixin container-rotate-keyframes_ {\n  @keyframes mdc-circular-progress-container-rotate {\n    to { transform: rotate(360deg); }\n  }\n}\n\n/// Keyframes for the rotation of the spinner layer\n/// @access private\n@mixin spinner-layer-rotate-keyframes_ {\n  @keyframes mdc-circular-progress-spinner-layer-rotate {\n    @for $i from 1 through 8 {\n      #{$i * 12.5}% {\n        transform: rotate($i * .5 * variables.$arc-size);\n      }\n    }\n  }\n}\n\n/// Keyframes for the fade-in and fade-out of the first color.\n/// .99 opacity is used to force subpixel rendering.\n/// @access private\n@mixin color-1-fade-in-out-keyframes_ {\n  @keyframes mdc-circular-progress-color-1-fade-in-out {\n    from { opacity: .99; }\n    25% { opacity: .99; }\n    26% { opacity: 0; }\n    89% { opacity: 0; }\n    90% { opacity: .99; }\n    to  { opacity: .99; }\n  }\n}\n\n/// Keyframes for the fade-in and fade-out of the second color.\n/// .99 opacity is used to force subpixel rendering.\n/// @access private\n@mixin color-2-fade-in-out-keyframes_ {\n  @keyframes mdc-circular-progress-color-2-fade-in-out {\n    from { opacity: 0; }\n    15% { opacity: 0; }\n    25% { opacity: .99; }\n    50% { opacity: .99; }\n    51% { opacity: 0; }\n    to  { opacity: 0; }\n  }\n}\n\n/// Keyframes for the fade-in and fade-out of the third color.\n/// .99 opacity is used to force subpixel rendering.\n/// @access private\n@mixin color-3-fade-in-out-keyframes_ {\n  @keyframes mdc-circular-progress-color-3-fade-in-out {\n    from { opacity: 0; }\n    40% { opacity: 0; }\n    50% { opacity: .99; }\n    75% { opacity: .99; }\n    76% { opacity: 0; }\n    to  { opacity: 0; }\n  }\n}\n\n/// Keyframes for the fade-in and fade-out of the fourth color.\n/// .99 opacity is used to force subpixel rendering.\n/// @access private\n@mixin color-4-fade-in-out-keyframes_ {\n  @keyframes mdc-circular-progress-color-4-fade-in-out {\n    from { opacity: 0; }\n    65% { opacity: 0; }\n    75% { opacity: .99; }\n    90% { opacity: .99; }\n    to  { opacity: 0; }\n  }\n}\n\n/// Keyframes for the expansion and contraction of the arc for the\n/// left semi-circle.\n/// @access private\n@mixin left-spin-keyframes_ {\n  @keyframes mdc-circular-progress-left-spin {\n    from { transform: rotate(265deg); }\n    50% { transform: rotate(130deg); }\n    to { transform: rotate(265deg); }\n  }\n}\n\n/// Keyframes for the expansion and contraction of the arc for the\n/// right semi-circle.\n/// @access private\n@mixin right-spin-keyframes_ {\n  @keyframes mdc-circular-progress-right-spin {\n    from { transform: rotate(-265deg); }\n    50% { transform: rotate(-130deg); }\n    to { transform: rotate(-265deg); }\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 \"sass:list\";\n@use \"@material/animation/functions\";\n@use \"@material/checkbox/mixins\" as checkbox-mixins;\n@use \"@material/density/functions\" as density-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/icon-button/mixins\" as icon-button-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 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  $feat-animation: feature-targeting-functions.create-target($query, animation);\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    @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      position: relative;\n    }\n  }\n\n  // Note that we don't output the color styles inside the `@at-root`,\n  // because it makes it difficult to consume by projects that wrap their\n  // themes in a class (e.g. `.my-theme { @include mdc-data-table-core-style() }`).\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  @include sort-icon-color(variables.$sort-icon-color, $query: $query);\n  @include sort-icon-active-color(variables.$sort-icon-active-color, $query: $query);\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      outline: none;\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  .mdc-data-table__sort-icon-button {\n    @include icon-button-mixins.density(\n      $density-scale: variables.$sort-icon-density-scale,\n      $query: $query);\n\n    @include feature-targeting-mixins.targets($feat-structure) {\n      @include rtl-mixins.reflexive-box(margin, left, 4px);\n    }\n\n    .mdc-data-table__header-cell--numeric & {\n      @include feature-targeting-mixins.targets($feat-structure) {\n        @include rtl-mixins.reflexive-box(margin, right, 4px);\n      }\n    }\n\n    @include feature-targeting-mixins.targets($feat-animation) {\n      transition: functions.standard(transform, $duration: 150ms);\n    }\n\n    .mdc-data-table__header-cell--sorted-descending & {\n      @include feature-targeting-mixins.targets($feat-structure) {\n        transform: rotate(-180deg);\n      }\n    }\n\n    @include feature-targeting-mixins.targets($feat-structure) {\n      opacity: 0;\n    }\n\n    &:focus,\n    .mdc-data-table__header-cell:hover &,\n    .mdc-data-table__header-cell--sorted & {\n      @include feature-targeting-mixins.targets($feat-structure) {\n        opacity: 1;\n      }\n    }\n  }\n\n  .mdc-data-table__header-cell-wrapper {\n    @include feature-targeting-mixins.targets($feat-structure) {\n      display: inline-flex;\n      align-items: center;\n    }\n  }\n\n  .mdc-data-table__header-cell--with-sort {\n    @include feature-targeting-mixins.targets($feat-structure) {\n      cursor: pointer;\n    }\n  }\n\n  .mdc-data-table__progress-indicator {\n    @include feature-targeting-mixins.targets($feat-structure) {\n      display: none;\n      position: absolute;\n      width: 100%;\n    }\n\n    .mdc-data-table--in-progress & {\n      @include feature-targeting-mixins.targets($feat-structure) {\n        display: block;\n      }\n    }\n  }\n\n  .mdc-data-table__scrim {\n    @include feature-targeting-mixins.targets($feat-structure) {\n      @include theme-mixins.prop('background-color', surface);\n\n      height: 100%;\n      // TODO(b/151453287): Set appropriate opacity value once we've a UX\n      // guidance.\n      opacity: .32;\n      position: absolute;\n      top: 0;\n      width: 100%;\n    }\n  }\n\n  .mdc-data-table__pagination {\n    @include typography-mixins.typography(body2, $query: $query);\n\n    @include feature-targeting-mixins.targets($feat-structure) {\n      box-sizing: border-box;\n      display: flex;\n      justify-content: flex-end;\n    }\n  }\n\n  .mdc-data-table__pagination-trailing {\n    @include feature-targeting-mixins.targets($feat-structure) {\n      @include rtl-mixins.reflexive-box(margin, left, 4px);\n\n      align-items: center;\n      display: flex;\n    }\n  }\n\n  .mdc-data-table__pagination-button {\n    @include icon-button-mixins.flip-icon-in-rtl($query: $query);\n    @include feature-targeting-mixins.targets($feat-structure) {\n      @include rtl-mixins.reflexive-box(margin, right, 4px);\n    }\n  }\n\n  .mdc-data-table__pagination-total {\n    @include feature-targeting-mixins.targets($feat-structure) {\n      @include rtl-mixins.reflexive-box(margin, right, 36px);\n\n      white-space: nowrap;\n    }\n  }\n}\n\n/// Sets the color of sort icon button when it is in idle state.\n/// (icon showed on header cell focus)\n/// @param {String} $color - Color of sort icon button\n@mixin sort-icon-color($color, $query: feature-targeting-functions.all()) {\n  $feat-color: feature-targeting-functions.create-target($query, color);\n\n  .mdc-data-table__sort-icon-button {\n    @include icon-button-mixins.ink-color($color, $query: $query);\n  }\n}\n\n/// Sets the color of sort icon button when it is activated (sorted).\n/// @param {String} $color - Color of sort icon button\n@mixin sort-icon-active-color($color, $query: feature-targeting-functions.all()) {\n  $feat-color: feature-targeting-functions.create-target($query, color);\n\n  .mdc-data-table__header-cell--sorted .mdc-data-table__sort-icon-button {\n    @include icon-button-mixins.ink-color($color, $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 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  .mdc-data-table__pagination {\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  .mdc-data-table__pagination {\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  .mdc-data-table__pagination {\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$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$sort-icon-color: rgba(theme-variables.prop-value(on-surface), .6) !default;\n$sort-icon-active-color: rgba(theme-variables.prop-value(on-surface), .87) !default;\n$sort-icon-density-scale: -5 !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/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;\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///\n/// Flips icon only in RTL context.\n///\n@mixin flip-icon-in-rtl($query: feature-targeting-functions.all()) {\n  $feat-structure: feature-targeting-functions.create-target($query, structure);\n\n  .mdc-button__icon {\n    @include rtl.rtl {\n      @include feature-targeting-mixins.targets($feat-structure) {\n        /* @noflip */\n        transform: rotate(180deg);\n      }\n    }\n  }\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 \"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.text-baseline($top: 40px, $display: block, $query: $query);\n    @include typography-mixins.typography(headline6, $query: $query);\n\n    @include feature-targeting-mixins.targets($feat-structure) {\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.text-baseline($top: 36px, $bottom: 20px, $query: $query);\n  }\n\n  .mdc-drawer__subtitle {\n    @include typography-mixins.typography(body2, $query: $query);\n    @include typography-mixins.text-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.text-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","// 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.text-baseline(\n      $top: $item-primary-text-baseline-height,\n      $bottom: $item-secondary-text-baseline-height,\n      $display: block,\n      $query: $query\n    );\n\n    // stylelint-disable plugin/selector-bem-pattern\n    .mdc-list--dense & {\n      @include typography-mixins.text-baseline(\n        $top: $dense-item-primary-text-baseline-height,\n        $bottom: $item-secondary-text-baseline-height,\n        $query: $query\n      );\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.text-baseline(\n      $top: $item-secondary-text-baseline-height,\n      $display: block,\n      $query: $query\n    );\n\n    // stylelint-disable plugin/selector-bem-pattern\n    .mdc-list--dense & {\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<Number>} $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/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","//\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/dom/mixins\" as dom-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::before {\n    @include dom-mixins.transparent-border($query: $query);\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","// Copyright 2020 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\n///\n/// Emits necessary layout styles to set a transparent border around an element\n/// without interfering with the rest of its component layout. The border is\n/// only visible in high-contrast mode. The target element should be a child of\n/// a relatively positioned top-level element (i.e. a ::before pseudo-element).\n///\n@mixin transparent-border($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    box-sizing: border-box;\n    width: 100%;\n    height: 100%;\n    top: 0;\n    left: 0;\n    border: 1px solid transparent;\n    border-radius: inherit;\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/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: variables.$float-scale, $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: variables.$float-scale, $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///\n/// Sets the CSS transition for the floating animation.\n///\n/// @param {Number} $duration-ms - Duration (in ms) of the animation.\n/// @param {String} $timing-function - Optionally overrides the default animation timing function.\n///\n@mixin float-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  @include feature-targeting-mixins.targets($feat-animation) {\n    transition:\n      color $duration-ms $timing-function,\n      transform $duration-ms $timing-function;\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--nowrap {\n    > label {\n      @include feature-targeting-mixins.targets($feat-structure) {\n        text-overflow: ellipsis;\n        overflow: hidden;\n        white-space: nowrap;\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  .mdc-form-field--space-between {\n    @include feature-targeting-mixins.targets($feat-structure) {\n      justify-content: space-between;\n    }\n\n    // stylelint-disable-next-line selector-max-type\n    > label {\n      @include feature-targeting-mixins.targets($feat-structure) {\n        margin: 0;\n\n        @include rtl-mixins.rtl {\n          // RTL needed for specificity\n          margin: 0;\n        }\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 \"@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    from {\n      // Normally the buffer dots start from the left and overflow to the right.\n      // We rotate by 180deg so that the buffer dots start on the right when\n      // in non-reversed mode and overflow to the left.\n      transform: rotate(180deg) 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    from {\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    &__buffer {\n      @include feature-targeting-mixins.targets($feat-structure) {\n        display: flex;\n        position: absolute;\n        width: 100%;\n        height: 100%;\n      }\n    }\n\n    &__buffer-dots {\n      @include feature-targeting-mixins.targets($feat-structure) {\n        background-repeat: repeat-x;\n        background-size: 10px variables.$height;\n        flex: auto;\n        transform: rotate(180deg);\n      }\n\n      @include feature-targeting-mixins.targets($feat-animation) {\n        animation: mdc-linear-progress-buffering 250ms infinite linear;\n      }\n    }\n\n    &__buffer-bar {\n      @include feature-targeting-mixins.targets($feat-structure) {\n        flex: 0 1 100%;\n      }\n\n      @include feature-targeting-mixins.targets($feat-animation) {\n        transition: animation-functions.exit-temporary(flex-basis, 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__buffer-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-bar {\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      @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__buffer-dots {\n      @include feature-targeting-mixins.targets($feat-animation) {\n        animation: mdc-linear-progress-buffering-reverse 250ms infinite linear;\n      }\n\n      @include feature-targeting-mixins.targets($feat-structure) {\n        order: 0;\n        transform: rotate(0);\n      }\n    }\n\n    .mdc-linear-progress__buffer-bar {\n      @include feature-targeting-mixins.targets($feat-structure) {\n        order: 1;\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 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// Used by filled variants of GM components to conditionally flatten the top\n// corners of the menu.\n@mixin flatten-top-when-opened-below {\n  .mdc-menu-surface--is-open-below {\n    border-top-left-radius: 0px;\n    border-top-right-radius: 0px;\n  }\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@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/// Sets the max-width for the notch\n///\n/// @param {Number} $max-width Max-width for the notch\n///\n@mixin notch-max-width($max-width, $query: feature-targeting-functions.all()) {\n  $feat-structure: feature-targeting-functions.create-target($query, structure);\n\n  :not(.mdc-notched-outline--notched) .mdc-notched-outline__notch {\n    @include feature-targeting-mixins.targets($feat-structure) {\n      max-width: $max-width;\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    top: 0;\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","//  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 \"@material/typography/mixins\" as typography-mixins;\n@use \"../functions\";\n\n// Public mixins\n\n@mixin helper-text-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  .mdc-select-helper-text {\n    @include typography-mixins.typography(caption, $query: $query);\n    @include typography-mixins.text-baseline(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-select-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\n@mixin helper-text-color($color, $query: feature-targeting-functions.all()) {\n  &:not(.mdc-select--disabled) {\n    @include helper-text-color_($color, $query: $query);\n  }\n}\n\n@mixin helper-text-validation-color($color, $query: feature-targeting-functions.all()) {\n  &:not(.mdc-select--disabled) {\n    @include helper-text-validation-color_($color, $query: $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-select__anchor + .mdc-select-helper-text {\n    @include feature-targeting-mixins.targets($feat-color) {\n      @include theme-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-select--invalid .mdc-select__anchor + .mdc-select-helper-text--validation-msg {\n    @include feature-targeting-mixins.targets($feat-color) {\n      @include theme-mixins.prop(color, $color);\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/rtl/mixins\" as rtl-mixins;\n@use \"@material/theme/mixins\" as theme-mixins;\n@use \"./variables\";\n\n// Public mixins\n\n@mixin icon-core-styles($query: feature-targeting-functions.all()) {\n  $feat-structure: feature-targeting-functions.create-target($query, structure);\n\n  .mdc-select--with-leading-icon {\n    @include icon_($query: $query);\n    @include icon-horizontal-margins_(\n      $left: variables.$icon-horizontal-margin,\n      $right: variables.$icon-horizontal-margin,\n      $query: $query);\n    @include icon-color(on-surface, $query: $query);\n  }\n\n  .mdc-select__icon:not([tabindex]),\n  .mdc-select__icon[tabindex=\"-1\"] {\n    @include feature-targeting-mixins.targets($feat-structure) {\n      cursor: default;\n      pointer-events: none;\n    }\n  }\n}\n\n@mixin icon-color($color, $query: feature-targeting-functions.all()) {\n  &:not(.mdc-select--disabled) {\n    @include icon-color_($color, $query: $query);\n  }\n}\n\n// Private mixins\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  .mdc-select__icon {\n    @include feature-targeting-mixins.targets($feat-structure) {\n      display: inline-block;\n      box-sizing: border-box;\n      width: variables.$icon-size;\n      height: variables.$icon-size;\n      border: none;\n      opacity: variables.$icon-opacity;\n      text-decoration: none;\n      cursor: pointer;\n      user-select: none;\n      flex-shrink: 0;\n      align-self: center;\n    }\n\n    @include feature-targeting-mixins.targets($feat-color) {\n      background-color: transparent;\n      fill: currentColor;\n    }\n  }\n}\n\n@mixin icon-color_($color, $query: feature-targeting-functions.all()) {\n  $feat-color: feature-targeting-functions.create-target($query, color);\n\n  .mdc-select__icon {\n    @include feature-targeting-mixins.targets($feat-color) {\n      @include theme-mixins.prop(color, $color);\n    }\n  }\n}\n\n@mixin icon-horizontal-margins_($left, $right, $query: feature-targeting-functions.all()) {\n  $feat-structure: feature-targeting-functions.create-target($query, structure);\n  .mdc-select__icon {\n    @include feature-targeting-mixins.targets($feat-structure) {\n      @include rtl-mixins.reflexive-property(\n        margin,\n        $left,\n        $right\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:list\";\n@use \"sass:string\";\n@use \"@material/animation/variables\" as animation-variables;\n@use \"@material/feature-targeting/functions\" as feature-targeting-functions;\n@use \"@material/feature-targeting/mixins\" as feature-targeting-mixins;\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/rtl/mixins\" as rtl-mixins;\n@use \"@material/shape/mixins\" as shape-mixins;\n@use \"@material/shape/functions\";\n@use \"@material/theme/mixins\" as theme-mixins;\n@use \"@material/theme/variables\" as theme-variables;\n@use \"@material/typography/mixins\" as typography-mixins;\n@use \"./helper-text/mixins\" as helper-text-mixins;\n@use \"./icon/variables\" as icon-variables;\n@use \"./variables\";\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-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  .mdc-select {\n    @include container-fill-color(variables.$fill-color, $query: $query);\n    @include ink-color(variables.$ink-color, $query: $query);\n    @include label-color(variables.$label-color, $query: $query);\n    @include bottom-line-color(variables.$bottom-line-idle-color, $query: $query);\n    @include helper-text-mixins.helper-text-color(variables.$helper-text-color, $query: $query);\n\n    // Focused state colors\n    @include focused-bottom-line-color(primary, $query: $query);\n    @include focused-label-color(variables.$focused-label-color, $query: $query);\n\n    // Hover state colors\n    @include hover-bottom-line-color(variables.$bottom-line-hover-color, $query: $query);\n\n    // Floating label private mixin\n    @include floating-label_($query: $query);\n\n    // structural\n    @include shape-radius(small, $query: $query);\n    @include padding-horizontal_(\n      $left: variables.$anchor-padding-left,\n      $left-with-leading-icon: variables.$anchor-padding-left-with-leading-icon,\n      $right: variables.$anchor-padding-right,\n      $query: $query\n    );\n\n    @include feature-targeting-mixins.targets($feat-structure) {\n      position: relative; // Menu is absolutely positioned relative to this.\n    }\n\n    &__dropdown-icon {\n      @include dd-arrow-svg-bg_(variables.$dropdown-color, variables.$dropdown-opacity, $query: $query);\n\n      @include feature-targeting-mixins.targets($feat-structure) {\n        @include rtl-mixins.reflexive-property(margin,\n          icon-variables.$icon-horizontal-margin,\n          icon-variables.$icon-horizontal-margin);\n        width: 24px;\n        height: 24px;\n        align-self: center;\n        flex-shrink: 0;\n        pointer-events: none;\n      }\n\n      @include feature-targeting-mixins.targets($feat-animation) {\n        transition: transform variables.$dropdown-transition-duration animation-variables.$standard-curve-timing-function;\n      }\n\n      .mdc-select--focused & {\n        @include dd-arrow-svg-bg_(theme-variables.prop-value(primary), 1, $query: $query);\n      }\n\n      .mdc-select--activated & {\n        @include feature-targeting-mixins.targets($feat-structure) {\n          transform: rotate(180deg) translateY(-5px);\n        }\n\n        @include feature-targeting-mixins.targets($feat-animation) {\n          transition: transform variables.$dropdown-transition-duration animation-variables.$standard-curve-timing-function;\n        }\n      }\n    }\n  }\n\n  .mdc-select__anchor {\n    @include height(variables.$height, $query: $query);\n    @include floating-label-mixins.float-position(variables.$label-position-y, $query: $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      outline: none;\n      cursor: pointer;\n      min-width: 200px;\n    }\n\n    @include focused-line-ripple_ {\n      &::after {\n        @include feature-targeting-mixins.targets($feat-structure) {\n          transform: scale(1, 2);\n          opacity: 1;\n        }\n      }\n    }\n  }\n\n  @include helper-text_($query: $query);\n  @include text_($query: $query);\n\n  .mdc-select--outlined {\n    @include outlined_($query: $query);\n  }\n\n  .mdc-select--invalid {\n    @include label-color(variables.$error-color, $query: $query);\n    @include bottom-line-color(variables.$error-color, $query: $query);\n    @include focused-bottom-line-color(variables.$error-color, $query: $query);\n    @include focused-label-color(variables.$error-color, $query: $query);\n    @include helper-text-mixins.helper-text-validation-color(variables.$error-color, $query: $query);\n\n    // Hover state colors\n    @include hover-bottom-line-color(variables.$error-color, $query: $query);\n\n    &.mdc-select--outlined {\n      @include outline-color(variables.$error-color, $query: $query);\n      @include hover-outline-color(variables.$error-color, $query: $query);\n      @include focused-outline-color(variables.$error-color, $query: $query);\n    }\n\n    .mdc-select__dropdown-icon {\n      @include dd-arrow-svg-bg_(variables.$error-color, 1, $query: $query);\n    }\n\n    // stylelint-disable-next-line plugin/selector-bem-pattern\n    + .mdc-select-helper-text--validation-msg {\n      @include feature-targeting-mixins.targets($feat-structure) {\n        opacity: 1;\n      }\n    }\n  }\n\n  .mdc-select--required {\n    // stylelint-disable-next-line plugin/selector-bem-pattern\n    .mdc-floating-label::after {\n      @include feature-targeting-mixins.targets($feat-structure) {\n        content: \"*\";\n      }\n    }\n  }\n\n  .mdc-select--disabled {\n    @include disabled_($query: $query);\n  }\n\n  .mdc-select--with-leading-icon {\n    @include with-leading-icon_($query: $query);\n  }\n\n  .mdc-select__menu .mdc-list .mdc-list-item--selected {\n    @include feature-targeting-mixins.targets($feat-color) {\n      @include theme-mixins.prop(color, on-surface);\n    }\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    $query: $query\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    $query: $query\n  );\n}\n\n@mixin ripple($query: feature-targeting-functions.all()) {\n  .mdc-select__anchor {\n    @include ripple-mixins.surface($ripple-target: variables.$ripple-target, $query: $query);\n    @include ripple-mixins.radius-bounded($ripple-target: variables.$ripple-target, $query: $query);\n    @include ripple-mixins.states-base-color(variables.$ink-color, $ripple-target: variables.$ripple-target, $query: $query);\n    @include ripple-mixins.states-opacities(\n      (\n        hover: ripple-functions.states-opacity(variables.$ink-color, hover),\n        focus: ripple-functions.states-opacity(variables.$ink-color, focus),\n      ),\n      $ripple-target: variables.$ripple-target,\n      $query: $query\n    );\n\n    #{variables.$ripple-target} {\n      @include ripple-mixins.target-common($query: $query);\n    }\n  }\n\n  .mdc-select__menu .mdc-list .mdc-list-item--selected {\n    @include ripple-mixins.states(on-surface, $query: $query);\n  }\n}\n\n@mixin ink-color($color, $query: feature-targeting-functions.all()) {\n  &:not(.mdc-select--disabled) {\n    @include ink-color_($color, $query: $query);\n  }\n}\n\n@mixin container-fill-color($color, $query: feature-targeting-functions.all()) {\n  &:not(.mdc-select--disabled) {\n    @include container-fill-color_($color, $query: $query);\n  }\n}\n\n@mixin focused-label-color($color, $query: feature-targeting-functions.all()) {\n  &:not(.mdc-select--disabled) {\n    &.mdc-select--focused .mdc-floating-label {\n      @include floating-label-mixins.ink-color(theme-variables.prop-value($color), $query: $query);\n    }\n  }\n}\n\n@mixin hover-bottom-line-color($color, $query: feature-targeting-functions.all()) {\n  &:not(.mdc-select--disabled):hover {\n    @include bottom-line-color_($color, $query: $query);\n  }\n}\n\n@mixin bottom-line-color($color, $query: feature-targeting-functions.all()) {\n  &:not(.mdc-select--disabled) {\n    @include bottom-line-color_($color, $query: $query);\n  }\n}\n\n@mixin focused-bottom-line-color($color, $query: feature-targeting-functions.all()) {\n  &:not(.mdc-select--disabled) {\n    @include focused-line-ripple-color_($color, $query: $query);\n  }\n}\n\n@mixin label-color($color, $query: feature-targeting-functions.all()) {\n  &:not(.mdc-select--disabled) .mdc-floating-label {\n    @include floating-label-mixins.ink-color($color, $query: $query);\n  }\n}\n\n@mixin outline-color($color, $query: feature-targeting-functions.all()) {\n  &:not(.mdc-select--disabled) {\n    @include outline-color_($color, $query: $query);\n  }\n}\n\n@mixin hover-outline-color($color, $query: feature-targeting-functions.all()) {\n  &:not(.mdc-select--disabled) {\n    @include hover-outline-color_($color, $query: $query);\n  }\n}\n\n@mixin focused-outline-color($color, $query: feature-targeting-functions.all()) {\n  &:not(.mdc-select--disabled) {\n    @include focused-outline-color_($color, $query: $query);\n  }\n}\n\n@mixin shape-radius($radius, $rtl-reflexive: false, $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  $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, $query: $query);\n  }\n}\n\n@mixin outline-shape-radius($radius, $rtl-reflexive: false, $query: feature-targeting-functions.all()) {\n  $feat-structure: feature-targeting-functions.create-target($query, structure);\n\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, $query: $query);\n  }\n\n  .mdc-select__selected-text {\n    @include shape-mixins.radius($resolved-radius, $rtl-reflexive, $query: $query);\n  }\n\n  @if ($resolved-radius > notched-outline-variables.$leading-width) {\n    .mdc-select__anchor {\n      @include feature-targeting-mixins.targets($feat-structure) {\n        @include rtl-mixins.reflexive-property(\n          padding,\n          $resolved-radius + notched-outline-variables.$padding,\n          0\n        );\n      }\n    }\n\n    + .mdc-select-helper-text {\n      @include feature-targeting-mixins.targets($feat-structure) {\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\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    @content;\n  }\n}\n\n@mixin focused-outline-idle_ {\n  &.mdc-select--focused {\n    @content;\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  .mdc-select__selected-text {\n    @include feature-targeting-mixins.targets($feat-color) {\n      @include theme-mixins.prop(color, $color);\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-select__anchor {\n    @include feature-targeting-mixins.targets($feat-color) {\n      @include theme-mixins.prop(background-color, $color);\n    }\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 focused-line-ripple-color_($color, $query: feature-targeting-functions.all()) {\n  @include focused-line-ripple_ {\n    @include line-ripple-mixins.active-color($color, $query: $query);\n  }\n}\n\n@mixin dd-arrow-svg-bg_($fill-hex-number, $opacity, $query: feature-targeting-functions.all()) {\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  $feat-structure: feature-targeting-functions.create-target($query, structure);\n\n  @include feature-targeting-mixins.targets($feat-structure) {\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\n@mixin outline-color_($color, $query: feature-targeting-functions.all()) {\n  @include notched-outline-mixins.color($color, $query: $query);\n}\n\n@mixin hover-outline-color_($color, $query: feature-targeting-functions.all()) {\n  // stylelint-disable-next-line selector-combinator-space-after\n  &:not(.mdc-select--focused) .mdc-select__anchor: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  @include focused-outline_ {\n    @include notched-outline-mixins.stroke-width(variables.$outlined-stroke-width, $query: $query);\n    @include notched-outline-mixins.color($color, $query: $query);\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.$outline-label-offset);\n\n      top: 50%;\n      transform: translateY(-50%);\n      pointer-events: none;\n    }\n  }\n\n  &.mdc-select--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}\n\n@mixin with-leading-icon_($query: feature-targeting-functions.all()) {\n  $feat-structure: feature-targeting-functions.create-target($query, structure);\n\n  $icon-total-width: icon-variables.$icon-size + 2 * icon-variables.$icon-horizontal-margin;\n\n  .mdc-floating-label {\n    @include feature-targeting-mixins.targets($feat-structure) {\n      @include rtl-mixins.reflexive-position(left, $icon-total-width);\n    }\n  }\n\n  &.mdc-select--outlined {\n    .mdc-floating-label {\n      @include feature-targeting-mixins.targets($feat-structure) {\n        @include rtl-mixins.reflexive-position(left, $icon-total-width - notched-outline-variables.$leading-width);\n      }\n\n      &--float-above {\n        @include feature-targeting-mixins.targets($feat-structure) {\n          @include rtl-mixins.reflexive-position(left, $icon-total-width - notched-outline-variables.$leading-width);\n        }\n      }\n    }\n\n    @include notched-outline-mixins.floating-label-float-position-absolute(\n      variables.$outlined-label-position-y,\n      $icon-total-width - icon-variables.$icon-horizontal-margin - notched-outline-variables.$notch-gutter-size,\n      $query: $query\n    );\n    @include floating-label-mixins.shake-animation(select-outlined-leading-icon, $query: $query);\n\n    @include rtl-mixins.rtl {\n      @include floating-label-mixins.shake-animation(select-outlined-leading-icon-rtl, $query: $query);\n    }\n  }\n\n  &.mdc-select__menu .mdc-list-item__text {\n    @include feature-targeting-mixins.targets($feat-structure) {\n      @include rtl-mixins.reflexive-property(padding, 32px /* left-value */, 32px /* right-value */);\n    }\n  }\n}\n\n@mixin text_($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  .mdc-select__selected-text {\n    @include typography-mixins.typography(subtitle1, $query: $query);\n\n    @include feature-targeting-mixins.targets($feat-structure) {\n      &::-ms-expand {\n        display: none;\n      }\n\n      &::-ms-value {\n        background-color: transparent;\n        color: inherit;\n      }\n\n      box-sizing: border-box;\n      width: 0;\n      flex-grow: 1;\n      height: variables.$selected-text-height;\n      border: none;\n      outline: none;\n      padding: 0;\n      white-space: nowrap;\n      appearance: none;\n      pointer-events: none;\n      text-overflow: ellipsis;\n    }\n\n    @include feature-targeting-mixins.targets($feat-color) {\n      background-color: transparent;\n      color: inherit; // Override default user agent stylesheet\n    }\n  }\n}\n\n@mixin disabled_($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 container-fill-color_(variables.$disabled-fill-color, $query: $query);\n\n  .mdc-floating-label {\n    @include floating-label-mixins.ink-color(variables.$disabled-label-color, $query: $query);\n  }\n\n  .mdc-select__dropdown-icon {\n    @include dd-arrow-svg-bg_(variables.$dropdown-color, variables.$disabled-dropdown-opacity, $query: $query);\n  }\n\n  .mdc-line-ripple {\n    @include line-ripple-mixins.inactive-color(variables.$disabled-ink-color, $query: $query);\n\n    &::before {\n      @include feature-targeting-mixins.targets($feat-structure) {\n        // TODO(b/146080006): Fix incorrect styling\n        border-bottom-style: dotted;\n      }\n    }\n  }\n\n  .mdc-select__icon {\n    @include feature-targeting-mixins.targets($feat-color) {\n      @include theme-mixins.prop(color, variables.$disabled-icon-color);\n    }\n  }\n\n  .mdc-select__selected-text {\n    @include feature-targeting-mixins.targets($feat-color) {\n      @include theme-mixins.prop(color, variables.$disabled-ink-color);\n    }\n\n    @include feature-targeting-mixins.targets($feat-structure) {\n      pointer-events: none;\n    }\n  }\n\n  &.mdc-select--outlined {\n    @include container-fill-color_(transparent, $query: $query);\n    @include outline-color_(variables.$outlined-disabled-border, $query: $query);\n  }\n\n  @include feature-targeting-mixins.targets($feat-structure) {\n    cursor: default;\n    pointer-events: none;\n  }\n}\n\n@mixin outlined_($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 container-fill-color(transparent, $query: $query);\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 outline-shape-radius(small, $query: $query);\n  @include container-fill-color(transparent, $query: $query);\n\n  @include feature-targeting-mixins.targets($feat-structure) {\n    border: none;\n  }\n\n  .mdc-select__anchor {\n    @include floating-label-mixins.shake-animation(select-outlined, $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\n    @include feature-targeting-mixins.targets($feat-structure) {\n      overflow: visible;\n    }\n  }\n\n  .mdc-select__selected-text {\n    @include feature-targeting-mixins.targets($feat-structure) {\n      display: flex;\n      border: none;\n      z-index: 1;\n    }\n\n    @include feature-targeting-mixins.targets($feat-color) {\n      background-color: transparent;\n    }\n  }\n\n  .mdc-select__icon {\n    @include feature-targeting-mixins.targets($feat-structure) {\n      z-index: 2;\n    }\n  }\n\n  .mdc-floating-label {\n    @include feature-targeting-mixins.targets($feat-structure) {\n      line-height: 1.15rem;\n      pointer-events: auto;\n    }\n  }\n\n  &.mdc-select--focused {\n    @include notched-outline-mixins.notch-offset(variables.$outlined-stroke-width, $query: $query);\n  }\n}\n\n@mixin helper-text_($query: feature-targeting-functions.all()) {\n  $feat-structure: feature-targeting-functions.create-target($query, structure);\n\n  .mdc-select-helper-text {\n    // stylelint-disable plugin/selector-bem-pattern\n    .mdc-select__anchor + & {\n      @include feature-targeting-mixins.targets($feat-structure) {\n        margin-right: 16px;\n        margin-left: 16px;\n      }\n    }\n  }\n\n  .mdc-select--focused .mdc-select__anchor + .mdc-select-helper-text:not(.mdc-select-helper-text--validation-msg) {\n    @include feature-targeting-mixins.targets($feat-structure) {\n      opacity: 1;\n    }\n  }\n}\n\n/// Adds horizontal padding to the selected text\n///\n/// @param {Number} $left - left side padding\n/// @param {Number} $left-with-leading-icon - left-side padding when a leading\n///     icon is present\n/// @param {Number} $right - right-side padding; note that a trailing icon is\n///     always present.\n@mixin padding-horizontal_(\n  $left,\n  $left-with-leading-icon,\n  $right,\n  $query: feature-targeting-functions.all()\n) {\n  $feat-structure: feature-targeting-functions.create-target($query, structure);\n\n  .mdc-select__anchor {\n    @include feature-targeting-mixins.targets($feat-structure) {\n      @include rtl-mixins.reflexive-property(\n        padding,\n        $left,\n        $right\n      );\n    }\n  }\n\n  &.mdc-select--with-leading-icon .mdc-select__anchor {\n    @include feature-targeting-mixins.targets($feat-structure) {\n      @include rtl-mixins.reflexive-property(\n        padding,\n        $left-with-leading-icon,\n        $right\n      );\n    }\n  }\n}\n\n///\n/// Sets height of default select variant.\n///\n/// @param {Number} $height\n/// @param {Number} $minimum-height-for-filled-label Sets the minimum height for\n///     filled selects at which to allow floating labels.\n/// @param {Number} $filled-baseline-top The baseline from the top of the anchor\n///     that the input should be aligned to for a filled variant with a label\n/// @access public\n///\n@mixin height(\n  $height,\n  $minimum-height-for-filled-label: variables.$minimum-height-for-filled-label,\n  $filled-baseline-top: variables.$filled-baseline-top,\n  $query: feature-targeting-functions.all()\n) {\n  $feat-structure: feature-targeting-functions.create-target($query, structure);\n  @include feature-targeting-mixins.targets($feat-structure) {\n    height: $height;\n  }\n\n  // Filled variant is aligned to baseline...\n  @include typography-mixins.baseline($top: $filled-baseline-top, $display: inline-flex, $query: $query);\n  // ...unless it is too small to display a label\n  @if $height < $minimum-height-for-filled-label {\n    @include center-aligned_($query: $query);\n\n    @include feature-targeting-mixins.targets($feat-structure) {\n      &:not(.mdc-select--outlined) {\n        .mdc-floating-label {\n          display: none;\n        }\n      }\n    }\n  }\n\n  // Outlined and no-label variants are always centered\n  .mdc-select--outlined &,\n  .mdc-select--no-label & {\n    @include center-aligned_($query: $query);\n  }\n}\n\n// Removes filled baseline alignment\n@mixin center-aligned_($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    // In order for a flexbox container to participate in baseline alignment,\n    // it follows these rules to determine where its baseline is:\n    // https://www.w3.org/TR/css-flexbox-1/#flex-baselines\n    //\n    // In order to avoid leading icons \"controlling\" the baseline (since they\n    // are the first child), flexbox will generate a baseline from any child\n    // flex items that participate in baseline alignment.\n    //\n    // Icons are set to \"align-self: center\", while all other children are\n    // aligned to baseline. The next problem is deciding which child is\n    // used to determine the baseline.\n    //\n    // According to spec, the item with the largest distance between its\n    // baseline and the edge of the cross axis is placed flush with that edge,\n    // making it the baseline of the container.\n    // https://www.w3.org/TR/css-flexbox-1/#baseline-participation\n    //\n    // For the filled variant, the pseudo ::before strut is the \"largest\"\n    // child since the input has a height of 28px and the strut is 40px. We\n    // can emulate center alignment and force the baseline to use the input\n    // text by making the input the full height of the container and removing\n    // the baseline strut.\n    //\n    // IE11 does not respect this, and makes the leading icon (if present)\n    // the baseline.\n    .mdc-select__selected-text {\n      height: 100%;\n    }\n\n    &::before {\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/notched-outline/variables\" as notched-outline-variables;\n@use \"@material/theme/variables\";\n\n@function get-outlined-label-position-y($select-anchor-height) {\n  @return $select-anchor-height / 2 + notched-outline-variables.$label-box-height / 2;\n}\n$ripple-target: '.mdc-select__ripple';\n$arrow-padding: 52px !default;\n$label-padding: 16px !default;\n$height: 56px !default;\n$minimum-height-for-filled-label: 52px !default;\n$filled-baseline-top: 40px !default;\n$selected-text-height: 28px !default;\n$anchor-padding-left: 16px !default;\n$anchor-padding-left-with-leading-icon: 0 !default;\n$anchor-padding-right: 0 !default;\n$outlined-stroke-width: 2px !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: 106% !default;\n$outline-label-offset: 16px !default;\n$outlined-label-position-y: get-outlined-label-position-y($height) !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\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 transparent;\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\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/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/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// 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// 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.text-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.text-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/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@use \"./variables\";\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  .mdc-text-field__icon--leading {\n    @include leading-icon_($query: $query);\n  }\n\n  .mdc-text-field__icon--trailing {\n    @include trailing-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/// Sets the size of the leading and trailing icons.\n///\n/// @param {Number} $size - the size of the icon in px\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    .mdc-text-field__icon {\n      font-size: $size;\n    }\n  }\n}\n\n// Private mixins\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    align-self: center;\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_($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    @include rtl-mixins.reflexive-property(margin, variables.$leading-icon-padding-left, variables.$leading-icon-padding-right);\n  }\n}\n\n@mixin trailing-icon_($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    @include rtl-mixins.reflexive-property(margin, variables.$trailing-icon-padding-left, variables.$trailing-icon-padding-right);\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/floating-label/variables\" as floating-label-variables;\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\n  // Baseline\n  // postcss-bem-linter: define text-field\n  .mdc-text-field {\n    @include _base($query);\n  }\n\n  .mdc-text-field__input {\n    @include _input($query);\n\n    @include placeholder-selector_ {\n      @include _input-placeholder($query);\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 &,\n    .mdc-text-field--no-label &,\n    .mdc-text-field--focused & {\n      @include placeholder-selector_ {\n        @include _input-placeholder-visible($query);\n      }\n    }\n  }\n\n  .mdc-text-field__affix {\n    @include _affix($query: $query);\n\n    .mdc-text-field--label-floating &,\n    .mdc-text-field--no-label & {\n      @include _affix-visible($query: $query);\n    }\n  }\n\n  .mdc-text-field__affix--prefix {\n    @include _prefix($query: $query);\n\n    .mdc-text-field--end-aligned & {\n      @include _prefix-end-aligned($query: $query);\n    }\n  }\n\n  .mdc-text-field__affix--suffix {\n    @include _suffix($query: $query);\n\n    .mdc-text-field--end-aligned & {\n      @include _suffix-end-aligned($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  // Variants\n\n  .mdc-text-field--filled {\n    @include _filled($query);\n\n    &.mdc-text-field--no-label {\n      @include _filled-no-label($query);\n    }\n  }\n\n  .mdc-text-field--outlined {\n    @include outlined_($query);\n  }\n\n  // Other Variations\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--with-leading-icon {\n    &.mdc-text-field--filled {\n      @include with-leading-icon_($query);\n    }\n\n    &.mdc-text-field--outlined {\n      @include outlined-with-leading-icon_($query);\n    }\n  }\n\n  .mdc-text-field--with-trailing-icon {\n    &.mdc-text-field--filled {\n      @include _with-trailing-icon($query);\n    }\n\n    &.mdc-text-field--outlined {\n      @include _outlined-with-trailing-icon($query);\n    }\n  }\n\n  .mdc-text-field--with-leading-icon.mdc-text-field--with-trailing-icon {\n    &.mdc-text-field--filled {\n      @include _with-leading-and-trailing-icon($query);\n    }\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  // 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 + & {\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  // States\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--disabled {\n    @include disabled_($query);\n\n    &.mdc-text-field--filled {\n      @include _disabled-filled($query);\n    }\n  }\n\n  .mdc-text-field--end-aligned {\n    @include end-aligned_($query);\n  }\n\n  .mdc-text-field--ltr-text {\n    @include _ltr-text($query);\n\n    &.mdc-text-field--end-aligned {\n      @include _ltr-text-end-aligned($query);\n    }\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--filled {\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  // TODO(b/151839219): resize icons and adjust label position\n  // @if $density-scale < 0 {\n  //   @include icon-mixins.size(icon-variables.$dense-icon-size);\n  // }\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  // TODO(b/151839219): resize icons and adjust label position\n  // @if $density-scale < 0 {\n  //   @include icon-mixins.size(icon-variables.$dense-icon-size);\n  // }\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  // TODO(b/151839219): resize icons and adjust label position\n  // @if $density-scale < 0 {\n  //   @include icon-mixins.size(icon-variables.$dense-icon-size);\n  // }\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(\n  $height,\n  $minimum-height-for-filled-label: variables.$minimum-height-for-filled-label,\n  $query: feature-targeting-functions.all()\n) {\n  $feat-structure: feature-targeting-functions.create-target($query, structure);\n  @include feature-targeting-mixins.targets($feat-structure) {\n    height: $height;\n  }\n\n  @if $height < $minimum-height-for-filled-label {\n    @include _filled-no-label($query: $query);\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/// @param {String} $keyframe-suffix - Optional suffix to use for generated\n///     floating label keyframes\n/// @access public\n///\n@mixin outlined-height(\n  $height,\n  $keyframe-suffix: text-field-outlined-#{$height},\n  $query: feature-targeting-functions.all()\n) {\n  $feat-structure: feature-targeting-functions.create-target($query, structure);\n  $positionY: variables.get-outlined-label-position-y($height);\n\n  // Floating label position\n  @include notched-outline-mixins.floating-label-float-position-absolute($positionY, $query: $query);\n\n  // Floating label animation\n  @include floating-label-mixins.shake-animation($keyframe-suffix, $query: $query);\n  @at-root {\n    @include floating-label-mixins.shake-keyframes($keyframe-suffix, $positionY, $query: $query);\n  }\n\n  @include feature-targeting-mixins.targets($feat-structure) {\n    height: $height;\n  }\n}\n\n///\n/// Sets height of outlined text field with leading icon variant.\n///\n/// @param {Number} $height\n/// @param {String} $keyframe-suffix - Optional suffix to use for generated\n///     floating label keyframes\n/// @access public\n///\n@mixin outlined-with-leading-icon-height(\n  $height,\n  $keyframe-suffix: null,\n  $query: feature-targeting-functions.all()\n) {\n  $feat-structure: feature-targeting-functions.create-target($query, structure);\n\n  // This extra specificity is needed because textfield applies the below mixin\n  // already to two selectors (outlined + with-leading-icon). To override\n  // them with a new label position and animation, another selector is needed.\n  &.mdc-text-field--outlined {\n    @include _outlined-with-leading-icon-floating-label-position-animation($height, $keyframe-suffix, $query);\n  }\n\n  @include feature-targeting-mixins.targets($feat-structure) {\n    height: $height;\n  }\n}\n\n// Mixin that sets the floating label position and animations for a given height.\n// This mixin is separate to allow outlined-with-leading-icon-height() to\n// provide greater specificity over the default mixin that adds styles for\n// outlined with leading icons.\n@mixin _outlined-with-leading-icon-floating-label-position-animation(\n  $height,\n  $keyframe-suffix: text-field-outlined-with-leading-icon-#{$height},\n  $query: feature-targeting-functions.all()\n) {\n  $positionY: variables.get-outlined-label-position-y($height);\n\n  // Floating label position\n  @include notched-outline-mixins.floating-label-float-position-absolute(\n    $positionY,\n    variables.$outlined-with-leading-icon-label-position-x,\n    $query: $query\n  );\n\n  // Floating label animation\n  @include floating-label-mixins.shake-animation($keyframe-suffix, $query: $query);\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  $keyframe-suffix-rtl: #{$keyframe-suffix}-rtl;\n  @include rtl-mixins.rtl {\n    @include floating-label-mixins.shake-animation($keyframe-suffix, $query: $query);\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\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///\n/// Customizes the color of the prefix text for an enabled text field.\n/// @param {Color} $color - The desired prefix text color.\n///\n@mixin prefix-color($color, $query: feature-targeting-functions.all()) {\n  @include if-enabled_ {\n    @include _prefix-color($color, $query: $query);\n  }\n}\n\n///\n/// Customizes the color of the prefix text for a disabled text field.\n/// @param {Color} $color - The desired prefix text color.\n///\n@mixin disabled-prefix-color($color, $query: feature-targeting-functions.all()) {\n  @include if-disabled_ {\n    @include _prefix-color($color, $query: $query);\n  }\n}\n\n///\n/// Customizes the color of the suffix text for an enabled text field.\n/// @param {Color} $color - The desired suffix text color.\n///\n@mixin suffix-color($color, $query: feature-targeting-functions.all()) {\n  @include if-enabled_ {\n    @include _suffix-color($color, $query: $query);\n  }\n}\n\n///\n/// Customizes the color of the suffix text for a disabled text field.\n/// @param {Color} $color - The desired suffix text color.\n///\n@mixin disabled-suffix-color($color, $query: feature-targeting-functions.all()) {\n  @include if-disabled_ {\n    @include _suffix-color($color, $query: $query);\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    @include feature-targeting-mixins.targets($feat-structure) {\n      @include rtl-mixins.reflexive-property(padding, $resolved-radius + notched-outline-variables.$padding, 0);\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///\n/// Sets the CSS transition for the floating label's \"float\" animation.\n///\n/// @param {Number} $duration-ms - Duration (in ms) of the animation.\n/// @param {String} $timing-function - Optionally overrides the default animation timing function.\n///\n@mixin floating-label-float-transition($duration-ms, $timing-function: null, $query: feature-targeting-functions.all()) {\n  .mdc-floating-label {\n    @include floating-label-mixins.float-transition($duration-ms, $timing-function, $query: $query);\n  }\n}\n\n// Private mixins\n\n// Base shared styles\n@mixin _base($query: feature-targeting-functions.all()) {\n  $feat-structure: feature-targeting-functions.create-target($query, structure);\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 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 prefix-color(variables.$affix-color, $query: $query);\n  @include suffix-color(variables.$affix-color, $query: $query);\n\n  // Floating Label\n  @include floating-label_($query);\n\n  // Structural\n  @include padding-horizontal_(\n    variables.$padding-horizontal,\n    0,\n    0,\n    $query: $query\n  );\n\n  @include feature-targeting-mixins.targets($feat-structure) {\n    // display and align-items are necessary to make the text field participate\n    // in baseline alignment, even though some variants are \"centered\". Those\n    // variants should use the _baseline-center-aligned() mixin\n    display: inline-flex;\n    align-items: baseline;\n    position: relative;\n    box-sizing: border-box;\n    overflow: hidden;\n    /* @alternate */\n    will-change: opacity, transform, color;\n  }\n}\n\n// This mixin adds styles to visually center the text within the text field.\n// Sibling text will align to the baseline and appear centered next to the\n// text field.\n@mixin _baseline-center-aligned($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    // In order for a flexbox container to participate in baseline alignment,\n    // it follows these rules to determine where its baseline is:\n    // https://www.w3.org/TR/css-flexbox-1/#flex-baselines\n    //\n    // In order to avoid leading icons \"controlling\" the baseline (since they\n    // are the first child), flexbox will generate a baseline from any child\n    // flex items that participate in baseline alignment.\n    //\n    // Icons are set to \"align-self: center\", while all other children are\n    // aligned to baseline. The next problem is deciding which child is\n    // used to determine the baseline.\n    //\n    // According to spec, the item with the largest distance between its\n    // baseline and the edge of the cross axis is placed flush with that edge,\n    // making it the baseline of the container.\n    // https://www.w3.org/TR/css-flexbox-1/#baseline-participation\n    //\n    // For the filled variant, the pseudo ::before strut is the \"largest\"\n    // child since the input has a height of 28px and the strut is 40px. We\n    // can emulate center alignment and force the baseline to use the input\n    // text by making the input the full height of the container and removing\n    // the baseline strut.\n\n    // IE11 does not respect this, and makes the leading icon (if present) the\n    // baseline. This is a gap with IE11 that we have accepted.\n    .mdc-text-field__input {\n      height: 100%;\n    }\n  }\n}\n\n/// Adds horizontal padding to the text field\n///\n/// @param {Number} $padding - left and right-side padding\n/// @param {Number} $left-with-leading-icon - left-side padding when a leading\n///     icon is present\n/// @param {Number} $right-with-trailing-icon - right-side padding when a\n///     trailing icon is present\n@mixin padding-horizontal_(\n  $padding,\n  $left-with-leading-icon,\n  $right-with-trailing-icon,\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    padding: 0 $padding;\n\n    &.mdc-text-field--with-leading-icon {\n      @include rtl-mixins.reflexive-property(\n        padding,\n        $left-with-leading-icon,\n        $padding\n      );\n    }\n\n    &.mdc-text-field--with-trailing-icon {\n      @include rtl-mixins.reflexive-property(\n        padding,\n        $padding,\n        $right-with-trailing-icon\n      );\n    }\n\n    &.mdc-text-field--with-leading-icon.mdc-text-field--with-trailing-icon {\n      @include rtl-mixins.reflexive-property(\n        padding,\n        $left-with-leading-icon,\n        $right-with-trailing-icon\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      top: 50%;\n      transform: translateY(-50%);\n      pointer-events: none;\n    }\n  }\n}\n\n// Filled\n\n@mixin _filled($query: feature-targeting-functions.all()) {\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  @include height(variables.$height, $query: $query);\n  @include typography-mixins.baseline-top(variables.$filled-baseline-top, $query: $query);\n  @include fill-color(variables.$background, $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 _filled-floating-label($query);\n}\n\n@mixin _filled-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  }\n\n  @include floating-label-mixins.float-position(variables.$label-position-y, $query: $query);\n}\n\n// Filled variant with no label. This variant centers the text elements and\n// hides the label and is used with there is explicitly no label provided or\n// when the height of the text field is too small for a label to be allowed.\n@mixin _filled-no-label($query: feature-targeting-functions.all()) {\n  $feat-structure: feature-targeting-functions.create-target($query, structure);\n\n  @include _baseline-center-aligned($query);\n  @include feature-targeting-mixins.targets($feat-structure) {\n    .mdc-floating-label {\n      display: none;\n    }\n\n    &::before {\n      // Remove baseline-top strut\n      display: none;\n    }\n  }\n}\n\n// Outlined\n\n@mixin outlined_($query: feature-targeting-functions.all()) {\n  $feat-structure: feature-targeting-functions.create-target($query, structure);\n\n  @include outlined-height(\n    $height: variables.$height,\n    $keyframe-suffix: text-field-outlined,\n    $query: $query\n  );\n  @include _baseline-center-aligned($query: $query);\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 outline-shape-radius(small, $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 _outlined-floating-label($query);\n\n  @include feature-targeting-mixins.targets($feat-structure) {\n    overflow: visible;\n  }\n\n  .mdc-text-field__input {\n    @include feature-targeting-mixins.targets($feat-structure) {\n      // TODO(b/154349735): Investigate the neccessity of these styles\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-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, notched-outline-variables.$padding);\n    }\n  }\n}\n\n// States\n\n@mixin disabled_($query: feature-targeting-functions.all()) {\n  $feat-structure: feature-targeting-functions.create-target($query, structure);\n\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 _prefix-color(variables.$disabled-affix-color, $query: $query);\n  @include _suffix-color(variables.$disabled-affix-color, $query: $query);\n\n  // Mixins that are ok to include since they target variant-specific elements\n  @include bottom-line-color_(variables.$disabled-border, $query: $query);\n  @include notched-outline-mixins.color(variables.$outlined-disabled-border, $query: $query);\n\n  @media screen and (-ms-high-contrast: active) {\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    @include _prefix-color(GrayText, $query: $query);\n    @include _suffix-color(GrayText, $query: $query);\n\n    // Mixins that are ok to include since they target variant-specific elements\n    @include bottom-line-color_(GrayText, $query: $query);\n    @include notched-outline-mixins.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 _disabled-filled($query: feature-targeting-functions.all()) {\n  @include fill-color_(variables.$disabled-background, $query: $query);\n}\n\n@mixin invalid_($query: feature-targeting-functions.all()) {\n  $feat-structure: feature-targeting-functions.create-target($query, structure);\n\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  // Mixins that are ok to include since they target variant-specific elements\n  @include bottom-line-color(variables.$error, $query: $query);\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  + .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  // Mixins that are ok to include since they target variant-specific elements\n  @include notched-outline-mixins.stroke-width(variables.$outlined-stroke-width, $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// Icons\n\n@mixin with-leading-icon_($query: feature-targeting-functions.all()) {\n  $feat-structure: feature-targeting-functions.create-target($query, structure);\n\n  $icon-padding: icon-variables.$leading-icon-padding-left + icon-variables.$icon-size + icon-variables.$leading-icon-padding-right;\n\n  .mdc-floating-label {\n    @include _truncate-floating-label-max-width($icon-padding, $query: $query);\n    @include feature-targeting-mixins.targets($feat-structure) {\n      @include rtl-mixins.reflexive-position(left, $icon-padding);\n    }\n  }\n\n  $truncation: $icon-padding + variables.$padding-horizontal;\n\n  .mdc-floating-label--float-above {\n    @include _truncate-floating-label-floated-max-width($truncation, $query: $query);\n  }\n}\n\n@mixin _with-trailing-icon($query: feature-targeting-functions.all()) {\n  $truncation: icon-variables.$trailing-icon-padding-left + icon-variables.$icon-size + icon-variables.$trailing-icon-padding-right + variables.$label-offset;\n\n  .mdc-floating-label {\n    @include _truncate-floating-label-max-width($truncation, $query: $query);\n  }\n\n  .mdc-floating-label--float-above {\n    @include _truncate-floating-label-floated-max-width($truncation, $query: $query);\n  }\n}\n\n@mixin _with-leading-and-trailing-icon($query: feature-targeting-functions.all()) {\n  $leading-icon: icon-variables.$leading-icon-padding-left + icon-variables.$icon-size + icon-variables.$leading-icon-padding-right;\n  $trailing-icon: icon-variables.$trailing-icon-padding-left + icon-variables.$icon-size + icon-variables.$trailing-icon-padding-right;\n  $truncation: $leading-icon + $trailing-icon;\n\n  .mdc-floating-label {\n    @include _truncate-floating-label-max-width($truncation, $query: $query);\n  }\n\n  .mdc-floating-label--float-above {\n    @include _truncate-floating-label-floated-max-width($truncation, $query: $query);\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  // Resting label position\n  $icon-padding: icon-variables.$leading-icon-padding-left + icon-variables.$icon-size + icon-variables.$leading-icon-padding-right;\n  $left-spacing: $icon-padding - notched-outline-variables.$leading-width;\n\n  .mdc-floating-label {\n    @include feature-targeting-mixins.targets($feat-structure) {\n      @include rtl-mixins.reflexive-position(left, $left-spacing);\n    }\n  }\n\n  // Notch width\n  $notch-truncation: $icon-padding + notched-outline-variables.$leading-width;\n  @include _truncate-notched-outline-max-width($notch-truncation, $query: $query);\n\n  // Floating label position and animation\n  @include _outlined-with-leading-icon-floating-label-position-animation(\n    $height: variables.$height,\n    $keyframe-suffix: text-field-outlined-leading-icon,\n    $query: $query\n  );\n}\n\n///\n/// Applied to the outlined text field with a trailing icon\n///\n@mixin _outlined-with-trailing-icon($query: feature-targeting-functions.all()) {\n  // Resting label position\n  $icon-padding: icon-variables.$trailing-icon-padding-left + icon-variables.$icon-size + icon-variables.$trailing-icon-padding-right;\n  // Notch width\n  $notch-truncation: $icon-padding + notched-outline-variables.$leading-width;\n\n  @include _truncate-notched-outline-max-width($notch-truncation, $query: $query);\n}\n\n///\n/// Truncates the max-width of the notched outline by the given amount\n///\n/// @param {Number} $truncation - Amount to truncate the notched outline max-width\n///\n@mixin _truncate-notched-outline-max-width($truncation, $query: feature-targeting-functions.all()) {\n  @include notched-outline-mixins.notch-max-width(calc(100% - #{$truncation}), $query: $query);\n}\n\n///\n/// Truncates the max-width of the floating label by the given amount\n///\n/// @param {Number} $truncation - Amount to truncate the floating label max-width\n///\n@mixin _truncate-floating-label-max-width($truncation, $query: feature-targeting-functions.all()) {\n  @include floating-label-mixins.max-width(calc(100% - #{$truncation}), $query: $query);\n}\n\n///\n/// Truncates the max-width of the floating label by the given amount while scaling by the given scale value\n///\n/// @param {Number} $truncation - Amount to truncate the floating label max-width\n///\n@mixin _truncate-floating-label-floated-max-width($truncation, $query: feature-targeting-functions.all()) {\n  $scale: floating-label-variables.$float-scale;\n  @include floating-label-mixins.max-width(calc(100% / #{$scale} - #{$truncation} / #{$scale}), $query: $query);\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    padding: 0;\n    width: 100%;\n  }\n\n  &:not(.mdc-text-field--textarea) {\n    @include _filled-no-label($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      display: flex;\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// Textarea\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 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 character-counter-mixins.character-counter-position(16px, 13px, $query: $query);\n  @include _textarea-floating-label($query);\n\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    align-items: center;\n    width: auto;\n    height: auto;\n    padding: 0; // see below for explanation\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      height: auto;\n      align-self: stretch;\n      box-sizing: border-box;\n      // Top margin is used to keep the text from overlapping the floating label\n      // when scrolling\n      margin-top: variables.$textarea-input-margin-top;\n      // Bottom and left/right margins are used to add space for the resize handle\n      margin-bottom: variables.$textarea-input-handle-margin;\n      @include rtl-mixins.reflexive-box(margin, right, variables.$textarea-input-handle-margin);\n      // Textarea has horizontal padding instead of the container. This allows the\n      // resize handle to extend to the edge of the container.\n      padding: 0 variables.$padding-horizontal variables.$textarea-input-padding-bottom;\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\n@mixin _textarea-floating-label($query: feature-targeting-functions.all()) {\n  $feat-structure: feature-targeting-functions.create-target($query, structure);\n\n  // Resting label position\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      top: 17px;\n      width: auto;\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  // Floating label position\n  @include notched-outline-mixins.floating-label-float-position(variables.$textarea-label-position-y, $query: $query);\n\n  // Floating label animation\n  @include floating-label-mixins.shake-animation(textarea, $query: $query);\n  @include floating-label-mixins.shake-keyframes(\n    textarea,\n    variables.$textarea-label-position-y,\n    0%,\n    $query: $query\n  );\n}\n\n// Text, Prefix and Suffix\n\n// Common styles for the text of the text field, including the prefix, suffix,\n// and input.\n@mixin _text($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  // 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 feature-targeting-mixins.targets($feat-structure) {\n    height: variables.$input-height;\n  }\n\n  @include feature-targeting-mixins.targets($feat-animation) {\n    transition: functions.transition(opacity);\n  }\n}\n\n@mixin _input($query: feature-targeting-functions.all()) {\n  $feat-structure: feature-targeting-functions.create-target($query, structure);\n\n  @include _text($query: $query);\n  @include feature-targeting-mixins.targets($feat-structure) {\n    width: 100%;\n    min-width: 0; // Fixes flex issues on Firefox\n    border: none;\n    border-radius: 0;\n    background: none;\n    appearance: none;\n    padding: 0;\n\n    // Remove built-in trailing clear icon on IE11\n    &::-ms-clear {\n      display: none;\n    }\n\n    &:focus {\n      outline: none;\n    }\n\n    // Remove red outline on firefox\n    &:invalid {\n      box-shadow: none;\n    }\n\n    // Keep Chrome autofill behind the notched outline\n    &:-webkit-autofill {\n      z-index: auto !important;\n    }\n  }\n}\n\n@mixin _input-placeholder($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(opacity, $duration: 67ms);\n  }\n\n  @include feature-targeting-mixins.targets($feat-structure) {\n    opacity: 0;\n  }\n}\n\n@mixin _input-placeholder-visible($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-delay: 40ms;\n    transition-duration: 110ms;\n  }\n\n  @include feature-targeting-mixins.targets($feat-structure) {\n    opacity: 1;\n  }\n}\n\n@mixin _affix($query: feature-targeting-functions.all()) {\n  $feat-structure: feature-targeting-functions.create-target($query, structure);\n\n  @include _text($query: $query);\n  @include feature-targeting-mixins.targets($feat-structure) {\n    opacity: 0;\n    white-space: nowrap;\n  }\n}\n\n@mixin _affix-visible($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    opacity: 1;\n  }\n}\n\n@mixin _prefix($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    @include rtl-mixins.reflexive-box(padding, right, variables.$prefix-padding);\n  }\n}\n\n@mixin _prefix-end-aligned($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    @include rtl-mixins.reflexive-box(padding, right, variables.$prefix-end-aligned-padding);\n  }\n}\n\n@mixin _suffix($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    @include rtl-mixins.reflexive-box(padding, left, variables.$suffix-padding);\n  }\n}\n\n@mixin _suffix-end-aligned($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    @include rtl-mixins.reflexive-box(padding, left, variables.$suffix-end-aligned-padding);\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// Forces input, prefix, and suffix to be LTR when in an RTL environment. Other\n// elements such as labels and icons will remain RTL.\n@mixin _ltr-text($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    @include rtl-mixins.rtl {\n      .mdc-text-field__input,\n      .mdc-text-field__affix {\n        /* @noflip */\n        direction: ltr;\n      }\n\n      .mdc-text-field__affix--prefix {\n        /* @noflip */\n        padding-left: 0;\n        /* @noflip */\n        padding-right: variables.$prefix-padding;\n      }\n\n      .mdc-text-field__affix--suffix {\n        /* @noflip */\n        padding-left: variables.$suffix-padding;\n        /* @noflip */\n        padding-right: 0;\n      }\n\n      // Need to specify an order for all elements since icons maintain their\n      // original positions. We can't just reverse the container.\n      .mdc-text-field__icon--leading {\n        order: 1;\n      }\n\n      .mdc-text-field__affix--suffix {\n        order: 2;\n      }\n\n      .mdc-text-field__input {\n        order: 3;\n      }\n\n      .mdc-text-field__affix--prefix {\n        order: 4;\n      }\n\n      .mdc-text-field__icon--trailing {\n        order: 5;\n      }\n    }\n  }\n}\n\n// Forces input, prefix, and suffix that are already forced to LTR to also be\n// end-aligned. This mixin should be used alongside the styles provided in\n// _ltr-text().\n@mixin _ltr-text-end-aligned($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    @include rtl-mixins.rtl {\n      .mdc-text-field__input {\n        // IE11 does not support text-align: end, so we need to duplicate\n        // the LTR end-aligned style here.\n        /* @noflip */\n        text-align: right;\n      }\n\n      .mdc-text-field__affix--prefix {\n        // padding-left: 0 provided by _ltr-text mixin\n        /* @noflip */\n        padding-right: variables.$prefix-end-aligned-padding;\n      }\n\n      .mdc-text-field__affix--suffix {\n        /* @noflip */\n        padding-left: variables.$suffix-end-aligned-padding;\n        // padding-right: 0 provided by _ltr-text mixin\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  @include feature-targeting-mixins.targets($feat-color) {\n    .mdc-text-field__input {\n      @include placeholder-selector_ {\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 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@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@mixin _prefix-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    .mdc-text-field__affix--prefix {\n      @include theme-mixins.prop(color, $color);\n    }\n  }\n}\n\n@mixin _suffix-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    .mdc-text-field__affix--suffix {\n      @include theme-mixins.prop(color, $color);\n    }\n  }\n}\n\n// Selectors\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@mixin placeholder-selector_ {\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    // with the same content\n    &::placeholder {\n      @content;\n    }\n  }\n\n  @media all {\n    // :-ms-input-placeholder needs to be wrapped because Firefox will drop\n    // other selectors with the same content\n    &:-ms-input-placeholder {\n      @content;\n    }\n  }\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$affix-color: rgba(theme-variables.prop-value(on-surface), .6) !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$disabled-affix-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$padding-horizontal: 16px !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// TODO(b/154350788): Remove this variable, it's not used internally but it is\n// externally in Angular\n/// @deprecated this variable will be removed in the future.\n/// Use get-outlined-label-position-y($height) instead\n$outlined-label-position-y:\n    get-outlined-label-position-y($height) !default;\n$outlined-with-leading-icon-label-position-x: 32px !default;\n$textarea-label-position-y: 130% !default;\n$helper-line-padding: 16px !default;\n$filled-baseline-top: 40px !default;\n$input-height: 28px !default;\n$textarea-input-margin-top: 8px !default;\n$textarea-input-handle-margin: 1px !default;\n$textarea-input-padding-bottom: 16px !default;\n// Note that the scale factor is an eyeballed approximation of what's shown in the mocks.\n\n$prefix-padding: 2px !default;\n$prefix-end-aligned-padding: 12px !default;\n$suffix-padding: 12px !default;\n$suffix-end-aligned-padding: 2px !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":""}