.mat-option {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    display: block;
    line-height: 48px;
    height: 48px;
    padding: 0 16px;
    text-align: left;
    text-decoration: none;
    max-width: 100%;
    position: relative;
    cursor: pointer;
    outline: 0;
    display: flex;
    flex-direction: row;
    max-width: 100%;
    box-sizing: border-box;
    align-items: center;
    -webkit-tap-highlight-color: transparent
}

.mat-option[disabled] {
    cursor: default
}

[dir=rtl] .mat-option {
    text-align: right
}

.mat-option .mat-icon {
    margin-right: 16px;
    vertical-align: middle
}

.mat-option .mat-icon svg {
    vertical-align: top
}

[dir=rtl] .mat-option .mat-icon {
    margin-left: 16px;
    margin-right: 0
}

.mat-option[aria-disabled=true] {
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    cursor: default
}

.mat-optgroup .mat-option:not(.mat-option-multiple) {
    padding-left: 32px
}

[dir=rtl] .mat-optgroup .mat-option:not(.mat-option-multiple) {
    padding-left: 16px;
    padding-right: 32px
}

@media (-ms-high-contrast:active) {
    .mat-option {
        margin: 0 1px
    }
    .mat-option.mat-active {
        border: solid 1px currentColor;
        margin: 0
    }
}

.mat-option-text {
    display: inline-block;
    flex-grow: 1;
    overflow: hidden;
    text-overflow: ellipsis
}

.mat-option .mat-option-ripple {
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    position: absolute;
    pointer-events: none
}

@media (-ms-high-contrast:active) {
    .mat-option .mat-option-ripple {
        opacity: .5
    }
}

.mat-option-pseudo-checkbox {
    margin-right: 8px
}

[dir=rtl] .mat-option-pseudo-checkbox {
    margin-left: 8px;
    margin-right: 0
}

.mat-select {
    display: inline-block;
    width: 100%;
    outline: 0
}

.mat-select-trigger {
    display: inline-table;
    cursor: pointer;
    position: relative;
    box-sizing: border-box
}

.mat-select-disabled .mat-select-trigger {
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    cursor: default
}

.mat-select-value {
    display: table-cell;
    max-width: 0;
    width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap
}

.mat-select-value-text {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis
}

.mat-select-arrow-wrapper {
    display: table-cell;
    vertical-align: middle
}

.mat-form-field-appearance-fill .mat-select-arrow-wrapper {
    transform: translateY(-50%)
}

.mat-form-field-appearance-outline .mat-select-arrow-wrapper {
    transform: translateY(-25%)
}

.mat-form-field-appearance-standard.mat-form-field-has-label .mat-select:not(.mat-select-empty) .mat-select-arrow-wrapper {
    transform: translateY(-50%)
}

.mat-form-field-appearance-standard .mat-select.mat-select-empty .mat-select-arrow-wrapper {
    transition: transform .4s cubic-bezier(.25, .8, .25, 1)
}

._mat-animation-noopable.mat-form-field-appearance-standard .mat-select.mat-select-empty .mat-select-arrow-wrapper {
    transition: none
}

.mat-select-arrow {
    width: 0;
    height: 0;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-top: 5px solid;
    margin: 0 4px
}

.mat-select-panel-wrap {
    flex-basis: 100%
}

.mat-select-panel {
    min-width: 112px;
    max-width: 280px;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    padding-top: 0;
    padding-bottom: 0;
    max-height: 256px;
    min-width: 100%;
    border-radius: 4px
}

@media (-ms-high-contrast:active) {
    .mat-select-panel {
        outline: solid 1px
    }
}

.mat-select-panel .mat-optgroup-label,
.mat-select-panel .mat-option {
    font-size: inherit;
    line-height: 3em;
    height: 3em
}

.mat-form-field-type-mat-select:not(.mat-form-field-disabled) .mat-form-field-flex {
    cursor: pointer
}

.mat-form-field-type-mat-select .mat-form-field-label {
    width: calc(100% - 18px)
}

.mat-select-placeholder {
    transition: color .4s .133s cubic-bezier(.25, .8, .25, 1)
}

._mat-animation-noopable .mat-select-placeholder {
    transition: none
}

.mat-form-field-hide-placeholder .mat-select-placeholder {
    color: transparent;
    -webkit-text-fill-color: transparent;
    transition: none;
    display: block
}

.mat-form-field-appearance-standard .mat-form-field-flex {
    padding-top: .75em
}

.mat-form-field-appearance-standard .mat-form-field-underline {
    height: 1px
}

@media (-ms-high-contrast:active) {
    .mat-form-field-appearance-standard .mat-form-field-underline {
        height: 0;
        border-top: solid 1px
    }
}

.mat-form-field-appearance-standard .mat-form-field-ripple {
    bottom: 0;
    height: 2px
}

@media (-ms-high-contrast:active) {
    .mat-form-field-appearance-standard .mat-form-field-ripple {
        height: 0;
        border-top: 2px
    }
}

.mat-form-field-appearance-standard.mat-form-field-disabled .mat-form-field-underline {
    background-position: 0;
    background-color: transparent
}

@media (-ms-high-contrast:active) {
    .mat-form-field-appearance-standard.mat-form-field-disabled .mat-form-field-underline {
        border-top-style: dotted;
        border-top-width: 2px
    }
}

.mat-form-field-appearance-standard:not(.mat-form-field-disabled) .mat-form-field-flex:hover~.mat-form-field-underline .mat-form-field-ripple {
    opacity: 1;
    transform: none;
    transition: opacity .6s cubic-bezier(.25, .8, .25, 1)
}

.mat-form-field-appearance-standard._mat-animation-noopable:not(.mat-form-field-disabled) .mat-form-field-flex:hover~.mat-form-field-underline .mat-form-field-ripple {
    transition: none
}

.mat-form-field-appearance-outline .mat-form-field-wrapper {
    margin: .25em 0
}

.mat-form-field-appearance-outline .mat-form-field-flex {
    padding: 0 .75em 0 .75em;
    margin-top: -.25em;
    position: relative
}

.mat-form-field-appearance-outline .mat-form-field-prefix,
.mat-form-field-appearance-outline .mat-form-field-suffix {
    top: .25em
}

.mat-form-field-appearance-outline .mat-form-field-outline {
    display: flex;
    position: absolute;
    top: .25em;
    left: 0;
    right: 0;
    bottom: 0;
    pointer-events: none
}

.mat-form-field-appearance-outline .mat-form-field-outline-end,
.mat-form-field-appearance-outline .mat-form-field-outline-start {
    border: 1px solid currentColor;
    min-width: 5px
}

.mat-form-field-appearance-outline .mat-form-field-outline-start {
    border-radius: 5px 0 0 5px;
    border-right-style: none
}

[dir=rtl] .mat-form-field-appearance-outline .mat-form-field-outline-start {
    border-right-style: solid;
    border-left-style: none;
    border-radius: 0 5px 5px 0
}

.mat-form-field-appearance-outline .mat-form-field-outline-end {
    border-radius: 0 5px 5px 0;
    border-left-style: none;
    flex-grow: 1
}

[dir=rtl] .mat-form-field-appearance-outline .mat-form-field-outline-end {
    border-left-style: solid;
    border-right-style: none;
    border-radius: 5px 0 0 5px
}

.mat-form-field-appearance-outline .mat-form-field-outline-gap {
    border-radius: .000001px;
    border: 1px solid currentColor;
    border-left-style: none;
    border-right-style: none
}

.mat-form-field-appearance-outline.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-outline-gap {
    border-top-color: transparent
}

.mat-form-field-appearance-outline .mat-form-field-outline-thick {
    opacity: 0
}

.mat-form-field-appearance-outline .mat-form-field-outline-thick .mat-form-field-outline-end,
.mat-form-field-appearance-outline .mat-form-field-outline-thick .mat-form-field-outline-gap,
.mat-form-field-appearance-outline .mat-form-field-outline-thick .mat-form-field-outline-start {
    border-width: 2px;
    transition: border-color .3s cubic-bezier(.25, .8, .25, 1)
}

.mat-form-field-appearance-outline.mat-focused .mat-form-field-outline,
.mat-form-field-appearance-outline.mat-form-field-invalid .mat-form-field-outline {
    opacity: 0;
    transition: opacity .1s cubic-bezier(.25, .8, .25, 1)
}

.mat-form-field-appearance-outline.mat-focused .mat-form-field-outline-thick,
.mat-form-field-appearance-outline.mat-form-field-invalid .mat-form-field-outline-thick {
    opacity: 1
}

.mat-form-field-appearance-outline:not(.mat-form-field-disabled) .mat-form-field-flex:hover .mat-form-field-outline {
    opacity: 0;
    transition: opacity .6s cubic-bezier(.25, .8, .25, 1)
}

.mat-form-field-appearance-outline:not(.mat-form-field-disabled) .mat-form-field-flex:hover .mat-form-field-outline-thick {
    opacity: 1
}

.mat-form-field-appearance-outline .mat-form-field-subscript-wrapper {
    padding: 0 1em
}

.mat-form-field-appearance-outline._mat-animation-noopable .mat-form-field-outline,
.mat-form-field-appearance-outline._mat-animation-noopable .mat-form-field-outline-end,
.mat-form-field-appearance-outline._mat-animation-noopable .mat-form-field-outline-gap,
.mat-form-field-appearance-outline._mat-animation-noopable .mat-form-field-outline-start,
.mat-form-field-appearance-outline._mat-animation-noopable:not(.mat-form-field-disabled) .mat-form-field-flex:hover~.mat-form-field-outline {
    transition: none
}

.mat-form-field-appearance-legacy .mat-form-field-label {
    transform: perspective(100px);
    -ms-transform: none
}

.mat-form-field-appearance-legacy .mat-form-field-prefix .mat-icon,
.mat-form-field-appearance-legacy .mat-form-field-suffix .mat-icon {
    width: 1em
}

.mat-form-field-appearance-legacy .mat-form-field-prefix .mat-icon-button,
.mat-form-field-appearance-legacy .mat-form-field-suffix .mat-icon-button {
    font: inherit;
    vertical-align: baseline
}

.mat-form-field-appearance-legacy .mat-form-field-prefix .mat-icon-button .mat-icon,
.mat-form-field-appearance-legacy .mat-form-field-suffix .mat-icon-button .mat-icon {
    font-size: inherit
}

.mat-form-field-appearance-legacy .mat-form-field-underline {
    height: 1px
}

@media (-ms-high-contrast:active) {
    .mat-form-field-appearance-legacy .mat-form-field-underline {
        height: 0;
        border-top: solid 1px
    }
}

.mat-form-field-appearance-legacy .mat-form-field-ripple {
    top: 0;
    height: 2px;
    overflow: hidden
}

@media (-ms-high-contrast:active) {
    .mat-form-field-appearance-legacy .mat-form-field-ripple {
        height: 0;
        border-top: solid 2px
    }
}

.mat-form-field-appearance-legacy.mat-form-field-disabled .mat-form-field-underline {
    background-position: 0;
    background-color: transparent
}

@media (-ms-high-contrast:active) {
    .mat-form-field-appearance-legacy.mat-form-field-disabled .mat-form-field-underline {
        border-top-style: dotted;
        border-top-width: 2px
    }
}

.mat-form-field-appearance-legacy.mat-form-field-invalid:not(.mat-focused) .mat-form-field-ripple {
    height: 1px
}

.mat-input-element {
    font: inherit;
    background: 0 0;
    color: currentColor;
    border: none;
    outline: 0;
    padding: 0;
    margin: 0;
    width: 100%;
    max-width: 100%;
    vertical-align: bottom;
    text-align: inherit
}

.mat-input-element:-moz-ui-invalid {
    box-shadow: none
}

.mat-input-element::-ms-clear,
.mat-input-element::-ms-reveal {
    display: none
}

.mat-input-element,
.mat-input-element::-webkit-search-cancel-button,
.mat-input-element::-webkit-search-decoration,
.mat-input-element::-webkit-search-results-button,
.mat-input-element::-webkit-search-results-decoration {
    -webkit-appearance: none
}

.mat-input-element::-webkit-caps-lock-indicator,
.mat-input-element::-webkit-contacts-auto-fill-button,
.mat-input-element::-webkit-credentials-auto-fill-button {
    visibility: hidden
}

.mat-input-element[type=date]::after,
.mat-input-element[type=datetime-local]::after,
.mat-input-element[type=datetime]::after,
.mat-input-element[type=month]::after,
.mat-input-element[type=time]::after,
.mat-input-element[type=week]::after {
    content: ' ';
    white-space: pre;
    width: 1px
}

.mat-input-element::-webkit-calendar-picker-indicator,
.mat-input-element::-webkit-clear-button,
.mat-input-element::-webkit-inner-spin-button {
    font-size: .75em
}

.mat-input-element::placeholder {
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    transition: color .4s .133s cubic-bezier(.25, .8, .25, 1)
}

.mat-input-element::placeholder:-ms-input-placeholder {
    -ms-user-select: text
}

.mat-input-element::-moz-placeholder {
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    transition: color .4s .133s cubic-bezier(.25, .8, .25, 1)
}

.mat-input-element::-moz-placeholder:-ms-input-placeholder {
    -ms-user-select: text
}

.mat-input-element::-webkit-input-placeholder {
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    transition: color .4s .133s cubic-bezier(.25, .8, .25, 1)
}

.mat-input-element::-webkit-input-placeholder:-ms-input-placeholder {
    -ms-user-select: text
}

.mat-input-element:-ms-input-placeholder {
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    transition: color .4s .133s cubic-bezier(.25, .8, .25, 1)
}

.mat-input-element:-ms-input-placeholder:-ms-input-placeholder {
    -ms-user-select: text
}

.mat-form-field-hide-placeholder .mat-input-element::placeholder {
    color: transparent!important;
    -webkit-text-fill-color: transparent;
    transition: none
}

.mat-form-field-hide-placeholder .mat-input-element::-moz-placeholder {
    color: transparent!important;
    -webkit-text-fill-color: transparent;
    transition: none
}

.mat-form-field-hide-placeholder .mat-input-element::-webkit-input-placeholder {
    color: transparent!important;
    -webkit-text-fill-color: transparent;
    transition: none
}

.mat-form-field-hide-placeholder .mat-input-element:-ms-input-placeholder {
    color: transparent!important;
    -webkit-text-fill-color: transparent;
    transition: none
}

textarea.mat-input-element {
    resize: vertical;
    overflow: auto
}

textarea.mat-input-element.cdk-textarea-autosize {
    resize: none
}

textarea.mat-input-element {
    padding: 2px 0;
    margin: -2px 0
}

select.mat-input-element {
    -moz-appearance: none;
    -webkit-appearance: none;
    position: relative;
    background-color: transparent;
    display: inline-flex;
    box-sizing: border-box;
    padding-top: 1em;
    top: -1em;
    margin-bottom: -1em
}

select.mat-input-element::-ms-expand {
    display: none
}

select.mat-input-element::-moz-focus-inner {
    border: 0
}

select.mat-input-element:not(:disabled) {
    cursor: pointer
}

select.mat-input-element::-ms-value {
    color: inherit;
    background: 0 0
}

@media (-ms-high-contrast:active) {
    .mat-focused select.mat-input-element::-ms-value {
        color: inherit
    }
}

.mat-form-field-type-mat-native-select .mat-form-field-infix::after {
    content: '';
    width: 0;
    height: 0;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-top: 5px solid;
    position: absolute;
    top: 50%;
    right: 0;
    margin-top: -2.5px;
    pointer-events: none
}

[dir=rtl] .mat-form-field-type-mat-native-select .mat-form-field-infix::after {
    right: auto;
    left: 0
}

.mat-form-field-type-mat-native-select .mat-input-element {
    padding-right: 15px
}

[dir=rtl] .mat-form-field-type-mat-native-select .mat-input-element {
    padding-right: 0;
    padding-left: 15px
}

.mat-form-field-type-mat-native-select .mat-form-field-label-wrapper {
    max-width: calc(100% - 10px)
}

.mat-form-field-type-mat-native-select.mat-form-field-appearance-outline .mat-form-field-infix::after {
    margin-top: -5px
}

.mat-form-field-type-mat-native-select.mat-form-field-appearance-fill .mat-form-field-infix::after {
    margin-top: -10px
}

.mat-form-field {
    display: inline-block;
    position: relative;
    text-align: left
}

[dir=rtl] .mat-form-field {
    text-align: right
}

.mat-form-field-wrapper {
    position: relative
}

.mat-form-field-flex {
    display: inline-flex;
    align-items: baseline;
    box-sizing: border-box;
    width: 100%
}

.mat-form-field-prefix,
.mat-form-field-suffix {
    white-space: nowrap;
    flex: none;
    position: relative
}

.mat-form-field-infix {
    display: block;
    position: relative;
    flex: auto;
    min-width: 0;
    width: 180px
}

@media (-ms-high-contrast:active) {
    .mat-form-field-infix {
        border-image: linear-gradient(transparent, transparent)
    }
}

.mat-form-field-label-wrapper {
    position: absolute;
    left: 0;
    box-sizing: content-box;
    width: 100%;
    height: 100%;
    overflow: hidden;
    pointer-events: none
}

[dir=rtl] .mat-form-field-label-wrapper {
    left: auto;
    right: 0
}

.mat-form-field-label {
    position: absolute;
    left: 0;
    font: inherit;
    pointer-events: none;
    width: 100%;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
    transform-origin: 0 0;
    transition: transform .4s cubic-bezier(.25, .8, .25, 1), color .4s cubic-bezier(.25, .8, .25, 1), width .4s cubic-bezier(.25, .8, .25, 1);
    display: none
}

[dir=rtl] .mat-form-field-label {
    transform-origin: 100% 0;
    left: auto;
    right: 0
}

.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,
.mat-form-field-empty.mat-form-field-label {
    display: block
}

.mat-form-field-autofill-control:-webkit-autofill+.mat-form-field-label-wrapper .mat-form-field-label {
    display: none
}

.mat-form-field-can-float .mat-form-field-autofill-control:-webkit-autofill+.mat-form-field-label-wrapper .mat-form-field-label {
    display: block;
    transition: none
}

.mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label,
.mat-input-server[placeholder]:not(:placeholder-shown)+.mat-form-field-label-wrapper .mat-form-field-label {
    display: none
}

.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label,
.mat-form-field-can-float .mat-input-server[placeholder]:not(:placeholder-shown)+.mat-form-field-label-wrapper .mat-form-field-label {
    display: block
}

.mat-form-field-label:not(.mat-form-field-empty) {
    transition: none
}

.mat-form-field-underline {
    position: absolute;
    width: 100%;
    pointer-events: none;
    transform: scaleY(1.0001)
}

.mat-form-field-ripple {
    position: absolute;
    left: 0;
    width: 100%;
    transform-origin: 50%;
    transform: scaleX(.5);
    opacity: 0;
    transition: background-color .3s cubic-bezier(.55, 0, .55, .2)
}

.mat-form-field.mat-focused .mat-form-field-ripple,
.mat-form-field.mat-form-field-invalid .mat-form-field-ripple {
    opacity: 1;
    transform: scaleX(1);
    transition: transform .3s cubic-bezier(.25, .8, .25, 1), opacity .1s cubic-bezier(.25, .8, .25, 1), background-color .3s cubic-bezier(.25, .8, .25, 1)
}

.mat-form-field-subscript-wrapper {
    position: absolute;
    box-sizing: border-box;
    width: 100%;
    overflow: hidden
}

.mat-form-field-label-wrapper .mat-icon,
.mat-form-field-subscript-wrapper .mat-icon {
    width: 1em;
    height: 1em;
    font-size: inherit;
    vertical-align: baseline
}

.mat-form-field-hint-wrapper {
    display: flex
}

.mat-form-field-hint-spacer {
    flex: 1 0 1em
}

.mat-error {
    display: block
}

.mat-form-field-control-wrapper {
    position: relative
}

.mat-form-field._mat-animation-noopable .mat-form-field-label,
.mat-form-field._mat-animation-noopable .mat-form-field-ripple {
    transition: none
}

.mat-form-field-appearance-fill .mat-form-field-flex {
    border-radius: 4px 4px 0 0;
    padding: .75em .75em 0 .75em
}

@media (-ms-high-contrast:active) {
    .mat-form-field-appearance-fill .mat-form-field-flex {
        outline: solid 1px
    }
}

.mat-form-field-appearance-fill .mat-form-field-underline::before {
    content: '';
    display: block;
    position: absolute;
    bottom: 0;
    height: 1px;
    width: 100%
}

.mat-form-field-appearance-fill .mat-form-field-ripple {
    bottom: 0;
    height: 2px
}

@media (-ms-high-contrast:active) {
    .mat-form-field-appearance-fill .mat-form-field-ripple {
        height: 0;
        border-top: solid 2px
    }
}

.mat-form-field-appearance-fill:not(.mat-form-field-disabled) .mat-form-field-flex:hover~.mat-form-field-underline .mat-form-field-ripple {
    opacity: 1;
    transform: none;
    transition: opacity .6s cubic-bezier(.25, .8, .25, 1)
}

.mat-form-field-appearance-fill._mat-animation-noopable:not(.mat-form-field-disabled) .mat-form-field-flex:hover~.mat-form-field-underline .mat-form-field-ripple {
    transition: none
}

.mat-form-field-appearance-fill .mat-form-field-subscript-wrapper {
    padding: 0 1em
}