:root {
	--grid-gutter: 0.75rem;
	--grid-margin: 0.75rem;
	--grid-margin-negative: 0.75rem;
	/**/
	--color-black: 0, 0, 0;
	--color-white: 255, 255, 255;
	/**/
	--title-letter-spacing: -0.07em;
	--easing-handle-01: cubic-bezier(0.48, 0.1, 0, 1);
	--filter-blur: blur(5rem);
	
	--gradient: rgb(0, 0, 0) 0%, rgb(6, 0, 127) 15%, rgb(15, 41, 255) 30%, rgb(4, 211, 255) 45%, rgb(127, 255, 129) 60%, rgb(255, 215, 2) 75%, rgb(255, 46, 1) 90%, rgb(131, 1, 0) 100%;
}

@media (min-width: 981px) {
	
	:root {
		--grid-columns: 9;
		--context: 1440;
	}
	
	.mobile {
		display: none !important;
	}
	
}

@media (max-width: 980px) {
	
	:root {
		--grid-columns: 5;
		--context: 402;
	}
	
	.desktop {
		display: none !important;
	}
	
}

::selection {
	color: rgb(var(--color-white));
	background:  rgb(var(--color-black));
	text-shadow: none;
}

body {
	box-sizing: border-box;
	cursor: default;
	line-height: 0;
	margin: 0;
	min-height: 100%;
	padding: 0;
	overflow-x: hidden;
}

svg {
	height: 100%;
	width: 100%;
}

p {
	line-height: inherit;
}

ul,
ol,
li {
	list-style: none;
}

a {
	cursor: pointer;
}

sup {
	vertical-align: super;
	font-size: 64%;
	line-height: 1;
}

b,
strong {
	font-weight: 600;
}

.visually--hidden {
	position: absolute !important;
	overflow: hidden;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	border: 0;
	clip: rect(0 0 0 0);
	word-wrap: normal !important;
}

.mask {
	position: relative;
	overflow: hidden;
}

.fit--cover {
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.tt--ab {
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
}

.parallax__container {
	position: relative;
	overflow: hidden
}

.image--parallax {
	height: 120%;
}

.relative {
	position: relative;
}

.text--center {
	text-align: center;
}

.hidden {
	color: transparent;
	user-select: none;
}

.page--out {
	cursor: progress !important;
}

.none {
	display: none;
}

.no--scrollbar {
	-ms-overflow-style: none;
	scrollbar-width: none;
}

	.no--scrollbar::-webkit-scrollbar {
		display: none;
	}

.flex {
	display: flex;
}

.wrp {
	box-sizing: border-box;
	padding: 0 var(--grid-margin);
	width: 100%;
}

.grid {
	display: grid;
	column-gap: var(--grid-gutter);
}

.grid__layout {
	display: grid;
	grid-template-columns: repeat(var(--grid-columns), 1fr);
	column-gap: var(--grid-gutter);
}
	
.grid--full {
	grid-column: 1 / -1;
}

.subgrid {
	display: grid;
	column-gap: var(--grid-gutter);
	grid-template-columns: subgrid;
	grid-auto-rows: min-content;
}

body {

	font-family: 'IBM Plex Mono', monospace;
	font-weight: 400;
}

.page {
	display: flex;
	flex-direction: column;
	position: relative;
	width: 100%;
}

.page__header {
	padding: var(--grid-margin) 0;
	position: relative;
}

.header__langs {
	box-sizing: border-box;
	place-content: center;
	display: grid;
	height: calc(1.375rem + var(--grid-margin) * 2);
	grid-template-columns: 1fr 1fr;
	text-align: center;
	padding: var(--grid-margin);
	pointer-events: none;
	position: absolute;
	top: 0;
	width: 100%;
}

.header__langs a {
	pointer-events: auto;
}

.std--1,
.social--1 {
	grid-column: span 2;
	text-align: left;
}

.std--2 {
	grid-column: span 5;
	text-align: center;
}

.std--3,
.social--2 {
	grid-column: span 2;
	text-align: right;
}

.social--1,
.social--2 {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding-bottom: 1.5rem;
}

@media (min-width: 981px) {
	
	.main {
		align-items: center;
		display: flex;
		flex: 1;
		height: 100%;
	}
	
}

.main > .wrp,
.main > .wrp > .grid__layout {
	height: 100%;
}

.main__content {
	place-content: center;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	grid-auto-rows: min-content;
	grid-column: span 5;
}

.main__text--top,
.main__text--bottom {
	grid-column: 2 / 3;
	padding: 1.5rem 0;
	text-transform: uppercase;
	text-align: justify;
}

.main__logo {
	grid-column: 1 / -1;
	position: relative;
}

.main__logo--text {
	aspect-ratio: 785 / 172;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
}

.main__logo--1 {
	left: 0;
	position: absolute;
	top: 0;
}

.main__logo--2 {
	right: 0;
	position: absolute;
	top: 0;
}

.main__logo--3 {
	left: 0;
	position: absolute;
	bottom: 0;
	transform: translate3d(0, 25%, 0);
}

.main__logo--4 {
	right: 0;
	position: absolute;
	bottom: 0;
	transform: translate3d(0, 25%, 0);
}

.footer {
	padding: var(--grid-margin) 0 calc(var(--grid-margin) / 2);
	text-transform: uppercase;
}

.footer .grid__layout {
	align-items: flex-end;
}

.date,
.location {
	grid-column: span 2;
}

.location {
	text-align: right;
}

.partners {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	grid-auto-rows: min-content;
	grid-column: span 5;
	padding-bottom: calc(var(--grid-margin) / 2);
}

.partners__left {
	align-items: center;
	display: flex;
	justify-content: flex-end;
	gap: 1.5rem;
}

.partners__left img {
	height: 1.5rem;
	width: auto;
}

.partners__center {
	align-items: center;
	display: flex;
	justify-content: center;
	gap: 1.5rem;
}

.partners--wrp {
	display: flex;
	gap: 1rem;
}

.partners__center .bizkaia__link img {
	height: 2.5rem;
	width: auto;
}

.partners__center .bilbao__link img {
	height: 2.25rem;
	width: auto;
}

.partners__right {
	align-items: center;
	display: flex;
	justify-content: flex-start;
	gap: 1.5rem;
}

.partners__right img {
	height: 1.5rem;
	width: auto;
}

.rrss {
	margin-top: -0.125rem;
}

.rrss .mask {
	display: block;
	padding-top: 0.125rem;
}

.rrss .mask span:nth-child(2) {
	bottom: -100%;
	position: absolute;
}

.rrss .mask span {
	display: block;
	transition: transform 0.6s cubic-bezier(0.01, 0.8, 0.5, 1);
}

.social--1 .rrss .mask span:nth-child(2) {
	left: 0;
}

.social--2 .rrss .mask span:nth-child(2) {
	right: 0;
}

@media (hover: hover) {
	
	.rrss a:hover span {
		cursor: pointer;
		transform: translate3d(0, calc(-100% - 0.125rem), 0);
	}
	
	.header__langs a:hover {
		text-decoration: underline;
	}
	
}

@media (max-width: 980px) {
	
	.header__langs {
		height: auto;
		grid-template-columns: repeat(3, 1fr);
		gap: var(--grid-gutter);
		top: calc(6.5rem - var(--grid-margin));
	}
	
	.header__lang--1 {
		text-align: left;
	}
	
	.header__lang--2 {
		grid-column: 3 / 4;
		text-align: right;
	}
	
	.header__langs a {
		text-decoration: underline;
	}
	
	.main {
		height: auto;
	}
	
	.std--2 {
		grid-column: span 1;
	}
	
	.date--mobile {
		grid-column: span 3;
	}
	
	.place--mobile {
		grid-column: span 2;
		text-align: right;
	}
	
	.main__content {
		order: 0;
	}
	
	.social--1 {
		order: 1;
		grid-column: 1 / -1;
		text-align: center;
		padding-bottom: 0;
		padding-top: 2rem;
	}
	
	.social--2 {
		order: 1;
		grid-column: 1 / -1;
		text-align: center;
		padding-bottom: 2rem;
		margin-top: 0.5rem;
	}
	
	.partners {
		grid-template-columns: repeat(var(--grid-columns), 1fr);
		column-gap: var(--grid-gutter);
		row-gap: 1.5rem;
	}
	
	.partners__left,
	.partners__center,
	.partners__right {
		justify-content: flex-start;
		grid-column: 2 / 6;
	}
	
	.footer {
		padding-bottom: 1.5rem;	
	}
	
	.rrss + .rrss {
		margin-top: 0.5rem;
	}
	
}
	