You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
520 lines
9.6 KiB
520 lines
9.6 KiB
body { |
|
display: flex; |
|
flex-direction: column; |
|
min-height: 100vh; |
|
max-width: 100%; |
|
background-color: var(--color-bg); |
|
color: var(--color-text); |
|
font-family: var(--font-family), sans-serif; |
|
margin: 0; |
|
padding: 0; |
|
line-height: 1.6; |
|
} |
|
|
|
h1, h2, h3, h4, h5, h6 { |
|
font-family: var(--heading-font), serif; |
|
font-weight: 600; |
|
line-height: 1.1; |
|
color: var(--color-primary); |
|
margin: 30px 0 10px; |
|
} |
|
|
|
h1 { |
|
font-size: 3.2rem; |
|
margin-top: 0.25em; |
|
font-weight: 300; |
|
} |
|
|
|
h1.brand { |
|
font-family: var(--brand-font), serif; |
|
color: var(--color-primary); |
|
font-size: 3.2rem; |
|
} |
|
|
|
@media screen and (max-width: 600px) { |
|
h1.brand { |
|
font-size: 2.3rem; |
|
} |
|
} |
|
|
|
h1.brand a { |
|
color: var(--brand-color); |
|
} |
|
|
|
h1:not(.brand) > a:hover { |
|
text-decoration: none; |
|
font-weight: 500; |
|
} |
|
|
|
h2 { |
|
font-size: 2.2rem; |
|
} |
|
|
|
h2.brand { |
|
font-family: var(--brand-font), serif; |
|
color: var(--color-primary); |
|
} |
|
|
|
h3 { |
|
font-size: 2rem; |
|
} |
|
|
|
h4 { |
|
font-size: 1.9rem; |
|
} |
|
|
|
h5 { |
|
font-size: 1.75rem; |
|
} |
|
|
|
h6 { |
|
font-size: 1.5rem; |
|
} |
|
|
|
p { |
|
margin: 0 0 15px; |
|
} |
|
|
|
aside h1 { |
|
font-size: 1.2rem; |
|
} |
|
|
|
aside h2 { |
|
font-size: 1.1rem; |
|
} |
|
|
|
aside p.lede { |
|
font-size: 1rem; |
|
} |
|
|
|
.lede { |
|
font-family: var(--main-body-font), serif; |
|
font-size: 1.6rem; |
|
word-wrap: break-word; |
|
font-weight: 300; |
|
} |
|
|
|
strong:not(>h2), .strong { |
|
color: var(--color-primary); |
|
} |
|
|
|
.hidden { |
|
display: none; |
|
} |
|
|
|
a { |
|
color: var(--color-secondary); |
|
text-decoration: none; |
|
} |
|
|
|
a:hover { |
|
text-decoration: underline; |
|
} |
|
|
|
.card a:hover { |
|
text-decoration: none; |
|
color: var(--color-text); |
|
cursor: pointer; |
|
} |
|
|
|
.card a:hover h2 { |
|
color: var(--color-text); |
|
} |
|
|
|
img { |
|
max-width: 100%; |
|
height: auto; |
|
} |
|
|
|
svg.icon { |
|
width: 2em; |
|
height: 2em; |
|
} |
|
|
|
.divider { |
|
border: 2px solid var(--color-primary); |
|
margin: 20px 0; |
|
} |
|
|
|
.hashtag { |
|
color: var(--color-secondary); |
|
} |
|
|
|
.card { |
|
background-color: var(--color-bg); |
|
color: var(--color-text); |
|
padding: 0; |
|
margin: 0 0 2rem 0; |
|
border-radius: 0; /* Sharp edges */ |
|
} |
|
|
|
.featured-cat { |
|
border-bottom: 2px solid var(--color-border); |
|
padding-left: 10px; |
|
} |
|
|
|
.featured-list { |
|
display: flex; |
|
flex-direction: row; |
|
flex-wrap: wrap; |
|
} |
|
|
|
|
|
.featured-list > * { |
|
box-sizing: border-box; /* so padding/border don't break the layout */ |
|
margin-bottom: 10px; |
|
padding: 10px; |
|
} |
|
|
|
@media (max-width: 1024px) { |
|
.featured-list { |
|
flex-direction: column !important; |
|
} |
|
|
|
.featured-list .card-header { |
|
margin-top: 20px; |
|
} |
|
|
|
.featured-list .card { |
|
border-bottom: 1px solid var(--color-border) !important; |
|
} |
|
|
|
.featured-list > * { |
|
margin-bottom: 10px; |
|
padding: 0; |
|
} |
|
} |
|
div:nth-child(odd) .featured-list { |
|
flex-direction: row-reverse; |
|
} |
|
|
|
.featured-list div:first-child { |
|
flex: 0 0 66%; /* each item takes up 50% width = 2 columns */ |
|
} |
|
|
|
.featured-list div:last-child { |
|
flex: 0 0 34%; /* each item takes up 50% width = 2 columns */ |
|
} |
|
|
|
.featured-list h2.card-title { |
|
font-size: 1.5rem; |
|
} |
|
|
|
.featured-list p.lede { |
|
font-size: 1.4rem; |
|
} |
|
|
|
.featured-list .card { |
|
margin-bottom: 20px; |
|
} |
|
|
|
.featured-list .card:not(:last-child) { |
|
border-bottom: 1px solid var(--color-border); |
|
} |
|
|
|
.article-list .metadata { |
|
display: flex; |
|
flex-direction: row; |
|
justify-content: space-between; |
|
align-items: baseline; |
|
} |
|
|
|
.article-list .metadata p { |
|
margin: 0; |
|
} |
|
|
|
.truncate { |
|
display: -webkit-box; |
|
-webkit-line-clamp: 3; /* limit to 3 lines */ |
|
-webkit-box-orient: vertical; |
|
overflow: hidden; |
|
text-overflow: ellipsis; |
|
} |
|
|
|
.card.bordered { |
|
border: 2px solid var(--color-border); |
|
} |
|
|
|
.card-header { |
|
margin: 10px 0; |
|
} |
|
|
|
.header__image { |
|
position: relative; |
|
width: 100%; |
|
overflow: hidden; /* Ensures any overflow is hidden */ |
|
} |
|
|
|
.header__image::before { |
|
content: ""; |
|
display: block; |
|
padding-top: 56.25%; /* 16:9 aspect ratio (9 / 16 * 100 = 56.25%) */ |
|
} |
|
|
|
.header__image img { |
|
position: absolute; |
|
top: 0; |
|
left: 0; |
|
width: 100%; |
|
height: 100%; |
|
object-fit: cover; /* Ensures the image covers the entire area while maintaining its aspect ratio */ |
|
} |
|
|
|
.card-body { |
|
font-size: 1rem; |
|
} |
|
|
|
.card-footer { |
|
border-top: 1px solid var(--color-border); |
|
margin: 20px 0; |
|
} |
|
|
|
.header { |
|
text-align: center; |
|
z-index: 1000; /* Ensure it stays on top */ |
|
display: flex; |
|
flex-direction: column; |
|
justify-content: space-between; |
|
align-items: center; |
|
background-color: var(--color-bg); /* Black background */ |
|
border-bottom: 1px solid var(--color-border); |
|
} |
|
|
|
.header .container { |
|
display: flex; |
|
flex-direction: column; |
|
} |
|
|
|
.header__categories ul { |
|
display: flex; |
|
flex-wrap: wrap; |
|
justify-content: center; |
|
gap: 20px; |
|
padding: 0; |
|
} |
|
|
|
.header__categories li { |
|
list-style: none; |
|
} |
|
|
|
.header__categories li a:hover { |
|
text-decoration: none; |
|
font-weight: bold; |
|
} |
|
|
|
.header__categories a.active { |
|
font-weight: bold; |
|
} |
|
|
|
.header__logo h1 { |
|
font-weight: normal; |
|
} |
|
|
|
.header__logo img { |
|
height: 40px; /* Adjust the height as needed */ |
|
} |
|
|
|
.header__logo a:hover { |
|
text-decoration: none; |
|
} |
|
|
|
.header__user { |
|
position: relative; |
|
display: flex; |
|
align-items: center; |
|
} |
|
|
|
.header__avatar img { |
|
height: 40px; /* Adjust the avatar size as needed */ |
|
width: 40px; |
|
border-radius: 50%; |
|
cursor: pointer; |
|
} |
|
|
|
.header__dropdown { |
|
display: none; |
|
position: absolute; |
|
top: 50px; /* Adjust this depending on the header.html.twig height */ |
|
right: 0; |
|
background-color: var(--color-text); /* White dropdown */ |
|
border: 2px solid var(--color-bg); /* Black border */ |
|
list-style: none; |
|
padding: 10px 0; |
|
z-index: 1000; |
|
border-radius: 0; /* Sharp edges */ |
|
} |
|
|
|
.header__dropdown ul { |
|
margin: 0; |
|
padding: 0; |
|
} |
|
|
|
.header__dropdown li { |
|
padding: 10px 20px; |
|
} |
|
|
|
.header__dropdown li a { |
|
color: var(--color-bg); /* Black text */ |
|
text-decoration: none; |
|
} |
|
|
|
.header__dropdown li a:hover { |
|
background-color: var(--color-bg); /* Black background on hover */ |
|
color: var(--color-text); /* White text on hover */ |
|
display: block; |
|
} |
|
|
|
footer p { |
|
margin: 0; |
|
} |
|
|
|
footer a { |
|
color: var(--color-text-contrast); |
|
} |
|
|
|
/* Tags container */ |
|
.tags { |
|
margin: 10px 0; |
|
display: flex; |
|
flex-wrap: wrap; /* Allows tags to wrap to the next line if needed */ |
|
gap: 10px; /* Adds spacing between individual tags */ |
|
} |
|
|
|
/* Individual tag */ |
|
.tag { |
|
background-color: var(--color-bg-light); |
|
color: var(--color-text-mid); |
|
padding: 3px 6px; /* Padding around the tag text */ |
|
border-radius: 20px; /* Rounded corners (pill-shaped) */ |
|
font-size: 0.75em; /* Slightly smaller text */ |
|
cursor: pointer; /* Cursor turns to pointer for clickable tags */ |
|
text-decoration: none; /* Removes any text decoration (e.g., underline) */ |
|
display: inline-block; /* Makes sure each tag behaves like a block with padding */ |
|
transition: background-color 0.3s ease; /* Smooth hover effect */ |
|
} |
|
|
|
/*!* Hover effect for tags *!*/ |
|
/*.tag:hover {*/ |
|
/* color: var(--color-text-contrast);*/ |
|
/*}*/ |
|
|
|
/* Optional: Responsive adjustments for smaller screens */ |
|
@media (max-width: 768px) { |
|
.tag { |
|
font-size: 0.8em; /* Slightly smaller text for mobile */ |
|
} |
|
} |
|
|
|
|
|
|
|
.card.card__horizontal { |
|
display: flex; |
|
justify-content: space-between; |
|
align-items: center; |
|
|
|
h1 { |
|
font-size: 2rem; |
|
} |
|
|
|
.card-content { |
|
flex: 1; |
|
margin-right: 30px; |
|
padding: 0 8px; |
|
} |
|
|
|
.card-image img { |
|
width: 220px; |
|
max-height: 220px; |
|
object-fit: contain; |
|
} |
|
} |
|
|
|
.article__image img { |
|
margin: 1rem 0; |
|
width: 100%; |
|
} |
|
|
|
.badge { |
|
background-color: var(--color-primary); |
|
color: var(--color-bg); |
|
padding: 3px 8px; |
|
border-radius: 20px; |
|
font-family: var(--font-family), sans-serif; |
|
font-weight: bold; |
|
font-size: 0.65em; |
|
text-transform: uppercase; |
|
margin-right: 5px; |
|
vertical-align: super; |
|
} |
|
|
|
.badge.badge__secondary { |
|
background-color: var(--color-secondary); |
|
} |
|
|
|
.avatar { |
|
width: 24px; /* Adjust the size as needed */ |
|
height: 24px; /* Adjust the size as needed */ |
|
border-radius: 50%; /* Makes the image circular */ |
|
object-fit: cover; /* Ensures the image scales correctly */ |
|
display: inline-block; |
|
vertical-align: middle; |
|
} |
|
|
|
.alert { |
|
padding: 10px 20px; /* Padding around the text */ |
|
border-radius: 5px; /* Rounded corners */ |
|
margin: 20px 0; /* Spacing around the alert */ |
|
} |
|
|
|
.alert.alert-success { |
|
background-color: var(--color-secondary); |
|
color: var(--color-text-contrast); |
|
} |
|
|
|
/* Tabs Container */ |
|
.nav-tabs { |
|
display: flex; /* Arrange items in a row */ |
|
justify-content: center; |
|
padding: 0; /* Remove padding */ |
|
margin: 0; /* Remove margin */ |
|
list-style: none; /* Remove list item styling */ |
|
} |
|
|
|
/* Individual Tab Item */ |
|
.nav-tabs .nav-item { |
|
margin: 0; /* No margin around list items */ |
|
} |
|
|
|
/* NON-Active Tab */ |
|
.nav-tabs .nav-link { |
|
color: var(--color-text); |
|
background-color: transparent; |
|
border: none; |
|
} |
|
|
|
|
|
/* Active Tab */ |
|
.nav-tabs .nav-link.active { |
|
color: var(--color-text-contrast); |
|
background-color: var(--color-primary); |
|
font-weight: bold; |
|
} |
|
|
|
/* Content Container */ |
|
.tab-content { |
|
padding: 15px; /* Spacing inside the content */ |
|
border-top: none; /* Remove border overlap with active tab */ |
|
} |
|
|
|
/* Quill editor */ |
|
#editor { |
|
height: 400px; |
|
margin-bottom: 20px; |
|
} |
|
|
|
/* Search */ |
|
label.search { |
|
width: 100%; |
|
justify-content: center; |
|
margin-bottom: 15px; |
|
}
|
|
|