.mdc-checkbox,
.mdc-radiobutton,
.mdc-switch {
    display: inline-block;
    height: 2.5rem;
    position: relative;
}

.mdc-checkbox,
.mdc-radiobutton {
    width: 2.5rem;
}

.mdc-switch {
    width: 3rem;
    padding: 0.8125rem 0.5625rem;
}

.mdc-checkbox .mdc-control,
.mdc-switch .mdc-control,
.mdc-radiobutton .mdc-control {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    padding: 0;
    margin: 0;
    height: 100%;
    width: 100%;
    cursor: pointer;
    opacity: 0;
}

.mdc-checkbox .mdc-control:disabled,
.mdc-switch .mdc-control:disabled,
.mdc-radiobutton .mdc-control:disabled {
    cursor: default;
}

.mdc-checkbox .control-icon,
.mdc-radiobutton .control-icon {
    color: rgb(var(--foreground-color));
    opacity: var(--opacity-secondary);
    cursor: pointer;

    pointer-events: none;
    -webkit-touch-callout: none; /* iOS Safari */
    -webkit-user-select: none;   /* Chrome/Safari/Opera */
    -moz-user-select: none;      /* Firefox */
    -ms-user-select: none;       /* Internet Explorer/Edge */
    user-select: none;
}

.mdc-switch .control-icon {
    cursor: pointer;

    pointer-events: none;
    -webkit-touch-callout: none; /* iOS Safari */
    -webkit-user-select: none;   /* Chrome/Safari/Opera */
    -moz-user-select: none;      /* Firefox */
    -ms-user-select: none;       /* Internet Explorer/Edge */
    user-select: none;
}

.mdc-radiobutton .mdc-control:checked ~ .control-icon,
.mdc-checkbox .mdc-control:checked ~ .control-icon,
.mdc-checkbox .mdc-control:indeterminate ~ .control-icon {
    opacity: 1;
}

.mdc-switch .mdc-control:checked ~ .control-icon {
    --switch-opacity: 0.5;
}

.mdc-radiobutton .mdc-control:not(:checked) ~ .control-icon,
.mdc-checkbox .mdc-control:not(:checked):not(:indeterminate) ~ .control-icon,
.mdc-switch .mdc-control:not(:checked) ~ .control-icon {
    --foreground-color: var(--initial-foreground-color) !important;
}

.mdc-checkbox .mdc-control:disabled ~ .control-icon,
.mdc-switch .mdc-control:disabled ~ .control-icon,
.mdc-radiobutton .mdc-control:disabled ~ .control-icon {
    opacity: 0.38;
    cursor: default;
}

.mdc-radiobutton .control-icon::before,
.mdc-checkbox .control-icon::before,
.mdc-switch .control-icon::before {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    content: '';
    display: inline-block;
    opacity: 0;
    border-radius: 100%;
    background-color: rgb(var(--foreground-color));
    will-change: opacity, transform, background-color;
    transition: opacity 0.2s, transform 0.2s, background-color 0.2s;
    -ms-transform: scale(0);
    -webkit-transform: scale(0);
    transform: scale(0);
}

.mdc-switch .control-icon::before {
    width: 2.5rem;
    left: -0.25rem;
    right: auto;
    will-change: left, right, opacity, transform, background-color;
    transition: left 0.2s cubic-bezier(0.4,0,.2,1), right 0.2s cubic-bezier(0.4,0,.2,1), opacity 0.2s, transform 0.2s, background-color 0.2s;
}

html[dir="ltr"] .mdc-switch .control-icon::before,
html[dir] *[dir="ltr"] > .mdc-switch .control-icon::before {
    left: -0.25rem;
    right: auto;
}

html[dir="rtl"] .mdc-switch .control-icon::before,
html[dir] *[dir="rtl"] > .mdc-switch .control-icon::before {
    left: auto;
    right: -0.25rem;
}

.mdc-switch .mdc-control:checked ~ .control-icon::before {
    left: 0.75rem;
    right: auto;
}

html[dir="ltr"] .mdc-switch .mdc-control:checked ~ .control-icon::before,
html[dir] *[dir="ltr"] > .mdc-switch .mdc-control:checked ~ .control-icon::before {
    left: 0.75rem;
    right: auto;
}

html[dir="rtl"] .mdc-switch .mdc-control:checked ~ .control-icon::before,
html[dir] *[dir="rtl"] > .mdc-switch .mdc-control:checked ~ .control-icon::before {
    left: auto;
    right: 0.75rem;
}

.mdc-checkbox .control-icon::after,
.mdc-radiobutton .control-icon::after {
    position: absolute;
    top: 0.5rem;
    right: 0.5rem;
    bottom: 0.5rem;
    left: 0.5rem;

    font-family: 'Material Symbols Outlined' !important;
    font-weight: normal;
    font-style: normal;
    font-size: 1.5rem;
    display: inline-block;
    line-height: 1;
    text-transform: none;
    letter-spacing: normal;
    word-wrap: normal;
    white-space: nowrap;
    direction: ltr;

    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
    -moz-osx-font-smoothing: grayscale;
    font-feature-settings: 'liga';
}

.mdc-switch .control-icon::after {
    content: '';
    position: absolute;
    top: 0.625rem;
    left: 0.375rem;
    right: auto;
    display: inline-block;
    height: 1.25rem;
    width: 1.25rem;
    border-radius: 100%;
    background-color: rgb(var(--foreground-color));
    box-shadow: var(--z-axis-2-shadow);
    will-change: left, right, background-color;
    transition: left 0.2s cubic-bezier(0.4,0,.2,1), right 0.2s cubic-bezier(0.4,0,.2,1), background-color 0.2s;
}

html[dir="ltr"] .mdc-switch .control-icon::after,
html[dir] *[dir="ltr"] > .mdc-switch .control-icon::after {
    left: 0.375rem;
    right: auto;
}

html[dir="rtl"] .mdc-switch .control-icon::after,
html[dir] *[dir="rtl"] > .mdc-switch .control-icon::after {
    left: auto;
    right: 0.375rem;
}

.mdc-checkbox .control-icon::after {
    content: 'check_box_outline_blank';
}

.mdc-checkbox .mdc-control:indeterminate ~ .control-icon::after {
    content: 'indeterminate_check_box';
}

.mdc-checkbox .mdc-control:checked ~ .control-icon::after {
    content: 'check_box';
}

.mdc-radiobutton .control-icon::after {
    content: 'radio_button_unchecked';
}

.mdc-radiobutton .mdc-control:checked ~ .control-icon::after {
    content: 'radio_button_checked';
}

.mdc-switch .mdc-control:checked ~ .control-icon::after {
    left: 1.375rem;
    right: auto;
}

html[dir="ltr"] .mdc-switch .mdc-control:checked ~ .control-icon::after,
html[dir] *[dir="ltr"] > .mdc-switch .mdc-control:checked ~ .control-icon::after {
    left: 1.375rem;
    right: auto;
}

html[dir="rtl"] .mdc-switch .mdc-control:checked ~ .control-icon::after,
html[dir] *[dir="rtl"] > .mdc-switch .mdc-control:checked ~ .control-icon::after {
    left: auto;
    right: 1.375rem;
}

.mdc-switch .mdc-control:not(:checked) ~ .control-icon::after {
    background-color: rgb(var(--switch-color));
}

.mdc-checkbox .mdc-control:disabled ~ .control-icon::before,
.mdc-switch .mdc-control:disabled ~ .control-icon::before,
.mdc-radiobutton .mdc-control:disabled ~ .control-icon::before {
    display: none;
}

.mdc-checkbox .mdc-control:hover ~ .control-icon::before,
.mdc-radiobutton .mdc-control:hover ~ .control-icon::before,
.mdc-switch .mdc-control:hover ~ .control-icon::before {
    opacity: var(--opacity-hover);
    -ms-transform: scale(1);
    -webkit-transform: scale(1);
    transform: scale(1);
}

.mdc-checkbox .mdc-control:focus ~ .control-icon::before,
.mdc-radiobutton .mdc-control:focus ~ .control-icon::before,
.mdc-switch .mdc-control:focus ~ .control-icon::before {
    opacity: var(--opacity-focus);
    -ms-transform: scale(1);
    -webkit-transform: scale(1);
    transform: scale(1);
}

.mdc-checkbox .mdc-control:active ~ .control-icon::before,
.mdc-radiobutton .mdc-control:active ~ .control-icon::before,
.mdc-switch .mdc-control:active ~ .control-icon::before {
    opacity: var(--opacity-pressed);
    -ms-transform: scale(1);
    -webkit-transform: scale(1);
    transform: scale(1);
}

.mdc-switch .rail {
    display: block;
    height: 0.875rem;
    border-radius: 0.875rem;
    background-color: rgb(var(--foreground-color));
    opacity: var(--switch-opacity);
    pointer-events: none;
}

.mdc-list-item > .mdc-checkbox,
.mdc-list-item > .mdc-radiobutton {
    margin: 0.25rem 0.5rem;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-align-self: flex-start;
    align-self: flex-start;
}

.mdc-list-item > .mdc-switch {
    -ms-flex-negative: 0;
    flex-shrink: 0;
    width: 3.625rem;
    padding-left: 1.1875rem;
    padding-right: 0.5625rem;
    margin: 0.25rem 0.625rem 0.25rem auto;
}

html[dir="ltr"] .mdc-list-item > .mdc-switch,
html[dir] .mdc-list-item[dir="ltr"] > .mdc-switch,
html[dir] .mdc-list-container[dir="ltr"] > .mdc-list-item > .mdc-switch {
    padding-left: 1.1875rem;
    padding-right: 0.5625rem;
    margin: 0.25rem 0.625rem 0.25rem auto;
}

html[dir="rtl"] .mdc-list-item > .mdc-switch,
html[dir] .mdc-list-item[dir="rtl"] > .mdc-switch,
html[dir] .mdc-list-container[dir="rtl"] > .mdc-list-item > .mdc-switch {
    padding-left: 0.5625rem;
    padding-right: 1.1875rem;
    margin: 0.25rem auto 0.25rem 0.625rem;
}

.mdc-list-item > .mdc-switch .control-icon::before,
.mdc-list-item > .mdc-switch .control-icon::after {
    margin-left: 0.625rem;
    margin-right: 0;
}

html[dir="ltr"] .mdc-list-item > .mdc-switch .control-icon::before,
html[dir] .mdc-list-item[dir="ltr"] > .mdc-switch .control-icon::before,
html[dir] .mdc-list-container[dir="ltr"] > .mdc-list-item > .mdc-switch .control-icon::before {
    left: -0.25rem;
    right: auto;
    margin-left: 0.625rem;
    margin-right: 0;
}

html[dir="rtl"] .mdc-list-item > .mdc-switch .control-icon::before,
html[dir] .mdc-list-item[dir="rtl"] > .mdc-switch .control-icon::before,
html[dir] .mdc-list-container[dir="rtl"] > .mdc-list-item > .mdc-switch .control-icon::before {
    left: auto;
    right: -0.25rem;
    margin-left: 0;
    margin-right: 0.625rem;
}

html[dir="ltr"] .mdc-list-item > .mdc-switch .mdc-control:checked ~ .control-icon::before,
html[dir] .mdc-list-item[dir="ltr"] > .mdc-switch .mdc-control:checked ~ .control-icon::before,
html[dir] .mdc-list-container[dir="ltr"] > .mdc-list-item > .mdc-switch .mdc-control:checked ~ .control-icon::before {
    left: 0.75rem;
    right: auto;
}

html[dir="rtl"] .mdc-list-item > .mdc-switch .mdc-control:checked ~ .control-icon::before,
html[dir] .mdc-list-item[dir="rtl"] > .mdc-switch .mdc-control:checked ~ .control-icon::before,
html[dir] .mdc-list-container[dir="rtl"] > .mdc-list-item > .mdc-switch .mdc-control:checked ~ .control-icon::before {
    left: auto;
    right: 0.75rem;
}

html[dir="ltr"] .mdc-list-item > .mdc-switch .control-icon::after,
html[dir] .mdc-list-item[dir="ltr"] > .mdc-switch .control-icon::after,
html[dir] .mdc-list-container[dir="ltr"] > .mdc-list-item > .mdc-switch .control-icon::after {
    left: 0.375rem;
    right: auto;
    margin-left: 0.625rem;
    margin-right: 0;
}

html[dir="rtl"] .mdc-list-item > .mdc-switch .control-icon::after,
html[dir] .mdc-list-item[dir="rtl"] > .mdc-switch .control-icon::after,
html[dir] .mdc-list-container[dir="rtl"] > .mdc-list-item > .mdc-switch .control-icon::after {
    left: auto;
    right: 0.375rem;
    margin-left: 0;
    margin-right: 0.625rem;
}

html[dir="ltr"] .mdc-list-item > .mdc-switch .mdc-control:checked ~ .control-icon::after,
html[dir] .mdc-list-item[dir="ltr"] > .mdc-switch .mdc-control:checked ~ .control-icon::after,
html[dir] .mdc-list-container[dir="ltr"] > .mdc-list-item > .mdc-switch .mdc-control:checked ~ .control-icon::after {
    left: 1.375rem;
    right: auto;
}

html[dir="rtl"] .mdc-list-item > .mdc-switch .mdc-control:checked ~ .control-icon::after,
html[dir] .mdc-list-item[dir="rtl"] > .mdc-switch .mdc-control:checked ~ .control-icon::after,
html[dir] .mdc-list-container[dir="rtl"] > .mdc-list-item > .mdc-switch .mdc-control:checked ~ .control-icon::after {
    left: auto;
    right: 1.375rem;
}

.mdc-list-group .hint-block, .mdc-list-group .help-block {
    font-size: 0.75rem;
    line-height: 1.25rem;
    letter-spacing: 0.033333em;
    color: rgba(var(--initial-foreground-color), var(--opacity-hint));
    cursor: default;
    pointer-events: none;
    word-break: break-word;
    user-select: none;
}

.mdc-list-group.has-error .hint-block, .mdc-list-group.has-error .help-block {
    color: rgb(var(--error-color));
}