pkmntrade.club/static/css/base.css

184 lines
3.9 KiB
CSS

/* Helper classes
-------------------------------------------------- */
.min-width-fit-content {
min-width: fit-content;
}
/* Sticky footer styles
-------------------------------------------------- */
html {
position: relative;
min-height: 100%;
font-size: 14px;
}
@media (min-width: 768px) {
html {
font-size: 16px;
}
}
body {
margin-bottom: 60px; /* Margin bottom by footer height */
}
.container {
max-width: 960px;
}
.pricing-header {
max-width: 700px;
}
.footer {
position: absolute;
bottom: 0;
width: 100%;
height: 60px; /* Set the fixed height of the footer here */
line-height: 60px; /* Vertically center the text there */
background-color: #f5f5f5;
}
/* Trade Offer
-------------------------------------------------- */
.trade-offer-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 1rem;
}
.trade-offer-cell {
display: flex;
flex-direction: column;
}
.trade-offer-header {
display: flex;
align-items: center;
justify-content: space-between;
margin-bottom: 0.5rem;
}
.trade-offer-header .avatar {
width: 40px;
height: 40px;
flex-shrink: 0;
border-radius: 50%;
overflow: hidden;
}
.trade-offer-cards {
display: grid;
grid-template-columns: 1fr;
gap: 0.5rem;
}
.bg-trade-offer {
background: linear-gradient(to right, var(--bs-gray-400) 50%, var(--bs-white) 50%);
}
/* Card Badge
-------------------------------------------------- */
span:has(> .card-badge-grid) {
display: block;
}
.card-badge-grid {
display: grid;
grid-template-columns: 1fr auto;
grid-template-rows: 1fr 1fr;
gap: 0.2rem;
padding: 0.3rem 0.5rem;
border-radius: 0.25rem;
font-size: 0.9rem;
min-width: 150px;
}
.card-badge-name {
grid-column: 1 / span 2;
grid-row: 1;
text-align: left;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.card-badge-rarity {
grid-column: 1;
grid-row: 2;
text-align: left;
min-width: 0;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
display: inline-block;
padding-top: 4px;
padding-bottom: 4px;
line-height: 1.2;
}
.card-badge-cardset {
grid-column: 2;
grid-row: 2;
text-align: right;
font-size: 0.75rem;
opacity: 0.9;
}
/* Responsive: On narrow viewports, stack the Has and Wants sections */
@media (max-width: 576px) {
.trade-offer-grid {
grid-template-columns: 1fr;
}
}
/* Fix for the remove item button */
button.select2-selection__choice__remove {
height: 100%;
}
/* Trade Offer Card Body with Vertical Separator
-------------------------------------------------- */
.trade-offer-body {
position: relative; /* Required for the absolute separator */
background-color: var(--bs-white); /* Use a single background color */
}
.trade-offer-body::before {
content: "";
position: absolute;
left: 50%; /* Centered horizontally */
transform: translateX(-50%);
top: 1rem; /* Gap from the top */
bottom: 1rem; /* Gap from the bottom */
width: 1px; /* The thickness of the separator */
background-color: var(--bs-gray-300); /* Color for the separator */
z-index: 1;
}
/* Modified slider wrapper to allow space for left/right shadows */
.tab-slider-wrapper {
overflow: hidden;
/* increase the total width to include extra shadow space */
width: calc(100% + 40px);
/* negative margins pull the container outward */
margin: 0 -20px;
/* add horizontal padding to preserve layout inside */
padding: 0 20px;
}
/* Grid-based slider for tab content */
.tab-content {
display: grid;
grid-auto-flow: column;
grid-auto-columns: 100%;
gap: 80px; /* Add gap between columns */
transition: transform 0.5s ease;
position: relative;
will-change: transform; /* Optional: Helps with smoother animations */
}
.tab-pane {
width: 100%;
display: block !important;
position: relative;
opacity: 1;
}