@font-face {
	font-family: Elgoc;
	font-weight: 100;
	src: url("../fonts/elgoc-thin.otf") format("opentype");
	font-display: swap;
	}

@font-face {
	font-family: Elgoc;
	font-weight: 300;
	src: url("../fonts/Elgoc-light.otf") format("opentype");
	font-display: swap;
	}

@font-face {
	font-family: Elgoc;
	font-weight: 400;
	src: url("../fonts/elgoc-regular.otf") format("opentype");
	font-display: swap;
	}

@font-face {
	font-family: Elgoc;
	font-weight: 500;
	src: url("../fonts/elgoc-medium.otf") format("opentype");
	font-display: swap;
	}

@font-face {
	font-family: Elgoc;
	font-weight: 600;
	src: url("../fonts/elgoc-semibold.otf") format("opentype");
	font-display: swap;
	}

@font-face {
	font-family: Elgoc;
	font-weight: 700;
	src: url("../fonts/elgoc-bold.otf") format("opentype");
	font-display: swap;
	}

@font-face {
	font-family: Elgoc;
	font-weight: 900;
	src: url("../fonts/elgoc-black.otf") format("opentype");
	font-display: swap;
	}

#user-data {
	display: none;
	}

* {
	margin: 0;
	padding: 0;
	border: none;
	underline: none;
	outline: none;
	text-decoration: none;
	-webkit-font-smoothing: antialiased;
	}

.hello-once {
	transition: all 2s ease;
	}

.barba-leave {
	transition: all 2s ease;
	}

html, body {
	font-family: "Elgoc", Arial, Helvetica Neue, sans-serif;
	color: #191919;
	}

html, body, .page {
	background: #fcf4f4;
	}

html.fashion , html.fashion body, html.fashion .page {
	background: #f4f9fc;
	}

html, body, .page {
	transition: background 1.7s ease;
	}

body.boudoir {
	background: #1bde69;
	}

body.fashion {
	background: #f4f9fc;
	}

main {
	transition: opacity .9s ease;
	}

#preloader {
	width: 100%;
	height: 0;
	background: #222;
	position: fixed;
	z-index: 99;
	top: 0; left: 0;

//	transition: height .7s ease;
	}

#preloader.show {
	height: 100%;
	}

#header {
	width: 100%;
	position: fixed;
	mix-blend-mode: difference;
	z-index: 9;
	top: 60px;
	}

.holder, .c-holder {
	width: 90%;
	position: relative;
	margin: 0 auto;
	}

.c-holder {
	width: 80%;
	display: table;
	}

#logo {
	font-weight: 500;
	font-size: 24px;
	color: #fcf4f4;
	letter-spacing: 0.7px;
//	mix-blend-mode: difference;

	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	-o-user-select: none;
	user-select: none;
	}

#menu {
	position: absolute;
	top: 5px; right: 0;
	}

#menu li {
	list-style: none;
	display: inline-block;
	margin-left: 50px;
	}

#menu li a {
	font-size: 19px;
	color: #fcf4f4;
	letter-spacing: 0.2px;
	}

.hero {
	padding-top: 200px;
	}

.hero h1 {
	font-weight: 500;
	font-size: 264px;
	letter-spacing: 6px;

	transition: opacity .8s ease;
	}

.hero h1.hide {
	opacity: 0;
	}

.hero h2 {
	position: absolute;
	font-weight: 600;
	font-size: 24px;
	letter-spacing: 2px;
	z-index: 2;
	margin-top: -175px;
	top: 50%; right: -120px;

	transform: rotate(-90deg);
	}

.img-holder {
	position: relative;
	display: inline-block;
	top: -155px; left: 60%;
	}

.img-holder img {
	width: 340px;
	position: relative;
	display: table;
	}

#num {
	position: absolute;
	font-weight: 500;
	font-size: 20px;
	letter-spacing: 0.6px;
	top: 0; right: -34px;
	}

.img-holder p {
	width: 155px;
	position: absolute;
	font-weight: 500;
	font-size: 18px;
	letter-spacing: 0.6px;
	line-height: 120%;
	text-align: right;
	bottom: 0; right: -240px;
	}

#link {
	position: absolute;
	display: inline-block;
	margin-top: 160px;
	margin-left: -10px;
	left: 10%;
	}

#photo {
	width: 180px;
	height: 240px;
	position: absolute;
	background: orange url(../../photo6.jpg);
	background-size: cover;
	border-radius: 54px;
	opacity: 0.3;
	top: -90px;

	transform: rotate(0deg) scale(0);

	transition: border-radius .6s ease, transform .4s cubic-bezier(0.22, 0.8, 0.6, 1.02), top .35s cubic-bezier(0.22, 0.8, 0.6, 1.02), left .35s cubic-bezier(0.22, 0.8, 0.6, 1.02);
	}

#photo.show {
	border-radius: 0;
	transform: rotate(-14deg) scale(1);
	}

#link a {
	position: relative;
	font-size: 26px;
	color: #191919;
	z-index: 3;
	padding: 30px 20px;
	}

.arrow {
	width: 80px;
	height: 2px;
	position: relative;
	background: #191919;
	display: inline-block;
	top: -5px; left: 24px;

	transition: left .4s ease;
	}

#link:hover a .arrow, #about a:hover .arrow {
	left: 36px;
	}

.arrow:before, .arrow:after {
	width: 10px;
	height: 2px;
	position: absolute;
	background: #191919;
	content: " ";
	top: -3px; right: -2px;

	transform: rotate(45deg);
	}

.arrow:after {
	top: 3px;

	transform: rotate(-45deg);
	}

#about, #categories, #contact {
	margin: 180px 0;
	}

.a-holder {
	width: 1000px;
	margin: 0 auto;
	}

#about p {
	width: 1000px;
	position: relative;
	font-size: 38px;
//	text-align: center;
	line-height: 210%;
	margin: 0 auto;
	}

#about a {
	font-size: 26px;
	color: #191919;
	display: table;
	margin-top: 64px;
	}

#categories .category {
	width: 100%;
	position: relative;
	display: inline-block;
	margin: 140px 0;
	}

#categories .category .photo {
	width: 560px;
	height: 700px;
	position: relative;
	background-color: #eee;
//	cursor: none;
	}

#categories .boudoir .photo {
	background-image: url(../img/cat-boudoir.jpg);
	background-size: cover;
	}

#categories .fashion .photo {
	background-image: url(../img/cat-fashion.jpg);
	background-size: cover;
	}

#categories .category:nth-child(odd) .photo {
	float: left;
	left: 180px;
	}

#categories .category:nth-child(even) .photo {
	float: right;
	right: 180px;
	}

#categories .category h3 {
	position: absolute;
	font-weight: 600;
	font-size: 36px;
	letter-spacing: 2px;
	margin-top: -175px;
	top: 50%; right: -120px;

	transform: rotate(90deg);
	}

#categories .category:nth-child(even) h3 {
	right: auto; left: -120px;

	transform: rotate(-90deg);
	}

#categories .category .view {
	width: 100px;
	height: 62px;
	position: absolute;
	background: #fff;
	font-weight: 600;
	font-size: 22px;
	letter-spacing: 4px;
	text-align: center;
	border-radius: 99px;
	display: none;
	padding-top: 38px;
	}

#categories .category .view.show {
	display: block;
	}

#contact a {
	font-weight: 500;
	font-size: 104px;
	color: #191919;
	text-align: center;
//	border-bottom: 2px solid #191919;
	display: table;
	padding-bottom: 12px;
	margin: 0 auto 80px auto;
	}

#contact a:after {
	width: 0;
	height: 2px;
	background: #191919;
	content: " ";
	display: block;
	margin: 8px auto 0 auto;

	transition: width .6s ease;
	}

#contact a:hover:after {
	width: 100%;
	}

/* -- FOOTER * -- */

#footer {
	width: 90%;
	margin: 200px auto 50px auto;
	}

#footer p {
	font-size: 14px;
	letter-spacing: 0.4px;
	cursor: default;
	}

#footer .right {
	float: right;
	}

#footer p strong {
	font-weight: 600;
	}

#footer p span {
	cursor: pointer;
	margin-left: 4px;

	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	-o-user-select: none;
	user-select: none;
	}

#footer p a {
	font-weight: 500;
	color: #191919;
	display: inline-block;
	}

#footer p a:after {
	width: 0;
	height: 1px;
	background: #191919;
	content: " ";
	display: table;
	margin-top: 4px;

	transition: width .4s ease;
	}

#footer p a:hover:after {
	width: 100%;
	}

/* -- PORTFOLIO -- */

.portfolio-project {
	padding: 160px 0 260px 0;
	}

.portfolio-project h1, #new-title {
	position: relative;
	font-weight: 500;
	font-size: 288px;
	color: #454748;
	text-align: center;
	mix-blend-mode: color-burn;
	z-index: 2;

//	margin-top: -100px;
	margin-top: 0;
	transition: margin-top 1.4s ease;
	}

.portfolio-project h1.show {
	margin-top: 0;
	}

.portfolio-project h1:after, #next-project p span:after, #new-title:after {
	content: ".";
	}

.portfolio-project .photo {
	max-width: 640px;
	position: relative;
	display: table;
	margin: -120px auto 0 auto;
	}

.grid {
	width: 90%;
	position: relative;
	display: table;
	padding: 40px 0;
	margin: 0 auto;

	transition: opacity .8s ease;
	}

.grid.fade-out {
	opacity: 0;
	}

.grid.one img {
	max-width: 800px;
	max-height: 700px;
	position: relative;
	display: table;
	}

.grid.one.center img {
	margin: 0 auto;
	}

.grid.one.right img {
	float: right;
	}

.grid.two {
	width: auto;
	}

.grid.two img {
	max-width: 480px;
	float: left;
	margin: 0 60px;
	}

.grid img {
	border: 2px solid #000;
	box-shadow: 10px 20px 20px rgba(0, 0, 0, 0.33);
	}

#next-project {
	width: 100%;
	position: relative;
	padding: 100px 0 400px 0;
	margin-top: 300px;
	}

.next-photo {
	width: 280px;
	position: absolute;
	mix-blend-mode: soft-light;
	margin-left: -140px;
	top: -160px; left: 50%;

	transform: rotate(-10deg);

	transition: transform .8s ease;
	transition: all 1.2s ease;
	}

.next-photo.cover {
	width: 640px;
	mix-blend-mode: unset;
	margin-left: -320px;
	top: 0;

	transform: rotate(0deg);
	}

#next-project p {
	width: 100%;
	position: absolute;
	font-size: 168px;
	text-align: center;
	cursor: pointer;
	overflow: hidden;
	top: -56px;
	}

#next-project p span {
	display: block;
	margin-top: 0;

	transition: opacity 1.8s ease, margin-top 1.4s ease;
	}

#next-project p.hide span {
	opacity: 0;
	margin-top: -200px;
	}

#new-title {
	opacity: 0;
	margin-top: -400px;

	transition: opacity 1.4s ease, margin-top 1.2s ease;
	}

#new-title.show {
	opacity: 1;
	margin-top: -300px;
	}