├── images ├── logo.png ├── profile-1.jpg ├── profile-2.jpg ├── profile-3.jpg └── profile-4.jpg ├── README.md ├── constants ├── update-data.js ├── sales-analytics-data.js └── recent-order-data.js ├── index.js ├── index.html └── style.css /images/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BrunoCaputo/responsive-admin-dashboard/HEAD/images/logo.png -------------------------------------------------------------------------------- /images/profile-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BrunoCaputo/responsive-admin-dashboard/HEAD/images/profile-1.jpg -------------------------------------------------------------------------------- /images/profile-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BrunoCaputo/responsive-admin-dashboard/HEAD/images/profile-2.jpg -------------------------------------------------------------------------------- /images/profile-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BrunoCaputo/responsive-admin-dashboard/HEAD/images/profile-3.jpg -------------------------------------------------------------------------------- /images/profile-4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BrunoCaputo/responsive-admin-dashboard/HEAD/images/profile-4.jpg -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Responsive Admin Dashboard 2 | 3 | Video: [Responsive Admin Dashboard Using HTML CSS & JavaScript with Light & Dark Mode](https://youtu.be/BOF79TAIkYQ) 4 | -------------------------------------------------------------------------------- /constants/update-data.js: -------------------------------------------------------------------------------- 1 | const UPDATE_DATA = [ 2 | { 3 | imgSrc: "./images/profile-2.jpg", 4 | profileName: "Mike Tyson", 5 | message: "received his order of Night lion tech GPS drone.", 6 | updatedTime: "2 Minutes Ago", 7 | }, 8 | { 9 | imgSrc: "./images/profile-3.jpg", 10 | profileName: "Diana Ayi", 11 | message: "declined her order of 2 DJI Air 2S.", 12 | updatedTime: "5 Minutes Ago", 13 | }, 14 | { 15 | imgSrc: "./images/profile-4.jpg", 16 | profileName: "Mandy Roy", 17 | message: "received his order of LARVENDER KF102 Drone.", 18 | updatedTime: "6 Minutes Ago", 19 | }, 20 | ]; 21 | -------------------------------------------------------------------------------- /constants/sales-analytics-data.js: -------------------------------------------------------------------------------- 1 | const SALES_ANALYTICS_DATA = [ 2 | { 3 | itemClass: "online", 4 | icon: "shopping_cart", 5 | title: "ONLINE ORDERS", 6 | colorClass: "success", 7 | percentage: "+39", 8 | sales: "3849", 9 | }, 10 | { 11 | itemClass: "offline", 12 | icon: "local_mall", 13 | title: "OFFLINE ORDERS", 14 | colorClass: "danger", 15 | percentage: "-17", 16 | sales: "1100", 17 | }, 18 | { 19 | itemClass: "customers", 20 | icon: "person", 21 | title: "NEW CUSTOMERS", 22 | colorClass: "danger", 23 | percentage: "+25", 24 | sales: "849", 25 | }, 26 | ]; 27 | -------------------------------------------------------------------------------- /constants/recent-order-data.js: -------------------------------------------------------------------------------- 1 | const RECENT_ORDER_DATA = [ 2 | { 3 | productName: "Foldable Mini Drone", 4 | productNumber: "85631", 5 | payment: "Due", 6 | status: "Pending", 7 | statusColor: "warning", 8 | }, 9 | { 10 | productName: "LARVENDER KF102 Drone", 11 | productNumber: "36378", 12 | payment: "Refunded", 13 | status: "Declined", 14 | statusColor: "danger", 15 | }, 16 | { 17 | productName: "Ruko F11 Pro Drone", 18 | productNumber: "49347", 19 | payment: "Due", 20 | status: "Pending", 21 | statusColor: "warning", 22 | }, 23 | { 24 | productName: "Drone with Camera Drone", 25 | productNumber: "96996", 26 | payment: "Paid", 27 | status: "Delivered", 28 | statusColor: "primary", 29 | }, 30 | { 31 | productName: "GPS 4k Drone", 32 | productNumber: "22821", 33 | payment: "Paid", 34 | status: "Delivered", 35 | statusColor: "primary", 36 | }, 37 | { 38 | productName: "DJI Air 2S", 39 | productNumber: "81475", 40 | payment: "Due", 41 | status: "Pending", 42 | statusColor: "warning", 43 | }, 44 | { 45 | productName: "Lozenge Drone", 46 | productNumber: "00482", 47 | payment: "Paid", 48 | status: "Delivered", 49 | statusColor: "primary", 50 | }, 51 | ]; 52 | -------------------------------------------------------------------------------- /index.js: -------------------------------------------------------------------------------- 1 | // Executes when document is loaded 2 | document.addEventListener("DOMContentLoaded", (ev) => { 3 | // Recent Orders Data 4 | document.getElementById("recent-orders--table").appendChild(buildTableBody()); 5 | 6 | // Updates Data 7 | document 8 | .getElementsByClassName("recent-updates") 9 | .item(0) 10 | .appendChild(buildUpdatesList()); 11 | 12 | // Sales Analytics 13 | const salesAnalytics = document.getElementById("analytics"); 14 | buildSalesAnalytics(salesAnalytics); 15 | }); 16 | 17 | // Document Builder 18 | const buildTableBody = () => { 19 | const recentOrderData = RECENT_ORDER_DATA; 20 | 21 | const tbody = document.createElement("tbody"); 22 | 23 | let bodyContent = ""; 24 | for (const row of recentOrderData) { 25 | bodyContent += ` 26 | 27 | ${row.productName} 28 | ${row.productNumber} 29 | ${row.payment} 30 | ${row.status} 31 | Details 32 | 33 | `; 34 | } 35 | 36 | tbody.innerHTML = bodyContent; 37 | 38 | return tbody; 39 | }; 40 | 41 | const buildUpdatesList = () => { 42 | const updateData = UPDATE_DATA; 43 | 44 | const div = document.createElement("div"); 45 | div.classList.add("updates"); 46 | 47 | let updateContent = ""; 48 | for (const update of updateData) { 49 | updateContent += ` 50 |
51 |
52 | 53 |
54 |
55 |

${update.profileName} ${update.message}

56 | ${update.updatedTime} 57 |
58 |
59 | `; 60 | } 61 | 62 | div.innerHTML = updateContent; 63 | 64 | return div; 65 | }; 66 | 67 | const buildSalesAnalytics = (element) => { 68 | const salesAnalyticsData = SALES_ANALYTICS_DATA; 69 | 70 | for (const analytic of salesAnalyticsData) { 71 | const item = document.createElement("div"); 72 | item.classList.add("item"); 73 | item.classList.add(analytic.itemClass); 74 | 75 | const itemHtml = ` 76 |
77 | ${analytic.icon} 78 |
79 |
80 |
81 |

${analytic.title}

82 | Last 24 Hours 83 |
84 |
${analytic.percentage}%
85 |

${analytic.sales}

86 |
87 | `; 88 | 89 | item.innerHTML = itemHtml; 90 | 91 | element.appendChild(item); 92 | } 93 | }; 94 | 95 | // Document operation functions 96 | const sideMenu = document.querySelector("aside"); 97 | const menuBtn = document.querySelector("#menu-btn"); 98 | const closeBtn = document.querySelector("#close-btn"); 99 | const themeToggler = document.querySelector(".theme-toggler"); 100 | 101 | // Show Sidebar 102 | menuBtn.addEventListener("click", () => { 103 | sideMenu.style.display = "block"; 104 | }); 105 | 106 | // Hide Sidebar 107 | closeBtn.addEventListener("click", () => { 108 | sideMenu.style.display = "none"; 109 | }); 110 | 111 | // Change Theme 112 | themeToggler.addEventListener("click", () => { 113 | document.body.classList.toggle("dark-theme-variables"); 114 | 115 | themeToggler.querySelector("span:nth-child(1)").classList.toggle("active"); 116 | themeToggler.querySelector("span:nth-child(2)").classList.toggle("active"); 117 | }); 118 | -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Admin Dashboard 8 | 9 | 13 | 14 | 15 | 16 |
17 | 72 | 73 |
74 |

Dashboard

75 | 76 |
77 | 78 |
79 | 80 |
81 | 82 |
83 | analytics 84 |
85 |
86 |

Total Sales

87 |

$25,024

88 |
89 |
90 | 91 | 92 | 93 |
94 |

81%

95 |
96 |
97 |
98 | Last 24 hours 99 |
100 | 101 | 102 |
103 | bar_chart 104 |
105 |
106 |

Total Expenses

107 |

$14,160

108 |
109 |
110 | 111 | 112 | 113 |
114 |

62%

115 |
116 |
117 |
118 | Last 24 hours 119 |
120 | 121 | 122 |
123 | stacked_line_chart 124 |
125 |
126 |

Total Income

127 |

$10,864

128 |
129 |
130 | 131 | 132 | 133 |
134 |

44%

135 |
136 |
137 |
138 | Last 24 hours 139 |
140 |
141 | 142 |
143 |

Recent Orders

144 | 145 | 146 | 147 | 148 | 149 | 150 | 151 | 152 | 153 | 154 | 155 |
Product NameProduct NumberPaymentStatus
156 | Show All 157 |
158 |
159 | 160 |
161 |
162 | 165 |
166 | light_mode 167 | dark_mode 168 |
169 |
170 |
171 |

Hey, Bruno

172 | Admin 173 |
174 |
175 | Profile Picture 176 |
177 |
178 |
179 | 180 |
181 |

Recent Updates

182 | 183 |
184 | 185 |
186 |

Sales Analytics

187 |
188 | 189 |
190 |
191 |
192 | add 193 |

Add Product

194 |
195 |
196 |
197 |
198 |
199 | 200 | 201 | 202 | 203 | 204 | 205 | 206 | -------------------------------------------------------------------------------- /style.css: -------------------------------------------------------------------------------- 1 | /* DECLARATIONS */ 2 | @import url("https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;800&display=swap"); 3 | 4 | /* ROOT VARIABLES */ 5 | :root { 6 | --color-primary: #7380ec; 7 | --color-danger: #ff7782; 8 | --color-success: #41f1b6; 9 | --color-warning: #ffbb55; 10 | --color-white: #fff; 11 | --color-info-dark: #7d8da1; 12 | --color-info-light: #dce1eb; 13 | --color-dark: #363949; 14 | --color-light: rgba(132, 139, 200, 0.18); 15 | --color-primary-variant: #111e88; 16 | --color-dark-variant: #677483; 17 | --color-background: #f6f6f9; 18 | 19 | --card-border-radius: 2rem; 20 | --border-radius-1: 0.4rem; 21 | --border-radius-2: 0.8rem; 22 | --border-radius-3: 1.2rem; 23 | 24 | --card-padding: 1.8rem; 25 | --padding-1: 1.2rem; 26 | 27 | --box-shadow: 0 2rem 3rem var(--color-light); 28 | } 29 | 30 | /* DARK THEME VARIABLES */ 31 | .dark-theme-variables { 32 | --color-background: #181a1e; 33 | --color-white: #202528; 34 | --color-dark: #edeffd; 35 | --color-dark-variant: #a3bdcc; 36 | --color-light: rgba(0, 0, 0, 0.4); 37 | --box-shadow: 0 2rem 3rem var(--color-light); 38 | } 39 | 40 | /* STYLES */ 41 | * { 42 | margin: 0; 43 | padding: 0; 44 | outline: 0; 45 | appearance: none; 46 | border: 0; 47 | text-decoration: none; 48 | list-style: none; 49 | box-sizing: border-box; 50 | } 51 | html { 52 | font-size: 14px; 53 | } 54 | body { 55 | width: 100vw; 56 | height: 100vh; 57 | font-family: poppins, sans-serif; 58 | font-size: 0.88rem; 59 | background: var(--color-background); 60 | user-select: none; 61 | overflow-x: hidden; 62 | color: var(--color-dark); 63 | } 64 | .container { 65 | display: grid; 66 | width: 96%; 67 | margin: 0 auto; 68 | gap: 1.8rem; 69 | grid-template-columns: 14rem auto 23rem; 70 | } 71 | a { 72 | color: var(--color-dark); 73 | } 74 | img { 75 | display: block; 76 | width: 100%; 77 | } 78 | h1 { 79 | font-weight: 800; 80 | font-size: 1.8rem; 81 | } 82 | h2 { 83 | font-size: 1.4rem; 84 | } 85 | h3 { 86 | font-size: 0.87rem; 87 | } 88 | h4 { 89 | font-size: 0.8rem; 90 | } 91 | h5 { 92 | font-family: 0.77rem; 93 | } 94 | small { 95 | font-size: 0.75rem; 96 | } 97 | .profile-photo { 98 | width: 2.8rem; 99 | height: 2.8rem; 100 | border-radius: 50%; 101 | overflow: hidden; 102 | } 103 | .text-muted { 104 | color: var(--color-info-dark); 105 | } 106 | p { 107 | color: var(--color-dark-variant); 108 | } 109 | b { 110 | color: var(--color-dark); 111 | } 112 | .primary { 113 | color: var(--color-primary); 114 | } 115 | .danger { 116 | color: var(--color-danger); 117 | } 118 | .success { 119 | color: var(--color-success); 120 | } 121 | .warning { 122 | color: var(--color-warning); 123 | } 124 | 125 | /* START ASIDE */ 126 | aside { 127 | height: 100vh; 128 | } 129 | aside .top { 130 | display: flex; 131 | align-items: center; 132 | justify-content: space-between; 133 | margin-top: 1.4rem; 134 | } 135 | aside .logo { 136 | display: flex; 137 | gap: 0.8rem; 138 | } 139 | aside .logo img { 140 | width: 2rem; 141 | height: 2rem; 142 | } 143 | aside .close { 144 | display: none; 145 | } 146 | 147 | /* START SIDEBAR */ 148 | aside .sidebar { 149 | display: flex; 150 | flex-direction: column; 151 | height: 86vh; 152 | position: relative; 153 | top: 3rem; 154 | } 155 | aside h3 { 156 | font-weight: 500; 157 | } 158 | aside .sidebar a { 159 | display: flex; 160 | color: var(--color-info-dark); 161 | margin-left: 2rem; 162 | gap: 1rem; 163 | align-items: center; 164 | position: relative; 165 | height: 3.7rem; 166 | transition: all 300ms ease; 167 | } 168 | aside .sidebar a span { 169 | font-size: 1.6rem; 170 | transition: all 300ms ease; 171 | } 172 | aside .sidebar a:last-child { 173 | position: absolute; 174 | bottom: 2rem; 175 | width: 100%; 176 | } 177 | aside .sidebar a.active { 178 | background: var(--color-light); 179 | color: var(--color-primary); 180 | margin-left: 0; 181 | } 182 | aside .sidebar a.active:before { 183 | content: ""; 184 | width: 6px; 185 | height: 100%; 186 | background: var(--color-primary); 187 | } 188 | aside .sidebar a.active span { 189 | color: var(--color-primary); 190 | margin-left: calc(1rem - 6px); 191 | } 192 | aside .sidebar a:hover { 193 | color: var(--color-primary); 194 | } 195 | aside .sidebar a:hover span { 196 | margin-left: 1rem; 197 | } 198 | aside .sidebar .message-count { 199 | background: var(--color-danger); 200 | color: var(--color-white); 201 | padding: 2px 10px; 202 | font-size: 11px; 203 | border-radius: var(--border-radius-1); 204 | } 205 | /* END SIDEBAR */ 206 | /* END ASIDE */ 207 | 208 | /* START MAIN */ 209 | main { 210 | margin-top: 1.4rem; 211 | } 212 | 213 | /* START DATE INPUT */ 214 | main .date { 215 | display: inline-block; 216 | background: var(--color-light); 217 | border-radius: var(--border-radius-1); 218 | margin-top: 1rem; 219 | padding: 0.5rem 1.6rem; 220 | } 221 | main .date input[type="date"] { 222 | background: transparent; 223 | color: var(--color-dark); 224 | } 225 | /* END DATE INPUT */ 226 | 227 | /* START INSIGHTS */ 228 | main .insights { 229 | display: grid; 230 | grid-template-columns: repeat(3, 1fr); 231 | gap: 1.6rem; 232 | } 233 | main .insights > div { 234 | background: var(--color-white); 235 | padding: var(--card-padding); 236 | border-radius: var(--card-border-radius); 237 | margin-top: 1rem; 238 | box-shadow: var(--box-shadow); 239 | transition: all 300ms ease; 240 | } 241 | main .insights > div:hover { 242 | cursor: pointer; 243 | box-shadow: none; 244 | } 245 | main .insights > div span { 246 | background: var(--color-primary); 247 | padding: 0.5rem; 248 | border-radius: 50%; 249 | color: var(--color-white); 250 | font-size: 2rem; 251 | } 252 | main .insights > div.expenses span { 253 | background: var(--color-danger); 254 | } 255 | main .insights > div.income span { 256 | background: var(--color-success); 257 | } 258 | main .insights > div .middle { 259 | display: flex; 260 | align-items: center; 261 | justify-content: space-between; 262 | } 263 | main .insights h3 { 264 | margin: 1rem 0 0.6rem; 265 | font-size: 1rem; 266 | } 267 | main .insights .progress { 268 | position: relative; 269 | width: 92px; 270 | height: 92px; 271 | border-radius: 50%; 272 | } 273 | main .insights svg { 274 | width: 7rem; 275 | height: 7rem; 276 | } 277 | main .insights svg circle { 278 | fill: none; 279 | stroke: var(--color-primary); 280 | stroke-width: 14; 281 | stroke-linecap: round; 282 | transform: translate(5px, 5px); 283 | stroke-dasharray: 110; 284 | stroke-dashoffset: 92; 285 | } 286 | main .insights .sales svg circle { 287 | stroke-dashoffset: -30; 288 | stroke-dasharray: 200; 289 | } 290 | main .insights .expenses svg circle { 291 | stroke-dashoffset: 20; 292 | stroke-dasharray: 80; 293 | } 294 | main .insights .income svg circle { 295 | stroke-dashoffset: 35; 296 | } 297 | main .insights .progress .number { 298 | position: absolute; 299 | top: -2px; 300 | left: -2px; 301 | height: 100%; 302 | width: 100%; 303 | display: flex; 304 | justify-content: center; 305 | align-items: center; 306 | } 307 | main .insights small { 308 | margin-top: 1.6rem; 309 | display: block; 310 | } 311 | /* END INSIGHTS */ 312 | 313 | /* START RECENT ORDERS */ 314 | main .recent-orders { 315 | margin-top: 2rem; 316 | } 317 | main .recent-orders h2 { 318 | margin-bottom: 0.8rem; 319 | } 320 | main .recent-orders table { 321 | background: var(--color-white); 322 | width: 100%; 323 | border-radius: var(--card-border-radius); 324 | padding: var(--card-padding); 325 | text-align: center; 326 | box-shadow: var(--box-shadow); 327 | transition: all 300ms ease; 328 | } 329 | main .recent-orders table:hover { 330 | cursor: pointer; 331 | box-shadow: none; 332 | } 333 | main table tbody td { 334 | height: 2.8rem; 335 | border-bottom: 1px solid var(--color-light); 336 | color: var(--color-dark-variant); 337 | } 338 | main table tbody tr:last-child td { 339 | border: none; 340 | } 341 | main .recent-orders a { 342 | text-align: center; 343 | display: block; 344 | margin: 1rem auto; 345 | color: var(--color-primary); 346 | } 347 | /* END RECENT ORDERS */ 348 | 349 | /* START RIGHT SECTION */ 350 | .right { 351 | margin-top: 1.4rem; 352 | } 353 | .right .top { 354 | display: flex; 355 | justify-content: end; 356 | gap: 2rem; 357 | } 358 | .right .top button { 359 | display: none; 360 | } 361 | .right .theme-toggler { 362 | background: var(--color-light); 363 | display: flex; 364 | justify-content: space-between; 365 | align-items: center; 366 | height: 1.6rem; 367 | width: 4.2rem; 368 | cursor: pointer; 369 | border-radius: var(--border-radius-1); 370 | } 371 | .right .theme-toggler span { 372 | font-size: 1.2rem; 373 | width: 50%; 374 | height: 100%; 375 | display: flex; 376 | align-items: center; 377 | justify-content: center; 378 | } 379 | .right .theme-toggler span.active { 380 | background: var(--color-primary); 381 | color: white; 382 | border-radius: var(--border-radius-1); 383 | } 384 | .right .top .profile { 385 | display: flex; 386 | gap: 2rem; 387 | text-align: right; 388 | } 389 | 390 | /* START RECENT UPDATES */ 391 | .right .recent-updates { 392 | margin-top: 1rem; 393 | } 394 | .right .recent-updates h2 { 395 | margin-bottom: 0.8rem; 396 | } 397 | .right .recent-updates .updates { 398 | background: var(--color-white); 399 | padding: var(--card-padding); 400 | border-radius: var(--card-border-radius); 401 | box-shadow: var(--box-shadow); 402 | transition: all 300ms ease; 403 | } 404 | .right .recent-updates .updates:hover { 405 | cursor: pointer; 406 | box-shadow: none; 407 | } 408 | .right .recent-updates .updates .update { 409 | display: grid; 410 | grid-template-columns: 2.6rem auto; 411 | gap: 1rem; 412 | margin-bottom: 1rem; 413 | } 414 | /* END RECENT UPDATES */ 415 | 416 | /* START SALES ANALYTICS */ 417 | .right .sales-analytics { 418 | margin-top: 2rem; 419 | } 420 | .right .sales-analytics h2 { 421 | margin-bottom: 0.8rem; 422 | } 423 | .right .sales-analytics .item { 424 | background: var(--color-white); 425 | display: flex; 426 | align-items: center; 427 | gap: 1rem; 428 | margin-bottom: 0.7rem; 429 | padding: 1.4rem var(--card-padding); 430 | border-radius: var(--border-radius-3); 431 | box-shadow: var(--box-shadow); 432 | transition: all 300ms ease; 433 | } 434 | .right .sales-analytics .item:hover { 435 | cursor: pointer; 436 | box-shadow: none; 437 | } 438 | .right .sales-analytics .item .right { 439 | display: flex; 440 | justify-content: space-between; 441 | align-items: start; 442 | margin: 0; 443 | width: 100%; 444 | } 445 | .right .sales-analytics .item .icon { 446 | padding: 0.6rem; 447 | color: var(--color-white); 448 | border-radius: 50%; 449 | background: var(--color-primary); 450 | display: flex; 451 | } 452 | .right .sales-analytics .item.offline .icon { 453 | background: var(--color-danger); 454 | } 455 | .right .sales-analytics .item.customers .icon { 456 | background: var(--color-success); 457 | } 458 | .right .sales-analytics .add-product { 459 | background: transparent; 460 | border: 2px dashed var(--color-primary); 461 | color: var(--color-primary); 462 | display: flex; 463 | align-items: center; 464 | justify-content: center; 465 | } 466 | .right .sales-analytics .add-product:hover { 467 | background: var(--color-primary); 468 | color: white; 469 | } 470 | .right .sales-analytics .add-product div { 471 | display: flex; 472 | align-items: center; 473 | gap: 0.6rem; 474 | } 475 | .right .sales-analytics .add-product h3 { 476 | font-weight: 600; 477 | } 478 | /* END SALES ANALYTICS */ 479 | /* END RIGHT SECTION */ 480 | 481 | /* START MEDIA QUERIES */ 482 | /* TABLETS AND SMALL LAPTOPS */ 483 | @media screen and (max-width: 1200px) { 484 | .container { 485 | width: 94%; 486 | grid-template-columns: 7rem auto 23rem; 487 | } 488 | aside .logo h2 { 489 | display: none; 490 | } 491 | aside .sidebar h3 { 492 | display: none; 493 | } 494 | aside .sidebar a { 495 | width: 5.6rem; 496 | } 497 | aside .sidebar a:last-child { 498 | position: relative; 499 | margin-top: 1.8rem; 500 | } 501 | main .insights { 502 | grid-template-columns: 1fr; 503 | gap: 0; 504 | } 505 | main .recent-orders { 506 | width: 94%; 507 | position: absolute; 508 | left: 50%; 509 | transform: translateX(-50%); 510 | margin: 2rem 0 0 8.8rem; 511 | } 512 | main .recent-orders table { 513 | width: 83vw; 514 | } 515 | main .recent-orders table thead tr th:first-child, 516 | main .recent-orders table thead tr th:last-child { 517 | display: none; 518 | } 519 | main .recent-orders table tbody tr td:first-child, 520 | main .recent-orders table tbody tr td:last-child { 521 | display: none; 522 | } 523 | } 524 | 525 | /* SMALL TABLETS AND MOBILE */ 526 | @media screen and (max-width: 768px) { 527 | .container { 528 | width: 100%; 529 | grid-template-columns: 1fr; 530 | } 531 | aside { 532 | position: fixed; 533 | left: -100%; 534 | background: var(--color-white); 535 | width: 18rem; 536 | z-index: 3; 537 | box-shadow: 1rem 3rem 4rem var(--color-light); 538 | height: 100vh; 539 | padding-right: var(--card-padding); 540 | display: none; 541 | animation: showMenu 400ms ease forwards; 542 | } 543 | @keyframes showMenu { 544 | to { 545 | left: 0; 546 | } 547 | } 548 | aside .logo { 549 | margin-left: 1rem; 550 | } 551 | aside .logo h2 { 552 | display: inline; 553 | } 554 | aside .sidebar h3 { 555 | display: inline; 556 | } 557 | aside .sidebar a { 558 | width: 100%; 559 | height: 3.4rem; 560 | } 561 | aside .sidebar a:last-child { 562 | position: absolute; 563 | bottom: 5rem; 564 | } 565 | aside .close { 566 | display: inline-block; 567 | cursor: pointer; 568 | } 569 | main { 570 | margin-top: 8rem; 571 | padding: 0 1rem; 572 | } 573 | main .recent-orders { 574 | position: relative; 575 | margin: 3rem 0 0 0; 576 | width: 100%; 577 | } 578 | main .recent-orders table { 579 | width: 100%; 580 | margin: 0; 581 | } 582 | .right { 583 | width: 94%; 584 | margin: 0 auto 4rem; 585 | } 586 | .right .top { 587 | position: fixed; 588 | top: 0; 589 | left: 0; 590 | align-items: center; 591 | padding: 0 0.8rem; 592 | height: 4.6rem; 593 | background: var(--color-white); 594 | width: 100%; 595 | margin: 0; 596 | z-index: 2; 597 | box-shadow: 0 1rem 1rem var(--color-light); 598 | } 599 | .right .top .theme-toggler { 600 | width: 4.4rem; 601 | position: absolute; 602 | left: 66%; 603 | } 604 | .right .top .profile .info { 605 | display: none; 606 | } 607 | .right .top button { 608 | display: inline-block; 609 | background: transparent; 610 | cursor: pointer; 611 | color: var(--color-dark); 612 | position: absolute; 613 | left: 1rem; 614 | } 615 | .right .top button span { 616 | font-size: 2rem; 617 | } 618 | } 619 | /* END MEDIA QUERIES */ 620 | --------------------------------------------------------------------------------