the browser-facing portion of osu!

Add prettier

nanaya e21df536 4d09c170

+1496 -1119
+2
.github/workflows/lint.yml
··· 51 51 52 52 - run: 'yarn lint --max-warnings 89 > /dev/null' 53 53 54 + - run: yarn pretty 55 + 54 56 - run: ./bin/update_licence.sh -nf 55 57 56 58 - name: Run PHPCS
+4
.prettierignore
··· 1 + /* 2 + !/resources 3 + /resources/* 4 + !/resources/css
+1
.prettierrc
··· 1 + {}
+2
package.json
··· 4 4 "dev": "yarn run development", 5 5 "development": "cross-env NODE_ENV=development webpack", 6 6 "lint": "eslint --cache 'resources/js/**/*.{js,ts,tsx}' 'tests/karma/**/*.{ts,tsx}' '*.js'", 7 + "pretty": "prettier --check resources/css/**/*.less", 7 8 "prod": "yarn run production", 8 9 "production": "cross-env NODE_ENV=production webpack", 9 10 "watch": "yarn run development --watch", ··· 71 72 "photoswipe": "^4.1.1", 72 73 "postcss": "^8.4.31", 73 74 "postcss-loader": "^7.3.3", 75 + "prettier": "^3.3.3", 74 76 "qtip2": "https://github.com/notbakaneko/qTip2.git#cd5f038667d2b23a44f4274c46de01834d704ce6", 75 77 "react": "^17.0.2", 76 78 "react-dom": "^17.0.2",
+1 -1
resources/css/app.less
··· 8 8 @import "~inter-ui/inter.css"; 9 9 10 10 @import "~bootstrap/less/bootstrap"; 11 - @import 'bootstrap-overrides'; 11 + @import "bootstrap-overrides"; 12 12 13 13 @import "~qtip2/dist/jquery.qtip.css"; 14 14 @import "~photoswipe/dist/photoswipe.css";
+31 -13
resources/css/base.less
··· 20 20 margin: 10px 0 0 0; 21 21 } 22 22 23 - h1, h2, h3, h4, h5, h6 { 23 + h1, 24 + h2, 25 + h3, 26 + h4, 27 + h5, 28 + h6 { 24 29 color: @osu-colour-c1; 25 30 } 26 31 27 32 a { 28 33 .link-default(); 29 34 outline-style: none; 30 - &:link, &:visited, &:hover, &:active { outline-style: none; } 35 + &:link, 36 + &:visited, 37 + &:hover, 38 + &:active { 39 + outline-style: none; 40 + } 31 41 32 42 text-decoration: none; 33 - &:hover { text-decoration: underline; } 43 + &:hover { 44 + text-decoration: underline; 45 + } 34 46 35 47 transition: color 80ms linear; 36 48 } ··· 44 56 } 45 57 46 58 @font-face { 47 - font-family: 'FontAwesomeExtra'; 48 - src: url('~@fonts/extra/extra.eot?1280178'); 49 - src: url('~@fonts/extra/extra.eot?1280178#iefix') format('embedded-opentype'), 50 - url('~@fonts/extra/extra.woff2?1280178') format('woff2'), 51 - url('~@fonts/extra/extra.woff?1280178') format('woff'), 52 - url('~@fonts/extra/extra.ttf?1280178') format('truetype'), 53 - url('~@fonts/extra/extra.svg?1280178#extra') format('svg'); 59 + font-family: "FontAwesomeExtra"; 60 + src: url("~@fonts/extra/extra.eot?1280178"); 61 + src: 62 + url("~@fonts/extra/extra.eot?1280178#iefix") format("embedded-opentype"), 63 + url("~@fonts/extra/extra.woff2?1280178") format("woff2"), 64 + url("~@fonts/extra/extra.woff?1280178") format("woff"), 65 + url("~@fonts/extra/extra.ttf?1280178") format("truetype"), 66 + url("~@fonts/extra/extra.svg?1280178#extra") format("svg"); 54 67 font-weight: normal; 55 68 font-style: normal; 56 69 } ··· 98 111 font-weight: 600; 99 112 } 100 113 101 - input[type="checkbox"], input[type="radio"] { 114 + input[type="checkbox"], 115 + input[type="radio"] { 102 116 margin: 2px 0 0; 103 117 } 104 118 105 - a[disabled] { &:extend(.btn[disabled]); } 119 + a[disabled] { 120 + &:extend(.btn[disabled]); 121 + } 106 122 107 - .clickable-row { cursor: pointer; } 123 + .clickable-row { 124 + cursor: pointer; 125 + } 108 126 109 127 [data-visibility] { 110 128 will-change: opacity;
+3 -2
resources/css/bbcode.less
··· 35 35 position: relative; 36 36 37 37 &::before { 38 - content: ''; 38 + content: ""; 39 39 position: absolute; 40 40 left: 0; 41 41 top: 0; ··· 77 77 max-width: 100%; 78 78 } 79 79 80 - ol, ul { 80 + ol, 81 + ul { 81 82 padding-left: 20px; 82 83 } 83 84
+3 -3
resources/css/bem/account-edit-entry.less
··· 37 37 // placeholder to prevent triggering dragleave when entring child element 38 38 &::after { 39 39 .full-size(); 40 - content: ''; 40 + content: ""; 41 41 } 42 42 } 43 43 ··· 166 166 padding-left: (@label-width + 10px); 167 167 } 168 168 169 - .@{top}[data-form-error-state=error] & { 169 + .@{top}[data-form-error-state="error"] & { 170 170 display: block; 171 171 } 172 172 } ··· 206 206 border-color: @osu-colour-l1; 207 207 } 208 208 209 - .@{top}[data-form-error-state=error] & { 209 + .@{top}[data-form-error-state="error"] & { 210 210 border-color: @red; 211 211 } 212 212
+2 -2
resources/css/bem/account-edit-status.less
··· 14 14 &--saved { 15 15 color: @green; 16 16 17 - [data-account-edit-state=saved] & { 17 + [data-account-edit-state="saved"] & { 18 18 opacity: 1; 19 19 } 20 20 } ··· 28 28 } 29 29 } 30 30 31 - [data-account-edit-state=saving] & { 31 + [data-account-edit-state="saving"] & { 32 32 opacity: 1; 33 33 } 34 34 }
+1 -1
resources/css/bem/account-edit.less
··· 26 26 &::after { 27 27 .inner-shadow-top(); 28 28 .full-size(); 29 - content: ''; 29 + content: ""; 30 30 pointer-events: none; 31 31 } 32 32 }
+2 -1
resources/css/bem/admin-contest-entry.less
··· 35 35 } 36 36 37 37 &__column { 38 - && { // bootstrap override 38 + && { 39 + // bootstrap override 39 40 vertical-align: middle; 40 41 } 41 42
+2 -1
resources/css/bem/admin-menu.less
··· 24 24 width: @admin-menu-icon-width; 25 25 background-color: #333; 26 26 27 - &:hover, &.js-menu--active { 27 + &:hover, 28 + &.js-menu--active { 28 29 background-color: @blue-darker; 29 30 } 30 31 }
+6 -2
resources/css/bem/artist-album.less
··· 42 42 &--new { 43 43 &::after { 44 44 .full-size(); 45 - content: ''; 46 - background: linear-gradient(to left, @osu-colour-orange-1 0%, transparent 30%) 45 + content: ""; 46 + background: linear-gradient( 47 + to left, 48 + @osu-colour-orange-1 0%, 49 + transparent 30% 50 + ); 47 51 } 48 52 } 49 53 }
+2 -1
resources/css/bem/artist-sidebar-album.less
··· 10 10 flex-direction: column; 11 11 align-items: center; 12 12 13 - &:hover, &:active { 13 + &:hover, 14 + &:active { 14 15 color: white; 15 16 text-decoration: none; 16 17 }
+2 -1
resources/css/bem/artist-track-search-form-switches.less
··· 18 18 text-align: center; 19 19 white-space: nowrap; 20 20 21 - &:focus, &:active { 21 + &:focus, 22 + &:active { 22 23 color: hsl(var(--hsl-c1)); 23 24 } 24 25
+2 -1
resources/css/bem/artist-track-search-form.less
··· 53 53 text-align: center; 54 54 white-space: nowrap; 55 55 56 - &:focus, &:active { 56 + &:focus, 57 + &:active { 57 58 color: hsl(var(--hsl-c1)); 58 59 } 59 60
+5 -1
resources/css/bem/artist-track.less
··· 39 39 } 40 40 41 41 &--original { 42 - background-image: linear-gradient(to right, hsla(var(--hsl-pink-1), 0.2), hsla(var(--hsl-pink-1), 0) 50%); 42 + background-image: linear-gradient( 43 + to right, 44 + hsla(var(--hsl-pink-1), 0.2), 45 + hsla(var(--hsl-pink-1), 0) 50% 46 + ); 43 47 } 44 48 45 49 &__button {
+6 -1
resources/css/bem/artist.less
··· 49 49 margin-bottom: 10px; 50 50 } 51 51 52 - > h1, h2, h3, h4, h5, h6 { 52 + > h1, 53 + h2, 54 + h3, 55 + h4, 56 + h5, 57 + h6 { 53 58 color: white; 54 59 } 55 60
+11 -8
resources/css/bem/audio-player.less
··· 6 6 7 7 @_height: 40px; 8 8 9 - --current-time: '0:00'; 10 - --duration: '0:00'; 9 + --current-time: "0:00"; 10 + --duration: "0:00"; 11 11 --progress: 0; 12 12 13 13 height: @_height; ··· 104 104 border-radius: 10000px; 105 105 --current-head-opacity: 0; 106 106 --bar: 0; 107 - transition: height 100ms, opacity 100ms; 107 + transition: 108 + height 100ms, 109 + opacity 100ms; 108 110 user-select: none; 109 111 position: relative; 110 112 111 113 // extended hover area 112 114 &::before { 113 115 position: absolute; 114 - content: ''; 116 + content: ""; 115 117 display: block; 116 118 left: -5px; 117 119 right: $left; ··· 119 121 bottom: $top; 120 122 } 121 123 122 - &:hover, &[data-audio-dragging="1"] { 124 + &:hover, 125 + &[data-audio-dragging="1"] { 123 126 height: 6px; 124 127 --current-head-opacity: 1; 125 128 } ··· 156 159 background-color: @osu-colour-h1; 157 160 right: (-$width / 2); 158 161 top: calc(50% - ($width / 2)); 159 - content: ''; 162 + content: ""; 160 163 display: block; 161 164 opacity: var(--current-head-opacity); 162 165 transition: inherit; ··· 177 180 min-width: (@_colon + @_number * 3); 178 181 179 182 &::before { 180 - content: var(--timestamp, ''); 183 + content: var(--timestamp, ""); 181 184 } 182 185 183 186 .@{_top}[data-audio-time-format="minute"] & { ··· 203 206 204 207 &--total { 205 208 color: @osu-colour-c2; 206 - --timestamp: '--:--'; 209 + --timestamp: "--:--"; 207 210 208 211 .@{_top}[data-audio-has-duration="1"] & { 209 212 --timestamp: var(--duration);
+7 -4
resources/css/bem/avatar.less
··· 99 99 box-shadow: none; 100 100 border-radius: 50%; 101 101 overflow: hidden; 102 - transition: width var(--header-pinned-animation-duration), height var(--header-pinned-animation-duration); 102 + transition: 103 + width var(--header-pinned-animation-duration), 104 + height var(--header-pinned-animation-duration); 103 105 position: relative; 104 106 105 107 .@{header-pinned} & { ··· 107 109 height: @nav2-avatar-height--pinned; 108 110 } 109 111 110 - &.js-click-menu--active, &:hover { 112 + &.js-click-menu--active, 113 + &:hover { 111 114 box-shadow: inset 0 0 0 3px hsl(var(--hsl-c1)); 112 115 } 113 116 } ··· 126 129 &--restricted { 127 130 &::before { 128 131 .full-size(); 129 - content: ''; 130 - background-image: url('~@images/layout/exclamation-icon.svg'); 132 + content: ""; 133 + background-image: url("~@images/layout/exclamation-icon.svg"); 131 134 background-size: 60%; 132 135 background-position: center; 133 136 background-repeat: no-repeat;
+1 -1
resources/css/bem/badge-achievement.less
··· 12 12 13 13 &--dynamic-height { 14 14 flex: none; 15 - width: (1em * @_big-width / @_big-height ); 15 + width: (1em * @_big-width / @_big-height); 16 16 height: 1em; 17 17 } 18 18
+13 -10
resources/css/bem/bbcode-editor.less
··· 51 51 font-size: @font-size--title-small; 52 52 } 53 53 54 - .@{_top}[data-state=preview] & { 54 + .@{_top}[data-state="preview"] & { 55 55 display: none; 56 56 } 57 57 58 - .@{_top}[data-state=loading-preview] & { 58 + .@{_top}[data-state="loading-preview"] & { 59 59 opacity: 0.5; 60 60 pointer-events: none; 61 61 } 62 62 63 63 .@{_top}--beatmapset-description-editor & { 64 64 // approximation of 80vh - 3 lines of button bars and editor padding 65 - max-height: calc(80vh - 2 * @editor-padding - 2 * @content-padding - 3 * (1em + 2 * @buttons-margin)); 65 + max-height: calc( 66 + 80vh - 2 * @editor-padding - 2 * @content-padding - 3 * 67 + (1em + 2 * @buttons-margin) 68 + ); 66 69 } 67 70 } 68 71 ··· 72 75 &--deactivate { 73 76 display: none; 74 77 75 - .js-forum-topic-reply[data-state=stick] & { 78 + .js-forum-topic-reply[data-state="stick"] & { 76 79 display: block; 77 80 } 78 81 } 79 82 80 83 &--hide-on-preview { 81 - .@{_top}[data-state=loading-preview] &, 82 - .@{_top}[data-state=preview] & { 84 + .@{_top}[data-state="loading-preview"] &, 85 + .@{_top}[data-state="preview"] & { 83 86 display: none; 84 87 } 85 88 } 86 89 87 90 &--hide-on-write { 88 - .@{_top}[data-state=write] & { 91 + .@{_top}[data-state="write"] & { 89 92 display: none; 90 93 } 91 94 } ··· 102 105 } 103 106 104 107 &--toolbar { 105 - .@{_top}[data-state=loading-preview] &, 106 - .@{_top}[data-state=preview] & { 108 + .@{_top}[data-state="loading-preview"] &, 109 + .@{_top}[data-state="preview"] & { 107 110 display: none; 108 111 } 109 112 } ··· 155 158 &__preview { 156 159 display: none; 157 160 158 - .@{_top}[data-state=preview] & { 161 + .@{_top}[data-state="preview"] & { 159 162 display: block; 160 163 min-height: 0; 161 164 overflow-y: auto;
+1 -1
resources/css/bem/beatmap-discussion-editor-insertion-menu.less
··· 11 11 pointer-events: none; // as to not impede text-selection/etc within the editor itself 12 12 13 13 &::before { 14 - content: ''; 14 + content: ""; 15 15 background: @osu-colour-b3; 16 16 position: absolute; 17 17 top: 9px;
+3 -3
resources/css/bem/beatmap-discussion-editor.less
··· 19 19 position: relative; // Slate's placeholder element has width: 100% directly set on it... 20 20 21 21 .@{_top}--readonly & { 22 - &:hover .@{_top}__hover-menu { 23 - display: none; 24 - } 22 + &:hover .@{_top}__hover-menu { 23 + display: none; 24 + } 25 25 } 26 26 27 27 &:hover .@{_top}__hover-menu {
+5 -4
resources/css/bem/beatmap-discussion-post.less
··· 11 11 12 12 @_content-gutter-base: 15px; 13 13 14 - transition: background-color .1s ease-in-out; 14 + transition: background-color 0.1s ease-in-out; 15 15 // margin here instead of padding on __content to make Chrome anchor when images above load in. 16 16 // even 1 px margin is enough to fix the shifting. 17 17 margin: 10px 0; ··· 49 49 50 50 &::before { 51 51 .full-size(); 52 - content: ''; 52 + content: ""; 53 53 background-color: hsl(var(--hsl-blue-3)); 54 54 width: 5px; 55 55 } ··· 185 185 186 186 .@{_top}--reply & { 187 187 &::after { 188 - content: ''; 188 + content: ""; 189 189 height: 1px; 190 190 align-self: center; 191 191 flex: 1; ··· 223 223 min-height: 3em; 224 224 225 225 // --reply part to override top modifier 226 - &, .@{_top}--reply & { 226 + &, 227 + .@{_top}--reply & { 227 228 font-size: @font-size--phone-input; 228 229 229 230 @media @desktop {
+1 -1
resources/css/bem/beatmap-discussion-system-post.less
··· 19 19 // the fancy green line 20 20 &::after { 21 21 flex: 1; 22 - content: ''; 22 + content: ""; 23 23 background-color: @resolved-color; 24 24 align-self: center; 25 25 height: 1px;
+1 -1
resources/css/bem/beatmap-discussion-user-card.less
··· 45 45 } 46 46 47 47 &__user-badge { 48 - min-height:16px; 48 + min-height: 16px; 49 49 margin-top: 2px; 50 50 } 51 51
+4 -2
resources/css/bem/beatmap-discussion-vote.less
··· 11 11 font-size: 12px; 12 12 13 13 &--up { 14 - &, &:hover { 14 + &, 15 + &:hover { 15 16 color: @osu-colour-lime-3; 16 17 } 17 18 } 18 19 19 20 &--down { 20 - &, &:hover { 21 + &, 22 + &:hover { 21 23 color: @osu-colour-orange-2; 22 24 } 23 25 }
+19 -9
resources/css/bem/beatmap-discussion.less
··· 38 38 39 39 &::before { 40 40 .full-size(); 41 - content: ''; 41 + content: ""; 42 42 width: 1px; 43 43 right: 100%; 44 - background-image: linear-gradient(to bottom, hsla(var(--hsl-b1), 0), @osu-colour-b1 50%, hsla(var(--hsl-b1), 0)); 44 + background-image: linear-gradient( 45 + to bottom, 46 + hsla(var(--hsl-b1), 0), 47 + @osu-colour-b1 50%, 48 + hsla(var(--hsl-b1), 0) 49 + ); 45 50 } 46 51 } 47 52 } ··· 62 67 &::before { 63 68 @media @mobile { 64 69 overflow-anchor: none; 65 - content: ''; 70 + content: ""; 66 71 position: absolute; 67 72 right: 0; 68 73 top: 0; ··· 76 81 .thicker-box-shadow(); 77 82 &::after { 78 83 .full-size(); 79 - content: ''; 84 + content: ""; 80 85 background: fade(white, 15%); 81 86 pointer-events: none; 82 87 opacity: 0.5; 83 - animation: flash .5s; 88 + animation: flash 0.5s; 84 89 @keyframes flash { 85 - 0% { opacity: 1; } 86 - 100% { opacity: 0.5; } 90 + 0% { 91 + opacity: 1; 92 + } 93 + 100% { 94 + opacity: 0.5; 95 + } 87 96 } 88 97 } 89 98 } ··· 147 156 // hopefully enough for type and resolve status icons. 148 157 width: 50px; 149 158 150 - .@{_top}--timeline &, .@{_top}--preview & { 159 + .@{_top}--timeline &, 160 + .@{_top}--preview & { 151 161 // with timestamp, timeline's line and dot. 152 162 width: 110px; 153 163 } ··· 170 180 .@{_top}--unread & { 171 181 &::before { 172 182 .full-size(); 173 - content: ''; 183 + content: ""; 174 184 background-color: @blue-darker; 175 185 width: 5px; 176 186 }
+3 -1
resources/css/bem/beatmap-discussions.less
··· 55 55 left: @_discussions-horizontal-padding; 56 56 57 57 width: @_timeline-line-width; 58 - height: calc(100% - (@_mode-circle-diameter + @_discussions-vertical-padding * 2)); 58 + height: calc( 59 + 100% - (@_mode-circle-diameter + @_discussions-vertical-padding * 2) 60 + ); 59 61 60 62 margin: 0 ((@_mode-circle-diameter - @_timeline-line-width) / 2); 61 63
+6 -3
resources/css/bem/beatmap-pack.less
··· 9 9 width: 100%; 10 10 margin: 2px 0; 11 11 12 - &.js-accordion__item--expanded, &--expanded { 12 + &.js-accordion__item--expanded, 13 + &--expanded { 13 14 .thicker-box-shadow(); 14 15 z-index: 1; 15 16 } ··· 43 44 background-color: @osu-colour-b3; 44 45 display: flex; 45 46 46 - .js-accordion__item--expanded &, .@{_top}--expanded & { 47 + .js-accordion__item--expanded &, 48 + .@{_top}--expanded & { 47 49 background-color: @osu-colour-b2; 48 50 } 49 51 ··· 53 55 } 54 56 55 57 &__name { 56 - .js-accordion__item--expanded &, .@{_top}--expanded & { 58 + .js-accordion__item--expanded &, 59 + .@{_top}--expanded & { 57 60 font-weight: 600; 58 61 } 59 62 }
+1 -1
resources/css/bem/beatmaps-popup.less
··· 20 20 } 21 21 22 22 &::before { 23 - content: ''; 23 + content: ""; 24 24 .thick-box-shadow(); 25 25 border: 2px solid hsl(var(--hsl-h1)); 26 26 height: calc(100% + var(--panel-height));
+42 -42
resources/css/bem/beatmapset-activities.less
··· 2 2 // See the LICENCE file in the repository root for full licence text. 3 3 4 4 .beatmapset-activities { 5 + color: white; 5 6 7 + h2, 8 + h3 { 6 9 color: white; 10 + } 7 11 8 - h2, h3 { 9 - color: white; 10 - } 12 + &__post-grow { 13 + flex-grow: 1; 14 + } 11 15 12 - &__post-grow { 13 - flex-grow: 1; 14 - } 15 - 16 - &__discussion-post { 17 - display: flex; 18 - margin-bottom: 10px; 19 - } 16 + &__discussion-post { 17 + display: flex; 18 + margin-bottom: 10px; 19 + } 20 20 21 - &__spinner { 22 - display: flex; 23 - flex: 1; 24 - justify-content: center; 25 - padding: 20px; 26 - } 21 + &__spinner { 22 + display: flex; 23 + flex: 1; 24 + justify-content: center; 25 + padding: 20px; 26 + } 27 27 28 - &__timeline-icon-margin { 29 - margin: 10px !important; 30 - } 28 + &__timeline-icon-margin { 29 + margin: 10px !important; 30 + } 31 31 32 - &__user-upvote-list { 33 - display: flex; 34 - flex-wrap: wrap; 35 - } 32 + &__user-upvote-list { 33 + display: flex; 34 + flex-wrap: wrap; 35 + } 36 36 37 - &__user-upvote-panel { 38 - display: flex; 39 - margin: 10px; 40 - width: 200px; 41 - } 37 + &__user-upvote-panel { 38 + display: flex; 39 + margin: 10px; 40 + width: 200px; 41 + } 42 42 43 - &__vote-icon-spacer { 44 - margin: 10px 5px 10px 0px; 45 - } 43 + &__vote-icon-spacer { 44 + margin: 10px 5px 10px 0px; 45 + } 46 46 47 - &__vote-link { 48 - pointer-events: auto; 49 - } 47 + &__vote-link { 48 + pointer-events: auto; 49 + } 50 50 51 - &__vote-user-panel { 52 - width: 50px; 53 - flex-shrink: 0; 54 - } 51 + &__vote-user-panel { 52 + width: 50px; 53 + flex-shrink: 0; 54 + } 55 55 56 - .js-usercard { 57 - pointer-events: auto; 58 - } 56 + .js-usercard { 57 + pointer-events: auto; 58 + } 59 59 }
+1 -1
resources/css/bem/beatmapset-beatmap-picker.less
··· 28 28 &::before { 29 29 .full-size(); 30 30 border-radius: @border-radius--large; 31 - content: ''; 31 + content: ""; 32 32 background-color: hsla(var(--hsl-b6), 0.5); 33 33 width: calc(100% - @gutter); 34 34 height: calc(100% - @gutter);
+4 -4
resources/css/bem/beatmapset-cover-admin.less
··· 1 1 // Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the GNU Affero General Public License v3.0. 2 2 // See the LICENCE file in the repository root for full licence text. 3 3 4 - .beatmapset-cover-admin { 5 - &__img { 6 - max-width: 100%; 7 - } 4 + .beatmapset-cover-admin { 5 + &__img { 6 + max-width: 100%; 8 7 } 8 + }
+2 -2
resources/css/bem/beatmapset-cover.less
··· 7 7 width: 45px; 8 8 height: 30px; 9 9 border-radius: var(--border-radius, 6px); 10 - .at2x('~@images/layout/beatmaps/default-bg.png'); 10 + .at2x("~@images/layout/beatmaps/default-bg.png"); 11 11 background-position: center; 12 12 background-size: cover; 13 13 vertical-align: middle; ··· 15 15 16 16 &::before { 17 17 .full-size(); 18 - content: ''; 18 + content: ""; 19 19 border-radius: inherit; 20 20 background-image: var(--bg); 21 21 background-position: center;
+9 -4
resources/css/bem/beatmapset-discussions-chart.less
··· 13 13 14 14 &::before { 15 15 --border-size: 2px; 16 - content: ''; 16 + content: ""; 17 17 position: absolute; 18 18 width: 100%; 19 19 bottom: 0; ··· 43 43 44 44 &::before { 45 45 display: block; 46 - content: ''; 46 + content: ""; 47 47 flex: 1; 48 48 width: 1px; 49 - background-image: linear-gradient(to top, hsl(var(--hsl-c1)), hsl(var(--hsl-c1)) 10%, hsla(var(--hsl-c1), 0) 70%); 49 + background-image: linear-gradient( 50 + to top, 51 + hsl(var(--hsl-c1)), 52 + hsl(var(--hsl-c1)) 10%, 53 + hsla(var(--hsl-c1), 0) 70% 54 + ); 50 55 transform: scaleX(var(--line-scale)); 51 56 } 52 57 53 58 &::after { 54 59 .fa(); 55 - content: var(--icon, ''); 60 + content: var(--icon, ""); 56 61 font-size: 12px; // icon size 57 62 font-weight: var(--icon-weight); 58 63 color: var(--icon-colour);
+6 -2
resources/css/bem/beatmapset-header.less
··· 147 147 color: #fff; 148 148 149 149 &--favourites { 150 - &:hover, &:visited, &:link, &:active { 150 + &:hover, 151 + &:visited, 152 + &:link, 153 + &:active { 151 154 text-decoration: none; 152 155 color: #fff; 153 156 } ··· 158 161 } 159 162 160 163 &--favourited { 161 - &:hover, &:link { 164 + &:hover, 165 + &:link { 162 166 color: @pink-darker; 163 167 } 164 168 }
+39 -17
resources/css/bem/beatmapset-panel.less
··· 3 3 4 4 .beatmapset-panel { 5 5 .desktop-hover() { 6 - --info-bg: linear-gradient(0.25turn, hsl(var(--hsl-b4)), hsla(var(--hsl-b4), 0.8)); 6 + --info-bg: linear-gradient( 7 + 0.25turn, 8 + hsl(var(--hsl-b4)), 9 + hsla(var(--hsl-b4), 0.8) 10 + ); 7 11 --menu-opacity: 1; 8 12 --menu-container-width: @_menu-width-visible; 9 13 --play-bg: hsla(var(--hsl-b6), 0.8); ··· 18 22 19 23 // Extend by 1px on respective corner to prevent gap on some zoom levels. 20 24 // Sizing is based on @border-radius--large. 21 - @_top-left-inverted-corner-path: path('M-1 -1 L-1 10 L0 10 A10 10 0 0 1 10 0 L10 -1 Z'); 22 - @_bottom-left-inverted-corner-path: path('M-1 11 L-1 0 L0 0 A10 10 0 0 0 10 10 L10 11 Z'); 23 - @_top-right-inverted-corner-path: path('M11 -1 L11 10 L10 10 A10 10 0 0 0 0 0 L0 -1 Z'); 24 - @_bottom-right-inverted-corner-path: path('M11 11 L11 0 L10 0 A10 10 0 0 1 0 10 L 0 11 Z'); 25 + @_top-left-inverted-corner-path: path( 26 + "M-1 -1 L-1 10 L0 10 A10 10 0 0 1 10 0 L10 -1 Z" 27 + ); 28 + @_bottom-left-inverted-corner-path: path( 29 + "M-1 11 L-1 0 L0 0 A10 10 0 0 0 10 10 L10 11 Z" 30 + ); 31 + @_top-right-inverted-corner-path: path( 32 + "M11 -1 L11 10 L10 10 A10 10 0 0 0 0 0 L0 -1 Z" 33 + ); 34 + @_bottom-right-inverted-corner-path: path( 35 + "M11 11 L11 0 L10 0 A10 10 0 0 1 0 10 L 0 11 Z" 36 + ); 25 37 26 38 --border-cover-opacity: 0; 27 39 // For elements which provide overall beatmap link. ··· 46 58 --play-icon-opacity: 0; 47 59 --play-width: 80px; 48 60 --source-display: flex; 49 - --stats-grid-template: "hype nominations favourite-count play-count date" / auto auto auto auto auto; 61 + --stats-grid-template: "hype nominations favourite-count play-count date" / 62 + auto auto auto auto auto; 50 63 --stats-opacity: 1; 51 64 --transition: all 150ms ease-in-out; 52 65 ··· 60 73 61 74 @media @desktop { 62 75 --global-beatmap-link-pointer-events: auto; 63 - --info-bg: linear-gradient(0.25turn, hsl(var(--hsl-b2)), hsla(var(--hsl-b2), 0.8)); 76 + --info-bg: linear-gradient( 77 + 0.25turn, 78 + hsl(var(--hsl-b2)), 79 + hsla(var(--hsl-b2), 0.8) 80 + ); 64 81 --menu-bg: hsl(var(--hsl-b3)); 65 82 --menu-container-width: @_menu-width; 66 83 --main-height: 100%; ··· 75 92 76 93 // hide bottom radius when cover is shown 77 94 &::before { 78 - content: ''; 95 + content: ""; 79 96 background-color: inherit; 80 97 height: @border-radius--large; 81 98 width: 100%; ··· 114 131 &--size-extra { 115 132 @media @desktop { 116 133 --panel-height: @beatmapset-panel-extra-height-desktop; 117 - --stats-grid-template: "favourite-count hype date" "play-count nominations ." / auto auto auto; 134 + --stats-grid-template: "favourite-count hype date" 135 + "play-count nominations ." / auto auto auto; 118 136 --stats-opacity: 1; 119 137 --play-width: 140px; 120 138 } ··· 183 201 184 202 // solid cover for mobile 185 203 &::after { 186 - content: ''; 204 + content: ""; 187 205 position: absolute; 188 206 display: block; 189 207 width: calc(100% - var(--play-width)); ··· 220 238 flex-direction: column; 221 239 // Adjust radius to prevent bleeding of the underneath cover 222 240 // when hover background (of &__play) is active. 223 - border-radius: (@border-radius--large - 1px) 0 0 (@border-radius--large - 1px); 241 + border-radius: (@border-radius--large - 1px) 0 0 242 + (@border-radius--large - 1px); 224 243 } 225 244 226 245 &__info-row { ··· 266 285 font-weight: bold; 267 286 268 287 &::after { 269 - content: '\a0'; 288 + content: "\a0"; 270 289 } 271 290 } 272 291 ··· 324 343 overflow: visible; 325 344 } 326 345 327 - &::after, &::before { 328 - content: ''; 346 + &::after, 347 + &::before { 348 + content: ""; 329 349 width: @border-radius--large; 330 350 height: $width; 331 351 position: absolute; ··· 406 426 position: relative; 407 427 // Adjust radius to prevent bleeding of the underneath cover 408 428 // when hover background is active. 409 - border-radius: (@border-radius--large - 1px) 0 0 (@border-radius--large - 1px); 429 + border-radius: (@border-radius--large - 1px) 0 0 430 + (@border-radius--large - 1px); 410 431 411 - &::after, &::before { 412 - content: ''; 432 + &::after, 433 + &::before { 434 + content: ""; 413 435 width: @border-radius--large; 414 436 height: $width; 415 437 position: absolute;
+1 -1
resources/css/bem/beatmapsets-search.less
··· 36 36 37 37 &::after { 38 38 .full-size(); 39 - content: ''; 39 + content: ""; 40 40 background-color: hsla(var(--hsl-b1), 80%); 41 41 } 42 42 }
+1 -1
resources/css/bem/bootstrap/modal-header.less
··· 27 27 .default-text-shadow(); 28 28 font-style: normal; 29 29 font-size: 24px; 30 - color: #FFF; 30 + color: #fff; 31 31 32 32 position: absolute; 33 33 margin: 10px;
+5 -3
resources/css/bem/btn-circle.less
··· 92 92 93 93 .link-hover({ 94 94 box-shadow: none; 95 - }) 95 + }); 96 96 } 97 97 98 98 &--page-toggle-detail { ··· 120 120 } 121 121 } 122 122 123 - &--activated, &.js-activated { 123 + &--activated, 124 + &.js-activated { 124 125 background-color: @osu-colour-h2; 125 126 color: @osu-colour-b5; 126 127 ··· 191 192 opacity: var(--normal-opacity); 192 193 transition: var(--transition); 193 194 194 - .@{top}:hover &, .@{top}:active & { 195 + .@{top}:hover &, 196 + .@{top}:active & { 195 197 opacity: var(--hover-opacity); 196 198 } 197 199
+13 -4
resources/css/bem/btn-home.less
··· 6 6 .link-white(); 7 7 8 8 border-radius: @border-radius-large; 9 - background-image: url('~@images/backgrounds/button.svg'); 9 + background-image: url("~@images/backgrounds/button.svg"); 10 10 background-size: 175%; 11 11 background-position: center; 12 12 ··· 28 28 --bg-move: 0px; 29 29 --border-size: 3px; 30 30 --move: 0px; 31 - --inset-colour: hsl(var(--colour-h), var(--colour-s), calc(var(--colour-l) - 10%)); 31 + --inset-colour: hsl( 32 + var(--colour-h), 33 + var(--colour-s), 34 + calc(var(--colour-l) - 10%) 35 + ); 32 36 33 37 transform: translate(0, var(--move)); 34 - background-color: hsl(var(--colour-h), var(--colour-s), calc(var(--colour-l) + var(--bg-l-adjust))); 38 + background-color: hsl( 39 + var(--colour-h), 40 + var(--colour-s), 41 + calc(var(--colour-l) + var(--bg-l-adjust)) 42 + ); 35 43 background-position: calc(50% + var(--bg-move)) 50%; 36 44 37 45 box-shadow: 38 46 0 calc(var(--border-size) - var(--move)) var(--inset-colour), 39 - 0 calc(var(--border-size) + @box-shadow-y - var(--move)) @box-shadow-radius @box-shadow-color; 47 + 0 calc(var(--border-size) + @box-shadow-y - var(--move)) @box-shadow-radius 48 + @box-shadow-color; 40 49 41 50 &:focus { 42 51 --bg-move: -10px;
+8 -4
resources/css/bem/btn-osu-big.less
··· 53 53 background: var(--active-bg); 54 54 } 55 55 56 - &[disabled], &--disabled { 56 + &[disabled], 57 + &--disabled { 57 58 cursor: default; 58 59 background: var(--disabled-bg); 59 60 color: var(--disabled-colour); ··· 165 166 flex-direction: column; 166 167 --bg-colour: hsl(var(--hsl-blue-3)); 167 168 --bg: var(--bg-colour) center/150% url("~@images/backgrounds/button.svg"); 168 - --hover-bg: var(--bg-colour) calc(50% - 20px) 50%/150% url("~@images/backgrounds/button.svg"); 169 + --hover-bg: var(--bg-colour) calc(50% - 20px) 50%/150% 170 + url("~@images/backgrounds/button.svg"); 169 171 } 170 172 171 173 &--download-lazer { ··· 373 375 white-space: normal; 374 376 } 375 377 376 - &--activated, &.js-activated { 378 + &--activated, 379 + &.js-activated { 377 380 --bg: hsl(var(--hsl-h2)); 378 381 --colour: hsl(var(--hsl-c1)); 379 382 --hover-colour: hsl(var(--hsl-c1)); ··· 424 427 justify-content: center; 425 428 } 426 429 427 - .@{top}--comment-editor, .@{top}--chat-send & { 430 + .@{top}--comment-editor, 431 + .@{top}--chat-send & { 428 432 font-size: 120%; 429 433 } 430 434
+13 -3
resources/css/bem/chat-conversation-list-item.less
··· 18 18 19 19 @media @desktop { 20 20 &:hover { 21 - background: linear-gradient(to right, @osu-colour-b5 @tile-margin, @osu-colour-b3 33%, @osu-colour-b3 100%); 21 + background: linear-gradient( 22 + to right, 23 + @osu-colour-b5 @tile-margin, 24 + @osu-colour-b3 33%, 25 + @osu-colour-b3 100% 26 + ); 22 27 } 23 28 } 24 29 ··· 29 34 30 35 &--selected { 31 36 color: white; 32 - background: linear-gradient(to right, @osu-colour-b5 @tile-margin, @osu-colour-b4 33%, @osu-colour-b4 100%); 37 + background: linear-gradient( 38 + to right, 39 + @osu-colour-b5 @tile-margin, 40 + @osu-colour-b4 33%, 41 + @osu-colour-b4 100% 42 + ); 33 43 @media @mobile { 34 44 background: @osu-colour-b4; 35 45 } ··· 91 101 opacity: 0.5; 92 102 .full-size(); 93 103 border-radius: 1px; 94 - content: ''; 104 + content: ""; 95 105 box-shadow: 0 0 5px lighten(@green, 10%); 96 106 animation: glow-pulse 2s infinite; 97 107 }
+5 -4
resources/css/bem/chat-conversation-panel.less
··· 8 8 position: relative; 9 9 10 10 @media @mobile { 11 - overflow-y: hidden; // Needed to limit the height of the panel so chat-conversation is scrollable and 12 - // chat-conversation-list doesn't become 0 height on mobile. 13 - // height: 100% alone doesn't work. 14 - // The panel itself should not be scrollable. 11 + // Needed to limit the height of the panel so chat-conversation is scrollable and 12 + // chat-conversation-list doesn't become 0 height on mobile. 13 + // height: 100% alone doesn't work. 14 + // The panel itself should not be scrollable. 15 + overflow-y: hidden; 15 16 } 16 17 17 18 &__instructions {
+3 -3
resources/css/bem/chat-conversation.less
··· 12 12 -webkit-overflow-scrolling: touch; 13 13 14 14 &::after { 15 - content: ''; 15 + content: ""; 16 16 display: block; 17 17 padding-bottom: 80px; 18 18 ··· 80 80 height: 1.5em; 81 81 82 82 &::before { 83 - content: ''; 83 + content: ""; 84 84 background: @osu-colour-h1; 85 85 position: absolute; 86 86 left: 0; ··· 93 93 content: attr(data-content); 94 94 position: relative; 95 95 display: inline-block; 96 - padding: 0 .5em; 96 + padding: 0 0.5em; 97 97 line-height: 1.5em; 98 98 color: @osu-colour-h1; 99 99 background-color: @osu-colour-b4;
+9 -3
resources/css/bem/chat-input.less
··· 7 7 bottom: 0; 8 8 text-align: right; 9 9 10 - background: linear-gradient(to bottom, hsla(var(--hsl-b4), 0), hsla(var(--hsl-b4), 0.95) 40%, hsla(var(--hsl-b4), 0.95) 100%); 11 - width: calc(100% - 20px); // this prevents the gradient drawing over the browser's scroll-bar 10 + background: linear-gradient( 11 + to bottom, 12 + hsla(var(--hsl-b4), 0), 13 + hsla(var(--hsl-b4), 0.95) 40%, 14 + hsla(var(--hsl-b4), 0.95) 100% 15 + ); 16 + // this prevents the gradient drawing over the browser's scroll-bar 17 + width: calc(100% - 20px); 12 18 padding: 10px 30px 15px 50px; 13 19 14 20 align-items: center; ··· 18 24 position: fixed; 19 25 font-size: 16px; 20 26 padding-right: 0; 21 - padding-left: 20px 27 + padding-left: 20px; 22 28 } 23 29 24 30 &__box {
-1
resources/css/bem/chat-message-item.less
··· 22 22 } 23 23 } 24 24 } 25 -
+1 -2
resources/css/bem/circular-progress.less
··· 71 71 margin-top: @thickness; 72 72 margin-left: @thickness; 73 73 display: block; 74 - content: ''; 74 + content: ""; 75 75 border-radius: 50%; 76 76 background-color: var(--circle-center-fill); 77 77 width: 1em - (@thickness * 2); ··· 89 89 color: var(--label-colour); 90 90 display: var(--label-display); 91 91 } 92 - 93 92 94 93 &__circle { 95 94 position: absolute;
+6 -2
resources/css/bem/comment.less
··· 154 154 155 155 &::after { 156 156 display: block; 157 - content: ''; 157 + content: ""; 158 158 position: absolute; 159 159 bottom: 0; 160 160 left: 0; 161 161 width: 100%; 162 162 height: calc(var(--line-height) * 3); 163 - background-image: linear-gradient(to bottom, hsla(var(--comments-bg-hsl), 0), hsl(var(--comments-bg-hsl))); 163 + background-image: linear-gradient( 164 + to bottom, 165 + hsla(var(--comments-bg-hsl), 0), 166 + hsl(var(--comments-bg-hsl)) 167 + ); 164 168 pointer-events: none; 165 169 } 166 170 }
+14 -5
resources/css/bem/contest-art-entry.less
··· 92 92 } 93 93 94 94 &__thumbnail { 95 - width: calc(var(--thumbnail-size) * var(--thumbnail-scale) * var(--thumbnail-width-multiplier)); 96 - height: calc(var(--thumbnail-size) * var(--thumbnail-scale) * var(--thumbnail-height-multiplier)); 95 + width: calc( 96 + var(--thumbnail-size) * var(--thumbnail-scale) * 97 + var(--thumbnail-width-multiplier) 98 + ); 99 + height: calc( 100 + var(--thumbnail-size) * var(--thumbnail-scale) * 101 + var(--thumbnail-height-multiplier) 102 + ); 97 103 box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25); 98 104 background-size: cover; 99 105 background-position: top; ··· 113 119 } 114 120 115 121 &__vote-link-banner { 116 - --base-size: calc(0.25 * var(--thumbnail-size) * var(--vote-link-banner-scale)); 122 + --base-size: calc( 123 + 0.25 * var(--thumbnail-size) * var(--vote-link-banner-scale) 124 + ); 117 125 position: absolute; 118 126 right: 0; 119 127 bottom: 0; ··· 125 133 justify-content: center; 126 134 127 135 &::before { 128 - content: ''; 136 + content: ""; 129 137 position: absolute; 130 138 width: 100%; 131 139 height: 100%; 132 140 border-style: solid; 133 141 border-width: 0 0 var(--base-size) var(--base-size); 134 - border-color: transparent transparent var(--vote-link-banner-bg) transparent; 142 + border-color: transparent transparent var(--vote-link-banner-bg) 143 + transparent; 135 144 } 136 145 } 137 146 }
+1 -1
resources/css/bem/contest-judge-entry-range-input.less
··· 5 5 margin-top: 10px; 6 6 max-width: 500px; 7 7 8 - input[type='range'] { 8 + input[type="range"] { 9 9 -webkit-appearance: none; 10 10 appearance: none; 11 11 background: transparent;
+3 -1
resources/css/bem/contest-list-item.less
··· 19 19 height: 90px; 20 20 } 21 21 22 - &:active, &:focus, &:hover { 22 + &:active, 23 + &:focus, 24 + &:hover { 23 25 color: white; 24 26 text-decoration: none; 25 27 }
+2 -1
resources/css/bem/contest-userentry.less
··· 21 21 } 22 22 23 23 &--new { 24 - &:hover, .@{_top}--dragndrop-hover& { 24 + &:hover, 25 + .@{_top}--dragndrop-hover& { 25 26 background-color: @osu-colour-b3; 26 27 transform: scale(1.01); 27 28 }
+18 -7
resources/css/bem/contest.less
··· 15 15 padding-top: 20px; 16 16 padding-bottom: 20px; 17 17 18 - > h1, h2, h3, h4, h5, h6 { 18 + > h1, 19 + h2, 20 + h3, 21 + h4, 22 + h5, 23 + h6 { 19 24 color: @osu-colour-c1; 20 25 } 21 26 } ··· 55 60 padding: 10px; 56 61 57 62 color: white; 58 - &:hover, &:visited, &:link, &:active { 63 + &:hover, 64 + &:visited, 65 + &:link, 66 + &:active { 59 67 color: white; 60 68 text-decoration: none; 61 69 } ··· 64 72 &__section-toggle { 65 73 transition: all 300ms; 66 74 transform: rotateZ(0deg); 67 - .@{_top}__group-heading[aria-expanded='true'] & { 75 + .@{_top}__group-heading[aria-expanded="true"] & { 68 76 transform: rotateZ(180deg); 69 77 } 70 78 } ··· 97 105 width: 32px; 98 106 &--art { 99 107 width: inherit; 100 - margin-right: 10px 108 + margin-right: 10px; 101 109 } 102 110 } 103 111 ··· 123 131 .center-content(); 124 132 color: rgba(1, 1, 1, 0.5); 125 133 126 - &:hover, &:focus { 134 + &:hover, 135 + &:focus { 127 136 color: rgba(1, 1, 1, 0.75); 128 137 font-size: inherit; 129 138 text-decoration: none; ··· 143 152 &--selected { 144 153 font-size: inherit; 145 154 color: @contest-selected-colour; 146 - &:hover, &:focus { 155 + &:hover, 156 + &:focus { 147 157 color: fade(@contest-selected-colour, 75%); 148 158 } 149 159 } ··· 151 161 &--selected-art { 152 162 font-size: inherit; 153 163 color: white; 154 - &:hover, &:focus { 164 + &:hover, 165 + &:focus { 155 166 color: fade(white, 50%); 156 167 } 157 168 }
+3 -3
resources/css/bem/dialog-form.less
··· 99 99 } 100 100 101 101 &__logo { 102 - background-image: url('~@images/layout/osu-logo-white.svg'); 102 + background-image: url("~@images/layout/osu-logo-white.svg"); 103 103 background-position: contain; 104 104 105 105 flex: none; ··· 138 138 color: @purple-light; 139 139 140 140 &::after { 141 - content: '\a0'; // prevent div from collapsing when empty 141 + content: "\a0"; // prevent div from collapsing when empty 142 142 } 143 143 } 144 144 ··· 148 148 } 149 149 150 150 &--header { 151 - .at2x-simple('~@images/headers/oauth-login.jpg'); 151 + .at2x-simple("~@images/headers/oauth-login.jpg"); 152 152 .center-content(); 153 153 margin-left: 0; 154 154 margin-right: 0;
+4 -3
resources/css/bem/download-page-header.less
··· 51 51 pointer-events: none; 52 52 53 53 &::before { 54 - content: '•'; 54 + content: "•"; 55 55 } 56 56 } 57 57 } ··· 87 87 } 88 88 } 89 89 90 - &::after, &::before { 91 - content: ''; 90 + &::after, 91 + &::before { 92 + content: ""; 92 93 display: block; 93 94 flex: 1; 94 95 background-color: hsl(var(--hsl-b2));
+1 -1
resources/css/bem/download-page.less
··· 25 25 26 26 @media @desktop { 27 27 flex-direction: row; 28 - justify-content: space-between; 28 + justify-content: space-between; 29 29 } 30 30 } 31 31
+3 -2
resources/css/bem/flag-country.less
··· 3 3 4 4 .flag-country { 5 5 --height: 1em; 6 - --width-height-ratio: calc(100 / 72); // Original flag svg ratio; using a different ratio turns the flag into a blurry mess on Chrome. 6 + // Original flag svg ratio; using a different ratio turns the flag into a blurry mess on Chrome. 7 + --width-height-ratio: calc(100 / 72); 7 8 8 9 height: var(--height); 9 10 width: calc(var(--height) * var(--width-height-ratio)); ··· 23 24 border-radius: inherit; 24 25 filter: contrast(0) brightness(2); 25 26 opacity: 0.25; 26 - content: ''; 27 + content: ""; 27 28 } 28 29 29 30 &--flat {
+3 -1
resources/css/bem/footer.less
··· 38 38 margin-bottom: 5px; 39 39 } 40 40 41 - &:hover, &:focus, &:active { 41 + &:hover, 42 + &:focus, 43 + &:active { 42 44 color: @osu-colour-l1; 43 45 } 44 46
+1 -1
resources/css/bem/form-select.less
··· 26 26 &::after { 27 27 .fas(); 28 28 .center-content(); 29 - content: '\f078'; 29 + content: "\f078"; 30 30 padding: 0 10px; 31 31 position: absolute; 32 32 right: 0;
+1 -1
resources/css/bem/forum-cover-edit.less
··· 22 22 } 23 23 24 24 &__cover { 25 - .at2x-simple('~@images/headers/forum-topic-covers/forum-cover-category-osu.jpg'); 25 + .at2x-simple("~@images/headers/forum-topic-covers/forum-cover-category-osu.jpg"); 26 26 width: 100%; 27 27 border-radius: @border-radius-large; 28 28 height: 0;
+4 -3
resources/css/bem/forum-item-stripe.less
··· 14 14 transition: @forum-item-animate; 15 15 16 16 &::after { 17 - content: ''; 17 + content: ""; 18 18 .full-size(); 19 19 border-radius: @border-radius-base 0 0 @border-radius-base; 20 20 background-color: var(--forum-item-background-color); ··· 29 29 } 30 30 31 31 &::before { 32 - content: ''; 32 + content: ""; 33 33 .full-size(); 34 34 border-radius: @border-radius-base 0 0 @border-radius-base; 35 35 background-color: var(--forum-bg); 36 36 } 37 37 38 - .forum-item:hover &, .forum-topic-entry:hover & { 38 + .forum-item:hover &, 39 + .forum-topic-entry:hover & { 39 40 color: var(--forum-item-background-color-hover); 40 41 width: 25px; 41 42
+1 -1
resources/css/bem/forum-list.less
··· 34 34 position: relative; 35 35 36 36 @media @desktop { 37 - display :none; 37 + display: none; 38 38 } 39 39 } 40 40
+2 -2
resources/css/bem/forum-poll-container.less
··· 14 14 } 15 15 16 16 &--form { 17 - .@{_top}[data-page=form][data-edit="0"] & { 17 + .@{_top}[data-page="form"][data-edit="0"] & { 18 18 display: block; 19 19 } 20 20 } 21 21 22 22 &--results { 23 - .@{_top}[data-page=results][data-edit="0"] & { 23 + .@{_top}[data-page="results"][data-edit="0"] & { 24 24 display: block; 25 25 } 26 26 }
+1 -1
resources/css/bem/forum-post-info.less
··· 62 62 &--registration { 63 63 font-size: @font-size--normal; 64 64 65 - strong { 65 + strong { 66 66 font-weight: 600; 67 67 } 68 68 }
+1 -1
resources/css/bem/forum-title.less
··· 7 7 flex: 1; 8 8 9 9 &::before { 10 - content: ''; 10 + content: ""; 11 11 position: absolute; 12 12 height: 80%; 13 13 width: 3px;
+9 -6
resources/css/bem/forum-topic-nav.less
··· 138 138 display: none; 139 139 } 140 140 } 141 - 142 141 } 143 142 144 143 &__mobile-float { ··· 159 158 position: absolute; 160 159 left: 0; 161 160 bottom: 100%; 162 - transition: width 500ms ease-out, height 120ms ease-out; 161 + transition: 162 + width 500ms ease-out, 163 + height 120ms ease-out; 163 164 cursor: pointer; 164 165 backface-visibility: hidden; 165 166 ··· 172 173 173 174 // easier targeting 174 175 &::after { 175 - content: ''; 176 + content: ""; 176 177 position: absolute; 177 178 left: 0; 178 179 bottom: 100%; ··· 214 215 width: 100%; 215 216 height: var(--main-height); 216 217 } 217 - 218 218 219 219 &__seek-tooltip { 220 220 position: absolute; 221 - bottom: calc(var(--main-height) + @_seek-bar-height-desktop-hover + @_seek-tooltip-arrow-height); 221 + bottom: calc( 222 + var(--main-height) + @_seek-bar-height-desktop-hover + 223 + @_seek-tooltip-arrow-height 224 + ); 222 225 223 226 display: flex; 224 227 width: 0; ··· 234 237 flex: none; 235 238 236 239 &::before { 237 - content: ''; 240 + content: ""; 238 241 position: absolute; 239 242 top: 100%; 240 243 left: 50%;
+10 -10
resources/css/bem/forum-user-badge.less
··· 2 2 // See the LICENCE file in the repository root for full licence text. 3 3 4 4 .forum-user-badge { 5 - background-color: @osu-colour-b6; 6 - color: @osu-colour-lime-2; 7 - font-size: @font-size--tiny; 8 - font-weight: 600; 9 - padding: 2px 10px; 10 - border-radius: 10000px; 11 - text-transform: uppercase; 5 + background-color: @osu-colour-b6; 6 + color: @osu-colour-lime-2; 7 + font-size: @font-size--tiny; 8 + font-weight: 600; 9 + padding: 2px 10px; 10 + border-radius: 10000px; 11 + text-transform: uppercase; 12 12 13 - @media @desktop { 14 - font-size: @font-size--small; 15 - } 13 + @media @desktop { 14 + font-size: @font-size--small; 15 + } 16 16 }
+1 -1
resources/css/bem/header-nav-mobile.less
··· 33 33 position: relative; 34 34 35 35 &::before { 36 - content: ''; 36 + content: ""; 37 37 z-index: @z-index--simple-menu-hover-object; 38 38 width: 100%; 39 39 height: 4px;
+2 -2
resources/css/bem/header-nav-v4.less
··· 29 29 gap: 20px; 30 30 31 31 &::before { 32 - content: ''; 32 + content: ""; 33 33 position: absolute; 34 34 bottom: 0; 35 35 width: 100%; ··· 61 61 62 62 @media @desktop { 63 63 &::before { 64 - content: ''; 64 + content: ""; 65 65 position: absolute; 66 66 bottom: -2px; 67 67 height: 5px;
+48 -42
resources/css/bem/header-v4.less
··· 20 20 display: flex; 21 21 justify-content: center; 22 22 overflow: hidden; 23 - .at2x-fallback(--header-bg, '~@images/headers/generic.jpg'); 23 + .at2x-fallback(--header-bg, "~@images/headers/generic.jpg"); 24 24 25 25 &::before { 26 - content: ''; 27 - background-image: linear-gradient(to right, @osu-colour-d5, transparent 200px, transparent 1000px, @osu-colour-d5 1200px); 26 + content: ""; 27 + background-image: linear-gradient( 28 + to right, 29 + @osu-colour-d5, 30 + transparent 200px, 31 + transparent 1000px, 32 + @osu-colour-d5 1200px 33 + ); 28 34 background-position: center; 29 35 height: 100%; 30 36 width: 1200px; ··· 37 43 } 38 44 39 45 .@{_top}--beatmappacks & { 40 - .at2x-simple('~@images/headers/beatmappacks.jpg'); 46 + .at2x-simple("~@images/headers/beatmappacks.jpg"); 41 47 } 42 48 43 49 .@{_top}--changelog & { 44 - .at2x-simple('~@images/headers/changelog.jpg'); 50 + .at2x-simple("~@images/headers/changelog.jpg"); 45 51 } 46 52 47 53 .@{_top}--chat & { 48 - .at2x-simple('~@images/headers/chat.jpg'); 54 + .at2x-simple("~@images/headers/chat.jpg"); 49 55 filter: hue-rotate(115deg); // fix colour 50 56 51 57 &::before { ··· 54 60 } 55 61 56 62 .@{_top}--contests & { 57 - .at2x-fallback(--header-bg, '~@images/headers/contest.jpg'); 63 + .at2x-fallback(--header-bg, "~@images/headers/contest.jpg"); 58 64 } 59 65 60 66 .@{_top}--forum & { ··· 66 72 } 67 73 68 74 .@{_top}--forums-index & { 69 - .at2x-simple('~@images/headers/forum-index.jpg'); 75 + .at2x-simple("~@images/headers/forum-index.jpg"); 70 76 } 71 77 72 78 .@{_top}--help & { ··· 74 80 } 75 81 76 82 .@{_top}--mp-history & { 77 - .at2x-simple('~@images/headers/mp-history.jpg'); 83 + .at2x-simple("~@images/headers/mp-history.jpg"); 78 84 } 79 85 80 86 .@{_top}--news & { 81 - .at2x-simple('~@images/headers/news.png'); 87 + .at2x-simple("~@images/headers/news.png"); 82 88 } 83 89 84 90 .@{_top}--password-reset & { 85 - .at2x-simple('~@images/headers/password-reset.jpg'); 91 + .at2x-simple("~@images/headers/password-reset.jpg"); 86 92 } 87 93 88 94 .@{_top}--rankings & { 89 - .at2x-simple('~@images/headers/rankings.jpg'); 95 + .at2x-simple("~@images/headers/rankings.jpg"); 90 96 } 91 97 92 98 .@{_top}--search & { 93 - .at2x-simple('~@images/headers/search.jpg'); 99 + .at2x-simple("~@images/headers/search.jpg"); 94 100 } 95 101 96 102 .@{_top}--store & { 97 103 opacity: 0.7; 98 - .at2x-simple('~@images/headers/store.png'); 104 + .at2x-simple("~@images/headers/store.png"); 99 105 } 100 106 101 107 .@{_top}--supporter & { 102 108 opacity: 0.2; 103 - .at2x-simple('~@images/headers/supporter.jpg'); 109 + .at2x-simple("~@images/headers/supporter.jpg"); 104 110 } 105 111 106 112 .@{_top}--tournaments & { 107 - .at2x-simple('~@images/headers/tournament-v2.jpg'); 113 + .at2x-simple("~@images/headers/tournament-v2.jpg"); 108 114 } 109 115 110 116 .@{_top}--users & { ··· 150 156 } 151 157 152 158 &__icon { 153 - background-image: url('~@images/icons/home.svg'); 159 + background-image: url("~@images/icons/home.svg"); 154 160 background-repeat: no-repeat; 155 161 background-position: center; 156 162 align-self: stretch; ··· 160 166 background-size: 75%; 161 167 162 168 .@{_top}--artist & { 163 - background-image: url('~@images/icons/artists.svg'); 169 + background-image: url("~@images/icons/artists.svg"); 164 170 } 165 171 166 172 .@{_top}--artists & { 167 - background-image: url('~@images/icons/artists.svg'); 173 + background-image: url("~@images/icons/artists.svg"); 168 174 } 169 175 170 176 .@{_top}--beatmappacks & { 171 - background-image: url('~@images/icons/beatmappacks.svg'); 177 + background-image: url("~@images/icons/beatmappacks.svg"); 172 178 } 173 179 174 180 .@{_top}--beatmapset & { 175 - background-image: url('~@images/icons/beatmapsets.svg'); 181 + background-image: url("~@images/icons/beatmapsets.svg"); 176 182 } 177 183 178 184 .@{_top}--beatmapsets & { 179 - background-image: url('~@images/icons/beatmapsets.svg'); 185 + background-image: url("~@images/icons/beatmapsets.svg"); 180 186 } 181 187 182 188 .@{_top}--changelog & { 183 - background-image: url('~@images/icons/changelog.svg'); 189 + background-image: url("~@images/icons/changelog.svg"); 184 190 } 185 191 186 192 .@{_top}--chat & { 187 - background-image: url('~@images/icons/chat.svg'); 193 + background-image: url("~@images/icons/chat.svg"); 188 194 } 189 195 190 196 .@{_top}--comments & { 191 - background-image: url('~@images/icons/chat.svg'); 197 + background-image: url("~@images/icons/chat.svg"); 192 198 } 193 199 194 200 .@{_top}--contests & { 195 - background-image: url('~@images/icons/contests.svg'); 201 + background-image: url("~@images/icons/contests.svg"); 196 202 } 197 203 198 204 .@{_top}--error & { 199 - background-image: url('~@images/icons/notifications.svg'); 205 + background-image: url("~@images/icons/notifications.svg"); 200 206 } 201 207 202 208 .@{_top}--forum & { 203 - background-image: url('~@images/icons/forum.svg'); 209 + background-image: url("~@images/icons/forum.svg"); 204 210 } 205 211 206 212 .@{_top}--forums-index & { 207 - background-image: url('~@images/icons/forum.svg'); 213 + background-image: url("~@images/icons/forum.svg"); 208 214 } 209 215 210 216 .@{_top}--friends & { 211 - background-image: url('~@images/icons/friends.svg'); 217 + background-image: url("~@images/icons/friends.svg"); 212 218 } 213 219 214 220 .@{_top}--help & { 215 - background-image: url('~@images/icons/help.svg'); 221 + background-image: url("~@images/icons/help.svg"); 216 222 } 217 223 218 224 .@{_top}--home & { 219 - background-image: url('~@images/icons/home.svg'); 225 + background-image: url("~@images/icons/home.svg"); 220 226 } 221 227 222 228 .@{_top}--livestreams & { 223 - background-image: url('~@images/icons/forum.svg'); 229 + background-image: url("~@images/icons/forum.svg"); 224 230 } 225 231 226 232 .@{_top}--news & { 227 - background-image: url('~@images/icons/news.svg'); 233 + background-image: url("~@images/icons/news.svg"); 228 234 } 229 235 230 236 .@{_top}--notifications & { 231 - background-image: url('~@images/icons/notifications.svg'); 237 + background-image: url("~@images/icons/notifications.svg"); 232 238 } 233 239 234 240 .@{_top}--password-reset & { 235 - background-image: url('~@images/icons/settings.svg'); 241 + background-image: url("~@images/icons/settings.svg"); 236 242 } 237 243 238 244 .@{_top}--rankings & { 239 - background-image: url('~@images/icons/rankings.svg'); 245 + background-image: url("~@images/icons/rankings.svg"); 240 246 } 241 247 242 248 .@{_top}--search & { 243 - background-image: url('~@images/icons/search.svg'); 249 + background-image: url("~@images/icons/search.svg"); 244 250 } 245 251 246 252 .@{_top}--settings & { 247 - background-image: url('~@images/icons/settings.svg'); 253 + background-image: url("~@images/icons/settings.svg"); 248 254 } 249 255 250 256 .@{_top}--store & { 251 - background-image: url('~@images/icons/store.svg'); 257 + background-image: url("~@images/icons/store.svg"); 252 258 } 253 259 254 260 .@{_top}--tournaments & { 255 - background-image: url('~@images/icons/tournaments.svg'); 261 + background-image: url("~@images/icons/tournaments.svg"); 256 262 } 257 263 258 264 .@{_top}--users & { 259 - background-image: url('~@images/icons/profile.svg'); 265 + background-image: url("~@images/icons/profile.svg"); 260 266 } 261 267 } 262 268
-1
resources/css/bem/input-container.less
··· 57 57 font-size: @font-size--normal; 58 58 } 59 59 } 60 -
+8 -6
resources/css/bem/js-flash-border.less
··· 2 2 // See the LICENCE file in the repository root for full licence text. 3 3 4 4 .js-flash-border { 5 - transition: border 200ms; 6 - border: 1px solid transparent; 5 + transition: border 200ms; 6 + border: 1px solid transparent; 7 7 8 - &--on { 9 - animation: js-flash-border 400ms 2; 10 - } 8 + &--on { 9 + animation: js-flash-border 400ms 2; 10 + } 11 11 } 12 12 13 13 @keyframes js-flash-border { 14 - 50% { border-color: @yellow; } 14 + 50% { 15 + border-color: @yellow; 16 + } 15 17 }
+4 -4
resources/css/bem/landing-hero.less
··· 23 23 24 24 &::after { 25 25 .full-size(); 26 - content: ''; 26 + content: ""; 27 27 background-color: hsla(var(--hsl-b6), 0.5); 28 28 } 29 29 } ··· 54 54 } 55 55 56 56 &__logo { 57 - .at2x-simple('~@images/layout/osu-logo.png'); 57 + .at2x-simple("~@images/layout/osu-logo.png"); 58 58 width: @logo-size; 59 59 height: @logo-size; 60 60 background-size: contain; ··· 119 119 width: calc(100% - @side-padding); 120 120 max-width: 328px; 121 121 background-size: contain; 122 - .at2x-simple('~@images/layout/pippi.png'); 122 + .at2x-simple("~@images/layout/pippi.png"); 123 123 transition: all 1s; 124 124 125 125 @media @mobile { ··· 128 128 } 129 129 130 130 &__pippi-logo { 131 - .at2x-simple('~@images/landing/logo.png'); 131 + .at2x-simple("~@images/landing/logo.png"); 132 132 width: 100%; 133 133 height: 100%; 134 134 background-size: contain;
+1 -1
resources/css/bem/landing-nav.less
··· 83 83 flex-direction: column; 84 84 85 85 &::before { 86 - content: ''; 86 + content: ""; 87 87 width: 100%; 88 88 height: 10px; 89 89 bottom: 100%;
+1 -1
resources/css/bem/line-chart.less
··· 69 69 display: flex; 70 70 flex-direction: column; 71 71 72 - &[data-float=right] { 72 + &[data-float="right"] { 73 73 left: auto; 74 74 right: 0; 75 75 }
+1 -1
resources/css/bem/livestream-featured.less
··· 7 7 position: relative; 8 8 9 9 &::before { 10 - content: ''; 10 + content: ""; 11 11 display: block; 12 12 width: 100%; 13 13 // ensuring fixed aspect ratio
+6 -6
resources/css/bem/loading-overlay.less
··· 27 27 28 28 &::before { 29 29 .full-size(); 30 - content: ''; 30 + content: ""; 31 31 background-color: #000; 32 32 will-change: opacity; 33 33 } ··· 41 41 animation-fill-mode: forwards; 42 42 } 43 43 } 44 - 45 44 46 45 &__container { 47 46 width: @circle-size*4; ··· 109 108 border-radius: 100%; 110 109 background-color: transparent; 111 110 112 - 113 111 .@{_top}--visible & { 114 112 animation-name: loading-overlay--circle-approach; 115 113 } ··· 146 144 animation-fill-mode: forwards; 147 145 will-change: opacity; 148 146 149 - @animation-delay-start: @animation-delay*1/8; 147 + @animation-delay-start: @animation-delay*1 / 8; 150 148 151 149 .@{_top}--visible & { 152 150 animation-name: loading-overlay--follow-point; ··· 188 186 opacity: 1; 189 187 } 190 188 191 - 20.1%, 100% { 189 + 20.1%, 190 + 100% { 192 191 transform: scale(0.5); 193 192 opacity: 0; 194 193 } ··· 205 204 opacity: 1; 206 205 } 207 206 208 - 40%, 100% { 207 + 40%, 208 + 100% { 209 209 transform: scale(1); 210 210 opacity: 0; 211 211 }
+1 -2
resources/css/bem/medals-group.less
··· 1 1 // Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the GNU Affero General Public License v3.0. 2 2 // See the LICENCE file in the repository root for full licence text. 3 3 4 - 5 4 .medals-group { 6 5 display: grid; 7 6 gap: 20px; ··· 35 34 position: relative; 36 35 37 36 &::before { 38 - content: ''; 37 + content: ""; 39 38 position: absolute; 40 39 top: 0; 41 40 left: 0;
+1 -1
resources/css/bem/mobile-menu-tab.less
··· 30 30 color: @osu-colour-c1; 31 31 32 32 &::before { 33 - content: ''; 33 + content: ""; 34 34 display: block; 35 35 position: absolute; 36 36 height: 4px;
+27 -27
resources/css/bem/mod.less
··· 24 24 } 25 25 } 26 26 27 - .all(~"4K", '4K'); 28 - .all(~"5K", '5K'); 29 - .all(~"6K", '6K'); 30 - .all(~"7K", '7K'); 31 - .all(~"8K", '8K'); 32 - .all(~"9K", '9K'); 33 - .all(~"AP", 'autopilot'); 34 - .all(~"CL", 'classic'); 35 - .all(~"DT", 'double-time'); 36 - .all(~"EZ", 'easy'); 37 - .all(~"FI", 'fader'); 38 - .all(~"FL", 'flashlight'); 39 - .all(~"HD", 'hidden'); 40 - .all(~"HR", 'hard-rock'); 41 - .all(~"HT", 'half'); 42 - .all(~"MR", 'mirror'); 43 - .all(~"NC", 'nightcore'); 44 - .all(~"NF", 'no-fail'); 45 - .all(~"NM", 'no-mod'); 46 - .all(~"PF", 'perfect'); 47 - .all(~"RD", 'random'); 48 - .all(~"RX", 'relax'); 49 - .all(~"SD", 'sudden-death'); 50 - .all(~"SO", 'spun-out'); 51 - .all(~"TD", 'touchdevice'); 52 - .all(~"V2", 'v2'); 27 + .all(~"4K", "4K"); 28 + .all(~"5K", "5K"); 29 + .all(~"6K", "6K"); 30 + .all(~"7K", "7K"); 31 + .all(~"8K", "8K"); 32 + .all(~"9K", "9K"); 33 + .all(~"AP", "autopilot"); 34 + .all(~"CL", "classic"); 35 + .all(~"DT", "double-time"); 36 + .all(~"EZ", "easy"); 37 + .all(~"FI", "fader"); 38 + .all(~"FL", "flashlight"); 39 + .all(~"HD", "hidden"); 40 + .all(~"HR", "hard-rock"); 41 + .all(~"HT", "half"); 42 + .all(~"MR", "mirror"); 43 + .all(~"NC", "nightcore"); 44 + .all(~"NF", "no-fail"); 45 + .all(~"NM", "no-mod"); 46 + .all(~"PF", "perfect"); 47 + .all(~"RD", "random"); 48 + .all(~"RX", "relax"); 49 + .all(~"SD", "sudden-death"); 50 + .all(~"SO", "spun-out"); 51 + .all(~"TD", "touchdevice"); 52 + .all(~"V2", "v2"); 53 53 54 54 .type-bg(Automation); 55 55 .type-bg(Conversion); ··· 63 63 background-size: contain; 64 64 background-position: center; 65 65 background-repeat: no-repeat; 66 - content: ''; 66 + content: ""; 67 67 display: var(--generic-display); 68 68 69 69 @media @highdpi {
+2 -2
resources/css/bem/mp-history-game.less
··· 108 108 padding: 10px; 109 109 background-color: @osu-colour-b3; 110 110 111 - &--no-teams, &:last-child { 111 + &--no-teams, 112 + &:last-child { 112 113 border-radius: 0 0 @border-radius-base @border-radius-base; 113 114 } 114 115 } ··· 153 154 width: 50%; 154 155 155 156 padding: 20px; 156 - 157 157 158 158 @media @desktop { 159 159 width: unset;
+10 -2
resources/css/bem/multiplayer-room.less
··· 4 4 .multiplayer-room { 5 5 --bg: hsla(var(--hsl-b6), 0.75); 6 6 --border-radius: @border-radius--large; 7 - --room-bg: linear-gradient(0.25turn, hsl(var(--hsl-b2)), hsla(var(--hsl-b2), 0.8)); 7 + --room-bg: linear-gradient( 8 + 0.25turn, 9 + hsl(var(--hsl-b2)), 10 + hsla(var(--hsl-b2), 0.8) 11 + ); 8 12 9 13 .link-hover({ 10 14 --room-bg: linear-gradient(0.25turn, hsl(var(--hsl-b4)), hsla(var(--hsl-b4), 0.8)); ··· 79 83 &__difficulty { 80 84 display: flex; 81 85 border-radius: 10000px; 82 - background: linear-gradient(0deg, var(--max-difficulty) 50%, var(--min-difficulty) 50%); 86 + background: linear-gradient( 87 + 0deg, 88 + var(--max-difficulty) 50%, 89 + var(--min-difficulty) 50% 90 + ); 83 91 } 84 92 85 93 &__members {
+2 -1
resources/css/bem/nav-button.less
··· 11 11 border-radius: 10000px; 12 12 transition: none; 13 13 14 - &.js-click-menu--active, &:hover { 14 + &.js-click-menu--active, 15 + &:hover { 15 16 background-color: hsla(var(--hsl-c1), 0.2); 16 17 } 17 18
-1
resources/css/bem/nav-click-popup.less
··· 1 1 // Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the GNU Affero General Public License v3.0. 2 2 // See the LICENCE file in the repository root for full licence text. 3 3 4 - 5 4 .nav-click-popup { 6 5 position: absolute; 7 6 top: 100%;
+2 -2
resources/css/bem/nav2-header.less
··· 21 21 transition-duration: 0s; 22 22 border-bottom: 1px solid @osu-colour-h1; 23 23 24 - &[data-visibility=hidden] { 24 + &[data-visibility="hidden"] { 25 25 transition-duration: 250ms; 26 26 } 27 27 } ··· 39 39 40 40 &__triangles { 41 41 .full-size(); 42 - background-image: url('~@images/layout/nav2-background-hue0.png'); 42 + background-image: url("~@images/layout/nav2-background-hue0.png"); 43 43 background-position: bottom center; 44 44 background-repeat: repeat-x; 45 45 filter: hue-rotate(var(--base-hue-deg)) saturate(0.6);
+10 -4
resources/css/bem/nav2.less
··· 82 82 width: @_logo-size; 83 83 height: @_logo-size; 84 84 margin: -@__logo-whitespace; 85 - transition: width var(--header-pinned-animation-duration), height var(--header-pinned-animation-duration); 85 + transition: 86 + width var(--header-pinned-animation-duration), 87 + height var(--header-pinned-animation-duration); 86 88 position: relative; 87 89 88 90 .@{header-pinned} & { ··· 99 101 color: @pink-light; 100 102 101 103 &::after { 102 - content: ''; 104 + content: ""; 103 105 position: absolute; 104 106 105 107 border-radius: 10px; 106 108 top: (@_link-padding-vertical + @_link-highlight-margin-vertical); 107 109 right: 100%; 108 110 width: 3px; 109 - height: calc(100% - (@_link-padding-vertical * 2 + @_link-highlight-margin-vertical * 2)); 111 + height: calc( 112 + 100% - 113 + (@_link-padding-vertical * 2 + @_link-highlight-margin-vertical * 2) 114 + ); 110 115 background-color: @yellow; 111 116 opacity: 0; 112 117 will-change: opacity; ··· 135 140 .@{_top}__colgroup:hover & { 136 141 color: fade(#fff, 70%); 137 142 138 - &:hover, &.js-menu--active { 143 + &:hover, 144 + &.js-menu--active { 139 145 color: #fff; 140 146 } 141 147 }
+4 -2
resources/css/bem/navbar-mobile-item.less
··· 57 57 color: @_colour-base; 58 58 } 59 59 60 - &:hover, &:active { 60 + &:hover, 61 + &:active { 61 62 color: @_colour-hover; 62 63 } 63 64 ··· 80 81 .link-plain(); 81 82 display: flex; 82 83 align-items: center; 83 - padding: 5px @navbar-padding-horizontal 5px (@navbar-mobile--content-height + 30px); 84 + padding: 5px @navbar-padding-horizontal 5px 85 + (@navbar-mobile--content-height + 30px); 84 86 color: @osu-colour-c2; 85 87 86 88 &:hover {
+4 -2
resources/css/bem/news-card.less
··· 28 28 } 29 29 30 30 &__cover-container { 31 - .at2x-simple('~@images/headers/news-show-default.jpg'); 31 + .at2x-simple("~@images/headers/news-show-default.jpg"); 32 32 background-size: cover; 33 33 background-repeat: no-repeat; 34 34 border-radius: @border-radius-large; ··· 66 66 font-size: @font-size--normal; 67 67 68 68 &--author { 69 - strong { font-weight: 600; } 69 + strong { 70 + font-weight: 600; 71 + } 70 72 } 71 73 72 74 &--preview {
+1 -1
resources/css/bem/notification-action-button.less
··· 27 27 28 28 &::before { 29 29 .full-size(); 30 - content: ''; 30 + content: ""; 31 31 width: @border-radius-large; 32 32 border-radius: 0 @border-radius-large @border-radius-large 0; 33 33 background-color: transparent;
+2 -2
resources/css/bem/notification-banner-v2.less
··· 17 17 text-align: center; 18 18 position: relative; 19 19 --divider-colour: @red; 20 - --icon: url('~@images/layout/exclamation-icon.svg'); 20 + --icon: url("~@images/layout/exclamation-icon.svg"); 21 21 22 22 @media @desktop { 23 23 flex-direction: row; ··· 65 65 66 66 &::after { 67 67 position: absolute; 68 - content: ''; 68 + content: ""; 69 69 height: @_bar-width; 70 70 background-color: var(--divider-colour); 71 71 border-radius: 10px;
+2 -1
resources/css/bem/notification-popup-item-group.less
··· 4 4 .notification-popup-item-group { 5 5 @_top: notification-category-group; 6 6 background-color: @osu-colour-b5; 7 - border-radius: (@border-radius-large + 10px) (@border-radius-large + 10px) @border-radius-large @border-radius-large; 7 + border-radius: (@border-radius-large + 10px) (@border-radius-large + 10px) 8 + @border-radius-large @border-radius-large; 8 9 display: flex; 9 10 flex-direction: column; 10 11
+4 -4
resources/css/bem/notification-popup-item.less
··· 127 127 128 128 .@{_top}:hover & { 129 129 .show-more-link { 130 - background-color: hsl(var(--hsl-b1)); 131 - &:hover { 132 - background-color: hsl(var(--hsl-b3)); 133 - } 130 + background-color: hsl(var(--hsl-b1)); 131 + &:hover { 132 + background-color: hsl(var(--hsl-b3)); 133 + } 134 134 } 135 135 } 136 136 }
+2 -1
resources/css/bem/notification-popup.less
··· 34 34 @media @desktop { 35 35 -webkit-overflow-scrolling: touch; 36 36 overflow: auto; 37 - max-height: calc(var(--vh, 1vh) * 100 - (@nav2-height + 30px)); // 30px is the parent's padding 37 + // 30px is the parent's padding 38 + max-height: calc(var(--vh, 1vh) * 100 - (@nav2-height + 30px)); 38 39 padding: 0 5px; 39 40 } 40 41 }
+11 -7
resources/css/bem/osu-layout.less
··· 10 10 display: flex; 11 11 flex-direction: column; 12 12 13 - transition: filter 200ms ease-in-out, opacity 200ms ease-in-out; // for fading in after &--masked is removed 13 + // for fading in after &--masked is removed 14 + transition: 15 + filter 200ms ease-in-out, 16 + opacity 200ms ease-in-out; 14 17 15 18 &--body { 16 - --nav-logo: url('~@images/layout/osu-logo-white.svg'); 17 - --nav-logo-bg: url('~@images/layout/osu-logo-triangles.svg'); 19 + --nav-logo: url("~@images/layout/osu-logo-white.svg"); 20 + --nav-logo-bg: url("~@images/layout/osu-logo-triangles.svg"); 18 21 19 22 background-color: @osu-colour-b6; 20 23 } ··· 33 36 height: 100%; 34 37 top: 0; 35 38 left: 0; 36 - content: ''; 39 + content: ""; 37 40 z-index: @z-index--body-background; 38 41 } 39 42 } 40 43 41 44 &--body-lazer { 42 - --nav-logo: url('~@images/layout/osu-lazer-logo-white.svg'); 43 - --nav-logo-bg: url('~@images/layout/osu-lazer-logo-triangles.svg'); 45 + --nav-logo: url("~@images/layout/osu-lazer-logo-white.svg"); 46 + --nav-logo-bg: url("~@images/layout/osu-lazer-logo-triangles.svg"); 44 47 } 45 48 46 49 &--full { ··· 55 58 pointer-events: none; 56 59 backface-visibility: hidden; // prevents flashing in some browers on resize/transition start 57 60 58 - @media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) { 61 + @media screen and (-ms-high-contrast: active), 62 + screen and (-ms-high-contrast: none) { 59 63 /* IE10+ fallback */ 60 64 opacity: 0; 61 65 }
+8 -3
resources/css/bem/osu-md.less
··· 68 68 flex: 1; 69 69 overflow-wrap: anywhere; 70 70 71 - h1, h2, h3, h4, h5, h6 { 71 + h1, 72 + h2, 73 + h3, 74 + h4, 75 + h5, 76 + h6 { 72 77 font-size: revert; 73 78 border-bottom: 1px solid hsl(var(--hsl-b3)); 74 79 } ··· 79 84 font-style: italic; 80 85 81 86 &::before { 82 - content: '* '; 87 + content: "* "; 83 88 } 84 89 &::after { 85 - content: ' *'; 90 + content: " *"; 86 91 } 87 92 } 88 93
+11 -4
resources/css/bem/osu-page.less
··· 39 39 padding-bottom: 20px; 40 40 color: @osu-colour-c1; 41 41 42 - h1, h3, h4 { 42 + h1, 43 + h3, 44 + h4 { 43 45 font-style: normal; 44 46 color: white; 45 47 } ··· 154 156 animation: forum-topic-reply-flash 500ms ease-in-out; 155 157 156 158 @keyframes forum-topic-reply-flash { 157 - 50% { background-color: @osu-colour-b1; } 159 + 50% { 160 + background-color: @osu-colour-b1; 161 + } 158 162 } 159 163 } 160 164 161 - &[data-state=stick] { 165 + &[data-state="stick"] { 162 166 position: fixed; 163 167 z-index: @z-index--forum-topic-reply-stick; 164 168 bottom: 0; // weird flashing in firefox android on certain scroll if using top ··· 249 253 250 254 flex: 1 0 auto; 251 255 display: flex; 252 - height: calc((var(--vh, 1vh) * 100) - (@header-container-min-height + 60px)); // viewport height - (header + footer + margins) 256 + // viewport height - (header + footer + margins) 257 + height: calc( 258 + (var(--vh, 1vh) * 100) - (@header-container-min-height + 60px) 259 + ); 253 260 254 261 @media @mobile { 255 262 height: calc((var(--vh, 1vh) * 100) - var(--navbar-height));
+6 -6
resources/css/bem/osu-switch-v2.less
··· 49 49 } 50 50 } 51 51 52 - .@{_top}__input[type=checkbox] + & { 52 + .@{_top}__input[type="checkbox"] + & { 53 53 border-radius: 0.5em; 54 54 55 55 &::after { 56 56 .fas(); 57 - content: '\f00c'; 57 + content: "\f00c"; 58 58 } 59 59 } 60 60 61 - .@{_top}__input[type=checkbox][data-indeterminate='true'] + & { 61 + .@{_top}__input[type="checkbox"][data-indeterminate="true"] + & { 62 62 color: hsl(var(--hsl-h1)); 63 63 64 64 &::after { 65 65 .fas(); 66 - content: '\f068'; 66 + content: "\f068"; 67 67 opacity: 1; 68 68 } 69 69 } 70 70 71 - .@{_top}__input[type=radio] + & { 71 + .@{_top}__input[type="radio"] + & { 72 72 border-radius: 50%; 73 73 74 74 &::after { 75 - content: ''; 75 + content: ""; 76 76 background-color: currentColor; 77 77 border-radius: 50%; 78 78 width: calc(100% - 6px);
+1 -1
resources/css/bem/osu-table.less
··· 3 3 4 4 .osu-table { 5 5 @_top: osu-table; 6 - @passive-row: ~'@{_top}__body-row--highlightable'; 6 + @passive-row: ~"@{_top}__body-row--highlightable"; 7 7 8 8 @handle: 16px; 9 9 @row-height: 1.8em;
+2 -1
resources/css/bem/page-mode-link.less
··· 13 13 white-space: nowrap; 14 14 } 15 15 16 - &.js-is-active, &--is-active { 16 + &.js-is-active, 17 + &--is-active { 17 18 font-weight: 600; 18 19 color: #fff; 19 20
+7 -2
resources/css/bem/page-mode.less
··· 77 77 78 78 // pls halp 79 79 .@{_top}--breadcrumb & + &::before { 80 - content: '»'; 80 + content: "»"; 81 81 margin-right: 10px; 82 82 margin-top: 5px; 83 83 vertical-align: middle; ··· 105 105 margin-top: 0; 106 106 border: 0; 107 107 height: 1px; 108 - background-image: linear-gradient(to right, transparent, @osu-colour-b6, transparent); 108 + background-image: linear-gradient( 109 + to right, 110 + transparent, 111 + @osu-colour-b6, 112 + transparent 113 + ); 109 114 } 110 115 }
+2 -2
resources/css/bem/page-nav-fancy.less
··· 4 4 .page-nav-fancy { 5 5 @_top: page-nav-fancy; 6 6 7 - .at2x-simple('~@images/headers/news-show-default.jpg'); 7 + .at2x-simple("~@images/headers/news-show-default.jpg"); 8 8 .link-plain(); 9 9 .link-white(); 10 10 background-position: center; ··· 28 28 .full-size(); 29 29 .fade-element(120ms); 30 30 will-change: opacity; 31 - content: ''; 31 + content: ""; 32 32 background-color: @osu-colour-b6; 33 33 opacity: 0.75; 34 34 }
+13 -4
resources/css/bem/page-tabs.less
··· 14 14 position: relative; 15 15 16 16 &::before { 17 - content: ''; 17 + content: ""; 18 18 19 19 position: absolute; 20 20 top: 100%; ··· 23 23 width: 100%; 24 24 height: 1px; 25 25 26 - background-image:linear-gradient(to left, transparent 10%, @osu-colour-b1 50%, transparent 90%); 26 + background-image: linear-gradient( 27 + to left, 28 + transparent 10%, 29 + @osu-colour-b1 50%, 30 + transparent 90% 31 + ); 27 32 } 28 33 29 34 &--follows { ··· 52 57 cursor: pointer; 53 58 position: relative; // so it's above block's ::before 54 59 55 - &:hover, &:active, &:focus { 60 + &:hover, 61 + &:active, 62 + &:focus { 56 63 color: @osu-colour-l1; 57 64 text-decoration: none; 58 65 border-bottom-color: var(--tab-hover-border-colour); ··· 68 75 color: #ccc; 69 76 cursor: default; 70 77 71 - &:hover, &:active, &:focus { 78 + &:hover, 79 + &:active, 80 + &:focus { 72 81 color: #ccc; 73 82 text-decoration: none; 74 83 }
+2 -2
resources/css/bem/password-reset.less
··· 16 16 margin-top: 5px; 17 17 color: @yellow; 18 18 19 - [data-form-error-state=error] & { 19 + [data-form-error-state="error"] & { 20 20 display: block; 21 21 } 22 22 } ··· 33 33 border-color: @yellow; 34 34 } 35 35 36 - [data-form-error-state=error] & { 36 + [data-form-error-state="error"] & { 37 37 border-color: @red; 38 38 } 39 39 }
+5 -3
resources/css/bem/play-detail.less
··· 27 27 min-height: auto; 28 28 background-color: transparent; 29 29 30 - &:hover, &--active { 30 + &:hover, 31 + &--active { 31 32 --bg: hsl(var(--hsl-b2)); 32 33 --bg-main: hsl(var(--hsl-b1)); 33 34 } ··· 169 170 position: relative; 170 171 right: auto; 171 172 bottom: auto; 172 - padding: @_padding-vertical-desktop @_padding-horizontal @_padding-vertical-desktop (@_padding-horizontal + 10px); 173 + padding: @_padding-vertical-desktop @_padding-horizontal 174 + @_padding-vertical-desktop (@_padding-horizontal + 10px); 173 175 min-width: 110px; 174 176 flex: none; 175 177 background: var(--bg); ··· 178 180 179 181 &::before { 180 182 @media @desktop { 181 - content: ''; 183 + content: ""; 182 184 width: 10px; 183 185 height: 100%; 184 186 position: absolute;
+4 -3
resources/css/bem/product-box.less
··· 33 33 &--card { 34 34 padding: 20px; 35 35 36 - &::before, &::after { 36 + &::before, 37 + &::after { 37 38 .full-size(); 38 - content: ''; 39 + content: ""; 39 40 will-change: opacity; 40 41 transition: opacity 120ms; 41 42 pointer-events: none; ··· 76 77 &__oos-bar { 77 78 width: 233px; 78 79 height: 136px; 79 - .at2x-simple('~@images/layout/store-out-of-stock-bar.png'); 80 + .at2x-simple("~@images/layout/store-out-of-stock-bar.png"); 80 81 background-size: contain; 81 82 position: absolute; 82 83 bottom: 0;
+1 -1
resources/css/bem/profile-cover-change-popup.less
··· 46 46 // placeholder to prevent triggering dragleave when entering child element 47 47 &::after { 48 48 .full-size(); 49 - content: ''; 49 + content: ""; 50 50 } 51 51 } 52 52 }
+1 -1
resources/css/bem/profile-extra-entries.less
··· 28 28 29 29 &::before { 30 30 .full-size(); 31 - content: ''; 31 + content: ""; 32 32 margin: 0 -10px; 33 33 width: calc(100% + 20px); 34 34 pointer-events: none;
+1 -1
resources/css/bem/profile-extra-recent-infringements.less
··· 78 78 color: @osu-colour-l1; 79 79 80 80 &::before { 81 - content: ''; 81 + content: ""; 82 82 } 83 83 } 84 84 }
+8 -3
resources/css/bem/profile-hue-selector.less
··· 26 26 top: 0; 27 27 width: @handle-width; 28 28 height: 100%; 29 - background-color: hsl(var(--hue), var(--c-saturation-2), var(--c-lightness-2)); 29 + background-color: hsl( 30 + var(--hue), 31 + var(--c-saturation-2), 32 + var(--c-lightness-2) 33 + ); 30 34 } 31 35 } 32 36 ··· 38 42 --lightness: var(--c-lightness-3); 39 43 // TODO: replace with this simpler alternative once supported by the next Firefox ESR (>127): 40 44 // background: linear-gradient(to right in hsl longer hue, var(--start-colour), var(--end-colour)); 41 - background: linear-gradient(to right, 45 + background: linear-gradient( 46 + to right, 42 47 hsl(0, var(--saturation), var(--lightness)) 0%, 43 48 hsl(60, var(--saturation), var(--lightness)) 16.67%, 44 49 hsl(120, var(--saturation), var(--lightness)) 33.33%, 45 50 hsl(180, var(--saturation), var(--lightness)) 50%, 46 51 hsl(240, var(--saturation), var(--lightness)) 66.67%, 47 52 hsl(300, var(--saturation), var(--lightness)) 83.33%, 48 - hsl(360, var(--saturation), var(--lightness)) 100%, 53 + hsl(360, var(--saturation), var(--lightness)) 100% 49 54 ); 50 55 } 51 56 }
+1 -1
resources/css/bem/profile-previous-usernames.less
··· 10 10 border-radius: @border-radius-large; 11 11 display: flex; 12 12 align-items: baseline; 13 - transition: all 200ms cubic-bezier(.22,.61,.36,1); 13 + transition: all 200ms cubic-bezier(0.22, 0.61, 0.36, 1); 14 14 text-shadow: initial; 15 15 16 16 @media @desktop {
+7 -4
resources/css/bem/report-form.less
··· 24 24 max-width: 100vw; 25 25 } 26 26 27 - 28 27 &__button { 29 28 .reset-input(); 30 29 .default-text-shadow(); ··· 39 38 &[disabled] { 40 39 &::before { 41 40 .full-size(); 42 - content: ''; 41 + content: ""; 43 42 border-radius: inherit; 44 43 background-color: fade(#000, 50%); 45 44 } 46 45 } 47 46 48 - &:focus, &:hover, &:active { 47 + &:focus, 48 + &:hover, 49 + &:active { 49 50 background-color: @osu-colour-b6; 50 51 } 51 52 ··· 56 57 &--report { 57 58 background-color: @red-dark; 58 59 59 - &:focus, &:hover, &:active { 60 + &:focus, 61 + &:hover, 62 + &:active { 60 63 background-color: @red; 61 64 } 62 65 }
+1 -1
resources/css/bem/score-buttons.less
··· 13 13 14 14 .link-hover({ 15 15 background-color: hsl(var(--hsl-l1)); 16 - }) 16 + }); 17 17 } 18 18 }
+1 -1
resources/css/bem/score-info.less
··· 52 52 53 53 &::after { 54 54 .full-size(); 55 - content: ''; 55 + content: ""; 56 56 background-color: hsla(var(--hsl-b6), 0.75); 57 57 } 58 58 }
+3 -1
resources/css/bem/search-result-more.less
··· 24 24 color: @osu-colour-c1; 25 25 } 26 26 27 - &:focus, &:active, &:hover { 27 + &:focus, 28 + &:active, 29 + &:hover { 28 30 color: @osu-colour-c1; 29 31 } 30 32
+1 -1
resources/css/bem/search-result.less
··· 13 13 14 14 &::before { 15 15 .full-size(); 16 - content: ''; 16 + content: ""; 17 17 width: 5px; 18 18 border-top-left-radius: @border-radius-base; 19 19 border-bottom-left-radius: @border-radius-base;
+6 -3
resources/css/bem/show-more-link.less
··· 76 76 margin: 5px auto 0; 77 77 } 78 78 79 - &[data-disabled='1'], &.js-disabled { 79 + &[data-disabled="1"], 80 + &.js-disabled { 80 81 background-color: @osu-colour-b2; 81 82 } 82 83 ··· 86 87 position: absolute; 87 88 display: none; 88 89 89 - .@{_top}[data-disabled='1'] &, .@{_top}.js-disabled & { 90 + .@{_top}[data-disabled="1"] &, 91 + .@{_top}.js-disabled & { 90 92 display: flex; 91 93 } 92 94 } ··· 97 99 display: flex; 98 100 align-items: center; 99 101 100 - .@{_top}[data-disabled='1'] &, .@{_top}.js-disabled & { 102 + .@{_top}[data-disabled="1"] &, 103 + .@{_top}.js-disabled & { 101 104 opacity: 0; 102 105 } 103 106 }
+2 -2
resources/css/bem/simple-form.less
··· 43 43 44 44 &:empty { 45 45 &::before { 46 - content: '\a0'; 46 + content: "\a0"; 47 47 } 48 48 } 49 49 } ··· 101 101 102 102 &:empty { 103 103 &::before { 104 - content: '\a0'; 104 + content: "\a0"; 105 105 } 106 106 } 107 107
+9 -5
resources/css/bem/simple-menu.less
··· 51 51 52 52 // extends mouse hover area to cover margin-bottom 53 53 &::after { 54 - content: ''; 54 + content: ""; 55 55 display: block; 56 56 position: absolute; 57 57 top: 100%; ··· 113 113 114 114 .@{_top}--forum-topic-moderation & { 115 115 // hopefully 25px is enough to account for scrollbar (when exists) 116 - max-width: calc(100vw - (2 * @forum-topic-nav-item--gutter + 2 * @_padding-vertical + 25px)); 116 + max-width: calc( 117 + 100vw - 118 + (2 * @forum-topic-nav-item--gutter + 2 * @_padding-vertical + 25px) 119 + ); 117 120 width: max-content; 118 121 display: grid; 119 122 grid-template-columns: repeat(auto-fit, @btn-circle-diameter); ··· 163 166 164 167 &::before { 165 168 .full-size(); 166 - content: ''; 169 + content: ""; 167 170 background-color: fade(#000, 50%); 168 171 } 169 172 ··· 182 185 &__item { 183 186 .highlight-stripe() { 184 187 &::before { 185 - content: ''; 188 + content: ""; 186 189 border-radius: 10px; 187 190 position: absolute; 188 191 top: (@_item-padding-vertical + 2px); ··· 239 242 } 240 243 } 241 244 242 - &[disabled], &--disabled { 245 + &[disabled], 246 + &--disabled { 243 247 color: #999; 244 248 // disable hover 245 249 pointer-events: none;
+1 -1
resources/css/bem/sort.less
··· 47 47 48 48 &:hover { 49 49 background-color: var(--item-hover-bg); 50 - }; 50 + } 51 51 } 52 52 53 53 &--contest-judge {
+1 -1
resources/css/bem/sticky-header-breadcrumbs.less
··· 17 17 & + & { 18 18 &::before { 19 19 .fas(); 20 - content: '\f105'; 20 + content: "\f105"; 21 21 margin: 0 10px; 22 22 } 23 23 }
+1 -1
resources/css/bem/store-notice.less
··· 15 15 16 16 &--important { 17 17 background-color: @yellow; 18 - background-image: url('~@images/backgrounds/button.svg'); 18 + background-image: url("~@images/backgrounds/button.svg"); 19 19 background-size: @container-tablet; 20 20 background-position: center; 21 21 color: @osu-colour-b6;
+2 -2
resources/css/bem/store-order.less
··· 39 39 .colors(processing); 40 40 .colors(shipped); 41 41 42 - &::before{ 43 - content: ''; 42 + &::before { 43 + content: ""; 44 44 position: absolute; 45 45 top: 0; 46 46 left: 0;
+2 -2
resources/css/bem/store-payment-button.less
··· 25 25 } 26 26 27 27 &--paypal { 28 - background-image: url('~@images/store/paypal.png'); 28 + background-image: url("~@images/store/paypal.png"); 29 29 } 30 30 31 31 &--xsolla { 32 - background-image: url('~@images/store/xsolla.png'); 32 + background-image: url("~@images/store/xsolla.png"); 33 33 } 34 34 }
+14 -6
resources/css/bem/store-slider.less
··· 14 14 padding: 0 (@slider-callout--width / 2 - @gutter-v2 + 2px); 15 15 16 16 @media @desktop { 17 - padding: 0 ((@slider-callout--width + @callout-extension) / 2 - @gutter-v2-desktop + 2px); 17 + padding: 0 18 + ( 19 + (@slider-callout--width + @callout-extension) / 2 - @gutter-v2-desktop + 20 + 2px 21 + ); 18 22 } 19 23 20 - &__bigtext { // stupid name 24 + &__bigtext { 25 + // stupid name 21 26 font-size: @font-size--large; 22 27 font-weight: 600; 23 28 } ··· 45 50 width: @slider-callout--width + @callout-extension; 46 51 } 47 52 48 - &::after, &::before { 53 + &::after, 54 + &::before { 49 55 top: 100%; 50 56 left: 50%; 51 57 border: solid transparent; 52 - content: ''; 58 + content: ""; 53 59 height: 0; 54 60 width: 0; 55 61 position: absolute; ··· 97 103 margin: 0 @preset-margin; 98 104 } 99 105 100 - &__subtext { // stupid name 106 + &__subtext { 107 + // stupid name 101 108 margin-top: 2px; 102 109 color: @osu-colour-c2; 103 110 } ··· 114 121 } 115 122 116 123 &--disabled { 117 - .ui-slider-handle, .ui-slider-range { 124 + .ui-slider-handle, 125 + .ui-slider-range { 118 126 background-color: @osu-colour-b1; 119 127 } 120 128 }
+1 -1
resources/css/bem/store-xsolla.less
··· 24 24 &__icon { 25 25 width: 40px; 26 26 height: 40px; 27 - background-image: url('~@images/layout/xsolla.png'); 27 + background-image: url("~@images/layout/xsolla.png"); 28 28 background-size: contain; 29 29 } 30 30
+9 -5
resources/css/bem/supporter-eyecatch.less
··· 2 2 // See the LICENCE file in the repository root for full licence text. 3 3 4 4 .supporter-eyecatch { 5 - .at2x-simple('~@images/layout/supporter/banner-bg.jpg'); 5 + .at2x-simple("~@images/layout/supporter/banner-bg.jpg"); 6 6 background-size: cover; 7 7 width: auto; 8 8 height: 480px; ··· 11 11 position: relative; 12 12 13 13 &::before { 14 - content: ''; 14 + content: ""; 15 15 .full-size(); 16 - background: linear-gradient(to bottom, hsla(var(--hsl-b5), 1) 4%, hsla(var(--hsl-b5), 0) 100%); 16 + background: linear-gradient( 17 + to bottom, 18 + hsla(var(--hsl-b5), 1) 4%, 19 + hsla(var(--hsl-b5), 0) 100% 20 + ); 17 21 } 18 22 19 23 &::after { 20 - content: ''; 24 + content: ""; 21 25 .full-size(); 22 - .at2x-simple('~@images/layout/supporter/banner-fg.png'); 26 + .at2x-simple("~@images/layout/supporter/banner-fg.png"); 23 27 background-size: cover; 24 28 background-position: center; 25 29 pointer-events: none;
+48 -14
resources/css/bem/supporter-heart.less
··· 5 5 @animation-rate: 937.5ms; // 64bpm (aka 128bpm at half-time) 6 6 7 7 @keyframes support-circle-pulsate { 8 - 0% { transform: scale(0.9); } 9 - 20% { transform: scale(1.0); } 10 - 100% { transform: scale(0.9); } 8 + 0% { 9 + transform: scale(0.9); 10 + } 11 + 20% { 12 + transform: scale(1); 13 + } 14 + 100% { 15 + transform: scale(0.9); 16 + } 11 17 } 12 18 13 19 @keyframes support-circle-glow { 14 20 // this is basically .default-box-shadow() animated to have a less intense shadow with an added glow when pulsating 15 - 0% { box-shadow: 0 1px @box-shadow-radius @box-shadow-color, inset 0 0 0px white; } 16 - 20% { box-shadow: 0 1px @box-shadow-radius lighten(@box-shadow-color, 70%), inset 0 0 5px white; } 17 - 80% { box-shadow: 0 1px @box-shadow-radius @box-shadow-color, inset 0 0 0px white; } 21 + 0% { 22 + box-shadow: 23 + 0 1px @box-shadow-radius @box-shadow-color, 24 + inset 0 0 0px white; 25 + } 26 + 20% { 27 + box-shadow: 28 + 0 1px @box-shadow-radius lighten(@box-shadow-color, 70%), 29 + inset 0 0 5px white; 30 + } 31 + 80% { 32 + box-shadow: 33 + 0 1px @box-shadow-radius @box-shadow-color, 34 + inset 0 0 0px white; 35 + } 18 36 } 19 37 20 38 @keyframes support-heart-pulsate { 21 - 0% { transform: scale(1.0); } 22 - 20% { transform: scale(1.2); } 23 - 100% { transform: scale(1.0); } 39 + 0% { 40 + transform: scale(1); 41 + } 42 + 20% { 43 + transform: scale(1.2); 44 + } 45 + 100% { 46 + transform: scale(1); 47 + } 24 48 } 25 49 26 50 @keyframes support-heart-glow { 27 - 0% { text-shadow: 0 0 0px white; } 28 - 20% { text-shadow: 0 0 10px white; } 29 - 80% { text-shadow: 0 0 0px white; } 51 + 0% { 52 + text-shadow: 0 0 0px white; 53 + } 54 + 20% { 55 + text-shadow: 0 0 10px white; 56 + } 57 + 80% { 58 + text-shadow: 0 0 0px white; 59 + } 30 60 } 31 61 32 62 .btn-bg(); ··· 70 100 &--active { 71 101 opacity: 1; 72 102 background-color: @osu-colour-pink-1; 73 - animation: support-circle-pulsate @animation-rate infinite ease-in-out, support-circle-glow @animation-rate infinite ease-in-out; 103 + animation: 104 + support-circle-pulsate @animation-rate infinite ease-in-out, 105 + support-circle-glow @animation-rate infinite ease-in-out; 74 106 animation-fill-mode: none; 75 107 76 108 &::after { 77 - animation: support-heart-pulsate @animation-rate infinite ease-in-out, support-heart-glow @animation-rate infinite ease-in-out; 109 + animation: 110 + support-heart-pulsate @animation-rate infinite ease-in-out, 111 + support-heart-glow @animation-rate infinite ease-in-out; 78 112 } 79 113 } 80 114 }
+1 -1
resources/css/bem/supporter-perk-list-hero.less
··· 44 44 position: relative; 45 45 46 46 @media @desktop { 47 - margin-top: -50px 47 + margin-top: -50px; 48 48 } 49 49 } 50 50
+7 -6
resources/css/bem/supporter-promo.less
··· 27 27 flex-direction: column; 28 28 29 29 @media @desktop { 30 - justify-content: center; 31 - padding-right: 50px; 32 - height: 100%; 30 + justify-content: center; 31 + padding-right: 50px; 32 + height: 100%; 33 33 } 34 34 35 35 @media @mobile { ··· 45 45 } 46 46 47 47 &__heart { 48 - .at2x-simple('~@images/badges/heart.png'); 48 + .at2x-simple("~@images/badges/heart.png"); 49 49 .circle(75px); 50 50 background-size: 75px 75px; 51 51 ··· 63 63 flex-direction: column; 64 64 align-items: center; 65 65 66 - .at2x-simple('~@images/layout/pippi.png'); 66 + .at2x-simple("~@images/layout/pippi.png"); 67 67 68 68 width: 164px; 69 69 height: 234px; ··· 98 98 font-weight: 700; 99 99 color: @pink-dark; 100 100 101 - &:hover, &:active { 101 + &:hover, 102 + &:active { 102 103 color: #fff; 103 104 } 104 105 }
+4 -2
resources/css/bem/supporter-status.less
··· 7 7 color: white; 8 8 9 9 @keyframes support-fill-pour { 10 - 0% { width: 0; } 10 + 0% { 11 + width: 0; 12 + } 11 13 } 12 14 13 15 display: flex; ··· 44 46 } 45 47 46 48 &__pippi { 47 - .at2x-simple('~@images/layout/supporter/header-pippi.png'); 49 + .at2x-simple("~@images/layout/supporter/header-pippi.png"); 48 50 background-size: cover; 49 51 background-position: center; 50 52 height: 348px;
+1 -1
resources/css/bem/title.less
··· 40 40 padding: 10px 0; 41 41 42 42 &::before { 43 - content: ''; 43 + content: ""; 44 44 height: 0.65em; 45 45 margin-top: 0.3em; 46 46 margin-left: -6px;
+67 -67
resources/css/bem/tournament-list-item.less
··· 1 1 // Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the GNU Affero General Public License v3.0. 2 2 // See the LICENCE file in the repository root for full licence text. 3 3 4 - .tournament-list-item { 5 - @_top: tournament-list-item; 4 + .tournament-list-item { 5 + @_top: tournament-list-item; 6 6 7 - display: flex; 8 - flex-direction: column; 9 - background-color: @osu-colour-b4; 7 + display: flex; 8 + flex-direction: column; 9 + background-color: @osu-colour-b4; 10 10 11 - .link-white(); 12 - .link-plain(); 13 - .default-box-shadow(); 11 + .link-white(); 12 + .link-plain(); 13 + .default-box-shadow(); 14 14 15 - transition: 50ms ease-in-out; 15 + transition: 50ms ease-in-out; 16 16 17 - &:hover { 18 - @media @desktop { 19 - .@{_top}__image { 20 - transform: scale(1.02); 21 - } 17 + &:hover { 18 + @media @desktop { 19 + .@{_top}__image { 20 + transform: scale(1.02); 22 21 } 23 - background-color: @osu-colour-b3; 24 22 } 23 + background-color: @osu-colour-b3; 24 + } 25 25 26 - &__metadata { 27 - display: flex; 28 - justify-content: space-between; 26 + &__metadata { 27 + display: flex; 28 + justify-content: space-between; 29 29 30 - @media @mobile { 31 - align-items: center; 32 - } 30 + @media @mobile { 31 + align-items: center; 33 32 } 33 + } 34 34 35 - &__metadata-left { 36 - padding: 15px; 37 - padding-top: 10px; 38 - } 35 + &__metadata-left { 36 + padding: 15px; 37 + padding-top: 10px; 38 + } 39 39 40 - &__metadata-right { 41 - padding: 10px; 42 - } 40 + &__metadata-right { 41 + padding: 10px; 42 + } 43 43 44 - &__tournament-date { 45 - font-size: @font-size--title-small-4; 46 - font-weight: bold; 47 - padding-bottom: 5px; 44 + &__tournament-date { 45 + font-size: @font-size--title-small-4; 46 + font-weight: bold; 47 + padding-bottom: 5px; 48 48 49 - @media @mobile { 50 - font-size: 12px; 51 - } 49 + @media @mobile { 50 + font-size: 12px; 52 51 } 52 + } 53 53 54 - &__registration-date { 55 - color: @osu-colour-f1; 56 - font-size: 12px; 54 + &__registration-date { 55 + color: @osu-colour-f1; 56 + font-size: 12px; 57 57 58 - @media @mobile { 59 - font-size: 9px; 60 - } 58 + @media @mobile { 59 + font-size: 9px; 61 60 } 61 + } 62 62 63 - &__registrations { 64 - font-size: @font-size--title-small-2; 63 + &__registrations { 64 + font-size: @font-size--title-small-2; 65 65 66 - @media @mobile { 67 - font-size: 12px; 68 - display: flex; 69 - flex-direction: column-reverse; 70 - align-items: center; 71 - } 66 + @media @mobile { 67 + font-size: 12px; 68 + display: flex; 69 + flex-direction: column-reverse; 70 + align-items: center; 72 71 } 72 + } 73 73 74 - &__image-wrapper { 75 - overflow: hidden; 76 - } 74 + &__image-wrapper { 75 + overflow: hidden; 76 + } 77 77 78 - &__image { 79 - transition: 50ms ease-in-out; 80 - height: 510px; 81 - width: 100%; 82 - object-fit: cover; 83 - will-change: transform, filter, opacity; 78 + &__image { 79 + transition: 50ms ease-in-out; 80 + height: 510px; 81 + width: 100%; 82 + object-fit: cover; 83 + will-change: transform, filter, opacity; 84 84 85 - .@{_top}--old & { 86 - filter: grayscale(); 87 - opacity: 0.75; 88 - height: 210px; 89 - } 85 + .@{_top}--old & { 86 + filter: grayscale(); 87 + opacity: 0.75; 88 + height: 210px; 89 + } 90 90 91 - .@{_top}--old:hover & { 92 - filter: none; 93 - opacity: 1; 94 - } 91 + .@{_top}--old:hover & { 92 + filter: none; 93 + opacity: 1; 95 94 } 96 95 } 96 + }
+6 -1
resources/css/bem/tournament.less
··· 30 30 31 31 font-size: 14px; 32 32 33 - > h1, h2, h3, h4, h5, h6 { 33 + > h1, 34 + h2, 35 + h3, 36 + h4, 37 + h5, 38 + h6 { 34 39 color: white; 35 40 } 36 41 a {
+1 -1
resources/css/bem/track-cover-preview.less
··· 18 18 19 19 &::before { 20 20 .full-size(); 21 - content: ''; 21 + content: ""; 22 22 background-color: fade(#000, 75%); 23 23 } 24 24 }
+2 -1
resources/css/bem/user-card-brick.less
··· 40 40 .link-plain(); 41 41 42 42 display: flex; 43 - padding: @_border-width @_brick-padding-horizontal @_border-width @_brick-padding-horizontal - @_group-bar-margin; 43 + padding: @_border-width @_brick-padding-horizontal @_border-width 44 + @_brick-padding-horizontal - @_group-bar-margin; 44 45 height: 100%; 45 46 align-items: center; 46 47 overflow: hidden;
+4 -3
resources/css/bem/user-card.less
··· 44 44 } 45 45 46 46 &--has-outline::after { 47 - .@{top}:hover&, .@{top}--active& { 47 + .@{top}:hover&, 48 + .@{top}--active& { 48 49 .full-size(); 49 - content: ''; 50 + content: ""; 50 51 border: 2px solid @osu-colour-l1; 51 52 border-radius: @card-border-radius; 52 53 pointer-events: none; ··· 80 81 } 81 82 82 83 .@{top}--list & { 83 - border-radius: @avatar-border-radius 0 0 @avatar-border-radius 84 + border-radius: @avatar-border-radius 0 0 @avatar-border-radius; 84 85 } 85 86 } 86 87
+4 -1
resources/css/bem/user-cards.less
··· 7 7 display: grid; 8 8 gap: 10px; 9 9 // auto-fit centres if there's only 1 card 10 - grid-template-columns: repeat(auto-fill, minmax(@user-card-width-min, @user-card-width)); 10 + grid-template-columns: repeat( 11 + auto-fill, 12 + minmax(@user-card-width-min, @user-card-width) 13 + ); 11 14 12 15 justify-content: center; 13 16
+1 -1
resources/css/bem/user-home-beatmapset.less
··· 38 38 39 39 &__creator { 40 40 font-size: 10px; 41 - margin-top: 2px 41 + margin-top: 2px; 42 42 } 43 43 44 44 &__meta {
+3 -1
resources/css/bem/user-level.less
··· 11 11 12 12 &__icon { 13 13 .full-size(); 14 - clip-path: path("m 25,2.7 a 9.3,9.3 0 0 1 4.7,1.2 l 11.3,6.5 a 9.3,9.3 0 0 1 4.6,8.1 v 13.0 a 9.3,9.3 0 0 1 -4.6,8.1 L 29.7,46.1 a 9.3,9.3 0 0 1 -9.3,0 L 9.1,39.6 A 9.3,9.3 0 0 1 4.4,31.5 v -13.0 A 9.3,9.3 0 0 1 9.1,10.4 L 20.4,3.9 A 9.3,9.3 0 0 1 25,2.7 M 25,0.0 A 11.9,11.9 0 0 0 19.0,1.6 L 7.7,8.1 A 12.0,12.0 0 0 0 1.7,18.5 v 13.0 a 12.0,12.0 0 0 0 6.0,10.4 l 11.3,6.5 a 12.0,12.0 0 0 0 12.0,0 l 11.3,-6.5 a 12.0,12.0 0 0 0 6.0,-10.4 v -13.0 A 12.0,12.0 0 0 0 42.3,8.1 L 31.0,1.6 A 11.9,11.9 0 0 0 25.0,0 Z"); 14 + clip-path: path( 15 + "m 25,2.7 a 9.3,9.3 0 0 1 4.7,1.2 l 11.3,6.5 a 9.3,9.3 0 0 1 4.6,8.1 v 13.0 a 9.3,9.3 0 0 1 -4.6,8.1 L 29.7,46.1 a 9.3,9.3 0 0 1 -9.3,0 L 9.1,39.6 A 9.3,9.3 0 0 1 4.4,31.5 v -13.0 A 9.3,9.3 0 0 1 9.1,10.4 L 20.4,3.9 A 9.3,9.3 0 0 1 25,2.7 M 25,0.0 A 11.9,11.9 0 0 0 19.0,1.6 L 7.7,8.1 A 12.0,12.0 0 0 0 1.7,18.5 v 13.0 a 12.0,12.0 0 0 0 6.0,10.4 l 11.3,6.5 a 12.0,12.0 0 0 0 12.0,0 l 11.3,-6.5 a 12.0,12.0 0 0 0 6.0,-10.4 v -13.0 A 12.0,12.0 0 0 0 42.3,8.1 L 31.0,1.6 A 11.9,11.9 0 0 0 25.0,0 Z" 16 + ); 15 17 background: linear-gradient(var(--bg)); 16 18 } 17 19
+1 -1
resources/css/bem/user-list-popup.less
··· 13 13 .default-border-radius(); 14 14 .default-box-shadow(); 15 15 16 - @media @desktop { 16 + @media @desktop { 17 17 --columns: 10; 18 18 } 19 19
+1 -1
resources/css/bem/user-session-list-session.less
··· 1 1 // Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the GNU Affero General Public License v3.0. 2 2 // See the LICENCE file in the repository root for full licence text. 3 3 4 - .user-session-list-session { 4 + .user-session-list-session { 5 5 flex-direction: row; 6 6 margin-bottom: 10px; 7 7
+1 -1
resources/css/bem/user-verification-popup.less
··· 20 20 21 21 &__modal { 22 22 .default-box-shadow(); 23 - .at2x-simple('~@images/backgrounds/user-verification.jpg'); 23 + .at2x-simple("~@images/backgrounds/user-verification.jpg"); 24 24 background-size: cover; 25 25 background-position: center 0; 26 26 width: 100%;
-1
resources/css/bem/wiki-main-page-panel.less
··· 14 14 15 15 text-align: center; 16 16 17 - 18 17 &--full { 19 18 @media @desktop { 20 19 grid-column: 1 / span 2;
+1 -1
resources/css/bem/wiki-search.less
··· 21 21 border: @_border-size solid hsl(var(--hsl-b6)); 22 22 23 23 &:focus-within { 24 - box-shadow: 0 0 10px hsl(var(--hsl-h2)); 24 + box-shadow: 0 0 10px hsl(var(--hsl-h2)); 25 25 border: @_border-size solid hsl(var(--hsl-h2)); 26 26 } 27 27 }
-2
resources/css/bootstrap-variables.less
··· 34 34 @padding-xs-vertical: 0; 35 35 @padding-xs-horizontal: 5px; 36 36 37 - 38 37 @input-color: @gray-dark; 39 38 @input-border-focus: @pink; 40 39 ··· 56 55 @badge-color: @purple-darker; 57 56 @badge-link-hover-color: @pink-dark; 58 57 @badge-bg: #fff; 59 - 60 58 61 59 @nav-link-hover-bg: transparent; 62 60 @nav-link-padding: 10px;
+8 -8
resources/css/colors.less
··· 31 31 @green-dark: #668800; 32 32 @green-darker: #445500; 33 33 34 - @red-lighter: #FFEDED; 35 - @red-light: #ED7887; 36 - @red: #ED1221; 37 - @red-dark: #BA0011; 34 + @red-lighter: #ffeded; 35 + @red-light: #ed7887; 36 + @red: #ed1221; 37 + @red-dark: #ba0011; 38 38 @red-darker: #870000; 39 39 40 40 // https://about.twitter.com/en/who-we-are/brand-toolkit ··· 46 46 // bandcamp "green" from the provided buttons at https://bandcamp.com/buttons 47 47 @bandcamp-colour: #61929c; 48 48 // spotify "Green*" from https://developer.spotify.com/design/ 49 - @spotify-colour: #1DB954; 49 + @spotify-colour: #1db954; 50 50 // patreon orange from the provided logos at https://www.patreon.com/toolbox/media 51 51 @patreon-colour: #e6461a; 52 52 // youtube red from https://www.youtube.com/yt/brand/ (yes it's supposed to be rgb(255,0,0) - my poor eyes...) ··· 96 96 b4: 10%, 20%; 97 97 b5: 10%, 15%; 98 98 b6: 10%, 10%; 99 - } 99 + }; 100 100 101 101 each(@base-colours, { 102 102 --hsl-@{key}: var(--base-hue), @value; ··· 140 140 orange: 45; 141 141 red: 360; 142 142 darkorange: 20; 143 - } 143 + }; 144 144 145 145 --c-saturation-1: 100%; 146 146 --c-saturation-2: 80%; ··· 201 201 @link-gray-light: #ccc; 202 202 @link-gray-light-hover: #eee; 203 203 204 - @group-colour-default: #0087CA; 204 + @group-colour-default: #0087ca; 205 205 206 206 @colour-rank-d: #ff5858; 207 207 @colour-rank-c: #ea7948;
+530 -508
resources/css/entrypoints/docs.less
··· 4 4 @import "~normalize.css/normalize.css"; 5 5 @import "~highlight.js/styles/obsidian.css"; 6 6 7 - @font-default: 'Open Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif; 7 + @font-default: "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif; 8 8 9 9 body, 10 10 html { 11 - font-family: @font-default; 12 - font-size: 14px; 11 + font-family: @font-default; 12 + font-size: 14px; 13 13 } 14 14 15 15 .content h1, ··· 18 18 .content h4, 19 19 .content h5, 20 20 .content h6 { 21 - font-family: @font-default; 21 + font-family: @font-default; 22 22 } 23 23 24 24 .content h1, ··· 27 27 .content h4, 28 28 .content h5, 29 29 .content h6 { 30 - font-weight: 700 30 + font-weight: 700; 31 31 } 32 32 33 33 .content code, 34 34 .content pre { 35 - font-family: Consolas, Menlo, Monaco, Lucida Console, Liberation Mono, DejaVu Sans Mono, Bitstream Vera Sans Mono, Courier New, monospace, serif; 36 - font-size: 14px; 37 - line-height: 1.5 35 + font-family: 36 + Consolas, 37 + Menlo, 38 + Monaco, 39 + Lucida Console, 40 + Liberation Mono, 41 + DejaVu Sans Mono, 42 + Bitstream Vera Sans Mono, 43 + Courier New, 44 + monospace, 45 + serif; 46 + font-size: 14px; 47 + line-height: 1.5; 38 48 } 39 49 40 50 .content code { 41 - word-break: break-all; 42 - word-break: break-word; 51 + word-break: break-all; 52 + word-break: break-word; 43 53 } 44 54 45 55 .content aside.notice:before, 46 56 .content aside.success:before, 47 57 .content aside.warning:before, 48 - .tocify-wrapper>.search:before { 49 - font-family: @font-default; 50 - speak: none; 51 - font-style: normal; 52 - font-variant: normal; 53 - text-transform: none; 54 - line-height: 1 58 + .tocify-wrapper > .search:before { 59 + font-family: @font-default; 60 + speak: none; 61 + font-style: normal; 62 + font-variant: normal; 63 + text-transform: none; 64 + line-height: 1; 55 65 } 56 66 57 67 .content aside.warning:before { 58 - content: "✋" 68 + content: "✋"; 59 69 } 60 70 61 71 .content aside.notice:before { 62 - content: "ℹ" 72 + content: "ℹ"; 63 73 } 64 74 65 75 .content aside.success:before { 66 - content: "✅" 76 + content: "✅"; 67 77 } 68 78 69 - .tocify-wrapper>.search:before { 70 - content: "🔎" 79 + .tocify-wrapper > .search:before { 80 + content: "🔎"; 71 81 } 72 82 73 83 .highlight .c, 74 84 .highlight .c1, 75 85 .highlight .cm, 76 86 .highlight .cs { 77 - color: #909090 87 + color: #909090; 78 88 } 79 89 80 90 .highlight, 81 91 .highlight .w { 82 - background-color: #292929 92 + background-color: #292929; 83 93 } 84 94 85 95 .hljs { 86 - display: block; 87 - overflow-x: auto; 88 - padding: .5em; 89 - background: #23241f 96 + display: block; 97 + overflow-x: auto; 98 + padding: 0.5em; 99 + background: #23241f; 90 100 } 91 101 92 102 .hljs, 93 103 .hljs-subst, 94 104 .hljs-tag { 95 - color: #f8f8f2 105 + color: #f8f8f2; 96 106 } 97 107 98 108 .hljs-emphasis, 99 109 .hljs-strong { 100 - color: #a8a8a2 110 + color: #a8a8a2; 101 111 } 102 112 103 113 .hljs-bullet, ··· 106 116 .hljs-number, 107 117 .hljs-quote, 108 118 .hljs-regexp { 109 - color: #ae81ff 119 + color: #ae81ff; 110 120 } 111 121 112 122 .hljs-code, 113 123 .hljs-section, 114 124 .hljs-selector-class, 115 125 .hljs-title { 116 - color: #a6e22e 126 + color: #a6e22e; 117 127 } 118 128 119 129 .hljs-strong { 120 - font-weight: 700 130 + font-weight: 700; 121 131 } 122 132 123 133 .hljs-emphasis { 124 - font-style: italic 134 + font-style: italic; 125 135 } 126 136 127 137 .hljs-attr, 128 138 .hljs-keyword, 129 139 .hljs-name, 130 140 .hljs-selector-tag { 131 - color: #f92672 141 + color: #f92672; 132 142 } 133 143 134 144 .hljs-attribute, 135 145 .hljs-symbol { 136 - color: #66d9ef 146 + color: #66d9ef; 137 147 } 138 148 139 149 .hljs-class .hljs-title, 140 150 .hljs-params { 141 - color: #f8f8f2 151 + color: #f8f8f2; 142 152 } 143 153 144 154 .hljs-addition, ··· 151 161 .hljs-template-variable, 152 162 .hljs-type, 153 163 .hljs-variable { 154 - color: #e6db74 164 + color: #e6db74; 155 165 } 156 166 157 167 .hljs-comment, 158 168 .hljs-deletion, 159 169 .hljs-meta { 160 - color: #75715e 170 + color: #75715e; 161 171 } 162 172 163 173 body, 164 174 html { 165 - color: #333; 166 - padding: 0; 167 - margin: 0; 168 - -webkit-font-smoothing: antialiased; 169 - -moz-osx-font-smoothing: grayscale; 170 - background-color: whitesmoke; 171 - height: 100%; 172 - -webkit-text-size-adjust: none 175 + color: #333; 176 + padding: 0; 177 + margin: 0; 178 + -webkit-font-smoothing: antialiased; 179 + -moz-osx-font-smoothing: grayscale; 180 + background-color: whitesmoke; 181 + height: 100%; 182 + -webkit-text-size-adjust: none; 173 183 } 174 184 175 - #toc>ul>li>a>span { 176 - float: right; 177 - background-color: #2484ff; 178 - border-radius: 40px; 179 - width: 20px 185 + #toc > ul > li > a > span { 186 + float: right; 187 + background-color: #2484ff; 188 + border-radius: 40px; 189 + width: 20px; 180 190 } 181 191 182 192 .tocify-wrapper { 183 - transition: left .3s ease-in-out; 184 - overflow-y: auto; 185 - overflow-x: hidden; 186 - position: fixed; 187 - z-index: 30; 188 - top: 0; 189 - left: 0; 190 - bottom: 0; 191 - width: 230px; 192 - background-color: #393939; 193 - font-size: 13px; 194 - font-weight: 700 193 + transition: left 0.3s ease-in-out; 194 + overflow-y: auto; 195 + overflow-x: hidden; 196 + position: fixed; 197 + z-index: 30; 198 + top: 0; 199 + left: 0; 200 + bottom: 0; 201 + width: 230px; 202 + background-color: #393939; 203 + font-size: 13px; 204 + font-weight: 700; 195 205 } 196 206 197 207 .tocify-wrapper .lang-selector { 198 - display: none 208 + display: none; 199 209 } 200 210 201 211 .tocify-wrapper .lang-selector a { 202 - padding-top: .5em; 203 - padding-bottom: .5em 212 + padding-top: 0.5em; 213 + padding-bottom: 0.5em; 204 214 } 205 215 206 - .tocify-wrapper>img { 207 - display: block 216 + .tocify-wrapper > img { 217 + display: block; 208 218 } 209 219 210 - .tocify-wrapper>.search { 211 - position: relative 220 + .tocify-wrapper > .search { 221 + position: relative; 212 222 } 213 223 214 - .tocify-wrapper>.search input { 215 - background: #393939; 216 - border-width: 0 0 1px; 217 - border-color: #666; 218 - padding: 6px 0 6px 20px; 219 - box-sizing: border-box; 220 - margin: 10px 15px; 221 - width: 200px; 222 - outline: none; 223 - color: #fff; 224 - border-radius: 0 224 + .tocify-wrapper > .search input { 225 + background: #393939; 226 + border-width: 0 0 1px; 227 + border-color: #666; 228 + padding: 6px 0 6px 20px; 229 + box-sizing: border-box; 230 + margin: 10px 15px; 231 + width: 200px; 232 + outline: none; 233 + color: #fff; 234 + border-radius: 0; 225 235 } 226 236 227 - .tocify-wrapper>.search:before { 228 - position: absolute; 229 - top: 17px; 230 - left: 15px; 231 - color: #fff 237 + .tocify-wrapper > .search:before { 238 + position: absolute; 239 + top: 17px; 240 + left: 15px; 241 + color: #fff; 232 242 } 233 243 234 - .tocify-wrapper img+.tocify { 235 - margin-top: 20px 244 + .tocify-wrapper img + .tocify { 245 + margin-top: 20px; 236 246 } 237 247 238 248 .tocify-wrapper .search-results { 239 - margin-top: 0; 240 - box-sizing: border-box; 241 - height: 0; 242 - overflow-y: auto; 243 - overflow-x: hidden; 244 - transition-property: height, margin; 245 - transition-duration: .18s; 246 - transition-timing-function: ease-in-out; 247 - background: linear-gradient(180deg, rgba(0, 0, 0, .2), transparent 8px), linear-gradient(0deg, rgba(0, 0, 0, .2), transparent 8px), linear-gradient(180deg, #000, transparent 1.5px), linear-gradient(0deg, #939393, hsla(0, 0%, 58%, 0) 1.5px), #262626 249 + margin-top: 0; 250 + box-sizing: border-box; 251 + height: 0; 252 + overflow-y: auto; 253 + overflow-x: hidden; 254 + transition-property: height, margin; 255 + transition-duration: 0.18s; 256 + transition-timing-function: ease-in-out; 257 + background: linear-gradient(180deg, rgba(0, 0, 0, 0.2), transparent 8px), 258 + linear-gradient(0deg, rgba(0, 0, 0, 0.2), transparent 8px), 259 + linear-gradient(180deg, #000, transparent 1.5px), 260 + linear-gradient(0deg, #939393, hsla(0, 0%, 58%, 0) 1.5px), #262626; 248 261 } 249 262 250 263 .tocify-wrapper .search-results.visible { 251 - height: 30%; 252 - margin-bottom: 1em 264 + height: 30%; 265 + margin-bottom: 1em; 253 266 } 254 267 255 268 .tocify-wrapper .search-results li { 256 - margin: 1em 15px; 257 - line-height: 1 269 + margin: 1em 15px; 270 + line-height: 1; 258 271 } 259 272 260 273 .tocify-wrapper a { 261 - color: #fff; 262 - text-decoration: none 274 + color: #fff; 275 + text-decoration: none; 263 276 } 264 277 265 278 .tocify-wrapper .search-results a:hover { 266 - text-decoration: underline 279 + text-decoration: underline; 267 280 } 268 281 269 282 .tocify-wrapper .toc-footer li, 270 - .tocify-wrapper .tocify-item>a { 271 - padding: 0 15px; 272 - display: block; 273 - overflow-x: hidden; 274 - white-space: nowrap; 275 - text-overflow: ellipsis 283 + .tocify-wrapper .tocify-item > a { 284 + padding: 0 15px; 285 + display: block; 286 + overflow-x: hidden; 287 + white-space: nowrap; 288 + text-overflow: ellipsis; 276 289 } 277 - .tocify-wrapper .tocify-item.level-3>a { 278 - padding: 0 25px; 290 + .tocify-wrapper .tocify-item.level-3 > a { 291 + padding: 0 25px; 279 292 } 280 293 281 294 .tocify-wrapper li, 282 295 .tocify-wrapper ul { 283 - list-style: none; 284 - margin: 0; 285 - padding: 0; 286 - line-height: 28px 296 + list-style: none; 297 + margin: 0; 298 + padding: 0; 299 + line-height: 28px; 287 300 } 288 301 289 302 .tocify-wrapper li { 290 - color: #fff; 291 - transition-property: background; 292 - transition-timing-function: linear; 293 - transition-duration: .23s 303 + color: #fff; 304 + transition-property: background; 305 + transition-timing-function: linear; 306 + transition-duration: 0.23s; 294 307 } 295 308 296 309 .tocify-wrapper .tocify-focus { 297 - box-shadow: 0 1px 0 #000; 298 - background-color: #2467af; 299 - color: #fff; 300 - font-weight: bold; 310 + box-shadow: 0 1px 0 #000; 311 + background-color: #2467af; 312 + color: #fff; 313 + font-weight: bold; 301 314 } 302 315 303 316 .tocify-wrapper .tocify-subheader { 304 - display: none; 305 - background-color: #262626; 306 - font-weight: 500; 307 - background: linear-gradient(180deg, rgba(0, 0, 0, .2), transparent 8px), linear-gradient(0deg, rgba(0, 0, 0, .2), transparent 8px), linear-gradient(180deg, #000, transparent 1.5px), linear-gradient(0deg, #939393, hsla(0, 0%, 58%, 0) 1.5px), #262626 317 + display: none; 318 + background-color: #262626; 319 + font-weight: 500; 320 + background: linear-gradient(180deg, rgba(0, 0, 0, 0.2), transparent 8px), 321 + linear-gradient(0deg, rgba(0, 0, 0, 0.2), transparent 8px), 322 + linear-gradient(180deg, #000, transparent 1.5px), 323 + linear-gradient(0deg, #939393, hsla(0, 0%, 58%, 0) 1.5px), #262626; 308 324 } 309 325 310 326 .tocify-wrapper .jets-searching .tocify-subheader, 311 327 .tocify-wrapper .tocify-subheader.visible { 312 - display: block; 328 + display: block; 313 329 } 314 330 315 - .tocify-wrapper .tocify-subheader .tocify-item>a { 316 - padding-left: 25px; 317 - font-size: 12px 331 + .tocify-wrapper .tocify-subheader .tocify-item > a { 332 + padding-left: 25px; 333 + font-size: 12px; 318 334 } 319 335 320 - .tocify-wrapper .tocify-subheader .tocify-item.level-3>a { 321 - padding-left: 35px; 336 + .tocify-wrapper .tocify-subheader .tocify-item.level-3 > a { 337 + padding-left: 35px; 322 338 } 323 339 324 - .tocify-wrapper .tocify-subheader>li:last-child { 325 - box-shadow: none 340 + .tocify-wrapper .tocify-subheader > li:last-child { 341 + box-shadow: none; 326 342 } 327 343 328 344 .tocify-wrapper .toc-footer { 329 - padding: 1em 0; 330 - margin-top: 1em; 331 - border-top: 1px dashed #666 345 + padding: 1em 0; 346 + margin-top: 1em; 347 + border-top: 1px dashed #666; 332 348 } 333 349 334 350 .tocify-wrapper .toc-footer a, 335 351 .tocify-wrapper .toc-footer li { 336 - color: #fff; 337 - text-decoration: none 352 + color: #fff; 353 + text-decoration: none; 338 354 } 339 355 340 356 .tocify-wrapper .toc-footer a:hover { 341 - text-decoration: underline 357 + text-decoration: underline; 342 358 } 343 359 344 360 .tocify-wrapper .toc-footer li { 345 - font-size: .8em; 346 - line-height: 1.7; 347 - text-decoration: none 361 + font-size: 0.8em; 362 + line-height: 1.7; 363 + text-decoration: none; 348 364 } 349 365 350 366 #nav-button { 351 - padding: 0 1.5em 5em 0; 352 - display: none; 353 - position: fixed; 354 - top: 0; 355 - left: 0; 356 - z-index: 100; 357 - color: #000; 358 - text-decoration: none; 359 - font-weight: 700; 360 - opacity: .7; 361 - line-height: 16px; 362 - transition: left .3s ease-in-out 367 + padding: 0 1.5em 5em 0; 368 + display: none; 369 + position: fixed; 370 + top: 0; 371 + left: 0; 372 + z-index: 100; 373 + color: #000; 374 + text-decoration: none; 375 + font-weight: 700; 376 + opacity: 0.7; 377 + line-height: 16px; 378 + transition: left 0.3s ease-in-out; 363 379 } 364 380 365 381 #nav-button span { 366 - display: block; 367 - padding: 6px; 368 - background-color: rgba(234, 242, 246, .7); 369 - -webkit-transform-origin: 0 0; 370 - transform-origin: 0 0; 371 - -webkit-transform: rotate(-90deg) translate(-100%); 372 - transform: rotate(-90deg) translate(-100%); 373 - border-radius: 0 0 0 5px 382 + display: block; 383 + padding: 6px; 384 + background-color: rgba(234, 242, 246, 0.7); 385 + -webkit-transform-origin: 0 0; 386 + transform-origin: 0 0; 387 + -webkit-transform: rotate(-90deg) translate(-100%); 388 + transform: rotate(-90deg) translate(-100%); 389 + border-radius: 0 0 0 5px; 374 390 } 375 391 376 392 #nav-button img { 377 - height: 16px; 378 - vertical-align: bottom 393 + height: 16px; 394 + vertical-align: bottom; 379 395 } 380 396 381 397 #nav-button:hover { 382 - opacity: 1 398 + opacity: 1; 383 399 } 384 400 385 401 #nav-button.open { 386 - left: 230px 402 + left: 230px; 387 403 } 388 404 389 405 .page-wrapper { 390 - margin-left: 230px; 391 - position: relative; 392 - z-index: 10; 393 - background-color: #eaf2f6; 394 - min-height: 100%; 395 - padding-bottom: 1px 406 + margin-left: 230px; 407 + position: relative; 408 + z-index: 10; 409 + background-color: #eaf2f6; 410 + min-height: 100%; 411 + padding-bottom: 1px; 396 412 } 397 413 398 414 .page-wrapper .dark-box { 399 - width: 50%; 400 - background-color: #393939; 401 - position: absolute; 402 - right: 0; 403 - top: 0; 404 - bottom: 0 415 + width: 50%; 416 + background-color: #393939; 417 + position: absolute; 418 + right: 0; 419 + top: 0; 420 + bottom: 0; 405 421 } 406 422 407 423 .page-wrapper .lang-selector { 408 - position: fixed; 409 - z-index: 50; 410 - border-bottom: 5px solid #393939 424 + position: fixed; 425 + z-index: 50; 426 + border-bottom: 5px solid #393939; 411 427 } 412 428 413 429 .lang-selector { 414 - background-color: #222; 415 - width: 100%; 416 - font-weight: 700 430 + background-color: #222; 431 + width: 100%; 432 + font-weight: 700; 417 433 } 418 434 419 435 .lang-selector button { 420 - display: block; 421 - float: left; 422 - color: #fff; 423 - text-decoration: none; 424 - padding: 0 10px; 425 - line-height: 30px; 426 - outline: 0; 427 - background: transparent; 428 - border: none; 429 - --bg: transparent; 430 - --bg-hover: #111; 431 - --bg-active: #393939; 432 - background: var(--bg); 436 + display: block; 437 + float: left; 438 + color: #fff; 439 + text-decoration: none; 440 + padding: 0 10px; 441 + line-height: 30px; 442 + outline: 0; 443 + background: transparent; 444 + border: none; 445 + --bg: transparent; 446 + --bg-hover: #111; 447 + --bg-active: #393939; 448 + background: var(--bg); 433 449 } 434 450 435 451 .lang-selector button:active, 436 452 .lang-selector button:hover, 437 453 .lang-selector button:focus { 438 - --bg: var(--bg-hover); 454 + --bg: var(--bg-hover); 439 455 } 440 456 441 457 .lang-selector:after { 442 - content: ''; 443 - clear: both; 444 - display: block 458 + content: ""; 459 + clear: both; 460 + display: block; 445 461 } 446 462 447 463 .content { 448 - position: relative; 449 - z-index: 30 464 + position: relative; 465 + z-index: 30; 450 466 } 451 467 452 468 .content:after { 453 - content: ''; 454 - display: block; 455 - clear: both 469 + content: ""; 470 + display: block; 471 + clear: both; 456 472 } 457 473 458 - .content>aside, 459 - .content>details, 460 - .content>dl, 461 - .content>h1, 462 - .content>h2, 463 - .content>h3, 464 - .content>h4, 465 - .content>h5, 466 - .content>h6, 467 - .content>ol, 468 - .content>p, 469 - .content>table, 470 - .content>ul, 471 - .content>form>aside, 472 - .content>form>details, 473 - .content>form>h1, 474 - .content>form>h2, 475 - .content>form>h3, 476 - .content>form>h4, 477 - .content>form>h5, 478 - .content>form>h6, 479 - .content>form>p, 480 - .content>form>table, 481 - .content>form>ul, 482 - .content>form>div { 483 - margin-right: 50%; 484 - padding: 0 28px; 485 - box-sizing: border-box; 486 - display: block; 487 - text-shadow: 0 1px 0 #fff 474 + .content > aside, 475 + .content > details, 476 + .content > dl, 477 + .content > h1, 478 + .content > h2, 479 + .content > h3, 480 + .content > h4, 481 + .content > h5, 482 + .content > h6, 483 + .content > ol, 484 + .content > p, 485 + .content > table, 486 + .content > ul, 487 + .content > form > aside, 488 + .content > form > details, 489 + .content > form > h1, 490 + .content > form > h2, 491 + .content > form > h3, 492 + .content > form > h4, 493 + .content > form > h5, 494 + .content > form > h6, 495 + .content > form > p, 496 + .content > form > table, 497 + .content > form > ul, 498 + .content > form > div { 499 + margin-right: 50%; 500 + padding: 0 28px; 501 + box-sizing: border-box; 502 + display: block; 503 + text-shadow: 0 1px 0 #fff; 488 504 } 489 505 490 - .content>ol, 491 - .content>ul { 492 - padding-left: 43px 506 + .content > ol, 507 + .content > ul { 508 + padding-left: 43px; 493 509 } 494 510 495 - .content>div, 496 - .content>h1, 497 - .content>h2 { 498 - clear: both 511 + .content > div, 512 + .content > h1, 513 + .content > h2 { 514 + clear: both; 499 515 } 500 516 501 517 .content h1 { 502 - font-size: 30px; 503 - padding-top: .5em; 504 - padding-bottom: .5em; 505 - border-bottom: 1px solid #ccc; 506 - margin-bottom: 21px; 507 - margin-top: 2em; 508 - border-top: 1px solid #ddd; 509 - background-image: linear-gradient(180deg, #fff, #f9f9f9) 518 + font-size: 30px; 519 + padding-top: 0.5em; 520 + padding-bottom: 0.5em; 521 + border-bottom: 1px solid #ccc; 522 + margin-bottom: 21px; 523 + margin-top: 2em; 524 + border-top: 1px solid #ddd; 525 + background-image: linear-gradient(180deg, #fff, #f9f9f9); 510 526 } 511 527 512 - .content div:first-child+h1, 528 + .content div:first-child + h1, 513 529 .content h1:first-child { 514 - border-top-width: 0; 515 - margin-top: 0 530 + border-top-width: 0; 531 + margin-top: 0; 516 532 } 517 533 518 534 .content h2 { 519 - font-size: 20px; 520 - margin-top: 4em; 521 - margin-bottom: 0; 522 - border-top: 1px solid #ccc; 523 - padding-top: 1.2em; 524 - padding-bottom: 1.2em; 525 - background-image: linear-gradient(180deg, hsla(0, 0%, 100%, .4), hsla(0, 0%, 100%, 0)) 535 + font-size: 20px; 536 + margin-top: 4em; 537 + margin-bottom: 0; 538 + border-top: 1px solid #ccc; 539 + padding-top: 1.2em; 540 + padding-bottom: 1.2em; 541 + background-image: linear-gradient( 542 + 180deg, 543 + hsla(0, 0%, 100%, 0.4), 544 + hsla(0, 0%, 100%, 0) 545 + ); 526 546 } 527 547 528 - .content h1+div+h2, 529 - .content h1+h2 { 530 - margin-top: -21px; 531 - border-top: none 548 + .content h1 + div + h2, 549 + .content h1 + h2 { 550 + margin-top: -21px; 551 + border-top: none; 532 552 } 533 553 534 554 .content h3, 535 555 .content h4, 536 556 .content h5, 537 557 .content h6 { 538 - font-size: 15px; 539 - margin-top: 2.5em; 540 - margin-bottom: .8em 558 + font-size: 15px; 559 + margin-top: 2.5em; 560 + margin-bottom: 0.8em; 541 561 } 542 562 543 563 .content h4, 544 564 .content h5, 545 565 .content h6 { 546 - font-size: 10px 566 + font-size: 10px; 547 567 } 548 568 549 569 .content hr { 550 - margin: 2em 0; 551 - border-top: 2px solid #393939; 552 - border-bottom: 2px solid #eaf2f6 570 + margin: 2em 0; 571 + border-top: 2px solid #393939; 572 + border-bottom: 2px solid #eaf2f6; 553 573 } 554 574 555 575 .content table { 556 - margin-bottom: 1em; 557 - overflow: auto; 558 - border-collapse: collapse; 576 + margin-bottom: 1em; 577 + overflow: auto; 578 + border-collapse: collapse; 559 579 } 560 580 561 581 .content table td, 562 582 .content table th { 563 - text-align: left; 564 - vertical-align: top; 565 - line-height: 1.6 583 + text-align: left; 584 + vertical-align: top; 585 + line-height: 1.6; 566 586 } 567 587 568 588 .content table th { 569 - padding: 5px 10px; 570 - border-bottom: 1px solid #ccc; 571 - vertical-align: bottom 589 + padding: 5px 10px; 590 + border-bottom: 1px solid #ccc; 591 + vertical-align: bottom; 572 592 } 573 593 574 594 .content table td { 575 - padding: 10px 595 + padding: 10px; 576 596 } 577 597 578 598 .content table tr:last-child { 579 - border-bottom: 1px solid #ccc 599 + border-bottom: 1px solid #ccc; 580 600 } 581 601 582 - .content table tr:nth-child(odd)>td { 583 - background-color: #ebf3f6 602 + .content table tr:nth-child(odd) > td { 603 + background-color: #ebf3f6; 584 604 } 585 605 586 - .content table tr:nth-child(even)>td { 587 - background-color: #ebf2f6 606 + .content table tr:nth-child(even) > td { 607 + background-color: #ebf2f6; 588 608 } 589 609 590 610 .content dt { 591 - font-weight: 700 611 + font-weight: 700; 592 612 } 593 613 594 614 .content dd { 595 - margin-left: 15px 615 + margin-left: 15px; 596 616 } 597 617 598 618 .content dd, 599 619 .content dt, 600 620 .content li, 601 621 .content p { 602 - line-height: 1.6; 603 - margin-top: 0 622 + line-height: 1.6; 623 + margin-top: 0; 604 624 } 605 625 606 626 .content img { 607 - max-width: 100% 627 + max-width: 100%; 608 628 } 609 629 610 630 .content code { 611 - padding: 3px; 612 - border-radius: 3px; 613 - background-color: rgba(0, 0, 0, 0.05); 631 + padding: 3px; 632 + border-radius: 3px; 633 + background-color: rgba(0, 0, 0, 0.05); 614 634 } 615 635 616 - .content pre>code { 617 - background-color: transparent; 618 - padding: 0 636 + .content pre > code { 637 + background-color: transparent; 638 + padding: 0; 619 639 } 620 640 621 641 .content aside { 622 - padding-top: 1em; 623 - padding-bottom: 1em; 624 - margin-top: 1.5em; 625 - margin-bottom: 1.5em; 626 - background: #292929; 627 - line-height: 1.6; 628 - color: #c8c8c8; 629 - text-shadow: none; 642 + padding-top: 1em; 643 + padding-bottom: 1em; 644 + margin-top: 1.5em; 645 + margin-bottom: 1.5em; 646 + background: #292929; 647 + line-height: 1.6; 648 + color: #c8c8c8; 649 + text-shadow: none; 630 650 } 631 651 632 652 .content aside.info { 633 - background: #8fbcd4; 634 - text-shadow: 0 1px 0 #a0c6da; 635 - color: initial; 653 + background: #8fbcd4; 654 + text-shadow: 0 1px 0 #a0c6da; 655 + color: initial; 636 656 } 637 657 638 658 .content aside.warning { 639 - background-color: #c97a7e; 640 - text-shadow: 0 1px 0 #d18e91; 641 - color: initial; 659 + background-color: #c97a7e; 660 + text-shadow: 0 1px 0 #d18e91; 661 + color: initial; 642 662 } 643 663 644 664 .content aside.success { 645 - background-color: #6ac174; 646 - text-shadow: 0 1px 0 #80ca89; 647 - color: initial; 665 + background-color: #6ac174; 666 + text-shadow: 0 1px 0 #80ca89; 667 + color: initial; 648 668 } 649 669 650 670 .content aside:before { 651 - vertical-align: middle; 652 - padding-right: .5em; 653 - font-size: 14px 671 + vertical-align: middle; 672 + padding-right: 0.5em; 673 + font-size: 14px; 654 674 } 655 675 656 676 .content .search-highlight { 657 - padding: 2px; 658 - margin: -2px; 659 - border-radius: 4px; 660 - border: 1px solid #f7e633; 661 - text-shadow: 1px 1px 0 #666; 662 - background: linear-gradient(to top left, #f7e633, #f1d32f) 677 + padding: 2px; 678 + margin: -2px; 679 + border-radius: 4px; 680 + border: 1px solid #f7e633; 681 + text-shadow: 1px 1px 0 #666; 682 + background: linear-gradient(to top left, #f7e633, #f1d32f); 663 683 } 664 684 665 685 .content blockquote, 666 686 .content pre { 667 - background-color: #292929; 668 - color: #fff; 669 - padding: 1.5em 28px; 670 - margin: 0; 671 - width: 50%; 672 - float: right; 673 - clear: right; 674 - box-sizing: border-box; 675 - text-shadow: 0 1px 2px rgba(0, 0, 0, .4) 687 + background-color: #292929; 688 + color: #fff; 689 + padding: 1.5em 28px; 690 + margin: 0; 691 + width: 50%; 692 + float: right; 693 + clear: right; 694 + box-sizing: border-box; 695 + text-shadow: 0 1px 2px rgba(0, 0, 0, 0.4); 676 696 } 677 697 678 698 .content .annotation { 679 - background-color: #292929; 680 - color: #fff; 681 - padding: 0 28px; 682 - margin: 0; 683 - width: 50%; 684 - float: right; 685 - clear: right; 686 - box-sizing: border-box; 687 - text-shadow: 0 1px 2px rgba(0, 0, 0, .4) 699 + background-color: #292929; 700 + color: #fff; 701 + padding: 0 28px; 702 + margin: 0; 703 + width: 50%; 704 + float: right; 705 + clear: right; 706 + box-sizing: border-box; 707 + text-shadow: 0 1px 2px rgba(0, 0, 0, 0.4); 688 708 } 689 709 690 710 .content .annotation pre { 691 - padding: 0 0; 692 - width: 100%; 693 - float: none; 711 + padding: 0 0; 712 + width: 100%; 713 + float: none; 694 714 } 695 715 696 - .content blockquote>p, 697 - .content pre>p { 698 - margin: 0 716 + .content blockquote > p, 717 + .content pre > p { 718 + margin: 0; 699 719 } 700 720 701 721 .content blockquote a, 702 722 .content pre a { 703 - color: #fff; 704 - text-decoration: none; 705 - border-bottom: 1px dashed #ccc 723 + color: #fff; 724 + text-decoration: none; 725 + border-bottom: 1px dashed #ccc; 706 726 } 707 727 708 - .content blockquote>p { 709 - background-color: #1c1c1c; 710 - border-radius: 5px; 711 - padding: 13px; 712 - color: #ccc; 713 - border-top: 1px solid #000; 714 - border-bottom: 1px solid #404040 728 + .content blockquote > p { 729 + background-color: #1c1c1c; 730 + border-radius: 5px; 731 + padding: 13px; 732 + color: #ccc; 733 + border-top: 1px solid #000; 734 + border-bottom: 1px solid #404040; 715 735 } 716 736 717 - @media (max-width:930px) { 718 - .tocify-wrapper { 719 - left: -230px 720 - } 721 - .tocify-wrapper.open { 722 - left: 0 723 - } 724 - .page-wrapper { 725 - margin-left: 0 726 - } 727 - #nav-button { 728 - display: block 729 - } 730 - .tocify-wrapper .tocify-item>a { 731 - padding-top: .3em; 732 - padding-bottom: .3em 733 - } 737 + @media (max-width: 930px) { 738 + .tocify-wrapper { 739 + left: -230px; 740 + } 741 + .tocify-wrapper.open { 742 + left: 0; 743 + } 744 + .page-wrapper { 745 + margin-left: 0; 746 + } 747 + #nav-button { 748 + display: block; 749 + } 750 + .tocify-wrapper .tocify-item > a { 751 + padding-top: 0.3em; 752 + padding-bottom: 0.3em; 753 + } 734 754 } 735 755 736 - @media (max-width:700px) { 737 - .dark-box { 738 - display: none 739 - } 740 - .tocify-wrapper .lang-selector { 741 - display: block 742 - } 743 - .page-wrapper .lang-selector { 744 - display: none 745 - } 746 - .content aside, 747 - .content dl, 748 - .content h1, 749 - .content h2, 750 - .content h3, 751 - .content h4, 752 - .content h5, 753 - .content h6, 754 - .content ol, 755 - .content p, 756 - .content table, 757 - .content ul { 758 - margin-right: 0 759 - } 760 - .content>aside, 761 - .content>details, 762 - .content>dl, 763 - .content>h1, 764 - .content>h2, 765 - .content>h3, 766 - .content>h4, 767 - .content>h5, 768 - .content>h6, 769 - .content>ol, 770 - .content>p, 771 - .content>table, 772 - .content>ul, 773 - .content>form>aside, 774 - .content>form>details, 775 - .content>form>h1, 776 - .content>form>h2, 777 - .content>form>h3, 778 - .content>form>h4, 779 - .content>form>h5, 780 - .content>form>h6, 781 - .content>form>p, 782 - .content>form>table, 783 - .content>form>ul, 784 - .content>form>div { 785 - margin-right: 0; 786 - } 787 - .content blockquote, 788 - .content pre { 789 - float: none; 790 - width: auto 791 - } 792 - .content .annotation { 793 - float: none; 794 - width: auto 795 - } 756 + @media (max-width: 700px) { 757 + .dark-box { 758 + display: none; 759 + } 760 + .tocify-wrapper .lang-selector { 761 + display: block; 762 + } 763 + .page-wrapper .lang-selector { 764 + display: none; 765 + } 766 + .content aside, 767 + .content dl, 768 + .content h1, 769 + .content h2, 770 + .content h3, 771 + .content h4, 772 + .content h5, 773 + .content h6, 774 + .content ol, 775 + .content p, 776 + .content table, 777 + .content ul { 778 + margin-right: 0; 779 + } 780 + .content > aside, 781 + .content > details, 782 + .content > dl, 783 + .content > h1, 784 + .content > h2, 785 + .content > h3, 786 + .content > h4, 787 + .content > h5, 788 + .content > h6, 789 + .content > ol, 790 + .content > p, 791 + .content > table, 792 + .content > ul, 793 + .content > form > aside, 794 + .content > form > details, 795 + .content > form > h1, 796 + .content > form > h2, 797 + .content > form > h3, 798 + .content > form > h4, 799 + .content > form > h5, 800 + .content > form > h6, 801 + .content > form > p, 802 + .content > form > table, 803 + .content > form > ul, 804 + .content > form > div { 805 + margin-right: 0; 806 + } 807 + .content blockquote, 808 + .content pre { 809 + float: none; 810 + width: auto; 811 + } 812 + .content .annotation { 813 + float: none; 814 + width: auto; 815 + } 796 816 } 797 817 798 818 .badge { 799 - padding: 1px 9px 2px; 800 - white-space: nowrap; 801 - -webkit-border-radius: 9px; 802 - -moz-border-radius: 9px; 803 - border-radius: 9px; 804 - color: #ffffff; 805 - text-shadow: none !important; 806 - font-weight: bold; 819 + padding: 1px 9px 2px; 820 + white-space: nowrap; 821 + -webkit-border-radius: 9px; 822 + -moz-border-radius: 9px; 823 + border-radius: 9px; 824 + color: #ffffff; 825 + text-shadow: none !important; 826 + font-weight: bold; 807 827 } 808 828 809 829 .badge.badge-darkred { 810 - background-color: darkred; 830 + background-color: darkred; 811 831 } 812 832 813 833 .badge.badge-red { 814 - background-color: red; 834 + background-color: red; 815 835 } 816 836 817 837 .badge.badge-blue { 818 - background-color: blue; 838 + background-color: blue; 819 839 } 820 840 821 841 .badge.badge-darkblue { 822 - background-color: darkblue; 842 + background-color: darkblue; 823 843 } 824 844 825 845 .badge.badge-green { 826 - background-color: green; 846 + background-color: green; 827 847 } 828 848 829 849 .badge.badge-darkgreen { 830 - background-color: darkgreen; 850 + background-color: darkgreen; 831 851 } 832 852 833 853 .badge.badge-purple { 834 - background-color: purple; 854 + background-color: purple; 835 855 } 836 856 837 857 .badge.badge-black { 838 - background-color: black; 858 + background-color: black; 839 859 } 840 860 841 861 .badge.badge-grey { 842 - background-color: grey; 862 + background-color: grey; 843 863 } 844 864 845 865 .fancy-heading-panel { 846 - background-color: lightgrey; 847 - border-radius: 5px; 848 - padding-left: 5px !important; 849 - padding-top: 5px !important; 850 - padding-bottom: 5px !important; 851 - margin-left: 25px; 852 - margin-right: 10px; 853 - width: 47%; 866 + background-color: lightgrey; 867 + border-radius: 5px; 868 + padding-left: 5px !important; 869 + padding-top: 5px !important; 870 + padding-bottom: 5px !important; 871 + margin-left: 25px; 872 + margin-right: 10px; 873 + width: 47%; 854 874 } 855 875 856 876 @media screen and (max-width: 700px) { 857 - .fancy-heading-panel { 858 - width: 95%; 859 - } 860 - 877 + .fancy-heading-panel { 878 + width: 95%; 879 + } 861 880 } 862 881 863 882 button { 864 - border: none; 883 + border: none; 865 884 } 866 885 867 886 * { 868 - /* Foreground, Background */ 869 - scrollbar-color: #3c4c67 transparent; 887 + /* Foreground, Background */ 888 + scrollbar-color: #3c4c67 transparent; 870 889 } 871 - *::-webkit-scrollbar { /* Background */ 872 - width: 10px; 873 - height: 10px; 874 - background: transparent; 890 + *::-webkit-scrollbar { 891 + /* Background */ 892 + width: 10px; 893 + height: 10px; 894 + background: transparent; 875 895 } 876 896 877 - *::-webkit-scrollbar-thumb { /* Foreground */ 878 - background: #626161; 897 + *::-webkit-scrollbar-thumb { 898 + /* Foreground */ 899 + background: #626161; 879 900 } 880 901 881 902 details { 882 - position: relative; 903 + position: relative; 883 904 } 884 905 885 906 details::before { 886 - position: absolute; 887 - content: ''; 888 - height: 100%; 889 - width: 4px; 890 - margin-left: -8px; 891 - border-radius: 8px; 892 - background: lightgrey; 907 + position: absolute; 908 + content: ""; 909 + height: 100%; 910 + width: 4px; 911 + margin-left: -8px; 912 + border-radius: 8px; 913 + background: lightgrey; 893 914 } 894 915 895 916 /* override pastel's override */ 896 917 details > summary { 897 - display: list-item; 918 + display: list-item; 898 919 } 899 920 900 921 .badge.badge-scope { 901 - font-size: 80%; 902 - text-decoration: none; 903 - background: #87ad3a; 922 + font-size: 80%; 923 + text-decoration: none; 924 + background: #87ad3a; 904 925 } 905 926 .badge.badge-scope-lazer { 906 - background: #ba6436; 927 + background: #ba6436; 907 928 } 908 929 .badge.badge-scope-oauth { 909 - background: #3a87ad; 930 + background: #3a87ad; 910 931 } 911 932 .badge.badge-user { 912 - background: #ad2a66; 933 + background: #ad2a66; 913 934 } 914 - .content table tr:nth-child(2n+1) > td { 915 - background: rgba(0, 0, 0, 0.02); 935 + .content table tr:nth-child(2n + 1) > td { 936 + background: rgba(0, 0, 0, 0.02); 916 937 } 917 938 .content table td { 918 - padding-top: 5px; 919 - padding-bottom: 5px; 939 + padding-top: 5px; 940 + padding-bottom: 5px; 920 941 } 921 942 .logo { 922 - background-image: url('~@images/layout/osu-logo-white.svg'); 923 - background-position: center; 924 - background-size: contain; 925 - background-repeat: no-repeat; 926 - width: 100%; 927 - max-width: 70%; 928 - padding-bottom: $max-width; 929 - margin: auto; 930 - display: block; 931 - margin-top: 10px; 943 + background-image: url("~@images/layout/osu-logo-white.svg"); 944 + background-position: center; 945 + background-size: contain; 946 + background-repeat: no-repeat; 947 + width: 100%; 948 + max-width: 70%; 949 + padding-bottom: $max-width; 950 + margin: auto; 951 + display: block; 952 + margin-top: 10px; 932 953 } 933 954 .menu-burger { 934 955 --width: 2px; ··· 941 962 margin: 0 calc(var(--width) + var(--space)) -2px; 942 963 border-radius: 10000px; 943 964 944 - &::after, &::before { 945 - content: ''; 965 + &::after, 966 + &::before { 967 + content: ""; 946 968 width: inherit; 947 969 height: inherit; 948 970 background-color: inherit;
+4 -3
resources/css/functions.less
··· 22 22 23 23 .fancy-scrollbar() { 24 24 @_scrollbar-track: rgba(255, 255, 255, 0.025); 25 - @_scrollbar-thumb: rgba(255,255,255,0.5); 25 + @_scrollbar-thumb: rgba(255, 255, 255, 0.5); 26 26 27 27 scrollbar-color: @_scrollbar-thumb @_scrollbar-track; 28 28 scrollbar-width: thin; ··· 57 57 min-height: 10px; /*Prevent it from getting too small */ 58 58 } 59 59 ::-webkit-scrollbar-thumb:active { 60 - background: rgba(255,255,255,0.61); /* Some darker color when you click it */ 60 + /* Some darker color when you click it */ 61 + background: rgba(255, 255, 255, 0.61); 61 62 -webkit-border-radius: 100px; 62 63 } 63 64 } ··· 105 106 .light-header-overlay() { 106 107 &::after { 107 108 .full-size(); 108 - content: ''; 109 + content: ""; 109 110 background-color: hsla(var(--hsl-b5), 60%); 110 111 } 111 112 }
+47 -17
resources/css/keyframes.less
··· 4 4 @keyframes spinner-sk-cubemove { 5 5 25% { 6 6 transform: translateX(42px) rotate(-90deg) scale(0.5); 7 - } 50% { 7 + } 8 + 50% { 8 9 transform: translateX(42px) translateY(42px) rotate(-179deg); 9 - } 50.1% { 10 + } 11 + 50.1% { 10 12 transform: translateX(42px) translateY(42px) rotate(-180deg); 11 - } 75% { 13 + } 14 + 75% { 12 15 transform: translateX(0) translateY(42px) rotate(-270deg) scale(0.5); 13 - } 100% { 16 + } 17 + 100% { 14 18 transform: rotate(-360deg); 15 19 } 16 20 } 17 21 18 22 @keyframes spin-w-easing { 19 - 100% { transform:rotate(360deg); } 23 + 100% { 24 + transform: rotate(360deg); 25 + } 20 26 } 21 27 22 28 @keyframes grow-and-shrink { 23 - 0% { transform: scale(0.8); } 24 - 20% { transform: scale(1.0); } 25 - 100% { transform: scale(0.8); } 29 + 0% { 30 + transform: scale(0.8); 31 + } 32 + 20% { 33 + transform: scale(1); 34 + } 35 + 100% { 36 + transform: scale(0.8); 37 + } 26 38 } 27 39 28 40 @keyframes fade-in-out { 29 - 0% { opacity: 0.0; } 30 - 20% { opacity: 1.0; } 31 - 100% { opacity: 0.0; } 41 + 0% { 42 + opacity: 0; 43 + } 44 + 20% { 45 + opacity: 1; 46 + } 47 + 100% { 48 + opacity: 0; 49 + } 32 50 } 33 51 34 52 @keyframes glow-pulse { 35 - 0% { opacity: 0.5; } 36 - 10% { opacity: 1.0; } 37 - 20% { opacity: 0.5; } 38 - 30% { opacity: 1.0; } 39 - 70% { opacity: 0.5; } 40 - 90% { opacity: 0.3; } 53 + 0% { 54 + opacity: 0.5; 55 + } 56 + 10% { 57 + opacity: 1; 58 + } 59 + 20% { 60 + opacity: 0.5; 61 + } 62 + 30% { 63 + opacity: 1; 64 + } 65 + 70% { 66 + opacity: 0.5; 67 + } 68 + 90% { 69 + opacity: 0.3; 70 + } 41 71 }
+16 -11
resources/css/layout.less
··· 4 4 // main: compiled.less 5 5 @import "app"; 6 6 7 - *, ::before, ::after { 7 + *, 8 + ::before, 9 + ::after { 8 10 box-sizing: border-box; 9 11 } 10 12 ··· 27 29 --font-content: @font-content; 28 30 29 31 --navbar-height: @navbar-height; 30 - --scroll-padding-top: calc(var(--navbar-height) + 1em + var(--scroll-padding-top-extra, 0px)); 32 + --scroll-padding-top: calc( 33 + var(--navbar-height) + 1em + var(--scroll-padding-top-extra, 0px) 34 + ); 31 35 --page-gutter: @gutter-v2; 32 36 33 37 @media @desktop { ··· 36 40 } 37 41 } 38 42 39 - html, body { 43 + html, 44 + body { 40 45 height: 100%; 41 46 } 42 47 ··· 99 104 --base-hue-deg: calc(var(--base-hue) * 1deg); 100 105 101 106 // level tier gradients 102 - --level-tier-iron: #BAB3AB, #BAB3AB; 103 - --level-tier-bronze: #B88F7A, #855C47; 104 - --level-tier-silver: #E0E0EB, #A3A3C2; 105 - --level-tier-gold: #F0E4A8, #E0C952; 106 - --level-tier-platinum: #A8F0EF, #52E0DF; 107 - --level-tier-rhodium: #D9F8D3, #A0CF96; 108 - --level-tier-radiant: #97DCFF, #ED82FF; 109 - --level-tier-lustrous: #FFE600, #ED82FF; 107 + --level-tier-iron: #bab3ab, #bab3ab; 108 + --level-tier-bronze: #b88f7a, #855c47; 109 + --level-tier-silver: #e0e0eb, #a3a3c2; 110 + --level-tier-gold: #f0e4a8, #e0c952; 111 + --level-tier-platinum: #a8f0ef, #52e0df; 112 + --level-tier-rhodium: #d9f8d3, #a0cf96; 113 + --level-tier-radiant: #97dcff, #ed82ff; 114 + --level-tier-lustrous: #ffe600, #ed82ff; 110 115 } 111 116 112 117 #popup-container {
+1 -2
resources/css/sections.less
··· 46 46 .menu-colour(rankings, osu-colour-green-1); 47 47 .menu-colour(store, osu-colour-darkorange-1); 48 48 49 - 50 49 .menu-colour(@section, @colour) { 51 50 .u-section-@{section}--before-bg-normal { 52 51 &::before { ··· 95 94 --forum-bg: @bg; 96 95 --forum-text: @text; 97 96 --forum-text-hover: @text-hover; 98 - .at2x-var(--forum-cover, '~@images/headers/forum-topic-covers/forum-cover-@{category}.jpg'); 97 + .at2x-var(--forum-cover, "~@images/headers/forum-topic-covers/forum-cover-@{category}.jpg"); 99 98 } 100 99 }
+2 -2
resources/css/spinner.less
··· 25 25 position: relative; 26 26 27 27 &::before { 28 - content: ''; 28 + content: ""; 29 29 position: absolute; 30 30 top: 0; 31 31 left: 0; ··· 35 35 border: 0.18em solid currentColor; 36 36 border-bottom-color: transparent; 37 37 border-radius: 100%; 38 - animation: ball-clip-rotate .75s linear infinite; 38 + animation: ball-clip-rotate 0.75s linear infinite; 39 39 40 40 .la-ball-clip-rotate--loaded& { 41 41 animation-iteration-count: 1;
+14 -14
resources/css/torus.less
··· 36 36 37 37 @font-face { 38 38 // Torus-Thin 39 - font-family: 'Torus'; 39 + font-family: "Torus"; 40 40 font-weight: 100; 41 - src: url('~@fonts/torus/Torus-Thin.otf'); 41 + src: url("~@fonts/torus/Torus-Thin.otf"); 42 42 } 43 43 44 44 @font-face { 45 45 // Torus-SemiBold 46 - font-family: 'Torus'; 46 + font-family: "Torus"; 47 47 font-weight: 600; 48 - src: url('~@fonts/torus/Torus-SemiBold.otf'); 48 + src: url("~@fonts/torus/Torus-SemiBold.otf"); 49 49 } 50 50 51 51 @font-face { 52 52 // Torus-SemiBold, for default bold 53 - font-family: 'Torus'; 53 + font-family: "Torus"; 54 54 font-weight: 700; 55 - src: url('~@fonts/torus/Torus-SemiBold.otf'); 55 + src: url("~@fonts/torus/Torus-SemiBold.otf"); 56 56 } 57 57 58 58 @font-face { 59 59 // Torus-Regular 60 - font-family: 'Torus'; 60 + font-family: "Torus"; 61 61 font-weight: 400; 62 - src: url('~@fonts/torus/Torus-Regular.otf'); 62 + src: url("~@fonts/torus/Torus-Regular.otf"); 63 63 } 64 64 65 65 @font-face { 66 66 // Torus-Light 67 - font-family: 'Torus'; 67 + font-family: "Torus"; 68 68 font-weight: 300; 69 - src: url('~@fonts/torus/Torus-Light.otf'); 69 + src: url("~@fonts/torus/Torus-Light.otf"); 70 70 } 71 71 72 72 @font-face { 73 73 // Torus-Heavy 74 - font-family: 'Torus'; 74 + font-family: "Torus"; 75 75 font-weight: 900; 76 - src: url('~@fonts/torus/Torus-Heavy.otf'); 76 + src: url("~@fonts/torus/Torus-Heavy.otf"); 77 77 } 78 78 79 79 @font-face { 80 80 // Torus-Bold 81 - font-family: 'Torus'; 81 + font-family: "Torus"; 82 82 font-weight: 800; 83 - src: url('~@fonts/torus/Torus-Bold.otf'); 83 + src: url("~@fonts/torus/Torus-Bold.otf"); 84 84 }
+2 -1
resources/css/utilities.less
··· 1 1 // Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the GNU Affero General Public License v3.0. 2 2 // See the LICENCE file in the repository root for full licence text. 3 3 4 - .no-print, .no-print * { 4 + .no-print, 5 + .no-print * { 5 6 @media print { 6 7 display: none !important; 7 8 }
+16 -7
resources/css/variables.less
··· 8 8 9 9 @font-grade: Venera, sans-serif; 10 10 @font-content: Inter, sans-serif; 11 - @font-default: Torus, Inter, 'Helvetica Neue', Tahoma, Arial, 'Hiragino Kaku Gothic ProN', Meiryo, 'Microsoft YaHei', 'Apple SD Gothic Neo', sans-serif; 12 - @font-default-vi: Quicksand, Torus, Inter, 'Helvetica Neue', Tahoma, Arial, 'PingFang TC', 'Microsoft JhengHei', 'Apple SD Gothic Neo', system-ui, sans-serif; 13 - @font-default-th: Torus, Inter, 'Helvetica Neue', 'Prompt', Tahoma, Arial, 'Hiragino Kaku Gothic ProN', Meiryo, 'Microsoft YaHei', "Apple SD Gothic Neo", sans-serif; 14 - @font-default-zh: Torus, Inter, 'Helvetica Neue', Tahoma, Arial, 'Hiragino Sans GB', 'Microsoft YaHei', 'Apple SD Gothic Neo', system-ui, sans-serif; 15 - @font-default-zh-tw: Torus, Inter, 'Helvetica Neue', Tahoma, Arial, 'PingFang TC', 'Microsoft JhengHei', 'Apple SD Gothic Neo', system-ui, sans-serif; 11 + @font-default: Torus, Inter, "Helvetica Neue", Tahoma, Arial, 12 + "Hiragino Kaku Gothic ProN", Meiryo, "Microsoft YaHei", "Apple SD Gothic Neo", 13 + sans-serif; 14 + @font-default-vi: Quicksand, Torus, Inter, "Helvetica Neue", Tahoma, Arial, 15 + "PingFang TC", "Microsoft JhengHei", "Apple SD Gothic Neo", system-ui, 16 + sans-serif; 17 + @font-default-th: Torus, Inter, "Helvetica Neue", "Prompt", Tahoma, Arial, 18 + "Hiragino Kaku Gothic ProN", Meiryo, "Microsoft YaHei", "Apple SD Gothic Neo", 19 + sans-serif; 20 + @font-default-zh: Torus, Inter, "Helvetica Neue", Tahoma, Arial, 21 + "Hiragino Sans GB", "Microsoft YaHei", "Apple SD Gothic Neo", system-ui, 22 + sans-serif; 23 + @font-default-zh-tw: Torus, Inter, "Helvetica Neue", Tahoma, Arial, 24 + "PingFang TC", "Microsoft JhengHei", "Apple SD Gothic Neo", system-ui, 25 + sans-serif; 16 26 17 27 @screen-mobile-max: (@screen-sm-min - 1px); 18 28 @desktop: ~"(min-width: @{screen-sm-min})"; ··· 30 40 31 41 // update app-deps.ts when changing the height of the header. 32 42 @nav2-avatar-height: 60px; 33 - @nav2-avatar-height--pinned : 40px; 43 + @nav2-avatar-height--pinned: 40px; 34 44 @nav2-height: 90px; 35 45 @nav2-height--pinned: 50px; 36 46 @nav2-header-height: 360px; 37 47 @nav2-header-image-height: 310px; 38 - 39 48 40 49 // mobile nav 41 50 // TODO: un-bootstrap names
+2 -2
resources/css/venera.less
··· 2 2 // See the LICENCE file in the repository root for full licence text. 3 3 4 4 @font-face { 5 - font-family: 'Venera'; 5 + font-family: "Venera"; 6 6 font-weight: 500; 7 - src: url('~@fonts/venera/Venera-500.otf'); 7 + src: url("~@fonts/venera/Venera-500.otf"); 8 8 }
+5
yarn.lock
··· 6169 6169 resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" 6170 6170 integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== 6171 6171 6172 + prettier@^3.3.3: 6173 + version "3.3.3" 6174 + resolved "https://registry.yarnpkg.com/prettier/-/prettier-3.3.3.tgz#30c54fe0be0d8d12e6ae61dbb10109ea00d53105" 6175 + integrity sha512-i2tDNA0O5IrMO757lfrdQZCc2jPNDVntV0m/+4whiDfWaTKfMNgR7Qz0NAeGz/nRqF4m5/6CLzbP4/liHt12Ew== 6176 + 6172 6177 process@^0.11.10: 6173 6178 version "0.11.10" 6174 6179 resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182"