p,
p span,
ul li,
div {
  font-size: 16px !important;
  line-height: normal;
  letter-spacing: normal;
  color: #1e448a;
}

h1 {
  font-weight :400;
}

h2,
h2.sppb-addon-title,
h2.titre-univ {
  font-size: 20px;
  margin: 0;
  padding: 12px;
  background: #1e448a;
  border-bottom: 2px solid #fdcb0b;
  color: #fdcb0b !important;
  border-radius: 4px 4px 0 0;
  width: 100% !important;
}

a {
  color: #1e448a;
  text-decoration: underline;

  &:hover {
    color: #fdcb0b;
  }
}

p.but-univ {
  display: flex;
  margin: 0 0 12px 0;
  width: fit-content;

  a {
    border: 2px solid #1e448a;
    background: #fdcb0b;
    padding: 12px;
    border-radius: 4px;
    text-decoration: none;
    font-weight: 600
  }

  &:hover a {
    border: 2px solid #fdcb0b;
    background: #1e448a;
    color: #fdcb0b;
  }
}

button.collapsible,
button span.sppb-panel-title {
  font-size: 16px !important;
  text-wrap: wrap;
}

.timeline-panel .details p {
  margin: 0;
}

#g-page-surround #g-container-main .g-container {
  width: 100%;

  #g-mainbar .platform-content {
    
  }

  #sp-page-builder {
    padding: 0;

    .sppb-row-container {
      max-width: 90%;
    }
  }
}

@media screen and (max-width: 1024px)  {
  #g-page-surround #g-container-main .g-container {
    
    #sp-page-builder .sppb-row-container {
      max-width: 100%;
    }

    #g-mainbar .platform-content {
      padding-inline: 0;
    }
  }
}

div.responsive-partners .sppb-addon-content .sppb-addon-clients {
  display: flex;
  flex-direction: column;
  gap: 30px;
  
  .sppb-addon-content .sppb-row {
    row-gap: 20px;
    column-gap: 2%;
    justify-content: center;
  
    div {
      max-width: none !important;
      flex: 0 0 32% !important;
      margin: 0 !important;
      min-width: 300px;
    }
  }
}

@media screen and (max-width: 400px) {
  div.responsive-partners .sppb-addon-content .sppb-addon-clients .sppb-addon-content .sppb-row div {
    width: 100% !important;
    min-width: 0;
    flex: 0 0 100% !important;
  }
}

.sppb-addon-content .sppb-panel-modern .sppb-addon-content {
  display: block !important;
  
  img.conf_pic {
    max-height: none;
    max-width: 200px;
  }
}

.sppb-addon-single-image-container  a img.sppb-img-responsive {
  max-width: 300px;
  width: 100%;
  height: 100%;
}

@media screen and (max-width: 400px) {
  section.liste-bloc > .liste-visitingscholars {
    width: 100%;

    & > p.item-liste {
      width: 100% !important;
      height: auto !important;
    }
  }
}

/* Alignement des images et des textes */

.sppb-row-container .sppb-column .sppb-column-addons .sppb-addon-wrapper.addon-root-raw-html .sppb-addon-content {
  display: flex;
  flex-direction: column;
  gap: 65px;
}

.sppb-row-container .sppb-column .sppb-column-addons .sppb-addon-wrapper.addon-root-text-block .sppb-addon-content {
  gap: 20px;
}

article.bloc-univ2,
article.bloc-univ {
  display: flex;

  & > img {
    flex: 0 0 50%;
    width: 100%;
    height: 50%;
  }

  & > section {
    flex: 0 0 50%;
  }
}

article.bloc-univ2 > section {
  padding-left: 30px;

  & > div {
    display: inline-block;
  }
}

article.bloc-univ {
  flex-direction: row-reverse;

  & > section {
    padding-right: 30px;

    & > div {
      display: inline-block;
    }
  }
}

@media screen and (max-width: 1024px) {
  article.bloc-univ2,
  article.bloc-univ {
    flex-direction: column !important;
    gap: 20px;

    & > img {
      flex: 0 0 100%;
    }

    & > section {
      flex: 0 0 100%;
      padding-left: 0 !important;
      padding-right: 0 !important;
    }
  }
}

.sppb-addon-content > section.rs > section {
  padding: 0 !important;
  
  & > div {
    display: inline-block;
  }
}

/**************
 *   HEADER   *
 **************/

#g-page-surround {
  position: relative;
  overflow: visible;
}

#g-navigation {
  background: #FFFFFF;
  border-bottom: 1px solid #eeeeee;
  position: sticky;
  top: 0;
  border-top: 5px solid #fdcb0b;
  width: 100%;


  .g-container {
    margin: auto;
    padding : 10px 10px 10px 25px;

    /* Logo waves */
    .g-grid #header-a .g-content {
      margin: 0;
      padding: 0;

      .waves-logo {
        margin: 0;
      }
    }

    /* Menu */
    .g-grid .g-block .g-particle {
      margin: 0;
      padding: 0;

      nav ul.g-toplevel {
        
        /* Items du menu */
        li.g-menu-item {          
          a span,
          div span {
            color: #1e448a;
            font-weight: 400;
          }
        }

        li.g-menu-item:hover {
          & a span,
          & div span {
            color: #1e448a80;
          }
        }
    
        li.g-menu-item.active div span.g-separator,
        li.g-menu-item.active a {
            border-bottom : 2px solid #1e448a50;
        }

        /* Menus déroulants */
        li {
          border: none;
        }

        ul.g-dropdown {
          background: #FFFFFF;
          
          ul.g-sublevel {
            background: #FFFFFF;
            border: 1px solid #1e448a20;
            padding: 12px;
            border-radius: 4px;
            display: flex;
            flex-direction: column;
            gap: 4px;
              
            li.g-menu-item {
              margin: 0;
              border-radius: 4px;

              a.g-menu-item-container {
                border: none;
                padding: 0;
                padding: 8px 12px 8px 12px;
                border-radius: 4px;
              }

              a span span {
                color : #1e448a;
                font-size: 16px;
              }

              &.g-selected {
                background: #1e448a80;

                a span span {
                  color: #FFFFFF;
                }
              }
            }
          }
        }
      }
    }
  }
}

/**************
 *   FOOTER   *
 **************/

#g-footer {
  background: #1e448a;
  padding: 20px;

  .footer-b {
    display: flex;
    justify-content: center;

    .g-content {
      margin: 0;
      padding: 0;
    }
  }
}

/**************
 *   CONTENU  *
 **************/
#g-features {
  display: none;
}

.sppb-column-addons {
  display: flex;
  flex-direction: column;
  gap: 16px;
}