.dialog { // background: #222222; // background: linear-gradient(130deg, #320523, #020d2b); // background: #271535; position: fixed; left: 0; top: 0; width: 360px; height: 100%; z-index: 5; padding: 10px 10px 68px 10px; box-sizing: border-box; transform: translate3d(-100%, 0, 0); pointer-events: none; transition: transform 500ms; &.active { transform: translate3d(0, 0, 0); pointer-events: all; .dialog-close-button { opacity: 1; transform: translate3d(0, 0, 0); } } @media (max-width: @mobile_breakpoint) { width: 100%; z-index: 6; &.active { background: rgba(19, 45, 53, 0.8); } } } .dialog-close-button { position: absolute; right: -38px; bottom: 68px; background: @red_secondary; width: 48px; height: 48px; transform: translate3d(-48px, 0, 0); border-radius: 0 @panel_radius @panel_radius 0; opacity: 0; transition: all 250ms 250ms; z-index: -1; cursor: pointer; display: flex; align-items: center; justify-content: center; svg { fill: white; width: 40px; height: 40px; } @media (max-width: @mobile_breakpoint) { border-radius: @panel_radius; bottom: 10px; right: 10px; width: 49px; } } .dialog-content { background: #271535; height: 100%; overflow: hidden; position: relative; border-radius: @panel_radius @panel_radius 0 @panel_radius; box-shadow: @dialog_shadow; display: flex; flex-direction: column; a { color: white; opacity: 0.8; } } .dialog-shader { &::before, &::after { content: ' '; height: 40px; width: 100%; left: 0; top: 0; // background: linear-gradient(0deg, rgba(2, 13, 43, 1) 50%, rgba(2,13,43,0)); // background: linear-gradient(0deg, rgba(34, 34, 34, 1) 50%, rgba(34, 34, 34, 0)); background: linear-gradient(180deg, rgba(39, 21, 53, 1), rgba(39, 21, 53, 0)); position: absolute; z-index: 5; pointer-events: none; } &::after { top: auto; bottom: 0; background: linear-gradient(0deg, rgba(39, 21, 53, 1), rgba(39, 21, 53, 0)); } } .dialog-maplist { padding: 10px; box-sizing: border-box; } @keyframes pulse { 0% { opacity: 0.5; } 100% { opacity: 1; } } @keyframes spin { 0% { transform: rotate(0); } 100% { transform: rotate(360deg); } } .dialog-maplist-loader { height: 60px; display: flex; margin-bottom: 10px; text-transform: uppercase; color: white; align-items: center; justify-content: center; user-select: none; position: relative; opacity: 0.5; padding-left: 60px; .spin { animation: spin infinite reverse 2s linear; } .dialog-maplist-icon { position: absolute; left: 0; svg { width: 60px; height: 60px; fill: white; } } } .route-row { margin-bottom: 10px; background: rgba(255, 255, 255, 0.05); padding: 10px 10px 5px 10px; color: white; user-select: none; cursor: pointer; transition: background-color 250ms; &:hover { background: rgba(255, 255, 255, 0.1); } } .route-title { margin-bottom: 5px; font-weight: bold; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; } .route-description { font-size: 0.9em; opacity: 0.3; margin-bottom: 5px; display: grid; grid-template-columns: 2fr 1fr; svg { width: 20px; height: 20px; fill: white; vertical-align: text-bottom; margin-bottom: -2px; } span { padding-right: 10px; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; } } .dialog-head { background: rgba(255, 255, 255, 0.1); padding: 10px; border-radius: @panel_radius @panel_radius 0 0; color: white; } .dialog-tabs { background: rgba(255, 255, 255, 0); border-radius: @panel_radius @panel_radius 0 0; height: 32px; user-select: none; flex-direction: row; .dialog-tab { display: inline-flex; align-items: center; justify-content: center; color: white; padding: 0 20px; cursor: pointer; border-radius: @panel_radius @panel_radius 0 0; flex: 1; height: 32px; &.active { background: rgba(255, 255, 255, 0.1); } } } .dialog-head-title { font-size: 20px; text-transform: uppercase; } .app-info-changelog { color: white; padding: 10px; font-size: 0.8em; user-select: none; div { opacity: 0.8; } } .app-info-number { width: 16px; } .app-info-changelog-item { text-transform: uppercase; display: flex; flex: 1; .app-info-current { font-size: 0.9em; opacity: 0.3; display: inline; padding-left: 10px; } } .app-info-version { padding-bottom: 5px; flex: 1; flex-direction: column-reverse; } .app-info-release { padding-bottom: 5px; display: flex; flex: 1; } .app-info-build { padding-bottom: 5px; display: flex; flex-direction: column-reverse; flex: 1; } .app-info-change { display: flex; flex-direction: row; padding-bottom: 5px; .app-info-number { width: 20px; } span { flex: 1; } } .app-info-list { padding: 5px 0; div { padding: 5px 0; } }