diff --git a/public/css/main.css b/public/css/main.css index b8d7d8a..4d9156f 100644 --- a/public/css/main.css +++ b/public/css/main.css @@ -245,12 +245,14 @@ picture img { vertical-align: bottom; } +summary {cursor: pointer;} + /* ----------------------------------------------------------------- */ /* -------------------------- STRUCTURE ---------------------------- */ -header { +#container > header { padding: calc(1rem + 2vw) 0 0.65rem calc(1rem + 2vw); - margin-bottom: calc(2rem + 2vw); + margin-bottom: calc(1rem + 1vw); transition: all 0.3s; } @@ -552,6 +554,7 @@ nav a[aria-current="page"] { /* ----------------------------------------------------------------- */ /* -------------------------- HOME ---------------------------- */ + div.hero { position: relative; background-image: linear-gradient( @@ -652,6 +655,17 @@ section.news article + article { border-top: 1px dotted var(--text-high); } + +@keyframes venue-photo-1 { + 0% {opacity: 0; transform: scale(0.5) rotate(0);} + 100% {opacity: 1; transform: scale(1) rotate(15deg);} +} + +@keyframes venue-photo-2 { + 0% {opacity: 0; transform: scale(0.5) rotate(0);} + 100% {opacity: 1; transform: scale(1) rotate(-13deg);} +} + div.venue { position: relative; margin: 10vw 0; @@ -678,6 +692,7 @@ aside { margin: 0 5vw 6rem; } + aside div.be-partner { color: var(--n-dark); background-color: rgba(255, 255, 255, 0.7); @@ -736,7 +751,8 @@ div.sponsors { div.sponsors h3 { font-variation-settings: "wght" 800; color: var(--hot-color); - margin-bottom: 1rem; + padding-top: 0.5em; + margin-bottom: 1.5rem; border-top: 5px dotted var(--hot-color); } div.sponsors.platinium h3 { @@ -786,13 +802,38 @@ div.sponsor-sheet { } & p { box-sizing: border-box; - align-self: start; + align-self: stretch; background-color: var(--text-high); padding: 0.5rem; margin: 0; display: flex; justify-content: center; } + + & div.with-contact ul { + display: flex; + flex-wrap: wrap; + gap: 1rem; + list-style-type: none; + margin: 0.5rem 0 0; + } + + & div.with-contact li + li { + margin-top: 0; + } + + & div.with-contact a { + display: flex; + overflow: hidden; + gap: 3rem; + width: 24px; + height: 24px; + white-space: nowrap; + } + + & svg {fill: var(--link-color);} + + & img {object-fit: contain;} } .sponsor p.dark { @@ -883,91 +924,48 @@ div.stats li { text-align: center; color: var(--body-bg); margin: auto; - transform: rotate(0); - animation-duration: 1s; - animation-fill-mode: forwards; - animation-timing-function: cubic-bezier(0.1, -0.6, 0.2, 0); + box-shadow: 0 0 8px 2px rgba(0,0,0, 0.5); } div.stats li:nth-child(1) { background-color: var(--main-light); - animation-name: slideStats1; - animation-delay: 4.9s; } div.stats li:nth-child(2) { background-color: var(--hot-light); transform: rotate(-1deg); - animation-name: slideStats2; - animation-delay: 5s; } div.stats li:nth-child(3) { background-color: var(--light-cold); transform: rotate(-6deg); - animation-name: slideStats3; - animation-delay: 5.1s; } div.stats li:nth-child(4) { background-color: var(--light-hot); transform: rotate(1deg); - animation-name: slideStats4; - animation-delay: 5.2s; } @keyframes slideStats1 { - 0% { - transform: rotate(0); - } - 50% { - transform: rotate(2deg); - } - 70% { - transform: rotate(1deg); - } - 100% { - transform: rotate(2deg); - } + 0% {transform: scale(1) rotate(0);} + 20% {transform: scale(1.2) rotate(-3deg);} + 40% {transform: rotate(3deg);} + 100% {transform: scale(1) rotate(-3deg);} } @keyframes slideStats2 { - 0% { - transform: rotate(0); - } - 50% { - transform: rotate(-2deg); - } - 70% { - transform: rotate(1deg); - } - 100% { - transform: rotate(-1deg); - } + 0% {transform: rotate(0);} + 20% {transform: scale(1.2) rotate(5deg);} + 40% {transform: rotate(-3deg);} + 100% {transform: scale(1) rotate(2deg);} } @keyframes slideStats3 { - 0% { - transform: rotate(0); - } - 50% { - transform: rotate(-6deg); - } - 70% { - transform: rotate(-2deg); - } - 100% { - transform: rotate(-6deg); - } + 0% {transform: rotate(0);} + 20% {transform: scale(1.2) rotate(7deg);} + 40% {transform: rotate(-1deg);} + 100% {transform: scale(1) rotate(-3deg);} } @keyframes slideStats4 { - 0% { - transform: rotate(0); - } - 50% { - transform: rotate(2deg); - } - 70% { - transform: rotate(1deg); - } - 100% { - transform: rotate(1deg); - } + 0% {transform: rotate(0);} + 20% {transform: scale(1.2) rotate(-3deg);} + 40% {transform: rotate(-3deg);} + 100% {transform: scale(1) rotate(5deg);} } div.fixed { @@ -1445,6 +1443,10 @@ div.online { & ul { margin: 0 1em 1em 1.8em; } + + & a { + overflow-wrap: break-word; + } } div.talk h4, @@ -1550,6 +1552,105 @@ p.openfb { border-top: 3px dotted currentColor; } + +/* ----------------------------------------------------------------- */ +/* -------------------------- JOB OFFERS ---------------------------- */ + +.job-offers { + & summary { + list-style: none; + color: var(--n-dark); + background-color: var(--hot-color); + background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='currentColor'%3E%3Cpath d='M12 16L6 10H18L12 16Z'%3E%3C/path%3E%3C/svg%3E"); + background-repeat: no-repeat; + background-size: 1.52rem; + background-position: center right 8px; + padding: 0.15em 2rem 0.6em 1rem; + } + & summary h2 { + font-size: calc(0.95em + 0.5vw); + font-variation-settings: "wght" 700; + color: var(--n-dark); + margin: 0; + } + + & div.content { + background-color: color-mix(in srgb, var(--hot-light), #000 75%); + } + + & header {margin-bottom: 0.5rem;} + + & h3 { + font-size: 1.4em; + margin-bottom: 0.5rem; + } + & p { + font-size: 1.2em; + } + + & dl { + display: flex; + flex-direction: column; + gap: 1rem; + padding: 1rem 0 0 1rem; + margin-left: 1rem; + border-left: 1px solid currentColor; + } + + & dl div { + display: flex; + flex-direction: column-reverse; + background-repeat: no-repeat; + background-size: 1em; + padding-left: 1.5em; + } + & dl div:nth-child(1) { + background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23FFF'%3E%3Cpath d='M4 11.3333L0 9L12 2L24 9V17.5H22V10.1667L20 11.3333V18.0113L19.7774 18.2864C17.9457 20.5499 15.1418 22 12 22C8.85817 22 6.05429 20.5499 4.22263 18.2864L4 18.0113V11.3333ZM6 12.5V17.2917C7.46721 18.954 9.61112 20 12 20C14.3889 20 16.5328 18.954 18 17.2917V12.5L12 16L6 12.5ZM3.96927 9L12 13.6846L20.0307 9L12 4.31541L3.96927 9Z'%3E%3C/path%3E%3C/svg%3E"); + } + & dl div:nth-child(2) { + background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23FFF'%3E%3Cpath d='M12.0049 22.0027C6.48204 22.0027 2.00488 17.5256 2.00488 12.0027C2.00488 6.4799 6.48204 2.00275 12.0049 2.00275C17.5277 2.00275 22.0049 6.4799 22.0049 12.0027C22.0049 17.5256 17.5277 22.0027 12.0049 22.0027ZM12.0049 20.0027C16.4232 20.0027 20.0049 16.421 20.0049 12.0027C20.0049 7.58447 16.4232 4.00275 12.0049 4.00275C7.5866 4.00275 4.00488 7.58447 4.00488 12.0027C4.00488 16.421 7.5866 20.0027 12.0049 20.0027ZM10.0549 11.0027H15.0049V13.0027H10.0549C10.2865 14.1439 11.2954 15.0027 12.5049 15.0027C13.1201 15.0027 13.6833 14.7806 14.1188 14.412L15.8198 15.546C14.9973 16.4415 13.8166 17.0027 12.5049 17.0027C10.1886 17.0027 8.28107 15.2527 8.03235 13.0027H7.00488V11.0027H8.03235C8.28107 8.75277 10.1886 7.00275 12.5049 7.00275C13.8166 7.00275 14.9973 7.56402 15.8198 8.45951L14.1189 9.59351C13.6834 9.22496 13.1201 9.00275 12.5049 9.00275C11.2954 9.00275 10.2865 9.86163 10.0549 11.0027Z'%3E%3C/path%3E%3C/svg%3E"); + } + & dl div:nth-child(3) { + background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23FFF'%3E%3Cpath d='M9 1V3H15V1H17V3H21C21.5523 3 22 3.44772 22 4V20C22 20.5523 21.5523 21 21 21H3C2.44772 21 2 20.5523 2 20V4C2 3.44772 2.44772 3 3 3H7V1H9ZM20 11H4V19H20V11ZM7 5H4V9H20V5H17V7H15V5H9V7H7V5Z'%3E%3C/path%3E%3C/svg%3E"); + } + + & dt { + font-size: 0.75em; + text-transform: uppercase; + } + + & dd { + font-size: 1.1em; + font-variation-settings: "wght" 700; + } + + & .p-action { + font-variation-settings: "wght" 700; + } +} + +section.h-listing { + padding: 1.5rem; +} + +section.h-listing + section.h-listing { + border-top: 1px dotted currentColor; +} + +section.h-listing:nth-child(even) { + background-color: rgba(0, 0, 0, 0.15); +} + +details.job-offers[open] summary { + background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='currentColor'%3E%3Cpath d='M12 8L18 14H6L12 8Z'%3E%3C/path%3E%3C/svg%3E"); +} + +div.job-offers section:first-of-type { + border-top: 1px dotted currentColor; +} + + + /* ----------------------------------------------------------------- */ /* -------------------------- AGENDA ---------------------------- */ diff --git a/public/css/queries.css b/public/css/queries.css index cbc516f..8ccc110 100644 --- a/public/css/queries.css +++ b/public/css/queries.css @@ -100,6 +100,11 @@ #mc_embed_signup_scroll h2 { margin-bottom: 0 !important; } + + .job-offers dl { + flex-direction: row; + gap: 2.5rem; + } } @@ -186,29 +191,72 @@ transform: rotate(-10deg); } } - - /* div.venue::before, div.venue::after { +} + + +@media screen and (min-width: 850px) and (prefers-reduced-motion: no-preference) { + div.stats.active { + & ul {position: relative;} + & li:nth-child(2), & li:nth-child(3), & li:nth-child(4) { + transform: rotate(0); + } + & li:nth-child(1) { + animation-delay: 0.95; + animation-duration: 1s; + animation-fill-mode: forwards; + animation-timing-function: linear; + animation-name: slideStats1; + } + & li:nth-child(2) { + animation-delay: 0.85; + animation-duration: 1s; + animation-fill-mode: forwards; + animation-timing-function: linear; + animation-name: slideStats2; + } + & li:nth-child(3) { + animation-delay: 0.65; + animation-duration: 1s; + animation-fill-mode: forwards; + animation-timing-function: linear; + animation-name: slideStats3; + } + & li:nth-child(4) { + animation-delay: 0; + animation-duration: 1s; + animation-fill-mode: forwards; + animation-timing-function: linear; + animation-name: slideStats4; + } + } + + div.venue.active p.illustration { + opacity: 0; + animation-delay: 0s; + animation-duration: 0.25s; + animation-fill-mode: forwards; + animation-timing-function: linear; + animation-name: venue-photo-1; + } + div.venue.active p.illustration.secondary { + opacity: 0; display: block; - position: absolute; - content: ""; - background-color: rgb(255,255,255,0.1); - } - div.venue::before { - width: 90vw; - height: 80%; - left: 5vw; - } - div.venue::after { - width: 10vw; - height: 10vw; - top: 0; - right: 16vw; - transform: rotate(10deg); - z-index: 2; + animation-delay: 0.25s; + animation-duration: 0.25s; + animation-fill-mode: forwards; + animation-timing-function: linear; + animation-name: venue-photo-2; + } + + /* div.be-partner p.read-more.active { + animation-delay: 0s; + animation-duration: 1s; + animation-fill-mode: forwards; + animation-timing-function: linear; + animation-name: slideIn; } */ } - @media screen and (min-width: 800px) and (max-width: 1299px) { div.decor { display: grid; @@ -219,16 +267,13 @@ @media screen and (min-width: 1000px) { - header { + #container > header { display: grid; grid-template-columns: 200px 1fr 1fr; justify-content: space-between; align-items: center; gap: 3rem; } - header p { - font-size: calc(1.5em + 1vw); - } h1 {z-index: 1001;} diff --git a/public/img/sprite.svg b/public/img/sprite.svg index 8e6fbe4..0b5f6ee 100644 --- a/public/img/sprite.svg +++ b/public/img/sprite.svg @@ -35,5 +35,17 @@ + + + + + + + + + + + + diff --git a/src/pages/index.astro b/src/pages/index.astro index 5ee27eb..68306c5 100644 --- a/src/pages/index.astro +++ b/src/pages/index.astro @@ -171,4 +171,52 @@ const og = { + + diff --git a/src/pages/offres-emploi.astro b/src/pages/offres-emploi.astro new file mode 100644 index 0000000..c226c65 --- /dev/null +++ b/src/pages/offres-emploi.astro @@ -0,0 +1,66 @@ +--- +import Layout from "../layouts/Layout.astro"; +--- + + +
+
+

Les offres d'emploi de nos partenaires

+ +
+

+ Nos partenaires nous partagent leurs offres d'emploi actuelles. +

+
+ +
+
+
+

+ Developeur Fullstack Senior +

+

Paris

+
+
+
+
Expérience
+
Minimum 5 ans
+
+
+
Salaire
+
36k à 55k
+
+
+
Publiée le
+
15/01/26
+
+
+
+
+
+

+ Developeur Fullstack Senior +

+

Paris

+
+
+
+
Expérience
+
Minimum 5 ans
+
+
+
Salaire
+
36k à 55k
+
+
+
Publiée le
+
15/01/26
+
+
+
+
+ +
+
+ +
diff --git a/src/pages/partner-[id].astro b/src/pages/partner-[id].astro index 1ce70ee..7c30972 100644 --- a/src/pages/partner-[id].astro +++ b/src/pages/partner-[id].astro @@ -59,7 +59,71 @@ const video = videos[sponsor.data.id] as string | undefined /> )}

-

{sponsor.data.name}

+
+

{sponsor.data.name}

+ +