*, ::before, ::after{
  box-sizing: border-box;
  padding: 0;
  margin: 0;
}
.grecaptcha-badge{
  visibility: hidden;
}

h1, .size-h1{
  font-family: var(--font-title) !important;
  text-transform: uppercase;
  font-size: 4rem;
}

h2{
  font-family: var(--font-title) !important;
  text-transform: uppercase;
  font-size: 2rem;
  line-height: 1.2em;
}
h3{
  font-family: var(--font-title) !important;
  text-transform: uppercase;
  font-size: 1.7rem;
  line-height: 1.2em;
}
h4,h5,h6{
  font-family: var(--font-title) !important;
  text-transform: uppercase;
  font-size: 2.0rem;
  line-height: 1.2em;
}

p, li{
  font-family: var(--font-text) !important;
  overflow-wrap: break-word;
  font-size: 1.5rem;
  line-height: 2rem;
  font-weight: 300;
  margin-top: 0;    
  margin-bottom: 0;
}

a{
  color: var(--color-primary);
  transition: all 300ms;
  text-decoration: none;
}
a:hover{
  color: var(--color-secondary);
}

.grid{
  display: grid;
}

.button{
  font-family: var(--font-text);
  font-weight: bold;  
  border:  none;
  padding: var(--gap-button-v) var(--gap-button-h);
  display: inline-flex;
  align-items: center;
  font-size:  1.2rem;
  transition: all .5s;
  text-transform: uppercase;
}

.bg-primary{
  background-color: var(--color-primary);
}
.bg-secondary{
  background-color: var(--color-secondary);
}
.bg-white{
  background-color: var(--color-white);
}
.bg-black{
  background-color: var(--color-black);
}
.bg-nuit{
  background-color: var(--color-nuit);
}
.bg-graphite{
  background-color: var(--color-graphite);
}
.bg-greylight{
  background-color: var(--color-greylight);
}
.bg-web{
  background-color: var(--color-web);
}
.color-primary{
  color: var(--color-primary);
}
.color-secondary{
  color: var(--color-secondary);
}
.color-white{
  color: var(--color-white);
}
.color-black{
  color: var(--color-black);
}
.color-nuit{
  color: var(--color-nuit);
}
.color-graphite{
  color: var(--color-graphite);
}
.color-greylight{
  color: var(--color-greylight);
}
.color-web{
  color: var(--color-web);
}

.button.action{  
  background-color: var(--color-action);  
  color: var(--color-action-text);
  clip-path: polygon(20px 0, 100% 0, 100% 100%, 0 100%);
  font-weight: bold;  
  
  margin-bottom: 5px;
  transition: all 300ms ease-in-out;
}
.button.action:hover{  
  background-color: #FFF;  
  color: var(--color-action);
}
.button.primary{  
  background-color: var(--color-secondary);
  background-image: linear-gradient(90deg, var(--color-primary), rgba(255,255,255,0));
  color: var(--color-primary-text);
}
.button.primary:hover{
  background-color: var(--color-primary);
}

.button.web{  
  background-color: var(--color-web);
  color: var(--color-web-text);
}
.button.web:hover{
  background-color: var(--color-primary);
}

.button.white{
  background: linear-gradient( 90deg, var(--color-white), rgba(255,255,255,0) );
  color: var(--color-primary);
}
.button.white:hover{
  background-color: rgba(255,255,255,1);
}

.button.transparent{
  background-color: rgba(255,255,255,0.3);
  color: var(--color-white);
}
.button.transparent:hover{
  background-color: rgba(255,255,255,1);  
  color: var(--color-primary);
}

.absolute{
  position: absolute;
}
.relative{
  position: relative;
}

.overflow-y-scroll{
  overflow-y: scroll;
}

.pointer{
  cursor: pointer;
}

img.image-hidden{
  width: 0 !important;
  height: 0 !important;
  opacity: 0 !important;
}

.abs-bottom-right{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  justify-content:flex-end; 
  position:absolute;
  color: #FFF;
  bottom: 0;
  right: 0;
}
.abs-bottom-right.padding{
  bottom:var(--gap);
  right:var(--gap);
}

.abs-bottom-left{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:flex-end;   
  position:absolute;
  color: #FFF;   
  bottom: 0;
  left: 0;
}
.abs-bottom-center{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;   
  position:absolute;
  color: #FFF;   
  bottom: 0;
  left: 50%;
  transform: translate(-50%, -50%);  
}
.abs-bottom-left.padding{
  bottom:var(--gap);
  left:var(--gap);
}

.abs-top-left{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:flex-end;    
  position:absolute;
  top:var(--gap);
  left:var(--gap);
  color: #FFF;  
}
.abs-top-right{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  justify-content:flex-end;   
  position:absolute;
  top:var(--gap);;
  right:var(--gap);
  color: #FFF;   
}

.black{
  color: var(--color-black);
}

.white{
  color: var(--color-white);
}


.flex{
  display: flex !important;
}

.flex.wrap{
  flex-wrap: wrap;
}

.flex.column{
  flex-direction: column;
}
.flex.row{
  flex-direction: row;
}

.flex.align-start{
  align-items: flex-start;
}
.flex.align-center{
  align-items: center;
}
.flex.justify-start{
  justify-content: flex-start;
}
.flex.justify-end{
  justify-content: flex-end;
}
.flex.justify-center{
  justify-content: center;
}

.hidden{
  display: none !important;
}

.nomargin{
  margin: 0 !important;
}
.nomargin-right{
  margin-right: 0 !important;
}
.nomargin-left{
  margin-left: 0 !important;
}
.margin-gap{
  margin-right: var(--gap);
  margin-left: var(--gap);
}
.margin-right-gap{
  margin-right: var(--gap);
}
.margin-left-gap{
  margin-left: var(--gap);
}
.margin-left-gap-2{
  margin-left: var(--gap-2);
}
.margin-top-gap{
  margin-top: var(--gap);
}
.margin-bottom-gap{
  margin-bottom: var(--gap);
}
.nopadding{
  padding: 0 !important;
}
.nopadding-right{
  padding-right: 0 !important;
}
.nopadding-left{
  padding-left: 0 !important;
}
.padding-gap{
  padding-right: var(--gap);
  padding-left: var(--gap);
}
.padding-right-gap{
  padding-right: var(--gap);
}
.padding-left-gap{
  padding-left: var(--gap);
}

.inline-flex{
  display: inline-flex;
}
.inline-block{
  display: inline-block;
}
.relative{
  position: relative;
}

.align-right{
  text-align: right;
}
.align-left{
  text-align: left;
}
.align-center{
  text-align: center;
}
.align-justify{
  text-align: justify;
}

span.gap-l{
  padding-left: var(--gap);
}
span.gap-r{
  padding-right: var(--gap);
}

.font-title{
  font-family: var(--font-title) !important;
  text-transform: uppercase;
}
.font-text{
  font-family: var(--font-texte) !important;
}

/* Style.css WP */
html :where(img[class*=wp-image-]) {
    height: auto;
    max-width: 100%;
}

.aligncenter {
    display: block;
    margin-left: auto;
    margin-right: auto;
}
.alignright {
    float: right;
    margin: 0.5em 0 0.5em 1em;
}
.alignleft {
    float: left;
    margin: 0.5em 1em 0.5em 0;
}

@media (max-width: 1200px) {
}
@media (max-width: 820px) {
}
@media (max-width: 480px) {
  h1{
    font-size: 2.6rem;
  }
  .flex.hidden-mobile{
    display: none;
  }
  .flex.block-mobile{
    flex-direction: column;
  }  
  .flex.column-mobile{
    flex-direction: column;
  }  
  header .button.action{
    font-size: 1.3rem;
    padding: var(--gap-button-v) var(--gap) var(--gap-button-v) var(--gap-2);
  }
}
