.window { position: absolute; box-shadow: rgba(0, 0, 0, 0.24) 0px 3px 8px; border-radius: .5em; color: var(--color-text); @media(min-width: 40em) { transition-property: opacity, visibility, transform, width, height, top, left; transition-duration: .3s; } &.moving { transition: none } &--popup { padding: 1em; background: var(--color-window-popup); top: 50%; left: 50%; transform: translate(-50%, -50%); max-width: 21rem; margin: 0 auto; line-height: 1.25; &:not(.window--popup-with-title) { border-top-left-radius: .5em; border-top-right-radius: .5em; } } &:not(.window--popup) { height: 100%; width: 100%; } &__title { background-color: var(--color-glass); height: 2em; text-align: center; padding: .5em; width: 100%; border-bottom: 1px solid var(--color-window-border-bottom); border-top: 1px solid var(--color-window-border-top); border-top-left-radius: .5em; border-top-right-radius: .5em; @media(max-width: 40em) { display: none; } } &--popup > .window__title { top: -2em; } &__content--popup { text-align: center; padding: 1em; } &__title-buttons { position: absolute; transition: .3s top; top: .5em; right: .5em; // cursor: pointer; & > span { padding: .5em; transition: .3s background, .3s color; border-radius: .5em; color: var(--color-window-buttons); font-size: 0.8em; &:hover { background-color: var(--color-selected); color: var(--color-window-buttons-alt); } } @media(max-width: 40em) { display: none; } } &__content { display: flex; flex-direction: column; overflow: hidden; background-color: var(--color-window-content); height: calc(100% - 2em); & > *:nth-child(2) { flex-grow: 1; height: calc(100% - 2em); } } &.window__content { border-bottom-left-radius: .5em; border-bottom-right-radius: .5em; } &--with-submenu { .window__content { top: 4em; } } &__submenu { display: block; height: 2em; width: 100%; background: var(--color-window-menu); & > div { display: flex; & > div { display: inline-block; padding: .5em; transition: .3s background; white-space: nowrap; @media(hover: hover) { &:hover { background-color: var(--color-window-menu-alt); } } } & > span { flex-grow: 1; } } .off { text-decoration: line-through solid var(--color-decor); color: var(--color-decor); } .iconOff { color: var(--color-window-menu-alt); pointer-events: none; } @media(max-width: 40em) { height: 2.5em; overflow-x: auto; & > div { display: flex; } & > div > div { padding: .75em 1em; } } } &__scroll { overflow-y: auto; overflow-x: hidden; @media (pointer: coarse) { overflow-y: scroll; -webkit-overflow-scrolling: touch; } } &__buttons--popup { padding: 0 .5em 1em; text-align: center; } &__button { color: var(--color-text); margin: 1em 1em 0; font-size: 1em; padding: .5em 1em; background-color: var(--color-button); border-left: 0; border-right: 0; border-top: 1px solid var(--color-button-border); border-bottom: 1px solid var(--color-button-border); border-radius: .5em; // cursor: pointer; transition: .3s background-color; @media(hover: hover) { &:hover { background-color: var(--color-button-alt); } } } &--error { background: var(--color-popup-error-bg); .window__button { background-color: var(--color-popup-error-button); border-top: 1px solid var(--color-popup-error-border); border-bottom: 1px solid var(--color-popup-error-border); @media(hover: hover) { &:hover { background-color: var(--color-popup-error-button-alt); } } } } &.hidden { opacity: 0; visibility: hidden; transform: translateY(-100vh); } &.maximized { top:2em!important; right: 0!important; bottom: 0!important; left: 0!important; width: 100%!important; height: 100%!important; .window__title-buttons { top: 2.5em; } & > .window__content { top: 0; } @media(min-width: 40em) { top:0!important; .window__submenu > div { &:last-of-type { margin-right: 5.5em; } } } } }