@import url('https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');

@import './fonts/fonts.css';

:root {
	--container-shadow: 0 0.3rem 1rem rgba(30, 20, 40, 0.4);
	--very-diffused-container-shadow: 0 0 3rem rgba(30, 20, 40, 0.8);
	--text-shadow: 0 0.3rem 0.8rem rgba(30, 20, 40, 0.6);
	--very-diffused-text-shadow: 0 0 1rem rgba(30, 20, 40, 0.8);
	--text-black: #353547;
	--text-white: rgba(249, 244, 251, 1.0);
	--text-white-transparent: rgba(249, 244, 251, 0.0);
	--background-black: #25252b;
	color: var(--text-black);
	font-family: Aileron, sans-serif;
}

body {
	margin: 0;
}

#parallax-container {
	perspective: 1px;
	height: 100vh;
	width: 100vw;
	overflow-y: auto;
	overflow-x: hidden;
	scroll-behavior: smooth;
}

#background {
	transform: translateZ(-1px) scale(400%);
	position: absolute;
}

#page-container {
	transform: translateZ(0px);
	position: absolute;
	width: 100%;
}



/* 
 * NAV BAR
 */

#nav-bar-container {
	top: 0;
	position: absolute;
	height: 2rem;
	display: flex;
	width: 100vw;
	z-index: 1;
}

#nav-bar {
	color: var(--text-white);
	height: inherit;
	top: 0;
	margin-inline: auto;
	display: flex;
	flex-direction: row;
	gap: 1.5rem;
	padding: 1rem;
	border-radius: 0 0 1rem 1rem;
	-webkit-user-select: none;
	user-select: none;
	transition: 0.3s;
	z-index: 1;
}

#nav-logo {
	display: none;
	height: inherit;
}

#nav-logo img {
	object-fit: contain;
	height: inherit;
}

#nav-bar ul {
	display: flex;
	flex-direction: row;
	list-style-type: none;
	padding: 0;
	margin: 0;
	margin-inline: auto;
	align-items: center;
	gap: 0.5rem;
}

#nav-bar li {
	border-bottom: 1px dotted var(--text-white-transparent);
	margin-bottom: -1px;
	transition: 0.3s
}

#nav-bar li:hover {
	border-bottom: 1px dotted var(--text-white);
	transition: 0.3s
}

#nav-bar li#current-page {
	-webkit-text-stroke: 1px;
	border-bottom: 2px solid var(--text-white);
	margin-bottom: -2px;
}

/*
 * FIXED NAV BAR
 */

#nav-bar-container.fixed {
	position: fixed;
}

.fixed #nav-bar {
	background-color: white;
	box-shadow: var(--container-shadow);
	color: var(--text-black);
	transition: 0.3s;
	max-width: 50%;
	width: auto;
}

.fixed #nav-logo {
	display: block;
}

.fixed #nav-bar li:hover {
	border-bottom: 1px dotted var(--text-black);
	margin-bottom: -1px;
}

.fixed #nav-bar li#current-page {
	border-bottom: 2px solid var(--text-black);
	margin-bottom: -2px;
}

@media (max-width: 900px) {
	#nav-bar, .fixed #nav-bar {
		max-width: 80%;
		width: 80%;
		transition: 0.3s;
	}
}



/*
 * PAGE COVER
 */

#page-cover {
	display: grid;
	place-items: center;
	height: 100vh;
	grid-template-rows: 1fr 7rem;
	background-color: rgba(30, 20, 40, 0.4);
	box-shadow: 0 0 8rem 8rem rgba(30, 20, 40, 0.4);
}

#page-cover-content {
	display: flex;
	flex-direction: column;
	color: var(--text-white);
}

#page-cover-content h1 {
	font-style: italic;
}

#page-cover img {
	filter: invert(85%) sepia(30%) saturate(28%) hue-rotate(237deg) brightness(106%) contrast(101%);
}

#page-cover-go-to-content {
	font-size: 5rem;
	background: none;
	border: none;
	padding: none;
	margin: 0 0 3rem 0;
	color: var(--text-white);
	transform: translateY(0rem);
	transition: 0.3s;
	text-decoration: none;
}

#page-cover-go-to-content:hover {
	transform: translateY(1rem);
	transition: 0.3s;
}



/*
 * STORY
 */

#story {
	padding-block: 12rem;
}


#story section {
	display: flex;
	flex-direction: row;
	margin-block: 4rem;
}

.story-header-container {
	flex: 40%;
	display: flex;
	padding: 2rem;
}

.story-header-container h2 {
	white-space: pre;
	font-size: 4rem;
	margin: auto;
	color: var(--text-white);
	text-shadow: var(--text-shadow);
}

.story-text-container {
	flex: 60%;
	background-color: white;
	padding: 1rem;
	line-height: 1.5;
	box-shadow: var(--container-shadow);
	font-size: 1.5rem;
	padding: 2rem;
	box-sizing: border-box;
}

#collective-action .story-text-container {
	border-radius: 2rem 0 0 2rem;
	margin-left: 1rem;
}

#lasting-change .story-header-container {
	order: 2;
}

#lasting-change .story-text-container {
	border-radius: 0 2rem 2rem 0;
	margin-right: 1rem;
}

@media (max-width: 900px) {
	#story section {
		flex-wrap: wrap;
	}

	#lasting-change .story-header-container {
		order: 0;
	}
}

#join {
	display: grid;
	place-items: center;
	background-color: rgba(30, 20, 40, 0.4);
	box-shadow: 0 0 8rem 8rem rgba(30, 20, 40, 0.4);
	margin-bottom: 12rem;
}

#join div {
	display: flex;
	flex-direction: row;	
	align-items: center;
	gap: 5rem;
}

#join div h2 {
	text-align: right;
	font-size: 6rem;
	text-shadow: var(--text-shadow);
	color: var(--text-white);
	font-weight: 900;
}

#join div button {
	font-size: 3rem;
	color: var(--text-white);
	background: transparent;
	border: 0.3rem solid var(--text-white);
	border-radius: 1rem;
	padding: 1rem;
	text-shadow: var(--very-diffused-text-shadow);
	box-shadow: var(--very-diffused-container-shadow), var(--very-diffused-container-shadow) inset;
	margin-right: 0;
	transform: scale(1);
	transition: 0.3s;
}

#join div button::after {
	content: " ⯈";
	padding-left: 0rem;
	transition: 0.3s;
}

#join div button:hover {
	margin-right: -1rem;
	transform: scale(1.05);
	transition: 0.3s;
}

#join div button:hover::after {
	padding-left: 1rem;
	transition: 0.3s;
}

#join div button:active {
	transform: scale(0.9);
	transition: 0.3s;
}

@media (max-width: 900px) {
	#join div h2 {
		margin-bottom: 0;
		font-size: 4rem;
	}

	#join div {
		flex-direction: column;
		gap: 2rem;
	}

	#join div button {
		font-size: 2rem;
	}
}



/*
 * FOOTER
 */

#page-footer {
	color: var(--text-white);
	background-color: var(--background-black);
	height: 50rem;
	top: 0;
	margin-inline: auto;
	display: flex;
	flex-direction: row;
	padding: 1rem;
	border-radius: 1rem 1rem 0 0;
	justify-items: center;
	text-align: center;
	z-index: 2;
}

#page-footer p {
	margin-inline: auto;
}
