/*
  Card component styles
*/
.fr-card__title {
  color: var(--text-action-high-blue-france);
}

.fr-card__desc p {
  font-size: .875rem;
  line-height: 1.5rem;
}

.fr-enlarge-link h3 a:before {
  z-index: 2;
}

.download_externe {
  margin-bottom: 1rem;
}

div.fr-card:not(.fr-card--no-border):not(.fr-card--shadow) {
  background-image: none;
  border: solid 1px var(--border-default-grey);
  padding: 0;
}

/*
  eu_cookie_compliance module style
*/
.eu-cookie-compliance-banner .eu-cookie-compliance-message {
  float: none;
  max-width: 100%;
}

.fr-consent-banner {
  max-height: calc(100% - 5rem);
  max-width: 40rem;
  padding: 2rem;
  position: static;
}

.popup-content.info.eu-cookie-compliance-content {
  margin-bottom: 2.5rem;
  margin-left: 2.5rem;
}

.eu-cookie-compliance-message, .eu-cookie-compliance-buttons {
  max-width: 100%;
}

.fr-consent-service__checkbox {
  align-items: center;
  display: flex;
  flex-direction: row;
  justify-content: flex-end;
  position: absolute;
  right: 10%;
  width: 50%;
  top: calc(50% - 12px);
}

dialog#fr-consent-modal .fr-modal__body .fr-btn.agree-button {
  order: 5;
}

button.gestion_cookies:hover {
  background-color: inherit;
  background-image: var(--underline-img), var(--underline-img);
  background-position: var(--underline-x) 100%, var(--underline-x) calc(100% - var(--underline-thickness));
  background-repeat: no-repeat, no-repeat;
  background-size: var(--underline-hover-width) calc(var(--underline-thickness) * 2), var(--underline-idle-width) var(--underline-thickness);
  transition: background-size 0s;
  --underline-hover-width: var(--underline-max-width);
}

/*
  fim module styles
*/
#user-login-form {
  max-width: 600px;
}
#user-login-form h2 {
  margin-left: 2.5rem;
  margin-top: 2.5rem;
}
#user-login-form p.id_acad {
  margin-bottom: 0;
}
#user-login-form p.or {
  width: 100%;
  padding: 0 2.5rem;
}
#user-login-form > fieldset {
  background-color: var(--background-alt-grey);
}
#user-login-form .fr-fieldset {
  align-items: flex-start;
  flex-direction: column;
  margin: 1rem;
  padding: 1.5rem;
}
#user-login-form .fr-fieldset .fr-fieldset__legend {
  padding-bottom: 0;
  font-size: 1.25rem;
}
#user-login-form a[href] {
  background: none;
}
#user-login-form fieldset#edit-fieldset {
  display: flex !important;
}
#user-login-form fieldset#edit-fieldset .fr-fieldset__content {
  margin: 0;
}
#user-login-form fieldset#edit-fieldset .fr-fieldset__content #edit-submit {
  width: 100%;
  margin-bottom: 1rem;
  justify-content: center;
}

/*
  footer styles
*/
div.fr-footer__content {
  margin-top: auto;
  max-width: none;
  flex-basis: auto;
}
div.fr-footer__content div.fr-footer__content-desc p {
  --underline-img: linear-gradient(0deg, currentColor, currentColor);
  --text-spacing: 0 0 0.5rem 0;
  font-size: .875rem;
  line-height: 1.5rem;
  width: 100%;
}
div.fr-footer__content div.fr-footer__content-desc a.fr-footer__content-link {
  padding: 0;
}
div.fr-footer__content div.fr-footer__content-desc li {
  margin-bottom: .5rem;
  margin-right: 1rem;
  margin-top: .5rem;
}

div.fr-footer__bottom {
  flex-direction: column;
  align-items: baseline;
}

#block-footer-bottom ul:not(.contextual-links) {
  display: flex;
  margin: 0;
  padding: .5rem 0;
  width: 100%;
}
#block-footer-bottom ul:not(.contextual-links) a {
  color: var(--text-mention-grey);
  font-size: .75rem;
  line-height: 1.25rem;
  background-image: var(--underline-img), var(--underline-img);
  background-position: var(--underline-x) 100%, var(--underline-x) calc(100% - var(--underline-thickness));
  background-repeat: no-repeat,no-repeat;
  background-size: var(--underline-hover-width) calc(var(--underline-thickness)*2), var(--underline-idle-width) var(--underline-thickness);
  transition: background-size 0s;
}
#block-footer-bottom ul:not(.contextual-links) a:not(:hover):not(:active) {
  --underline-idle-width: 0;
}
#block-footer-bottom ul:not(.contextual-links) a[href]:hover, #block-footer-bottom ul:not(.contextual-links) a:hover {
  background-color: transparent;
  --underline-hover-width: var(--underline-max-width);
}
#block-footer-bottom li {
  display: inline;
  margin: .5rem 0 0 .75rem;
  position: relative;
  float: none;
}
#block-footer-bottom li:first-child {
  margin: .5rem 0 0;
}
#block-footer-bottom li:first-child a {
  margin-left: 0;
}
#block-footer-bottom li:first-child::before {
  box-shadow: none;
  margin-right: 0;
}
#block-footer-bottom li::before {
  box-shadow: inset 0 0 0 1px var(--border-default-grey);
  content: "";
  display: inline-block;
  height: 1rem;
  margin-bottom: .5rem;
  margin-right: .75rem;
  margin-top: .5rem;
  vertical-align: middle;
  width: 1px;
}
#block-footer-bottom li a, #block-footer-bottom li button {
  display: inline-block;
  padding: 0;
  margin-left: .75rem;
  font-weight: 400;
}

/**
 * Layout styles
 */
#main #block-dsi-local-tasks {
  margin-top: 1rem;
}
#main .messages__wrapper {
  margin: 1rem 0;
}

@media (min-width: 62em) {
  header .fr-header__menu {
    position: relative !important;
  }
}
header .fr-links-group .fr-link:before {
  margin-top: 0.2rem;
}

form#search-block-form {
  margin-top: .625rem;
  display: block;
}
form#search-block-form .fr-input-group {
  width: 100%;
}
form#search-block-form #edit-actions {
  display: none;
}

.colonne_droite div.clearfix.views-row {
  flex: 1;
  max-width: 100%;
  width: 100%;
}

.colonne_gauche div.clearfix.views-row {
  flex: auto;
  max-width: 50%;
  width: 50%;
}

/*
  Menu main navigation styles
*/
nav#menu-main > .fr-nav__list > .fr-nav__item a[href="/"] {
  font-size: 0;
}
nav#menu-main > .fr-nav__list > .fr-nav__item a[href="/"]:after {
  box-sizing: inherit;
  content: "";
  -webkit-mask-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCI+PHBhdGggZD0iTTEyLjY3MyAxLjYxMiAyMyAxMWgtM3Y5YTEgMSAwIDAgMS0xIDFINWExIDEgMCAwIDEtMS0xdi05SDFsMTAuMzI3LTkuMzg4YTEgMSAwIDAgMSAxLjM0NiAwWk0xMyAxM2gtMnY2aDJ2LTZaIi8+PC9zdmc+);
  mask-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCI+PHBhdGggZD0iTTEyLjY3MyAxLjYxMiAyMyAxMWgtM3Y5YTEgMSAwIDAgMS0xIDFINWExIDEgMCAwIDEtMS0xdi05SDFsMTAuMzI3LTkuMzg4YTEgMSAwIDAgMSAxLjM0NiAwWk0xMyAxM2gtMnY2aDJ2LTZaIi8+PC9zdmc+);
  --icon-size: 1.5rem;
  background-color: currentColor;
  display: inline-block;
  flex: 0 0 auto;
  height: 1.5rem;
  height: var(--icon-size);
  -webkit-mask-size: 100% 100%;
  mask-size: 100% 100%;
  vertical-align: calc(.375em - .75rem);
  vertical-align: calc((.75em - var(--icon-size))* .5);
  width: 1.5rem;
  width: var(--icon-size);
}

.fr-mega-menu__list.multicolumn {
  column-count: 2;
}

/*
  table styles
*/
.row table {
  --table-offset: 0;
  --border-contrast-grey: var(--grey-625-425);
  margin-bottom: 2.5rem;
  padding-top: var(--table-offset);
  border-collapse: collapse;
  border-spacing: 0;
  overflow: auto;
  max-width: 100%;
  border: 1px solid var(--border-contrast-grey);
}
.row table tbody {
  --idle: transparent;
  --hover: var(--background-alt-grey-hover);
  --active: var(--background-alt-grey-active);
  background-color: var(--background-alt-grey);
}
.row table tbody tr {
  background-image: linear-gradient(0deg, var(--border-default-grey), var(--border-default-grey));
  background-position: bottom;
  background-repeat: no-repeat;
  background-size: 100% 1px;
}
.row table tbody tr td {
  border: 0;
  display: table-cell;
  font-size: .875rem;
  line-height: 1.5rem;
  padding: .75rem;
  text-align: left;
  vertical-align: middle;
}
.row table tbody tr td a {
  text-decoration: none;
  background-image: none;
}

/*
  taxonomy pages styles
*/
.taxonomy_term .rows {
  display: flex;
  flex-flow: row wrap;
}
.taxonomy_term .rows .views-row {
  padding: .75rem;
}
.taxonomy_term .rows .views-row > div {
  height: 100%;
}

div#app:not(.frontpage) .actus .fr-tags-group {
  display: none;
}

#header-navigation {
  display: flex;
}

.icons_content {
  margin-bottom: 2rem;
}
.icons_content.horizontal {
  font-weight: bold;
}
.icons_content.horizontal a {
  flex-direction: row;
  align-items: center;
  justify-content: space-around;
}
.icons_content.horizontal a::before {
  margin: 0;
}
.icons_content div a {
  display: flex;
  flex-direction: column;
  text-align: center;
  border: solid 1px var(--border-default-grey);
  padding: 0.5rem;
  height: 100%;
  text-decoration: none;
  background-image: none;
}
.icons_content div a::before {
  margin-left: auto;
  margin-right: auto;
}
.icons_content div a[target="_blank"][class^="fr-icon-"]::after {
  display: none;
}
.icons_content div a:hover {
  background-color: var(--hover);
}

.viewsreference--view-title {
  visibility: hidden;
}

img {
  max-width: 100%;
  height: auto;
}

#toolbar-bar {
  z-index: 751 !important;
}

.colonne_droite h2 {
  font-size: 1.5rem;
  line-height: 2rem;
}
