p#esp-internal-message
  { padding: 4em 0; text-align: center; font-style: italic; font-weight: 700; opacity: .5; }
p#esp-internal-message.esp-internal-message-error
  { color: red; }
p#esp-internal-message.esp-internal-message-warning
  { color: orange; }

div#page-column
  { max-width: 900px; margin: 3em auto; }
div.style-column
  { margin-top: 3em; margin-bottom: 3em; }
div#banner-container + div.style-column
  { margin-top: 0; }
@media (max-width: 480px) {
  div#page-column,
  div.style-column
    { margin-top: 1em; margin-bottom: 1em; }
}

/* field_text */
div.formatted-text p
  { font-size: .9em; line-height: 1.4em; color: #333; font-weight: 400; margin: 0 0 1.25em 0; }
div.formatted-text ul,
div.formatted-text ol
  { font-size: .9em; color: #333; padding-left: 1.75em; margin: 0 0 1.25em 0; }
div.formatted-text i
  { font-style: italic; font-weight: 300; }
div.formatted-text b, div.formatted-text strong
  { font-weight: 700; }
div.formatted-text a
  { color: #232830; }
div.formatted-text a:hover
  { opacity: .5;
  transition: all 0.1s linear; -o-transition: all 0.1s linear; -moz-transition: all 0.1s linear;
  -khtml-transition: all 0.1s linear; -webkit-transition: all 0.1s linear; -ms-transition: all 0.1s linear; }
div.formatted-text blockquote
  { background-color: #ececec; margin: 0 2em 2em 2em; padding: 2em; border-radius: .5em; }
div.formatted-text blockquote p
  { position: relative; font-size: 1.2em; font-style: italic; margin: 0; padding-left: 3em; }
div.formatted-text blockquote p::before
  { position: absolute; top: .05em; left: 0; content: "“"; font-size: 3.6em; font-family: sans-serif; color: var(--color-extra); font-weight: 900; }
@media (max-width: 780px) {
  div.formatted-text blockquote
    { margin-left: 0; margin-right: 0; }
  div.formatted-text blockquote p
    { padding-left: 0em; font-size: 1em; }
  div.formatted-text blockquote p::before
    { display: none; }
}

/* display participant */
div.participant-container
  { display: flex; font-size: 1em; width: 100%; height: 1.5em; line-height: 1.5em; justify-content: flex-start; }

div.participant-container span.participant-circle
  { display: flex; align-items: center; justify-content: center; font-size: .75em; width: 2em; height: 2em; border-radius: 50%;
  color: #fff; font-weight: bold; text-transform: uppercase; }

div.participant-container span.participant-logo
  { display: inline-flex; align-items: center; justify-content: center; width: 1.5em; height: 1.5em; }
div.participant-container span.participant-logo img
  { position: relative; width: 100%; height: 100%; border-radius: .3em; }

div.participant-container span.participant-text
  { display: inline-flex; align-items: center; justify-content: flex-start; text-align: left; width: calc(100% - 1.83em); margin-left: .33em; }
div.participant-container span.participant-text.participant-text-opposite
  { margin-right: .33em; margin-left: 0; justify-content: flex-end; text-align: right; }
div.participant-container span.participant-text span
  { display: inline-block; vertical-align: middle; font-size: .75em; max-width: 100%; height: auto; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

div.participant-container a.participant-link
  { display: flex; width: 100%; height: 1.5em; line-height: 1.5em; text-decoration: none; }
div.participant-container a.participant-link:hover span.participant-text span
  { opacity: .5; transition: all 0.1s linear; -o-transition: all 0.1s linear; -moz-transition: all 0.1s linear; -khtml-transition: all 0.1s linear; -webkit-transition: all 0.1s linear; -ms-transition: all 0.1s linear; }

/* page block banner */
div.page-block-banner
  { display: block; position: relative; width: 100%; border-radius: .3em; box-shadow: 0px 5px 9px rgba(0, 0, 0, 0.38);
  background-position: center center; background-size: cover; text-decoration: none; overflow: hidden; margin-bottom: 2em; }
div.page-block-banner::before
  { display: block; position: absolute; content: " "; bottom: 0; left: 0; width: 100%; height: 100%; z-index: 1;
  background: linear-gradient(0deg, rgba(4, 17, 29, 0.9) 22.5%, rgba(4, 17, 29, 0.75) 42.75%, rgba(4, 17, 29, 0.5) 60%, rgba(4, 17, 29, 0.25) 75%, rgba(0, 0, 0, 0) 90%); }
div.page-block-banner div.page-block-banner-content
  { position: relative; padding: 1em; z-index: 3; }

/* field_banner */
div#banner-container
  { margin: -1.5em -1.5em 0 -1.5em; width: calc(100% + 3em); border-radius: .3em .3em 0 0; }
div#banner-container div#banner-content
  { margin-bottom: 1.5em; }
div#banner-container div#banner-content div#banner-file
  { border-bottom-width: .4em; border-bottom-style: solid; border-color: var(--color-extra); }
div#banner-container div#banner-content div#banner-file img
  { display: block; width: 100%; height: auto; }
div#banner-container div#banner-content div#banner-legend
  { font-style: italic; color: #bdbdbd; font-size: .8em; margin-top: .5em; margin-right: 2.5em; text-align: right; }
@media (max-width: 480px) {
  div#banner-container
    { display: none; }
}

/* news tags */
div#tags-list
  { display: block; margin-bottom: 1em; }
div#node-article div#node-article-infos div#node-article-infos-tags
  { text-align: right; }
div#tags-list a,
div#node-article div#node-article-infos div#node-article-infos-tags a
  { display: inline-block; vertical-align: middle; font-size: .7em; font-weight: bold; line-height: .8em;
  padding: .5em 1em; border-radius: 2em; border: 2px solid #4f4f4f; color: #4f4f4f; text-decoration: none; margin-right: .5em; }
div#tags-list a.back
  { padding: .5em !important; }
div#tags-list a.current,
div#tags-list a:hover,
div#node-article div#node-article-infos div#node-article-infos-tags a:hover
  { color: var(--color-main); border-color: var(--color-main); }
@media (max-width: 767px) {
  div#node-article div#node-article-infos div#node-article-infos-tags
    { text-align: left; }
}

/* article infos */
div#node-article div#node-article-infos
  { max-width: 900px; margin-right: auto; margin-bottom: 2em; margin-left: auto; }
div#node-article div#node-article-infos div#node-article-infos-date
  { font-size: .8em; color: #4f4f4f; font-weight: 700; }
div#node-article div#node-article-infos div#node-article-infos-author
  { font-size: .8em; color: #4f4f4f; font-style: italic; color: var(--color-main); }
div#node-article div#node-article-infos div#node-article-infos-author span
  { font-weight: 700; color: var(--color-main); }

/* field_header */
div#content-header
  { max-width: 900px; margin: 0 auto 2em auto; }
div#content-header div#content-header-container
  { font-size: .9em; font-weight: 700; line-height: 1.3em; color: var(--color-main); }
div#content-header div#content-header-container::after
  { display: block; content: " "; width: 70px; height: 6px; border-radius: 3px; margin-top: 1em; background-color: var(--color-extra); }

/* field_image */
div.image-container
  { margin: 0 0 1em 0; text-align: center; }
div.image-container div.image-content
  { display: inline-block; width: auto; margin-bottom: 0; }
div.image-container div.image-content div.image-file
  { display: block; width: auto; }
div.image-container div.image-content div.image-file img
  { display: block; max-width: 100%; height: auto; border-radius: .25em; }
div.image-container div.image-content div.image-legend
  { display: block; font-style: italic; color: #bdbdbd; font-size: .8em; margin-top: .5em; text-align: right; }

/* card */
a.esp-card
  { display: block; position: relative; width: 100%; height: 360px; border-radius: .3em; box-shadow: 0px 5px 9px rgba(0, 0, 0, 0.38);
  background-position: center center; background-size: cover; text-decoration: none; overflow: hidden; }
@media (min-width: 992px) {
  div.col-md-6.col-lg-3 a.esp-card
    { height: 460px; }
}
a.esp-card::before
  { display: block; position: absolute; content: " "; bottom: 0; left: 0; width: 100%; height: 320px;
  background: linear-gradient(0deg, rgba(4, 17, 29, 0.9) 22.5%, rgba(4, 17, 29, 0.6) 42.75%, rgba(4, 17, 29, 0.3) 60%, rgba(4, 17, 29, 0.1) 75%, rgba(0, 0, 0, 0) 90%); }
a.esp-card div.esp-card-labels
  { position: absolute; right: .75em; top: .75em; }
a.esp-card div.esp-card-labels div.esp-card-label
  { display: block; float: right; clear: right; width: auto; padding: .35em .55em; border-radius: .25em; line-height: 0; }
a.esp-card div.esp-card-labels div.esp-card-label + div.esp-card-label
  { margin-top: .5em; }
a.esp-card div.esp-card-labels div.esp-card-label img
  { display: inline-block; vertical-align: middle; filter: invert(1); height: .8em; width: auto; margin-right: .25em; }
a.esp-card div.esp-card-labels div.esp-card-label span
  { display: inline-block; vertical-align: middle; font-size: .6em; color: #fff; text-transform: uppercase; font-weight: 700; letter-spacing: .025em; line-height: 1em; }
a.esp-card div.esp-card-texts
  { position: absolute; bottom: 0; width: 100%; padding: 0 1.2em 1.2em 1.2em; }
a.esp-card div.esp-card-texts div.esp-card-text-date
  { color: rgba(255, 255, 255, .6); font-size: .6em; line-height: 1.2em; }
a.esp-card div.esp-card-texts div.esp-card-text-date b
  { color: #fff; }
a.esp-card div.esp-card-texts div.esp-card-text-title
  { color: #fff; font-size: 1.3em; font-weight: 700; line-height: 1em; margin: .25em 0; }
a.esp-card div.esp-card-texts div.esp-card-text-subtitle
  { color: rgba(255, 255, 255, .8); font-size: .65em; font-weight: normal; line-height: 1.2em; margin: .25em 0; }
a.esp-card div.esp-card-texts div.esp-card-text-subtitle img
  { display: inline-block; vertical-align: middle; filter: brightness(0) invert(1); margin-right: .5em; }
a.esp-card div.esp-card-texts div.esp-card-text-subtitle b
  { color: #fff;  }
a.esp-card div.esp-card-texts div.esp-card-separator
  { width: 80px; height: 4px; border-radius: 2px; margin: .5em 0; }
a.esp-card div.esp-card-texts div.esp-card-text-description
  { display: none; color: #fff; font-size: .7em; line-height: 1.2em; }
