@charset "utf-8";
/*@import url('https://fonts.googleapis.com/css?family=Work+Sans:200,400,600,700');*/

@font-face {
	font-family: 'Domaine';
	font-weight: normal;
    src: url('fonts/DomaineSansTextRegular.otf');
}

@font-face {
	font-family: 'DomaineBold';
	font-weight: bold;
    src: url('fonts/DomaineSansTextBold.otf');
}

:root {
	--pink: #f6e9dc;
	--red: #f8c4c2;
	--blue: #d4e6f5;
	--turquoise: #d5e2eb;
	--yellow: #fff5cc;
	--black-font: black;
}

html {
	height: 100%;
	box-sizing: border-box;
}

*, *:before, *:after {
	box-sizing: inherit;
}

body {
	margin: 0; 
	padding: 0;
	font-family: 'Domaine';
	color: var(--black-font);
	font-size: 10pt;
	width: 100%;
	height: 100%;
	background-color: var(--pink);
}

a {
	color: inherit;
	font-style: inherit;
}

b {
	text-decoration: underline;
}

h1:first-child {
	margin-top: 0; 
}

h2 {
	font-weight: normal;
}

p:first-child {
	margin-top: 0;
}

p:last-child {
	margin-bottom: 0;
}

.logo-container {
	display: flex;
	flex-direction: column;
	justify-content: center;

}

.logo {
	transition: all .4s ease;
	pointer-events: initial;
	cursor: pointer;
	/*background: url('images/logo-amelie-leclerc.png') no-repeat center;*/
	font-family: 'DomaineBold';
	background-size: contain;
	font-size: 2.5em;
}

.top {
	display: flex;
	justify-content: space-between;

	z-index: 1;
	width: 100%;
	position: fixed;
	pointer-events: none;
	padding: 40px 50px;
	line-height: 1.5;
}

.right-menu {
	display: flex;
	flex-direction: column;
	justify-content: flex-end;

	text-align: right;
}

.menu-item {
	transition: all .1s ease;

	position: relative;
	cursor: pointer;
	pointer-events: initial;
}

.menu-item.active {
	text-decoration: underline;
}

.popup {
	z-index: 10;
	position: fixed;
	border: 1px solid black;
	background-color: white;
	visibility: hidden;
	cursor: -webkit-grab;
}

.genie {
	transition: all .5s ease; 
	transform: scale(0) translate(110%, 700px);
	transform-origin: 110% 700px;
	opacity: 0;
}

.content {
	display: flex;
	flex-direction: column;

	height: 100%;
}

.home, .about, .contact {
	display: flex;
	flex-direction: column;
	position: relative;
	height: 100%;
}

.home {
	align-items: center;

}

.about {
	width: 600px;
}

.about, .contact {
	justify-content: center;

	margin: 0 auto;
}

.contact, .contact .links, .about {
	margin-top: 170px;
}

.contact .columns {
	display: flex;
	
}

.contact .left {
	width: 300px;
	margin-right: 60px;
}

.contact .left img {
	width: 100%;
}

.about .columns {
	display: flex;
	justify-content: space-between;
}

.about .columns > div {
	width: 250px;
}

.columns .picto {
	display: flex;
	align-items: flex-end;

	margin: 20px auto;
	background-size: 30%;
	background-repeat: no-repeat;
	height: 120px;
	font-family: 'DomaineBold';
}

.picto.head {
	background-image: url('images/head.png');
}

.picto.book {
	background-image: url('images/book.png');
}

.down-arrow {
	font-weight: normal;
}

.contact-info {
	font-weight: normal;
	font-size: .7em;
	line-height: 1.5;
}

.mask {
	position: absolute;
	width: 100%;
	height: 100%;
	background-color: var(--pink);
	mix-blend-mode: color;
}

.menu-item:hover .dropdown {
	visibility: visible;
}

.dropdown {
	visibility: hidden;
	position: absolute;
	width: 300px;
	top: 5px;
	left: 10px;
	padding: 30px 0;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}

.dropdown.hidden {
	display: none;
}

.dropdown .project {
	margin: 10px 0;
	position: relative;
	display: inline-block;
}

.projects {
	overflow: scroll;
	text-align: center;
	margin-top: 200px;
	width: 90%;
}

.projects .project {
	z-index: 1;
	cursor: pointer;
	margin: 10px;
	display: inline-block;
	width: 45%;
	height: 350px;
	background-size: cover;
	background-position: center;
}

.projects .project > div {
	display: flex;
	flex-direction: column;

	text-align: left;
	font-size: 2em;
	font-weight: 600;
	height: 100%;
	background: radial-gradient(rgba(0, 0, 0, .3), rgba(0, 0, 0, .6));
	padding: 20px;
	color: white;
	opacity: 0;
}

.projects .project .subtext {
	margin-top: 5px;
	font-style: italic;
	font-size: .5em;
	font-weight: lighter;
} 

.projects .project:hover div {
	opacity: 1;
}
	
.projects .project:last-child {
	margin-bottom: 0;
}

.preview-container {
	display: flex;
	align-items: center;
	justify-content: center;

	z-index: -1;
	position: fixed;
	top: 0;
	width: 100%;
	height: 100%;
	visibility: hidden;
}

.preview {
	position: relative;
	width: 100%;
	height: 100%;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	opacity: .6;
}

.info-link {
	z-index: 2;
	position: fixed;

	height: 50px;
	bottom: 50px;
	right: 100px;
	cursor: pointer;
	background-color: black;
	font-size: .8em;
}

.info-link a {
	text-decoration: none;
}

.info-link div {
	transition: all .1s ease;

	display: flex;
	align-items: center;
	justify-content: center;

	padding: 0 10px;
	width: 100%;
	height: 100%;
	background-color: white;
	border: 1px solid black;
	margin-top: -5px;
	margin-left: 5px;
}

.info-link:hover div {
	margin-top: -3px;
	margin-left: 3px;
}

.info-link:active, .info-link.active {
	background-color: transparent;
}

.info-link:active div, .info-link.active div {
	margin: 0;
	background-color: transparent;
}

.info {
	width: 280px;
	top: 10%;
	right: 10%;
	padding: 25pt;
	text-align: left;
	font-size: .8em;
	line-height: 1.5;
}

.close {
	z-index: 10;
	position: absolute;
	top: 20px;
	right: 20px;
	width: 21px;
	height: 21px;
	border-radius: 50%;
	border: 1px solid black;
	transform: rotate(45deg);
	cursor: pointer;
}

.close:before {
	content: '';
	position: absolute;
	top: 49%;
	width: 100%;
	height: 1px;
	background-color: black;
}

.close:after {
	content: '';
	position: absolute;
	left: 49%;
	width: 1px;
	height: 100%;
	background-color: black;
}

.wip {
	transition: all .2s ease-in-out;

	display: flex;
	align-items: center;
	justify-content: center;

	z-index: 2;
	position: absolute;
	background-color: black;
	border: 1px solid black;
	width: 200px;
	height: 200px;
	color: transparent;
	text-align: center;
	cursor: help;
	border-radius: 50%;
	animation: moveX 1.95s linear 0s infinite alternate, moveY 2.41s linear 0s infinite alternate;
}

.journal .wip {
	animation-direction: alternate-reverse;
}

.wip:hover {
	width: 200px;
	height: 200px;
	color: inherit;
	animation-play-state: paused;
	background-color: var(--pink);
}

@keyframes moveX {
  from { left: 0; } to { left: calc(100% - 200px); }
}

@keyframes moveY {
  from { top: 0; } to { top: calc(100% - 200px); }
}

.project-title {
	border-bottom: 1px solid black;
	display: inline-block;
	margin-bottom: 4px;
	font-weight: bold;
	text-transform: uppercase;
	font-size: 1.3em;
}

.project-title:not(:first-child) {
	margin-top: 20px;
}

.project-page {
	width: 100%;
	background: white;
	text-align: center;
}

.project-page img {
	width: 58%;
	margin-bottom: 40px;
}

.project-page img:first-child, .cover {
	width: 100% !important;
}

.scroll {
	z-index: 4;
	position: fixed;
	cursor: pointer;
	visibility: hidden;
	text-align: center;
	width: 200px;
	color: transparent;
}

.scroll:hover {
	color: inherit;
}

.scroll:before {
	content: '';
	position: absolute;
	width: 30px;
	height: 30px;
	left: 85px;
	border: 1px solid black;
	border-right: none;
	border-bottom: none;
}

.scroll.totop {
	top: 5%;
	left: 20%;
}

.scroll.tobottom {
	right: 20%;
	bottom: 5%;
}

.scroll.totop:before {
	top: 50px;
	transform: rotate(45deg);
}

.scroll.tobottom:before {
	bottom: 50px;
	transform: rotate(-135deg);
}

.contact-card {
	transition: transform .2s ease;

	position: fixed;
	height: 300px;
	width: 500px;
	top: calc(50% - 150px);
	left: calc(50% - 250px);
	background: white;
	border: 1px solid black;
}

.drawing {
	position: relative;
	width: 100%;
	height: 100%;
	font-size: .8em;
}

.drawing canvas {
	width: 100%;
	height: 100%;
	cursor: url('images/marker.svg') 0 40, crosshair;
}

.placeholder {
	display: flex;
	justify-content: center;
	align-items: center;

	position: absolute;
	width: 100%;
	height: 100%;
	font-size: .9em;
	line-height: 100%;
	pointer-events: none;
}

.send {
	position: absolute;
	right: 10pt;
	top: 10pt;
	width: 50px;
	height: 50px;
	font-size: .8em;
	line-height: 130px;
	text-align: center;
	cursor: pointer;
	background-image: url('images/victoire-2.svg');
	background-position: bottom center;
	background-repeat: no-repeat;
}

.send:hover {
	background-image: url('images/victoire-1.svg');
}

.address {
	position: absolute;
	right: 35pt;
	bottom: 25pt;
	width: 35%;
	height: 40%;
}

.copyright {
	margin-bottom: 50px;
	font-size: .8em;
	font-weight: lighter;
}

.colors, .strokes {
	display: flex;
	align-items: center;
	justify-content: center;

	position: absolute;
	bottom: 0;
	box-sizing: content-box;
	pointer-events: none;
}

.color, .stroke {
	pointer-events: initial;
}

.colors {
	flex-direction: column;
	width: 40px;
}

.color {
	width: 20px;
	height: 20px;
	border-radius: 50%;
	border: 1px solid transparent;
	margin: 10px 0;
}

.color.pink {
	background-color: var(--pink);
}

.color.red {
	background-color: var(--red);
}

.color.blue {
	background-color: var(--blue);
}

.strokes {
	flex-direction: row;
	height: 40px;
	margin-left: 40px;
}

.stroke {
	height: 20px;
	margin: 0 10px;
	border-radius: 50% / 20%;
	border: 1px solid transparent;
}

.stroke.small {
	width: 4px;
}

.stroke.large {
	width: 8px;
}

.color.active, .stroke.active {
	border-color: black;
}

.visible {
	visibility: visible;
}
