@charset "UTF-8";

@font-face {
    font-family: 'Montserrat';
    src: url('/res/fonts/Montserrat.ttf') format('truetype');
}

@font-face {
    font-family: 'Montserrat-Italic';
    src: url('/res/fonts/Montserrat-Italic.ttf') format('truetype');
}

:root {
	--primary-color: #ed3137;
	--secondary-color: #a60e0e;

	--background-color: #ffffff;
	--secondary-background-color: #ffffff;
	--tertiary-background-color: #ffffff;

	--input-border-color: #ffffff;
	--input-color: #f7f7f7;

	--primary-font: "Montserrat";
	--italic-font: "Montserrat-Italic";
	
	--font-color: #606060;
	--secondary-font-color: #000000;

	--danger-font-color: #fe1516;
	--warning-font-color: #f7bb00;
	--ok-font-color: #0bc91b;
	--great-font-color: #057a0f;

	--scrollbar-track-color: #e8eaf6;
	--scrollbar-thumb-color: var(--primary-color);
	--scrollbar-thumb-hover-color: #3a3a3a;

	--scrollbar-width-pc: 12px;
	--scrollbar-width-mb: 3px;
}

::-webkit-scrollbar {
	width: var(--scrollbar-width-pc);
}

::-webkit-scrollbar-track {
	background: var(--scrollbar-track-color);
}

::-webkit-scrollbar-thumb {
	background: var(--scrollbar-thumb-color);
}

::-webkit-scrollbar-thumb:hover {
	background: var(--scrollbar-thumb-hover-color);
}

html {
	overflow-x: hidden;
}

body {
	margin: 0;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	min-height: 100vh;

	background-color: var(--background-color);
	color: var(--font-color);
}

*:focus {
	outline: none;
}

main{
    display: flex;
    flex-direction: column;
    width: 100%;
    align-items: center;
}

img {
	-webkit-user-select: none;
	-ms-user-select: none;
	-moz-user-select: none;
	user-select: none;
    width: 100%;
    display: block;
}

a , a *{
	text-decoration: none;
}

/* a, a:visited, a:hover, a:active, a * {
	color: unset;
} */

ul {
	list-style: none;
}

* {
	font-family: var(--primary-font);
	/* font-size: 1em; */

	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

.stop-scrolling {
	height: 100%;
	overflow: hidden;
}

.pointer {
	cursor: pointer;
}

.clickable {
	cursor: pointer;
}

.primary{
    color: var(--primary-color);
}

.secondary{
    color: var(--secondary-color);
}

.relative{
    position: relative;
    width: 100%;
}

.primary-font{
    font-family: var(--primary-font);
}

.pc{
	display: none;
}

.mb{
	display: block;
}


/* LOADING SCREEN */

.loading-screen {
	position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
	height: 100vh;
    background-color: white;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 110;
    overflow: hidden;
}

.loader {
    width: 5vw;
    height: 5vw;
    border: 0.6vw solid #cccccc;
    border-top: 0.6vw solid var(--primary-color);
    border-radius: 50%;
    animation: spin 3s normal infinite;
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/* NAVBAR CSS */

.top-navbar{
	width: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
}

.nav-mb{
	display: flex;
	width: 100%;
	align-items: stretch;
	justify-content: space-between;
}

.logo-mb{
	width: 55%;
	padding: 1.5rem 10% 0;
}

.barra{
	background-color: var(--primary-color);
	align-content: center;
	padding: 1rem 15% 1rem 5%;
	position: relative;
}

.barra::before{
	content: '';
	position: absolute;
	right: 90%;
	top: 0;
	height: 100%;
	aspect-ratio: 7/5;
	background-image: url('/res/img/common/navbar-end.png');
	background-position: center;
	background-size: contain;
	background-repeat: no-repeat;
	z-index: -1;
}

.barra::after{
	content: '';
	position: absolute;
	top: 75%;
	right: 0;
	width: 130%;
	aspect-ratio: 3/1;
	background-image: url('/res/img/common/Fecha-Blanca.svg');
	background-position: center;
	background-size: contain;
	background-repeat: no-repeat;
}

.hamburger{
	width: 6vw;
}

.menu-bg{
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	background-color: rgba(0, 0, 0, 0.5);
	z-index: 2;
	width: 100%;
	height: 100vh;
	opacity: 0;
    transition: opacity 0.3s ease;
}

.menu-bg.active {
    display: block;
    opacity: 1;
}

.menu-mb{
	display: none;
	position: absolute;
	top: 0;
	right: 0;
	background: linear-gradient(100deg, var(--primary-color) 30%, var(--secondary-color) 100%);
	z-index: 3;
	border-bottom-left-radius: 4rem;
	/* opacity: 0; */
	transition: transform 0.3s ease;
	/* transition: opacity 0.3s ease; */
    transform: translateX(100%);
}

.menu-mb.active {
    display: block;
	/* opacity: 1; */
    transform: translateX(0); 
}

.menu-list{
	margin: 0;
	padding: 2rem 3rem 1rem 4rem;
}

.menu-list > li{
	margin: 0;
	padding: 0.9rem 0;
}

.menu-list > li >a,
.menu-list > li{
	font-size: 1.2rem;
	color: white;
}

.menu-language{
	display: flex;
	justify-content: space-evenly;
	position: relative;
}

.menu-language::before{
	content: '';
	position: absolute;
	top: 0;
	left: -4rem;
	width: calc(100% + 7rem);
	border-top: 1px solid white;
}

.selected,
.selected-lg{
	font-weight: bold;
}

.nav-pc{
	display: none;
}



@media (width >= 1024px) {
	.nav-mb{
		display: none;
	}

	.nav-pc{
		display: flex;
		width: 100%;
		align-items: stretch;
		justify-content: space-between;
	}

	.logo-pc{
		width: 30%;
		padding: 2rem 5% 0;
	}

	.menu-pc{
		width: 60%;
	}

	.menu-list-pc{
		background-color: var(--primary-color);
		display: flex;
		height: 100%;
		align-items: center;
		margin: 0;
		padding: 0 5% 0 0;
		justify-content: space-between;
		position: relative;
	}

	.menu-list-pc::before{
		content: '';
		position: absolute;
		right: calc(100% - 1px);
		top: 0;
		height: 100%;
		aspect-ratio: 7/5;
		background-image: url('/res/img/common/navbar-end.png');
		background-position: center;
		background-size: contain;
		background-repeat: no-repeat;
		z-index: -1;
	}

	.menu-list-pc::after{
		content: '';
		position: absolute;
		top: 75%;
		right: 0;
		width: 33%;
		aspect-ratio: 3/1;
		background-image: url('/res/img/common/Fecha-Blanca.svg');
		background-position: center;
		background-size: contain;
		background-repeat: no-repeat;
	}

	.menu-list-pc > li{
		margin: 0;
		padding: 1rem 0;
	}
	
	.menu-list-pc > li >a,
	.menu-list-pc > li{
		font-size: 1.25rem;
		font-weight: 300;
		color: white;
		position: relative;
	}

	@media (width >= 1124px) {
		.menu-list-pc > li >a,
		.menu-list-pc > li{
			font-size: 1.5rem;
		}
	}

	@media (width >= 1440px) {
		.menu-list-pc > li >a,
		.menu-list-pc > li{
			font-size: 1.75rem;
		}
	}

	.menu-language{
		display: flex;
		justify-content: space-evenly;
		position: relative;
		gap: 5%;
		cursor: pointer;
	}
	
	.menu-language::before{
		content: '';
		position: unset;
		top: unset;
		left: unset;
		width: unset;
		border-top: none;
	}

	.selected{
		font-weight: normal !important;
	}

	.selected::after{
		content: '';
		position: absolute;
		top: 110%;
		left: 50%;
		transform: translateX(-50%);
		width: 2rem;
		aspect-ratio: 20/9;
		background-image: url('/res/img/common/Triangulo-Blanco.svg');
		background-position: center;
		background-repeat: no-repeat;
		background-size: cover;
	}
	
}

/* FOOTER CSS */

.footer{
    width: 100%;
    /* aspect-ratio: 6/10; */
    display: flex;
    flex-direction: column;
    align-items: center;
}

.footer-logo{
    width: 100%;
    padding: 4rem 10% 0; 
}

.footer-list{
    padding: 3rem 0;
    margin: 0;
    text-align: center;
}

.footer-list > li{
    padding: 0.25rem 0;
}

.footer-list > li > a{
    font-size: 0.9rem;
    color: var(--primary-color);
    transition: color 0.5s ease;
}

.footer-list > li > a:hover{
    color: var(--secondary-color);
}

.social{
    display: flex;
    width: 100%;
    padding: 0 25%;
    align-items: center;
    justify-content: space-between;
}

.social > a{
    width: 2.5rem;
    aspect-ratio: 1/1;
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    transition: scale 0.5s ease;
}

.social > a:hover{
    scale: 1.25;
}

.ig{
    background-image: url('/res/img/common/Logo-Ig.svg');
}

.in{
    background-image: url('/res/img/common/Logo-In.svg');
}

.fb{
    background-image: url('/res/img/common/Logo-Fb.svg');
}

.footer-contact{
    font-size: 0.9rem;
    text-align: center;
    padding: 1.5rem 0 5rem;
}

@media (width >= 1024px) {
	.footer{
		align-items: start;
		position: relative;
	}
	
	.footer-content{
		width: 50%;
	}
	
	.footer-img{
		width: 70%;
		position: absolute;
		top: 0;
		right: 0;
		padding-bottom: 7.5vw;
	}
	
	.footer-logo{
		width: 100%;
		padding: 5vw 20% 0; 
	}
	
	.footer-list{
		padding: 2.5vw 20%;
		margin: 0;
		text-align: left; 
	}
	
	.footer-list > li{
		padding: 0.4rem 0;
	}
	
	.footer-list > li > a{
		font-size: 1.1rem;
	}
	
	.social{
		position: absolute;
		top: 5vw;
		right: 5%;
		transform: translateY(-50%);
		z-index: 2;
		width: 17.5%;
		padding: 0;
	}
	
	.social > a{
		width: 3rem;
	}
	
	.social > a:hover{
		scale: 1.15;
	}
	
	.ig{
		background-image: url('/res/img/common/Logo-Ig-Blanco.svg');
	}
	
	.in{
		background-image: url('/res/img/common/Logo-In-Blanco.svg');
	}
	
	.fb{
		background-image: url('/res/img/common/Logo-Fb-Blanco.svg');
	}
	
	.footer-contact{
		position: absolute;
		top: 50%;
		right: 5%;
		transform: translateY(-50%);
		font-size: 1rem;
		text-align: right;
		padding: 0;
		color: white;
	}
}

/* PC y MB */

@media (width >= 1024px) {
	.pc{
		display: block;
	}
	
	.mb{
		display: none;
	}
}