.mat-datepicker-content {
    box-shadow: 0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12);
    display: block;
    border-radius: 4px;
    background-color: var(--mat-datepicker-calendar-container-background-color);
    color: var(--mat-datepicker-calendar-container-text-color)
}

.mat-datepicker-content .mat-calendar {
    width: 296px;
    height: 354px
}

.mat-datepicker-content .mat-datepicker-content-container-with-custom-header .mat-calendar {
    height: auto
}

.mat-datepicker-content .mat-datepicker-close-button {
    position: absolute;
    top: 100%;
    left: 0;
    margin-top: 8px
}

.ng-animating .mat-datepicker-content .mat-datepicker-close-button {
    display: none
}

.mat-datepicker-content-container {
    display: flex;
    flex-direction: column;
    justify-content: space-between
}

.mat-datepicker-content-touch {
    box-shadow: 0px 11px 15px -7px rgba(0, 0, 0, 0.2), 0px 24px 38px 3px rgba(0, 0, 0, 0.14), 0px 9px 46px 8px rgba(0, 0, 0, 0.12);
    display: block;
    max-height: 80vh;
    position: relative;
    overflow: visible
}

.mat-datepicker-content-touch .mat-datepicker-content-container {
    min-height: 312px;
    max-height: 788px;
    min-width: 250px;
    max-width: 750px
}

.mat-datepicker-content-touch .mat-calendar {
    width: 100%;
    height: auto
}

@media all and (orientation: landscape) {
    .mat-datepicker-content-touch .mat-datepicker-content-container {
        width: 64vh;
        height: 80vh
    }
}

@media all and (orientation: portrait) {
    .mat-datepicker-content-touch .mat-datepicker-content-container {
        width: 80vw;
        height: 100vw
    }

    .mat-datepicker-content-touch .mat-datepicker-content-container-with-actions {
        height: 115vw
    }
}

.mat-calendar {
    display: block;
    font-family: var(--mat-datepicker-calendar-text-font);
    font-size: var(--mat-datepicker-calendar-text-size)
}

.mat-calendar-header {
    padding: 8px 8px 0 8px
}

.mat-calendar-content {
    padding: 0 8px 8px 8px;
    outline: none
}

.mat-calendar-controls {
    display: flex;
    align-items: center;
    margin: 5% calc(4.7142857143% - 16px)
}

.mat-calendar-spacer {
    flex: 1 1 auto
}

.mat-calendar-period-button {
    min-width: 0;
    margin: 0 8px;
    font-size: var(--mat-datepicker-calendar-period-button-text-size);
    font-weight: var(--mat-datepicker-calendar-period-button-text-weight)
}

.mat-calendar-arrow {
    display: inline-block;
    width: 10px;
    height: 5px;
    margin: 0 0 0 5px;
    vertical-align: middle;
    fill: var(--mat-datepicker-calendar-period-button-icon-color)
}

.mat-calendar-arrow.mat-calendar-invert {
    transform: rotate(180deg)
}

[dir=rtl] .mat-calendar-arrow {
    margin: 0 5px 0 0
}

.cdk-high-contrast-active .mat-calendar-arrow {
    fill: CanvasText
}

.mat-calendar-previous-button,
.mat-calendar-next-button {
    position: relative
}

.mat-datepicker-content .mat-calendar-previous-button,
.mat-datepicker-content .mat-calendar-next-button {
    color: var(--mat-datepicker-calendar-navigation-button-icon-color)
}

.mat-calendar-previous-button::after,
.mat-calendar-next-button::after {
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    position: absolute;
    content: "";
    margin: 15.5px;
    border: 0 solid currentColor;
    border-top-width: 2px
}

[dir=rtl] .mat-calendar-previous-button,
[dir=rtl] .mat-calendar-next-button {
    transform: rotate(180deg)
}

.mat-calendar-previous-button::after {
    border-left-width: 2px;
    transform: translateX(2px) rotate(-45deg)
}

.mat-calendar-next-button::after {
    border-right-width: 2px;
    transform: translateX(-2px) rotate(45deg)
}

.mat-calendar-table {
    border-spacing: 0;
    border-collapse: collapse;
    width: 100%
}

.mat-calendar-table-header th {
    text-align: center;
    padding: 0 0 8px 0;
    color: var(--mat-datepicker-calendar-header-text-color);
    font-size: var(--mat-datepicker-calendar-header-text-size);
    font-weight: var(--mat-datepicker-calendar-header-text-weight)
}

.mat-calendar-table-header-divider {
    position: relative;
    height: 1px
}

.mat-calendar-table-header-divider::after {
    content: "";
    position: absolute;
    top: 0;
    left: -8px;
    right: -8px;
    height: 1px;
    background: var(--mat-datepicker-calendar-header-divider-color)
}

.mat-calendar-body-cell-content::before {
    margin: calc(calc(var(--mat-focus-indicator-border-width, 3px) + 3px) * -1)
}

.mat-calendar-body-cell:focus .mat-focus-indicator::before {
    content: ""
}

.mat-calendar-hidden-label {
    display: none
}

.mdc-touch-target-wrapper {
    display: inline
}

.mdc-elevation-overlay {
    position: absolute;
    border-radius: inherit;
    pointer-events: none;
    opacity: var(--mdc-elevation-overlay-opacity, 0);
    transition: opacity 280ms cubic-bezier(0.4, 0, 0.2, 1)
}

.mdc-button {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    min-width: 64px;
    border: none;
    outline: none;
    line-height: inherit;
    user-select: none;
    -webkit-appearance: none;
    overflow: visible;
    vertical-align: middle;
    background: rgba(0, 0, 0, 0)
}

.mdc-button .mdc-elevation-overlay {
    width: 100%;
    height: 100%;
    top: 0;
    left: 0
}

.mdc-button::-moz-focus-inner {
    padding: 0;
    border: 0
}

.mdc-button:active {
    outline: none
}

.mdc-button:hover {
    cursor: pointer
}

.mdc-button:disabled {
    cursor: default;
    pointer-events: none
}

.mdc-button[hidden] {
    display: none
}

.mdc-button .mdc-button__icon {
    margin-left: 0;
    margin-right: 8px;
    display: inline-block;
    position: relative;
    vertical-align: top
}

[dir=rtl] .mdc-button .mdc-button__icon,
.mdc-button .mdc-button__icon[dir=rtl] {
    margin-left: 8px;
    margin-right: 0
}

.mdc-button .mdc-button__progress-indicator {
    font-size: 0;
    position: absolute;
    transform: translate(-50%, -50%);
    top: 50%;
    left: 50%;
    line-height: initial
}

.mdc-button .mdc-button__label {
    position: relative
}

.mdc-button .mdc-button__focus-ring {
    pointer-events: none;
    border: 2px solid rgba(0, 0, 0, 0);
    border-radius: 6px;
    box-sizing: content-box;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    height: calc(100% + 4px);
    width: calc(100% + 4px);
    display: none
}

@media screen and (forced-colors: active) {
    .mdc-button .mdc-button__focus-ring {
        border-color: CanvasText
    }
}

.mdc-button .mdc-button__focus-ring::after {
    content: "";
    border: 2px solid rgba(0, 0, 0, 0);
    border-radius: 8px;
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    height: calc(100% + 4px);
    width: calc(100% + 4px)
}

@media screen and (forced-colors: active) {
    .mdc-button .mdc-button__focus-ring::after {
        border-color: CanvasText
    }
}

@media screen and (forced-colors: active) {

    .mdc-button.mdc-ripple-upgraded--background-focused .mdc-button__focus-ring,
    .mdc-button:not(.mdc-ripple-upgraded):focus .mdc-button__focus-ring {
        display: block
    }
}

.mdc-button .mdc-button__touch {
    position: absolute;
    top: 50%;
    height: 48px;
    left: 0;
    right: 0;
    transform: translateY(-50%)
}

.mdc-button__label+.mdc-button__icon {
    margin-left: 8px;
    margin-right: 0
}

[dir=rtl] .mdc-button__label+.mdc-button__icon,
.mdc-button__label+.mdc-button__icon[dir=rtl] {
    margin-left: 0;
    margin-right: 8px
}

svg.mdc-button__icon {
    fill: currentColor
}

.mdc-button--touch {
    margin-top: 6px;
    margin-bottom: 6px
}

.mdc-button {
    padding: 0 8px 0 8px
}

.mdc-button--unelevated {
    transition: box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);
    padding: 0 16px 0 16px
}

.mdc-button--unelevated.mdc-button--icon-trailing {
    padding: 0 12px 0 16px
}

.mdc-button--unelevated.mdc-button--icon-leading {
    padding: 0 16px 0 12px
}

.mdc-button--raised {
    transition: box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);
    padding: 0 16px 0 16px
}

.mdc-button--raised.mdc-button--icon-trailing {
    padding: 0 12px 0 16px
}

.mdc-button--raised.mdc-button--icon-leading {
    padding: 0 16px 0 12px
}

.mdc-button--outlined {
    border-style: solid;
    transition: border 280ms cubic-bezier(0.4, 0, 0.2, 1)
}

.mdc-button--outlined .mdc-button__ripple {
    border-style: solid;
    border-color: rgba(0, 0, 0, 0)
}

.mat-mdc-button {
    height: var(--mdc-text-button-container-height, 36px);
    border-radius: var(--mdc-text-button-container-shape, var(--mdc-shape-small, 4px))
}

.mat-mdc-button:not(:disabled) {
    color: var(--mdc-text-button-label-text-color, inherit)
}

.mat-mdc-button:disabled {
    color: var(--mdc-text-button-disabled-label-text-color, rgba(0, 0, 0, 0.38))
}

.mat-mdc-button .mdc-button__ripple {
    border-radius: var(--mdc-text-button-container-shape, var(--mdc-shape-small, 4px))
}

.mat-mdc-unelevated-button {
    height: var(--mdc-filled-button-container-height, 36px);
    border-radius: var(--mdc-filled-button-container-shape, var(--mdc-shape-small, 4px))
}

.mat-mdc-unelevated-button:not(:disabled) {
    background-color: var(--mdc-filled-button-container-color, transparent)
}

.mat-mdc-unelevated-button:disabled {
    background-color: var(--mdc-filled-button-disabled-container-color, rgba(0, 0, 0, 0.12))
}

.mat-mdc-unelevated-button:not(:disabled) {
    color: var(--mdc-filled-button-label-text-color, inherit)
}

.mat-mdc-unelevated-button:disabled {
    color: var(--mdc-filled-button-disabled-label-text-color, rgba(0, 0, 0, 0.38))
}

.mat-mdc-unelevated-button .mdc-button__ripple {
    border-radius: var(--mdc-filled-button-container-shape, var(--mdc-shape-small, 4px))
}

.mat-mdc-raised-button {
    height: var(--mdc-protected-button-container-height, 36px);
    border-radius: var(--mdc-protected-button-container-shape, var(--mdc-shape-small, 4px));
    box-shadow: var(--mdc-protected-button-container-elevation, 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12))
}

.mat-mdc-raised-button:not(:disabled) {
    background-color: var(--mdc-protected-button-container-color, transparent)
}

.mat-mdc-raised-button:disabled {
    background-color: var(--mdc-protected-button-disabled-container-color, rgba(0, 0, 0, 0.12))
}

.mat-mdc-raised-button:not(:disabled) {
    color: var(--mdc-protected-button-label-text-color, inherit)
}

.mat-mdc-raised-button:disabled {
    color: var(--mdc-protected-button-disabled-label-text-color, rgba(0, 0, 0, 0.38))
}

.mat-mdc-raised-button .mdc-button__ripple {
    border-radius: var(--mdc-protected-button-container-shape, var(--mdc-shape-small, 4px))
}

.mat-mdc-raised-button.mdc-ripple-upgraded--background-focused,
.mat-mdc-raised-button:not(.mdc-ripple-upgraded):focus {
    box-shadow: var(--mdc-protected-button-focus-container-elevation, 0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12))
}

.mat-mdc-raised-button:hover {
    box-shadow: var(--mdc-protected-button-hover-container-elevation, 0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12))
}

.mat-mdc-raised-button:not(:disabled):active {
    box-shadow: var(--mdc-protected-button-pressed-container-elevation, 0px 5px 5px -3px rgba(0, 0, 0, 0.2), 0px 8px 10px 1px rgba(0, 0, 0, 0.14), 0px 3px 14px 2px rgba(0, 0, 0, 0.12))
}

.mat-mdc-raised-button:disabled {
    box-shadow: var(--mdc-protected-button-disabled-container-elevation, 0px 0px 0px 0px rgba(0, 0, 0, 0.2), 0px 0px 0px 0px rgba(0, 0, 0, 0.14), 0px 0px 0px 0px rgba(0, 0, 0, 0.12))
}

.mat-mdc-outlined-button {
    height: var(--mdc-outlined-button-container-height, 36px);
    border-radius: var(--mdc-outlined-button-container-shape, var(--mdc-shape-small, 4px));
    padding: 0 15px 0 15px;
    border-width: var(--mdc-outlined-button-outline-width, 1px)
}

.mat-mdc-outlined-button:not(:disabled) {
    color: var(--mdc-outlined-button-label-text-color, inherit)
}

.mat-mdc-outlined-button:disabled {
    color: var(--mdc-outlined-button-disabled-label-text-color, rgba(0, 0, 0, 0.38))
}

.mat-mdc-outlined-button .mdc-button__ripple {
    border-radius: var(--mdc-outlined-button-container-shape, var(--mdc-shape-small, 4px))
}

.mat-mdc-outlined-button:not(:disabled) {
    border-color: var(--mdc-outlined-button-outline-color, rgba(0, 0, 0, 0.12))
}

.mat-mdc-outlined-button:disabled {
    border-color: var(--mdc-outlined-button-disabled-outline-color, rgba(0, 0, 0, 0.12))
}

.mat-mdc-outlined-button.mdc-button--icon-trailing {
    padding: 0 11px 0 15px
}

.mat-mdc-outlined-button.mdc-button--icon-leading {
    padding: 0 15px 0 11px
}

.mat-mdc-outlined-button .mdc-button__ripple {
    top: -1px;
    left: -1px;
    bottom: -1px;
    right: -1px;
    border-width: var(--mdc-outlined-button-outline-width, 1px)
}

.mat-mdc-outlined-button .mdc-button__touch {
    left: calc(-1 * var(--mdc-outlined-button-outline-width, 1px));
    width: calc(100% + 2 * var(--mdc-outlined-button-outline-width, 1px))
}

.mat-mdc-button,
.mat-mdc-unelevated-button,
.mat-mdc-raised-button,
.mat-mdc-outlined-button {
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0)
}

.mat-mdc-button .mat-mdc-button-ripple,
.mat-mdc-button .mat-mdc-button-persistent-ripple,
.mat-mdc-button .mat-mdc-button-persistent-ripple::before,
.mat-mdc-unelevated-button .mat-mdc-button-ripple,
.mat-mdc-unelevated-button .mat-mdc-button-persistent-ripple,
.mat-mdc-unelevated-button .mat-mdc-button-persistent-ripple::before,
.mat-mdc-raised-button .mat-mdc-button-ripple,
.mat-mdc-raised-button .mat-mdc-button-persistent-ripple,
.mat-mdc-raised-button .mat-mdc-button-persistent-ripple::before,
.mat-mdc-outlined-button .mat-mdc-button-ripple,
.mat-mdc-outlined-button .mat-mdc-button-persistent-ripple,
.mat-mdc-outlined-button .mat-mdc-button-persistent-ripple::before {
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    position: absolute;
    pointer-events: none;
    border-radius: inherit
}

.mat-mdc-button .mat-mdc-button-ripple,
.mat-mdc-unelevated-button .mat-mdc-button-ripple,
.mat-mdc-raised-button .mat-mdc-button-ripple,
.mat-mdc-outlined-button .mat-mdc-button-ripple {
    overflow: hidden
}

.mat-mdc-button .mat-mdc-button-persistent-ripple::before,
.mat-mdc-unelevated-button .mat-mdc-button-persistent-ripple::before,
.mat-mdc-raised-button .mat-mdc-button-persistent-ripple::before,
.mat-mdc-outlined-button .mat-mdc-button-persistent-ripple::before {
    content: "";
    opacity: 0;
    background-color: var(--mat-mdc-button-persistent-ripple-color)
}

.mat-mdc-button .mat-ripple-element,
.mat-mdc-unelevated-button .mat-ripple-element,
.mat-mdc-raised-button .mat-ripple-element,
.mat-mdc-outlined-button .mat-ripple-element {
    background-color: var(--mat-mdc-button-ripple-color)
}

.mat-mdc-button .mdc-button__label,
.mat-mdc-unelevated-button .mdc-button__label,
.mat-mdc-raised-button .mdc-button__label,
.mat-mdc-outlined-button .mdc-button__label {
    z-index: 1
}

.mat-mdc-button .mat-mdc-focus-indicator,
.mat-mdc-unelevated-button .mat-mdc-focus-indicator,
.mat-mdc-raised-button .mat-mdc-focus-indicator,
.mat-mdc-outlined-button .mat-mdc-focus-indicator {
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    position: absolute
}

.mat-mdc-button:focus .mat-mdc-focus-indicator::before,
.mat-mdc-unelevated-button:focus .mat-mdc-focus-indicator::before,
.mat-mdc-raised-button:focus .mat-mdc-focus-indicator::before,
.mat-mdc-outlined-button:focus .mat-mdc-focus-indicator::before {
    content: ""
}

.mat-mdc-button[disabled],
.mat-mdc-unelevated-button[disabled],
.mat-mdc-raised-button[disabled],
.mat-mdc-outline… .mat-calendar-body {
    min-width: 224px
}

.mat-calendar-body-today:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical) {
    border-color: var(--mat-datepicker-calendar-date-today-outline-color)
}

.mat-calendar-body-label {
    height: 0;
    line-height: 0;
    text-align: left;
    padding-left: 4.7142857143%;
    padding-right: 4.7142857143%;
    font-size: var(--mat-datepicker-calendar-body-label-text-size);
    font-weight: var(--mat-datepicker-calendar-body-label-text-weight);
    color: var(--mat-datepicker-calendar-body-label-text-color)
}

.mat-calendar-body-hidden-label {
    display: none
}

.mat-calendar-body-cell-container {
    position: relative;
    height: 0;
    line-height: 0
}

.mat-calendar-body-cell {
    -webkit-user-select: none;
    user-select: none;
    cursor: pointer;
    outline: none;
    border: none;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: none;
    text-align: center;
    outline: none;
    font-family: inherit;
    margin: 0
}

.mat-calendar-body-cell::-moz-focus-inner {
    border: 0
}

.mat-calendar-body-cell::before,
.mat-calendar-body-cell::after,
.mat-calendar-body-cell-preview {
    content: "";
    position: absolute;
    top: 5%;
    left: 0;
    z-index: 0;
    box-sizing: border-box;
    display: block;
    height: 90%;
    width: 100%
}

.mat-calendar-body-range-start:not(.mat-calendar-body-in-comparison-range)::before,
.mat-calendar-body-range-start::after,
.mat-calendar-body-comparison-start:not(.mat-calendar-body-comparison-bridge-start)::before,
.mat-calendar-body-comparison-start::after,
.mat-calendar-body-preview-start .mat-calendar-body-cell-preview {
    left: 5%;
    width: 95%;
    border-top-left-radius: 999px;
    border-bottom-left-radius: 999px
}

[dir=rtl] .mat-calendar-body-range-start:not(.mat-calendar-body-in-comparison-range)::before,
[dir=rtl] .mat-calendar-body-range-start::after,
[dir=rtl] .mat-calendar-body-comparison-start:not(.mat-calendar-body-comparison-bridge-start)::before,
[dir=rtl] .mat-calendar-body-comparison-start::after,
[dir=rtl] .mat-calendar-body-preview-start .mat-calendar-body-cell-preview {
    left: 0;
    border-radius: 0;
    border-top-right-radius: 999px;
    border-bottom-right-radius: 999px
}

.mat-calendar-body-range-end:not(.mat-calendar-body-in-comparison-range)::before,
.mat-calendar-body-range-end::after,
.mat-calendar-body-comparison-end:not(.mat-calendar-body-comparison-bridge-end)::before,
.mat-calendar-body-comparison-end::after,
.mat-calendar-body-preview-end .mat-calendar-body-cell-preview {
    width: 95%;
    border-top-right-radius: 999px;
    border-bottom-right-radius: 999px
}

[dir=rtl] .mat-calendar-body-range-end:not(.mat-calendar-body-in-comparison-range)::before,
[dir=rtl] .mat-calendar-body-range-end::after,
[dir=rtl] .mat-calendar-body-comparison-end:not(.mat-calendar-body-comparison-bridge-end)::before,
[dir=rtl] .mat-calendar-body-comparison-end::after,
[dir=rtl] .mat-calendar-body-preview-end .mat-calendar-body-cell-preview {
    left: 5%;
    border-radius: 0;
    border-top-left-radius: 999px;
    border-bottom-left-radius: 999px
}

[dir=rtl] .mat-calendar-body-comparison-bridge-start.mat-calendar-body-range-end::after,
[dir=rtl] .mat-calendar-body-comparison-bridge-end.mat-calendar-body-range-start::after {
    width: 95%;
    border-top-right-radius: 999px;
    border-bottom-right-radius: 999px
}

.mat-calendar-body-comparison-start.mat-calendar-body-range-end::after,
[dir=rtl] .mat-calendar-body-comparison-start.mat-calendar-body-range-end::after,
.mat-calendar-body-comparison-end.mat-calendar-body-range-start::after,
[dir=rtl] .mat-calendar-body-comparison-end.mat-calendar-body-range-start::after {
    width: 90%
}

.mat-calendar-body-in-preview {
    color: var(--mat-datepicker-calendar-date-preview-state-outline-color)
}

.mat-calendar-body-in-preview .mat-calendar-body-cell-preview {
    border-top: dashed 1px;
    border-bottom: dashed 1px
}

.mat-calendar-body-preview-start .mat-calendar-body-cell-preview {
    border-left: dashed 1px
}

[dir=rtl] .mat-calendar-body-preview-start .mat-calendar-body-cell-preview {
    border-left: 0;
    border-right: dashed 1px
}

.mat-calendar-body-preview-end .mat-calendar-body-cell-preview {
    border-right: dashed 1px
}

[dir=rtl] .mat-calendar-body-preview-end .mat-calendar-body-cell-preview {
    border-right: 0;
    border-left: dashed 1px
}

.mat-calendar-body-disabled {
    cursor: default
}

.mat-calendar-body-disabled>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical) {
    color: var(--mat-datepicker-calendar-date-disabled-state-text-color)
}

.mat-calendar-body-disabled>.mat-calendar-body-today:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical) {
    border-color: var(--mat-datepicker-calendar-date-today-disabled-state-outline-color)
}

.cdk-high-contrast-active .mat-calendar-body-disabled {
    opacity: .5
}

.mat-calendar-body-cell-content {
    top: 5%;
    left: 5%;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    width: 90%;
    height: 90%;
    line-height: 1;
    border-width: 1px;
    border-style: solid;
    border-radius: 999px;
    color: var(--mat-datepicker-calendar-date-text-color);
    border-color: var(--mat-datepicker-calendar-date-outline-color)
}

.mat-calendar-body-cell-content.mat-focus-indicator {
    position: absolute
}

.cdk-high-contrast-active .mat-calendar-body-cell-content {
    border: none
}

.cdk-keyboard-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),
.cdk-program-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical) {
    background-color: var(--mat-datepicker-calendar-date-focus-state-background-color)
}

@media(hover: hover) {
    .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical) {
        background-color: var(--mat-datepicker-calendar-date-hover-state-background-color)
    }
}

.mat-calendar-body-selected {
    background-color: var(--mat-datepicker-calendar-date-selected-state-background-color);
    color: var(--mat-datepicker-calendar-date-selected-state-text-color)
}

.mat-calendar-body-disabled>.mat-calendar-body-selected {
    background-color: var(--mat-datepicker-calendar-date-selected-disabled-state-background-color)
}

.mat-calendar-body-selected.mat-calendar-body-today {
    box-shadow: inset 0 0 0 1px var(--mat-datepicker-calendar-date-today-selected-state-outline-color)
}

.mat-calendar-body-in-range::before {
    background: var(--mat-datepicker-calendar-date-in-range-state-background-color)
}

.mat-calendar-body-comparison-identical,
.mat-calendar-body-in-comparison-range::before {
    background: var(--mat-datepicker-calendar-date-in-comparison-range-state-background-color)
}

.mat-calendar-body-comparison-identical,
.mat-calendar-body-in-comparison-range::before {
    background: var(--mat-datepicker-calendar-date-in-comparison-range-state-background-color)
}

.mat-calendar-body-comparison-bridge-start::before,
[dir=rtl] .mat-calendar-body-comparison-bridge-end::before {
    background: linear-gradient(to right, var(--mat-datepicker-calendar-date-in-range-state-background-color) 50%, var(--mat-datepicker-calendar-date-in-comparison-range-state-background-color) 50%)
}

.mat-calendar-body-comparison-bridge-end::before,
[dir=rtl] .mat-calendar-body-comparison-bridge-start::before {
    background: linear-gradient(to left, var(--mat-datepicker-calendar-date-in-range-state-background-color) 50%, var(--mat-datepicker-calendar-date-in-comparison-range-state-background-color) 50%)
}

.mat-calendar-body-in-range>.mat-calendar-body-comparison-identical,
.mat-calendar-body-in-comparison-range.mat-calendar-body-in-range::after {
    background: var(--mat-datepicker-calendar-date-in-overlap-range-state-background-color)
}

.mat-calendar-body-comparison-identical.mat-calendar-body-selected,
.mat-calendar-body-in-comparison-range>.mat-calendar-body-selected {
    background: var(--mat-datepicker-calendar-date-in-overlap-range-selected-state-background-color)
}

.cdk-high-contrast-active .mat-datepicker-popup:not(:empty),
.cdk-high-contrast-active .mat-calendar-body-cell:not(.mat-calendar-body-in-range) .mat-calendar-body-selected {
    outline: solid 1px
}

.cdk-high-contrast-active .mat-calendar-body-today {
    outline: dotted 1px
}

.cdk-high-contrast-active .mat-calendar-body-cell::before,
.cdk-high-contrast-active .mat-calendar-body-cell::after,
.cdk-high-contrast-active .mat-calendar-body-selected {
    background: none
}

.cdk-high-contrast-active .mat-calendar-body-in-range::before,
.cdk-high-contrast-active .mat-calendar-body-comparison-bridge-start::before,
.cdk-high-contrast-active .mat-calendar-body-comparison-bridge-end::before {
    border-top: solid 1px;
    border-bottom: solid 1px
}

.cdk-high-contrast-active .mat-calendar-body-range-start::before {
    border-left: solid 1px
}

[dir=rtl] .cdk-high-contrast-active .mat-calendar-body-range-start::before {
    border-left: 0;
    border-right: solid 1px
}

.cdk-high-contrast-active .mat-calendar-body-range-end::before {
    border-right: solid 1px
}

[dir=rtl] .cdk-high-contrast-active .mat-calendar-body-range-end::before {
    border-right: 0;
    border-left: solid 1px
}

.cdk-high-contrast-active .mat-calendar-body-in-comparison-range::before {
    border-top: dashed 1px;
    border-bottom: dashed 1px
}

.cdk-high-contrast-active .mat-calendar-body-comparison-start::before {
    border-left: dashed 1px
}

[dir=rtl] .cdk-high-contrast-active .mat-calendar-body-comparison-start::before {
    border-left: 0;
    border-right: dashed 1px
}

.cdk-high-contrast-active .mat-calendar-body-comparison-end::before {
    border-right: dashed 1px
}

[dir=rtl] .cdk-high-contrast-active .mat-calendar-body-comparison-end::before {
    border-right: 0;
    border-left: dashed 1px
}

[dir=rtl] .mat-calendar-body-label {
    text-align: right
}