* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}
html {
	font-family: 'Manrope';
	font-size: var(--font-size-medium);
	line-height: var(--line-height-medium);
	-webkit-text-size-adjust: 100%;
	color: var(--black);
	background-color: var(--white);
	font-weight: 300;
	scroll-behavior: smooth;
}
.common {
	background-image: url("../img/xpert/bg-left.svg"), url("../img/xpert/bg-right.svg");
	background-repeat: no-repeat, no-repeat;
	background-position: 0 0, 100% 0;
}
.bps {
	background-image: url("../img/bps/bg-left.svg"), url("../img/bps/bg-right.svg");
	background-repeat: no-repeat, no-repeat;
	background-position: 0 0, 100% 0;
}
a,
a:link,
a:visited {
	color: var(--primary-normal);
	text-decoration: none;
}
a:hover, a:focus, a:active {
	color: var(--primary-dark);
}
button {
	cursor: pointer;
	border: none;
}


/* Typography */

h1 {
	font-size: var(--h1-font-size);
	line-height: var(--h1-line-height);
	font-weight: 600;
	letter-spacing: -0.48px;
	word-break: break-word;
}
h2 {
	font-size: var(--h2-font-size);
	line-height: var(--h2-line-height);
	font-weight: 600;
	letter-spacing: -0.32px;
	word-break: break-word;
}
h3 {
	font-size: var(--h3-font-size);
	line-height: var(--h3-line-height);
	font-weight: 600;
	letter-spacing: -0.28px;
}
h4 {
	font-size: var(--h4-font-size);
	line-height: var(--h4-line-height);
	font-weight: 600;
	letter-spacing: -0.24px;
}
h5 {
	font-size: var(--h5-font-size);
	line-height: var(--h5-line-height);
	font-weight: 600;
	letter-spacing: -0.18px;
}
.text-1 {
	font-size: var(--t1-font-size);
	line-height: var(--t1-line-height);
	font-weight: 300;
	letter-spacing: 0.18px;
}
.text-2 {
	font-size: var(--t2-font-size);
	line-height: var(--t2-line-height);
	font-weight: 300;
	letter-spacing: 0.16px;
}
.text-3 {
	font-size: var(--t3-font-size);
	line-height: var(--t3-line-height);
	font-weight: 300;
	letter-spacing: 0.14px;
}
.text-4 {
	font-size: var(--t4-font-size);
	line-height: var(--t4-line-height);
	font-weight: 300;
	letter-spacing: 0.12px;
}


/* - Layout - */


/* Desktop Nav */

.desktop {
	display: flex;
	justify-content: center;
	position: fixed;
	top: 16px;
	left: 0;
	width: 100%;
	padding: var(--spacing-2x-small) var(--sides);
	z-index: 990;
}
.desktop-bg {
	background: rgba(255, 255, 255, 0.8);
	backdrop-filter: blur(8px);
}
.desktop > div {
	display: flex;
	gap: var(--spacing-2x-small);
	justify-content: space-between;
	width: 100%;
	max-width: var(--max-width-large);
}
.desktop .logo, .desktop .right {
	width: 160px;
	height: 36px;
}
.desktop .logo img {
	height: 100%;
}
.desktop .logo .full {
	display: none;
}
.desktop .right {
	display: flex;
	justify-content: flex-end;
	gap: var(--spacing-2x-small);
}
.desktop ul {
	list-style: none;
	display: flex;
	align-items: center;
	gap: var(--spacing-small);
}
.desktop ul li a,
.desktop ul li a:link,
.desktop ul li a:visited {
	font-size: var(--font-size-small);
	line-height: var(--line-height-small);
	font-weight: 500;
	color: var(--black);
}
.desktop ul li a:hover, .desktop ul li a.active {
	color: var(--primary-normal);
}
.desktop ul li a:active {
	color: var(--primary-dark);
}


/* Mobile Nav */

.mobile {
	display: none;
	justify-content: center;
	position: fixed;
	bottom: 0;
	right: 0;
	width: 100%;
	padding: var(--spacing-2x-small) var(--spacing-x-small);
	z-index: 990;
}
.mobile ul {
	list-style: none;
	display: flex;
	align-items: center;
	gap: -1rem;
	background: rgba(240, 240, 240, 0.7);
	backdrop-filter: blur(8px);
	border-radius: var(--radius-2x-large);
	padding: 3px 9px;
	outline: 1px solid rgba(222, 224, 228, 0.5);
}
.mobile ul li {
	display: block;
	margin: 0 -6px;
}
.mobile ul li a,
.mobile ul li a:link,
.mobile ul li a:visited {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--spacing-4x-small);
	padding: var(--spacing-3x-small) var(--spacing-x-small) var(--spacing-4x-small) var(--spacing-x-small);
	border-radius: var(--radius-x-large);
	font-size: 10px;
	line-height: 12px;
	font-weight: 600;
	color: var(--neutral-dark);
	min-width: var(--size-2x-large);
}
.mobile ul li a .icon {
	--fill-color: var(--neutral-dark);
}
.mobile ul li a.active {
	color: var(--primary-normal);
	background-color: var(--white);
	outline: 1px solid rgba(222, 224, 228, 0.3);	
}
.mobile ul li a.active .icon {
	--fill-color: var(--primary-normal);
}

/* Youtube */

#youtube {
	position: fixed;
	display: none;
	align-items: center;
	justify-content: center;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	background: rgba(30, 31, 34, 0.88);
	z-index: 999;
}
#youtube iframe{
	width: 80vw;
	height: calc(9/16 * 80vw);
	border-radius: var(--radius);;
}
#youtube .btn{
	position: absolute;
	top: var(--sides);
	right: var(--sides);
}


/* BPS */

#bps article {
	height: 560px;
}
#bps article .bps-article-image {
	display: block;
	height: 100%;
}
#bps article > div > div{
	display: flex;
	flex-direction: column;
	gap: var(--bps-gap);
	align-items: flex-start;
}
#bps article > div {
	justify-content: space-between;
}


/* Display grid */

#hcm .content, #fa .content, #approach .content, #development .content, #partners .content {
	display: grid;
	grid-auto-columns: 1fr;
	grid-auto-rows: auto;
}


/* HCM */

#hcm .content {
	grid-template-areas: 
	"block-1 block-1 block-2 block-2 block-3 block-3"
	"block-4 block-4 block-5 block-5 block-6 block-6"
	"block-7 block-7 block-7 block-8 block-8 block-8";
}


/* F&A and Approach */

#fa .content, #approach .content {
	grid-template-areas: 
	"block-1 block-2 block-3";
}


/* Development */

#development .content {
	grid-template-areas: 
	"block-1 block-2 block-3"
	"block-4 block-5 block-6"
	"block-7 block-8 block-9";
}
#development .info {
	justify-content: space-between;
	color: var(--secondary-normal);
}

/* Partners */

#partners .content {
	grid-template-areas: 
	"block-1 block-2 block-3 block-4";
}


/* Downloads */

#downloads article {
	align-items: center;
	justify-content: space-between;
}
#downloads article > div {
	display: flex;
	flex-direction: row;
	gap: var(--section-content-gap);
	flex: auto 0 0;
}
#downloads a {
	display: flex;
	padding: var(--spacing-x-small) var(--spacing-medium);
	justify-content: center;
	align-items: center;
	gap: var(--spacing-2x-small);
	border-radius: var(--radius-medium);
	background: #002E5A;
	color: var(--white);
	font-weight: 500;
}


/* Story */

.timeline{
	display: flex;
	flex-direction: column;
	gap: var(--section-gap);
	padding: 0 var(--block-padding);
}
.period{
	display: flex;
	flex-direction: column;
	gap: var(--gap-medium);
}
.period > div{
	display: flex;
	gap: var(--spacing-3x-large);
}
.period > div > strong{
	font-weight: 700;
	color: var(--secondary-light);
}


/* Companies */

#companies .info {
	flex-direction: column;
	align-items: flex-start;
}
#companies .info p{
	text-align: right;
	align-self: flex-end;
}


/* References */

#references .block img {
	width: 100%;
	border-radius: var(--radius-large);
}


/* Case */

#case {
	gap: var(--section-gap);
}
#case .case-heading {
	display: flex;
	flex-direction: column;
	width: 100%;
	border-radius: var(--radius);
	overflow: hidden;
	gap: 0;
}
#case .block {
	width: 100%;
	flex: 1 0 100%;
}
#case .case-heading img {
	width: 100%;
}
#case .case-heading > div {
	display: flex;
	flex-direction: column;
	gap: var(--section-gap);
	padding: var(--block-padding);
	width: 100%;
	background-color: var(--primary-surface);
}
#case .case-heading .bottom {
	display: flex;
	flex-direction: column;
	color: var(--secondary-normal);
	gap: var(--spacing-4x-small);
}
#case .case-heading strong {
	font-weight: 600;
}


/* Logo Slider */

@keyframes slide {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-100%);
  }
}
.logos {
  overflow: hidden;
  padding: var(--spacing-medium) 0;
  white-space: nowrap;
  position: relative;
  display: flex;
  width: 100%;
}
.logos:hover .logos-slide {
  animation-play-state: paused;
}
.logos-slide {
  display: inline-block;
  animation: 60s slide infinite linear;
}
.logos-slide img {
  height: var(--size-x-large);
  margin: 0 var(--spacing-medium);
}


/* Pagination */

.pagination {
	display: none;
	gap: var(--spacing-4x-small);
}
.pagination a {
	color: var(--black) !important;
}
.pagination a:hover {
	background-color: var(--primary-surface) !important;
}
.pagination a:focus {
	outline: 1px solid var(--primary-stroke) !important;
}
.pagination a:active {
	background-color: var(--primary-stroke) !important;
}
.pagination a.active {
	color: var(--primary-normal) !important;
	background-color: var(--primary-surface) !important;
}


/* Paragraph */

.paragraph {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	padding: 0 var(--block-padding);
	gap: var(--section-gap);
}
.paragraph > div, .paragraph .heading{
	display: flex;
	flex-direction: column;
}
.paragraph > div {
	gap: var(--block-gap);
}
.paragraph .heading {
	gap: var(--spacing-4x-small);
}
.paragraph .heading p {
	color: var(--neutral-normal);
	font-weight: 500;
}
.paragraph strong {
	font-weight: 600;
}


/* Cookies */

#cookies {
	position: fixed;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	padding: var(--gap-small);
	width: 100%;
	max-width: 720px;
	z-index: 1100;
	display: none;
}
#consent {
	position: fixed;
	bottom: 0;
	right: calc(100% - 480px);
	padding: var(--gap-small);
	z-index: 1000;
	display: none;
}
#cookies > div, #consent > div {
	display: flex;
	flex-direction: column;
	gap: var(--gap-small);
	padding: var(--gap-small);
	background-color: var(--white);
	border-radius: var(--radius-medium);
	box-shadow: 0 0 12px 0 rgba(30, 31, 34, 0.25);
}
#cookies .header, #consent .header {
	display: flex;
	justify-content: space-between;
}
#cookies .footer, #consent .footer {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: var(--gap-small);
}
#cookies .footer a, #consent .footer a {
	font-size: var(--font-size-small);
	line-height: var(--line-height-small);
	font-weight: 500;
	letter-spacing: 0.14px;
}
#cookies .footer > div, #consent .footer > div{
	display: flex;
	gap: var(--gap-small);
}
#cookies .item {
	display: flex;
	flex-direction: column;
	gap: var(--spacing-3x-small);
}
#cookies .item > div{
	display: flex;
	justify-content: space-between;
}
#cookies .item > div strong{
	color: var(--success-normal);
}
#cookies .item > p{
	color: var(--neutral-normal);
}
#cookies .item .bold{
	font-weight: 600;
}

/* Footer */

footer > div{
	gap: 0;
}
footer article > div {
	justify-content: space-between;
}
footer article > div p {
	color: var(--neutral-dark);
}
footer article form .row {
	display: flex;
	gap: var(--block-gap);
	width: 100%;
}
footer article form button {
	width: 100%;
}
footer article form .success, footer article form .error {
	display: none;
	padding: var(--spacing-x-small);
	font-size: var(--t3-font-size);
	line-height: var(--t3-line-height);
	font-weight: 500;
	letter-spacing: 0.14px;
	width: 100%;
	border-radius: var(--radius-small);
}
footer article form .success{
	background-color: var(--success-light);
	color: var(--success-normal);
}
footer article form .error {
	background-color: var(--error-light);
	color: var(--error-normal);
}
footer .bottom {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: var(--section-top) var(--block-padding) var(--spacing-x-large) var(--block-padding);
	gap: var(--gap-medium);
	width: 100%;
}
footer .bottom .copyright {
	color: var(--neutral-dark);
}
footer .bottom .links {
	display: flex;
	align-items: center;
	gap: var(--gap-medium);
}

.form_message__green {
	color: var(--success-normal);
}

.form_message__red {
	color: var(--error-normal);
}

/* Media */

@media screen and (max-width: 1024px) {
	#hcm .content {
		grid-template-areas: 
		"block-1 block-2"
		"block-3 block-4"
		"block-5 block-6"
		"block-7 block-8";
	}
	#fa .content, #approach .content {
		grid-template-areas: 
		"block-1 block-2"
		"block-3 block-3";
	}
	#development .content {
		grid-template-areas: 
		"block-1 block-2"
		"block-3 block-4"
		"block-5 block-6"
		"block-7 block-8"
		"block-9 block-9";
	}
	#partners .content {
		grid-template-areas: 
		"block-1 block-2"
		"block-3 block-4";
		;
	}
}

@media screen and (max-width: 768px) {
	h1 {
		font-size: var(--h2-font-size);
		line-height: var(--h2-line-height);
		font-weight: 600;
		letter-spacing: -0.32px;
	}
	h2 {
		font-size: var(--h3-font-size);
		line-height: var(--h3-line-height);
		font-weight: 600;
		letter-spacing: -0.28px;
	}
	h3 {
		font-size: var(--h4-font-size);
		line-height: var(--h4-line-height);
		font-weight: 600;
		letter-spacing: -0.24px;
	}
	h4 {
		font-size: var(--h5-font-size);
		line-height: var(--h5-line-height);
		font-weight: 600;
		letter-spacing: -0.18px;
	}
	.text-1 {
		font-size: var(--t2-font-size);
		line-height: var(--t2-line-height);
		font-weight: 300;
		letter-spacing: 0.16px;
	}
	.desktop ul {
		display: none;
	}
	.mobile {
		display: flex;
	}
	#youtube iframe{
		width: calc(100vw - 2rem);
		height: calc(9/16 * (100vw - 2rem));
	}
	article, #services .content, footer .bottom, footer .bottom .links, header .buttons, header .advantages, .row {
		flex-direction: column;
	}
	article > div, article > form, .block, .info {
		flex: 1 0 auto;
	}
	header .xpert {
		max-width: 320px;
	}
	#bps article, #bps article .bps-article-image {
		height: auto;
	}
	#bps article .bps-article-image, #bps article .btn, #downloads a {
		width: 100%;
	}
	#bps article > div, footer .bottom {
		justify-content: flex-start;
	}
	#hcm .content, #fa .content, #approach .content, #development .content {
		display: flex;
	}
	#downloads article > div {
		flex-direction: column;
		width: 100%;
	}
	#story .period > div{
		flex-direction: column;
		gap: var(--spacing-3x-small);
	}
	.paragraph {
		padding: 0;
	}
	#consent {
		bottom: var(--spacing-2x-large);
		right: 0;
	}
	#cases article {
		flex-direction: column-reverse;
	}
}
@media screen and (max-width: 480px) {
	#cookies .footer, #consent .footer {
		flex-direction: column-reverse;
	}
	#cookies {
		position: absolute;
		top: 0;
		left: 0;
		transform: none;
		max-width: none;
	}
}