@font-face {
  font-family: "TradeGothicNextHeavyItalic";
  src: url("/assets/TradeGothicNextHeavyItalic-0442e5ea.woff2") format('woff2'), url("/assets/TradeGothicNextHeavyItalic-04575f13.woff") format('woff');
}

:root {
  /* colors */
  --color-black: #000;
  --color-blue: #0037d9;
  --color-blue-light: #0389ff;
  --color-blue-lighter: #96b0fa;
  --color-grey: #242424;
  --color-grey-light: #414141;
  --color-grey-lighter: #c2c2c2;
  --color-lime: #dbe200;
  --color-red: #ff0029;
  --v2-white: #fff;
  --color-yellow: #dce228;
  /* text sizes */
  --text-size: 12px;
  --small-heading-size: 16px;
  --heading-size: 24px;
  --heading-weight: 600;
  /* form elements */
  --form-border-radius: 7px;
  /* custom properties */
  --slot-size: 20px;
  --border-width: 1.5px;

  --v2-blue-dark: #000036;
  --v2-orange: #FF4900;
  --v2-pink: #FF008D;
  --v2-blue: #01C9E0;
  --v2-white: #fff;
  --v2-black: #000;
  --v2-grey: #242424;
  --v2-grey-light: #414141;
  --v2-grey-lighter:  #D0D7E0;
  --v2-red: #ff0029;
  /* text sizes */
  --v2-text-size: 12px;
  --v2-small-heading-size: 23px;
  --v2-middle-heading-size: 28px;
  --v2-big-heading-size: 36px;
  --v2-heading-weight: 600;
}

* {
  box-sizing: border-box;
}

html,
body {
  width: 100vw;
  height: 100dvh;
  overflow: hidden;
  font-family: dalton, sans-serif;
  font-size: var(--text-size);
}

.visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0,0,0,0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

body {
  margin: 0;
  padding: 0;
  font-size: var(--text-size);
  color: var(--v2-white);
  background-color: var(--v2-blue-dark);
}

h1 {
  font-family: TradeGothicNextHeavyItalic, sans-serif;
  font-size: var(--heading-size);
}
.text-yellow {
  color: var(--color-yellow);
}
.text-blue-dark {
  color: var(--v2-blue-dark);
}

legend {
  margin-bottom: .5rem;
}
input:not([type=radio], [type=checkbox]) {
  padding: .5rem;
  line-height: 1;
  font-size: 1rem;
  color: var(--v2-blue-dark);
  background-color: transparent;
  border: var(--border-width) solid;
  border-radius: var(--form-border-radius);
}
input:not([type=radio], [type=checkbox])::placeholder {
  color: var(--color-blue-lighter);
}
button,
.button {
  display: inline-block;
  min-width: 7rem;
  padding: .75rem 1rem;
  line-height: 1;
  color: var(--v2-blue-dark);
  background-color: var(--v2-white);
  border: none;
  border-radius: var(--form-border-radius);
}

.hidden {
  display: none !important;
}

/* ========================= */
/* ===== FLASH MESSAGE ===== */
/* ========================= */
.flash {
  opacity: 1;
  position: absolute;
  bottom: 1rem;
  left: 5vw;
  right: 5vw;
  padding: 1rem;
  border: 1px solid;
  border-radius: 8px;
  transition: opacity .25s linear, bottom .25s linear;

  &.success {
    color: var(--v2-white);
    background-color: var(--v2-blue-dark);
    border-color: var(--v2-white);
  }

  &.alert {
    color: var(--v2-white);
    background-color: var(--v2-red);
    border-color: var(--v2-white);
  }

  &.fade {
    opacity: 0;
    bottom: -1rem;
  }
}

/* ================== */
/* ===== Modals ===== */
/* ================== */
.modal {
  z-index: 1000;
  display: none;
}
.modal.opened {
  display: flex;
}

.modal-backdrop {
  z-index: 1001;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: rgba(0, 0, 0, .7);
}
.modal-container {
  z-index: 1002;
  overflow: auto;
  position: absolute;
  top: 50%;
  left: 10%;
  width: 80%;
  max-width: 80%;
  margin-top: -5%;
  transform: translateY(-50%);
  border-radius: 10px;
  box-shadow: 0 0 20px -5px var(--color-black);
}
.modal-close {
  z-index: 1004;
  position: absolute;
  top: 0;
  right: 0;
  padding: 1.2rem;
  line-height: 1;

  svg {
    width: 15px;
    height: 15px;
  }
}
.modal-content {
  z-index: 1003;
  overflow-x: hidden;
  overflow-y: auto;
  position: relative;
  max-height: 80vh;
  margin: 0 !important;
}
.modal-content > div {
  padding: 8% 8% 140px;
  color: var(--v2-white);
  background-color: var(--v2-blue-dark);
  border-radius: 10px;
  clip-path: border-box;

  /* Shared modal styles */
  .title {
    margin: .5rem 0;
    font-weight: var(--heading-weight);
    color: var(--v2-blue-dark);
  }

  &::after {
    content: "";
    position: absolute;
    bottom: -20px;
    right: 0;
    width: 100%;
    height: 150px;
    background: transparent url("/assets/stripes-horizontal-46a85a57.svg") no-repeat;
    background-size: cover;
  }
}

.modal-content .bare-modal {
  padding: 0;
  background: transparent none;

  &::after {
    content: none;
  }
}

/* ======================================= */
/* ===== TITLE WITH ARROW BACKGROUND ===== */
/* ======================================= */

h1,
.title {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin: 1rem 0 2.7rem;
  padding: 5px 5px 8px;
}
.title.bigger {
  font-size: var(--v2-big-heading-size);
  color: var(--v2-blue-dark);
}
.title svg {
  position: relative;
  display: block;
  /* width: 100%; needed for the svg to appear on mobile webkit */
  max-width: 80%;
  max-height: 3.4rem;
  color: var(--v2-white);
}
.separator {
  height: 1.25rem;
}
.partner {
  min-width: 25%;
}

/* ====================== */
/* ===== HEADER NAV ===== */
/* ====================== */
.header-nav {
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
  top: 0;
  margin: 1rem -10vw 2rem;
  padding: 0 5%;

  a {
    padding: .5rem;
    color: inherit;
  }
  .nav-filler {
    display: block;
    width: 36px;
    height: 36px
  }
  h1 {
    margin: 0;
    font-weight: 700;
    font-size: var(--v2-middle-heading-size);
    line-height: 1;
    text-align: center;
    text-transform: capitalize;
  }
}

/* ========================================== */
/* ===== FOLDERS AND PARTNERS BIG LISTS ===== */
/* ========================================== */
.big-vertical-list {
  display: flex;
  flex-direction: column;
  align-items: center;

  > li {
    margin: 0 auto;
    color: var(--v2-white);
    background-color: var(--v2-blue-dark);
    border-radius: 5px;
  }
  > li + li {
    margin-top: 2rem;
  }
  > li > a {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 40vw;
    aspect-ratio: 1/1;
  }
}

/* ============================= */
/* ===== SHARED APP LAYOUT ===== */
/* ============================= */
.app-layout {
  display: flex;
  flex-direction: column;
  height: 100dvh;
  max-width: 100vw;
  overflow-x: hidden;
  max-width: 640px;
  margin-left: auto;
  margin-right: auto;
}
.app-main {
  position: relative;
  flex: 1;
  padding: 5vw 15vw 5vw 15vw;
  overflow-x: hidden;
  overflow-y: auto;
  color: var(--v2-white);
  background: var(--v2-blue-dark);
}

.app-footer {
  color: var(--v2-white);
  background: transparent;
}
.app-footer ul {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
}
.app-footer li {
  text-align: center;
}
.app-footer a {
  display: block;
  padding: 10px 0;

}
.app-footer a svg {
  width: 35px;
  height: 35px;
  display: inline-block;
}
.app-footer a:hover svg,
.app-footer a:active svg,
.app-footer a[data-active] svg {
  color: var(--v2-blue);
}

/* ===================== */
/* ===== HOME PAGE ===== */
/* ===================== */
@keyframes slide {
	0% { left: 0; }
	23% { left: 0; }

	25% { left: -50vw; }
	48% { left: -50vw; }

	50% { left: -100vw; }
	73% { left: -100vw; }

	75% { left: -150vw; }
	98% { left: -150vw; }
}

.home--index {
  > main {
    display: flex;
    flex-direction: column;
    padding: 0;
    color: var(--v2-white);
    background: var(--v2-blue-dark);
  }

  > footer {
    color: var(--v2-white);
    background: var(--v2-blue-dark);
    box-shadow: none;
  }

  .top-section,
  .middle-section,
  .bottom-section {
    display: flex;
    flex-direction: row;
    position: relative;

    > div,
    > img,
    > svg {
      width: 50%;
    }

    .top-event-container {
      width: 85%;
    }
  }

  .top-section {
    height: 37%;
  }
  .middle-section {
    height: 24%;
  }
  .bottom-section {
    height: 39%;
  }

  .top-illustration-container {
    position: relative;
    overflow: hidden;
    box-sizing: border-box;
  }
  .top-illustration-container svg {
    display: block;
    color: var(--v2-orange);
    position: absolute;
    right: 0;
    top: 0;
    height: 100%;
    width: auto;
  }
  .top-logo-container,
  .middle-logo-container,
  .bottom-dates-container {
    align-self: center;
  }
  .top-logo-container svg {
    color: var(--v2-orange);
    margin: auto;
    width: 70%;
  }
  .top-event-container {
    z-index: 10;
    position: absolute;
    bottom: -5px;
    left: 7.5%; /* width of element is 85% */
  }
  .middle-logo-container {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    justify-content: center;
    gap: 1rem;
  }
  .middle-logo-container svg {
    color: white;
    margin: auto;
    width: 100%;
  }
  .middle-logo-container .middle-tignes {
    width: 27%;
    margin-right: 25%;
  }
  .middle-logo-container .middle-clubmed {
    width: 50%;
    margin-right: 25%;
  }
  .middle-illustration-container svg {
    color: var(--v2-pink);
    height: 100%;
    width: 100%;
  }
  .bottom-left-section {
    display: flex;
    flex-direction: column;
  }
  .bottom-illustration-container {
    position: relative;
    height: 50%;
    overflow: hidden;
    box-sizing: border-box;
  }
  .bottom-illustration-container svg {
    color: var(--v2-blue);
    display: block;
    position: absolute;
    left: 0;
    bottom: 0;
  }
  .bottom-dates-container {
    display: flex;
    width: 100%;
    height: 50%;
  }
  .bottom-dates-container svg {
    margin: auto;
    width: 50%;
  }

  .carousel {
    z-index: 0;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    /* left: 0; */
    width: 100vw;
    overflow-x: hidden;
  }
  .carousel .track {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;

    display: flex;
    flex-wrap: nowrap;

    animation: slide 20s ease-in-out infinite;
  }
  .carousel .slide {
    display: block;
    width: 50vw;
    height: 100%;
    background-color: var(--v2-blue-dark);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
  }

  .carousel .slide:nth-child(1) {
    background-image: url("/assets/home/v2/background-1-8d25df65.jpg");
    background-position: 0px center;
  }
  .carousel .slide:nth-child(2) {
    background-image: url("/assets/home/v2/background-2-f71e6ed8.jpg");
    background-position: 0px center;
  }
  .carousel .slide:nth-child(3) {
    background-image: url("/assets/home/v2/background-3-387da104.jpg");
    background-position: -100px center;
  }
  .carousel .slide:nth-child(4) {
    background-image: url("/assets/home/v2/background-4-315753bf.jpg");
    background-position: -60px center;
  }
}

/* ==================== */
/* ===== CALENDAR ===== */
/* ==================== */
.calendar--show {
  > main {
    display: flex;
    flex-direction: column;
    padding: 5vw 10vw 15vw 10vw;
    color: var(--v2-black);
    background: var(--v2-white);
  }

  .header-nav {
    color: var(--v2-blue-dark);
    background-color: var(--v2-white);
  }

  .calendar-day {
    padding: 1px 0 0;
    list-style: none inside;
  }

  .time-slot {
    display: flex;
    align-items: flex-start;
    height: calc(var(--slot-size));
    padding: 0 10% 0 0;
    border-top: 1px solid var(--v2-grey-lighter);

  }
  .time-slot time {
    margin-right: 1rem;
    padding-top: .2rem;
    color: var(--v2-grey-lighter);
  }

  .time-slot.invisible {
    visibility: visible;
    border-top: none;
  }
  .time-slot.invisible time {
    color: transparent;
  }

  .event {
    overflow: hidden;
    flex: 1;
    margin: -1px 0;
    padding: .5rem 1rem;
    text-decoration: none;
    font-size: 13px;
    font-weight: 500;
    border: 2px solid var(--v2-white);
    border-radius: 8px;
  }
  .event.placeholder {
    border-color: transparent;
  }

  .event.blue {
    color: var(--v2-white);
    background-color: var(--v2-blue);
  }

  .event.pink {
    color: var(--v2-white);
    background-color: var(--v2-pink);
  }
  .event.orange {
    color: var(--v2-white);
    background-color: var(--v2-orange);
  }
  .event.grey {
    color: var(--color-black);
    background-color: var(--v2-grey-lighter);
  }
  .event.dark {
    color: var(--v2-white);
    background-color: var(--v2-blue-dark);
  }
  .event[span="1"] {
    padding-top: 0;
    padding-bottom: 0;
  }
}

/* ======================= */
/* ===== EVENT MODAL ===== */
/* ======================= */
.event-modal {
  color: var(--v2-white);
  background-color: var(--v2-white);

  &.grey {
    color: var(--v2-blue-dark);
    background-color: var(--v2-white);
  }
  &.orange {
    background-color: var(--v2-orange);

    &::after {
      background: transparent url("/assets/stripes-arrow-62bbe31b.svg") no-repeat;
      background-size: cover;
    }
  }
  &.blue {
    background-color: var(--v2-blue);
  }
  &.pink {
    background-color: var(--v2-pink);
    &::after {
      background: transparent url("/assets/stripes-vertical-ae2fb46d.svg") no-repeat;
      background-size: cover;
    }
  }
  &.dark {
    background-color: var(--v2-blue-dark);
  }

  .time {
    font-weight: var(--heading-weight);
    color: var(--v2-blue-dark);
  }
  .category {
    font-weight: var(--heading-weight);
  }
  .speaker {
    margin-top: -.5rem;
    font-weight: var(--heading-weight);
    color: var(--v2-blue-dark);
  }

  .location,
  .requirements {
    display: flex;
    align-items: center;
    margin: 1rem 0;

  }
  .location svg,
  .requirements svg {
    margin-right: .5rem;
  }

  .already-registered {
    margin: 1rem 0;
    font-size: 1.125rem;
    font-weight: 600;
  }

  .event-registration-form {
    margin: 1rem 0 2rem;
  }
  .event-registration-form .input-submit {
    margin-top: 1rem;
    display: flex;
    gap: .25rem;
  }

  input {
    color: var(--v2-blue-dark);
    background-color: transparent;
    border-color: var(--v2-white);
    width: 60%;
  }
  &.grey input {
    border-color: var(--v2-blue-dark);
  }
  input::placeholder {
    color: var(--v2-blue-dark);
  }

  input + button {
    visibility: hidden;
    color: var(--v2-blue-dark);
    font-weight: 400;
    background-color: var(--v2-white);
    width: 40%;
  }
  input:valid + button {
    visibility: visible;
  }
}

/* ==================== */
/* ===== PARTNERS ===== */
/* ==================== */
.partners--index {
  ul li.partner:nth-child(3n + 1) {
    border: 2px solid var(--v2-blue);
  }

  /* 1 + 3n → means: 2nd, 5th, 8th… */
  ul li.partner:nth-child(3n + 2) {
    border: 2px solid var(--v2-pink);
  }

  /* 2 + 3n → means: 3rd, 6th, 9th… */
  ul li.partner:nth-child(3n + 3) {
    border: 2px solid var(--v2-orange);
  }
  .partner {
    color: var(--v2-white);
    background-color: var(--v2-blue-dark);
  }
  .partner svg {
    width: 70%;
    max-height: 45%;
    height: auto;
    margin: auto;
  }
}

.modal .partner-modal {
  padding-bottom: 165px;

  .button {
    display: inline-block;
    margin-top: 10%;
    background-color: var(--v2-white);
    color: var(--v2-blue-dark);
    border: none;
  }

  &.partner-blue {
    background-color: var(--v2-blue);
  }
  &.partner-pink {
    background-color: var(--v2-pink);
  }
  &.partner-orange {
    background-color: var(--v2-orange);
  }
}

/* ===================== */
/* ===== HELP PAGE ===== */
/* ===================== */
.pages--info section + section {
  margin-top: 5rem;
}

.pages--info h2 {
  margin: 1rem 0;
  font-family: "TradeGothicNextHeavyItalic", sans-serif;
  font-size: 1.125rem;
  font-weight: 600;
  color: var(--v2-blue-dark);
}
.pages--info .button {
  display: inline-block;
  background-color: var(--v2-white);
  color: var(--v2-blue-dark);
  border: none;
}
.pages--info .info-separator {
  height: 20vw;
  background: url("/assets/stripes-horizontal-blue-dark-23e96f9e.svg") no-repeat center -1px;
}
.pages--info .info-separator.separator-blue {
  background: var(--v2-blue-dark) url("/assets/stripes-horizontal-blue-e3e63461.svg") no-repeat center -1px;
  background-size: cover;
}
.pages--info .info-separator.separator-pink {
  background: var(--v2-pink) url("/assets/stripes-horizontal-blue-dark-23e96f9e.svg") no-repeat center -1px;
  background-size: cover;
}
.pages--info .info-separator.separator-orange {
  background: var(--v2-orange) url("/assets/stripes-horizontal-blue-dark-23e96f9e.svg") no-repeat center -1px;
  background-size: cover;
}
.pages--info .app-main {
  padding: 0;
}
.pages--info section {
  padding: 5vw 15vw 15vw 15vw;
}
.pages--info .app-main li {
  margin: 1rem 0 1.5rem;
}

.pages--info .inline-list {
  display: flex;
}
.pages--info .inline-list li {
  margin: 0;
}
.pages--info .inline-list a:active {
  color: var(--v2-blue);
}

.pages--info .location .title {
  color: var(--v2-blue);
}

.pages--info .location .floor {
  display: block;
  font-family: "TradeGothicNextHeavyItalic", sans-serif;
  font-size: 1.125rem;
  font-weight: 600;
  color: var(--v2-blue);
}

.pages--info .reception {
  background-color: var(--v2-pink);
}
.pages--info .reception .title {
  color: var(--v2-blue-dark);
}
.pages--info .reception .emergency-phone {
  text-decoration: underline;
}
.pages--info .reception ul {
  list-style: disc outside;
  padding-left: 1rem;
}

.pages--info .practical-info {
  background-color: var(--v2-orange);
}
.pages--info .practical-info .title {
  color: var(--v2-blue-dark);
}
.pages--info .practical-info .group + .group {
  margin-top: 2rem;
}

.pages--info .practical-info .social-networks li + li {
  margin-left: .5rem;
}

.pages--info .practical-info .links ul {
  justify-content: space-between;
}
.pages--info .practical-info .links a {
  display: flex;
  flex-direction: column;
  align-items: center
}
.pages--info .practical-info .links svg {
    margin-bottom: .5rem;
  }

/* ======================= */
/* ===== PARTICIPANT ===== */
/* ======================= */
.participants--index {
  .search-form {
    padding-bottom: 1rem;
    position: sticky;
    top: -3rem;
    padding-top: 3rem;
    margin-left: -10vw;
    padding-left: 10vw;
    background-color: var(--v2-blue-dark);
    z-index: 10;
    width: calc(100% + 20vw);
  }
  .search-form label {
    display: flex;
    flex-wrap: wrap;
  }

  .search-form .text {
    flex: 0 1 100%;
    margin-bottom: .5rem;
  }
  .search-form input {
    padding-left: 35px;
    color: var(--v2-white);
    background: var(--v2-blue-dark) url("/assets/icons/search-833f9d66.svg") no-repeat 8px center;
    background-size: 20px;
    border: 1px solid var(--v2-white);
  }

  .participant {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    font-size: 1.1em;
  }
  .participant img {
    aspect-ratio: 1/1;
    width: 35%;
    background-color: var(--v2-blue-dark);
    border-radius: 10px;
  }
  .participant .info {
    flex: 1;
    margin: 0 0 0 4vw;
  }
  .participant .role {
    text-transform: uppercase;
    color: var(--v2-blue);
  }
  .participant .name {
    font-size: 1.125rem;
    font-weight: 600;
  }
  .participant .field {
    font-weight: 600;
    color: var(--v2-blue);
  }
  .participant .field::first-letter {
    text-transform: uppercase;
  }
  .participant .handle {
    color: var(--v2-blue);
    word-break: break-word;
  }

  .participant::before,
  .participant:last-child::after {
    content: "";
    display: block;
    width: calc(100% + 20vw);
    height: 1px;
    margin: 2rem -10vw;
    background: linear-gradient(.25turn, var(--v2-blue-dark), var(--v2-white), var(--v2-blue-dark));
    opacity: .5;
  }
}

/* ============================== */
/* ===== FOLDERS INDEX PAGE ===== */
/* ============================== */
.folders--index {
  > main {
    z-index: 1;
    background-color: transparent;

    display: flex;
    align-items: center;
    justify-content: center;
  }
  > footer {
    z-index: 1;
  }

  /* .folder and .folder a size set here as we have 3 items and we want them to fit the screen without scrolling */
  .folder {
    height: 25dvh;
    /* width: 75dvw; to make folders wider */
    text-align: center;
  }
  .folder.l-evenement {
    border: 3px solid var(--v2-blue);

    h2 { text-shadow: 1px 1px 0px var(--v2-blue); }
  }
  .folder.presse {
    border: 3px solid var(--v2-pink);

    h2 { text-shadow: 1px 1px 0px var(--v2-pink); }
    .lock { color: var(--v2-pink); }
  }
  .folder.partenaires {
    border: 3px solid var(--v2-orange);

    h2 { text-shadow: 1px 1px 0px var(--v2-orange); }
    .lock { color: var(--v2-orange); }
  }
  .folder h2 {
    font-family: "TradeGothicNextHeavyItalic", sans-serif;
    font-size: var(--v2-small-heading-size);
    line-height: 1;
  }
  .folder a {
    width: 100%;
    height: 100%;
  }
  .folder svg {
    max-width: 80%;
    max-height: 22%;
  }
  .folder .lock {
    width: 2rem;
    height: 2rem;
    margin-top: .75rem;
  }
}

.modal-content .folder-access-modal {
  text-align: center;
  background-color: var(--v2-pink);

  h1 {
    margin-top: 4rem;
    font-size: var(--small-heading-size);
    font-weight: 600;
    font-family: inherit;
    text-transform: uppercase;
    justify-content: center;
    color: var(--v2-blue-dark);
  }
  form {
    display: flex;
    flex-flow: column nowrap;
    gap: 1rem;
    align-items: center;
    margin: 1.5rem 0;
  }
  form input {
    color: var(--v2-white);
    border-color: var(--v2-white);
  }
  form button {
    padding: .3rem 0;
    color: var(--v2-blue-dark);
    font-weight: 600;
    background-color: var(--v2-white);
  }
}

.modal-content .folder-access-modal.partenaires {
  background-color: var(--v2-orange);
}
/* =================================================== */
/* ===== DISPLAY SUB FOLDERS WITHIN A TOP FOLDER ===== */
/* =================================================== */
.folders--show.l-evenement {
  .app-main {
    background-color: var(--v2-blue-dark);
  }
  .title {
    color: var(--v2-blue);
  }
  .folder .name {
    color: var(--v2-blue);
  }
  .app-footer {
    background-color: var(--v2-blue-dark);
  }
  .app-footer a:hover svg,
  .app-footer a:active svg,
  .app-footer a[data-active] svg {
    color: var(--v2-blue);
  }
}
.folders--show.partenaires {
  .app-main {
    background-color: var(--v2-orange);
  }
  .app-footer {
    background-color: var(--v2-orange);
  }
  .app-footer a:hover svg,
  .app-footer a:active svg,
  .app-footer a[data-active] svg {
    color: var(--v2-blue-dark);
  }
}
.folders--show {
  .app-main {
    background-color: var(--v2-pink);
  }

  .folders-list {
    position: relative;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-gap: 2rem 12vw;
  }

  .folder span {
    display: block;
    line-height: 1.3;
  }

  .folder .cover-photo {
    aspect-ratio: 1;
    width: 100%;
    margin-bottom: .5rem;
    border: var(--border-width) solid var(--v2-white);
    border-radius: 8px;
  }
  .folder .placeholder {
    background-color: var(--color-grey-light);
  }
  .folder .name {
    margin-bottom: 2px;
    font-size: 1.125rem;
    font-weight: 600;
    font-family: "TradeGothicNextHeavyItalic", sans-serif;
    color: var(--v2-blue-dark);
  }
  .folder .photos-count {
    font-size: .85rem;
    font-weight: 500;
  }
  .app-footer {
    background-color: var(--v2-pink);
  }
  .app-footer a:hover svg,
  .app-footer a:active svg,
  .app-footer a[data-active] svg {
    color: var(--v2-blue-dark);
  }
}

/* =========================================== */
/* ===== INDEX OF PHOTOS WITHIN A FOLDER ===== */
/* =========================================== */
.photos--index.l-evenement {
  .app-main {
    background-color: var(--v2-blue-dark);
  }
  .app-footer {
    background-color: var(--v2-blue-dark);
  }
  .header-nav {
    color: var(--v2-blue);
  }
  .header-nav a {
    color: var(--v2-blue);
  }
  .header-nav h1 {
    color: var(--v2-blue);
  }
  .app-footer a:hover svg,
  .app-footer a:active svg,
  .app-footer a[data-active] svg {
    color: var(--v2-blue);
  }
}
.photos--index.partenaires {
  .app-main {
    background-color: var(--v2-orange);
  }
  .app-footer {
    background-color: var(--v2-orange);
  }
  .title span {
    font-size: var(--v2-middle-heading-size);
    color: var(--v2-blue-dark);
    padding-bottom: 6px;
  }
  .separator {
    color: var(--v2-blue-dark);
  }
  .partner {
    flex-grow: 1;
  }
  .app-footer a:hover svg,
  .app-footer a:active svg,
  .app-footer a[data-active] svg {
    color: var(--v2-blue-dark);
  }
}
.photos--index {
  .app-main {
    padding-left: 10vw;
    padding-right: 10vw;
    background-color: var(--v2-pink);
  }

  .header-nav {
    color: var(--v2-blue-dark);
  }
  .header-nav a {
    color: var(--v2-blue-dark);
  }
  .header-nav h1 {
    color: var(--v2-blue-dark);
  }

  .photos-list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-gap: 5vw;
    margin: 1rem 0 0;
  }
  .photo {
    border-radius: 8px;
    clip-path: border-box;
    background-color: var(--color-grey-light);
  }
  .app-footer {
    background-color: var(--v2-pink);
  }
  .app-footer a:hover svg,
  .app-footer a:active svg,
  .app-footer a[data-active] svg {
    color: var(--v2-blue-dark);
  }
}

/* ======================= */
/* ===== PHOTO MODAL ===== */
/* ======================= */
.photo-modal {
  max-height: 80vh;
  overflow: auto;
  border: 2px solid var(--v2-white);

  .actions {
    display: flex;
    position: absolute;
    left: 0;
    bottom: 0;
    color: var(--color-grey);
    background-color: var(--v2-white);
    border-top-right-radius: 5px;
  }

  .actions a {
    padding: .75rem;
  }
  .actions a:first-child {
    padding-left: 1.25rem;
  }
  .actions a:last-child {
    padding-right: 1.25rem;
  }
  .actions svg {
    display: inline;
    height: 1.25rem;
  }
}
