/** * Round badge. */ .badge-round { background-color: $toolbarBadgeBackground; border-radius: 50%; box-sizing: border-box; color: $toolbarBadgeColor; // Do not inherit the font-family from the toolbar button, because it's an // icon style. font-family: $baseFontFamily; font-size: 9px; font-weight: 700; line-height: 13px; min-width: 13px; overflow: hidden; text-align: center; text-overflow: ellipsis; vertical-align: middle; } .use-new-toolbox { .cxGWJB{ bottom: calc(#{$newToolbarSizeWithPadding}); } .gXSEsl:nth-child(n+2) { transform: translateX(0) translateY(100%) translateY(16px); -ms-transform: translateX(0) translateY(100%) translateY(16px); -webkit-transform: translateX(0) translateY(100%) translateY(16px); } } .toolbar-container { display: block; left:0; min-height: 100px; opacity: 0; pointer-events: none; position: absolute; right:0; text-align: center; top:0; z-index: $toolbarZ; } /** * Common toolbar styles. */ .toolbar { height: 100%; pointer-events: auto; position: relative; z-index: $toolbarZ; /** * Ensure nested elements that don't have a button class, maybe because they * are wrapped in a React Element, still display in a line. */ > div { display: inline-block; } /** * Always on top overrides. */ &.always-on-top { /** * Toolbar button styles for always on top. */ .button { font-size: $alwaysOnTopToolbarFontSize; height: $alwaysOnTopToolbarSize; line-height: $alwaysOnTopToolbarSize; width: $alwaysOnTopToolbarSize; &_hangup, &_hangup:hover { font-size: $alwaysOnTopToolbarFontSize; } } } /** * Toolbar button styles. */ .button { color: $toolbarButtonColor; cursor: pointer; z-index: $zindex1; display: inline-block; font-size: $toolbarFontSize; height: $defaultToolbarSize; line-height: $defaultToolbarSize; position: relative; text-align: center; top:0px; vertical-align: middle; width: $defaultToolbarSize; &[disabled] { opacity: 0.5; } &:hover, &:active { color: $toolbarButtonColor; cursor: pointer; text-decoration: none; } &_hangup, &_hangup:hover { color: $hangupColor; font-size: $hangupFontSize; } &:not(.toggled) { &:hover, &:active { // sum opacity with background layer should give us 0.8 background: $toolbarSelectBackground; } } &.toggled { background: $toolbarToggleBackground; &.icon-camera { @extend .icon-camera-disabled; } &.icon-full-screen { @extend .icon-exit-full-screen; } &.icon-microphone { @extend .icon-mic-disabled; } } &.unclickable { cursor: default; &:hover, &:active, &.selected { background: none; cursor: default; } } } /** * Primary toolbar styles. */ &_primary { background-color: $toolbarBackground; position: absolute; left: 50%; top: 30px; display: inline-block; width: auto; height: $defaultToolbarSize; border-radius: 3px; opacity: 0; &.always-on-top { height: $alwaysOnTopToolbarSize; top: 10px; } @include transform(translateX(-50%)); > a:first-child.button, > div:first-child .button { border-bottom-left-radius: 3px; border-top-left-radius: 3px; } > a:last-child.button, > div:last-child .button { border-bottom-right-radius: 3px; border-top-right-radius: 3px; } } &_primary a.button:last-child::after { content: none; } /** * Secondary toolbar styles. */ &_secondary { background-color: $secondaryToolbarBg; position: absolute; align-items: center; box-sizing: border-box; display: -moz-box; display: -ms-flexbox; display: -webkit-box; display: -webkit-flex; display: flex; flex-direction: column; flex-wrap: nowrap; height: 100%; justify-content: flex-start; left: 0; padding-top: 24px; pointer-events: none; top: 0; transform: translateX(-100%); width: $defaultToolbarSize; -webkit-transform: translateX(-100%); .button { font-size: $secToolbarFontSize; height: $secToolbarLineHeight; line-height: $secToolbarLineHeight; } > * { pointer-events: auto } .button.toggled:not(.icon-raised-hand):not(.button-active) { background: $secondaryToolbarBg; cursor: pointer; text-decoration: none; &.unclickable { cursor: default; &:hover, &:active, &.selected { background: none; cursor: default; } } } } /** * Styles the toolbar in filmstrip-only mode. */ &_filmstrip-only { background-color: $toolbarBackground; border-radius: 3px; display: inline-block; height: auto; width: $defaultFilmStripOnlyToolbarSize; .button { height: 37px; line-height: 37px !important; width: 37px; } .button-popover-message { width: 100px; } .toolbar-button-wrapper:first-child .button { border-top-left-radius: 3px; border-top-right-radius: 3px; } .toolbar-button-wrapper:last-child .button { border-bottom-right-radius: 3px; border-bottom-left-radius: 3px; } } /** * Toolbar specific round badge. */ .badge-round { bottom: 9px; position: absolute; right: 9px; } } /** * TODO: when the old filmstrip has been removed, remove the "new-" prefix. */ .new-toolbox { background-color: $newToolbarBackgroundColor; bottom: calc((#{$newToolbarSize} * 2) * -1); box-sizing: border-box; display: flex; justify-content: space-between; padding: 16px 8px; position: absolute; transition: bottom .3s ease-in; width: 100%; z-index: $toolbarZ; &.visible { bottom: 0; } &.no-buttons { display: none; } .button-group-center, .button-group-left, .button-group-right { display: flex; width: 33%; } .button-group-center { justify-content: center; } .button-group-right { justify-content: flex-end; } /** * Overwrite font-awesome styling to match jitsi-icon styling. */ .fa { font-size: 1.22em; } i { border-radius: 5px; cursor: pointer; display: block; font-size: inherit; height: 100%; line-height: inherit; width: 100%; } i:hover { background-color: $newToolbarButtonHoverColor; } i.toggled { background: $newToolbarButtonToggleColor; } i.toggled:hover { background-color: $newToolbarButtonHoverColor; } i.disabled { cursor: initial } i.disabled:hover { background-color: initial; } .icon-hangup { color: $hangupColor; } .overflow-menu { font-size: 1.2em; list-style-type: none; /** * Undo atlaskit padding by reducing margins. */ margin: -15px -24px; padding: 0; .overflow-menu-item { align-items: center; color: #B8C7E0; cursor: pointer; display: flex; font-size: 14px; height: 32px; padding: 5px 12px; &:hover { background: #313D52; } &.unclickable { cursor: default; } &.unclickable:hover { background: inherit; } } .overflow-menu-item-icon { margin-right: 10px; i { display: inline; font-size: 24px; } i:hover { background-color: initial; } img { max-width: 24px; max-height: 24px; } } .profile-text { max-width: 150px; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; } } .toolbox-button { color: $toolbarButtonColor; cursor: pointer; display: inline-block; line-height: $newToolbarSize; margin: 0 8px; text-align: center; } .toolbar-button-with-badge { position: relative; .badge-round { bottom: 9px; font-size: 12px; line-height: 20px; min-width: 20px; position: absolute; right: 9px; } } .toolbox-button-wth-dialog { display: inline-block; } .toolbox-icon { height: $newToolbarSize; font-size: 36px; width: $newToolbarSize; } } .always-on-top-toolbox, .filmstrip-toolbox { background-color: $newToolbarBackgroundColor; box-sizing: border-box; display: flex; flex-direction: column; z-index: $toolbarZ; i { cursor: pointer; display: block; } i:hover { background-color: $newToolbarButtonHoverColor; } i.toggled { background: $newToolbarButtonToggleColor; } i.toggled:hover:not(.disabled) { background-color: $newToolbarButtonHoverColor; } .icon-hangup { color: $hangupColor; } .toolbox-button { color: $toolbarButtonColor; cursor: pointer; text-align: center; } border-radius: 3px; } .always-on-top-toolbox { flex-direction: row; left: 50%; position: absolute; top: 10px; transform: translateX(-50%); z-index: $toolbarZ; i { font-size: $alwaysOnTopToolbarFontSize; height: $alwaysOnTopToolbarSize; line-height: $alwaysOnTopToolbarSize; width: $alwaysOnTopToolbarSize; } .disabled { cursor: initial; } .toolbox-button:first-child i { border-top-left-radius: 3px; border-bottom-left-radius: 3px; } .toolbox-button:last-child i { border-top-right-radius: 3px; border-bottom-right-radius: 3px; } } .filmstrip-toolbox { i { font-size: 1.9em; height: 37px; line-height: 37px; width: 37px; } .toolbox-button:first-child i { border-top-left-radius: 3px; border-top-right-radius: 3px; } .toolbox-button:last-child i { border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; } } .filmstrip-only { .toolbox, .toolbox-toolbars { align-items: center; display: flex; } } .subject { background: linear-gradient(to bottom, rgba(255,255,255,.85) , rgba(255,255,255,.35)); border-bottom-left-radius: 12px; border-bottom-right-radius: 12px; box-shadow: 0 0 2px #000000, 0 0 10px #000000; margin-left: 40%; margin-right: 40%; padding: 5px; position: relative; text-align: center; width: auto; z-index: $zindex3; &.subject_slide-in { top: 80px; @include transition(top .3s ease-in); } &.subject_slide-out { top: 0; @include transition(top .3s ease-out); } } #toolbar_button_profile { height: $toolbarAvatarSize + 2*$toolbarAvatarPadding; } a.button>#avatar { border-radius: 50%; padding-bottom: $toolbarAvatarPadding; padding-top: $toolbarAvatarPadding; width: $toolbarAvatarSize; } #feedbackButton { margin-top: auto; } /** * START of slide in animation for extended toolbar. */ @include keyframes(slideInX) { 0% { transform: translateX(-100%); } 100% { transform: translateX(0%); } } .slideInX { @include animation('slideInX .5s forwards'); } @include keyframes(slideOutX) { 0% { transform: translateX(0%); } 100% { transform: translateX(-100%); } } .slideOutX { @include animation('slideOutX .5s forwards'); } @include keyframes(slideInExtX) { 0% { transform: translateX(-500%); } 100% { transform: translateX(0%); } } .slideInExtX { @include animation('slideInExtX .5s forwards'); } @include keyframes(slideOutExtX) { 0% { transform: translateX(0%); } 100% { transform: translateX(-500%); } } .slideOutExtX { @include animation('slideOutExtX .5s forwards'); } /** * END of slide out animation for extended toolbar. */ /** * START of slide in / out animation for main toolbar. */ @include keyframes(slideInY) { 100% { transform: translateY(0%); } } .slideInY { @include animation('slideInY .5s forwards'); } @include keyframes(slideOutY) { 0% { transform: translateY(0%); } 100% { transform: translateY(-100%); } } .slideOutY { @include animation('slideOutY .5s forwards'); } /** * END of slide in / out animation for main toolbar. */ /** * START of slide in animation for extended toolbar panel. */ @include keyframes(slideInExt) { from { width: 0px; } to { width: $sidebarWidth; } // TO FIX: Make this value a percentage. } .slideInExt { @include animation("slideInExt .5s forwards"); } @include keyframes(slideOutExt) { from { width: $sidebarWidth; } // TO FIX: Make this value a percentage. to { width: 0px; } } .slideOutExt { @include animation("slideOutExt .5s forwards"); } /** * START of fade in animation for main toolbar */ .fadeIn { opacity: 1; @include transition(all .3s ease-in); } .fadeOut { opacity: 0; @include transition(all .3s ease-out); }