@font-face {
    font-family: 'poppinsblack';
    src: url('../fonts/Poppins/poppins-black-webfont.woff2') format('woff2'),
         url('../fonts/Poppins/poppins-black-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap; 
}

:root {
  --color-primary: #0d6efd;
  --color-secondary: #6c757d;
  --color-bg: #ffffff;
  --color-text: #212529;
}

:root {
  --header-height: 70px;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

body {
  font-family: 'Arial', sans-serif;;
  color: #5084A5;
  background-color: var(--color-bg);
}

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

h1, h2 {
  font-family: 'poppinsblack', 'Arial', sans-serif;;
  text-transform: uppercase;
  color: #314260 !important;
}

h3, h4, h5, h6 {
  font-family: var(--font-base);
  text-transform: uppercase;
  color: #314260 !important;
}

h3 {
  color: #CF4242 !important;
  text-transform: none !important;
}

.top-bar {
  background-color: #1F2D46;
}

/**** CLASS UTILES ****
**********************/

.btn {
  width: auto;
  background-color: #314260;
  border-radius: 10px;
  border: 2px solid #fff;
  text-transform: uppercase;
  transition: transform 0.4s ease-in-out;
}

.btn:hover {
  background-color: #314260;
  border: 2px solid #fff;
  transform: scale(1.05) !important;
}

.btn:active {
  background-color: #314260 !important;
  border: 2px solid #fff !important;
  transform: scale(1.05) !important;
}

.rounded {
  border-radius: 30px !important;
}



/******* HEADER *******
**********************/
@media (min-width: 992px) {
    #site-header .navbar > .container {
        display: flex !important;
        justify-content: flex-start !important;
        align-items: center !important;
    }

    #site-header .navbar-brand {
        margin-right: 0 !important;
        flex-shrink: 0 !important;
    }

    #site-header #navbarMain {
        display: flex !important;
        flex-grow: 1 !important; 
        justify-content: center !important; 
        height: 80px;
    }

    #site-header #menu-menu-principal {
        margin: 0 !important;
        display: flex !important;
    }
}

@media (max-width: 991.98px) {
  .custom-logo-link {
    display: block !important;
    width: 100% !important;
    text-align: center !important;
    position: relative !important;
  }

  .custom-logo-link img {
      height: 70px;
      width: auto;
  }

  .navbar-toggler {
      color: #fff !important;
      border: 1px solid #fff !important;
      margin: 1em auto;
  }

  .navbar-toggler:focus {
      box-shadow: none !important;
      background-color: rgba(250, 250, 250, 0.2);
  }

  .navbar-toggler-icon {
      filter: brightness(0) invert(1);
  }

  .navbar-nav {
    text-align: center;
  }
}

.custom-logo {
  transition: opacity 0.4s ease-in-out;
}

.custom-logo:hover {
  opacity: 0.6;
}

.top-bar p {
  margin-bottom: 0;
}

#site-header {
  background-color: #314260;
}

.custom-logo-link {
    position: absolute;
    display: block;
}

.navbar-nav a {
  color: #fff;
  text-decoration: none;
  transition: color 0.3s ease, border-color 0.3s ease;
  border-bottom: 2px solid transparent; 
  padding-bottom: 5px; 
}

.navbar-nav a:hover {
  color: #fff;
  border-bottom-color: #ffffff;
}

#navbarMain .current-menu-item > .nav-link {
    color: #ffffff !important;
    border-bottom: 2px solid #ffffff;
}

/******* FOOTER ******
**********************/
footer {
  background-color: #314260;
  color: #fff;
}

footer a, .bas-de-footer a {
  color: #fff !important;
  text-decoration: underline;
  transition: opacity 0.4s ease-in-out;
}

footer a:hover, .bas-de-footer a:hover {
  opacity: 0.6;
}

/******* ACCUEIL ******
**********************/
.template-accueil .section-intro2 {
    border-radius: 30px;
    position: relative;
    box-shadow: 0 10px 12px -4px rgba(100, 100, 100, 0.5);
}

.template-accueil .section-intro2 h4::before {
    content: "+ ";
    font-weight: bold;
    color: #314260; 
    margin-right: 8px;
    display: inline-block;
}

.template-accueil .section-partenaire {
    margin-top: -1em;
}

.template-accueil .section-solutions .encarts a {
    padding-top: 14em !important;
    border: 3px #fff solid;
    transition: transform 0.4s ease-in-out;
}

.template-accueil .section-solutions .encarts a:hover {
    transform: scale(1.05);
}

.template-accueil .swiper-pagination-bullet-active {
  background-color: #CF4242 !important;
}

.template-accueil .section-faq {
    border-radius: 0 0 30px 30px;
    position: relative;
    box-shadow: 0 10px 12px -4px rgba(0, 0, 0, 0.5);
}

.template-accueil .accordion-button:focus {
  box-shadow: none !important;
}

.template-accueil .accordion-button::after {
    filter: brightness(0) invert(1) !important;
}

.template-accueil .section-articles {
    background-color: #314260;
    margin-top: -2em;
}
.template-accueil .section-articles .article-card-image {
    border: 3px #fff solid;
    transition: transform 0.4s ease-in-out;
}

.template-accueil .section-articles .article-card-image:hover {
    transform: scale(1.05);
}

@media (max-width: 991.98px) {
  .template-accueil .section-intro2 .trois-colonnes {
      padding: 0 !important;
  }
}

/*** PAGE CATÉGORIE **
**********************/
.template-cat .swiper-bloc-quatre {
    display: flex !important;
    flex-direction: column !important;
    padding-bottom: 40px !important; 
}

.template-cat .swiper-bloc-quatre .swiper-pagination {
    position: relative !important;
    bottom: 0 !important;
    margin-top: auto !important; 
}

.template-cat .swiper-pagination-bullet-active {
  background-color: #CF4242 !important;
}

.template-cat .section-ligne-1 .bloc, .template-cat .section-ligne-2 .bloc, .template-cat .section-ligne-3 .bloc {
    border: 3px #fff solid;
}

.template-cat .section-avantages h4::before {
    content: "+ ";
    font-weight: bold;
    color: #314260; 
    margin-right: 8px;
    display: inline-block;
}

/*** PAGE PRODUIT ***
**********************/
.template-produit .section-avantages h4::before {
    content: "+ ";
    font-weight: bold;
    color: #314260; 
    margin-right: 8px;
    display: inline-block;
}

/******* BLOG ********
**********************/
.blog-hero {
    position: relative;
    border-radius: 30px !important; 
}

label {
    display: block !important;
}

.submit {
  color: #fff;
  padding: 10px;
  width: auto;
  background-color: #314260;
  border-radius: 10px;
  border: 2px solid #fff;
  text-transform: uppercase;
  transition: transform 0.4s ease-in-out;
}

.submit:hover {
  background-color: #314260;
  border: 2px solid #fff;
  transform: scale(1.05);
}

.articles a {
  color: #CF4242 !important;
  text-decoration: underline;
}

/****** CONTACT*******
**********************/
.template-contact .section-coordonnees a {
  color: #5084A5 !important;
}