/* HOME */
.header {
	width: 100%;
	height: 100vh;
	height: 100svh;
	position: relative;
	background-color: var(--black);
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
	animation: header 2.8s;
	animation-delay: 0.1s;
	transform: scale(1);
}
.header img, .header video {
	width: 100vw;
	height: 100vh;
	height: 100svh;
	inset: 0;
	object-fit: cover;
	z-index: 1;
	position: relative;
}
.header .desktop img, .header .desktop video {
	animation: imgReveal 1.4s var(--cubic-bezier-hard);
}
.header .desktop img::after, .header .desktop video::after {
	content: "";
	position: absolute;
	inset: 0;
	background-color: var(--black-overlay);
	z-index: 2;
}
@keyframes header {
	0%, 70% {
		transform: scale(1.1);
		clip-path: polygon(0 100%, 100% 100%, 100% 100%, 0 100%);
   }
	100% {
		clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
		transform: scale(1);
   }
}
@media (max-width: 700px) {
	.desktop {
		display: none;
   }
	.header {
		background-color: var(--white);
   }
	.header .mobile {
		display: flex;
		flex-direction: row;
		align-items: center;
		justify-content: space-between;
		gap: 1rem;
		height: 80vh;
		width: calc(100vw - 2rem);
   }
	.header .mobile img,
	.header .mobile video {
		width: 100%;
		height: 60vw;
   }
	.header .mobile .firstElement {
		transform: translateY(20%);
		animation: mobileHeaderImg 2.8s;
   }
	.header .mobile .secondElement {
		transform: translateY(-20%);
		animation: mobileHeaderImg 3s;
   }
	@keyframes mobileHeaderImg {
		0%, 70% {
			clip-path: polygon(0 0, 100% 0, 100% 0, 0 0);
	   }
		100% {
			clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
	   }
   }
}
.sliderHome {
	position: absolute;
	width: 100vw;
	bottom: 1.5rem;
	display: flex;
	white-space: nowrap;
	/* overflow: hidden; */
	mix-blend-mode: difference;
	animation: sliderHome 2.8s;
	z-index: 3;
}
.sliderHome .sliderText {
	animation: textLoop 20s linear infinite;
	/* line-height: 105%; */
	padding-right: 0.3em;
}
.sliderHome .sliderText span {
	font-size: 16px;
	font-weight: 500;
	text-transform: uppercase;
}
@keyframes textLoop {
	0% {
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
   }
	100% {
		-webkit-transform: translate3d(-100%, 0, 0);
		transform: translate3d(-100%, 0, 0);
   }
}
@keyframes sliderHome {
	0%, 85% {
		opacity: 0;
		transform: translateY(50px);
		pointer-events: none;
   }
	100% {
		opacity: 1;
		transform: translateY(0);
		pointer-events: all;
   }
}
@media (max-width: 700px) {
	.sliderHome .sliderText span {
		color: var(--white);
   }
}
.placeholder {
	height: 100vh;
}
.show img {
	animation: imgRevealLeftRight 1.4s var(--cubic-bezier-hard);
}
/* BLOQUE 1 */
.bloqueUno {
	height: 100vh;
	min-height: 100svh;
	width: 100%;
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: flex-end;
	position: relative;
	overflow: hidden;
}
.bloqueUno img {
	margin: 5rem auto 5rem 20vw;
	height: 60vw;
	height: 60svw;
	width: 33vw;
	max-height: 50rem;
	max-width: 28rem;
	object-fit: cover;
}
.bloqueUno .texto {
	text-transform: uppercase;
	position: absolute;
	top: 50%;
	right: 2rem;
	width: 70vw;
	transform: translateY(-50%);
	text-align: right;
	mix-blend-mode: difference;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
}
.bloqueUno .texto h2 {
	font-size: 6.9vw;
}
.bloqueUno .texto .textoDosColumnas {
	display: flex;
	flex-direction: row;
	align-items: flex-start;
	justify-content: flex-end;
	gap: 3vw;
}
.bloqueUno .texto .textoDosColumnas h3 {
	width: 27%;
	margin-top: .2vw;
	font-size: 1.5vw;
}
.bloqueUno .texto p {
	max-width: 37rem;
	font-size: 18px;
	text-transform: none;
	/* margin-top: 1rem; */
	text-align: left;
}
@media (min-width: 1400px) {
	.bloqueUno .texto h2 {
		font-size: 98px;
		max-width: 70rem;
   }
}
.bloqueUno.mobile {
	display: flex;
	flex-direction: column;
	height: auto;
}
.bloqueUno.mobile .imageBlock {
	position: relative;
}
.bloqueUno.mobile .imageBlock img {
	margin: 5rem 1rem;
	height: auto;
	width: calc(100% - 2rem);
	max-height: none;
	max-width: none;
}
.bloqueUno.mobile .imageBlock h2 {
	position: absolute;
	top: 30%;
	right: 1rem;
	font-size: 9.4vw;
	width: calc(100% - 2rem);
	text-transform: uppercase;
	text-align: right;
	mix-blend-mode: difference;
}
.bloqueUno.mobile .texto {
	align-items: flex-start;
	position: static;
	transform: none;
	width: calc(100vw - 3rem);
	gap: 10rem;
	margin-bottom: 5rem;
}
.bloqueUno.mobile .texto h3 {
	font-size: 20px;
	text-align: left;
	width: 70vw;
	max-width: 16rem;
}
.bloqueUno.mobile .texto p {
	max-width: 100%;
	text-align: right;
	font-size: 16px;
}
/* BLOQUE 2 */
.bloqueDos {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 2rem;
	width: 100vw;
	height: 100vh;
	height: 100svh;
	overflow: hidden;
	position: relative;
	background-position: center center;
	background-size: cover;
	background-repeat: no-repeat;
}
.bloqueDos .texto {
	mix-blend-mode: difference;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	gap: 2rem;
	max-width: 70rem;
	z-index: 2;
	margin: 0 2rem;
}
.bloqueDos .texto h2 {
	font-size: 6vw;
	text-transform: uppercase;
}
.bloqueDos .texto p {
	font-size: 18px;
	max-width: 35rem;
}
.bloqueDos::after {
	content: "";
	position: absolute;
	inset: 0;
	background-color: var(--black-overlay);
	z-index: 1;
}
@media (min-width: 1200px) {
	.bloqueDos .texto h2 {
		font-size: 72px;
   }
}
@media (max-width: 900px) {
	.bloqueDos {
		gap: 40vh;
		gap: 40svh;
   }
	.bloqueDos .texto {
		gap: 1rem;
		max-width: 24rem;
		margin: 0 2rem;
   }
	.bloqueDos .texto h2 {
		font-size: 30px;
   }
	.bloqueDos .texto p {
		font-size: 16px;
   }
}
/* BLOQUE 3 */
.bloqueTres {
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: 1rem;
	height: 100vh;
	height: 100svh;
	overflow-y: hidden;
}
.bloqueTres .bloqueIzq, .bloqueTres .bloqueDer {
	width: 100%;
}
.bloqueTres .bloqueIzq {
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	gap: 2.5rem;
	padding-top: auto;
	text-transform: uppercase;
	margin-left: 2rem;
}
.bloqueTres .bloqueIzq p {
	font-size: 1.5vw;
	width: 50%;
}
.bloqueTres .bloqueIzq h2 {
	font-size: 6.7vw;
}
.bloqueTres .bloqueDer {
	position: relative;
}
.bloqueTres .bloqueDer img {
	height: 80vh;
	width: 35vw;
}
.bloqueTres .bloqueDer p {
	position: absolute;
	right: 3vw;
	bottom: 3rem;
	width: 25rem;
	text-align: right;
	font-size: 18px;
}
@media (min-width: 1560px) {
	.bloqueTres .bloqueIzq p {
		font-size: 23.5px;
   }
	.bloqueTres .bloqueIzq h2 {
		font-size: 105px;
   }
}
@media (max-width: 1200px) {
	.bloqueTres .bloqueIzq {
		margin-left: 1.5rem;
   }
}
@media (max-width: 1000px) {
	.bloqueTres {
		flex-direction: column;
		background-position: center center;
		background-size: cover;
		background-repeat: no-repeat;
		height: fit-content;
   }
	.bloqueTres .bloqueMobile {
		height: fit-content;
		display: flex;
		align-items: center;
		flex-direction: column;
		justify-content: space-between;
		gap: 30vh;
		padding-bottom: 5rem;
		background-position: bottom;
		background-size: cover;
   }
	.bloqueTres .bloqueMobile h2 {
		text-align: center;
		font-size: 40px;
		text-transform: uppercase;
		margin: 6rem 1.5rem 0;
		max-width: 18rem;
		mix-blend-mode: difference;
		text-shadow: var(--black-overlay) 1px 1px 15px;
   }
	.bloqueTres .bloqueMobile .texto {
		display: flex;
		flex-direction: column;
		gap: 3rem;
		margin: 0 1rem 3rem;
		transform: translateY(3rem);
   }
	.bloqueTres .bloqueMobile .texto h3 {
		font-size: 20px;
		text-transform: uppercase;
   }
	.bloqueTres .bloqueMobile .texto p {
		font-size: 16px;
		text-align: right;
		margin-left: 10vw;
   }
	.bloqueTres.mobile {
		display: flex !important;
   }
	.bloqueTres.desktop {
		display: none;
   }
}
/* BLOQUE 4 */
.bloqueCuatro {
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: center;
	height: 100vh;
	height: 100svh;
	width: 100%;
	background-color: var(--white);
	color: var(--black);
	overflow: hidden;
}
.bloqueCuatro img {
	height: 80vh;
	height: 80svh;
	margin-left: 10vw;
	width: calc(50% - 10vw);
	aspect-ratio: 0.6666666667;
}
.bloqueCuatro .texto {
	width: calc(50% - 4em);
	margin-left: 2rem;
}
.bloqueCuatro .texto h2 {
	max-width: 40rem;
	font-size: 5vw;
	text-transform: uppercase;
	margin-bottom: 5rem;
}
.bloqueCuatro .texto .textoSecundario {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
	max-width: 25rem;
}
.bloqueCuatro .texto .textoSecundario h3 {
	font-size: 2.3vw;
	text-transform: uppercase;
}
.bloqueCuatro .texto .textoSecundario p {
	font-size: 16px;
}
.bloqueCuatro .texto .textoSecundario hr {
	background-color: var(--black);
}
@media (max-width: 900px) {
	.bloqueCuatro {
		flex-direction: column;
		align-items: center;
		justify-content: center;
		height: auto;
   }
	.bloqueCuatro img {
		height: fit-content;
		margin-left: auto;
		margin: 1.5rem 1.5rem 3rem;
		width: calc(100vw - 2rem);
		aspect-ratio: unset;
   }
	.bloqueCuatro .texto {
		width: 100%;
		padding: 1rem;
		margin: 0;
   }
	.bloqueCuatro .texto h2 {
		max-width: auto;
		font-size: 10vw;
		text-transform: uppercase;
		margin-bottom: 5rem;
   }
	.bloqueCuatro .texto .textoSecundario {
		gap: 1.5rem;
		max-width: auto;
		margin-bottom: 5rem;
   }
	.bloqueCuatro .texto .textoSecundario h3 {
		font-size: 6vw;
   }
}
@media (min-width: 1200px) {
	.bloqueCuatro .texto h2 {
		font-size: 60px;
   }
	.bloqueCuatro .texto .textoSecundario h3 {
		font-size: 28px;
   }
}
/* BLOQUE 5 */
.bloqueCinco {
	height: 100vh;
	height: 100svh;
	width: 100%;
	display: flex;
	flex-direction: row;
	overflow: hidden;
}
.bloqueCinco .bloqueIzq, .bloqueCinco .bloqueDer {
	width: 50vw;
	height: 100%;
}
.bloqueCinco .bloqueIzq {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
	gap: 4rem;
	margin: 0 2rem;
}
.bloqueCinco .bloqueIzq h2 {
	font-size: 8.7vw;
	text-transform: uppercase;
}
.bloqueCinco .bloqueIzq .bloquesTexto {
	display: flex;
	flex-direction: row;
	gap: 3rem;
	z-index: 1;
	width: 120%;
	mix-blend-mode: difference;
}
.bloqueCinco .bloqueIzq .bloquesTexto .texto {
	width: 100%;
}
.bloqueCinco .bloqueIzq .bloquesTexto .texto h2 {
	font-size: 4.6vw;
	margin-bottom: 1.5rem;
	margin-right: 0;
}
.bloqueCinco .bloqueIzq .bloquesTexto .texto p {
	font-size: 18px;
	max-width: 20rem;
}
.bloqueCinco .bloqueIzq .button {
	align-self: center;
}
.bloqueCinco .bloqueDer img {
	width: 100%;
	height: 100%;
}
@media (max-width: 900px) {
	.bloqueCinco {
		flex-direction: column-reverse;
		align-items: center;
		justify-content: center;
		height: auto;
		width: 100%;
   }
	.bloqueCinco .bloqueIzq, .bloqueCinco .bloqueDer {
		width: 100%;
   }
	.bloqueCinco .bloqueIzq {
		width: calc(100% - 2rem);
		margin: 5rem 1.5rem;
		gap: 3rem;
   }
	.bloqueCinco .bloqueIzq h2 {
		font-size: 12vw;
   }
	.bloqueCinco .bloqueIzq .bloquesTexto {
		flex-direction: column;
		gap: 4rem;
		width: 100%;
		margin-bottom: 2rem;
   }
	.bloqueCinco .bloqueIzq .bloquesTexto .texto h2 {
		font-size: 8vw;
		width: 80%;
   }
	.bloqueCinco .bloqueIzq .bloquesTexto .texto p {
		max-width: 20rem;
		font-size: 16px;
   }
	.bloqueCinco .bloqueIzq .bloquesTexto .texto:first-of-type {
		text-align: right;
		display: flex;
		flex-direction: column;
		align-items: flex-end;
   }
	.bloqueCinco .bloqueIzq .bloquesTexto .texto:first-of-type h2 {
		margin-right: 0;
   }
}
@media (min-width: 1200px) {
	.bloqueCinco .bloqueIzq h2 {
		font-size: 105px;
   }
	.bloqueCinco .bloqueIzq .bloquesTexto {
		display: flex;
		flex-direction: row;
		gap: 3rem;
   }
	.bloqueCinco .bloqueIzq .bloquesTexto .texto h2 {
		font-size: 55px;
   }
}
/* LOADED ANIMATIONS */
.visited .loader {
	display: none;
}
.visited .header {
	animation: headerLoaded 1s;
}
.visited header ul li:nth-of-type(1) {
	animation: menuItem 0.5s;
}
.visited header ul li:nth-of-type(2) {
	animation: menuItem 0.6s;
}
.visited header ul li:nth-of-type(3) {
	animation: menuItem 0.7s;
}
.visited .sliderHome {
	animation: sliderHomeLoaded 1.4s;
}
.visited .menuMobileButton {
	animation: menuMobileButton 0.5s;
}
.visited .header .mobile {
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	height: 80vh;
	width: calc(100vw - 2rem);
}
.visited .header .mobile img,
.visited .header .mobile video {
	width: 100%;
	height: 60vw;
}
.visited .header .mobile .firstElement {
	transform: translateY(20%);
	animation: mobileHeaderImgLoaded 1.6s;
}
.visited .header .mobile .secondElement {
	transform: translateY(-20%);
	animation: mobileHeaderImgLoaded 1.8s;
}
@keyframes headerLoaded {
	0%, 20% {
		transform: scale(1.1);
		clip-path: polygon(0 100%, 100% 100%, 100% 100%, 0 100%);
   }
	100% {
		clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
		transform: scale(1);
   }
}
@keyframes sliderHomeLoaded {
	0%, 35% {
		opacity: 0;
		transform: translateY(50px);
		pointer-events: none;
   }
	100% {
		opacity: 1;
		transform: translateY(0);
		pointer-events: all;
   }
}
@keyframes mobileHeaderImgLoaded {
	0%, 20% {
		clip-path: polygon(0 0, 100% 0, 100% 0, 0 0);
   }
	100% {
		clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
   }
}
