/*
 Theme Name:   Maxime Lauzier
 Theme URI:    https://maximelauzier.com
 Description:  Thème créé par Maxime Lauzier
 Author:       Maxime Lauzier
 Author URI:   https://maximelauzier.com
 Template:     generatepress
 Version:      5.1
*/

/* -- Polices -- */
/* open-sans-regular - latin */
/* work-sans-300 - latin */
/* red-hat-mono-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Red Hat Mono';
  font-style: normal;
  font-weight: 400;
  src: url('./fonts/red-hat-mono-v11-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* red-hat-text-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Red Hat Text';
  font-style: normal;
  font-weight: 400;
  src: url('./fonts/red-hat-text-v14-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* red-hat-text-italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Red Hat Text';
  font-style: italic;
  font-weight: 400;
  src: url('./fonts/red-hat-text-v14-latin-italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* red-hat-text-700 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Red Hat Text';
  font-style: normal;
  font-weight: 700;
  src: url('./fonts/red-hat-text-v14-latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

  /* -- Typographie -- */
:root {
	/* These HAVE TO match what is in the Customizer > Typography. Pull in font familys using font manager. Set headline-font as 'All Headlings', set body-font as HTML */ 
	--headline-font: 'Red Hat Mono', sans-serif;
	--body-font: 'Red Hat Text', sans-serif;
    --fs-body: clamp(1rem, 0.974rem + 0.1299999999999999vw, 1.13rem);
    --fs-headline-xxl: clamp(4rem, 3.45rem + 2.75vw, 6.75rem);
    --fs-headline-xl: clamp(2.875rem, 2.375rem + 2.5vw, 5.375rem);
    --fs-headline-h1: clamp(2.5rem, 2.15rem + 1.7500000000000002vw, 4.25rem);
    --fs-headline-h2: clamp(2.175rem, 1.9349999999999998rem + 1.2000000000000002vw, 3.375rem);
    --fs-headline-h3: clamp(1.85rem, 1.6700000000000002rem + 0.8999999999999999vw, 2.75rem);
    --fs-headline-h4: clamp(1.625rem, 1.5rem + 0.625vw, 2.25rem);
    --fs-headline-h5: clamp(1.375rem, 1.3rem + 0.375vw, 1.75rem);
    --fs-headline-h6: clamp(1.25rem, 1.22rem + 0.1499999999999999vw, 1.4rem); 
    --fs-headline-s: clamp(1rem, 0.974rem + 0.1299999999999999vw, 1.13rem);
    --fs-headline-pre: clamp(1rem, 0.974rem + 0.1299999999999999vw, 1.13rem);
    --fs-headline-body-xxl: clamp(1.25rem, 1.15rem + 0.5vw, 1.75rem);
    --fs-headline-body-xl: clamp(1.13rem, 1.0159999999999998rem + 0.5700000000000001vw, 1.7rem);
    --fs-headline-body-l: clamp(1.11rem, 1.052rem + 0.2899999999999998vw, 1.4rem);
    --fs-headline-body-s: clamp(0.95rem, 0.9339999999999999rem + 0.08000000000000007vw, 1.03rem);
    --fs-headline-body-xs: clamp(0.89rem, 0.888rem + 0.010000000000000009vw, 0.9rem);
}

/* Default Body / p font settings */ 
p {
    font-size: var(--fs-body);
	font-weight: 400;
	line-height: 1.5;
	margin-bottom: 1.5rem;
	font-family: var(--body-font);
}

/* Default Headings weight, margin, font-family */ 
h1, h2, h3, h4, h5, h6, .gb-headline-xxl, .gb-headline-xl, .gb-headline-h1, .gb-headline-h2, .gb-headline-h3, .gb-headline-h4, .gb-headline-h5, .gb-headline-h6 {
	font-weight: 400;
	margin-bottom: 1rem;	
	font-family: var(--headline-font);
}

/* Heading font-size and line-height */ 
.gb-headline-xxl{
    font-size: var(--fs-headline-xxl);
    line-height: 1.05;
}

.gb-headline-xl{
    font-size: var(--fs-headline-xl);
    line-height: 1.05;
}

h1, .gb-headline-h1 {
    font-size: var(--fs-headline-h1);
    line-height: 1.05;
}

h2, .gb-headline-h2 {
font-size: var(--fs-headline-h2);
    line-height: 1.1;

}

h3, .gb-headline-h3 {
    font-size: var(--fs-headline-h3);
    line-height: 1.15;

}

h4, .gb-headline-h4 {
    font-size: var(--fs-headline-h4);
    line-height: 1.1;

}

h5, .gb-headline-h5 {
    font-size: 1.375rem;
    font-size: var(--fs-headline-h5);
    line-height: 1.25;
}

h6, .gb-headline-h6 {
    font-size: 1.25rem;
    font-size: var(--fs-headline-h6);
    line-height: 1.4;
}

.gb-headline-s {
    font-size: 1rem;
    font-size: var(--fs-headline-s);
}

.gb-headline-pre {
    font-size: var(--fs-headline-pre);
	text-transform: uppercase; 
	letter-spacing: .1em
}

/* Additional Body font-size */ 

.gb-headline-body-xxl {
	font-family: var(--body-font);
    font-size: 1.25rem;
    font-size: var(--fs-headline-body-xxl);
}

.gb-headline-body-xl {
	font-family: var(--body-font);
    font-size: var(--fs-headline-body-xl);
}

.gb-headline-body-l {
	font-family: var(--body-font);
    font-size: var(--fs-headline-body-l);
}

.gb-headline-body-s {
	font-family: var(--body-font);
    font-size: var(--fs-headline-body-s);
}

.gb-headline-body-xs {
	font-family: var(--body-font);
    font-size: var(--fs-headline-body-xs);
}

/* Add top margin to blog post H2-H6 */

.type-post :is(h2, h3, h4, h5, h6) {
	margin-top: 1.5em;
}

/* BORDER RADIUS */
:root{
    --radius-xs:  .125rem;
    --radius-s:  .25rem;
    --radius-m:  .5rem;
    --radius-l:  1rem;
    --radius-xl:  1.5rem;
    --radius-xxl:  2rem;
    --radius-50:  50%;
    --radius-circle:  50%;
}

/* -- SECTIONS --  */
.gb-container-section-xs {
	padding: 1rem clamp(1rem, 0.848rem + 0.758vw, 1.5rem) 1rem clamp(1rem, 0.848rem + 0.758vw, 1.5rem);
}

.gb-container-section-s {
	padding: clamp(1.5rem, 1.5rem + 0vw, 1.5rem) clamp(1rem, 0.848rem + 0.758vw, 1.5rem) clamp(1.5rem, 1.5rem + 0vw, 1.5rem) clamp(1rem, 0.848rem + 0.758vw, 1.5rem);
}

.gb-container-section-m {
	padding: clamp(1.5rem, 1.197rem + 1.515vw, 2.5rem) clamp(1rem, 0.848rem + 0.758vw, 1.5rem) clamp(1.5rem, 1.197rem + 1.515vw, 2.5rem) clamp(1rem, 0.848rem + 0.758vw, 1.5rem);
}

.gb-container-section-d {
	padding: clamp(3rem, 2.394rem + 3.03vw, 5rem) clamp(1rem, 0.848rem + 0.758vw, 1.5rem) clamp(3rem, 2.394rem + 3.03vw, 5rem) clamp(1rem, 0.848rem + 0.758vw, 1.5rem);
}

.gb-container-section-l {
	padding: clamp(4.5rem, 3.591rem + 4.545vw, 7.5rem) clamp(1rem, 0.848rem + 0.758vw, 1.5rem) clamp(4.5rem, 3.591rem + 4.545vw, 7.5rem) clamp(1rem, 0.848rem + 0.758vw, 1.5rem);
}

.gb-container-section-xl {
	padding: clamp(6rem, 4.788rem + 6.061vw, 10rem) clamp(1rem, 0.848rem + 0.758vw, 1.5rem) clamp(6rem, 4.788rem + 6.061vw, 10rem) clamp(1rem, 0.848rem + 0.758vw, 1.5rem);
}

/* Container Widths */ 

.container-m {max-width: 64rem;}
.container-s {max-width: 48rem;}
.container-xs {max-width: 40rem;}

/* Button Line Height (Global) */
.gb-button{
	line-height: 1em;
}


/* Haumburger Menu Styling - SVG is saved in PHP */ 
	.mobile-menu-control-wrapper .menu-toggle, .mobile-menu-control-wrapper .menu-toggle:hover, .mobile-menu-control-wrapper .menu-toggle:focus, .has-inline-mobile-toggle #site-navigation.toggled {
    background-color: transparent;
	margin-right: -1rem;
	font-size: 1em;
}   

/* Primary Menu Button */ 
@media (min-width: 1025px) {
	.main-navigation .main-nav ul li.nav-cta a {	
	  background: var(--primary) !important;
	  color: var(--surface-0) !important;
	  padding: 1em 1.5em;
	  margin-left: 16px;
	  border-radius: 4px;

	  line-height: 1;
	  font-weight: 600;
	}

	.main-navigation .main-nav ul li.nav-cta a:hover {
	  background: var(--primary-alt) !important;
	  color: var(--surface-0) !important;
	}
} 

@media (max-width: 1024px) { 
	.main-navigation .main-nav ul li.nav-cta a {
	  margin-left: 0px;
	} 
}




/* Remove bottom margin on last paragraph in container (front end) */
.gb-container p:last-child:last-of-type {
	margin-bottom: 0px;
}

/* Remove bottom margin on last paragraph in container (editor) */
.block-editor-block-list__layout .gb-container p:nth-last-child(2) {
	margin-bottom: 0px;
}

/* Set the main content area to a minimum of 65vh */
#main {
	min-height: 85vh;
}

/* Visually Hidden */ 
.visually-hidden:not(:focus):not(:active) {
	clip: rect(0 0 0 0); 
	clip-path: inset(50%);
	height: 1px;
	overflow: hidden;
	position: absolute;
	white-space: nowrap; 
	width: 1px;
}

/* Post Editor Width */ 
.post-type-post .block-editor-block-list__layout {
	max-width: 728px;
	margin-inline: auto;
}

.post-type-post .edit-post-visual-editor__post-title-wrapper .editor-post-title {
	max-width: 728px;
	margin-inline: auto;
}

/* No Underline */
.no-ul, .no-ul a {
	text-decoration: none;
}

/* Make the section padding on GP elements match GB */
.inside-header{
	padding-inline: 1.5rem;
}

@media (max-width: 768px) { 
	.inside-header{
		padding-inline: 1rem;
	}
}

.separate-containers .inside-article, .separate-containers .comments-area, .separate-containers .page-header, .separate-containers .paging-navigation, .one-container .site-content, .inside-page-header{
	padding-inline: 1.5rem;
	padding-block: 5rem;
}

@media (min-width: 769px) and (max-width: 1024px) { 
	.separate-containers .inside-article, .separate-containers .comments-area, .separate-containers .page-header, .separate-containers .paging-navigation, .one-container .site-content, .inside-page-header{
		padding-block: 4.5rem;
	}
} 

@media (max-width: 768px) { 
	.separate-containers .inside-article, .separate-containers .comments-area, .separate-containers .page-header, .separate-containers .paging-navigation, .one-container .site-content, .inside-page-header{
		padding-inline: 1rem;
		padding-block: 3rem;
	}
}

/* Image Scroll Preview */
.image-scroll .featured, .position {
	background-position: 0 0;
	transition: 4s ease-in-out;
}

.image-scroll:hover .featured, .position:hover {
	background-position: 0 100%;
}

/* Stretch link */
.stretched-link::after {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 1;
	content: "";
}

/* Force aspect ratio */
.force-aspect-ratio {
    aspect-ratio: 16/9;
}

.ar-16-9 {
    aspect-ratio: 16/9;
}

.ar-9-16 {
    aspect-ratio: 9/16;
}

.ar-4-3 {
    aspect-ratio: 4/3;
}

.ar-1-1 {
	aspect-ratio: 1/1;
}
body {
	background-color: var(--contrast-alt);
}

/* Site Wrapper */
.site-wrapper {
    width: 100%;
    max-width: 1920px;
    margin-inline: auto;
	background-color:var(--primary-light);
    box-shadow: 0px 0px 5.5px -37px rgba(0, 0, 0, 0.141), 0px 0px 13.1px -37px rgba(0, 0, 0, 0.202), 0px 0px 24.7px -37px rgba(0, 0, 0, 0.25), 0px 0px 44px -37px rgba(0, 0, 0, 0.298), 0px 0px 82.3px -37px rgba(0, 0, 0, 0.359), 0px 0px 197px -37px rgba(0, 0, 0, 0.5);
}

/* Gallery correct */
.wp-block-gallery {
	display: flex;
	flex-wrap: wrap;
}