@import "_bootstrap"; // ---------------------- // Container // ---------------------- .container { max-width: 100vw; @media (min-width: 768px) { max-width: 95vw; } } // ---------------------- // Typography // ---------------------- .copy-small { font-size: 0.75rem; opacity: 0.87; @media (min-width: 768px) { font-size: 0.85rem; } @media (min-width: 1400px) { font-size: 1rem; } } // ---------------------- // Cards & Modal // ---------------------- .modal-xl { @media (min-width: 768px) { max-width: 95vw; } @media (min-width: 1400px) { max-width: 90vw; } } .card-modal { background-color: rgba(1, 11, 18, 0.8); cursor: default; } canvas { max-width: 100%; height: 300px; } // ---------------------- // Navigation Tabs // ---------------------- .nav-link { font-weight: 600; color: rgba(255, 255, 255, 0.67); transition: margin-top 0.2s cubic-bezier(0.5, 0, 0.3, 1), padding-top 0.2s cubic-bezier(0.5, 0, 0.3, 1), padding-bottom 0.2s cubic-bezier(0.5, 0, 0.3, 1); &:hover, &:focus { color: rgba(0, 0, 0, 0.87); } } .nav-tabs { .nav-link.active, .nav-item.show .nav-link { color: rgba(0, 0, 0, 0.94); } .nav-link:hover, .nav-link:focus { border-color: transparent; } } // Tiered Nav-Link Colors $tiers: ( nm: rgba(156, 204, 102, 1), lp: rgba(211, 225, 86, 1), mp: rgba(255, 238, 87, 1), hp: rgba(255, 201, 41, 1), dmg: rgba(255, 167, 36, 1), vendor: hsl(262, 47%, 55%) ); @each $name, $color in $tiers { .nav-link.#{$name} { border-bottom: 3px solid $color; &:hover, &:focus { background-color: rgba($color, 0.67); } &.active { background-color: $color; border-bottom-color: $color; @if $name == vendor { color: rgba(255, 255, 255, 0.87); } } } } // ---------------------- // Misc Components // ---------------------- .dark-callout { @media (min-width: 768px) { background-color: rgba(44, 48, 59, 1); } } .card-image { aspect-ratio: 23 / 32; object-fit: cover; z-index: 998; cursor: pointer; } // Icon sizes .small-icon svg { width: 100%; max-height: 16px; margin-top: -0.25rem; } .energy-icon svg, .rarity-icon-large svg, .set-icon svg { width: 2.5rem; margin-top: -0.25rem; } .rarity-icon-large svg, .set-icon svg { margin-bottom: -0.25rem; } .energy-icon svg { margin-right: -0.25rem; } .set-icon svg { margin-left: -0.25rem; } .shadow-filter { filter: drop-shadow(0 5px 5px rgba(0, 0, 0, 0.3)) drop-shadow(0 4px 6px rgba(0, 0, 0, 0.2)); } // ---------------------- // Pricing // ---------------------- .price-row { position: relative; z-index: 999; margin-top: -1.25rem; border-radius: 0.33rem; background: linear-gradient( 90deg, rgba(156, 204, 102, 1) 21%, rgba(211, 225, 86, 1) 42%, rgba(255, 238, 87, 1) 63%, rgba(255, 201, 41, 1) 74%, rgba(255, 167, 36, 1) 85% ); } .price-label { font-size: 0.7rem; font-weight: 600; color: rgba(0, 0, 0, 0.87); background-color: hsl(88, 50%, 60%); box-shadow: rgba(0, 0, 0, 0.35) 0px 5px 10px; border-top-left-radius: 0.33rem; border-bottom-left-radius: 0.33rem; @media (min-width: 768px) { font-size: 0.8rem; } @media (min-width: 996px) { font-size: 0.85rem; } @media (min-width: 1200px) { font-size: 0.9rem; } @media (min-width: 1600px) { font-size: 1rem; } &:nth-of-type(n + 2) { background-color: hsl(66, 70%, 61%); } &:nth-of-type(n + 3) { background-color: hsl(54, 100%, 67%); } &:nth-of-type(n + 4) { background-color: hsl(45, 100%, 58%); } &:last-of-type { background-color: hsl(36, 100%, 57%); border-radius: 0.33rem; } } // ---------------------- // Search // ---------------------- @media (max-width: 768px) { .search-box, .search-button { min-height: 48px; } } // ---------------------- // Sticky Bar // ---------------------- .sticky { background-color: hsl(205, 89%, 4%); position: fixed; bottom: 0; width: 100%; z-index: 1000; @media (min-width: 768px) { position: sticky; top: 0; } }