/* From bootstrap to make smoothscrolling works */
@-ms-viewport {
	width: device-width;
}

html {
	box-sizing: border-box;
	-ms-overflow-style: scrollbar;
}

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

/*! HTML5 Boilerplate v5.0 | MIT License | http://h5bp.com/ */

html {
	color: #222;
	font-size: 1em;
	line-height: 1.4;
}

::-moz-selection {
	background: #b3d4fc;
	text-shadow: none;
}

::selection {
	background: #b3d4fc;
	text-shadow: none;
}

hr {
	display: block;
	height: 1px;
	border: 0;
	border-top: 1px solid #ccc;
	margin: 1em 0;
	padding: 0;
}

audio,
canvas,
iframe,
img,
svg,
video {
	vertical-align: middle;
}

fieldset {
	border: 0;
	margin: 0;
	padding: 0;
}

textarea {
	resize: vertical;
}

.browserupgrade {
	margin: 0.2em 0;
	background: #ccc;
	color: #000;
	padding: 0.2em 0;
}


/* ==========================================================================
   Author's custom styles
   ========================================================================== */

/* TOOLS */
:root {
	--vh: 1vh;
}

a {
	text-decoration: none;
	color: #e13;
}

b,
h1,
h2,
h3,
h4,
h5,
h6,
#result {
	font-weight: 452;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	margin: 0;
}

.h10 {
	height: 10vh;
	height: calc(var(--vh, 1vh) * 10);
}

.h80 {
	height: 80vh;
	height: calc(var(--vh, 1vh) * 80);
}

.h90 {
	height: 90vh;
	height: calc(var(--vh, 1vh) * 90);
}

.h100 {
	height: 100vh;
	height: calc(var(--vh, 1vh) * 100);
}

/* LAYOUT */
body {
	overflow: hidden;
	background-color: #fff;
	font-family: 'Lato', sans-serif;
	font-weight: 198;
}

@media (prefers-color-scheme: light) {
	body {
		background-color: #fff;
	}
}

@media (prefers-color-scheme: dark) {
	body {
		background-color: #fff;
	}
}

h1 {
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0;
}

@media screen and (orientation:landscape) and (max-width: 768px) {
	h1 {
		height: 130vh !important;
	}
}

.prev,
.next {
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
}

.prev img,
.next img {
	width: 20vw;
	max-width: 150px;
}

.title {
	background: #fff;
}

.project {
	background-size: cover;
	background-position: center top;
}

.curse {
	background-image: url('../img/theCurseOfTheCursor/theCurseOfTheCursor.webp');
}

.invisibleGame {
	background-image: url('../img/invisible/london.webp');
}

.rite {
	background-image: url('../img/theRiteOfPassage/theRiteOfPassage.webp');
}

@media screen and (max-width: 576px) {
	.curse {
		background-position: 75% top;
	}

	.invisibleGame {
		background-position: 25% top;
	}
}

.screen-article {
	color: #000;
}

.screen-article h2 {
	max-width: 80vw;
	margin: 0 auto 5vw auto;
	padding: 0 10vw;
	opacity: 0;
	transition: opacity 1s 400ms linear;
}

@media screen and (max-width: 576px) {
	.screen-article h2 {
		padding: 0;
	}
}

.screen-article h2 img {
	max-height: 300px;
}

.article-content {
	padding: 1px 20vw;
	background: rgba(255, 255, 255, 0.75);
	font-size: 2.5vh;
	line-height: 1.5;
	opacity: 0;
	transition: opacity 1s 1500ms linear;
}

@media screen and (max-width: 576px) {
	.article-content {
		padding: 1px 10vw;
	}
}

.screen-article p {
	max-width: 750px;
	margin: .7em 0;
	opacity: 0;
	transition: opacity 1s 2s linear;
}

.screen-article footer {
	opacity: 0;
	transition: opacity 1s 2500ms linear;
}

.screen-article footer p {
	opacity: 1;
}

.screen-article h2.on,
.article-content.on,
.screen-article p.on,
.screen-article footer.on {
	opacity: 1;
	transition: opacity 0 100ms linear;
}

.contact-form {
	height: 100vh;
	height: calc(var(--vh, 1vh) * 100);
	padding: 0 20px;
	background: #33586d;
	color: #fff;
}

.form-flex {
	display: flex;
	align-content: space-around;
	flex-wrap: wrap;
	height: 70%;
	width: 40vw;
	margin: auto;
}

@media screen and (max-width: 576px) {
	.form-flex {
		height: 100%;
		width: auto;
	}
}

.contact-form h2 {}

.contact-form label {
	/*	margin: 25px 0 0 0;*/
	display: block;
	width: 100%;
}

.contact-form input {
	width: 100%;
	padding: 5px 10px;
	background: rgba(255, 255, 255, 0.12);
	border-width: 0 0 1px 0;
	border-bottom-color: rgba(255, 255, 255, 0.25);
	color: #fff;
}

.contact-form input#calcResult {
	width: 4em;
}

.contact-form textarea {
	width: 100%;
	height: 5em;
	padding: 5px 10px;
	background: rgba(255, 255, 255, 0.12);
	border-width: 1px;
	border-color: rgba(255, 255, 255, 0.25);
	color: #fff;
}

.contact-form *:focus,
.contact-form input[type="submit"]:hover {
	outline: none;
	background: rgba(255, 255, 255, 0.25) !important;
	border-color: #fff;
	/*	border-color: #ff0 !important;*/
}

.contact-form input[type="submit"][disabled] {
	opacity: .3;
}

.contact-form.on {
	left: 0;
	transition: left 500ms 0s linear;
}

.contact-form .x {
	position: absolute;
	top: 20px;
	right: 20px;
}

.contact-form .x a {
	color: #fff;
}

.captcha {
	display: flex;
	align-content: center;
	justify-content: center;
	width: 100%;
}

#result {
	display: block;
	height: 1em;
	padding: 5px 0;
	text-align: center;
}

/* ==========================================================================
   Media Queries
   ========================================================================== */

@media only screen and (min-width: 35em) {}

@media print,
(-o-min-device-pixel-ratio: 5/4),
(-webkit-min-device-pixel-ratio: 1.25),
(min-resolution: 120dpi) {}

/* ==========================================================================
   Helper classes
   ========================================================================== */

.hidden {
	display: none !important;
	visibility: hidden;
}

.visuallyhidden {
	border: 0;
	clip: rect(0 0 0 0);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
}

.visuallyhidden.focusable:active,
.visuallyhidden.focusable:focus {
	clip: auto;
	height: auto;
	margin: 0;
	overflow: visible;
	position: static;
	width: auto;
}

.invisible {
	visibility: hidden;
}

.clearfix:before,
.clearfix:after {
	content: " ";
	display: table;
}

.clearfix:after {
	clear: both;
}

.clearfix {
	*zoom: 1;
}

/* ==========================================================================
   Print styles
   ========================================================================== */

@media print {

	*,
	*:before,
	*:after {
		background: transparent !important;
		color: #000 !important;
		box-shadow: none !important;
		text-shadow: none !important;
	}

	a,
	a:visited {
		text-decoration: underline;
	}

	a[href]:after {
		content: " ("attr(href) ")";
	}

	abbr[title]:after {
		content: " ("attr(title) ")";
	}

	a[href^="#"]:after,
	a[href^="javascript:"]:after {
		content: "";
	}

	pre,
	blockquote {
		border: 1px solid #999;
		page-break-inside: avoid;
	}

	thead {
		display: table-header-group;
	}

	tr,
	img {
		page-break-inside: avoid;
	}

	img {
		max-width: 100% !important;
	}

	p,
	h2,
	h3 {
		orphans: 3;
		widows: 3;
	}

	h2,
	h3 {
		page-break-after: avoid;
	}
}
