// -------------------------------------------------------------- // Menus // -------------------------------------------------------------- .plyr__menu { display: flex; // Edge fix position: relative; // Animate the icon .plyr__control svg { transition: transform 0.3s ease; } .plyr__control[aria-expanded='true'] { svg { transform: rotate(90deg); } // Hide tooltip .plyr__tooltip { display: none; } } // The actual menu container &__container { position: absolute; z-index: 1; bottom: 100%; right: -3px; margin-bottom: 10px; animation: plyr-popup 0.2s ease; background: @plyr-menu-bg; border-radius: 4px; box-shadow: @plyr-menu-shadow; white-space: nowrap; text-align: left; color: @plyr-menu-color; font-size: @plyr-font-size-base; > div { overflow: hidden; transition: height 0.35s cubic-bezier(0.4, 0, 0.2, 1), width 0.35s cubic-bezier(0.4, 0, 0.2, 1); } // Arrow &::after { content: ''; position: absolute; top: 100%; right: 15px; height: 0; width: 0; border: 4px solid transparent; border-top-color: @plyr-menu-bg; } ul { margin: 0; padding: @plyr-control-padding; list-style: none; overflow: hidden; } // Options .plyr__control { display: flex; align-items: center; width: 100%; padding: ceil(@plyr-control-padding / 2) (@plyr-control-padding * 2); color: @plyr-menu-color; user-select: none; &::after { content: ''; position: absolute; top: 50%; transform: translateY(-50%); border: 4px solid transparent; transition: border-color 0.2s ease; } &--forward { padding-right: ceil(@plyr-control-padding * 4); &::after { right: 5px; border-left-color: fade(@plyr-menu-color, 80%); } &.plyr__tab-focus::after, &:hover::after { border-left-color: currentColor; } } &--back { position: relative; @horizontal-padding: (@plyr-control-padding * 2); width: ~'calc(100% - @{horizontal-padding})'; margin: @plyr-control-padding; margin-bottom: floor(@plyr-control-padding / 2); padding-left: ceil(@plyr-control-padding * 4); font-weight: @plyr-font-weight-regular; &::after { left: @plyr-control-padding; border-right-color: fade(@plyr-menu-color, 80%); } &::before { content: ''; position: absolute; top: 100%; left: 0; right: 0; height: 1px; overflow: hidden; margin-top: ceil(@plyr-control-padding / 2); background: @plyr-menu-border-color; box-shadow: 0 1px 0 @plyr-menu-border-shadow-color; } &.plyr__tab-focus::after, &:hover::after { border-right-color: currentColor; } } } label.plyr__control { padding-left: @plyr-control-padding; input[type='radio'] + span { position: relative; display: block; flex-shrink: 0; height: 16px; width: 16px; border-radius: 100%; background: fade(#000, 10%); margin-right: @plyr-control-spacing; transition: all 0.3s ease; &::after { content: ''; position: absolute; height: 6px; width: 6px; top: 5px; left: 5px; transform: scale(0); opacity: 0; background: #fff; border-radius: 100%; transition: transform 0.3s ease, opacity 0.3s ease; } } input[type='radio']:checked + span { background: @plyr-color-main; &::after { transform: scale(1); opacity: 1; } } input[type='radio']:focus + span { .plyr-tab-focus(); } &.plyr__tab-focus input[type='radio'] + span, &:hover input[type='radio'] + span { background: fade(#000, 10%); } } // Option value .plyr__menu__value { display: flex; align-items: center; margin-left: auto; margin-right: -@plyr-control-padding; padding-left: ceil(@plyr-control-padding * 3.5); pointer-events: none; overflow: hidden; } } }