/*
Theme Name: ASR avocats
Author: Studio des formes / Gaël Gouault 
Author URI: https://studiodesformes.net/
Description: …
Version: 1.0.0
Scan: https://wave.webaim.org | https://accessibe.com
*/

   /*/°\
  !& & (@
 ,-\-- /--,
! _!°°° !_ !
!_/!-__-!25/
  /°./\.°\
/===!  !==*/

:root {
	--color: #141A2F;
	--bkgrd: #FFFFFF;
	--color-dark-sky: #141A2F;
	--color-light-sky: #90D2FF;
	--color-dark-wine: #4F0000;
	--color-light-wine: #FFC0E9;
	--border-width: 0;

	--font-reg: 'Switzer-Regular';
	--font-light: 'Switzer-Light';
	--line-height: 1.2;
}


/**
 * 1.0 - Typography
 */

@font-face {
	font-family: 'Switzer-Regular';
	src: url('fonts/Switzer-Regular.woff2') format('woff2'),
	     url('fonts/Switzer-Regular.woff') format('woff'),
	     url('fonts/Switzer-Regular.ttf') format('truetype');
	font-display: swap;
	font-style: normal;
}

@font-face {
	font-family: 'Switzer-Italic';
	src: url('fonts/Switzer-Italic.woff2') format('woff2'),
	     url('fonts/Switzer-Italic.woff') format('woff'),
	     url('fonts/Switzer-Italic.ttf') format('truetype');
	font-display: swap;
	font-style: normal;
}

@font-face {
	font-family: 'Switzer-Light';
	src: url('fonts/Switzer-Light.woff2') format('woff2'),
	     url('fonts/Switzer-Light.woff') format('woff'),
	     url('fonts/Switzer-Light.ttf') format('truetype');
	font-display: swap;
	font-style: normal;
}

/**
 * 2.0 - Normalize
 */

html {
	font-family: var(--font-reg), sans-serif;
	font-size: 62.5%;
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
}

body {
	margin: 0;
	-webkit-tap-highlight-color: rgba(0,0,0,0);
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
menu,
nav,
section,
summary {
	display: block;
}

audio,
video {
	display: inline-block;
	vertical-align: baseline;
}

sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sup {
	top: -0.5em;
}

sub {
	bottom: -0.25em;
}

img,
iframe,
object {
	border: 0;
}

hr {
	-webkit-box-sizing: content-box;
	-moz-box-sizing: content-box;
	box-sizing: content-box;
}

body,
button,
input,
select,
textarea {
	font-family: var(--font-reg);
	font-size: 1rem;
	color: var(--color);
	line-height: var(--line-height);
	-webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

::placeholder {
	color: var(--color);
	opacity: 1;
}

:-ms-input-placeholder {
	color: var(--color);
}

::-ms-input-placeholder {
	color: var(--color);
}

h1,
h2,
h3,
h4,
h5,
h6 {
	font-family: var(--font-light), sans-serif;
	font-size: 5.2em;
	line-height: calc(var(--line-height) / 1.15);
	letter-spacing: -0.04em;
	font-weight: normal;
	clear: both;
	margin: 0;
}

b,
strong {
	font-weight: normal;
}

em,
i {
	font-family: var(--font-light);
	font-style: normal;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
	content: "";
}

small {
	font-size: 1.4em;
	text-transform: uppercase;
	letter-spacing: 0.15rem;
}


/*--- Elements ---*/

*,
*:before,
*:after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-font-smoothing: antialiased;
	-moz-font-smoothing: antialiased;
	-ms-font-smoothing: antialiased;
	-o-font-smoothing: antialiased;
	font-smoothing: antialiased;
}


hr {
	background: var(--color);
	border: 0;
	height: 1px;
	margin: 0 0 1em;
}

ul,
ol {
	margin: 0;
	padding: 0;
}


/*--- Links ---*/

a {
	color: var(--color);
	text-decoration: none;
}

a:hover,
a:active {
	color: var(--color);
}

a:not[target=_blank]:after {
	content: "";
	display: inline-block;
	width: 0.5em;
	height: 0.5em;
	margin: 0 0 0.15em 0.25em;
	background: url(icons/link.svg) no-repeat;
	background-size: contain;
}

a.link svg {
	width: 0.5em;
	height: 0.5em;
	margin: 0 0 0.15em 0.15em;
}

a.link svg * {
	stroke: var(--color);
	transition: stroke .3s;
}

.opt-access--contrast a[target=_blank]:after,
.opt-access--contrast-2 a[target=_blank]:after {
	filter: invert(1);
}

a.link {
	font-size: 1.8em;
	color: var(--color);
	padding: 0.15em 0.5em 0.25em 0.5em;
	border: 1px solid var(--color);
	border-radius: 0.75rem;
	background: var(--bkgrd);
	transition: color .3s, border-color .3s;
}

a.link:hover {
	color: var(--color-light-sky);
	border-color: var(--color-light-sky);
}

a.link:hover svg * {
	stroke: var(--color-light-sky);
}

.hidden {
	display: none;
}

.color-light-sky { color: var(--color-light-sky); }
.color-dark-sky { color: var(--color-dark-sky); }
.color-light-wine { color: var(--color-light-wine); }
.color-dark-wine { color: var(--color-dark-wine); }
.bkgrd-light-sky { background: var(--color-light-sky); }
.bkgrd-dark-sky { background: var(--color-dark-sky); }
.bkgrd-light-wine { background: var(--color-light-wine); }
.bkgrd-dark-wine { background: var(--color-dark-wine); }


/*--- Header ---*/

#masthead {
	position: fixed;
	width: 100%;
	height: 7.5em;
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	z-index: 9;
}

.site-title * {
	font-size: 1.8rem;
}

.site-logo {
	padding: 1.5em 2em;
}

.site-logo svg {
	width: auto;
	height: 4em;
}

.site-logo p {
	font-family: 'Switzer-Regular';
	display: none;
}

#page > div.scrolled .site-logo svg path {
	fill: transparent;
}

.opt-access--contrast .site-logo svg path,
.opt-access--contrast-2 .site-logo svg path {
	fill: var(--color)!important;
}

/*#page > div:not(.page-parent) .site-logo svg path {
	fill: var(--color);
}*/

.site-slogan {
	padding: 1.25em 2em;
}

.site-slogan p {
	font-family: 'Switzer-Regular';
	font-size: 1.8em;
	margin: 0 0 0 14rem;
}

#site-navigation {
	grid-column: 2 / span 4;
}

#site-navigation .menu {
	display: flex;
	align-items: start;
	column-gap: 0.5em;
	padding: 2em;
}

#site-navigation .menu li {
	list-style-type: none;
}

#site-navigation .menu li a {
	font-size: 1.8em;
	color: var(--color);
	padding: 0.1em 0.5em 0.2em 0.5em;
	border: 1px solid var(--color);
	border-radius: 0.75rem;
	background: var(--bkgrd);
	transition: color .3s, border-color .3s;
}

#site-navigation .menu li a:hover {
	color: var(--color-light-sky);
	border-color: var(--color-light-sky);
}


/*--- Main ---*/

.site-content {
	width: 100%;
	background: var(--bkgrd);
}

.content-area {
	width: 100%;
}

.site-content {
  -webkit-transition: -webkit-transform .3s, opacity .3s;
  -ms-transition: -o-transform .3s, opacity .3s;
  -o-transition: -o-transform .3s, opacity .3s;
  transition: transform .3s, opacity .3s;
}

.slide-out .site-content {
  -webkit-transform: translate3d(0, 5em, 0);
  -ms-transform: translate3d(0, 5em, 0);
  -o-transform: translate3d(0, 5em, 0);
  transform: translate3d(0, 5em, 0);
  opacity: 0;
}

.opt-access--contrast .site-content,
.opt-access--contrast-2 .site-content {
	-webkit-transform: none;
  -ms-transform: none;
  -o-transform: none;
  transform: none;
  opacity: 1;
}

/*--- Options ---*/

.entry-column {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	column-gap: 2em;
	padding: 3em 2em;
}

.entry-column-2 { grid-template-columns: repeat(2, 1fr); }
.entry-column-3 { grid-template-columns: repeat(3, 1fr); }

.column-1-2 { grid-column: 1 / span 2; }
.column-2-2 { grid-column: 2 / span 2; }
.column-2-3 { grid-column: 2 / span 3; }
.column-2-4 { grid-column: 2 / span 4; }
.column-3-1 { grid-column: 3 / span 1; }
.column-4-2 { grid-column: 4 / span 2; }

.padding-10-0 {
	padding: 10em 0;
}

.border-top {
	border-top: 4px solid var(--color-light-sky);
}

.border-bottom {
	border-bottom: 4px solid var(--color);
}

.border-top-bottom {
	border-top: 4px solid var(--color);
	border-bottom: 4px solid var(--color);
}

.ronded {
	border-radius: 1em;
	overflow: hidden;
}


/*--- Section ---*/

section {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
}

article {
	position: relative;
	border-bottom: var(--border-width) solid #fff;
}

article:after {
	position: absolute;
	top: 0;
	left: 0;
	content: "";
	width: 18em;
	height: 100%;
	z-index: 1;
}

article:after {
	background-image: url(icons/Logo_ASR_black.svg);
	background-repeat: no-repeat;
	background-attachment: fixed, scroll;
	background-position: 2em 1.5em;
	background-size: auto 4em;
}

/*#page > div:not(.page-parent) article:after,*/
#page > div:not(.scrolled) article:nth-child(1):after,
#page > div:not(.scrolled) article:nth-child(5):after {
	background-image: none;
}

article:nth-child(2):after {
	background-image: url(icons/Logo_ASR_white.svg);
}

article:nth-child(4):after {
	background-image: url(icons/Logo_ASR_light-sky.svg);
}

.opt-access--contrast article:after,
.opt-access--contrast-2 article:after {
	background-image: none;
}

.opt-access--contrast article:nth-child(2),
.opt-access--contrast-2 article:nth-child(2) {
	background: var(--bkgrd);
}

.admin-bar article:after {
	background-position: 2em calc(32px + 1.5em);
}

#home section {
	min-height: 80vh;
}

section .entry-header {
	padding: 0 2em;
}

section .entry-header h1 {
	margin: 0.5em 0;
}

section .entry-hat {
	display: flex;
	align-items: center;
	padding: 2em;
}

section .entry-hat p {
	font-size: 3.2em;
}

section .block-content .entry-hat p {
	font-size: 3.2em;
	margin: 0.5em 0;
}

#expertises section .block-content > .entry-text {
	padding: 2em 2em 0 2em;
}

section .entry-text p {
	font-size: 1.8em;
	line-height: calc(var(--line-height) * 1.2);
}

section .entry-text p:first-child {
	margin-top: 0;
}

section .entry-img figure {
	position: relative;
	width: 100%;
	height: 100%;
	pointer-events: none;
}

section .entry-img figure img {
	position: absolute;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

section .entry-img.filter figure {
	background: var(--color-light-sky);
}

section .entry-img.filter figure img {
	mix-blend-mode: multiply;
}


/* Page */

.page:not(.page-parent):not(.page-child) article {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
}

.page:not(.page-parent):not(.page-child) article .block-content {
	padding: 10em 0;
}

.page:not(.page-parent):not(.page-child) article .entry-header {
	margin: 0 2em 4em 2em;
}

.page:not(.page-parent):not(.page-child) article .entry-content {
	margin: 2em;
}

.page:not(.page-parent):not(.page-child) article .entry-content h2 {
	font-family: var(--font-reg);
	font-size: 3.2em;
}

.page:not(.page-parent):not(.page-child) article .entry-content p {
	font-size: 1.8em;
}

.page:not(.page-parent):not(.page-child) article .entry-content p a {
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}


/*-- Profil ---*/

.profil .entry-img {
	position: relative;
	width: 100%;
	height: 0;
	padding-bottom: 100%;
	overflow: hidden;
}

.profil .entry-img figure {
	position: static;
}

.profil .entry-func {
	padding: 1em 0;
}

.profil .entry-name h2 {
	position: relative;
	font-family: var(--font-reg);
	font-size: 3.2em;
	line-height: var(--line-height);
	letter-spacing: 0;
	width: calc(100% - 4rem);
	margin: 1rem 0;
	cursor: pointer;
}

.profil .entry-name h2:after {
	position: absolute;
	top: 0.5rem;
	right: -4rem;
	content: "";
	width: 3rem;
	height: 3rem;
	background: url(icons/down.svg) no-repeat;
	background-size: contain;
}

.profil .entry-name.open h2:after {
	background: url(icons/up.svg) no-repeat;
	background-size: contain;
}

.opt-access--contrast .profil .entry-name h2:after,
.opt-access--contrast-2 .profil .entry-name h2:after {
	filter: invert(1);
}

.profil .entry-text {
	display: none;
}

.profil .entry-link {
	display: flex;
	flex-wrap: wrap;
	column-gap: 0.5em;
	padding: 2em 0;
}


/*-- Skill ---*/

.entry-accordion {
	padding: 0 2em 5em 2em;
}

.skill .entry-name h2 {
	position: relative;
	font-family: var(--font-reg);
	font-size: 3.2em;
	line-height: var(--line-height);
	letter-spacing: 0;
	width: calc(100% - 1em);
	margin: 1rem 0;
	cursor: pointer;
}

.skill .entry-name h2:after {
	position: absolute;
	top: 0.5rem;
	right: -1em;
	content: "";
	width: 3rem;
	height: 3rem;
	background: url(icons/down-light-sky.svg) no-repeat;
	background-size: contain;
}

.skill .entry-name.open h2:after {
	background: url(icons/up-light-sky.svg) no-repeat;
	background-size: contain;
}

.opt-access--contrast .skill .entry-name h2:after,
.opt-access--contrast-2 .skill .entry-name h2:after {
	background: url(icons/down.svg) no-repeat;
	background-size: contain;
	filter: invert(1);
}

.opt-access--contrast .skill .entry-name.open h2:after,
.opt-access--contrast-2 .skill .entry-name.open h2:after {
	background: url(icons/up.svg) no-repeat;
	background-size: contain;
	filter: invert(1);
}

.skill .entry-text {
	display: none;
}


/*-- Skill ---*/

.contact {
	padding: 1.5em 2em;
}

.contact .entry-name h2 {
	position: relative;
	font-family: var(--font-reg);
	font-size: 3.2em;
	line-height: var(--line-height);
	letter-spacing: 0;
	margin: 1rem 0;
	cursor: pointer;
}

.contact .entry-name small {
	display: block;
	margin: 1.5rem 0 -0.5rem 0;
}

.contact .entry-small {
	margin: 1.5em 0;
}

.contact .entry-small small {
	display: block;
	line-height: 1;
}


/*--- Site map ---*/

.sitemap .entry-content h2 {
	font-weight: bold;
}

.sitemap .entry-content ul {
	margin-top: 0;
	margin-bottom: 2rem;
}

.sitemap .entry-content ul > ul {
	padding-left: 2rem;
}

.sitemap .entry-content li {
	font-size: 1.6rem;
	line-height: 1.6;
}

.sitemap .entry-content > ul li:before {
	content: none;
	text-underline-position: under;
}

.sitemap .entry-content li a {
	text-underline-position: under;
}


/*--- Footer ---*/

#footer {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	padding: 3em 2em 2em 2em;
	column-gap: 2em;
}

.site-footer .logo-baseline svg {
	width: auto;
	height: 4.333em;
}

.site-footer .logo-baseline svg path {
	fill: var(--color-light-wine);
}

.footer-navigation .menu li {
	list-style-type: none;
}

.footer-navigation .menu li a {
	font-size: 1.6em;
	color: var(--color-light-wine);
}

.footer-navigation .menu li a:hover,
.footer-navigation .menu li.current-menu-item a {
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}

.footer-ecoIndex {
	margin-top: 6em;
}

.footer-ecoIndex p {
	font-family: 'Switzer-Light';
	font-size: 1.6em;
	line-height: calc(var(--line-height) / 1.125);
	margin: 0;
}


/*--- Media Queries ---*/

@-ms-viewport {
	width: device-width;
}

@viewport {
	width: device-width;
}


/*--- >= 710px ---*/

@media screen and (min-width: 1600px) {
	html {
		font-size: 68.8%;
	}
}

@media screen and (min-width: 1920px) {
	html {
		font-size: 75.0%;
	}
}

@media screen and (max-width: 1280px) {
	#masthead,
	section,
	.page:not(.page-parent):not(.page-child) article {
		grid-template-columns: repeat(4, 1fr);
	}
}

@media screen and (max-width: 960px) {
	html { 
		font-size: 58%;
	}
	#masthead,
	section,
	.page:not(.page-parent):not(.page-child) article,
	#footer {
		grid-template-columns: repeat(2, 1fr);
	}
	.site-logo p {
		display: block;
		position: absolute;
		font-size: 1.8em;
		top: -0.5rem;
		left: 16rem;
	}
	#site-navigation,
	.site-slogan {
		display: none;
	}
	.column-2-2,
	.column-1-2 { grid-column: 1 / span 1; }
	.column-2-3,
	.column-2-4 { grid-column: 1 / span 2; }
	.column-3-1,
	.column-4-2 { grid-column: 2 / span 1; }

}

@media screen and (max-width: 782px) {
	.admin-bar article:after {
		background-position: 2em calc(46px + 1.5em);
	}
}

@media screen and (max-width: 600px), print {
	#masthead {
		position: absolute;
	}
	#masthead,
	section,
	.page:not(.page-parent):not(.page-child) article,
	.entry-column,
	#footer {
		display: block;
	}
	#page > div .site-logo svg path {
		fill: var(--color)!important;
	}
	article:after {
		content: none;
		background-image: none!important;
	}
	.padding-10-0 {
		padding-top: 2em;
	}
	#home section {
		min-height: auto;
	}
	#home .entry-hat {
		padding-top: 14em;
		padding-bottom: 10em;
	}
	#home .entry-img {
		height: 75vw;
	}
	#cabinet .entry-img {
		height: 50vw;
		margin-bottom: 2em;
	}
	.footer-navigation {
		margin-top: 3em;
	}
}


@media print {
  
  @page {
    margin-left: 0.75cm;
    margin-right: 0.75cm;
  }

  body {
    color: #000 !important;
    background: none !important;
    font-size: 6pt;
  }

  *,
  *:before,
  *:after {
    color: #000 !important;
    background: none !important;
    filter: none !important;
    opacity: 1 !important;
  }

  footer,
  .no-print {
    display: none !important;
  }

  main {
    width: 100%;
  }

  a[target=_blank]:after {
    content: " (" attr(href) ")";
    font-size: 10pt;
  }

  .profil .entry-img {
  	width: 50%;
  	padding-bottom: 50%;
  }

  .profil .entry-text,
  .skill .entry-text {
  	display: block !important;
  }

}

@media (hover: none) and (pointer: coarse) {

}
