/* ========================================================================== */
/* Imports                                                                    */
/* ========================================================================== */
@import url('https://fonts.googleapis.com/css?family=Open+Sans&display=swap');
@import url('Abstract-A4.css');
@import url('FormStyle-1.css');

/* ========================================================================== */
/* Design tokens                                                              */
/* ========================================================================== */
:root {
  /* Palette SEP 2027 — extraite du pptx */
  --violet:      #531561;  /* couleur principale */
  --violet-dark: #2E1233;  /* violet très foncé (barres, texte) */
  --violet-2:    #5F2666;  /* violet secondaire / survol */
  --vert:        #A5C286;  /* vert (bloc de titre) */
  --lavande:     #F5EFF6;  /* fond très clair */
  --rose-clair:  #EDBFE9;  /* rose clair (tint) */
  --blanc: #fff;
  --noir:  #000;
  --gris:  #C0C0C0;

  --rose:   #5F2666;
  --rose-2: #6E357A;
  --jaune:  #531561;
  --teal:   #5F2666;
}

/* ========================================================================== */
/* Base                                                                       */
/* ========================================================================== */
html,
body {
  height: 100%;
}



header .head {
    padding: 0 0 0 0;
}

body {
  background-color: var(--blanc);
  font-family: 'Open Sans', sans-serif;
}

a {
  color: var(--noir);
  text-decoration: none;
}

a:link,
#contenu a {
  color: var(--violet);
}

a:visited,
a:focus,
a:active {
  color: var(--noir);
}

.menu_top a:hover,
#contenu a:hover {
  color: var(--blanc);
}

.titre_page,
h1 {
  color: var(--jaune);
  font-size: 2em;
  font-weight: 700;
}

h2 {
  color: var(--violet-dark);
  font-size: 1.4em;
}

h3 {
  color: var(--violet-2);
  font-size: 1.1em;
}

#contenuContainer {
  width: 100%;
  min-height: 65vh;
}

.ContentBlockInner {
  max-width: 1200px;
}

.centerText {
  width: 60%;
  margin-left: 20%;
}

.cadre {
  display: block;
  max-width: 1200px;
  margin: 1.2em 5% 10px;
  padding: 5px 10px 10px;
  border: 1px solid var(--violet);
  border-radius: 0;
  background-color: var(--blanc);
  opacity: 1;
}

.cadreTel {
  display: none;
}

.convention {
  max-width: 1200px;
  margin: auto;
  padding: 0 2em;
}

.titre_cadrevert {
  display: block;
  padding: 8px;
  background-color: var(--vert);
  color: var(--violet-dark);
}

#contenu .tblSide td {
  padding: 8px;
}

#contenu .tblSide a {
  color: var(--violet);
  font-size: 14px;
}

.bottom_content {
  padding: 15px 0;
  border-top: 1px solid var(--gris);
  background-color: transparent;
}

/* ========================================================================== */
/* En-tête / Menu                                                             */
/* ========================================================================== */
.tdEnteteRegistrationTop {
  height: 100px;
  padding: 0;
  background-repeat: no-repeat;
  background-size: auto 100%;
  background-position: 225px 30%;
}

div.blocksep,
.blocksep,
.tblSide,
.navigation,
.fa-stack {
  display: none !important;
}

.menu_top_container_parent {
  max-width: 1200px;
}

.menu_top {
  height: 49px;
  background-color: var(--violet-dark) !important;
  text-transform: uppercase;
}

.CellMenu {
  height: 49px;
  background-color: var(--violet-dark);
}

.menu_top ul,
.menu_top ul li a:hover,
.menu_top ul li:hover {
  background-color: var(--violet-dark);
}

.menu_top ul li {
  z-index: 1000;
  max-width: 250px;
  font-size: 0.9em;
}

.menu_top ul li a {
  padding-top: 1.2em;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 0.9em !important;
  font-weight: bold;
}

.menu_top ul li ul {
  left: 0;
  width: 250px;
  margin: 0 20px 0 0;
  background-color: var(--lavande);
}

.menu_top ul li ul li,
.menu_top ul li ul li a,
.menu_top ul li ul li a span,
.menu_top ul li ul li a span span {
  height: auto !important;
  margin: 0;
  background-color: var(--lavande);
  color: var(--violet-dark);
}

.menu_top ul li ul li a:hover,
.menu_top ul li:hover,
.menu_top ul li a:hover {
  background-color: var(--rose-clair);
}

.menu_top ul li:hover a,
.menu_top ul li.actif a {
  background-image: none;
}

/* ========================================================================== */
/* Boutons                                                                    */
/* ========================================================================== */
.CssButton {
  height: auto;
  padding: 8px;
  border-radius: 0;
  background-color: var(--teal);
  background-image: none;
  color: var(--blanc);
  line-height: 4;
}

.CssButton:hover {
  background-color: var(--violet);
}

.mobile .CssButton {
  margin-bottom: 1em;
}

#ctl00_Main_BtnIdentification {
  background-color: var(--violet);
}

/* ========================================================================== */
/* Inscription                                                                */
/* ========================================================================== */
.registration {
  width: 90%;
  max-width: 1200px;
  margin: 2em 5% 0;
}

.registrationticket {
  margin-top: 1em !important;
}

#ctl00_tdCorpsRegistration {
  background-color: transparent;
}

.tableRegistration {
  width: 100%;
  padding: 0;
  vertical-align: top;
}

.tdEnteteRegistrationLogo {
  display: none;
}

div#RegistrationConfirmation {
  padding: 20px;
}

div#ctl00_mainTableRegistration {
  margin: 0 auto;
  background-repeat: no-repeat;
  background-position: top center;
}

#ctl00_Main_PnlProfile,
.GroupAuthPanel,
#ctl00_Main_PnlAbstract,
.speakers,
#frontloggedas {
  max-width: 1200px;
  margin: auto;
}

#ctl00_Main_TcktFront_BtnMobileNext {
  margin-left: 1em;
}

.mobile .MenuRegistration,
.mobile .MenuRegistration .CurrentMenuRegistration,
.RubriqueSpan {
  background-color: var(--blanc);
}

.mobile .MenuRegistration .CurrentMenuRegistration,
.TitreRubriqueBo {
  color: var(--violet);
}

.TitreRubriqueBo {
  border-bottom: 1px solid var(--violet);
  font-size: 1.3em;
}

.CssTextBox {
  width: 70%;
  margin-top: 0.3em;
  border: 0;
  border-bottom: 1px solid grey;
  background-color: var(--blanc);
  color: var(--noir);
  font-family: 'Open Sans', sans-serif !important;
}

.lblc,
.Item {
  padding: 1em;
}

.DrpDwn select {
  width: 69%;
  margin-left: 1em;
  border: 0;
  border-bottom: 1px solid grey;
  background-color: var(--blanc);
  color: var(--noir) !important;
  font-family: 'Open Sans', sans-serif !important;
}

.CssFileUpload {
  border-bottom: 1px solid grey;
  background-color: var(--blanc);
  background-image: none;
  color: var(--noir);
}

/* Tableau Excel intégré dans l'étape 1 */
.table-tarifs {
  width: 100%;
  max-width: 800px;
  margin: 1.5em auto;
  border-collapse: collapse;
  font-size: 0.95em;
}

.table-tarifs thead th {
  padding: 8px 10px;
  background-color: var(--violet);
  color: var(--blanc);
  text-align: left;
}

.table-tarifs tbody td {
  padding: 6px 10px;
  border: 1px solid var(--gris);
}

.table-tarifs tbody tr:nth-child(even) {
  background-color: #f7f7f7;
}

.table-tarifs tbody tr:hover {
  background-color: var(--violet);
  color: var(--blanc);
}

/* Auth */
.GroupAuthPanel {
  margin: auto auto 2em;
  padding-top: 50px;
}

#ctl00_Main_authContainer {
  margin: 4em auto 2em;
}

.centerCompte {
  max-width: 300px;
  margin: auto auto 2em;
  font-size: 1.4em;
}

#ctl00_Main_LblStep0Text > h1 > span > span {
  text-transform: none;
}

#ctl00_Main_LblStep0Text > h1 {
  text-align: center;
}

.tdCorpsRegistration .groupPage {
  width: 90% !important;
  max-width: 1200px;
  padding-top: 0;
  padding-left: 10% !important;
}

/* ========================================================================== */
/* Programme                                                                  */
/* ========================================================================== */
.schedulecontainer,
.schedule_detailed,
.schedule_overview,
.schedule_scheduler,
#ctl00_Main_SearchTopPnl {
  width: 90%;
  max-width: 1200px;
  margin: 2em auto 0;
}

.schedule .date {
  font-size: 20px;
}

.schedule .date .dateday {
  display: inline;
}

#contenu .GrdVwScheduler .description a,
#contenu .GrdVwScheduler a.fancybox:hover,
.speakers .viewsession:hover {
  text-decoration: underline;
}

#contenu .GrdVwScheduler a.fancybox:hover {
  color: var(--violet-2);
}

#contenu .GrdVwScheduler .SchedulerSessionTitle a:hover {
  color: var(--jaune);
}

.GrdVwScheduler .colTime {
  width: 90px;
  font-weight: 700;
}

.GrdVwScheduler .sessionType {
  display: inline-block;
  float: left;
  width: 26px;
  height: 21px;
  margin-left: 10px;
  padding-top: 5px;
  border-radius: 50%;
  background-color: var(--jaune);
  color: var(--blanc);
  font-size: 11px;
  text-align: center;
  vertical-align: middle;
}

.schedule .CellSessionExpanded .session {
  border-left: 1px solid var(--gris);
  border-radius: 0;
}

.schedule .filtercheck,
.schedule .filtercheckAll {
  padding: 2px;
}

.schedule .filtercheckAll {
  border-bottom: 1px solid var(--gris);
}

.schedule select.tags,
.schedule select.types,
.schedule select.categories {
  font-size: 11px;
}

.schedule .session .intervention .speaker {
  display: inline;
}

.schedule .session .intervention .speaker .initiales,
.schedule .session .intervention .speaker .firstname,
.schedule .session .intervention .speaker .lastname,
.schedule .session .moderators .names,
.session .city {
  color: inherit !important;
}

.initiales,
.schedule .session .intervention .speaker .initiales,
.schedule .session .moderators .initiales {
  display: none !important;
}

.schedule .session .intervention .speaker .firstname,
.session .moderators .firstname {
  display: inline !important;
}

span.time1,
.schedule .session .time1 {
  display: contents !important;
}

span.sep1,
span.sep2,
span.sep4,
.sep1 {
  display: none !important;
}

.code {
  display: none !important;
}

.speakers .firstletter {
  display: block;
  padding: 10px 0 5px;
  border-bottom: 2px solid var(--violet);
  color: var(--jaune);
  font-size: 22px;
}

#contenu a.SpkName {
  margin-right: 10px;
  color: var(--noir);
  font-size: 22px;
}

.FirstLineOfDayFull td {
  padding-bottom: 10px;
}

.schedulerpopup .sessiontop {
  margin-bottom: 15px;
  padding: 15px;
  background-color: var(--jaune);
  color: var(--blanc);
}

#ctl00_Main_news1_BtnDownloadProgram {
  background-color: var(--violet);
  color: var(--blanc);
  font-weight: 700;
}

.synopsisSchedule #contenu {
  max-width: 100%;
  min-width: 3000px;
}

.synopsisSchedule .menu_top_container {
  max-width: 100%;
}

/* ========================================================================== */
/* Abstracts                                                                  */
/* ========================================================================== */
.abstractslistfilters {
  padding: 10px;
  border-bottom: 1px solid var(--gris);
  background-color: var(--violet);
}

.abstractslist .TextBox {
  display: block;
  width: 100%;
  margin-bottom: 10px;
  border: none;
}

.abstractslist .DropDownList {
  width: 100%;
  margin-bottom: 15px;
  font-size: 24px;
}

.abstractslist a.abstractLink,
.abstractslist a.abstractLinkAlt {
  display: block;
  padding: 4px;
  font-size: 16px;
}

#contenu .abstractslist a.abstractLink {
  background-color: var(--rose-2);
  color: var(--blanc);
}

#contenu .abstractslist a.abstractLinkAlt {
  color: var(--rose-2);
}

.abstractpreview .abstractcontent {
  width: 1000px;
  margin: auto;
}

#ctl00_Main_PnlAbstract {
  width: 100%;
}

.CONTENT_SPEAKERS {
  max-width: 1200px;
  margin: auto;
  padding: 2em;
}

.AbstractRegistration,
.AbstractAlreadyregistered {
  min-height: 50px;
  border: 1px solid var(--teal);
  border-radius: 0;
}

.AbstractSubmitterInfo {
  padding: 5px;
  border: 0;
  border-radius: 0;
  background-color: var(--blanc);
}

.AbstractTitle {
  color: var(--violet);
}

#ctl00_Main_WbUsrCntrlAbstract_RowTypeAbstract,
#dvAbstractInformationBottom,
#ctl00_Main_GrdVwAbtracts_ctl01_BtnExportPDF,
#ctl00_Main_news1_BtnDownloadAbstract {
  display: none;
}

#ctl00_Main_LnkBtnLogoutLink {
  color: var(--rose) !important;
}

#ctl00_Main_LnkBtnLogoutLink:hover {
  color: var(--violet) !important;
}

.abstractFront,
.abstractsexport {
  width: 90%;
  max-width: 1200px;
  margin-right: 5%;
  margin-left: 5%;
}

.abstractFront {
  margin-top: 1em;
}

.abstractsexport {
  margin-top: 18em;
}

.attendeeprofile {
  margin-top: 15em;
}

.abstractFrontListe {
  width: 90%;
  max-width: 1200px;
  margin: 0 auto 0 10%;
}

#ctl00_Main_WbUsrCntrlAbstract_TblAbstractMiddle {
  margin-top: 7em;
}

/* ========================================================================== */
/* Divers                                                                     */
/* ========================================================================== */
.group {
  padding: 0 30px;
}

#ctl00_Main_ctl01_BtnNext {
  display: inline-block !important;
}

.titre_margin {
  margin-left: 5%;
}

#ctl00_Main_PnlActions,
#frontloggedas {
  float: right;
}

#frontloggedas {
  margin-right: 10%;
}

#container {
  display: flex;
  width: 60%;
  margin-top: 164px;
  margin-left: 215px;
}

.logoJFA {
  position: absolute;
  top: 7em;
  left: 2em;
  width: 20% !important;
}

.logoMini {
  position: absolute;
  top: -1px;
  left: 0;
  width: 10% !important;
}

.RegistrationClosed {
  padding-top: 6em;
}

#ctl00_Main_Content {
  margin-top: 25vh;
}

.ContentBlockInner iframe {
  width: 90% !important;
  max-width: 1200px;
  margin: auto 5%;
}

#ctl00_Main_PnlFileDownloading {
  width: 50%;
  margin-top: 25em;
  margin-left: 25%;
}

#ctl00_Main_ctl01_divContainerEditTable {
  max-height: 400px;
}

#ctl00_Main_ctl01_PnlEditFormInner {
  max-width: max-content;
}

#ctl00_TopMenu {
  top: 160px;
  width: 100%;
  background-color: var(--violet);
}

.footerJFA {
  position: absolute;
  bottom: 0;
  left: 0;
  display: none;
  width: 100%;
  border-top: 2em solid var(--rose);
  background-color: transparent;
  text-align: center;
}

.homepage {
  width: 100%;
  background-repeat: no-repeat;
  background-size: auto 80%;
  background-position: center bottom;
}


#ctl00_Main_PnlProfile, .GroupAuthPanel, #ctl00_Main_PnlAbstract, .speakers, #frontloggedas {
    max-width: 800px;
    margin: auto;
}

table#ctl00_Main_cnt1_Content_Programme_44941.speakers > tbody > tr > td {
width: 800px !important
}


#ctl00_Main_cnt1_Layout_21398 {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
}

/* ========================================================================== */
/* Responsive                                                                 */
/* ========================================================================== */
@media screen and (max-width: 480px) {
  .logoJFA {
    display: none;
  }

  .tableRegistration {
    background-image: none;
  }

  .tdEnteteRegistrationTop {
    height: auto !important;
  }

  .BTNprogramme {
    position: absolute;
    top: 18em;
    left: 10%;
    width: 40% !important;
    max-width: 120px;
  }

  .BTNsoumission {
    position: absolute;
    top: 28em;
    left: 26%;
    width: 40% !important;
    max-width: 120px;
  }

  .BTNinscriptions {
    position: absolute;
    top: 20em;
    left: 54%;
    width: 40% !important;
    max-width: 120px;
  }

  .menu_top ul li ul {
    display: block !important;
    position: relative !important;
    top: 0 !important;
    width: 100% !important;
    margin-left: 0;
  }

  .menu_top ul li {
    width: 100% !important;
    max-width: 100%;
    border-bottom: 1px solid var(--blanc);
    font-size: 1em;
    text-align: left !important;
  }

  .menu_top ul li ul li {
    padding: 0;
    border-bottom: none !important;
  }

  .CellMenu,
  .menu_top ul li a {
    height: auto !important;
  }

  .ContentBlockInner,
  .schedulecontainer {
    padding-left: 0 !important;
  }

  .schedulecontainer {
    padding-right: 0 !important;
  }

  .titre_page,
  h1 {
    padding-left: 5%;
  }

  .blockBtn {
    height: 660px;
    max-width: 90%;
    margin-top: 1em;
    margin-left: 5%;
    padding: 3em;
  }

  .centerText {
    width: 95% !important;
    margin-left: 5% !important;
  }

.fond {
    margin-top: -1em;
    background-image: url(../images/client/947/images/BackgroundMobile.jpg);
    background-repeat: no-repeat;
    background-size: 100% 100%;
  }

  #ctl00_Main_PnlSubmitterInfo {
    margin-left: 0;
  }

  .AbstractRegistration {
    margin-right: 0;
  }

 #datesHome {
    position: absolute;
    top: 40em;
    left: 15%;
    width: 16em;
    height: 3em;
    background-image: url(../images/client/947/images/dates.png);
    background-repeat: no-repeat;
    background-size: 100% 100%;
  }

  .schedule .session .logo {
    display: none;
  }

  .schedule .session {
    width: 95%;
  }

  .abstractpreview .abstractcontent {
    width: auto !important;
  }

  .abstractslist .searchtxt {
    width: 100%;
    font-size: 18px !important;
  }

  .abstractslist .DropDownList {
    width: 100%;
    margin-bottom: 15px;
    font-size: 18px;
  }

  .abstractslist a.abstractLink,
  .abstractslist a.abstractLinkAlt {
    display: block;
    padding: 4px;
    font-size: 16px;
  }

  #contenu .abstractslist a.abstractLink {
    background-color: var(--violet);
    color: var(--blanc);
  }

  #contenu .abstractslist a.abstractLinkAlt {
    color: var(--violet-2);
  }

  #ctl00_Main_PnlSession.confirm .ccontainer {
    width: 380px !important;
  }

  .confirm .ccontainer .SocialShare {
    display: none !important;
  }

  #contenuContainer {
    min-height: 60vh;
    margin-top: 2em !important;
  }

.logoMini {
    position: absolute;
    top: 5px;
    left: 104px;
    width: 62% !important;
  }

  #container {
    display: flex;
    width: 91%;
    margin-top: 112px;
    margin-left: 14px;
  }

  #hexaprog2 {
    margin-top: 104px;
    margin-left: -33px;
  }

  #hexainscrip1 {
    margin-top: -99px;
    margin-left: -100px;
  }

  #hexasoum3 {
    margin-top: -10px;
    margin-left: -25px;
  }

  .menu_top_container_parent {
    width: 100% !important;
    margin-left: 0 !important;
  }

  .CssButton {
    padding: 2px;
    background-color: var(--rose);
    color: var(--blanc);
    font-size: 0.6em;
    line-height: 4;
  }

  .menu_top ul li ul li a {
    height: 2em !important;
    padding: 0.5em;
  }
}

@media screen and (min-width: 380px) and (max-width: 782px) {
  .tdEnteteRegistrationTopInner > div > img {
    display: none;
  }

  .logoMini {
    width: 42% !important;
  }
}

/* Masquer le deuxième bandeau (sous le bandeau principal) */
.ContentBlockInner > img:first-child,
.ContentBlockInner .banner,
.ContentBlockInner .header,
.ContentBlockInner .pageHeader {
    display: none !important;
}
