/*
Theme Name:     fhucare2
Theme URI:      http://laurent-angeli/wp-themes/
Description:    Twentytwentyfive child theme.
Author:         Laurent ANGELI
Author URI:     http://laurent-angeli.fr
Template:       twentytwentyfive
Version:        0.1.0
*/

/* Classes utilitaires */
.wp-lightbox-overlay {
  width: calc(100% - 10px) !important;
}

.inlined-left-image img {
  width: 160px;
  float:left;
  padding-top: 0.3rem;
  padding-right: 0.7rem;
}
.inlined-right-image img {
  width: 160px;
  float:right;
  padding-top: 0.3rem;
  padding-left: 0.7rem;
}
.inlined-middle-image img {
  vertical-align:middle;
  padding-right:1rem;
}
.animate {
  opacity: 0;
}
.editor-styles-wrapper .animate {
  opacity: 1;
}
.animate.appears-right.visible {
  animation: slideFromRight 0.8s cubic-bezier(.33,.73,.12,1.11) forwards;
}
.animate.appears-left.visible {
  animation: slideFromLeft 0.8s cubic-bezier(.33,.73,.12,1.11) forwards;
}

@keyframes slideFromRight {
    0% {
      transform: translateX(100%);
      opacity: 0;
    }
    50% {
      opacity: 0.2;
    }
    100% {
      transform: translateX(0);
      opacity:1;
    }
}
@keyframes slideFromLeft {
    0% {
      transform: translateX(-100%);
      opacity: 0;
    }
    100% {
      transform: translateX(0);
      opacity:1;
    }
}


/* Continuous float — decorative elements */
figure.float img {
  animation: float 3s ease-in-out infinite;
}
@keyframes float {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-5px); }
}
/* Continuous heartbeating — decorative elements */
figure.heartbeat img {
  animation: heartbeat 3s ease-in-out infinite;
}
@keyframes heartbeat {
  0%, 100% { transform: scale(100%); }
  50% { transform: scale(98%); }
}
/* Continuous heartbeatingfloating — decorative elements */
figure.heartbeat-float img {
  animation: heartbeatfloat 3s ease-in-out infinite;
}
@keyframes heartbeatfloat {
  0%, 100% { transform: scale(100%) translateY(0); }
  50% { transform: scale(101%) translateY(-2px); }
}


/* Accessibility: always include */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
  }
}


strong { font-weight:600; }
/*strong { font-weight:700; }*/

.overflow-hidden { overflow: hidden; }

.blink { animation: blinker 1.7s cubic-bezier(.5, 0, 1, 1) infinite alternate; }
@keyframes blinker { to { opacity: 0; } }


a:where(:not(.wp-element-button)) {
  color: currentColor;
}
a:where(:not(.wp-element-button)):hover {
    text-decoration: underline;
    text-decoration-color: var(--wp--preset--color--accent-1) !important;
}
.no-decoration:not(:hover) a {
  text-decoration:none;
}
.no-decoration:hover a {
  text-decoration: underline;
}

/* Lien de groupe */
.group-linked {
  position:relative;
}
.group-linked:hover a,
.group-linked:hover p {
  text-decoration:underline;
  text-decoration-color: var(--wp--preset--color--accent-1) !important;
}
.group-linked a.group__link {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 3;
  text-decoration: none !important;
}



figure.img-contain img {
  object-fit: contain !important;
}


figure.td-padding-top-0 td {
  padding-top: 0;
}
figure.td-padding-bottom-0 td {
  padding-bottom: 0;
}

/**********/
/* HEADER */
/**********/
/* LOGO */
.custom-logo { width:288px; }

/* Donate button on Header */
.wp-block-button .wp-block-button__link,
.button-donate .wp-block-button__link {
  transition:.3s;
}

.wp-block-button:hover .wp-block-button__link,
.button-donate:hover .wp-block-button__link {
  background:var(--wp--preset--color--accent-1) !important;
  color:var(--wp--preset--color--base) !important;
}


/* search form on header */
/*.header-search { margin-right: 1rem !important; }*/
.header-search .wp-block-search__button { margin: 0; padding:0; }
.header-search .wp-block-search__inside-wrapper {
  width: 9rem !important;
  padding: 6px 4px 6px 6px;
  flex-direction: row-reverse;
}
.header-search .wp-block-search__input {
  font-size: 15px;
  line-height:1.4;
  border-radius: 25px;
  padding-left: 0.2rem;
  padding-right: 0.2rem;
}
.header-search .search-icon {
  min-height: 20px;
  min-width: 20px;
  height: 20px;
}


/* WPML Flag in header */

.wpml-ls-link br { display:none; }
.wpml-ls-statics-shortcode_actions {
  margin: 0;
  padding: 0;
}
.wpml-ls-statics-shortcode_actions a {
  background-color: transparent !important;
}
.wpml-ls-legacy-list-horizontal a {
  padding: 5px 0;
  margin-left: 10px;
}
/* Banniere WPML site en developpement */
.otgs-development-site-front-end { display:none; }

/* Image links */
.inline-image-align-middle a img { padding: 3px; } /* Youtube link inside home page */
.inline-image-align-middle a img,
.socials a {
  border: 2px solid transparent;
  transition:.3s;
}
.inline-image-align-middle a:hover img,
.socials a:hover {
  border-color: var(--wp--preset--color--accent-1);
}

/* Menu principal */
header nav .wp-block-navigation__responsive-container-content {
  column-gap: 1rem;
  row-gap: 1rem;
}

/* Sous-menu : items sur 1 seule ligne avec max 25 chars */
.wp-block-navigation .has-child .wp-block-navigation-submenu__toggle[aria-expanded="true"] ~ .wp-block-navigation__submenu-container,
.wp-block-navigation .has-child:not(.open-on-click):hover > .wp-block-navigation__submenu-container,
.wp-block-navigation .has-child:not(.open-on-click):not(.open-on-hover-click):focus-within > .wp-block-navigation__submenu-container {
  width: max-content;
  max-width:25rem;
}

/* Décoration des items de menu pour la page courante */
.page-id-2299 .link-publications > a, /* page publications */
.current-menu-item  > a,
.current-menu-ancestor > a {
  font-weight:bold;
}

/* items de sous-menu avec moins d'espace vertical (0.3em au lieu de 0.5em) */
:where(.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item a:not(.wp-element-button)),
:where(.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-submenu a:not(.wp-element-button)),
:where(.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-submenu button.wp-block-navigation-item__content),
:where(.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-pages-list__item button.wp-block-navigation-item__content) {
  padding: 0.3em 1em;
}

/**********/
/* FOOTER */
/**********/
footer { margin-top: 0 !important; }
:lang(fr-FR) footer .wp-block-group.actions { flex-basis: 520px; }

/*************/
/* Home Page */
/*************/
p.yellow-arrow-link a,
a.yellow-arrow-link {
  text-decoration:none;
  transition:.3s;

}

a.yellow-arrow-link img {
  vertical-align: middle;
}

p.yellow-arrow-link:hover a img,
a.yellow-arrow-link:hover img {
    padding-left: 3px;
}

@media all and (min-width: 1250px) {

  .blue-cell-section .wp-block-column { position:relative; }
  .blue-cell-section figure.wp-block-image {
    position: absolute;
    right: -170px;
    width: 610px;
    top: -50px;
  }
}


p.inline-image-align-middle img {
vertical-align: middle;
}
  #target-section .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column {
    word-break:normal !important;
  }

.searchers-section .wp-block-media-text__content {
  padding: 0 8% 0 0;
}
/* En français, le texte de Xavier prend plus de place, donc on réduit le padding du lien Youtube de Samuel */
:lang(fr-FR) #chercheurs-section .bitoun-yt-link {
  padding-top: 25px !important;
}

/***********************/
/* page What is an FHU */
/***********************/
.page-id-5034 #allfhus + div > .wp-block-group.is-nowrap p {
  text-wrap: nowrap;
}

.fc-otherfhu-inner {
  border: 1px solid var(--wp--preset--color--accent-4);
  padding: 0 1rem 1rem 1rem;
  align-items:flex-start !important;
}
.wp-block-group-is-layout-grid > .fc-otherfhu-inner > figure {
  display:grid;
  align-content:center;
  min-height:150px;
  max-height:150px;
  padding:1rem;
}
.fc-otherfhu-inner h2 {
  padding-top:0;
  font-size: var(--wp--preset--font-size--large);
}
.fc-otherfhu-inner > p {
  min-height:2rem;
}
.fc-otherfhu-inner .fc-otherfhu-leader,
.fc-otherfhu-inner .fc-otherfhu-manager {
  align-items:start !important;
}
.fc-otherfhu-inner .fc-otherfhu-leader {
  padding-top:1rem;
  font-weight: 600;
}
.fc-otherfhu-inner > .wp-block-group figure {
  flex-basis:18px !important;
  margin: 0 !important;
}
.fc-otherfhu-inner > .wp-block-group img,
.fc-otherfhu-manager img,
.fc-otherfhu-leader img {
  max-width:20px;
  vertical-align:top;
}
.fc-otherfhu-manager img {
  opacity:0.7;
}


/***************/
/* Home : News */
/***************/
.editor-styles-wrapper .latest-news ul {
  display:grid;
  grid-template-columns: repeat(auto-fit,minmax(250px,1fr));
  grid-row-gap:10px;
}
.editor-styles-wrapper .latest-news li.wp-block-post {
  grid-row: span 3;
}

.latest-news li.wp-block-post {
  display:grid;
  grid-template-rows:subgrid;
  /*grid-row: span 3;*/
  border: 1px solid var(--wp--preset--color--accent-3);
  padding: 10px 20px;
  align-content:space-between;
}

.latest-news figure img {
  /*width: 100%;*/
  height: 100%;
  object-fit: contain !important;
  max-height:170px;
}

/*********************************/
/* Publications : Archive + Home */
/*********************************/
.post-type-archive-publication .wp-block-accordion  {
  margin-bottom: 0.5rem;
}
.wp-block-accordion-heading__toggle {
  padding-bottom: 0;
  font-size: 22px;
}
.post-type-archive-publication .wp-block-accordion-panel  {
  /*border:1px solid var(--wp--preset--color--accent-3);*/
  border:1px solid transparent;
  padding: 0 1rem;
}
.post-type-archive-publication .publication {
  margin-top:0.5rem;
  padding-bottom: 0.5rem;
}
body:not(.home) .post-type-archive-publication .publication {
  border-bottom: 2px solid var(--wp--preset--color--accent-1);
}
body:not(.home) .post-type-archive-publication .publication:last-child {
  border: none;
}
body:not(.home) .post-type-archive-publication .publication .wp-block-heading {
  font-weight:600;
}

body:not(.home) .post-type-archive-publication .publication .wp-block-heading {
  font-size: 18px; /* was 16px; */
}
body:not(.home) .post-type-archive-publication .publication p {
  font-size: 14px !important; /* was 14px */
}

.post-type-archive-publication .publication .wp-block-heading,
.post-type-archive-publication .publication p {
  margin: 0;
  padding: 0;
}
.nb-publications { font-size:70%; }
h1 .nb-publications { font-size:50%; }

/*********/
/* PAGES */
/*********/
.entry-content h2:first-child { margin-top: 0; padding-top: 0; }

/**********************/
/* Expert and Network */
/**********************/
.experts-grid {
  justify-content: center;
}
.experts-grid  div:target {
  scroll-margin-top:3rem;
    border:3px solid var(--wp--preset--color--accent-4) !important;
}

.fhu-expert {
  position:relative;
  padding-top: var(--wp--preset--spacing--20);
  padding-left: var(--wp--preset--spacing--20);
  padding-bottom: 3rem !important;
  padding-right: var(--wp--preset--spacing--20);
  flex-basis: 210px !important;
}
.expert-team { font-size: 17px !important; }
.partner-etabl { font-size: 15px !important; }
.fhu-expert-links {
  position:absolute;
  bottom: var(--wp--preset--spacing--20);
  right: var(--wp--preset--spacing--20);
}
.fhu-expert-links a.dashicons-before {text-decoration:none;}
.fhu-expert-links a.dashicons-before span {display:none;}

/* Partners */
.wp-block-gallery.has-nested-images figure.wp-block-image {
  flex-grow:0;
}
.wp-block-gallery.has-nested-images.is-cropped figure.wp-block-image:not(#individual-image) a,
.wp-block-gallery.has-nested-images.is-cropped figure.wp-block-image:not(#individual-image) img {
  padding: 0.3rem;
}
.wp-block-gallery.has-nested-images figure.wp-block-image.has-custom-border figcaption,
.wp-block-gallery.has-nested-images figure.wp-block-image.is-style-rounded figcaption {
  padding: 8px 0;
  font-weight:600;
}

/***********************/
/* Page News and Event */
/***********************/
ul li .has-border-color {
  height:100%;
  position:relative;
}
.post-type-archive-callforproposal ul.is-layout-grid li .has-border-color,
.news-events-grid ul li .has-border-color {
  height:100%;
  position:relative;
  display:flex;
  flex-direction:column;
  padding-bottom: var(--wp--preset--spacing--20) !important;
}
.news-events-grid ul li .has-border-color:hover {
  border-color:var(--wp--preset--color--accent-1) !important;
}

.hvr-grow {
  transition: 0.3s ease-in-out;
}
.hvr-grow:hover, .hvr-grow:focus, .hvr-grow:active {
  -webkit-transform: scale(1.05);
  transform: scale(1.05);
}

.post-type-archive-callforproposal ul.is-layout-grid li .has-border-color .event-infos,
.news-events-grid ul li .has-border-color .event-infos {
  width: 100%;
}
.post-type-archive-callforproposal ul.is-layout-grid li .has-border-color h2,
.news-events-grid ul li .has-border-color h2 {
  flex-grow:1;
}

ul li .has-border-color .event-infos p + p {
  max-width: 13rem;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.event-infos .wp-block-post-excerpt__excerpt {
  line-height:1.2rem;
  /*max-height:3.6rem;*/
  max-width: 16rem;
  overflow: hidden;
  text-overflow: ellipsis;
  flex-grow: 1;
}
.event-infos { min-height: 4.9rem; }

header .wp-block-buttons { flex-grow:0; }

/**************************/
/* Resultats de recherche */
/**************************/
li .search-result-elem {
  border-bottom: 1px solid var(--wp--preset--color--accent-1);
  margin-bottom: 1.5rem;
}
li:last-child .search-result-elem {
  border:none;
  margin-bottom: 0;
}


/**********/
/* BLOCKS */
/**********/
.wp-block-accordion.programme {

  & .wp-block-table.is-style-programme tr:first-child {
    font-weight:600;
  }
  & .wp-block-table.is-style-programme tr:first-child td:first-child {
    border:none;
  }
  & .wp-block-table tr td:nth-child(1){
    width: 40rem;
  }
  & .wp-block-table tr td:nth-child(3){
    width:5rem;
  }
  & .wp-block-table tr td:nth-child(4) {
    width:8rem;
  }
}

/***************/
/* Menu MOBILE */
/***************/

.wp-block-navigation__responsive-container.is-menu-open {
  color: var(--wp-preset--color--base) !important;
  background-color: var(--wp--preset--color--contrast) !important;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
  padding-top: 24px;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .main-menu {
  border-left: 2px solid var(--wp--preset--color--accent-1);
  padding-left: 1rem;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation .wp-block-navigation-submenu .wp-block-navigation-item:not(:last-child) {
  margin-bottom: 0 !important;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .main-menu > li {
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__submenu-container {
  padding-top: 0;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__container, .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__submenu-container{
  gap:0.2rem !important;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation .has-child .wp-block-navigation__submenu-container > .wp-block-navigation-item > .wp-block-navigation-item__content {
  padding: 0.35em 1em;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation ul,
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation ul li {
  list-style: circle !important;
}
 :where(.wp-site-blocks .wp-block-navigation__responsive-container.is-menu-open :focus) {
  outline-style: none;
  outline-width: 0;
}




/**************/
/* RESPONSIVE */
/**************/

/* Desktop */
@media all and (max-width: 1250px) {
}
@media all and (max-width: 1220px) {
  .latest-news .is-layout-grid {
    grid-column-gap: 10px;
  }
}
@media all and (max-width: 1130px) {
  footer #main .menu {
    width:100%;
    justify-content: center;
  }
  footer .menu .wp-block-group:nth-child(2) {
    margin-left: 30px;
    flex-basis:160px;
  }

}
@media all and (max-width: 1098px) {
  /* Accueil - section chercheurs */
  .wp-container-core-columns-is-layout-9f25c019 {
    gap: 1em 6%;
  }
  /* Footer Part 1*/
  .wp-container-core-group-is-layout-42cde3c4 {
    justify-content: center;
  }
}

@media all and (max-width: 990px) {
  /* Menu principal */
  header nav .wp-block-navigation__responsive-dialog {
    max-width: 550px;
    margin:0 auto;
  }
  .menu-container .menu-rangee .main-menu { justify-content: center; }
  .menu-container .menu-rangee .main-menu .wp-block-navigation__responsive-container-open { width:100%; padding: 0; }
}

/* Tablet */
@media all and (max-width: 950px) {
  .blue-cell-section .wp-block-column:has(figure){
    flex-basis:50% !important;
  }
  .wp-container-core-post-template-is-layout-e7fd85f5, /* appels d'offres */
  .wp-container-core-post-template-is-layout-0eac9162 { /* news & events */
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}


@media all and (max-width: 815px) {

  /* Sumer School */
  .summer-school-speakers {
    padding:0 10px !important;
  }
  .summer-school-speakers .wp-block-media-text {
    grid-template-columns: clamp(7.5rem, 5.268rem + 5.952vw, 10.625rem) auto !important;
  }
  .summer-school-speakers .wp-block-media-text:not(:first-child) {
    border-top: 1px solid var(--wp--preset--color--accent-1);
    margin-top:0.5rem !important;
    padding-top: 0.5rem !important;
  }
  footer .actions {
    padding: 0 !important;
    justify-content:center;
    gap: 47px;
  }
  footer .actions .wp-block-buttons {
    flex-grow:0;
  }
  footer .actions .socials {
    flex-basis:228px;
    gap:47px;
  }
}


/* MOBILE */
@media all and (max-width: 790px) {
  h2 {
    font-size: clamp(1.5rem, 1.5rem + ((1vw - 0.2rem) * 0.455), 1.75rem);
  }
  .has-global-padding > .alignfull {
    margin-right: -25px !important;
    margin-left: -25px !important;
  }
  .has-global-padding > .wp-block-buttons.alignfull {
    margin-left: 0 !important;
    margin-right:0 !important;
  }
  header .wp-block-site-logo,
  header .wp-block-site-logo + .wp-block-group {
    width:100%;
    text-align:center;
    margin-bottom: 0.3rem !important;
    justify-content:  center;
  }
  header .wp-block-site-logo img {
    max-width:250px;
  }

  /* page d'accueil */
  #target-section .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column {
    flex-basis: 45% !important;
  }
  #chercheurs-section,
  .home  .searchers-section {
    margin-left: -20px; margin-right:-20px;
  }
  #chercheurs-section figure { text-align:center; }
  #chercheurs-section > .wp-block-columns .wp-block-column:nth-child(3) .wp-block-group {
    padding-bottom:10px !important;
  }

  .post-type-archive-publication {
    grid-template-columns:repeat(1,1fr) !important;
  }
  .home .post-type-archive-publication {
      padding-left: 0.6rem; padding-right:0.6rem;
  }

  .wp-container-core-post-template-is-layout-e7fd85f5, /* appels d'offres */
  .wp-container-core-post-template-is-layout-0eac9162 { /* news & events */
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .wp-container-core-group-is-layout-0700876c { /* Work packages 2020-2024 */
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }

  /* task */
  .wp-block-columns > .wp-block-column:first-child > p.has-large-font-size {
    margin-bottom: calc( -1 * var(--wp--preset--spacing--40)) !important;
  }

}

@media all and (max-width: 540px) {
  .wp-container-core-group-is-layout-df81c40a {
    flex-wrap: wrap;
    justify-content: center;
  }
  .wp-block-accordion.programme {
    & .wp-block-table tr td {
      font-size: 80%;
      padding:0.3rem;
    }
  }

  footer .actions { padding: 0 !important; }
}

@media all and (max-width: 450px) {
  .fhu-expert {
    padding-top: 5px;
    padding-left: 5px;
    padding-bottom: 3rem !important;
    padding-right: 5px;
    flex-basis: calc(50% - 10px) !important;
  }
  .expert-team {
    font-size: clamp(15px, 15px + ((1vw - 0.2rem) * 0.227), 17px) !important;
  }
  .partner-etabl {
    font-size: 14px !important;
  }
  .wp-block-table td { font-size:98%; }
}

@media all and (max-width: 430px) {
  footer .actions {
    row-gap: 25px;
  }
  footer .menu .wp-block-group:nth-child(2) {
    margin-left: 0;
  }


}


/**************************************/
/* Change breaking point of Wordpress */
/**************************************/

body .wp-block-navigation__responsive-container-open:not(.always-shown) {
  display: block !important;
}
body .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
  display: none !important;
}

@media (min-width: 700px) {
  body .wp-block-navigation__responsive-container-open:not(.always-shown) {
    display: none !important;
  }
  body .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
    display: block !important;
  }
}
.wp-block-navigation__responsive-container-open svg {
  display: inline-block;
  vertical-align: bottom;
}
.wp-block-navigation__responsive-container-open::after {
  content:"MENU";
  line-height:1.5;
}

