 /*  
Theme Name: MATT 2025 V12 PHOTO
Theme URI: http://matthieulaporte.com/
Description: MATT
Version: Version : V.12.2026
Author: Matthieu Laporte
Author URI: http://matthieulaporte.com/
*/

/* ==========================================================================
   GOOGLE FONTS HÉBERGÉES EN LOCAL (Albert Sans v4)
   ========================================================================== */

/* albert-sans-300 */
@font-face {
  font-family: 'Albert Sans';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url('fonts/albert-sans-v4-latin-300.woff2') format('woff2');
}
/* albert-sans-500 */
@font-face {
  font-family: 'Albert Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('fonts/albert-sans-v4-latin-500.woff2') format('woff2');
}

/* albert-sans-600 */
@font-face {
  font-family: 'Albert Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('fonts/albert-sans-v4-latin-600.woff2') format('woff2');
}

/* albert-sans-700 */
@font-face {
  font-family: 'Albert Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('fonts/albert-sans-v4-latin-700.woff2') format('woff2');
}

/* albert-sans-800 */
@font-face {
  font-family: 'Albert Sans';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url('fonts/albert-sans-v4-latin-800.woff2') format('woff2');
}

/* albert-sans-900 */
@font-face {
  font-family: 'Albert Sans';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url('fonts/albert-sans-v4-latin-900.woff2') format('woff2');
}

/* typo couleurs general */
body {
font-family: "Albert Sans", sans-serif;
font-size: 12px;
padding: 0;
margin: 0;
border: 0;
background-color: #fff;
}
body {

 font-family: "Albert Sans", sans-serif;
    font-size: 12px;
    padding: 0;
    margin: 0;
    border: 0;
}
/* Forcer le corps à ne pas scroller */
body.no-scroll {
    overflow: hidden; /* Supprime le scroll */
    height: 100%; /* Empêche le contenu de dépasser */
}
strong, b {
font-weight: 600;
}
span {
    font-weight: 500;
}
.wp-block-separator {
border: none!important;
border-top: 0px solid!important;
}
h1 {
font-size: 26px;
font-weight: 700;
height: auto;
margin-bottom: 40px;
padding: 0px 10px 0px 10px;
width: 100%;
line-height: 30px;
}
h1 a {
    border-bottom: 0px solid #000;
    padding-bottom: 2px;
}
h2 {
font-size: 24px;
font-weight: 600;
height: auto;
padding: 0;
width: 100%;
text-transform: initial;
border-bottom: 1px solid #e6e6e6;
padding-bottom: 20px;
}
h3 {
font-size: 20px;
font-weight: 600;
color: rgb(17, 17, 17);
border-bottom: 1px solid #e6e6e6;
padding-bottom: 20px;
}
h3 strong {
    font-weight: 800;
}
h3 a {
    color: #121212;
    text-decoration: none;
    display: inline-block;
    border-bottom: 1px solid #eee;
}
h3 a::after {
    content: '';
    display: block;
    width: 0;
    height: 2px;
    background: #000;
    transition: width .3s;	
        
}
h3 a:hover::after  {
    width: 100%;
    transition: width .3s;
        
}
h4 {
    color: #121212;
    font-size: 32px;
    font-variant: small-caps;
    font-weight: 300;
    letter-spacing: 2px;
    margin: 0;
    padding: 0;
}
p {
font-size: 17px;
line-height: 28px;
font-weight: 400;
margin-top: 0px;
}
li {
font-size: 17px;
line-height: 28px;
margin-bottom: 40px;
}
p a {
    text-decoration: underline;
    color: #111;
    text-decoration-color: #c0c0c0;
    text-decoration-line: revert-layer;
    text-underline-offset: 5px;
    transition: all 0.5s cubic-bezier(0.19, 1, 0.22, 1);
}
p a:hover {
    transition: all 0.5s cubic-bezier(0.19, 1, 0.22, 1);
    text-decoration-color: #111;

}
ul {
list-style: none;
margin-bottom: 40px;
background-color: rgb(245, 245, 245);
padding: 60px 60px 20px;
border-radius: 5px;
margin-top: 40px;
}
ul ul {
    list-style: initial;
border-radius: 0px;
background-color: initial;
margin: 0px;
padding: 20px 40px;
padding-bottom: 0px;

}
blockquote {
margin: 0;
padding: 20px 10% 20px 10%;
font-style: italic;
width: 100%;
text-transform: uppercase;
}
hr {
    width: 100%;
    margin-bottom: 20px;
    border-top: 0px solid #fff;
    margin-top: 20px;
    height: 0px;
}
a {
    border: medium none;
    text-decoration: none;
    color: #000000;
    cursor:pointer;
}
img {
    -webkit-touch-callout: none !important; /* Bloque le menu iOS */
    -webkit-user-select: none !important;
    -khtml-user-select: none !important;
    -moz-user-select: none !important;
    -ms-user-select: none !important;
    user-select: none !important;
    pointer-events: auto; /* Garder auto pour que le JS capture le clic */
    -webkit-user-drag: none !important;
}

/* Optionnel : Empêcher le clic droit natif via CSS sur certains navigateurs */
.no-select {
    -webkit-tap-highlight-color: transparent;
}
a img {
	border:0px;
}


*, *:before, *:after {
    box-sizing: border-box;
}
#overall-fade {
	background-color:#ffffff;
    height: 100%;
    width: 100%;
    float: left;
	z-index:999;
}

#overall-fade {
    animation: fadein 0.5s;
    -moz-animation: fadein 0.5s; /* Firefox */
    -webkit-animation: fadein 0.5s; /* Safari and Chrome */
    -o-animation: fadein 0.5s; /* Opera */
}
@keyframes fadein {
    from {
        opacity:0;
    }
    to {
        opacity:1;
    }
}
@-moz-keyframes fadein { /* Firefox */
    from {
        opacity:0;
    }
    to {
        opacity:1;
    }
}
@-webkit-keyframes fadein { /* Safari and Chrome */
    from {
        opacity:0;
    }
    to {
        opacity:1;
    }
}
@-o-keyframes fadein { /* Opera */
    from {
        opacity:0;
    }
    to {
        opacity: 1;
    }
}

/* container */

.grid-100-fixed {
    height: 60px;
    margin: 0;
    padding: 0;
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 8;
    transition: all 0.5s cubic-bezier(0.19, 1, 0.22, 1);
    background-color:initial;
    border-bottom: initial;
}

.grid-100-fixed-color {
    height: 65px;
    margin: 0;
    padding: 0;
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 99;
	    transition: all 0.5s cubic-bezier(0.19, 1, 0.22, 1);
    background-color: initial;
    opacity: 0;
}
.grid-100-white-title {
text-align: center;
margin-bottom: 60px;
padding: 0;
text-transform: uppercase;
border-top: 1px solid #eee;
padding-top: 60px;
margin-top: 0px;
}
.grid-100-white-title h2 {
    padding: 0;
    margin: 0;
}
.grid-100-white-title p {
    letter-spacing: 2px;
    padding: 0;
    margin: 0;
}
.cool-link-all {
    border: 1px solid #111111;
    border-radius: 40px;
    padding: 15px 40px 15px 40px;
    transition: all 0.5s cubic-bezier(0.19, 1, 0.22, 1);
    background-color: #fff;
    display: inline-block;
}
.cool-link-all:hover {
    border: 1px solid #111111;
    transition: all 0.5s cubic-bezier(0.19, 1, 0.22, 1);
    background-color: #111;
}
.cool-link-all a {
    color: #fff;
    mix-blend-mode: difference;
    transition: all 0.5s cubic-bezier(0.19, 1, 0.22, 1);
}
.cool-link-all p {
    color: #fff;
    mix-blend-mode: difference;
    transition: all 0.5s cubic-bezier(0.19, 1, 0.22, 1);
}
.margin-after-project {
    float: left;
    height: 0px;
    width: 100%;
}
.margin-top {
display: flex;
height: 60px;
width: 100%;
}
.margin-top-2 {
    display: flex;
    height: 30px;
    width: 100%;
}
.margin-top-index {
    float: left;
    height: 100px;
    width: 100%;
}
img.lazyloaded {
    -webkit-transition: opacity .3s linear .2s;
    -moz-transition: opacity .3s linear .2s;
    transition: opacity .3s linear .2s;
    opacity: 1;
}
.mobile{
    display: none;
}
.accroche-home {
max-width: 900px;
padding-left: 40px;
position: relative;
margin: 100px auto 80px;
padding-bottom: 0px;
padding-right: 40px;
}
.accroche-home h1 {
text-align: center;
text-transform: initial;
font-size: 26px;
font-weight: 600;
height: auto;
letter-spacing: 0px;
padding: 0px 10px;
width: 100%;
line-height: 36px;
}