:root {
  --cassiopeia-color-primary: #737373;
  --cassiopeia-color-hover: #355b99;
  --cassiopeia-color-link: #355b99;
  --body-color: #3d3e3d;
}

html, body {
  font-size: 16px;
}

h1, h2 {
  font-size: 1.5rem;
}

h3 {
  font-size: 1rem;
  margin-bottom: 20px;
}

a:not([class]) {
  text-decoration: none;
}

.container-header .btn-info {
  margin-top: 0;
}

/* BOUTON DONS */

.bouton-dons {
  color: #fff;
}

body.wrapper-fluid header>.grid-child {
  padding-right: 0;
}

.container-header .container-nav {
  padding-bottom: 0;
}

.container-header {
  background-color: #fff;
  background-image: none;
  box-shadow: 0 0 1px #0000001a;
}

.container-header .grid-child {
  padding: 0;
}

.container-header .container-nav {
  justify-content: start;
}

.container-header .mod-menu>li>a, .container-header .mod-menu>li>span, .metismenu.mod-menu .mm-toggler {
  color: #737373;
  text-transform: uppercase;
}

.container-banner .banner-overlay {
  height: 55vh;
  background-attachment: local;
}

.container-banner .banner-overlay .overlay {
  justify-content: flex-end;
  align-items: center;
  background-color: rgba(0,0,0,0);
  padding: 0;
}

.container-header .navbar-toggler {
  border: 1px solid #000;
  color: #000;
}

.logo {
  margin: 9px 30px 9px 0;
}

/* BANNIERES */

.banniere {
  position: relative;
  width: 1024px;
  padding: 1rem 1.2rem 0;
  background-color: #0007;
  text-align: left;
  font-size: 28px;
  font-weight: 100;
  line-height: 32px;
}

.titre-banniere {
  font-size: 1.3rem;
  font-weight: 700;
}

.demi-bannieres {
  display: flex;
  flex-wrap: wrap;
  font-size: 32px;
  font-weight: 200;
}

.demi-banniere-image, .demi-banniere-texte {
  max-height: 510px;
  overflow: hidden;
  width: 50%;
  color: #fff;
  background-color: #323232;
}

.demi-banniere-texte {
  padding: 2rem;
}

.demi-banniere, .demi-banniere-droite {
  position: absolute;
  top: 0;
  right: 0;
  width: 50%;
  height: 100%;
  background-color: rgba(50,50,50,1);
}

.demi-banniere-droite {
  left: 0;
  text-align: right;
}

.demi-banniere-texte-presentation {
  text-align: right;
}

.banniere-bouton-en-savoir-plus {
  position: absolute;
  right: 0;
  bottom: -15px;
  text-transform: uppercase;
  background-color: #30638d;
  font-size: 1rem;
  padding: 0px 15px;
}

.banniere-bouton-en-savoir-plus a {
  color: #fff;
  text-decoration: none;
}

.container-banner .banner-overlay {
  background-position: center;
}

.menu-nos-programmes {
  width: 1024px;
  background-color: #333333;
}

.menu-nos-programmes a {
  padding: 10px;
  color: #fff;
  font-weight: 300;
}

.container-banner .metismenu.mod-menu {
  margin: auto;
}

.com-content-article, .com-content-category-blog__items, .content-center, .participer {
  max-width: 1024px;
  margin: auto;
}

.metismenu.mod-menu .metismenu-item {
  font-size: 1rem;
}

/* ACTUALITES */

.actualites-accueil, .actualite {
  padding-top: 3rem;
}

a.link-actualites {
  color: #3d3e3d;
  text-decoration: none;
}

a.link-actualites:hover {
  background-color: #f1f1f1;
}

.date-actualites {
  max-width: 100px;
  height: 20px;
  font-weight: 300;
  font-size: 12px;
  overflow: hidden;
}

.title-actualites {
  font-weight: 300;
  font-size: 18px;
  margin-bottom: 12px;
}

.published .icon-calendar, .icon-fw {
  display: none;
}

/* ARTICLES */

.article-section {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  align-items: start;
  margin-top: 96px;
  margin-bottom: 96px;
}

.article-texte {
  width: 100%;
  max-width: 500px;
}

.article-texte  p, .article-paragraphe-seul {
  font-size: 18px;
  letter-spacing: .5px;
  line-height: 24px;
}

.image-center {
  margin: auto;
}

/* PAGE ACCUEIL */

/* PAGE QUI NOUS SOMMES */

.qui-nous-sommes-contenu {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  grid-column: full-start/full-end;
}

.qui-nous-sommes-contenu p {
  margin-bottom: 0;
}

.qui-nous-sommes-texte {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  max-width: 500px;
  margin: auto;
  padding: 20px;
}

.qui-nous-sommes-image {
  margin: auto;
}

.conseil-titre {
  margin: 70px auto;
  text-align: center;
}

.conseil {
  display: flex;
  justify-content: space-between;
}

.conseil-image, .conseil-texte {
  max-width: 500px;
  padding: 15px;
}

.conseil-image {
  margin: 15px auto auto;
  text-align: center;
}

.portrait {
  border-radius: 50%;
  box-shadow: 0 -1px rgba(150, 150, 150, .2);
}

.quelques-programmes h2 {
  margin-bottom: 3rem;
  text-align: center;
}

.sous-titre {
  text-align: center;
  background-color: #fbfbfb;
}

.adresse-texte {
  width: 320px;
  height: 400px;
  margin: auto;
  padding: 30% 0;
  text-align: center;
  font-size: 24px;
  line-height: 32px;
  font-weight: 300;
  border-left: 1px solid #ccc;
}

.video {
  margin: auto;
}

video {
  width: 500px;
}

/* PAGE PRESENTATION */

.presentation-texte {
  margin: 40px auto 96px;
}

/* PAGE TELECHARGEMENTS */

.fiches-projets {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  text-align: center;
}

.fiche-projet {
  width: 320px;
  margin: 50px auto;
}

/* PAGE PARTICIPER */

.dons {
  display: flex;
  justify-content: space-around;
  text-align: center;
}

.don-par-virement, .don-par-cb, .don-par-cheque {
  width: 310px;
  margin-top: 2rem;
  margin-bottom: 3rem;
}

.iban-bic {
  margin-top: 20px;
}

/* OSMAP */

.osmap-items ul {
  margin: 0 0 30px 0 !important;
}

.osmap-items li {
  margin: 10px 0;
}

/* MENTIONS LEGALES */

.mentions-legales {
  display: flex;
  justify-content: space-around;
  text-align: center;
}

.edition, .creation, .hebergement, .card-accueil {
  width: 310px;
  margin-bottom: 3rem;
}

/* TARTE AU CITRON */

#tarteaucitronIcon #tarteaucitronManager img {
  width: 30px !important;
  height: 30px !important;
}

/* CARD */

.actualites-accueil, .programmes-accueil, .realisations-terminees, .actualite, .nos-programmes {
  display: flex;
  justify-content: space-around;
  flex-wrap: wrap;
}

.actualite, .nos-programmes {
  max-width: 900px;
}

.card-programmes-accueil, .card-realisations-terminees, .card-nos-programmes {
  position: relative;
  color: #fff;
  font-weight: 300;
}

.card-actualites-accueil, .card-actualite {
  position: relative;
  width: 310px;
  height: 430px;
  color: #3d3e3d;
  box-shadow: 0 2px 5px #00000039;
}

.card-nos-programmes {
  box-shadow: 0 -2px 5px #0000000f;
}

.card-actualites-accueil, .card-programmes-accueil, .card-realisations-terminees, .card-actualite, .card-nos-programmes {
  width: 310px;
  margin-bottom: 3rem;
}

.card-programmes-accueil .card-body, .card-nos-programmes .card-body {
  height: 270px;
  background-color: #333333;
}

.card-realisations-terminees .card-body {
  height: 500px;
  background-color: #333333;
}

.card-lien {
  text-decoration: none;
}

.card-img-top {
  border-radius: 0;
}

.card-title {
  font-size: 1rem;
}

.card-body {
  padding: 1rem;
}

.en-savoir-plus {
  position: absolute;
  right: 15px;
  bottom: 0;
}

/* BOUTON */

.conteneur-bouton {
  margin: auto;
  text-align: center;
}

.container-header .mod-menu>li>a.bouton-dons {
  color: #fff !important;
}

.bouton-cta {
  margin-top: 20px;
}

.bouton-cta a {
  width: 120px;
  margin: 20px auto;
  color: #fff;
  text-align: center;
  text-decoration: none;
}

.btn {
  border-radius: 0;
}

.boutons-dons {
  display: flex;
  flex-direction: column;
}

.bouton-don-materiel, .bouton-competences {
  margin: 20px auto;
}

/* BREADCRUMBS */

.mod-breadcrumbs__wrapper {
  margin-bottom: 20px;
}

/* BOTTOM */

.container-bottom-a {
  display: flex;
  justify-content: space-around;
  text-align: center;
  padding: 20px;
  background-color: #efefef;
}

.container-bottom-a div {
  width: 300px;
  max-width: 300px;
}

.container-bottom-a svg {
  width: 200px;
  margin-bottom: 30px;
}

.container-bottom-c, .container-bottom-d, .container-bottom-e, .container-bottom-f {
  padding-top: 96px;
  padding-bottom: 96px;
}

.container-bottom-c, .container-bottom-e {
  background-color: #e6ecf1;
}

/* FOOTER */

.container-footer a {
  font-size: 13px;
  color: #fff;
}

.container-copyright {
  margin-top: 0;
  background-color: #252525 !important;
}

.container-copyright .grid-child {
  max-width: 1024px !important;
  padding: 0.5em 0;
}

.footer {
  background-color: #333333;
  background-image: none;
}

.footer .grid-child {
  align-items: start;
  text-align: center;
}

.logos-partenaires, .coordonnees, .newsletter {
  width: 320px;
  margin-left: auto;
  margin-right: auto;
}

.logos-partenaires, .coordonnees {
  margin-bottom: 50px;
}

.copyright {
  padding: 20px;
  background-color: #252525;
}

.mod-footer {
  margin: auto;
  font-size: 13px;
}

.mod-footer a {
  text-decoration: none;
}

.osmap-sitemap {
  max-width: 1024px;
  margin: auto;
}

/* FORMULAIRES */

#form2_consentement_0, #form3_consentement_0, #form5_consentement_0 {
  margin-right: 10px;
}

.g-invisible-recaptcha {
  margin-top: 20px;
}

.convertforms.cf-success .cf-response {
  background-color: #30638d !important;
}

.cf-response strong, .cf-response span {
  color: #fff !important;
  background-color: transparent !important;
}

.formulaire-adresse-contenu {
  display: flex;
  justify-content: space-around;
  flex-wrap: wrap;
  align-items: center;
}

.formulaire-scolarite, .formulaire-soins, .formulaire-pisciculture, .formulaire-equipement {
  width: 50%;
  margin: 0 auto 30px;
}

.g-invisible-recaptcha {
  width: 240px;
  margin: 30px auto;
}

/* PORTABLES */

@media (max-width: 1045px) {
  .banniere, .menu-nos-programmes {
    width: 90%;
  }
}

@media (max-width: 992px) {
  .container-banner .banner-overlay {
    height: 61vh;
  }
  .demi-banniere-image, .demi-banniere-texte {
    width: 100%;
    font-size: 18px;
    font-weight: 300;
    overflow: hidden;
  }
  .presentation, .image-droite {
    flex-wrap: wrap-reverse;
  }
  .article-image {
    margin-bottom: 20px;
  }
  .container-copyright .grid-child {
    flex-direction: column;
  }
  .container-copyright .grid-child ul {
    margin: auto;
    text-align: center;
  }
  .container-copyright .metismenu.mod-menu .metismenu-item {
    line-height: 3rem;
  }
  .container-copyright .mod-footer {
    margin: 30px auto !important;
    text-align: center;
  }
  .actualites-accueil, .programmes-accueil, .realisations-terminees, .actualite, .nos-programmes, .dons, .mentions-legales {
    flex-direction: column;
    align-items: center;
  }
}

@media (max-width: 810px) {
  .banniere {
    font-size: 18px;
    font-weight: 300;
    line-height: 24px;
  }
  .footer {
    text-align: center;
  }
  .adresse-texte {
    height: 100px;
    border: none;
  }
  .conteneur-bouton p {
    padding: 0 50px;
  }
}

@media (max-width: 640px) {
  .conseil-texte {
    max-width: 320px;
  }
}

@media (max-width: 510px) {
  .qui-nous-sommes-image {
    width: 100%;
  }
  video {
    width: 300px;
  }
}

@media (max-width: 480px) {
  .conseil {
    flex-direction: column;
  }
  .don-par-virement, .don-par-cheque {
    width: 100%;
  }
}

