nouveau-theatre-de-besancon/assets/css/src/generic.css
2024-09-19 16:12:42 +02:00

276 lines
4.4 KiB
CSS

.sr-only {
height: 1px;
width: 1px;
position: absolute;
overflow: hidden;
top: -10px;
}
@keyframes loading {
from,
to {
opacity: 1;
}
50% {
opacity: 0;
}
}
/* .calendar-strip__days.progress {
cursor: progress !important;
}
.calendar-strip__days.progress > li {
animation: loading 0.75s alternate infinite;
}
.calendar-strip__days.progress button {
cursor: progress !important;
} */
.grid {
--column-gap: calc(var(--space-m) * 1.1);
--row-gap: calc(var(--space-m) / 2);
--row-length: calc(12 / var(--span));
display: grid;
grid-template-columns: repeat(12, 1fr);
column-gap: var(--column-gap);
row-gap: var(--row-gap);
}
.grid__item {
grid-column: span var(--span);
}
.grid__item picture {
--column-gap-nbr: var(--row-length) - 1;
--white-space: calc(
(var(--column-gap) * var(--column-gap-nbr)) + var(--space-m) * 2
);
--width: calc((100vw - var(--white-space)) / var(--row-length));
height: calc(var(--width) / 1.2);
}
.grid__item picture img {
object-fit: cover;
}
.logo {
font-weight: normal;
font-size: var(--font-size-h2);
transition: font-size 0.1s var(--curve-quick);
line-height: 1;
}
.logo > * {
display: block;
}
.logo > *:not(:first-child) {
margin-left: 2.27ch;
transition: margin 0.1s var(--curve-quick);
}
.social-icons {
display: flex;
column-gap: 1.15rem;
}
.social-icons a svg {
transform: scale(1);
transition: transform 0.2s ease-in-out;
}
.social-icons a:hover svg {
transform: scale(1.15);
}
.close-btn {
position: relative;
width: 1.5rem;
height: 1.5rem;
display: flex;
align-items: center;
justify-content: center;
justify-self: end;
}
.close-btn__line,
.close-btn__line::before {
content: "";
width: 100%;
height: 3px;
background-color: #000;
position: absolute;
}
.close-btn__line {
transform: rotate(-45deg);
}
.close-btn__line::before {
transform: rotate(90deg);
}
.arrow-right {
font-size: 2rem;
transform: rotate(0deg);
transition: transform 0.3s var(--curve-quick);
}
.arrow-right.open {
transform: rotate(90deg);
}
.ticket-link {
position: relative;
display: flex;
align-items: center;
z-index: 1;
}
.ticket-link > figure {
margin-right: 1rem;
}
.yellow {
background-color: var(--color-yellow);
}
/* .session:first-child > a {
border-top: var(--border) !important;
} */
.session:not(:last-child) {
border-bottom: var(--border);
}
.session:hover {
background-color: var(--color);
}
.session__info {
width: 100%;
}
.session__info--slot {
padding-right: 3vw;
}
.session__info > p:not(:last-child) {
margin-bottom: 1rem;
}
.strong {
font-weight: bolder;
}
.no-padding {
padding: 0 !important;
}
.no-margin {
margin: 0 !important;
}
.no-border {
border: none !important;
}
.shift-large {
margin-left: var(--shift-large);
}
.shift-medium {
margin-left: var(--shift-medium);
}
.shift-small {
margin-left: var(--shift-small);
}
.image-wrapper {
position: relative;
}
.image-wrapper .image-cover {
position: absolute;
z-index: 2;
opacity: 1;
transition: opacity 0.2s ease-in-out;
}
.event-card:hover .image-cover {
opacity: 0;
}
.loader {
position: absolute;
width: 40px;
aspect-ratio: 1.154;
--_g: no-repeat radial-gradient(farthest-side, #fff 90%, #0000);
background: var(--_g) 50% 0, var(--_g) 0 100%, var(--_g) 100% 100%;
background-size: 35% calc(35% * 1.154);
animation: l16 1s infinite;
}
@keyframes l16 {
50%,
100% {
background-position: 100% 100%, 50% 0, 0 100%;
}
}
img {
opacity: 0;
transition: var(--transition-image-opacity);
}
img.show {
opacity: 1;
}
.mobile-group {
display: contents;
}
/* Link hover scale up */
/* Logo hover */
#expanded-nav a,
.main-nav a,
.main-nav .burger-btn,
.main-nav .close-btn,
.main-footer a,
.collapsable__content a:not(.ticket-link) {
display: block;
scale: 1;
transition: scale 0.5s var(--curve-quick);
width: fit-content;
}
.filters button,
.anchors-strip a {
display: inline-block;
scale: 1;
transition: scale 0.5s var(--curve-quick);
}
#expanded-nav a:hover,
.filters button:hover,
.main-nav a:hover,
.main-nav .burger-btn:hover,
.main-nav .close-btn:hover,
.main-footer a:hover,
.collapsable__content a:not(.ticket-link):hover,
.anchors-strip a:hover {
scale: var(--scale-up);
}
@media screen and (max-width: 800px) {
.mobile-group {
display: block;
}
.desktop {
display: none;
}
.logo {
font-size: 6vw;
}
.shift-large,
.shift-medium,
.shift-large {
margin-left: 0;
}
}