:root {
  --blanc: rgb(255, 255, 255);
  --gris: rgb(178, 186, 206);
  --grismed: rgb(149, 150, 155);
  --fdpage: rgb(51, 55, 74);
  --fdbleu: rgb(0, 31, 64);
  --holytag: rgb(34, 146, 255);
  --bleudark: rgb(0, 23, 49);
  --fdmenu: rgb(37, 41, 62);
  --vert: rgb(1, 133, 80);
  --rouge: rgb(214, 44, 32);
  --grisclair: rgb(247, 247, 247);
  --gris70: rgba(0, 0, 0, .6);
  --transparent: transparent;
}

@font-face {
  font-family: 'Plus Jakarta Sans';
  src: url('fonts/PlusJakartaSans-Medium.eot');
  src: url('fonts/PlusJakartaSans-Medium.eot?#iefix') format('embedded-opentype'),
  url('fonts/PlusJakartaSans-Medium.woff2') format('woff2'),
  url('fonts/PlusJakartaSans-Medium.woff') format('woff'),
  url('fonts/PlusJakartaSans-Medium.ttf') format('truetype');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Plus Jakarta Sans';
  src: url('fonts/PlusJakartaSans-Light.eot');
  src: url('fonts/PlusJakartaSans-Light.eot?#iefix') format('embedded-opentype'),
  url('fonts/PlusJakartaSans-Light.woff2') format('woff2'),
  url('fonts/PlusJakartaSans-Light.woff') format('woff'),
  url('fonts/PlusJakartaSans-Light.ttf') format('truetype');
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Plus Jakarta Sans';
  src: url('fonts/PlusJakartaSans-Bold.eot');
  src: url('fonts/PlusJakartaSans-Bold.eot?#iefix') format('embedded-opentype'),
  url('fonts/PlusJakartaSans-Bold.woff2') format('woff2'),
  url('fonts/PlusJakartaSans-Bold.woff') format('woff'),
  url('fonts/PlusJakartaSans-Bold.ttf') format('truetype');
  font-weight: bold;
  font-style: normal;
  font-display: swap;
}

html {
  font-family: 'Plus Jakarta Sans', 'Arial', 'sans-serif';
  font-size: 16px;
  font-weight: 300;
}

body {
  margin: 0;
  text-align: center;
  font-size: 1rem;
  background-color: var(--fdpage);
  color: var(--blanc);
  font-size:1rem
}

.wrapper {
  overflow: clip;
}

* {
  position: relative;
}

a {
  text-decoration: none;
  color: var(--holytag);
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}

a:hover {
  color: var(--gris);
}

.wp-block-buttons.full .wp-block-button {
  flex: 1 1 auto;
  max-width: 350px;
}

a.wp-block-button__link:hover {
  background-color: var(--bleudark);
}

p, ul {
  line-height: 150%;
  text-align: left;
}

ul li {
  margin: 0.5rem 0;
}

img {
  height: auto;
  vertical-align: middle;
  max-inline-size: 100%;
}

.text-left {
  text-align: left;
}

.text-center {
  text-align: center !important;
}

.text-bold {
  font-weight: 600;
}


.mt-0 {
  margin-top: 0;
}

.mb-0 {
  margin-bottom: 0;
}

.my-0 {
  margin-top: 0;
  margin-bottom: 0;
}

.mt-4 {
  margin-top: 2rem;
}

.mb-4 {
  margin-bottom: 2rem;
}

h1, h2, h3, h4, h5, h6 {
  text-align: left;
  line-height: 110%;
  word-break: normal;
  margin: 0.65em 0
}

h1 {
  font-size: 8vw;
}

h2, .h2 {
  font-size: 5vw
}

@media screen and (min-width: 992px) {
  h2, .h2 {
    font-size: 6vw
  }
}

@media screen and (min-width: 1440px) {
  h2, .h2 {
    font-size: 7vw
  }
}

h3, .h3 {
  font-size: 5.5vw;
  font-weight: 500;
}

h4, .h4 {
  font-size: 4vw;
  font-weight: 500;
}

.center {
  text-align: center;
}

/* Avec une bordure CSS */
.more-link a, a.more-link{
  background-color: var(--holytag);
  border:1px solid var(--holytag);
  display: inline-flex;
  align-items: center;
  padding:0.5rem 1rem;
  gap:0.5rem;
  color: var(--blanc);
  font-size: 0.9rem
}
.more-link a:hover, a.more-link:hover{
    border:1px solid;
    display: inline-flex;
    align-items: center;
    padding:0.5rem 1rem;
    gap:0.5rem
}
.more-link a::after, a.more-link::after  {
  content: "";
  display: inline-block;
  width: 8px;
  height: 8px;
  border-right: 2px solid currentColor;
  border-top: 2px solid currentColor;
  transform: rotate(45deg);
  margin-top:6px;
}
.content-page {
  padding: 2.5rem 0 0 0;
  z-index: 1;
  width: 85%;
  max-width: 1680px;
  margin: 0 auto;
}

.home .content-page {
  padding-left: 0;
  padding-right: 0;
  padding-top: 0;
  width: 100%;
  max-width: 100%
}

.left {
  text-align: left;
}

.wp-block-group:where(.has-background) {
  padding-left: 7.5%;
  padding-right: 7.5%;
}

.wp-block-columns.no-marge, .wp-block-image.no-marge {
  margin-bottom: 0
}
:where(.wp-block-columns.is-layout-flex) {
  gap: 2em;
}

.wp-block-buttons {
  margin: 2rem 0;
  display: flex;
  gap: 0.5rem;
}

.wp-block-buttons a:hover {
  background-color: var(--bleudark);
  color: var(--gris);
}

.justify-content-center {
  justify-content: center !important;
}

.has-blanc-color {
  color: var(--blanc);
}

.has-fdpage-color {
  color: var(--fdpage);
}

.has-fdbleu-color {
  color: var(--fdbleu);
}

.has-holytag-color {
  color: var(--holytag);
}

.has-bleudark-color {
  color: var(--bleudark);
}

.has-fdmenu-color {
  color: var(--fdmenu);
}

.has-vert-color {
  color: var(--vert);
}

.has-rouge-color {
  color: var(--rouge);
}

.has-grisclair-color {
  color: var(--grisclair);
}

.has-blanc-background-color {
  background-color: var(--blanc);
}

.has-fdpage-background-color {
  background-color: var(--fdpage);
}

.has-fdbleu-background-color {
  background-color: var(--fdbleu);
}

.has-holytag-background-color {
  background-color: var(--holytag);
}

.has-bleudark-background-color {
  background-color: var(--bleudark);
}

.has-fdmenu-background-color {
  background-color: var(--fdmenu);
}

.has-vert-background-color {
  background-color: var(--vert);
}

.has-rouge-background-color {
  background-color: var(--rouge);
}

.has-grisclair-background-color {
  background-color: var(--grisclair);
}

.has-gris70-background-color {
  background-color: var(--gris70);
}

.has-transparent-background-color {
  background-color: var(--transparent);
}

[data-ratio] {
  display: block;
  max-width: 100%;
  position: relative
}

[data-ratio]:before {
  content: '';
  display: block;
}

[data-ratio] > * {
  display: block;
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}

[data-ratio='20:9']::before {
  padding-top: 47.5%;
}

[data-ratio='16:9']::before {
  padding-top: 56.25%;
}

[data-ratio='4:3']::before {
  padding-top: 75%;
}

[data-ratio='3:4']::before {
  padding-top: 133.33%;
}

[data-ratio='1:1']::before {
  padding-top: 100%;
}

[data-ratio='intro']::before {
  padding-top: 90%;
}

[data-ratio='logousers']::before {
  padding-top: 40%;
}

[data-ratio='marque']::before {
  padding-top: 25%;
}

.flex {
  display: flex;
}

.flex-wrap {
  flex-wrap: wrap;
}

.flex-column {
  flex-direction: column
}
.wp-block-image {
  border-radius: 1rem;
  overflow: clip
}
.align-items-start{
  align-items: start
}
.align-items-center{
  align-items: center
}
.align-items-stretch{
  align-items: stretch
}
.justify-content-between{
  justify-content: space-between
}
.mb-0{
  margin-bottom:0
}
.mt-0{
  margin-top:0
}
.py-0{
  padding-top:0;
  padding-bottom:0
}
.is-type-video{
  border-radius: 1rem;
  overflow:clip
}
.boutons {
  margin-top: 2.5rem;
  margin-bottom: 2.5rem;
}

a.bouton {
  display: inline-block;
  padding: 0.75rem 1.5rem;
  background-color: var(--holytag);
  color: var(--blanc);
  border: 1px solid var(--holytag);
  text-transform: uppercase;
}

a.bouton.compte {
  padding-left: 40px;
}

a.bouton:hover {
  background-color: var(--bleudark);
}

a.bouton.rd {
  border-radius: 3rem;
}

.lien {
  margin: 2rem 0;
  font-weight: 700;
}

.lien a span {
  display: inline-block;
  vertical-align: middle;
  margin-right: 8px;
  line-height: 46px;
}

.lien a .fl {
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}

.lien a {
  color: var(--blanc);
}

.lien a:hover {
  color: var(--gris);
}

.lien a:hover .fl {
  -webkit-transform: translateX(15%);
  transform: translateX(15%);
}

.lien a .fl svg {
  vertical-align: middle;
}

.cover {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.filtre {
  position: absolute;
  left: 0;
  top: 0;
  z-index: 20;
  width: 100%;
  height: 100%;
  background: -moz-linear-gradient(left, rgba(0, 0, 0, 0.65) 20%, rgba(0, 0, 0, 0) 100%); /* FF3.6-15 */
  background: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.65) 20%, rgba(0, 0, 0, 0) 100%); /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(to right, rgba(0, 0, 0, 0.65) 20%, rgba(0, 0, 0, 0) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
}

.frm_forms {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 1rem;
  text-align: left;
}

.frm_forms label {
  font-size: 0.8rem;
  padding: 0.75rem 0 0.25rem 0;
  display: block;
}

.frm_forms fieldset {
  border: none;
  padding: 0;
}

.frm_forms input, .frm_forms textarea, .frm_forms select {
  width: calc(100% - 1rem);
  padding: 0.5rem;
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 1rem;
  font-weight: 300;
  background: var(--gris);
  border: none;
}

.frm_forms .frm_submit button {
  padding: 0.75rem 1.5rem;
  background-color: var(--holytag);
  color: var(--blanc);
  border: none;
  border-radius: 1px;
  text-transform: uppercase;
  font-size: 1.5rem;
  margin-top: 2rem;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}

.frm_forms .frm_submit button:hover {
  background-color: var(--bleudark);
}

.frm_forms h3 {
  margin-bottom: 0.5em;
  font-size: 1.5rem;
}

.frm_forms input[type=checkbox] {
  width: 18px;
  height: 18px;
  margin-top: 8px;
}

.frm_error {
  font-size: 0.8rem;
  color: var(--holytag);
}

.frm_error_style, .frm_message {
  color: var(--holytag);
  font-size: 1.25rem;
}

.alignfull {
  margin: 0 calc(50% - 50vw);
  max-width: 100vw;
  width: 100vw;
}

.alignfull.has-background {
  padding: 3vw calc(-50% - -50vw) 4vw calc(-50% - -50vw);
}

.has-small-font-size {
  font-size: 0.8rem !important;
}

.has-medium-font-size {
  font-size: 1.5rem !important;
}

.has-large-font-size {
  font-size: 2rem !important;
}

.has-x-large-font-size {
  font-size: 2.2em !important;
}

.no-padding {
  padding-left: 0;
  padding-right: 0;
}

@media screen and (min-width: 1024px) {
  h1 {
    font-size: 3.5vw;
  }

  h2 {
    font-size: 3vw;
  }

  h3 {
    font-size: 2vw
  }

  h4 {
    font-size: 1.25vw
  }
}

@media screen and (min-width: 1280px) {
  .content-page {
    padding: 4vw 0 0 0;
  }

  *.first {
    margin-top: 0;
  }
}


@media screen and (min-width: 1680px) {
  html {
    font-size: 17px;
  }
}

@media screen and (min-width: 1920px) {
  html {
    font-size: 18px;
  }
}

@media screen and (min-width: 2000px) {
  html {
    font-size: 19px;
  }
}

@media screen and (min-width: 2560px) {
  html {
    font-size: 20px;
  }
}

/*HOLYBUS*/


.page-template-page-holybus, .header-holybus, .footer-holybus {
  background: #FFFFFF;
  color: #001731
}

.page-template-page-holybus h3, .page-template-page-holybus h4, .page-template-page-holybus h2 {
  color: #001731;
  margin: 1.3rem 0;
}

.page-template-page-holybus .bouton {
  text-transform: none;
  font-weight: 700;
}

.page-template-page-holybus .wp-block-separator:not(.is-style-wide):not(.is-style-dots) {
  width: 100%;
  border-color: var(--gris);
  border-width: 1px;
  margin: 1rem auto;
}

.page-template-page-holybus .has-large-font-size strong,
.page-template-page-holybus .has-medium-font-size strong {
  font-weight: 700;
}

.main-holybus {
  background: #FFFFFF;
  padding: 0 1rem;
}

.main-holybus h3, .main-holybus .has-medium-font-size {
  font-size: 20px !important;
}

.image-border {
  border: 1px solid rgb(200, 200, 200)
}

@media screen and (min-width: 992px) {
  .main-holybus {
    padding: 0 7.5% 0 7.5%;
  }

  .main-holybus .translate-up {
    transform: translateY(-5rem);
  }
}

@media screen and (min-width: 1200px) {
  .container-small {
      max-width: 1024px;
      margin: auto;
  }
}

.header-holybus.scroll {
  background: #FFFFFF;
}

.header-logo {
  display: flex;
  justify-content: center;
}

.header-second {
  display: flex;
  align-items: center;
  flex-direction: column;
  justify-content: center;
}

.header-holybus .bouton.rounded {
  border-radius: 30px;
}

.header-slogan {
  padding: 1rem;
  color: var(--grismed);
  font-weight: 700;
  display: block;
}

.header-holybus .bouton {
  display: block;
}

@media screen and (min-width: 992px) {
  .header-logo {
    justify-content: flex-start;
  }

  .header-slogan {
    display: inline-block;
  }

  .header-holybus .bouton.contact {
    display: inline-block;
  }

  .header-second {
    flex-direction: row;
  }
}

.footer-holybus {
  border-top: solid 1px var(--gris);
  text-align: left;
  background: var(--grisclair);
}

.footer-copyright {
  padding: 1rem;
}

.footer-menu {
  padding: 1rem 0;
  display: flex;
}

.footer-holybus ul.menu a {
  color: #000000;
}

.footer-holybus ul.menu a:hover, .footer-holybus ul.menu a:focus {
  color: var(--holytag);
}

.footer-holybus ul.menu li {
  margin: 0 .5rem;
}

.footer-menu .rezo ul li a {
  padding: 0;
  width: 18px;
  height: 18px;
}

.footer-menu .rezo ul li.lkd a {
  background-image: url(img/rezo-l.svg);
}

.footer-menu .rezo ul li.fbk a {
  background-image: url(img/rezo-f.svg);
}

.footer-menu .rezo ul li.twt a {
  background-image: url(img/rezo-x.svg);
}

.buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  justify-content: start;
  align-items: center;
  margin: 2rem 0;
}

.buttons a.bt {
  display: inline-flex;
  justify-content: center;
  padding: 0.75rem 1.5rem;
  background-color: var(--holytag);
  color: var(--blanc);
  border: 1px solid var(--holytag);
  text-transform: uppercase;
  text-align: center;
}

.buttons a.bt.full {
  display: flex;
  flex: 1 1 auto;
}
@media screen and (min-width:768px){
  section.top .buttons a.bt.full {
    flex: 0 0 auto;
  }
}

.buttons a.bt.contour {
  background-color: var(--blanc);
  color: var(--holytag);
}

.buttons a.bt:hover {
  background-color: var(--bleudark);
  color: var(--gris);
}

.buttons a.bt.contour.white {
  background-color: transparent;
  color: var(--blanc);
  border-color: var(--blanc);
}

.buttons a.bt.contour.white:hover {
  color: var(--holytag);
  border-color: var(--holytag);
}

@media screen and (min-width: 992px) {
  .footer-holybus ul.menu {
    display: flex;
    justify-content: center;
    gap: 0.5rem
  }
}

@media screen and (max-width: 992px) {
  .main-holybus .alignfull.has-background, .main-holybus .alignfull {
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
  }
}

