@use 'utils/minireset';
@use 'partials/fonts';
@use 'partials/variables' as *;
@use 'partials/animations';

// ----------------------------------------------------------------------------
// GENERALITIES
// ----------------------------------------------------------------------------

// Fonts and colors

body {
	font-family: var(--text-font-family);
	font-size: var(--text-font-size);
	line-height: normal;
	color: var(--black);
	background-color: var(--white);
}

h1 {
	font-family: var(--title-font-family);
	font-size: var(--h1-font-size);
}

h2 {
	font-family: var(--text-font-family);
	font-size: var(--h2-font-size);
	margin: 0 0 4rem 0;
}

h3 {
	font-family: var(--text-font-family);
	font-size: var(--h3-font-size);
	margin: 2rem 0 1rem 0;
}

p {
	text-align: justify;
}

strong {
	font-weight: var(--bold-font-weight);
}

em {
	font-style: italic;
}

// Link style

a {
	color: var(--black);
	text-decoration: none;
	-webkit-transition: text-decoration 200ms ease-in-out;
	-o-transition: text-decoration 200ms ease-in-out;
	transition: text-decoration 200ms ease-in-out;

	&:hover,
	&:focus,
	&:active {
		text-decoration: underline;
	}

	&:focus-visible {
		outline: 1px dashed var(--black);
		outline-offset: 2px;
		-webkit-animation: expand-outline 200ms ease-out;
		animation: expand-outline 200ms ease-in-out;
	}
}

// General layout

body {
	min-height: 100vh;
	overflow: hidden;
}

// ----------------------------------------------------------------------------
// HEADER
// ----------------------------------------------------------------------------

// Header bar

.header-bar {
	position: fixed;
	top: 0;
	bottom: 0;
	left: 0;
	max-width: calc(15vw + var(--header-bar-horizontal-padding) * 2);
	padding: var(--header-bar-vertical-padding) var(--header-bar-horizontal-padding);
	overflow-y: auto;
	background-color: transparent;
	-webkit-transition:
		max-width 400ms ease-in-out,
		background-color 400ms ease-in-out;
	-o-transition:
		max-width 400ms ease-in-out,
		background-color 400ms ease-in-out;
	transition:
		max-width 400ms ease-in-out,
		background-color 400ms ease-in-out;

	.header-bar__nav {

		.header-bar__nav-item {

			+ .header-bar__nav-item {
				margin-top: 0.5rem;
			}
		}

		a {
			display: inline-block;
			width: 15vw;
			overflow-x: hidden;
			color: var(--transparent-black);
			white-space: nowrap;
			text-overflow: ellipsis;
			-webkit-transition:
				width 400ms ease-in-out,
				color 400ms ease-in-out;
			-o-transition:
				width 400ms ease-in-out,
				color 400ms ease-in-out;
			transition:
				width 400ms ease-in-out,
				color 400ms ease-in-out;
		}
	}

	.header-bar__social {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		margin-top: 2rem;

		a {
			width: var(--icon-size);
			height: var(--icon-size);
			display: -webkit-box;
			display: -ms-flexbox;
			display: flex;
			-webkit-box-pack: center;
			-ms-flex-pack: center;
			justify-content: center;
			-webkit-box-align: center;
			-ms-flex-align: center;
			align-items: center;

			+ a {
				margin: 0 0 0 1rem;
			}

			svg {
				width: 100%;
				height: 100%;
				fill: var(--transparent-black);
				-webkit-transition: fill 400ms ease-in-out;
				-o-transition: fill 400ms ease-in-out;
				transition: fill 400ms ease-in-out;
			}
		}
	}

	&:hover {
		background-color: var(--transparent-white);
		max-width: 100vw;

		.header-bar__nav {
			
			a {
				/*width: 100%;*/
				color: var(--black);
			}
		}

		.header-bar__social {

			svg {
				fill: var(--black);
			}
		}
	}
}

// ----------------------------------------------------------------------------
// MAIN
// ----------------------------------------------------------------------------

// Home section

.home-section {
	width: 100vw;
	height: 100vh;
}

.home-section__iframe {
	width: 100%;
	height: 100%;
}

// ----------------------------------------------------------------------------
// FOOTER
// ----------------------------------------------------------------------------

// Footer bar
