.session__speaker, .session__speaker p, .session__tag, .session__floating-tag, .session--action-btn {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
  word-wrap: normal;
}

.session__content {
  flex: 1 1 auto;
}

.session__annotations {
  display: flex;
  flex-flow: column nowrap;
  align-items: flex-start;
  justify-content: flex-end;
}

.session.is-expanded .session__description {
  display: flex;
  flex-flow: row nowrap;
  align-items: flex-start;
  justify-content: flex-start;
}

.band__image, .band__footer {
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
  justify-content: center;
}

.session__header {
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
  justify-content: space-between;
}

.session__upper, .view.view-evenements .view-control {
  display: flex;
  flex-flow: row wrap;
  align-items: center;
  justify-content: space-between;
}

.session__lower {
  display: flex;
  flex-flow: row wrap;
  align-items: flex-start;
  justify-content: space-between;
}

.band, .view .fc .fc-view-harness {
  box-shadow: 0 1rem 1.2rem -0.5rem rgba(125, 130, 135, 0.1);
}

.band:hover, .band:active, .band:focus, .band.focused, .band.is-active, .session:not(.session--canceled):hover, .session:not(.session--canceled):active, .session:not(.session--canceled):focus, .session.focused:not(.session--canceled), .session.is-active:not(.session--canceled) {
  box-shadow: 0 2rem 2.5rem -0.5rem rgba(125, 130, 135, 0.3);
}

.view.view-evenements .view-header {
  border-radius: 0 0 6px 6px;
}

.cci-custom-link-show-document, .cci-custom-external-link, .event-link {
  display: inline;
  position: relative;
  margin-left: 4rem;
  transition: all .25s ease-in-out;
  background: linear-gradient(#383ff5, #383ff5) no-repeat 0 100%/0 0.2rem;
  color: #383ff5;
  text-decoration: none;
  padding-top: 2px;
}

.cci-custom-link-show-document:hover, .cci-custom-external-link:hover, .event-link:hover, .cci-custom-link-show-document:active, .cci-custom-external-link:active, .event-link:active, .cci-custom-link-show-document:focus, .cci-custom-external-link:focus, .event-link:focus, .focused.cci-custom-link-show-document, .focused.cci-custom-external-link, .focused.event-link, .is-active.cci-custom-link-show-document, .is-active.cci-custom-external-link, .is-active.event-link {
  background-size: 100% .2rem;
}

.cci-custom-link-show-document::before, .cci-custom-external-link::before, .event-link::before {
  display: block;
  position: absolute;
  top: 0;
  left: -3.2rem;
  width: 2.3rem;
  height: 2.5rem;
  transition: all .15s ease-in-out;
  background: transparent no-repeat center / contain;
  content: '';
}

.file {
  display: flex;
  align-items: center;
  margin-bottom: 1.5rem;
}

.file:hover .file__download, .file:active .file__download, .file:focus .file__download, .file.focused .file__download, .file.is-active .file__download {
  border-color: #383ff5;
}

.file:hover .file__info, .file:active .file__info, .file:focus .file__info, .file.focused .file__info, .file.is-active .file__info {
  color: #383ff5;
}

.file .file__download {
  display: inline-block;
  flex: 1 1 6rem;
  width: 2.7rem;
  height: auto;
  margin-right: 1.5rem;
  padding: 1.6rem;
  transition: all .5s ease-in-out;
  border: 1px solid #d0d1dc;
  border-radius: 3px;
  background-color: #f8f8fc;
}

.file__info {
  transition: all .25s ease-in-out;
  color: #6e7187;
  font-size: 1.5rem;
  line-height: 1.9rem;
  width: 80%;
}

.file__size {
  font-size: 1.2rem;
}

.cci-custom-link-show-document::before {
  background-image: url("../assets/img/show_document.svg");
}

.cci-custom-external-link::before {
  background-image: url("../assets/img/external_link.svg");
}

p a:not([class]), .news__cap a {
  background-color: inherit;
  color: #383ff5;
  text-decoration: underline;
}

p a:not([class]):hover, p a:not([class]):active, p a:not([class]):focus, p a:not([class]).focused, p a:not([class]).is-active, .news__cap a:hover, .news__cap a:active, .news__cap a:focus, .news__cap a.focused, .news__cap a.is-active {
  background-color: #383ff5;
  color: white;
  text-decoration: none;
}

.band {
  position: relative;
  display: grid;
  grid-template-columns: repeat(5, 17%);
  grid-gap: 4rem;
  align-items: center;
  min-height: 18.5rem;
  padding: 1.5rem 0 1.5rem 4rem;
  transition: all .25s ease-in-out;
  border-radius: 3px;
  background-color: white;
}

.band:hover .band__payment, .band:active .band__payment, .band:focus .band__payment, .band.focused .band__payment, .band.is-active .band__payment {
  opacity: 0;
}

.band:hover .btn, .band:active .btn, .band:focus .btn, .band.focused .btn, .band.is-active .btn {
  opacity: 1;
}

.band__date {
  min-width: 18rem;
  font-size: 2.2rem;
}

.band__date b {
  font-weight: 700;
}

.band__image {
  border-radius: 3px;
  min-height: 15.5rem;
}

.band__image--blue {
  background-color: #383ff5;
}

.band__image .lazy {
  border-radius: 3px;
}

.band__title {
  font-size: 2.2rem;
  line-height: 2.6rem;
}

.band__info {
  font-size: 1.6rem;
  opacity: .5;
}

.band__body {
  font-size: 1.5rem;
  line-height: 2.4rem;
}

.band__footer {
  position: relative;
  height: 100%;
  border-left: 1px solid rgba(110, 113, 135, 0.2);
}

.band__payment {
  color: #383ff5;
  font-size: 1.5rem;
  font-weight: 500;
  text-align: center;
}

.band .btn {
  position: absolute;
  width: 85%;
  opacity: 0;
}

@media only screen and (max-width: 1024px) {
  .band {
    grid-template-columns: repeat(2, 35%);
    grid-gap: 2rem 4rem;
  }
  .band__image {
    justify-content: flex-start;
  }
  .band__image--blue {
    justify-content: center;
  }
  .band__info {
    grid-column: 1;
    grid-row: 2;
  }
  .band__body {
    grid-column: 2;
    grid-row: 2;
  }
  .band__footer {
    grid-column: 3;
    grid-row: 1 / 3;
  }
}

@media only screen and (max-width: 980px) {
  .band {
    grid-gap: 2rem;
  }
  .band__body {
    display: none;
  }
  .band__content {
    grid-column: 1 / 3;
  }
}

@media only screen and (max-width: 768px) {
  .band {
    grid-template-columns: repeat(2, calc(50% - 1rem));
    padding: 2rem 4rem;
  }
  .band__footer {
    grid-column: 1 / 3;
    grid-row: 3;
    width: 100%;
    padding: 4rem 0 2rem;
    border: 0;
    border-top: 1px solid rgba(110, 113, 135, 0.2);
  }
}

@media only screen and (max-width: 425px) {
  .band {
    padding: 1.5rem 1.2rem 2rem;
    grid-template-columns: 60%;
    grid-gap: 1rem;
  }
  .band__title, .band__date {
    width: 100%;
    font-size: 2rem;
  }
  .band__image--blue {
    min-height: 10.8rem;
  }
  .band__info {
    font-size: 1.4rem;
  }
  .band__content {
    width: 100%;
    text-align: center;
    overflow: auto;
  }
  .band__footer {
    padding: 2rem 0 0rem;
  }
}

.view #calendar {
  margin-bottom: 3rem;
}

.view .fc-view {
  border-radius: 3px;
  border-color: #d0d1dc;
  background: white;
}

.view .tabs a.fc-day-grid-event {
  display: grid;
}

.view .fc-timeGrid-view .fc-day-grid {
  box-shadow: 0 0.3rem 2rem -0.4rem;
}

.view .fc-divider {
  display: none;
}

.view .fc .fc-daygrid-day.fc-day-today {
  background: rgba(56, 63, 245, 0.1);
}

.view .fc .fc-daygrid-dot-event .fc-event-title {
  display: block;
  white-space: normal;
}

.view .fc .fc-daygrid-event .fc-event-title, .view .fc .fc-timegrid-event .fc-event-title {
  font-size: 1.2rem;
}

.view .fc .fc-daygrid-event .fc-event-time, .view .fc .fc-timegrid-event .fc-event-time {
  font-size: 1.2rem;
}

.view .fc .fc-toolbar-title {
  font-size: 2.8rem;
  font-weight: 700;
  line-height: 4rem;
}

.view .fc .fc-button-group {
  min-width: 9.8rem;
  border-radius: 3px;
  background-color: white;
}

.view .fc .fc-icon {
  color: #383ff5;
  font-size: 2.5rem;
}

.view .fc .fc-button-primary {
  height: 4rem;
  padding: 1rem 1.5rem;
  border: 0;
  background: white;
  color: #7d8287;
  font-family: "Fira Sans", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif;
  font-size: 1.6rem;
}

.view .fc .fc-button-primary:hover {
  background: #383ff5;
  color: white;
}

.view .fc .fc-button-primary:hover .fc-icon {
  color: white;
}

.view .fc .fc-button-primary:not(:disabled):active, .view .fc .fc-button-primary:not(:disabled).fc-button-active {
  background: #383ff5;
  color: white;
}

.view .fc .fc-button-primary:disabled, .view .fc .fc-button-primary:disabled:hover {
  background: white;
  color: #383ff5;
  opacity: .5;
}

.view .fc .fc-view-harness {
  border-radius: 3px;
}

.view .fc .fc-daygrid-day-frame {
  min-height: 12rem;
}

.view .fc .fc-col-header {
  color: #7d8287;
  font-family: "Fira Sans", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif;
  font-size: 1.6rem;
  line-height: 5.2rem;
}

.view .fc .fc-daygrid-event {
  border-radius: 3px;
  background-color: #383ff5;
  color: white;
  font-size: 1.2rem;
}

.view .fc .fc-day-past .fc-daygrid-event {
  background-color: grey;
  cursor: default;
}

@media only screen and (max-width: 768px) {
  .fc .fc-toolbar.fc-header-toolbar {
    display: block;
    text-align: center;
  }
}

@media only screen and (max-width: 425px) {
  .view .fc-view-harness {
    overflow-x: auto;
  }
  .view .fc-dayGridMonth-view,
  .view .fc-timeGridWeek-view {
    min-width: 700px;
  }
  .view .fc .fc-col-header-cell-cushion {
    line-height: 1.4;
  }
  .view .fc .fc-toolbar-chunk:not(:first-child):not(:last-child) {
    margin: 1.5rem 0;
  }
  .view .fc .fc-daygrid-event {
    overflow: hidden;
    height: 2px;
    transition: all .1s;
  }
  .view .fc .fc-daygrid-event:hover {
    height: auto;
  }
  .view .fc .fc-daygrid-event .fc-event-title {
    font-size: 10px;
  }
  .view #calendar {
    margin: 0 auto 3rem auto;
    font-size: 10px;
  }
  .view #calendar:not([aria-hidden="true"]) {
    display: block;
  }
  .view .fc-header-title h2 {
    font-size: .9em;
    white-space: normal !important;
  }
  .view .fc-view-month .fc-event, .view .fc-view-agendaWeek .fc-event {
    font-size: 0;
    overflow: hidden;
    height: 2px;
  }
  .view .fc-view-agendaWeek .fc-event-vert {
    font-size: 0;
    overflow: hidden;
    width: 2px !important;
  }
  .view .fc-agenda-axis {
    width: 20px !important;
    font-size: .7em;
  }
  .view .fc-button-content {
    padding: 0;
  }
}

.session {
  position: relative;
  min-height: 17.5rem;
  margin-bottom: 2rem;
  padding: 1rem 5rem;
  transition: all .25s ease-in-out;
  border: 1px solid #d0d1dc;
  border-radius: 3px;
  background-color: white;
}

.session__header {
  position: relative;
}

.session--full {
  opacity: .5;
}

.session--full:hover .session__annotations > *:not(.session--action-btn), .session--full:active .session__annotations > *:not(.session--action-btn), .session--full:focus .session__annotations > *:not(.session--action-btn), .session--full.focused .session__annotations > *:not(.session--action-btn), .session--full.is-active .session__annotations > *:not(.session--action-btn) {
  opacity: 1;
}

.session__schedule {
  min-width: 22%;
  margin-right: 3.2rem;
  font-size: 1.8rem;
  font-weight: 700;
}

.session__content {
  width: 75%;
  min-width: 75%;
  max-width: 100%;
}

.session__upper {
  min-height: 12.3rem;
}

.session__lower {
  min-height: 5.2rem;
  padding: 1.5rem 0;
  border-top: 1px solid #d0d1dc;
  background-color: white;
  color: #6e7187;
  font-size: 1.6rem;
  line-height: 2.2rem;
}

.session__description {
  max-width: calc(100% - 28rem);
  padding-right: 4rem;
  font-size: 1.7rem;
  line-height: 2.4rem;
}

.session__description img {
  margin: auto;
}

.session__speaker {
  display: inline-block;
  max-width: 100%;
}

.session__speaker a:not([class]) {
  color: #383ff5;
}

.session__speaker a:not([class]):hover, .session__speaker a:not([class]):active, .session__speaker a:not([class]):focus, .session__speaker a:not([class]).focused, .session__speaker a:not([class]).is-active {
  text-decoration: underline;
}

.session__tag {
  display: inline-block;
  margin-right: 4rem;
  font-weight: 500;
}

.session__floating-tag {
  position: absolute;
  left: 0;
  bottom: 1rem;
  transform: translateX(-9rem);
  background: #6e7187;
  border-radius: 3px;
  padding: .5em;
  color: white;
  font-weight: 500;
  min-width: 10rem;
  max-width: 35rem;
  font-size: 1.5rem;
  text-align: center;
}

@media only screen and (max-width: 768px) {
  .session__floating-tag {
    position: static;
    transform: none;
    margin-bottom: 1rem;
  }
}

.session__annotations {
  align-items: flex-end;
  position: relative;
  min-width: 28rem;
  margin-left: auto;
  font-size: 1.6rem;
  line-height: 1.8rem;
  text-align: right;
}

.session__annotations.product__payment {
  align-items: stretch;
}

.session__promotion {
  background-color: #ededed;
  margin-top: 1rem;
  padding: .5rem 1rem;
}

.session__tax, .session__promotion, .session__ttc, .session__annotations .session__text {
  margin-bottom: 1rem;
}

.session__prices {
  color: #383ff5;
  font-weight: 500;
}

.session__text {
  color: #6e7187;
}

.session__title {
  font-size: 2rem;
}

.session__chapeau {
  font-size: 1.6rem;
}

.session.is-expanded .session__description {
  max-width: calc(100% - 28rem);
  padding-top: 1rem;
  padding-bottom: 2rem;
  padding-right: 2rem;
}

.session.is-expanded .session__description img {
  padding-right: 4rem;
}

.session.is-expanded .session__annotations {
  min-width: 0;
  width: 28rem;
}

.session .contextual-region {
  position: initial;
}

.session--action-btn {
  position: relative;
  min-width: 20rem;
}

.session--action-btn .btn {
  width: 100%;
}

.session--action-btn .form-actions {
  margin: 0;
}

.session--action-btn .modal {
  white-space: normal;
}

.session--closeable--container .expandmore__button {
  background: white url("../../../../../themes/custom/cci_basic_edito/assets/img/arrow-slider.svg") no-repeat center/cover;
  transform: rotate(90deg);
  border: 0;
  padding: 2.5rem;
  width: 1.5rem;
  height: 1.5rem;
}

.session--closeable--container .expandmore__button.is-opened {
  transform: rotate(270deg);
}

.session--closeable--details.js-to_expand[data-hidden=true] {
  display: block;
  height: 0;
  overflow-y: hidden;
}

.session--closeable--details .product__content {
  border: 0;
  padding: 0;
  margin: 0;
}

.session--closeable--details .product__container {
  border: none;
}

.session--closeable--details .product__block {
  border: none;
}

.session--closeable--details .product__value > div, .session--closeable--details .product__value > article {
  margin-bottom: 1.5rem;
}

.session--closeable--details .product__value > .no-mb {
  margin-bottom: 0;
}

.session-account-info {
  display: inline-block;
  width: 100%;
  text-align: center;
  white-space: break-spaces;
  font-size: 1rem;
}

@media only screen and (max-width: 1024px) {
  .session__annotations,
  .session__description {
    width: 100%;
    max-width: 100%;
    margin-top: 1.5rem;
    padding-right: 0;
  }
  .session__lower {
    align-items: flex-start;
    flex-direction: column;
    margin-top: 1.5rem;
  }
  .session--action-btn {
    margin-left: unset;
    margin-top: 2rem;
    width: 100%;
  }
}

@media only screen and (max-width: 768px) {
  .session {
    flex-wrap: wrap;
    padding: 2.5rem 2.5rem 1rem;
  }
  .session__annotations {
    min-width: auto;
    text-align: left;
  }
  .session__annotations > * {
    opacity: 1;
  }
  .session:not(.session--canceled)__annotations > * {
    opacity: 1;
  }
  .session--full .session__annotations {
    padding-bottom: 2rem;
  }
  .session__complex {
    width: 100%;
  }
  .session__header, .session__upper, .session__description {
    flex-flow: column;
    align-items: start;
  }
  .session__content {
    width: 100%;
  }
  .session__schedule {
    margin: 0;
  }
  .session.is-expanded img {
    margin-bottom: 1rem;
  }
  .session.is-expanded .session__description {
    flex-flow: column;
    align-items: start;
  }
  .session.is-expanded .session__annotations {
    width: 100%;
  }
  .session.is-expanded .session__description {
    padding-right: 0;
    max-width: none;
  }
  .session.is-expanded .session__text-wrapper {
    padding: 0;
  }
}

.view.view-evenements {
  padding: 0;
}

.view.view-evenements .view-header {
  width: 100%;
  margin-bottom: 7.7rem;
  padding: 7rem 3rem 3rem;
  background-color: white;
}

.view.view-evenements .view-header .page-title {
  margin-bottom: 4rem;
  color: #383ff5;
  font-weight: 700;
  line-height: 4.6rem;
  text-align: center;
}

.view.view-evenements .view-header .views-exposed-form {
  margin: 0;
  padding: 0;
}

.view.view-evenements .view-content > * {
  width: 100%;
}

.view.view-evenements .views-row {
  width: 100%;
  margin-bottom: 2rem;
}

.view.view-evenements [aria-hidden=true].js-tabcontent {
  display: none;
}

.view.view-evenements .view-empty {
  margin: 3rem 0;
  text-align: center;
  font-size: 1.5rem;
}

.view.view-evenements .view-control {
  width: 100%;
  margin-bottom: 8rem;
}

.view.view-evenements .view-control .view-count {
  font-size: 2.4rem;
}

.view.view-evenements .view-control .js-tablist__item {
  display: inline-block;
}

.view.view-evenements .view-control .js-tablist__item:not(:first-child):not(:last-child) {
  margin-right: 1rem;
  margin-left: 1rem;
}

.view.view-evenements .view-control .js-tablist__item:first-child:not(:last-child) {
  margin-right: 1rem;
}

.view.view-evenements .view-control .js-tablist__item:last-child:not(:first-child) {
  margin-left: 1rem;
}

.view.view-evenements .view-control .js-tablist__link {
  display: inline-block;
  position: relative;
  padding: 0 2rem 0 6rem;
  transition: all .25s ease-in-out;
  border: 1px solid transparent;
  border-radius: 3px;
  background-color: white;
  color: #6e7187;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 4.7rem;
  cursor: pointer;
  opacity: .3;
}

.view.view-evenements .view-control .js-tablist__link:hover, .view.view-evenements .view-control .js-tablist__link:active, .view.view-evenements .view-control .js-tablist__link:focus, .view.view-evenements .view-control .js-tablist__link.focused, .view.view-evenements .view-control .js-tablist__link.is-active {
  border-color: #383ff5;
  color: black;
  opacity: 1;
}

.view.view-evenements .view-control .js-tablist__link[aria-selected=true] {
  border-color: #383ff5;
  color: black;
  opacity: 1;
}

.view.view-evenements .view-control .tab-icon {
  width: 2.5rem;
  height: 2.5rem;
  display: inline-block;
  position: absolute;
  top: 1rem;
  left: 2rem;
  background: transparent no-repeat center /contain;
}

.view.view-evenements .view-control .tab-icon--list {
  top: 1.3rem;
  width: 2rem;
  height: 2rem;
  background-image: url("../assets/img/list.svg");
}

.view.view-evenements .view-control .tab-icon--calendar {
  background-image: url("../assets/img/calendar.svg");
}

.view.view-evenements.view-display-id-block_agenda_homepage {
  margin-bottom: 0;
}

@media only screen and (max-width: 425px) {
  .view.view-evenements .view-control {
    margin-bottom: 2rem;
  }
  .view.view-evenements .view-control .js-tablist__item {
    width: 100%;
  }
  .view.view-evenements .view-control .js-tablist__item:not(:first-child):not(:last-child) {
    margin-right: 0;
    margin-left: 0;
  }
  .view.view-evenements .view-control .js-tablist__item:first-child:not(:last-child) {
    margin-right: 0;
  }
  .view.view-evenements .view-control .js-tablist__item:last-child:not(:first-child) {
    margin-left: 0;
  }
  .view.view-evenements .view-control .js-tablist__item:not(:first-child):not(:last-child) {
    margin-top: 1rem;
    margin-bottom: 1rem;
  }
  .view.view-evenements .view-control .js-tablist__item:first-child:not(:last-child) {
    margin-bottom: 1rem;
  }
  .view.view-evenements .view-control .js-tablist__item:last-child:not(:first-child) {
    margin-top: 1rem;
  }
  .view.view-evenements .view-control .js-tablist__link {
    width: 100%;
  }
}

.event-link {
  color: inherit;
  margin-left: 0;
  padding-left: 3.3rem;
  margin-bottom: 1rem;
  display: inline-block;
}

.event-link::before {
  width: 2.7rem;
  height: 2.7rem;
  bottom: 0;
  left: 0;
}

.event-link .field--type-link {
  display: inline-block;
}

.event-link .field--type-link a {
  font-size: 2rem;
}

.event-link--external::before {
  background-image: url("../../../../themes/custom/cci_basic_edito/assets/img/external_link.svg");
}

.event-link--download::before {
  background-image: url("../../../../themes/custom/cci_basic_edito/assets/img/document_download.svg");
}

.node-evenement .product-evenement h2, .node-evenement .product-evenement h3 {
  margin-bottom: 1rem;
  margin-top: 1rem;
}

.node-evenement .product-evenement h3 {
  background-color: transparent;
  color: #383ff5;
  font-size: 3.6rem;
  font-weight: 300;
}

.node-evenement .product-evenement .product__left p {
  color: #34353d;
  font-size: 1.9rem;
  line-height: 3.2rem;
}

.node-evenement .product-evenement .title-hat {
  margin-bottom: 32px;
}

.node-evenement .product-evenement .link-to-formation {
  margin-top: 24px;
}

.node-evenement .product-evenement ul {
  font-size: 1.9rem;
  list-style: inside disc;
}

.node-evenement .product-evenement ul li {
  line-height: 1.4;
}

.node-evenement .product-evenement ul li ul, .node-evenement .product-evenement ul li ol {
  padding-left: 20px;
  margin: 5px 0 10px 0;
}
