Files
thalim-theme/scss/_single.scss
2026-05-12 23:33:46 +02:00

585 lines
13 KiB
SCSS

.article {
margin-top: 0;
width: 100%;
.category-header-top {
display: flex;
flex-direction: column;
align-items: start;
justify-content: space-between;
.breadcrumb {
font-size: 0.85rem;
margin-bottom: 1.5rem;
text-transform: uppercase;
line-height: 1.3;
&__separator {
margin: 0 0.4rem;
}
}
@media ($tablet) {
flex-direction: row;
}
}
h2 {
font-family: Gelasio;
font-weight: normal;
font-size: 1.8rem;
position: relative;
display: inline-block;
margin-top: 2rem;
margin-bottom: 2rem;
&::after {
content: '';
display: block;
position: absolute;
height: 5px;
width: 100%;
// bottom: -1.1rem;
left: 0;
z-index: 2;
}
p {
line-height: 1.3;
&:last-of-type {
margin-top: 0.3rem;
margin-bottom: 0.3rem;
}
}
p + p {
font-size: 1.6rem;
}
@media ($tablet) {
p {
font-size: 2.2rem !important;
}
p + p {
font-size: 1.6rem !important;
}
&::after {
bottom: -0.4rem;
}
}
}
// Category color gradients on h2::after
&.category--le-laboratoire h2::after {
background: linear-gradient(to bottom, transparent 0%, $laboratoire 30%);
}
&.category--manifestations-scientifiques h2::after {
background: linear-gradient(to bottom, transparent 0%, $manifestations 30%);
}
&.category--publications-et-productions h2::after {
background: linear-gradient(to bottom, transparent 0%, $publications 30%);
}
&.category--mediation-scientifique h2::after {
background: linear-gradient(to bottom, transparent 0%, $mediations 30%);
}
&.category--ressources h2::after {
background: linear-gradient(to bottom, transparent 0%, $ressources 30%);
}
.article-type {
display: inline-block;
margin-top: 2rem;
font-family: $font-primary;
font-size: 0.85rem;
text-transform: uppercase;
background-color: $light-gray;
padding: 0.2rem 0.6rem;
}
.maj {
font-family: $font-primary;
font-size: 0.85rem !important;
color: $less-dark-gray;
margin-top: 1rem;
margin-bottom: 2.5rem;
text-transform: uppercase;
}
.imgs {
width: 100%;
margin-bottom: 3rem;
figure {
width: 100%;
img {
width: 100%;
height: auto;
}
figcaption {
font-family: $font-primary;
font-size: 0.85rem;
color: $less-dark-gray;
margin-top: 0.5rem;
font-style: italic;
}
@media ($tablet) {
width: 50%;
}
}
&--swiper {
display: flex;
align-items: center;
gap: 0.5rem;
@media ($tablet) {
width: 50%;
}
.swiper {
flex: 1;
min-width: 0;
}
figure {
width: 100%;
}
.swiper-pagination {
position: static;
margin-top: 0.5rem;
text-align: center;
}
.swiper-pagination-bullet-active {
background-color: $less-dark-gray !important;
}
}
}
.article-content {
display: flex;
flex-direction: column-reverse;
gap: 3rem;
@media ($tablet) {
flex-direction: row;
}
}
.sidebar {
background-color: $light-light-gray;
@media ($tablet) {
width: 25%;
padding: 0.8rem;
flex-shrink: 0;
}
.sidebar-container {
position: sticky;
top: 6rem;
display: flex;
flex-direction: column;
gap: 1.5rem;
}
.sidebar-section {
display: flex;
flex-direction: column;
gap: 0.8rem;
line-height: 1.4;
p {
margin: 0;
}
&.reference-bibliographique {
display: inline-block;
em, i {
font-style: italic;
}
strong {
font-weight: bold;
}
}
}
p {
font-family: $font-primary;
}
.link-button {
width: fit-content;
}
.imgs--portrait {
@media ($tablet) {
width: calc(100% + 1.6rem);
margin-left: -0.8rem;
margin-right: -0.8rem;
}
.sidebar-portrait {
width: 100%;
}
}
.sidebar-portrait {
width: 100%;
img {
width: 100%;
height: auto;
}
figcaption {
font-family: $font-primary;
font-size: 0.85rem;
color: $less-dark-gray;
margin-top: 0.5rem;
font-style: italic;
}
}
}
.main-content-text {
margin-top: 1rem;
flex: 1;
min-height: unset;
/* Affichage posts newsletter */
&:has(table[role=presentation]) {
p:not(table[role=presentation] p):not(.maj) {
display: none;
}
table {
&[role=presentation] p {
margin: unset;
}
td {
vertical-align: top;
}
br {
display: none;
}
}
}
> *:not(.article-field) {
font-size: 1.25rem;
}
a {
text-decoration: underline;
}
p {
margin-bottom: 1rem;
line-height: 1.4;
strong {
font-weight: bold;
}
em {
font-style: italic;
}
&:first-child {
margin-top: 0 !important;
}
}
ul, ol {
line-height: 1.4;
padding-left: 0.8rem;
}
ul {
list-style: inside "· ";
}
ol {
list-style: inside decimal;
}
blockquote{
padding-left: 1rem;
margin-left: 1.5rem;
border-left: solid 1px $light-gray;
}
p:first-of-type + .mots-cles {
margin-top: 1rem;
}
.article-field {
font-size: 0.9rem !important;
line-height: 1.4 !important;
margin-bottom: 1.5rem !important;
i {
font-style: italic;
}
}
.mots-cles {
margin-top: 4rem; // style par défaut = style du premier
}
.mots-cles ~ .mots-cles {
margin-top: 1rem; // les 2e et 3e ont moins d'espace
}
.canal-u-embeds,
.youtube-embeds {
margin-top: 2rem;
display: flex;
flex-direction: column;
gap: 1.5rem;
}
.canal-u-embed,
.video-embed {
position: relative;
width: 100%;
padding-bottom: 56.25%; // 16:9
height: 0;
iframe {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
border: 0;
}
}
}
.inline-title {
text-transform: uppercase;
position: relative;
&::after {
content: '';
width: 100%;
height: 10px;
bottom: -1px;
left: 0;
position: absolute;
@include yellow-gradient;
}
}
.related-posts,
.seances-section {
margin-top: 5rem;
h3 {
font-family: $font-primary;
text-transform: uppercase;
position: relative;
display: inline-block;
margin-bottom: 2rem;
&::after {
@include yellow-gradient-after(10px);
bottom: -10px;
}
}
}
.related-posts {
.post-grid {
display: grid;
grid-template-columns: 1fr;
gap: 2rem;
.post-card {
min-width: 0;
a {
text-decoration: none;
h2::after {
display: none;
}
}
}
@media ($tablet) {
grid-template-columns: repeat(2, 1fr);
}
}
}
.seances-list {
display: flex;
flex-direction: column;
gap: 1.5rem;
}
.seance-header {
display: flex;
align-items: stretch;
gap: 1.2rem;
padding: 0.1rem;
background-color: $light-gray;
cursor: pointer;
transition: background-color 0.15s;
&:hover {
background-color: $less-light-gray;
}
@media ($tablet) {
padding: 0.8rem;
}
}
.seance-date {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
min-width: 3rem;
font-family: $font-primary;
text-transform: uppercase;
line-height: 1.2;
padding: 0.4rem 0;
background: linear-gradient(to bottom, $light_light_gray 60%, $manifestations);
&__day {
font-size: 1.4rem;
}
&__month {
font-size: 0.85rem;
}
&__year {
font-size: 0.75rem;
}
}
.seance-info {
flex: 1;
display: flex;
flex-direction: column;
gap: 0.2rem;
.seance-title {
font-family: $font-heading;
font-size: 1.15rem;
line-height: 1.2;
text-decoration: none;
padding: 0.6rem 0;
@media ($tablet) {
padding: unset;
}
}
.seance-intervenants {
font-family: $font-primary;
font-size: 0.85rem;
margin-top: 0.1rem;
color: black;
a {
text-decoration: none;
&:hover {
text-decoration: underline;
}
}
}
}
.seance-chevron {
font-size: 1.2rem;
transition: transform 0.2s;
flex-shrink: 0;
align-self: center;
margin-right: 0.5rem;
}
.seance-item.is-open .seance-chevron {
transform: rotate(180deg);
}
.seance-content {
padding: 1rem 1rem 1rem 1rem;
background-color: $light-light-gray;
font-family: $font-primary;
font-size: 0.9rem;
line-height: 1.4;
.seance-content-infos {
display: flex;
width: 100%;
justify-content: space-between;
margin-bottom: 1rem;
> .seance-content-lieu {
text-align: right;
> p {
margin: 0;
}
}
}
p {
margin-bottom: 0.6rem;
}
.seance-images {
margin-top: 1.5rem;
margin-bottom: 0;
figure {
@media ($tablet) {
width: 50%;
}
}
}
.seance-extras {
display: flex;
flex-direction: column;
align-items: start;
gap: 0.8rem;
margin-top: 1.5rem;
}
.seance-related {
margin-top: 1.5rem;
h4 {
font-family: $font-primary;
text-transform: uppercase;
margin-bottom: 1rem;
}
.post-grid {
display: grid;
grid-template-columns: 1fr;
gap: 2rem;
.post-card {
min-width: 0;
a {
text-decoration: none;
h2::after {
display: none;
}
}
}
@media ($tablet) {
grid-template-columns: repeat(2, 1fr);
}
}
}
@media ($tablet) {
padding: 1rem 1rem 1rem 5.5rem;
}
}
}