/* Global Styles */

.bubble--about {
	top: 20%;
	left: 20%;
	width: 15%;
}

.bubble--skills {
	top: 0%;
	left: 0%;
	width: 25%;
}

.bubble--experience {
	top: 23%;
	right: 20%;
	width: 20%;
}

.bubble--contact {
	bottom: 0%;
	left: 0%;
	width: 25%;
}

ul {
	list-style-type: none;
}

.container--flex {
	width: 90%;
	max-width: 1500px;
	margin: 0 auto;
}

.container--home {
	padding: 4em 0 0;
	min-height: 100svh; /* Adapts the height to mobile screens */
}

.container--about,
.container--education,
.container--languages,
.container--experience,
.container--contact {
	padding: 2.5em 0 0;
}

.container--skills {
	/* text in languages already has margin */
	padding: 1.8em 0 0;
}

.container--tech {
	/* text in experience already has margin */
	padding: 1.5em 0 0;
}

.container--contact {
	/* To locate the bubble */
	padding: 2.5em 0;
}

/* To avoid scrolling problems with links & navbar fixed */
#home::before,
#about::before,
#education::before,
#languages::before,
#skills::before,
#experience::before,
#tech::before,
#contact::before {
	display: block;
	content: "";
	height: 4em;
	margin-top: -4em;
}

.title {
	font-size: var(--fs-h3);
	font-weight: 300;
	text-align: center;
	color: var(--color-1st-dark);
}

body.light .title {
	font-weight: 400;
}

.hr--title {
	margin: 0.3rem auto 1.5em;
	width: 5rem;
	border: none;
	border-bottom: var(--ls-1px) solid var(--color-1st-dark);
}

body.light .hr--title {
	border-bottom: var(--ls-2px) solid var(--color-1st-dark);
}

.hr--separation {
	margin: 1em auto;
	border: none;
	border-bottom: var(--ls-1px) solid var(--hr-dark);
}

body.light .hr--separation {
	border-bottom: var(--ls-1px) solid var(--hr-light);
}

.education__flexbox {
	position: relative;
	display: flex;
	justify-content: center;
}

.education__flex__item--sides {
	width: 45%;
}

.text--right {
	text-align: right;
}

.flex__item--centerline {
	width: 10%;
	text-align: center;
}

.place {
	margin: 0.7rem 0 0.5rem;
}

.round {
	display: inline-block;
	width: 1rem;
	height: 1rem;
	background-color: var(--color-1st-dark);
	border-radius: 50%;
}

.line {
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	width: 0.125rem;
	height: 100%;
	background-color: var(--color-1st-dark);
	transform: translate(-50%, -47%);
}

.progress-bar {
	width: 100%;
	padding: 0.4rem;
	background-color: var(--bg-dark-progress);
	border-radius: 2rem;
}

body.light .progress-bar {
	background-color: var(--bg-light-progress);
}

.bar {
	padding: 0.32rem;
	background-color: var(--color-1st-dark);
	border-radius: 2rem;
}

.bar--spanish {
	width: 100%;
	animation: spanishBar 1s ease-in-out 0.5s;
}

.bar--catalan {
	width: 90%;
	animation: catalanBar 1s ease-in-out 0.5s;
}

.bar--english {
	width: 55%;
	animation: englishBar 1s ease-in-out 0.5s;
}

@keyframes spanishBar {
	from {
		width: 0%;
	}
	to {
		width: 100%;
	}
}

@keyframes catalanBar {
	from {
		width: 0%;
	}
	to {
		width: 90%;
	}
}

@keyframes englishBar {
	from {
		width: 0%;
	}
	to {
		width: 55%;
	}
}

.tech__flexbox {
	display: flex;
	flex-flow: row wrap;
	justify-content: center;
	gap: 2rem 1.5rem;
}

.contact__form textarea {
	resize: vertical;
}

.form__btn {
	margin-top: 0.5em;
}
