浏览代码

implements theming everywhere

Olivier Massot 1 年之前
父节点
当前提交
9b98129e14
共有 56 个文件被更改,包括 258 次插入1058 次删除
  1. 9 2
      assets/style/theme.scss
  2. 1 1
      components/About/Banner.vue
  3. 6 6
      components/About/Chronologie.vue
  4. 3 3
      components/About/FAQ.vue
  5. 3 3
      components/About/Logiciels.vue
  6. 0 125
      components/About/MenuScroll.vue
  7. 2 2
      components/About/Presentation.vue
  8. 2 2
      components/About/Valeurs.vue
  9. 4 4
      components/Common/Agenda.vue
  10. 2 2
      components/Common/Banner/BannerTitle.vue
  11. 3 3
      components/Common/Card/Benefit.vue
  12. 4 3
      components/Common/Carousel/Clients.vue
  13. 4 4
      components/Common/Carousel/Fonctionnalite.vue
  14. 1 1
      components/Common/ContainerVideo.vue
  15. 5 5
      components/Common/MenuScroll.vue
  16. 2 2
      components/Common/Presentation.vue
  17. 1 1
      components/Common/ReviewSection.vue
  18. 1 1
      components/Common/Share.vue
  19. 3 3
      components/Common/StickyMenu.vue
  20. 1 1
      components/Formation/Banner.vue
  21. 7 7
      components/Formation/Catalogue.vue
  22. 2 2
      components/Formation/Certification.vue
  23. 2 2
      components/Formation/OPCA.vue
  24. 23 30
      components/Formation/Participation.vue
  25. 8 9
      components/Formation/Solutions.vue
  26. 3 3
      components/Home/Besoin.vue
  27. 9 9
      components/Home/Caroussel.vue
  28. 2 2
      components/Home/EventAgenda.vue
  29. 6 6
      components/Home/Help.vue
  30. 0 299
      components/Home/News.vue
  31. 10 10
      components/Home/Promotion.vue
  32. 9 11
      components/Home/Reviews.vue
  33. 12 12
      components/Home/Solution.vue
  34. 1 1
      components/JoinUs/MissionDetail.vue
  35. 4 4
      components/JoinUs/Missions.vue
  36. 8 8
      components/Layout/Footer/Footer.vue
  37. 5 5
      components/Layout/Footer/Solutions.vue
  38. 5 5
      components/Layout/Navigation.vue
  39. 10 10
      components/Layout/Navigation/Topbar.vue
  40. 1 1
      components/Layout/UI/SubTitle.vue
  41. 7 7
      components/Logiciels/Artist/Abonnement.vue
  42. 5 4
      components/Logiciels/Artist/Formations.vue
  43. 6 5
      components/Logiciels/Manager/Formation.vue
  44. 0 98
      components/Logiciels/Manager/Projet.vue
  45. 0 181
      components/Logiciels/Manager/Solutions.vue
  46. 4 4
      components/Logiciels/School/Contact.vue
  47. 10 5
      components/Logiciels/School/Formations.vue
  48. 10 11
      components/Logiciels/School/Solutions.vue
  49. 0 101
      components/Logiciels/School/StickyMenu.vue
  50. 3 3
      components/News/Details.vue
  51. 3 3
      components/News/List.vue
  52. 6 6
      components/Webinaire/Catalogue.vue
  53. 6 6
      components/Webinaire/FAQ.vue
  54. 5 5
      pages/opentalent_artist.vue
  55. 4 4
      pages/opentalent_manager.vue
  56. 5 5
      pages/opentalent_school.vue

+ 9 - 2
assets/style/theme.scss

@@ -3,12 +3,15 @@ body {
   --neutral-color: #ffffff;
   --primary-color-alt: #fef3ce;
   --on-neutral-color: #000000;
+  --on-neutral-color-light: #888888;
+  --on-neutral-color-extra-light: #d9d9d9;
   --primary-color: #0e2d32;
   --on-primary-color: #ffffff;
   --on-primary-color-alt: #caf5f4;
   --secondary-color: #9edbdd;
   --on-secondary-color: #262626;
   --neutral-color-alt: #dbdbdb;
+  --neutral-color-alt-strong: #999999;
   --on-neutral-color-alt: #000000;
 
   --standard-theme: #ffffff;
@@ -20,6 +23,10 @@ body {
   --artist-color: #FAC20A;
   --school-color: #2093be;
   --manager-color: #D8050B;
+
+  --artist-color-light: #fef3ce;
+  --school-color-light: #9edbdd;
+  --manager-color-light: #f7cdce;
 }
 
 body {
@@ -29,7 +36,7 @@ body {
     color: var(--on-alt-theme) !important;
 
     .v-btn {
-      border-color: var(--on-alt-theme);
+      border-color: var(--on-alt-theme) !important;
     }
   }
   .inv-theme * {
@@ -42,7 +49,7 @@ body {
     color: var(--on-alt-theme) !important;
 
     .v-btn {
-      border-color: var(--on-alt-theme);
+      border-color: var(--on-alt-theme) !important;
     }
   }
   .alt-theme * {

+ 1 - 1
components/About/Banner.vue

@@ -24,7 +24,7 @@
   font-size: 3rem;
   line-height: 85px;
   text-align: center;
-  color: #000000;
+  color: var(--on-neutral-color);
   width: 100%;
 }
 </style>

+ 6 - 6
components/About/Chronologie.vue

@@ -255,8 +255,8 @@ const slides: Array<ChronologyItem> = [
     padding: 1rem;
     text-align: center;
     margin-left: 1rem;
-    background-color: #091d20;
-    color: white;
+    background-color: var(--primary-color);
+    color: var(--on-primary-color);
     border-top-right-radius: 20%;
     border-bottom-right-radius: 20%;
 
@@ -274,7 +274,7 @@ const slides: Array<ChronologyItem> = [
       align-items: center;
       padding: 1rem;
       font-size: 0.8rem;
-      color: #95dee9;
+      color: var(--secondary-color);
     }
   }
 }
@@ -286,7 +286,7 @@ const slides: Array<ChronologyItem> = [
   .timeline {
     top: 1rem;
     height: 1px;
-    background-color: #ddd;
+    background-color: var(--neutral-color-alt);
     position: relative;
   }
 
@@ -296,7 +296,7 @@ const slides: Array<ChronologyItem> = [
     width: 5px;
     height: 5px;
     border-radius: 50%;
-    background-color: white;
+    background-color: var(--neutral-color);
   }
 
   .timeline-year {
@@ -304,7 +304,7 @@ const slides: Array<ChronologyItem> = [
     top: 1rem;
     left: -1rem;
     font-size: 1.2rem;
-    color: white;
+    color: var(--neutral-color);
     font-weight: bold;
   }
 }

+ 3 - 3
components/About/FAQ.vue

@@ -54,15 +54,15 @@ h4 {
   line-height: 34px;
   width: 40rem;
   margin-right: auto;
-  color: white;
+  color: var(--on-primary-color);
 }
 
 .v-btn {
   width: 195px;
   height: 53px;
-  background: #64afb7;
+  background: var(--secondary-color);
   border-radius: 6px;
-  color: white;
+  color: var(--on-secondary-color);
   padding: 19px 28px;
   gap: 9px;
   margin-left: 2rem;

+ 3 - 3
components/About/Logiciels.vue

@@ -100,7 +100,7 @@ const items: Array<{imageUrl: string, logoUrl: string, class: string, link: stri
 .container {
   padding: 0 !important;
   margin-top: 1rem;
-  background: #f8f8f8;
+  background: var(--neutral-color);
 }
 
 .custom-row {
@@ -128,7 +128,7 @@ li:before {
   transform: translateY(-50%);
   width: 3px;
   height: 3px;
-  background-color: black;
+  background-color: var(--on-neutral-color);
   border-radius: 50%;
 }
 
@@ -169,7 +169,7 @@ li:before {
     border-top-left-radius: 10% !important;
 
     .v-icon {
-      color: #ffffff;
+      color: var(--on-primary-color);
       font-size: 2rem;
     }
   }

+ 0 - 125
components/About/MenuScroll.vue

@@ -1,125 +0,0 @@
-<template>
-  <LayoutContainer>
-    <v-row>
-      <v-col
-        cols="12"
-        class="menu-container"
-        :class="{ 'sticky-menu': isSticky }"
-      >
-        <div v-for="menu in menus" :key="menu.label" @click="navigate(menu)">
-          <v-chip v-if="activeMenu === menu.label" class="active-menu">
-            {{ menu.label }}
-          </v-chip>
-          <span v-else>{{ menu.label }}</span>
-        </div>
-      </v-col>
-    </v-row>
-  </LayoutContainer>
-</template>
-
-<script setup>
-import { ref, onMounted, onUnmounted, reactive } from "vue";
-
-const refs = reactive({
-  about: null,
-  valeurs: null,
-  logiciels: null,
-  agenda: null,
-  histoire: null,
-  equipe: null,
-});
-
-const menus = [
-  { label: "Qui sommes-nous" },
-  { label: "Nos valeurs" },
-  { label: "Nos logiciels" },
-  { label: "L'agenda opentalent" },
-  { label: "Notre Histoire" },
-  { label: "Notre équipe" },
-];
-
-const isSticky = ref(false);
-
-const handleScroll = () => {
-  const scrollPosition = window.scrollY;
-
-  if (scrollPosition > 800) { 
-    isSticky.value = true;
-  } else {
-    isSticky.value = false;
-  }
-
-  for (const key of Object.keys(refs)) {
-    const element = refs[key];
-    if (element) {
-      const top = element.offsetTop;
-      const bottom = top + element.offsetHeight;
-      if (scrollPosition >= top && scrollPosition < bottom) {
-        activeMenu.value = key;
-        break;
-      }
-    }
-  }
-};
-
-onMounted(() => {
-  Object.keys(refs).forEach(key => {
-    refs[key] = document.getElementById(key);
-  });
-
-  window.addEventListener('scroll', handleScroll);
-});
-
-onMounted(() => {
-  window.addEventListener('scroll', handleScroll);
-});
-
-
-const activeMenu = ref(menus[0].label);
-
-const navigate = (menu) => {
-  activeMenu.value = menu.label;
-  const element = document.getElementById(menu.label);
-  if (element) {
-    element.scrollIntoView({ behavior: "smooth" });
-  }
-};
-</script>
-
-<style scoped>
-
-.sticky-menu {
-  position: fixed;
-  top: 0;
-  left: 0;
-  right: 0;
-  background: white;
-  box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.1);
-}
-.menu-container {
-  z-index: 3;
-  display: flex;
-  justify-content: space-around;
-  background: white;
-  color: #071b1f;
-  font-family: "Barlow";
-  font-size: 1rem;
-  line-height: 19px;
-  display: flex;
-  align-items: center;
-  text-align: center;
-  letter-spacing: 0.18em;
-  text-transform: uppercase;
-  border-bottom: 0.1rem solid #eaeaea;
-}
-.v-chip.active-menu {
-  background: var(--Vert-100, #091D20);;
-  color: white;
-}
-
-.menu-container div:hover {
-  cursor: pointer;
-  text-decoration: underline;
-  z-index: 15;
-}
-</style>

+ 2 - 2
components/About/Presentation.vue

@@ -83,7 +83,7 @@ import AnchoredSection from "~/components/Layout/AnchoredSection.vue";
   font-weight: 300;
   font-size: 34px;
   line-height: 40px;
-  color: #091d20;
+  color: var(--primary-color);
   width: 80%;
   margin-left: auto;
   margin-bottom: auto;
@@ -114,7 +114,7 @@ import AnchoredSection from "~/components/Layout/AnchoredSection.vue";
     font-weight: 400;
     font-size: 34px;
     line-height: 38px;
-    color: #071b1f;
+    color: var(--primary-color);
     margin-bottom: 3rem;
     width: 25rem;
     text-align: justify;

+ 2 - 2
components/About/Valeurs.vue

@@ -97,7 +97,7 @@ const values: Array<Array<SocietyValue>> = [
 
 .values {
   .v-row {
-    border-top: 1px solid #e5e5e5;
+    border-top: 1px solid var(--on-neutral-color-extra-light);
   }
 
   .v-img {
@@ -112,7 +112,7 @@ const values: Array<Array<SocietyValue>> = [
     font-weight: 500;
     font-size: 22px;
     line-height: 26px;
-    color: #091d20;
+    color: var(--primary-color);
     margin-bottom: 1rem;
   }
 }

+ 4 - 4
components/Common/Agenda.vue

@@ -169,7 +169,7 @@ const goNext = () => carousel.value!.next();
 }
 
 .container{
-  background: #F8F8F8
+  background: var(--neutral-color);
 }
 
 .custom-row {
@@ -239,8 +239,8 @@ const goNext = () => carousel.value!.next();
     text-align: left !important;
 
     .v-chip {
-      color: white;
-      border: 1px solid #0e2d32;
+      color: var(--neutral-color);
+      border: 1px solid var(--primary-color);
       border-radius: 3rem;
       text-transform: uppercase;
       display: flex;
@@ -255,7 +255,7 @@ const goNext = () => carousel.value!.next();
   font-size: 16px;
   line-height: 20px;
   margin-left: 2rem;
-  color: #091d20;
+  color: var(--primary-color);
   margin-bottom: 3rem;
   width: 15rem;
 }

+ 2 - 2
components/Common/Banner/BannerTitle.vue

@@ -48,13 +48,13 @@ const props = defineProps({
   align-items: center;
   text-align: center;
   letter-spacing: 0.18em;
-  border-bottom: 0.1rem solid #eaeaea;
+  border-bottom: 0.1rem solid var(--on-neutral-color-extra-light);
 }
 
 h1 {
   font-size: 72px;
   line-height: 77px;
-  color: #000000;
+  color: var(--on-neutral-color);
   text-align: center;
 }
 

+ 3 - 3
components/Common/Card/Benefit.vue

@@ -69,7 +69,7 @@ hr {
     font-weight: 300;
     font-size: 1.5rem;
     line-height: 1rem;
-    color: #0e2d32;
+    color: var(--primary-color);
   }
 
   .number {
@@ -88,7 +88,7 @@ hr {
   p {
     font-weight: normal;
     font-size: 1rem;
-    color: #091d20;
+    color: var(--primary-color);
     margin-top: 1rem;
     height: 5rem;
   }
@@ -96,7 +96,7 @@ hr {
   ul {
     font-weight: normal;
     font-size: 0.8rem;
-    color: #091d20;
+    color: var(--primary-color);
     margin-top: 1rem;
     margin-bottom: 1rem;
   }

+ 4 - 3
components/Common/Carousel/Clients.vue

@@ -98,7 +98,8 @@ h2 {
   height: 60px;
   background-color: transparent;
   color: var(--on-primary-color);
-  border: 2px solid var(--on-primary-color);
+  border: 2px solid;
+  border-color: var(--on-primary-color);
   cursor: pointer;
   margin-right: 1rem;
   margin-top: 1rem;
@@ -106,12 +107,12 @@ h2 {
 }
 
 .carousel {
-  background-color: white;
+  background-color: var(--neutral-color);
   margin-top: 2rem;
   border-radius: 20px;
   margin-left: auto;
   margin-right: auto;
-  box-shadow: #071b1f;
+  box-shadow: var(--primary-color);
 }
 
 .v-img {

+ 4 - 4
components/Common/Carousel/Fonctionnalite.vue

@@ -108,9 +108,9 @@ const previousAction = () => {
   width: 60px;
   height: 60px;
   background-color: transparent;
-  //color: var(--on-primary-color);
-  color: white;
-  border: 2px solid var(--on-primary-color);
+  color: var(--on-primary-color);
+  border: 2px solid;
+  border-color: var(--on-primary-color);
   cursor: pointer;
   border-radius: 0;
   margin: 6px;
@@ -154,7 +154,7 @@ const previousAction = () => {
     font-size: 0.9rem;
     line-height: 1.2rem;
     margin-bottom: 1rem;
-    color: #000000;
+    color: var(--on-neutral-color);
   }
 
   .footer {

+ 1 - 1
components/Common/ContainerVideo.vue

@@ -56,7 +56,7 @@ const props = defineProps({
   left: 50%;
   transform: translate(-50%, -50%);
   font-size: 3rem;
-  color: white;
+  color: #ffffff;
   cursor: pointer;
 }
 

+ 5 - 5
components/Common/MenuScroll.vue

@@ -58,7 +58,7 @@ const handleScroll = () => {
   top: 0;
   left: 0;
   right: 0;
-  background: white;
+  background: var(--neutral-color);
   box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
 }
 
@@ -66,8 +66,8 @@ const handleScroll = () => {
   z-index: 3;
   display: flex;
   justify-content: space-around;
-  background: white;
-  color: #071b1f;
+  background: var(--neutral-color);
+  color: var(--primary-color);
   font-family: "Barlow", serif;
   font-size: 1rem;
   line-height: 19px;
@@ -75,11 +75,11 @@ const handleScroll = () => {
   text-align: center;
   letter-spacing: 0.18em;
   text-transform: uppercase;
-  border-bottom: 0.1rem solid #eaeaea;
+  border-bottom: 0.1rem solid var(--on-neutral-color-extra-light);
 
   a {
     text-decoration: none;
-    color: #071b1f;
+    color: var(--primary-color);
   }
 
   a:hover {

+ 2 - 2
components/Common/Presentation.vue

@@ -161,7 +161,7 @@ const props = defineProps({
   margin-top: 2rem;
 
   .logo-circle {
-    background-color: var(--on-primary-color);
+    background-color: #0e2d32;
     border-radius: 3rem;
     width: 7rem;
     height: 6rem;
@@ -181,7 +181,7 @@ const props = defineProps({
     justify-content: center;
     align-items: center;
     height: 100%;
-    color: black;
+    color: var(--on-neutral-color);
     font-weight: 500;
     font-size: 1rem;
     width: 10rem;

+ 1 - 1
components/Common/ReviewSection.vue

@@ -163,7 +163,7 @@ const goNext = () => {
     font-weight: 500;
     font-size: 20px;
     line-height: 24px;
-    color: var(--on-primary-color) !important;
+    color: var(--on-primary-color-alt) !important;
     margin-top: 5rem;
     text-align: justify !important;
   }

+ 1 - 1
components/Common/Share.vue

@@ -76,7 +76,7 @@
   i {
     font-size: 32px;
     margin: 0.5rem 0.3rem;
-    color: #808080;
+    color: var(--on-neutral-color-light);
   }
 
   a:hover i {

+ 3 - 3
components/Common/StickyMenu.vue

@@ -135,7 +135,7 @@ const onActionClick = (action: StickyMenuAction) => {
 
   display: flex;
   flex-direction: column;
-  color: white;
+  color: var(--on-primary-color);
   font-weight: 500;
   font-size: 0.7rem;
   line-height: 15px;
@@ -152,7 +152,7 @@ const onActionClick = (action: StickyMenuAction) => {
   width: 100%;
   display: flex;
   justify-content: center;
-  background-color: white;
+  background-color: var(--neutral-color);
 
   .v-btn {
     margin: 4px 6px;
@@ -175,7 +175,7 @@ const onActionClick = (action: StickyMenuAction) => {
 
 .link {
   text-decoration: none;
-  color: white;
+  color: var(--on-primary-color);
 }
 
 .yellow-square {

+ 1 - 1
components/Formation/Banner.vue

@@ -42,7 +42,7 @@
       top: 40px;
       left: 20px;
       font-family: "Barlow", serif;
-      color: white;
+      color: var(--on-primary-color);
       font-size: 3rem;
       width: 30rem;
       font-style: italic;

+ 7 - 7
components/Formation/Catalogue.vue

@@ -235,7 +235,7 @@ const courses: Array<Training> = [
     font-weight: 600;
     font-size: 1.2rem;
     width: 31rem;
-    border-bottom: 1px solid #0e2d32;
+    border-bottom: 1px solid var(--primary-color);
     padding: 1rem 0;
 
     .number-card {
@@ -243,7 +243,7 @@ const courses: Array<Training> = [
       font-style: normal;
       font-weight: 500;
       font-size: 1.3rem;
-      color: #b9e5e7;
+      color: var(--secondary-color);
       margin-right: 1rem;
     }
   }
@@ -254,7 +254,7 @@ const courses: Array<Training> = [
     font-weight: 300;
     font-size: 1rem;
     line-height: 1rem;
-    color: #091d20;
+    color: var(--primary-color);
     margin-top: 1rem;
     margin-bottom: .5rem;
     height: 5rem;
@@ -263,7 +263,7 @@ const courses: Array<Training> = [
   .objectives, .program {
     justify-content: space-between;
     align-items: center;
-    background: #c3e5e7;
+    background: var(--secondary-color);
     margin-top: 1rem;
     margin-bottom: 1rem;
     border-radius: 1rem;
@@ -290,8 +290,8 @@ const courses: Array<Training> = [
   }
 
   .badge-time {
-    color: white;
-    border: 1px solid #0e2d32;
+    color: var(--on-primary-color);
+    border: 1px solid var(--primary-color);
     border-radius: 3rem;
     font-family: "Barlow", serif;
     font-style: normal;
@@ -305,7 +305,7 @@ const courses: Array<Training> = [
     align-items: center;
 
     span {
-      color: #0E2D32;
+      color: var(--primary-color);
     }
   }
 

+ 2 - 2
components/Formation/Certification.vue

@@ -61,7 +61,7 @@ ul {
   font-weight: 300;
   font-size: 16px;
   line-height: 20px;
-  color: #091d20;
+  color: var(--primary-color);
   margin-top: 1rem;
 }
 
@@ -69,7 +69,7 @@ ul {
   font-weight: 300;
   font-size: 16px;
   line-height: 20px;
-  color: #091d20;
+  color: var(--primary-color);
   margin-top: 1rem;
 }
 </style>

+ 2 - 2
components/Formation/OPCA.vue

@@ -78,14 +78,14 @@ h3 {
   font-weight: 600;
   font-size: 42px;
   line-height: 42px;
-  color: #ffffff;
+  color: var(--on-primary-color);
   margin-top: 0.6rem;
 }
 
 .details-opca {
   font-size: 16px;
   line-height: 20px;
-  color: #ffffff;
+  color: var(--on-primary-color);
   width: 100%;
   margin: auto;
   text-align: justify;

+ 23 - 30
components/Formation/Participation.vue

@@ -55,7 +55,16 @@
   </AnchoredSection>
 </template>
 
+<script setup lang="ts">
+import AnchoredSection from "~/components/Layout/AnchoredSection.vue";
+</script>
+
 <style scoped lang="scss">
+.container {
+  background-color: var(--primary-color);
+  color: var(--on-primary-color);
+}
+
 .v-row {
   width: 90%;
   margin-left: auto;
@@ -68,6 +77,17 @@
   }
 }
 
+.icon-title {
+  font-size: 1rem;
+  margin-right: 1rem;
+}
+.container-title {
+  display: flex;
+  justify-content: center;
+  align-items: center;
+  margin-bottom: 2rem;
+}
+
 h3 {
   font-family: "Barlow", serif;
   font-style: normal;
@@ -75,27 +95,19 @@ h3 {
   font-size: 42px;
   line-height: 42px;
   text-align: center;
-  color: #ffffff;
+  color: var(--on-primary-color);
 }
 
-
-
-
-
-
 .details-participations {
   display: flex;
   flex-direction: column;
   text-align: justify;
-
   font-weight: 300;
   font-size: 16px;
   line-height: 20px;
-  margin-top: 1rem;
-  display: flex;
+  margin: 1rem auto auto auto;
   width: 800px;
-  margin: auto;
-  color: #ffffff;
+  color: var(--on-primary-color);
 }
 
 .participation-img {
@@ -112,23 +124,4 @@ h3 {
   margin-left: auto;
   margin-right: auto;
 }
-
-
-.icon-title {
-  font-size: 1rem;
-  margin-right: 1rem;
-}
-.container-title {
-  display: flex;
-  justify-content: center;
-  align-items: center;
-  margin-bottom: 2rem;
-}
-.container {
-  background-color: #0e2d32;
-  color: #ffffff;
-}
 </style>
-<script setup lang="ts">
-import AnchoredSection from "~/components/Layout/AnchoredSection.vue";
-</script>

+ 8 - 9
components/Formation/Solutions.vue

@@ -130,12 +130,11 @@
 <style scoped>
 .chip {
   /* position: inherit; */
-  color: black;
-  border: 1px solid #0e2d32;
+  color: var(--on-neutral-color);
+  border: 1px solid var(--primary-color);
   border-radius: 3rem;
   text-transform: uppercase;
-
-  font-family: "Barlow";
+  font-family: "Barlow", serif;
   font-style: normal;
   font-weight: 500;
   font-size: 14px;
@@ -149,18 +148,18 @@
 }
 
 .row-artist {
-  border-top: 1px solid #d1cdc7;
+  border-top: 1px solid var(--on-neutral-color-extra-light);
   margin-left: 2rem;
   margin-right: 2rem;
 }
 
 .solution-name {
-  font-family: "Barlow";
+  font-family: "Barlow", serif;
   font-style: normal;
   font-weight: 300;
   font-size: 1.5rem;
   line-height: 1.5rem;
-  color: #0e2d32;
+  color: var(--primary-color);
 }
 
 .row-artist {
@@ -169,12 +168,12 @@
   align-items: center;
 }
 .solution-title {
-  font-family: "Barlow";
+  font-family: "Barlow", serif;
   font-style: normal;
   font-weight: 500;
   font-size: 1.5rem;
   line-height: 1.5rem;
-  color: #000000;
+  color: var(--on-neutral-color);
   margin-top: 2rem;
   margin-bottom: 2rem;
   text-align: center;

+ 3 - 3
components/Home/Besoin.vue

@@ -32,7 +32,7 @@
   const { mdAndDown } = useDisplay();
 </script>
 
-<style scoped>
+<style scoped lang="scss">
 .v-row
 {
   margin-left:auto !important;
@@ -46,7 +46,7 @@ h3 {
   line-height: 38px;
   margin-top: 1rem;
   margin-left: 2rem;
-  color: #091d20;
+  color: var(--primary-color);
   width: 16rem;
 }
 
@@ -55,7 +55,7 @@ p {
   font-size: 1rem;
   margin-top: 3rem;
   margin-left: 2rem;
-  color: #091d20;
+  color: var(--primary-color);
   width: 20rem;
   text-align: justify;
 }

+ 9 - 9
components/Home/Caroussel.vue

@@ -170,13 +170,13 @@ const carouselItems: Ref<Array<CarouselItem>> = ref([
     width: 0.6rem;
     height: 0.6rem;
     border-radius: 50%;
-    background-color: grey;
+    background-color: var(--neutral-color-alt-strong);
     cursor: pointer;
     margin-bottom: 0.5rem;
   }
 
   .active-control {
-    background-color: #000;
+    background-color: var(--on-neutral-color);
     margin-right: 2rem;
   }
 }
@@ -213,20 +213,20 @@ const carouselItems: Ref<Array<CarouselItem>> = ref([
   }
 
   .learn-more-btn :deep(.v-btn__append) {
-    color: black;
+    color: var(--on-neutral-color);
     margin-left: 0;
   }
 
   .btn-school {
-    background: rgba(32, 147, 190, 0.4);
+    background: var(--school-color-light);
   }
 
   .btn-artist {
-    background: rgba(250, 194, 10, 0.4);
+    background: var(--artist-color-light);
   }
 
   .btn-manager {
-    background: rgba(216, 5, 11, 0.4);
+    background: var(--manager-color-light);
   }
 }
 
@@ -259,7 +259,7 @@ const carouselItems: Ref<Array<CarouselItem>> = ref([
   }
 
   .school {
-    color: #888888;
+    color: var(--on-neutral-color-light);
     font-weight: normal !important;
     font-size: 0.8rem !important;
     margin-top: 0.2px;
@@ -269,7 +269,7 @@ const carouselItems: Ref<Array<CarouselItem>> = ref([
   .status {
     text-transform: uppercase;
     font-weight: bold;
-    color: black;
+    color: var(--on-neutral-color);
     font-size: 100%;
     margin-top: 0.8rem;
   }
@@ -281,7 +281,7 @@ const carouselItems: Ref<Array<CarouselItem>> = ref([
     left: 72%;
     top: 50%;
     transform: translate(-50%, -50%);
-    border-radius: 200px 0px 0px 15rem;
+    border-radius: 200px 0 0 15rem;
     z-index: -1;
   }
 

+ 2 - 2
components/Home/EventAgenda.vue

@@ -32,7 +32,7 @@ Section "Agenda" de la page d'accueil
 
 <script setup>
 import { useDisplay } from "vuetify";
-const { lgAndUp, mdAndDown } = useDisplay();
+const { mdAndDown } = useDisplay();
 </script>
 
 <style scoped>
@@ -60,7 +60,7 @@ h2 {
   text-align: center;
   margin-bottom: 3rem;
   margin-top: 4rem;
-  color: #ffffff;
+  color: var(--on-primary-color);
   width: 45rem;
 }
 

+ 6 - 6
components/Home/Help.vue

@@ -82,7 +82,7 @@ Section "Besoin d'aide" de la page d'accueil
 li {
   margin-left: 28px;
   margin-bottom: 15px;
-  color: #0e2d32;
+  color: var(--primary-color);
   font-size: 1.1rem;
 }
 
@@ -108,7 +108,7 @@ p {
   font-weight: 300;
   font-size: 1.1rem;
   line-height: 1.4rem;
-  color: #0e2d32;
+  color: var(--primary-color);
 }
 
 ul {
@@ -117,7 +117,7 @@ ul {
   font-family: "Barlow", serif;
   font-style: normal;
   font-weight: 500;
-  color: #0e2d32;
+  color: var(--primary-color);
   font-size: 1.2rem;
   line-height: 1.6rem;
 }
@@ -125,9 +125,9 @@ ul {
 .button-faq {
   width: 195px;
   height: 53px;
-  background: #64afb7;
+  background: var(--secondary-color);
   border-radius: 6px;
-  color: white;
+  color: var(--on-secondary-color);
   padding: 19px 28px;
   gap: 9px;
   margin-left: auto;
@@ -156,7 +156,7 @@ ul {
     font-weight: 300;
     font-size: 1.1rem;
     line-height: 1.4rem;
-    color: #0e2d32;
+    color: var(--primary-color);
     margin-left: auto;
     margin-right: auto;
   }

+ 0 - 299
components/Home/News.vue

@@ -1,299 +0,0 @@
-<template>
-  <LayoutContainer>
-    <v-row>
-      <v-col cols="6">
-        <div class="container-title">
-          <v-icon
-            size="10"
-            class="fa-solid fa-circle icon-title"
-          />
-
-          <h6 class="small-title">
-            Découvrez nos dernières actualités
-          </h6>
-        </div>
-        <h2 class="title">
-          Quoi de neuf ?
-        </h2>
-      </v-col>
-
-      <v-col cols="6">
-        <v-btn
-          class="btn-news"
-          text
-        >
-          VOIR TOUTES LES ACTUALITÉS
-        </v-btn>
-      </v-col>
-    </v-row>
-
-    <v-row>
-      <v-col cols="2">
-        <div class="d-flex justify-center align-center">
-          <div
-            class="carousel-button"
-            @click="goPrevious"
-          >
-            <i class="fas fa-chevron-left" />
-          </div>
-          <div
-            class="carousel-button"
-            @click="goNext"
-          >
-            <i class="fas fa-chevron-right" />
-          </div>
-        </div>
-      </v-col>
-
-      <v-col cols="10">
-        <Carousel
-          ref="carousel"
-          :items-to-show="3.5"
-          :items-to-scroll="1"
-        >
-          <Slide
-            v-for="(actu, index) in actus"
-            :key="index"
-            class="slide-card"
-          >
-            <div class="card">
-              <img
-                class="card-img-top"
-                :src="actu.img"
-                alt="Card image cap"
-              >
-              <div class="card-body">
-                <h5 class="card-title">
-                  {{ actu.title }}
-                </h5>
-                <p class="card-text">
-                  {{ actu.content }}
-                </p>
-              </div>
-
-              <div class="card-footer">
-                <p class="card-date">
-                  {{ actu.date }}
-                </p>
-                <button class="card-button">
-                  +
-                </button>
-              </div>
-            </div>
-          </Slide>
-        </Carousel>
-      </v-col>
-    </v-row>
-  </LayoutContainer>
-</template>
-
-<script setup>
-import { ref } from "vue";
-import { Carousel, Slide } from "vue3-carousel";
-import "vue3-carousel/dist/carousel.css";
-
-const carousel = ref(null);
-
-const goPrevious = () => {
-  carousel.value.prev();
-};
-
-const goNext = () => {
-  carousel.value.next();
-};
-
-const actus = ref([
-  {
-    title: "Suivi Pédagogique",
-    content: "Sed laeditur hic coetuum magnificus",
-    date: "20/06/2023",
-    img: "/images/actu/actu1.jpg",
-  },
-  {
-    title: "AMÉLIORATION DU RÉPERTOIRE",
-    content: "Sed laeditur hic coetuum magnificus",
-    date: "21/06/2023",
-    img: "/images/actu/actu2.jpg",
-  },
-  {
-    title: "fOIRE AUX QUESTIONS",
-    content: "Sed laeditur hic coetuum magnificus",
-    date: "22/06/2023",
-    img: "/images/actu/actu3.jpg",
-  },
-  {
-    title: "Suivi Pédagogique",
-    content: "Sed laeditur hic coetuum magnificus",
-    date: "23/06/2023",
-    img: "/images/actu/actu4.jpg",
-  },
-  {
-    title: "Actu 1",
-    content: "Sed laeditur hic coetuum magnificus gegr",
-    date: "24/06/2023",
-    img: "/images/actu/actu5.jpg",
-  },
-  {
-    title: "Actu 2",
-    content: "Sed laeditur hic coetuum magnificus",
-    date: "25/06/2023",
-    img: "/images/actu/actu6.jpg",
-  },
-  {
-    title: "Actu 3",
-    content: "Sed laeditur hic coetuum magnificus",
-    date: "26/06/2023",
-    img: "/images/actu/actu1.jpg",
-  },
-  {
-    title: "Suivi Pédagogique",
-    content: "Sed laeditur hic coetuum magnificus",
-    date: "27/06/2023",
-    img: "/images/actu/actu2.jpg",
-  },
-]);
-</script>
-
-<style scoped>
-.card {
-  border: 0.5px solid #c4c4c4;
-  border-radius: 15px 15px 0 0;
-  margin-bottom: 2rem;
-}
-
-.icon-title {
-  color: #64afb7;
-  margin-top: 4.5rem;
-}
-.container-title {
-  display: flex;
-  align-items: center;
-  margin-left: 2rem;
-  margin-top: 4.5rem;
-}
-.carousel-button {
-  display: flex;
-  justify-content: center;
-  align-items: center;
-  width: 40px;
-  height: 40px;
-  background-color: transparent;
-  border: 2px solid #000000;
-  cursor: pointer;
-  margin-right: 1rem;
-  margin-top: 4rem;
-}
-
-.carousel-button i {
-  color: #000000;
-}
-.card-text {
-  font-family: "Barlow";
-  font-style: normal;
-  font-weight: 500;
-  font-size: 16px;
-  line-height: 18px;
-  margin-bottom: 1rem;
-  color: #091d20;
-}
-.card-title {
-  font-family: "Barlow";
-  font-style: normal;
-  font-weight: 600;
-  font-size: 12px;
-  line-height: 16px;
-  display: flex;
-  align-items: center;
-  letter-spacing: 0.18em;
-  text-transform: uppercase;
-  margin-top: 1rem;
-  margin-bottom: 1rem;
-}
-.card-date {
-  font-size: 0.8em;
-  color: #888;
-  margin-left: 1rem;
-}
-
-.card-footer {
-  display: flex;
-  justify-content: space-between;
-  align-items: center;
-}
-
-.card-body {
-  text-align: left;
-  margin-bottom: 1rem;
-  margin-left: 1rem;
-}
-
-.card-button {
-  background-color: transparent;
-  border: none;
-  width: 2.5rem;
-  font-size: 1.5em;
-  text-align: right;
-  color: #ffffff;
-  background-color: #64afb7;
-  border: none;
-  text-align: center;
-}
-.slide-card {
-  margin-left: 1rem;
-  margin-right: 1rem;
-  height: 100%;
-}
-
-.card-img-top {
-  border-radius: 15px 15px 0 0;
-  width: 100%;
-  height: 100%;
-  object-fit: cover;
-  object-position: center;
-}
-.small-title {
-  font-family: "Barlow";
-  font-style: normal;
-  font-weight: 600;
-  width: 12rem;
-  font-size: 12px;
-  letter-spacing: 0.18em;
-  text-transform: uppercase;
-  margin-left: 2rem;
-  color: #071b1f;
-  margin-top: 4.5rem;
-}
-
-.title {
-  margin-top: 2rem;
-  font-family: "Barlow";
-  font-style: normal;
-  font-weight: 600;
-  font-size: 42px;
-  line-height: 42px;
-  margin-left: 2rem;
-  color: #071b1f;
-  margin-bottom: 2rem;
-}
-
-.btn-news {
-  color: #9edbdd;
-  margin-left: 25rem;
-  margin-top: 8rem;
-  top: 6rem;
-  border-radius: 2rem;
-  font-family: "Barlow";
-  background: transparent;
-  border: 1px solid #9edbdd;
-  border-radius: 6px;
-  font-style: normal;
-  font-weight: 600;
-  text-transform: uppercase;
-  display: flex;
-  flex-direction: row;
-  align-items: center;
-  padding: 25px;
-  font-size: 10px;
-  line-height: 15px;
-}
-</style>

+ 10 - 10
components/Home/Promotion.vue

@@ -110,20 +110,20 @@ const { mdAndDown } = useDisplay();
 <style scoped lang="scss">
 
 .highlight {
-  color: #caf5f4;
+  color: var(--secondary-color);
 }
 
 .v-row.gestion {
   >.v-col {
     margin-bottom: 4rem;
-    background: #0e2d32;
+    background: var(--primary-color);
   }
 
   h5 {
     font-size: 1rem;
     line-height: 1rem;
     margin-top: 1rem;
-    color: #c1eff0;
+    color: var(--secondary-color);
     text-align: center;
     letter-spacing: 2.16px;
     text-transform: uppercase;
@@ -131,7 +131,7 @@ const { mdAndDown } = useDisplay();
 
   .fa-circle{
     margin-top: 1rem;
-    color: #ffffff;
+    color: var(--on-primary-color);
     margin-right: 1rem;
   }
 
@@ -139,7 +139,7 @@ const { mdAndDown } = useDisplay();
     font-weight: 600;
     font-size: 3rem;
     text-align: center;
-    color: white;
+    color: var(--on-primary-color);
     height: 20rem;
     width: 45rem;
     margin: 2rem auto 28rem;
@@ -206,7 +206,7 @@ const { mdAndDown } = useDisplay();
     left: 50%;
     transform: translate(-50%, -50%);
     font-size: 3rem;
-    color: white;
+    color: var(--on-primary-color);
     cursor: pointer;
     z-index: 100;
   }
@@ -216,7 +216,7 @@ section.outil {
   margin-bottom: 36px;
 
   h3 {
-    color: #0e2d32;
+    color: var(--primary-color);
     font-size: 2rem;
     font-weight: 400;
     margin-bottom: 3rem;
@@ -225,7 +225,7 @@ section.outil {
 
   .pictos {
     .v-row {
-      border-bottom: solid 1px #cccccc;
+      border-bottom: solid 1px var(--on-primary-color-alt);
       margin: 0;
       height: 100px;
       display: flex;
@@ -234,7 +234,7 @@ section.outil {
     }
 
     .v-row:first-child {
-      border-top: solid 1px #cccccc;
+      border-top: solid 1px var(--on-primary-color-alt);
     }
 
     img {
@@ -248,7 +248,7 @@ section.outil {
       font-size: 22px;
       line-height: 26px;
       width: 25rem;
-      color: #0e2d32;
+      color: var(--primary-color);
       margin-bottom: 1rem;
     }
   }

+ 9 - 11
components/Home/Reviews.vue

@@ -271,12 +271,12 @@ const items: Ref<Array<{ src: string }>> = ref([
 <style scoped>
 
 .container-1 {
-  background-color: #f8f8f8;
+  background-color: var(--neutral-color);
   height: 22rem;
 
   .v-icon {
     margin-top: 1rem;
-    color: #64afb7;
+    color: var(--secondary-color);
   }
 
   h6 {
@@ -293,7 +293,7 @@ const items: Ref<Array<{ src: string }>> = ref([
     font-size: 2rem;
     line-height: 42px;
     text-align: center;
-    color: #071b1f;
+    color: var(--primary-color);
   }
 
   @media (max-width: 600px) {
@@ -303,7 +303,7 @@ const items: Ref<Array<{ src: string }>> = ref([
 }
 
 .container-2 {
-  background-color: #0e2d32;
+  background-color: var(--primary-color);
   height: 60rem;
 
   .col-review {
@@ -324,14 +324,14 @@ const items: Ref<Array<{ src: string }>> = ref([
         font-family: "Barlow", serif;
         font-style: normal;
         font-size: 1.4rem;
-        color: #9edbdd;
+        color: var(--primary-color);
       }
 
       .v-card-text p {
         text-align: justify !important;
         height: 10rem;
         font-size: 1rem;
-        color: #071b1f;
+        color: var(--primary-color);
         margin: 0 1rem 1rem 1rem;
         line-height: 20px;
       }
@@ -349,7 +349,7 @@ const items: Ref<Array<{ src: string }>> = ref([
           right: 0;
           font-weight: 600;
           width: 90%;
-          color: #071b1f;
+          color: var(--primary-color);
         }
 
         .status {
@@ -403,17 +403,15 @@ const items: Ref<Array<{ src: string }>> = ref([
       width: 0.6rem;
       height: 0.6rem;
       border-radius: 50%;
-      background-color: grey;
+      background-color: var(--neutral-color-alt);
       cursor: pointer;
       margin-bottom: 0.5rem;
     }
 
     .active-control {
-      background-color: black;
+      background-color: var(--on-neutral-color-alt);
       margin-right: 10px;
     }
   }
 }
-
-
 </style>

+ 12 - 12
components/Home/Solution.vue

@@ -151,7 +151,7 @@ const solutions: Array<SolutionItem> = [
 
 <style scoped lang="scss">
 .container {
-  background: #0e2d32;
+  background: var(--primary-color);
   margin-bottom: 15rem;
   height: 36rem;
   position: relative;
@@ -161,15 +161,15 @@ h5 {
   font-size: 1rem;
   line-height: 1rem;
   margin-top: 1rem;
-  color: #c1eff0;
+  color: var(--secondary-color);
   text-align: center;
   letter-spacing: 2.16px;
   text-transform: uppercase;
 }
 
-.fa-circle{
+.fa-circle {
   margin-top: 1rem;
-  color: #ffffff;
+  color: var(--on-primary-color);
   margin-right: 1rem;
 }
 
@@ -178,7 +178,7 @@ h3 {
   font-size: 2.8rem;
   line-height: 42px;
   text-align: center;
-  color: #ffffff;
+  color: var(--on-primary-color);
   width: 100%;
 }
 
@@ -199,19 +199,19 @@ h3 {
     line-height: 15px;
     letter-spacing: 0.18em;
     text-transform: uppercase;
-    color: #ffffff;
+    color: var(--on-primary-color);
   }
 
   h2 {
     font-weight: 400;
     font-size: 30px;
     line-height: 2rem;
-    color: #c3e5e7;
+    color: var(--on-primary-color-alt);
     margin-bottom: 1rem;
   }
 
   .v-divider {
-    color: #c3e5e7;
+    color: var(--on-primary-color-alt);
     width: 20rem;
     opacity: 0.7;
   }
@@ -221,7 +221,7 @@ h3 {
     font-size: 1.3rem;
     line-height: 1.5rem;
     margin-top: 1rem;
-    color: #eff9fb;
+    color: var(--on-primary-color);
     font-style: normal;
     width: 20rem;
   }
@@ -267,8 +267,8 @@ h3 {
     display: none;
     font-size: 0.8rem;
     border-radius: 6px;
-    background: var(--Vert-60, #64afb7);
-    color: white;
+    background: var(--secondary-color);
+    color: var(--on-primary-color);
   }
 
   .image-container:hover .v-btn {
@@ -319,7 +319,7 @@ h3 {
       margin-left: 1rem;
       font-style: normal;
       line-height: 18px;
-      color: #091d20;
+      color: var(--primary-color);
     }
   }
 }

+ 1 - 1
components/JoinUs/MissionDetail.vue

@@ -169,7 +169,7 @@ const formatDate = (date: string) => {
   }
 
   .description {
-    color: #0e2d32;
+    color: var(--primary-color);
     text-align: justify;
     font-family: "Barlow", serif;
     font-size: 1.875rem;

+ 4 - 4
components/JoinUs/Missions.vue

@@ -241,7 +241,7 @@ const sendApplication = () => {
       font-weight: 600;
       font-size: 1.5rem;
       line-height: 39px;
-      color: #ffffff;
+      color: var(--on-primary-color);
       text-decoration: none;
       margin-left: 36px;
     }
@@ -261,14 +261,14 @@ const sendApplication = () => {
   }
 
   .location-container {
-    background: #9edbdd;
+    background: var(--secondary-color);
     display: flex;
     align-items: center;
     padding: 10px;
 
     .v-icon {
       font-size: 1rem !important;
-      color: #0e2d32;
+      color: var(--primary-color);
     }
 
     .location {
@@ -301,7 +301,7 @@ const sendApplication = () => {
   font-weight: 300;
   font-size: 34px;
   line-height: 40px;
-  color: #091d20;
+  color: var(--primary-color);
   margin-bottom: 2rem;
 }
 

+ 8 - 8
components/Layout/Footer/Footer.vue

@@ -312,8 +312,8 @@ const onIntersect = (isIntersecting) => {
 <style scoped lang="scss">
 
 .container {
-  background: #091d20;
-  color: aliceblue; // TODO: replace by primary color variable
+  background: var(--primary-color);
+  color: var(--on-primary-color);
 }
 
 .logo .v-img {
@@ -345,14 +345,14 @@ a {
   font-weight: 300;
   font-size: 0.9rem;
   line-height: 20px;
-  color: #ffffff;
+  color: var(--on-primary-color);
   text-decoration: none !important;
   margin-bottom: 0.5rem;
 }
 
 .social-networks {
   a {
-    color: #ecfbfc;
+    color: var(--on-primary-color);
     font-size: 1.9rem;
     text-decoration: none !important;
   }
@@ -360,12 +360,12 @@ a {
 
 .footnotes {
   margin-top: 2rem;
-  border-top: 0.4px solid rgba(255, 255, 255, 0.3);
+  border-top: 0.4px solid var(--neutral-color-alt-strong);
   box-shadow: 0 3px 24px rgba(0, 0, 0, 0.07);
 
   a, p {
     text-decoration: none;
-    color: #ffffff;
+    color: var(--on-primary-color);
     font-size: 0.8rem;
   }
 }
@@ -401,7 +401,7 @@ a {
     cursor: pointer;
 
     >div:first-child {
-      border-bottom: 1px solid rgba(255, 255, 255, 0.3);
+      border-bottom: 1px solid var(--on-secondary-color);
       padding-bottom: 6px;
       text-transform: uppercase;
     }
@@ -412,7 +412,7 @@ a {
       font-weight: 300;
       font-size: 1.3rem;
       line-height: 20px;
-      color: #ffffff;
+      color: var(--on-primary-color);
       text-decoration: none !important;
       text-align: left;
     }

+ 5 - 5
components/Layout/Footer/Solutions.vue

@@ -133,12 +133,12 @@ const props = defineProps({
 
 <style scoped lang="scss">
 .chip-detail {
-  color: #000000;
+  color: var(--on-neutral-color);
 }
 
 .chip-custom {
-  color: white;
-  border: 1px solid #0e2d32;
+  color: var(--on-primary-color);
+  border: 1px solid var(--primary-color);
   border-radius: 3rem;
   text-transform: uppercase;
   font-family: "Barlow", serif;
@@ -158,7 +158,7 @@ const props = defineProps({
   display: flex;
   flex-direction: row;
   align-items: center;
-  border-top: 1px solid #d1cdc7;
+  border-top: 1px solid var(--on-primary-color-alt);
 }
 
 .solution-title {
@@ -167,7 +167,7 @@ const props = defineProps({
   font-weight: 500;
   font-size: 1.5rem;
   line-height: 1.5rem;
-  color: #000000;
+  color: var(--on-neutral-color);
   margin-top: 2rem;
   margin-bottom: 2rem;
   text-align: center;

+ 5 - 5
components/Layout/Navigation.vue

@@ -215,7 +215,7 @@ const withAnimation = (callback: () => void) => {
 }
 
 .icon {
-  color: #000000;
+  color: var(--on-neutral-color);
 }
 
 .menuItem, .menuItem .v-list-item-title {
@@ -225,7 +225,7 @@ const withAnimation = (callback: () => void) => {
   font-size: 0.9rem;
   letter-spacing: 0.1em;
   text-transform: uppercase;
-  color: #0e2d32;
+  color: var(--primary-color);
   cursor: pointer;
   text-decoration: none !important;
 }
@@ -236,7 +236,7 @@ const withAnimation = (callback: () => void) => {
 .navigation-lg {
   display: flex;
   align-items: center;
-  background-color: #ffffff;
+  background-color: var(--neutral-color);
 
   .menuItem  {
     padding: 18px;
@@ -254,13 +254,13 @@ const withAnimation = (callback: () => void) => {
   Navigation petits écrans
  */
 .navigation-sm {
-  background-color: #ffffff;
+  background-color: var(--neutral-color);
   position: fixed;
   top: 0;
 }
 
 .back-item {
-  border-bottom: solid 1px darkgray;
+  border-bottom: solid 1px var(--on-neutral-color-light);
   border-radius: 0;
 
   .v-list-item-title {

+ 10 - 10
components/Layout/Navigation/Topbar.vue

@@ -24,33 +24,33 @@ import { useDisplay } from "vuetify";
 const { mdAndDown } = useDisplay();
 </script>
 
-<style scoped>
+<style scoped lang="scss">
 .top-bar {
   display: flex;
   flex-direction: row;
   justify-content: flex-end;
   align-items: center;
   height: 54px;
-  background-color: #dbdbdb;
+  background-color: var(--neutral-color-alt);
   font-family: "Barlow", serif;
   font-style: normal;
   font-weight: 700;
   font-size: 0.7rem;
-}
 
-.top-bar .v-btn {
-  margin: 4px 8px;
-  border-radius: 6px;
-  height: 44px;
+  .v-btn {
+    margin: 4px 8px;
+    border-radius: 6px;
+    height: 44px;
+  }
 }
 
 .btn-login {
-  background: #091d20;
-  color: white;
+  background: var(--primary-color);
+  color: var(--on-primary-color);
 }
 
 .btn-agenda {
-  background: #9edbdd;
+  background: var(--secondary-color);
 }
 
 /**

+ 1 - 1
components/Layout/UI/SubTitle.vue

@@ -36,7 +36,7 @@ const props = defineProps({
   align-items: center;
   gap: 0.5rem;
   margin-left: 1rem;
-  color: #071b1f;
+  color: var(--primary-color);
   font-size: 10px;
   font-weight: 600;
   line-height: 15px;

+ 7 - 7
components/Logiciels/Artist/Abonnement.vue

@@ -102,7 +102,7 @@ import AnchoredSection from "~/components/Layout/AnchoredSection.vue";
 .subscription-steps ol {
   list-style-type: decimal;
   padding-left: 2rem;
-  color: #000;
+  color: var(--on-neutral-color);
   font-family: Barlow, serif;
   font-size: 16px;
   font-style: normal;
@@ -117,7 +117,7 @@ import AnchoredSection from "~/components/Layout/AnchoredSection.vue";
   width: 100px;
   height: 100px;
   position: relative;
-  background-color: #000;
+  background-color: var(--on-neutral-color);
   border-radius: 50%;
   margin-left: 11rem;
 }
@@ -144,8 +144,8 @@ import AnchoredSection from "~/components/Layout/AnchoredSection.vue";
 
 .download-button {
   font-weight: 700;
-  background-color: #000;
-  color: #fff;
+  background-color: var(--on-neutral-color);
+  color: var(--neutral-color);
   padding: 10px 20px;
   border-radius: 5px;
   text-decoration: none;
@@ -159,7 +159,7 @@ import AnchoredSection from "~/components/Layout/AnchoredSection.vue";
 
 h5 {
   font-family: "Barlow", serif;
-  color: #091d20;
+  color: var(--primary-color);
   margin-bottom: 4rem;
   font-size: 42px;
   font-weight: 600;
@@ -171,7 +171,7 @@ h5 {
   margin-bottom: 4rem;
 
   p {
-    color: #091d20;
+    color: var(--primary-color);
     width: 25rem;
     font-weight: 300;
     font-size: 16px;
@@ -192,7 +192,7 @@ h5 {
 .cmf {
   margin-top: 3rem;
   margin-bottom: 2rem;
-  color: #071b1f;
+  color: var(--primary-color);
   width: 40rem;
   font-family: Barlow, serif;
   font-size: 34px;

+ 5 - 4
components/Logiciels/Artist/Formations.vue

@@ -136,7 +136,7 @@ const items: Ref<Array<{ src: string }>> = ref([
     font-weight: 500;
     font-size: 1.8rem;
     line-height: 35px;
-    color: #ffffff;
+    color: var(--on-primary-color);
     margin-bottom: 1rem;
   }
 
@@ -144,7 +144,7 @@ const items: Ref<Array<{ src: string }>> = ref([
     font-weight: 300;
     font-size: 1rem;
     line-height: 1.5rem;
-    color: #eff9fb;
+    color: var(--on-primary-color);
     text-align: justify
   }
 
@@ -153,8 +153,9 @@ const items: Ref<Array<{ src: string }>> = ref([
     font-size: 1rem;
     line-height: 18px;
     background: transparent;
-    color: #eff9fb;
-    border: 1px solid #eff9fb;
+    color: var(--on-primary-color);
+    border: 1px solid;
+    border-color: var(--on-primary-color);
     border-radius: 0.5rem;
     width: 90%;
   }

+ 6 - 5
components/Logiciels/Manager/Formation.vue

@@ -157,8 +157,9 @@ const items = ref([
     font-size: 1.5rem;
     line-height: 18px;
     background: transparent;
-    color: #eff9fb;
-    border: 1px solid #eff9fb;
+    color: var(--on-primary-color);
+    border: 1px solid;
+    border-color: var(--on-primary-color);
     border-radius: 0.5rem;
     text-transform: none;
   }
@@ -167,7 +168,7 @@ const items = ref([
     font-weight: 500;
     font-size: 1.8rem;
     line-height: 26px;
-    color: #ffffff;
+    color: var(--on-primary-color);
     margin-bottom: 3rem;
   }
 
@@ -175,7 +176,7 @@ const items = ref([
     font-weight: 500;
     font-size: 1.8rem;
     line-height: 26px;
-    color: #ffffff;
+    color: var(--on-primary-color);
     margin-bottom: 3rem;
   }
 
@@ -183,7 +184,7 @@ const items = ref([
     font-weight: 300;
     font-size: 1.2rem;
     line-height: 1.5rem;
-    color: #eff9fb;
+    color: var(--on-primary-color);
   }
 }
 

+ 0 - 98
components/Logiciels/Manager/Projet.vue

@@ -1,98 +0,0 @@
-<template>
-  <LayoutContainer>
-    <v-row>
-      <v-col cols="4">
-        <h5>Contactez-nous</h5>
-        <v-img
-          src="/images/logiciels/school/femme-casque.jpg"
-          class="femme-casque"
-        />
-      </v-col>
-      <v-col cols="8">
-        <h5>Vous avez un projet ?</h5>
-        <h6>N'attendez plus, appelez-nous</h6>
-        <p>
-          Vous avez une identité, des besoins, des projets... On est là pour
-          vous écouter et vous offrir une offre personnalisée ! Que vous soyez
-          une petite ou une structure plus conséquente, notre offre s'adapte à
-          toutes les tailles : le prix de l’abonnement au logiciel varie en
-          fonction du nombre d'élèves, tout en conservant l'intégralité des
-          fonctionnalités.
-        </p>
-
-        <v-btn> Nous contacter</v-btn>
-      </v-col>
-    </v-row>
-
-    <v-row>
-      <v-col cols="2">
-        <v-img src="/images/logiciels/school/cmf_logo_orange.png" />
-      </v-col>
-      <v-col cols="10">
-        <h5>Adhérents CMF : bénéficiez de conditions privilégiées</h5>
-        <p>
-          Si votre établissement d’enseignement artistique est adhérent à la
-          Confédération Musicale de France (CMF), vous bénéficiez gratuitement,
-          dans le cadre de votre adhésion, de la version Opentalent Artist
-          standard et de conditions priviliégiés pour la version Opentalent
-          School. Contactez nous direcetement ou contactez votre fédération pour
-          obtenir vos codes d’accès.
-        </p>
-      </v-col>
-    </v-row>
-
-    <v-row>
-      <v-col
-        cols="4"
-        class="border"
-      >
-        <div class="d-flex justify-center align-center">
-          <v-icon class="fa-brands fa-react icon" />
-        </div>
-        <p class="d-flex justify-center align-center">
-          Paiement Sécurisé
-        </p>
-      </v-col>
-      <v-col
-        cols="4"
-        class="border"
-      >
-        <div class="d-flex justify-center align-center">
-          <v-icon class="fa-brands fa-react icon" />
-        </div>
-        <p class="d-flex justify-center align-center">
-          Paiement Sécurisé
-        </p>
-      </v-col>
-
-      <v-col
-        cols="4"
-        class="border"
-      >
-        <div class="d-flex justify-center align-center">
-          <v-icon class="fa-brands fa-react icon" />
-        </div>
-        <p class="d-flex justify-center align-center">
-          Paiement Sécurisé
-        </p>
-      </v-col>
-    </v-row>
-  </LayoutContainer>
-</template>
-
-<script setup></script>
-
-<style scoped>
-.border {
-  border-top: 1px solid #000; 
-  border-right: 1px solid #000;
-}
-
-.icon {
-  font-size: 3rem;
-  color: #0e2d32;
-}
-.femme-casque {
-  width: 20rem;
-}
-</style>

+ 0 - 181
components/Logiciels/Manager/Solutions.vue

@@ -1,181 +0,0 @@
-<template>
-  <div id="solutions">
-    <LayoutContainer>
-      <v-row>
-        <v-col cols="12">
-          <h4 class="solution-title text-center">
-            Ces solutions peuvent vous intéresser
-          </h4>
-        </v-col>
-      </v-row>
-
-      <v-row v-if="!hideArtistRow"  class="row-artist">
-        <v-col cols="3">
-          <v-img src="/images/logo/logiciels/Artist-noir.png" class="logo" />
-        </v-col>
-
-        <v-col cols="2">
-          <h5 class="solution-name">Opentalent Artist</h5>
-        </v-col>
-
-        <v-col cols="7">
-          <!-- list v-chip-->
-          <v-chip-group active-class="primary--text" column>
-            <v-chip class="ma-2 chip-custom" label>
-              <span class="chip-detail">Agenda</span>
-            </v-chip>
-            <v-chip class="ma-2 chip-custom" label>
-              <span class="chip-detail">Facturation</span>
-            </v-chip>
-            <v-chip class="ma-2 chip-custom" label>
-              <span class="chip-detail">Comptabilité</span>
-            </v-chip>
-            <v-chip class="ma-2 chip-custom" label>
-              <span class="chip-detail">Communication</span>
-            </v-chip>
-            <v-chip class="ma-2 chip-custom" label>
-              <span class="chip-detail">Site internet</span>
-            </v-chip>
-          </v-chip-group>
-        </v-col>
-      </v-row>
-
-      <v-row v-if="!hideManagerRow" class="row-manager">
-        <v-col cols="3">
-          <v-img src="/images/logo/logiciels/Manager-noir.png" class="logo" />
-        </v-col>
-
-        <v-col cols="2">
-          <h5 class="solution-name">Opentalent Manager</h5>
-        </v-col>
-
-        <v-col cols="7">
-          <!-- list v-chip-->
-          <v-chip-group active-class="primary--text" column>
-            <v-chip class="ma-2 chip-custom" color="primary" label>
-              <span class="chip-detail">Agenda</span>
-            </v-chip>
-            <v-chip class="ma-2 chip-custom" color="primary" label>
-              <span class="chip-detail">Facturation</span>
-            </v-chip>
-            <v-chip class="ma-2 chip-custom" color="primary" label>
-              <span class="chip-detail">Comptabilité</span>
-            </v-chip>
-            <v-chip class="ma-2 chip-custom" color="primary" label>
-              <span class="chip-detail">Communication</span>
-            </v-chip>
-            <v-chip class="ma-2 chip-custom" color="primary" label>
-              <span class="chip-detail">Site internet</span>
-            </v-chip>
-          </v-chip-group>
-        </v-col>
-      </v-row>
-
-      <v-row v-if="!hideSchoolRow" class="row-school">
-        <v-col cols="3">
-          <v-img src="/images/logo/logiciels/School-noir.png" class="logo" />
-        </v-col>
-
-        <v-col cols="2">
-          <h5 class="solution-name">Opentalent Artist</h5>
-        </v-col>
-
-        <v-col cols="7">
-          <!-- list v-chip-->
-          <v-chip-group active-class="primary--text" column>
-            <v-chip class="ma-2 chip-custom" label>
-              <span class="chip-detail">Agenda</span>
-            </v-chip>
-            <v-chip class="ma-2 chip-custom" label>
-              <span class="chip-detail">Facturation</span>
-            </v-chip>
-            <v-chip class="ma-2 chip-custom" label>
-              <span class="chip-detail">Comptabilité</span>
-            </v-chip>
-            <v-chip class="ma-2 chip-custom" label>
-              <span class="chip-detail">Communication</span>
-            </v-chip>
-            <v-chip class="ma-2 chip-custom" label>
-              <span class="chip-detail">Site internet</span>
-            </v-chip>
-          </v-chip-group>
-        </v-col>
-      </v-row>
-    </LayoutContainer>
-  </div>
-</template>
-
-<script setup>
-import { useRoute } from "vue-router";
-
-const route = useRoute();
-
-// Check the URL and set variables to determine which rows to hide
-const hideManagerRow = route.path.includes("opentalent_manager");
-const hideArtistRow = route.path.includes("opentalent_artist");
-const hideSchoolRow = route.path.includes("opentalent_school");
-</script>
-
-<style scoped>
-.chip-detail {
-  color: #000000;
-}
-.chip-custom {
-  color: white;
-  border: 1px solid #0e2d32;
-  border-radius: 3rem;
-  text-transform: uppercase;
-
-  font-family: "Barlow";
-  font-style: normal;
-  font-weight: 500;
-  font-size: 14px;
-  line-height: 16px;
-
-  display: flex;
-  align-items: center;
-  text-align: center;
-  letter-spacing: 0.2em;
-}
-
-.row-artist,
-.row-school,
-.row-manager {
-  border-top: 1px solid #d1cdc7;
-  margin-left: 2rem;
-  margin-right: 2rem;
-}
-
-.solution-name {
-  font-family: "Barlow";
-  font-style: normal;
-  font-weight: 300;
-  font-size: 1.5rem;
-  line-height: 1.5rem;
-  color: #0e2d32;
-}
-
-.row-artist, .row-school, .row-manager {
-  display: flex;
-  flex-direction: row;
-  align-items: center;
-}
-.solution-title {
-  font-family: "Barlow";
-  font-style: normal;
-  font-weight: 500;
-  font-size: 1.5rem;
-  line-height: 1.5rem;
-  color: #000000;
-  margin-top: 2rem;
-  margin-bottom: 2rem;
-  text-align: center;
-}
-
-.logo {
-  width: 17rem;
-  height: 10rem;
-  margin-left: 2rem;
-  margin-right: 2rem;
-}
-</style>

+ 4 - 4
components/Logiciels/School/Contact.vue

@@ -110,9 +110,9 @@ import AnchoredSection from "~/components/Layout/AnchoredSection.vue";
 .btn-contact {
   margin-top: 1rem;
   height: 53px;
-  background: #64afb7;
+  background: var(--secondary-color);
   border-radius: 6px;
-  color: white;
+  color: var(--on-secondary-color);
   padding: 19px 28px;
   gap: 9px;
 }
@@ -121,7 +121,7 @@ import AnchoredSection from "~/components/Layout/AnchoredSection.vue";
   font-weight: 400;
   font-size: 34px;
   line-height: 38px;
-  color: #071b1f;
+  color: var(--primary-color);
   margin-bottom: 2rem;
 }
 
@@ -129,7 +129,7 @@ import AnchoredSection from "~/components/Layout/AnchoredSection.vue";
   font-weight: 300;
   font-size: 16px;
   line-height: 20px;
-  color: #091d20;
+  color: var(--primary-color);
   text-align: justify;
 }
 

+ 10 - 5
components/Logiciels/School/Formations.vue

@@ -157,6 +157,10 @@ const items: Array<{ src: string }> = [
   background-position: center;
 }
 
+.alt-color {
+  color: var(--on-primary-color-alt);
+}
+
 .formation {
   .v-btn {
     font-family: "Barlow", serif;
@@ -167,8 +171,9 @@ const items: Array<{ src: string }> = [
     font-size: 1.5rem;
     line-height: 18px;
     background: transparent;
-    color: #eff9fb;
-    border: 1px solid #eff9fb;
+    color: var(--on-primary-color);
+    border: 1px solid;
+    border-color: var(--on-primary-color);
     border-radius: 0.5rem;
     text-transform: none;
   }
@@ -177,7 +182,7 @@ const items: Array<{ src: string }> = [
     font-weight: 500;
     font-size: 1.8rem;
     line-height: 26px;
-    color: #ffffff;
+    color: var(--on-primary-color);
     margin-bottom: 3rem;
   }
 
@@ -185,7 +190,7 @@ const items: Array<{ src: string }> = [
     font-weight: 500;
     font-size: 1.8rem;
     line-height: 26px;
-    color: #ffffff;
+    color: var(--on-primary-color);
     margin-bottom: 3rem;
   }
 
@@ -193,7 +198,7 @@ const items: Array<{ src: string }> = [
     font-weight: 300;
     font-size: 1.2rem;
     line-height: 1.5rem;
-    color: #eff9fb;
+    color: var(--on-primary-color);
   }
 }
 </style>

+ 10 - 11
components/Logiciels/School/Solutions.vue

@@ -127,20 +127,18 @@
 
 <style scoped>
 .chip-detail {
-  color: #000000;
+  color: var(--on-neutral-color);
 }
 .chip-custom {
-  color: white;
-  border: 1px solid #0e2d32;
+  color: var(--on-primary-color);
+  border: 1px solid var(--primary-color);
   border-radius: 3rem;
   text-transform: uppercase;
-
-  font-family: "Barlow";
+  font-family: "Barlow", serif;
   font-style: normal;
   font-weight: 500;
   font-size: 14px;
   line-height: 16px;
-
   display: flex;
   align-items: center;
   text-align: center;
@@ -148,18 +146,18 @@
 }
 
 .row-artist {
-  border-top: 1px solid #d1cdc7;
+  border-top: 1px solid var(--on-primary-color);
   margin-left: 2rem;
   margin-right: 2rem;
 }
 
 .solution-name {
-  font-family: "Barlow";
+  font-family: "Barlow", serif;
   font-style: normal;
   font-weight: 300;
   font-size: 1.5rem;
   line-height: 1.5rem;
-  color: #0e2d32;
+  color: var(--primary-color);
 }
 
 .row-artist {
@@ -167,13 +165,14 @@
   flex-direction: row;
   align-items: center;
 }
+
 .solution-title {
-  font-family: "Barlow";
+  font-family: "Barlow", serif;
   font-style: normal;
   font-weight: 500;
   font-size: 1.5rem;
   line-height: 1.5rem;
-  color: #000000;
+  color: var(--on-neutral-color);
   margin-top: 2rem;
   margin-bottom: 2rem;
   text-align: center;

+ 0 - 101
components/Logiciels/School/StickyMenu.vue

@@ -1,101 +0,0 @@
-<template>
-  <div id="sticky-menu">
-    <LayoutContainer >
-      <v-row class="outil-row">
-        <v-col cols="3">
-          <div class="container-square">
-            <v-row class="logo-square">
-              <div>
-                <v-icon class="fa-regular fa-comments icon" />
-                <p class="text-square">Nous contacter</p>
-              </div>
-            </v-row>
-
-            <v-row class="logo-square">
-              <div>
-                <v-icon class="fa-regular fa-circle-info icon" />
-                <p class="text-square">Demander une demo</p>
-              </div>
-            </v-row>
-
-            <v-row class="logo-square">
-              <div>
-                <v-icon class="fa-brands fa-readme icon" />
-                <p class="text-square">Brochure</p>
-              </div>
-            </v-row>
-
-            <v-row class="darkblue-square">
-              <div>
-                <v-icon class="fa-solid fa-phone icon" />
-                <p class="text-square">Nous Appeler</p>
-              </div>
-            </v-row>
-          </div>
-        </v-col>
-      </v-row>
-    </LayoutContainer>
-  </div>
-</template>
-
-<script setup></script>
-
-<style scoped>
-.container-square {
-  display: flex;
-  flex-direction: column;
-  justify-content: space-between;
-  color: white;
-  font-weight: 500;
-  font-size: 0.7rem;
-  line-height: 15px;
-  text-align: center;
-  letter-spacing: 0.2em;
-  text-transform: uppercase;
-}
-
-.logo-square,
-.darkblue-square {
-  display: flex;
-  justify-content: center;
-  align-items: center;
-  width: 10rem;
-  height: 7rem;
-  margin-left: 14rem;
-  padding: 1rem;
-}
-
-.logo-square {
-  background:blue;
-}
-
-.darkblue-square {
-  background: #0e2d32;
-}
-
-.text-square {
-  margin: 0.5rem 2rem;
-}
-
-.icon {
-  margin-right: 1rem;
-}
-
-.icon-logiciel {
-  color: #9EDBDD;
-  margin-right: 1rem;
-}
-
-.outil-row {
-  margin: 5rem 0;
-}
-
-#sticky-menu {
-  position: sticky;
-  top: 10rem;
-  z-index: 10;
-  left: 0;
-  margin-bottom: -40rem;
-}
-
-</style>

+ 3 - 3
components/News/Details.vue

@@ -132,7 +132,7 @@ const getImageUrl = (attachment: string): string | null => {
   }
 
   .description {
-    color: #0e2d32;
+    color: var(--primary-color);
     text-align: justify;
     font-family: "Barlow", serif;
     font-size: 30px;
@@ -166,7 +166,7 @@ const getImageUrl = (attachment: string): string | null => {
 
 .back-button {
   text-decoration: none;
-  color: #000000;
+  color: var(--on-neutral-color);
   font-family: Barlow, serif;
   font-size: 0.9rem;
   font-style: normal;
@@ -177,7 +177,7 @@ const getImageUrl = (attachment: string): string | null => {
 }
 
 .key-word {
-  color: #000;
+  color: var(--on-neutral-color);
   font-family: Barlow, serif;
   font-size: 20px;
   font-style: normal;

+ 3 - 3
components/News/List.vue

@@ -240,13 +240,13 @@ h1 {
   }
 
   .details {
-    border: 1px solid white !important;
+    border: 1px solid var(--neutral-color) !important;
     padding: 9px;
     border-radius: 20px;
     width: 99%;
 
     .v-card-title {
-      color: #fff;
+      color: var(--neutral-color);
       font-family: Barlow, serif;
       font-size: 36px;
       font-style: normal;
@@ -260,7 +260,7 @@ h1 {
 
     .v-card-text {
       td {
-        color: #fff;
+        color: var(--neutral-color);
         font-family: Barlow, serif;
         font-size: 22px;
         font-style: normal;

+ 6 - 6
components/Webinaire/Catalogue.vue

@@ -294,7 +294,7 @@ const closeModal = () => {
   .title-card-container {
     display: flex;
     align-items: center;
-    border-bottom: 1px solid #0e2d32;
+    border-bottom: 1px solid var(--primary-color);
     width: 80%;
     margin-left: auto;
     margin-right: auto;
@@ -321,7 +321,7 @@ const closeModal = () => {
     font-weight: 300;
     font-size: 1rem;
     line-height: 1rem;
-    color: #091d20;
+    color: var(--primary-color);
     margin-top: 1rem;
     margin-bottom: 0.5rem;
     height: 5rem;
@@ -330,7 +330,7 @@ const closeModal = () => {
   .objectives, .program {
     justify-content: space-between;
     align-items: center;
-    background: #c3e5e7;
+    background: var(--secondary-color);
     margin-top: 1rem;
     margin-bottom: 1rem;
     border-radius: 1rem;
@@ -343,7 +343,7 @@ const closeModal = () => {
       font-weight: 500;
       font-size: 16px;
       line-height: 20px;
-      color: #0e2d32;
+      color: var(--primary-color);
     }
 
     ul {
@@ -405,8 +405,8 @@ const closeModal = () => {
   }
 
   .close-button {
-    background-color: #e34461;
-    color: #fff;
+    background-color: #e34461;  /* TODO: pqoi cette couleur ici? */
+    color: var(--on-primary-color);
     font-family: "Barlow", serif;
     font-style: normal;
     font-weight: 500;

+ 6 - 6
components/Webinaire/FAQ.vue

@@ -105,8 +105,8 @@ function isOpen(index: number) {
 }
 
 .question {
-  background-color: #0E2D32;
-  color: #fff;
+  background-color: var(--primary-color);
+  color: var(--on-primary-color);
   padding: 0.75rem 1rem;
   cursor: pointer;
   border-radius: 4px;
@@ -114,20 +114,20 @@ function isOpen(index: number) {
   align-items: center;
 
   :hover {
-    background-color: #555;
+    background-color: var(--neutral-color-alt-strong);
   }
 
   .v-icon {
     font-size: 10px !important;
-    color: rgba(161, 225, 249, 0.6);
+    color: var(--on-primary-color-alt);
     margin-right: 0.5rem;
   }
 }
 
 .answer {
-  background-color: #C3E5E7;
+  background-color: var(--secondary-color);
   padding: 0.5rem 1rem;
-  border: 1px solid #ccc;
+  border: 1px solid var(--neutral-color-alt-strong);
   border-top: none;
   border-radius: 0 0 4px 4px;
 }

+ 5 - 5
pages/opentalent_artist.vue

@@ -75,10 +75,10 @@ const stickyMenuActions: Array<StickyMenuAction> = [
 
 <style lang="scss">
 .theme-artist {
-  --primary-color: #ffffff;
-  --secondary-color: #fef3ce;
-  --on-primary-color: #0e2d32;
-  --primary-color-alt: #262626;
-  --on-primary-color-alt: #fac20a;
+  --primary-color: var(--on-primary-color);
+  --on-primary-color: var(--primary-color);
+  --primary-color-alt: var(--on-secondary-color);
+  --on-primary-color-alt: var(--artist-color);
+  --secondary-color: var(--artist-color-light);
 }
 </style>

+ 4 - 4
pages/opentalent_manager.vue

@@ -73,9 +73,9 @@ const stickyMenuActions: Array<StickyMenuAction> = [
 
 <style scoped>
 .theme-manager {
-  --primary-color: #ffffff;
-  --secondary-color: #f7cdce;
-  --on-primary-color: #0e2d32;
-  --on-primary-color-alt: #d8050b;
+  --primary-color: var(--on-primary-color);
+  --on-primary-color: var(--primary-color);
+  --on-primary-color-alt: var(--manager-color);
+  --secondary-color: var(--manager-color-light);
 }
 </style>

+ 5 - 5
pages/opentalent_school.vue

@@ -83,10 +83,10 @@ const stickyMenuActions: Array<StickyMenuAction> = [
 
 <style scoped lang="scss">
 .theme-school {
-  --primary-color: #ffffff;
-  --secondary-color: #c3e5e7;
-  --on-primary-color: #0e2d32;
-  --primary-color-alt: #262626;
-  --on-primary-color-alt: #c3e5e7;
+  --primary-color: var(--on-primary-color);
+  --on-primary-color: var(--primary-color);
+  --primary-color-alt: var(--on-secondary-color);
+  --on-primary-color-alt: var(--school-color);
+  --secondary-color: var(--school-color-light);
 }
 </style>