.picker-timepicker-toolbar {

    .timepicker-button {
        padding: 0;
        min-width: 16px;
        text-transform: none;

        &.timepicker-toolbar-text {
            color: rgba(255, 255, 255, 0.54);
        }

        &:hover {
            background-color: var(--theme-default-hover);
        }
    }

    .timepicker-hourminute {
        display: flex;
        align-items: baseline;
        justify-content: flex-end;

        .timepicker-button {
            font-size: 3.75rem;
            font-weight: 300;
            line-height: 1;
            letter-spacing: -0.00833em;
        }
    }

    .timepicker-ampm {
        display: flex;
        margin-left: 20px;
        margin-right: -20px;
        margin-inline-start: 20px;
        margin-inline-end: -20px;
        flex-direction: column;

        .timepicker-button {
            font-size: 18px;
            font-weight: 400;
            line-height: 1.75;
            letter-spacing: 0.00938em;
        }
    }

    .timepicker-separator {
        cursor: default;
        margin: 0 4px 0 2px;
        margin-inline-start: 2px;
        margin-inline-end: 4px;
    }

    &.picker-timepicker-toolbar-landscape {
        flex-wrap: wrap;
        width: 150px;
        justify-content: center;

        .timepicker-hourminute {
            .timepicker-button {
                font-size: 3rem;
                font-weight: 400;
                line-height: 1.04;
                letter-spacing: 0em;
            }
        }

        .timepicker-ampm {
            display: flex;
            margin-left: 20px;
            margin-right: -20px;
            margin-inline-start: 20px;
            margin-inline-end: -20px;
            flex-direction: column;

            .timepicker-button {
                font-size: 18px;
                font-weight: 400;
                line-height: 1.75;
                letter-spacing: 0.00938em;
            }
        }

        .timepicker-separator {
            font-size: 3rem;
            font-weight: 400;
            line-height: 1.04;
            letter-spacing: 0em;
        }
    }
}

.picker-time-container {
    margin: 16px 0 8px;
    display: flex;
    align-items: flex-end;
    justify-content: center;

    .picker-time-clock {
        width: 260px;
        height: 260px;
        position: relative;
        border-radius: 50%;
        pointer-events: none;
        background-color: rgba(0,0,0,.07);

        .picker-time-clock-mask {
            width: 100%;
            height: 100%;
            outline: none;
            position: absolute;
            user-select: none;
            touch-actions: none;
            pointer-events: auto;
        }

        .picker-time-clock-pin {
            top: 50%;
            left: 50%;
            width: 6px;
            height: 6px;
            position: absolute;
            transform: translate(-50%, -50%);
            border-radius: 50%;
        }

        .picker-stick-inner {
            left: calc(50% - 1px);
            width: 3px;
            height: 35%;
            bottom: 0;
            position: absolute;
            transform-origin: center bottom 0px;

            &.hour {
                &:after {
                    content: "";
                    position: absolute;
                    left: 50%;
                    transform: translate(-50%,-50%);
                    height: 48px;
                    width: 48px;
                    top: -60%;
                    border-radius: 50%;
                    background-color: inherit;
                }
            }
        }

        .picker-stick-outer {
            left: calc(50% - 1px);
            width: 0;
            height: 35%;
            bottom: 35%;
            position: absolute;
            transform-origin: center bottom 0px;

            &.hour {
                &:after {
                    content: "";
                    position: absolute;
                    left: 50%;
                    transform: translate(-50%,-50%);
                    height: 48px;
                    width: 62px;
                    top: -20px;
                    border-radius: 50%;
                    background-color: inherit;
                }
            }
        }

        .picker-stick {
            left: calc(50% - 1px);
            width: 3px;
            height: 50%;
            bottom: 50%;
            position: absolute;
            transform-origin: center bottom 0px;

            &.hour {
                &:after {
                    content: "";
                    position: absolute;
                    left: 50%;
                    transform: translate(-50%,-50%);
                    height: 62px;
                    width: 62px;
                    top: 20px;
                    border-radius: 50%;
                    background-color: inherit;
                }
            }

            &.minute {
                &:after {
                    content: "";
                    position: absolute;
                    left: 50%;
                    transform: translate(-50%,-50%);
                    height: 44px;
                    width: 15px;
                    top: 20px;
                    border-radius: 50%;
                    background-color: inherit;
                }
            }
        }

        .picker-time-clock-pointer {
            left: calc(50% - 1px);
            width: 2px;
            bottom: 50%;
            position: absolute;
            transform-origin: center bottom 0px;

            &.picker-time-clock-pointer-animation {
                transition: transform 150ms cubic-bezier(0.4, 0, 0.2, 1) 0ms,height 150ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
            }

            .picker-time-clock-pointer-thumb {
                position: absolute;
                border-radius: 100%;

                &.onclock-text {
                    top: -19px;
                    left: -13px;
                    width: 28px;
                    height: 28px;
                    border: none;
                    background-color: inherit
                }

                &.onclock-minute {
                    background: transparent;
                    border: 2px solid;
                    width: 10px;
                    height: 10px;
                    top: -9px;
                    left: -4px;
                }
            }
        }

        .clock-number {
            left: calc((100% - 32px) / 2);
            color: var(--palette-text-primary);
            background-color: transparent !important;
            width: 32px;
            height: 32px;
            display: inline-flex;
            position: absolute;
            align-items: center;
            user-select: none;
            border-radius: 50%;
            justify-content: center;
            transition-duration: 120ms;
            transition-property: color;
        }
    }
}

.time-picker-dial {
    width: 100%;
    height: 100%;
    position: absolute;
    transition: transform 350ms,opacity 350ms;
}

.time-picker-dial-out {
    opacity: 0;
}

.time-picker-hour.time-picker-dial-out {
    transform: scale(1.2,1.2);
    transform-origin: center;
}

.time-picker-minute.time-picker-dial-out {
    transform: scale(.8,.8);
    transform-origin: center;
}

.time-picker-dial-hidden {
    visibility: hidden;
}