:root {
	--text: hsla(0, 0%, 0%, 0.8);
	--border: hsla(0, 0%, 0%, 0.2);
	
	--color: hsl(244, 75%, 65%);
	
	--color1: hsl(244, 75%, 65%);
	--color2: hsl(312, 100%, 70%);
	--color3: hsl(173, 95%, 55%);
	--color4: hsl(61, 98%, 60%);
	
	--darkBackground: hsl(244, 55%, 15%);
	--lightBackground: hsl(244, 10%, 95%);
	
	--blackOnLight: rgba(0, 0, 0, 0.9);
	--whiteOnDark: rgba(255, 255, 255, 0.9);
	
	--colorTag0: hsl(0, 0%, 50%);
	--colorTag1: hsl(352, 90%, 60%);
	--colorTag2: hsl(28, 90%, 60%);
	--colorTag3: hsl(48, 90%, 55%);
	--colorTag4: hsl(112, 70%, 65%);
	--colorTag5: hsl(215, 90%, 65%);
	--colorTag6: hsl(285, 70%, 65%);
}
@font-face {
	font-family: 'Inter';
	font-weight: 100 900;
	font-style: normal;
	font-feature-settings: 'liga' 1, 'calt' 1; /* fix for Chrome */
	src: url("/font/inter/InterVariable.woff2?v=4.0") format("woff2");
}
html, body {
	margin: 0;
	padding: 0;
}
html {
	font-family: 'Inter';
	font-size: 16px;
	line-height: 1.5em;
	font-weight: 400;
	color: var(--text);
}
a {
	color: inherit;
}
b {
	font-weight: 600;
}
p {
	margin: 1em 0;
}
em {
	font-style: italic;
}
h1 {
	font-size: 2.5em;
	font-weight: 700;
	line-height: 1.08em;
	letter-spacing: -0.02em;
	padding: 0;
	margin: 0 0 2rem 0;
}
h2 {
	border-bottom: 2px solid;
	padding: 0 0 0.25rem 0;
	font-size: 1.5em;
	font-weight: 700;
	line-height: 1em;
	letter-spacing: -0.02em;
	margin: 3rem 0 1rem 0;
}
h3 {
	font-size: 1.25em;
	font-weight: 700;
	line-height: 1em;
	letter-spacing: -0.02em;
	margin: 2rem 0 1rem 0;
}
.content {
	margin: 0 auto;
	width: calc(100% - 4rem);
	max-width: 960px;
	padding: 0 2rem;
}
@media (max-width: 600px) {
	.content {
		padding: 0 1rem;
		width: calc(100% - 2rem);
	}
	.content.start {
		padding: 0;
		width: 100%;
	}
}

/* intro */
.intro {
	background-image: linear-gradient(to bottom, hsl(244, 80%, 15%) 0%, hsl(270, 100%, 32%) 100%);
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	color: var(--whiteOnDark);
}
.intro .content {
	width: content-box;
	padding-top: 4rem;
	padding-bottom: 2rem;
	background: url(img/background-intro-article.svg) no-repeat center bottom;
	background-size: contain;
	display: flex;
	gap: 2em;
	align-items: center;
}
@media (max-width: 600px) {
	.intro .content.page {
		flex-direction: column-reverse;
	}
}
.intro .content.page > *:first-child {
	flex-grow: 1;
}
.intro .content.start {
	flex-direction: column;
	text-align: center;
	position: relative;
	padding: 0;
	overflow: hidden;
}
.intro .content.start h1 {
	max-width: 600px;
	margin: 0 1rem 6rem 1rem;
	z-index: 3;
}
.intro .content.start .mask {
	position: absolute;
	width: 400px;
	height: 400px;
	backdrop-filter: blur(3px);
	-webkit-backdrop-filter: blur(3px);
}
.intro .content.start .filter {
	position: absolute;
	top: 30px;
	width: 340px;
	height: 340px;
	animation-name: filter1;
	animation-iteration-count: infinite;
	animation-timing-function: linear;
}
.intro .content.start .filter1 {
	animation-duration: 6s;
	animation-name: toRight;
}
.intro .content.start .filter2 {
	animation-duration: 5s;
	animation-name: toLeft;
}
.intro .content.start .filter3 {
	animation-duration: 7s;
	animation-name: toRight;
}
.intro .content.start .filter4 {
	animation-duration: 8.5s;
	animation-name: toLeft;
}
.intro .content.start .filter > * {
	border-radius: 50%;
	backdrop-filter: brightness(140%);
	-webkit-backdrop-filter: brightness(140%);
}
.intro .content.start .filter1 > * {
	width: 300px;
	height: 300px;
}
.intro .content.start .filter2 > * {
	position: absolute;
	right: 0;
	width: 280px;
	height: 280px;
}
.intro .content.start .filter3 > * {
	position: absolute;
	bottom: 0;
	width: 260px;
	height: 260px;
}
.intro .content.start .filter4 > * {
	position: absolute;
	right: 0;
	bottom: 0;
	width: 240px;
	height: 240px;
}
@keyframes toRight {
	0% {
		transform: rotate(0deg);
	}
	100% {
		transform: rotate(360deg);
	}
}
@keyframes toLeft {
	0% {
		transform: rotate(0deg);
	}
	100% {
		transform: rotate(-360deg);
	}
}

.intro .content.page img {
	width: 120px;
	height: 120px;
	border: 2px solid white;
	border-radius: 30px;
	backdrop-filter: brightness(130%);
	-webkit-backdrop-filter: brightness(130%);
}
.intro .content.index img {
	width: 180px;
	height: 180px;
	border: 2px solid white;
	border-radius: 45px;
	backdrop-filter: brightness(130%);
	-webkit-backdrop-filter: brightness(130%);
}
.intro .content.start img {
	width: 200px;
	height: 200px;
	border: 2px solid rgba(255, 255, 255, 0.5);
	border-radius: 45px;
	margin-top: 6em;
	z-index: 1;
}
.intro .content.index {
	flex-direction: column;
}
.intro .categorie {
	font-size: 1.5em;
	font-weight: 600;
	margin-bottom: 0.5em;
}
.intro p {
	font-size: 1.25em;
	line-height: 1.3em;
}

/* header */
header {
	margin: 0 auto;
	max-width: 960px;
	height: 60px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 0 2rem;
	border-bottom: 1px solid rgba(255, 255, 255, 0.2);
}
header .logo * {
	display: block;
}
header .nav {
	display: flex;
	gap: 0.75em;
	font-size: 0.9em;
	color: rgba(255, 255, 255, 0.8);
}
header .nav a {
	text-decoration: none;
	color: inherit;
	border: 1px solid;
	border-radius: 0.5em;
	padding: 0.25em 0.5em;
}
@media (max-width: 600px) {
	header {
		padding: 0 1rem;
	}
	header .nav {
		gap: 0.5em;
	}
	header .nav > *:first-child {
		display: none;
	}
}

/* nav */
nav {
	color: var(--color);
	display: flex;
	position: sticky;
	background-color: hsla(244, 80%, 90%, 0.8);
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
	top: 0;
	padding: 0.5em 0;
	border-bottom: 1px solid;
}
nav a {
	text-decoration: none;
}
nav a:hover {
	text-decoration: underline;
}
nav .content > *::after {
	content: '›';
	margin: 0 0.6em;
}
nav .content > *:last-child::after {
	content: none;
}

/* article */
article {
	margin: 0 auto;
	max-width: 960px;
	padding: 6rem 2rem;
}
article > *:first-child {
	margin-top: 0 !important;
}
article > *:last-child {
	margin-bottom: 0 !important;
}
article ul {
	padding: 0;
	margin: 1.5em 0;
}
article ul.border {
	border-bottom: 1px solid var(--border);
}
article ul.border li {
	border-top: 1px solid var(--border);
}
article li {
	list-style: none;
	margin: 0;
	padding: 0.5em;
	display: flex;
}
article li:before {
	content: "●";
	margin-right: 0.5em;
	color: var(--border);
}
article ul.roundIcon li {
	display: flex;
	align-items: center;
	gap: 1em;
}
article ul.roundIcon li > *:first-child {
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background-color: var(--color);
	flex-grow: 0;
	flex-shrink: 0;
}
article ul.roundIcon li.tag0 > *:first-child { background-color: var(--colorTag0);}
article ul.roundIcon li.tag1 > *:first-child { background-color: var(--colorTag1);}
article ul.roundIcon li.tag2 > *:first-child { background-color: var(--colorTag2);}
article ul.roundIcon li.tag3 > *:first-child { background-color: var(--colorTag3);}
article ul.roundIcon li.tag4 > *:first-child { background-color: var(--colorTag4);}
article ul.roundIcon li.tag5 > *:first-child { background-color: var(--colorTag5);}
article ul.roundIcon li.back > *:first-child { background-image: url(/img/icon-small-back.svg);}
article ul.roundIcon li.check > *:first-child { background-image: url(/img/icon-small-check.svg);}
article ul.roundIcon li.clock > *:first-child { background-image: url(/img/icon-small-clock.svg);}
article ul.roundIcon li.edit > *:first-child { background-image: url(/img/icon-small-edit.svg);}
article ul.roundIcon li.export > *:first-child { background-image: url(/img/icon-small-export.svg);}
article ul.roundIcon li.options > *:first-child { background-image: url(/img/icon-small-options.svg);}
article ul.roundIcon li.plus > *:first-child { background-image: url(/img/icon-small-plus.svg);}
article ul.roundIcon li.x > *:first-child { background-image: url(/img/icon-small-x.svg);}
article ul.roundIcon li:before {
	content: none;
}
article table {
	width: 100%;
	border: 1px solid var(--border);
	border-collapse: collapse;
	margin: 1em 0;
}
article table thead {
	font-weight: 600;
	background-color: var(--lightBackground);
	border-bottom: 2px solid var(--text);
}
article table td {
	border: 1px solid var(--border);
	padding: 0.2em 0.5em;
}
@media (max-width: 600px) {
	article table td {
		font-size: 0.8em;
		line-height: 1.4em;
	}
}
article table.center td {
	text-align: center;
}
article table.alignLeftFirst tr > td:first-child {
	text-align: left;
}

article em {
	font-style: italic;
	color: red;
}
article .note {
	font-size: 0.9em;
	background-color: var(--lightBackground);
	border-left: 4px solid var(--color);
	padding: 0.75rem 1rem;
	margin: 2rem 0;
}
article .note li {
	padding: 0;
}
article a {
	color: var(--color);
}
article a.app {
	background-color: var(--color);
	color: white;
	text-decoration: unset;
	padding: 0.1em 0.4em;
	border-radius: 0.5em;
	white-space: nowrap;
}
article a.app::before {
	content: '↗ ';
}
article .note > *:first-child {
	margin-top: 0;
}
article .note > *:last-child {
	margin-bottom: 0;
}
@media (max-width: 600px) {
	article {
		padding: 4rem 1rem;
	}
}
article .vignettes {
	
}
article .icons {
	margin: 1.5em 0;
	max-width: fit-content;
	display: flex;
	flex-wrap: wrap;
	gap: 1.5em;
	background-color: var(--lightBackground);
	padding: 1em;
	border-radius: 1em;
}
article .icons > * {
	display: flex;
	flex-direction: column;
	gap: 0.5em;
	align-items: center;
	text-align: center;
}
article .icons > * > *:not(img) {
	font-size: 0.8em;
	font-weight: 500;
	line-height: 1.2em;
}
article img.roundIcon {
	display: inline-block;
	vertical-align: middle;
	background-color: var(--color);
	width: 20px;
	height: 20px;
	border-radius: 50%;
}

/* footer */
footer {
	background-color: var(--darkBackground);
	color: white;
	text-align: center;
	font-size: 0.8em;
	padding: 4rem 2rem;
	display: flex;
	flex-direction: column;
	gap: 2em;
}
footer a {
	color: inherit;
}

@media only screen and (max-width: 600px) {
	
}
