@font-face {
  font-family: "Gelpen";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: local(""), url("polices/GelPen.woff2") format("woff2");
}
@font-face {
  font-family: "Font Awesome 6 Solid";
  font-style: normal;
  font-weight: 900;
  font-display: auto;
  src: url("polices/fa-solid-900.woff2") format("woff2");
}
@font-face {
  font-family: "Font Awesome 6 Regular";
  font-style: normal;
  font-weight: 400;
  font-display: auto;
  src: url("polices/fa-regular-400.woff2") format("woff2");
}
@font-face {
  font-family: "Font Awesome 6 Brands";
  font-style: normal;
  font-weight: 400;
  font-display: auto;
  src: url("polices/fa-brands-400.woff2") format("woff2");
}
html, body {
  scroll-behavior: smooth;
}

.visuallyhidden {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px !important;
  margin: -1px !important;
  overflow: hidden;
  padding: 0 !important;
  position: absolute;
  width: 1px !important;
}

.clear {
  clear: both !important;
}

.alignleft {
  text-align: left !important;
}

.alignright {
  text-align: right !important;
}

.aligncenter {
  text-align: center !important;
}

.alert {
  color: red;
}

img {
  max-width: 100%;
}
img.floatG {
  float: left;
  margin: 0 10px 10px 0;
}
img.floatD {
  float: right;
  margin: 0 0 10px 10px;
}
img.max50 {
  max-width: 48%;
  height: auto;
}

.nowrap {
  white-space: nowrap;
}

.fas, .btnJaune::before, .picto::before {
  font-family: "Font Awesome 6 Solid", sans-serif;
  font-weight: 900;
  line-height: 1;
  font-style: normal;
}

.far {
  font-family: "Font Awesome 6 Regular", sans-serif;
  font-weight: 400;
  line-height: 1;
  font-style: normal;
}

.fab, .btnJaune.caster::before,
.picto.caster::before {
  font-family: "Font Awesome 6 Brands", sans-serif;
  font-weight: 400;
  line-height: 1;
  font-style: normal;
}

.picto::before {
  margin-right: 1rem;
}
.picto.email {
  word-break: break-word;
}

.btnJaune.tel::before,
.picto.tel::before {
  content: "\f879";
}
.btnJaune.email::before,
.picto.email::before {
  content: "\f0e0";
}
.btnJaune.web::before,
.picto.web::before {
  content: "\f35d";
}
.btnJaune.adresse::before,
.picto.adresse::before {
  content: "\f3c5";
}
.btnJaune.personne::before,
.picto.personne::before {
  content: "\f007";
}
.btnJaune.societe::before,
.picto.societe::before {
  content: "\f1ad";
}
.btnJaune.horaire::before,
.picto.horaire::before {
  content: "\f017";
}
.btnJaune.calendrier::before,
.picto.calendrier::before {
  content: "\f073";
}
.btnJaune.categorie::before,
.picto.categorie::before {
  content: "\f02b";
}
.btnJaune.euro::before,
.picto.euro::before {
  content: "\f153";
}
.btnJaune.music::before,
.picto.music::before {
  content: "\f001";
}
.btnJaune.anniversaire::before,
.picto.anniversaire::before {
  content: "\f1fd";
}
.btnJaune.don::before,
.picto.don::before {
  content: "\f004";
}
.btnJaune.quete::before,
.picto.quete::before {
  content: "\f51e";
}
.btnJaune.document::before,
.picto.document::before {
  content: "\f56d";
}
.btnJaune.direction::before,
.picto.direction::before {
  content: "\f5eb";
}
.btnJaune.mobile::before,
.picto.mobile::before {
  content: "\f3cd";
}
.btnJaune.eglise::before,
.picto.eglise::before {
  content: "\f51d";
}
.btnJaune.caster::before,
.picto.caster::before {
  content: "\f838";
}
.btnJaune.share::before,
.picto.share::before {
  content: "\f1e0";
}
.js-show .js-show-arrow {
  cursor: pointer;
  float: right;
  padding-left: 5px;
}
.js-show .js-show-arrow::after {
  font-family: "Font Awesome 6 Solid", sans-serif;
  font-weight: 900;
  line-height: 1;
  content: "\f107";
}
.js-show .js-show-arrow.open::after {
  content: "\f106";
}

.js-show-content {
  display: none;
}

.js-password {
  margin-left: -25px;
  cursor: pointer;
  font-style: normal;
}
.js-password::before {
  font-family: "Font Awesome 6 Solid", sans-serif;
  font-weight: 900;
  line-height: 1;
  content: "\f070";
}
.js-password.show::before {
  content: "\f06e";
}

.btnRS {
  color: #3a383f;
  background-color: #fff;
  border: 1px solid #bfbfc3;
  border-radius: 5px;
  display: inline-block;
  font-family: inherit;
  font-weight: 400;
  padding: 5px 10px 5px 35px;
  background-size: 15px 15px !important;
  background-repeat: no-repeat;
  background-position: 10px 50%;
}
.btnRS:hover {
  background-color: #ececef;
  text-decoration: none;
}
.btnRS__dissociate {
  background-color: #f9bbbb;
}
.btnRS__google {
  background-image: url("images/RS_google.svg");
}
.btnRS__microsoft {
  background-image: url("images/RS_microsoft.svg");
}

.dividerRS {
  width: 100%;
  display: flex;
  align-items: center;
  margin: 1rem 0;
}
.dividerRS::before, .dividerRS::after {
  flex: 1;
  content: "";
  padding: 1px;
  background-color: #808080;
  margin: 5px;
}

html {
  font-size: 62.5%; /*10px*/
}

body {
  font-size: 1.6rem;
  background-color: #fff;
  color: #000;
  margin: 0;
  padding: 0;
  font-family: "Calibri", sans-serif;
  font-weight: 400;
  line-height: 2.7rem;
}

h1 {
  font-family: "GelPen", sans-serif;
  font-size: 3rem;
  line-height: 3.6rem;
  margin: 0 0 4rem;
  font-weight: 700;
  letter-spacing: 0.1rem;
  border-bottom: 1px solid #0075ab;
}

h2 {
  font-family: "GelPen", sans-serif;
  font-size: 2rem;
  margin: 0 0 1rem;
  font-weight: 700;
}

h3 {
  font-family: "GelPen", sans-serif;
  font-size: 1.8rem;
  margin: 0;
  font-weight: 700;
}

a {
  color: #000;
  text-decoration: none;
  font-weight: 700;
}
a:hover, a:focus, a:active {
  text-decoration: underline;
}

@media screen and (min-width: 768px) {
  p {
    margin: 0 0 3rem;
  }
}
@media screen and (max-width: 767px) {
  p {
    margin: 0 0 2rem;
  }
}

table.liste {
  width: 100%;
}
table.liste thead tr {
  background-color: #0075ab;
  color: #fff;
}
table.liste tr.header {
  background-color: #fcbe1c;
}
table.liste tr.sub-header {
  background-color: #e4e4e4;
}

.msg {
  border: 1px solid #fcbe1c;
  background-color: #fff;
  padding: 10px;
  margin: 0 auto 10px;
  width: 80%;
  text-align: center;
}
.msg.error {
  border-color: #dc3545;
}
.msg.info::before {
  font-family: "Font Awesome 6 Solid", sans-serif;
  font-weight: 900;
  line-height: 1;
  content: "\f05a";
  font-size: 3rem;
  color: #0075ab;
  display: block;
  margin: 0 auto 1rem;
  line-height: normal;
}

.error {
  color: #dc3545;
  font-weight: bold;
}

ul.noPuce {
  padding: 0;
  list-style: none;
}

.noPadding {
  padding: 0;
}

.photo {
  text-align: center;
}
.photo img {
  border-radius: 100%;
}

.picto-check0,
.picto-check1 {
  width: 16px;
  height: 16px;
  background-size: 16px 16px;
  display: inline-block;
}

.picto-check0 {
  background-image: url("images/check0.svg");
}

.picto-check1 {
  background-image: url("images/check1.svg");
}

.retour {
  margin: 0;
  font-style: italic;
}
.retour a::before {
  font-family: "Font Awesome 6 Solid", sans-serif;
  font-weight: 900;
  line-height: 1;
  margin-right: 1rem;
  content: "\f060";
}
.retour a:hover, .retour a:focus, .retour a:active {
  text-decoration: none;
  color: #0075ab;
}

.accrocheTXT {
  font-weight: 500;
  margin-bottom: 4rem;
  font-size: 2rem;
  line-height: 2.6rem;
}

.btnJaune {
  font-size: 1.6rem;
  font-family: inherit;
  font-weight: 600;
  line-height: 2.4rem;
  color: #000 !important;
  background-color: #fcbe1c;
  border: 1px solid #fcbe1c;
  padding: 1rem;
  border-radius: 5px;
  margin: 5px;
  display: inline-block;
  vertical-align: middle;
  text-decoration: none !important;
  transition: all 0.2s;
  cursor: pointer;
}
.btnJaune.mini {
  font-size: 1.2rem;
  line-height: 1.2rem;
}
.btnJaune:hover, .btnJaune:active, .btnJaune:focus {
  text-decoration: none;
  background-color: color-mix(in srgb, #fff 15%, #fcbe1c);
  color: #000 !important;
  border-color: color-mix(in srgb, #fff 15%, #fcbe1c);
}
.btnJaune:not(.onlyPicto)::before {
  margin-right: 1rem;
}

#document {
  height: 100vh;
  background-image: url("images/logo.svg");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: 50% 50%;
  background-attachment: fixed;
  display: flex;
  justify-content: center;
}

#documentInner {
  position: relative;
  display: flex;
  flex-direction: column;
  background-color: rgba(255, 255, 255, 0.9);
  width: 100%;
  max-width: 640px;
  justify-content: space-between;
}
@media screen and (min-width: 768px) {
  #documentInner {
    border: 4px solid #fcbe1c;
  }
}

#bandeauHaut {
  background-color: #0075ab;
  color: #fff;
  padding: 5px;
  display: flow-root;
}
#bandeauHaut > div {
  font-family: "GelPen", sans-serif;
  font-size: 2rem;
  text-align: center;
}
#bandeauHaut .logout {
  float: left;
}
#bandeauHaut .logout::after {
  font-family: "Font Awesome 6 Solid", sans-serif;
  font-weight: 900;
  line-height: 1;
  font-size: 2.5rem;
  content: "\f011";
  color: #fff;
}
#bandeauHaut .logout:hover, #bandeauHaut .logout:focus {
  text-decoration: none;
}
#bandeauHaut .logout:hover::after, #bandeauHaut .logout:focus::after {
  color: #fcbe1c;
}
#bandeauHaut.miroir {
  background: repeating-linear-gradient(45deg, #0075ab, #0075ab 10px, #fcbe1c 15px);
}

#menuBurgerButton {
  background-color: #fcbe1c;
  border: none;
  cursor: pointer;
  width: 100%;
  height: 100%;
}
#menuBurgerButton:hover {
  background-color: rgb(252.75, 206.25, 84.75);
}
#menuBurgerButton::after {
  font-family: "Font Awesome 6 Solid", sans-serif;
  font-weight: 900;
  line-height: 1;
  font-size: 3rem;
  content: "\f0c9";
  color: #000;
}
#menuBurgerButton.open::after {
  content: "\f00d";
}

#menuShareButton {
  float: right;
  text-decoration: none;
}
#menuShareButton::after {
  font-family: "Font Awesome 6 Solid", sans-serif;
  font-weight: 900;
  line-height: 1;
  font-size: 2.5rem;
  content: "\f1e0";
  color: #fff;
}
#menuShareButton:hover::after {
  color: #fcbe1c;
}

body .installAppBtn {
  display: none;
}

#menuBurger {
  display: none;
  position: absolute;
  bottom: 65px;
  right: 0;
  background-color: #0075ab;
  padding: 3rem 4rem 6rem;
  color: #fff;
  z-index: 1;
}
#menuBurger h2 {
  text-align: center;
  margin: 0 0 1rem;
}
#menuBurger ul {
  padding: 0;
  list-style: none;
  margin: 0 0 2rem;
}
#menuBurger li {
  margin: 5px 0;
}
#menuBurger a {
  color: inherit;
}
#menuBurger a::before {
  margin-right: 1rem;
}
#menuBurger a.selected::before {
  color: #fcbe1c;
}
#menuBurger a:hover, #menuBurger a:focus {
  text-decoration: none;
  color: #fcbe1c;
}

#menu {
  /* obligatoire sur mobile (etre au dessus des barres systemes) */
  width: 100%;
  position: sticky;
  bottom: 0;
  z-index: 1000;
}
#menu ul {
  display: flex;
  list-style: none;
  padding: 0;
  margin: 0;
}
#menu ul li {
  border-right: 1px solid #000;
  width: 17%;
}
#menu ul li:last-child {
  border: none;
}
#menu ul li a {
  font-size: 1.5rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  background-color: #fcbe1c;
  transition: all 0.2s;
  height: 100%;
  padding: 5px;
  box-sizing: border-box;
}
#menu ul li a::before {
  font-size: 3rem;
}
#menu ul li a:hover, #menu ul li a:focus, #menu ul li a.selected {
  text-decoration: none;
  background-color: rgb(252.75, 206.25, 84.75);
}

#menu a::before,
#menuBurger a::before {
  font-family: "Font Awesome 6 Solid", sans-serif;
  font-weight: 900;
  line-height: 1;
}
#menu a.homeLink::before,
#menuBurger a.homeLink::before {
  content: "\f51d";
}
#menu a.agendaLink::before,
#menuBurger a.agendaLink::before {
  content: "\f073";
}
#menu a.actualiteLink::before,
#menuBurger a.actualiteLink::before {
  content: "\f1ea";
}
#menu a.horaireLink::before,
#menuBurger a.horaireLink::before {
  content: "\f017";
}
#menu a.familleLink::before,
#menuBurger a.familleLink::before {
  content: "\e537";
}
#menu a.donLink::before,
#menuBurger a.donLink::before {
  content: "\f004";
}
#menu a.contactLink::before,
#menuBurger a.contactLink::before {
  content: "\f2b9";
}
#menu a.abonnementLink::before,
#menuBurger a.abonnementLink::before {
  content: "\f518";
}
#menu a.compteLink::before,
#menuBurger a.compteLink::before {
  content: "\f007";
}
#menu a.queteLink::before,
#menuBurger a.queteLink::before {
  content: "\f51e";
}

#content {
  padding: 2rem;
  overflow-y: auto;
  flex-grow: 1;
}

input[type=tel],
input[type=url],
input[type=date],
input[type=file],
input[type=text],
input[type=email],
input[type=number],
input[type=search],
input[type=password],
textarea,
select {
  font: inherit;
  height: 30px;
  padding: 0.2rem 0.8rem;
  background-color: #f2f6f8;
  appearance: none;
  border: 1px solid #cedde5;
  border-radius: 3px;
  box-sizing: border-box;
  vertical-align: middle;
  font-size: 1.4rem;
}
input[type=tel]:not([size]),
input[type=url]:not([size]),
input[type=date]:not([size]),
input[type=file]:not([size]),
input[type=text]:not([size]),
input[type=email]:not([size]),
input[type=number]:not([size]),
input[type=search]:not([size]),
input[type=password]:not([size]),
textarea:not([size]),
select:not([size]) {
  width: 100%;
}
input[type=tel]:focus,
input[type=url]:focus,
input[type=date]:focus,
input[type=file]:focus,
input[type=text]:focus,
input[type=email]:focus,
input[type=number]:focus,
input[type=search]:focus,
input[type=password]:focus,
textarea:focus,
select:focus {
  outline-style: none;
}

textarea {
  vertical-align: top;
  height: auto;
  width: 100%;
}

form select {
  background-image: url("images/select_arrow.png");
  text-overflow: ellipsis;
  appearance: none;
  background-repeat: no-repeat;
  background-position: right center;
  padding-right: 30px;
  box-sizing: border-box;
}
form select[size] {
  background-image: none;
  padding-right: 0;
  height: auto;
  vertical-align: top;
}
form label:not(.enLigne):not(.custom-checkbox) {
  display: block;
  font-weight: bold;
}
form p.submit {
  margin-top: 10px;
  text-align: center;
}

div.fieldset,
fieldset {
  border: 1px solid #0075ab;
  margin: 0 0 2rem;
  padding: 0 2rem 1rem;
  background-color: #fff;
}
div.fieldset div.p,
div.fieldset p,
fieldset div.p,
fieldset p {
  margin-bottom: 2px;
}

legend {
  font-family: "GelPen", sans-serif;
  background-color: #0075ab;
  color: #fff;
  padding: 5px 10px;
  margin: 0 0 10px;
}

.suffixe-unite,
.prefixe-unite {
  font: inherit;
  height: 30px;
  background-color: #f2f6f8;
  border: 1px solid #cedde5;
  box-sizing: border-box;
  margin: 0 0 0.5rem;
  display: flex;
  white-space: nowrap;
}
.suffixe-unite.suffixe-unite,
.prefixe-unite.suffixe-unite {
  padding-right: 0.8rem;
}
.suffixe-unite.prefixe-unite,
.prefixe-unite.prefixe-unite {
  padding-left: 0.8rem;
}
.suffixe-unite input,
.prefixe-unite input {
  border: 0 !important;
  background-color: transparent !important;
  margin: 0 !important;
  vertical-align: top !important;
  width: auto !important;
  flex-grow: 2;
}
.suffixe-unite span,
.prefixe-unite span {
  line-height: 30px;
}

.password-check {
  color: #dc3545;
  display: block;
}
.password-check.collapse {
  display: none;
}
.password-check.collapsing {
  height: 0;
  overflow: hidden;
  transition: height 0.35s ease;
}
.password-check .valid {
  color: #19a332;
}

.navigationMesse {
  display: flex;
  list-style: none;
  padding: 0;
  margin: 0 0 1rem;
  align-items: center;
  justify-content: space-around;
  font-size: 2.5rem;
}
.navigationMesse a {
  text-decoration: none;
}

.listeMesse {
  display: flex;
  flex-direction: column;
  list-style: none;
  padding: 0;
  margin: 0;
}
.listeMesse > li {
  margin-bottom: 5px;
  border: 1px solid #fcbe1c;
  padding: 5px;
  background: #fff;
}
.listeMesse > li.selected {
  background-color: rgb(252.75, 206.25, 84.75);
}

.horaireMesse {
  list-style: none;
  padding: 0;
  margin: 0;
}

[class*=picto-celebration-] {
  width: 16px;
  height: 16px;
  background-size: 16px 16px !important;
  background-image: url("images/celebration-defaut.svg");
  display: inline-block;
}

.picto-celebration-adoration {
  background-image: url("images/celebration-adoration.svg");
}

.picto-celebration-catechese {
  background-image: url("images/celebration-catechese.svg");
}

.picto-celebration-chapelet {
  background-image: url("images/celebration-chapelet.svg");
}

.picto-celebration-chemin {
  background-image: url("images/celebration-chemin.svg");
}

.picto-celebration-confession {
  background-image: url("images/celebration-confession.svg");
}

.picto-celebration-lectio {
  background-image: url("images/celebration-lectio.svg");
}

.picto-celebration-messe {
  background-image: url("images/celebration-messe.svg");
}

.picto-celebration-priere {
  background-image: url("images/celebration-priere.svg");
}

#montantQuete {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  margin: 0;
  padding: 0;
}
#montantQuete li {
  text-align: center;
  border-radius: 100%;
  background-color: rgb(252.75, 206.25, 84.75);
  border-width: 4px;
  padding: 0;
  width: 6rem;
  line-height: 6rem;
  font-size: 2rem;
}
#montantQuete li:hover, #montantQuete li:focus {
  background-color: #fff !important;
}

.menuCompte {
  display: flex;
  list-style: none;
  flex-direction: column;
  padding: 0;
  margin: 0;
  text-align: center;
}
.menuCompte li {
  margin: 2px 0;
}
.menuCompte li a {
  display: block;
  border-radius: 15px;
  border: 1px solid #fcbe1c;
}
.menuCompte li a:hover {
  background-color: #fcbe1c;
  text-decoration: none;
}

[class*=picto-reglementalias-] {
  width: 24px;
  height: 24px;
  background-size: contain !important;
  background-repeat: no-repeat;
  background-position: center bottom;
  background-image: url("images/reglementalias-defaut.svg");
  display: inline-block;
}

.picto-reglementalias-cb {
  background-image: url("images/reglementalias-cb.svg");
}

.picto-reglementalias-mastercard {
  background-image: url("images/reglementalias-mastercard.svg");
}

.picto-reglementalias-visa {
  background-image: url("images/reglementalias-visa.svg");
}

.picto-reglementalias-sepa {
  background-image: url("images/reglementalias-sepa.svg");
}

.blocNavigation {
  text-align: center;
  margin-bottom: 2rem;
  background-color: #fff;
}

@media screen and (min-width: 768px) {
  .resultatNavigation {
    margin-bottom: 2rem;
  }
}
@media screen and (max-width: 767px) {
  .resultatNavigation {
    margin-bottom: 1rem;
  }
}
.resultatNavigation p {
  background-color: #fff;
  padding: 0.5rem 1rem;
  margin-bottom: 0.5rem;
}

.regletteNavigation {
  margin: 1rem 0;
}
.regletteNavigation a,
.regletteNavigation strong {
  border-radius: 30px;
  padding: 0.5rem 1.25rem;
  transition: all 0.2s ease 0s;
  margin: 0 0.3rem 0.3rem;
  display: inline-block;
}
.regletteNavigation strong {
  color: #fff;
  background-color: #0075ab;
}
.regletteNavigation a {
  color: #000;
  background-color: #fff;
}
.regletteNavigation a:hover, .regletteNavigation a:focus, .regletteNavigation a:active {
  text-decoration: none;
  color: #fff;
  background-color: #0075ab;
}

.liste {
  list-style: none;
  padding: 0;
  margin: 0;
  background-color: #fff;
}
.liste > li {
  position: relative;
  box-shadow: 0 5px 15px 0 #e4e4e4;
  margin: 0 0 4rem;
}
.liste h2 {
  font-size: 1.8rem;
  line-height: 1.9rem;
  padding: 1.5rem 2rem;
  margin: 0;
}
.liste h2::after {
  content: none;
}
.liste h3 {
  border-bottom: 1px solid #fcbe1c;
}
.liste p {
  margin-bottom: 2rem;
  line-height: 2rem;
  font-size: 1.4rem;
}
.liste p.alignright {
  padding: 0 2rem;
}
.liste .itemInfo {
  border-top: 2px solid #0075ab;
  padding: 2rem;
  word-break: break-word;
}

.visuel {
  position: relative;
  overflow: hidden;
}
.visuel span {
  position: absolute;
  bottom: 0;
  left: 0;
  color: #fff;
  background-color: #0075ab;
}
.visuel span:not(.noPadding) {
  padding: 2px 5px;
}
.visuel span img {
  display: block;
}
.visuel > img {
  display: block;
  margin: auto;
}
.visuel.ratio > img {
  width: 100%;
  aspect-ratio: 3/2;
  object-fit: cover;
}

.lienBloc {
  position: relative;
}
.lienBloc a {
  text-decoration: none;
}
.lienBloc a::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  z-index: 1;
}
.lienBloc h3 {
  margin-top: 1.5rem;
}
.lienBloc .visuel > img {
  transition: all 0.3s;
}
.lienBloc:hover .visuel > img {
  transform: scale(1.15);
}

.share {
  display: block;
  text-align: right;
  margin-bottom: 0.5rem;
}
.share a {
  font-family: "Font Awesome 6 Brands", sans-serif;
  font-weight: 400;
  line-height: 1;
  color: #000;
  margin: 0 5px;
}
.share a.fb:hover {
  color: #3B5998;
}
.share a.tw:hover {
  color: #00ACEE;
}
.share a.wa:hover {
  color: #25D366;
}
.share.big {
  margin-bottom: 1rem;
}
.share.big a {
  font-size: 3rem;
}
