@import url('https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&family=Lato:ital,wght@0,100;0,300;0,400;0,700;0,900;1,100;1,300;1,400;1,700;1,900&family=Montserrat:ital,wght@0,100..900;1,100..900&family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&family=Source+Sans+3:ital,wght@0,200..900;1,200..900&display=swap');


/*------------VARIABLES CSS------------*/
:root {
  --primaryColor: #C91022;
}
/*------------VARIABLES CSS------------*/

/*------------GENERAL------------*/
html, body,
h1, h1, h3, h4, h5, h6 {
	font-family: "Lato", sans-serif;
}
  
p, li, a {
	font-size: 18px;
	font-family: "Lato", sans-serif;
}

/*-------SCROLL-------*/
html, body, .modal-body {
    scrollbar-width: thin; 
    scrollbar-color: var(--primaryColor) white; 
}
/*--------------------*/
header {
	z-index: 100;
}

a {
	text-decoration: none;
	color: inherit;
}

#toolbar-bar a, #toolbar-item-administration-tray a {
	font-size: 15px;
}

ul.contextual-links {
	font-size: 15px;
}

h2.title {
	font-size: 26px;
	font-weight: 700;
	margin-bottom: 40px;
}

.page-link.active, 
.media-library-view--widget .view-header a.page-link.is-active, 
.media-library-view--widget .view-header a.is-active > .page-link, 
.active > .page-link, 
.page-item:first-child .page-link,
.page-item:last-child .page-link,
.page-link {
	background-color: unset;
	border: unset;
	border-radius: 0;
	color: black;
}

svg, img {
	max-width: 100%;
}

.full-width-container {
	display: flex;
	flex-direction: column;
	align-items: center;
}

.bottom-space {
	margin-top: 80px;
}

/*------------------------------*/
/*-----STICKY MENU SECTION------*/
body:not(.user-logged-in) .sticky-section {
  position: fixed;  
  top: 0;           
  left: 0;          
  width: 100%;      
  z-index: 100;    
}

.sticky-section {
	background-color: white;
	box-shadow: 
    rgba(50, 50, 93, 0.15) 0px 2px 5px -1px, /* Top, right, and left shadows */
    rgba(0, 0, 0, 0.1) 0px 1px 3px -1px,    /* Top, right, and left shadows */
    0px 1px 2px 0px rgba(0, 0, 0, 0.1);
} 

.path-frontpage .sticky-section {
	background-color: var(--primaryColor);
	box-shadow: unset;
}

body:not(.user-logged-in) .region-breadcrumb {
	margin-top: 84px;
}

/*----------------------------------*/
/*------------PRE-HEADER------------*/
.pre-header {
	overflow: hidden;
}

.pre-header-wrap {
	display: flex;
	margin-top: 25px;
	justify-self: end;
	transform: translateY(0);
	transition: transform 0.4s ease-in-out;
}

.pre-header-wrap .social-networks a {
	background-color: var(--primaryColor);
	border-radius: 50%;
	padding: 4px 8px;
}

.pre-header-wrap .social-networks img {
	filter: brightness(0) invert(1);
}

.social-networks {
	list-style: none;
	display: flex;
	gap: 8px;	
	padding-left: 25px;
}

.social-networks img {
	width: 18px;
	height: 18px;
	margin-top: -1px;
}

img[alt="facebook"] {
	width: 23px;
	height: 23px;
}

img[alt="linkedin"] {
	width: 19px;
	height: 19px;
}

img[alt="youtube"] {
	width: 20px;
	height: 20px;
}

/*------------------------------*/
/*------------HEADER------------*/
#block-vootstrap-sitebranding {
	position: absolute;
	top: -29px;
	left: 0;
}

.path-frontpage .navbar-brand img {
	filter: brightness(0) invert(1);
}

.navbar-brand img {
	height: 113px;
	max-width: 260px;
	margin-bottom: 20px;
	transition: padding-top 0.4s ease;
}

nav .d-flex{
	align-items: baseline;
	width: 100%;
	margin: 10px 0;
}
/*------------------------------*/
/*--------SUPERFISH MENU--------*/
ul.sf-menu.sf-style-default li, ul.sf-menu.sf-style-default.sf-navbar {
	background-color: transparent;
}

ul.sf-menu.sf-style-default {
	margin-bottom: 0;
}

.path-frontpage ul.sf-menu.sf-style-default a, 
.path-frontpage ul.sf-menu.sf-style-default a:visited, 
.path-frontpage ul.sf-menu.sf-style-default span.nolink,
.path-frontpage #superfish-main li a {
	color: white;
}

ul.sf-menu.sf-style-default a, ul.sf-menu.sf-style-default a:visited, ul.sf-menu.sf-style-default span.nolink,
#superfish-main li a {
	color: black;
	text-transform: uppercase;
	font-weight: 700;
}

ul.sf-menu.sf-style-default li:hover, ul.sf-menu.sf-style-default li.sfHover, 
ul.sf-menu.sf-style-default a.is-active, ul.sf-menu.sf-style-default a:focus,
ul.sf-menu.sf-style-default a:hover, ul.sf-menu.sf-style-default span.nolink:hover {
	background-color: unset;
	/*color: var(--primaryColor) !important;*/
	cursor: pointer;
}

ul.sf-menu.sf-style-default li li, ul.sf-menu.sf-style-default.sf-navbar > li > ul,
ul.sf-menu.sf-style-default li:hover, ul.sf-menu.sf-style-default li.sfHover,
ul.sf-menu.sf-style-default a.is-active, ul.sf-menu.sf-style-default a:focus,
ul.sf-menu.sf-style-default a:hover, ul.sf-menu.sf-style-default span.nolink:hover {
	background-color: transparent;
}

ul.sf-menu.sf-style-default li li, ul.sf-menu.sf-style-default.sf-navbar > li > ul,
ul.sf-menu.sf-style-default li:hover, ul.sf-menu.sf-style-default li.sfHover,
ul.sf-menu.sf-style-default a.is-active, ul.sf-menu.sf-style-default a:focus,
ul.sf-menu.sf-style-default a:hover, ul.sf-menu.sf-style-default span.nolink:hover {
	background-color: unset;
}

ul.sf-menu.sf-style-default li:has(span.nolink):hover,
ul.sf-menu.sf-style-default span.nolink:hover {
	cursor: default !important;
}

.dropdown-toggle::after{
	content: none;
}

ul.sf-menu.sf-style-default a, ul.sf-menu.sf-style-default a:visited,
ul.sf-menu.sf-style-default span.nolink {
	padding: 0.55em 0.5em;
}

#superfish-main .menuparent a {
	margin-left: 15px;
}

/*li.active-trail > span,
li.active-trail > a {
	color: var(--primaryColor) !important;
}*/

#superfish-main li:has(span.services-link) {
	display: flex;
}

/*------------------------------*/
/*-------SUPERFISH SUBMENU------*/
#superfish-main .sf-depth-2 {
	padding: 2px 15px 2px 0px;
}

#superfish-main .sf-depth-2:first-child {
	padding-top: 9px;
}

#superfish-main .sf-depth-2:last-child {
	padding-bottom: 9px;	
}

li.sf-depth-2 {
	position: relative;
}

li.sf-depth-2:hover::after {
	content: "";
	background-image: url('../images/icons/chevron-down-solid.svg');
	transform: rotateZ(270deg);
	position: absolute;
	width: 12px;
	height: 12px;
	top: 14px;
	right: 15px;
	background-size: cover;
}

li.sf-depth-2:hover:first-child::after {
	top: 21px;
}
/*-----------------------------------*/
/*----------LANGUAGE SWITCHER--------*/
.language-switcher-language-url ul {
	display: flex;
	list-style: none;
	gap: 16px;
	position: relative;
	margin-top: 2px;
}

li[hreflang="en"] {
	position: relative;
}

li[hreflang="en"]::after {
	content: '';
	display: block;
	height: 55%;
	width: 1.3px;
	background-color: black;
	position: absolute;
	background-position: right;
	top: 5.5px;
	left: 27.5px;
}

.path-frontpage:not(.user-logged-in) .language-switcher-language-url a {
	color: white;
}

.path-frontpage:not(.user-logged-in) li[hreflang="en"]::after {
	background-color: white;
}

/*a.language-link[hreflang="en"] {
  font-size: 0; /* hide original text 
}

a.language-link[hreflang="en"]::after {
  content: "EN";  /* replacement 
  font-size: 18px; /* reset font size 
}
*/
/*-----------------------------------*/
/*--------------BANNER---------------*/
.banner-wrap {
	position: relative;
	overflow: hidden;
}

.banner-wrap::before {
	content: "";
	position: absolute;
	background-image: url('../images/background/banner-car.svg');
	width: 800px;
	height: 370.4px;
	background-size: cover;
	bottom: 100px;
	right: -10px;
}

.banner-wrap::after {
	content: "";
	position: absolute;
	background-image: url('../images/background/banner-lines.svg');
	left: 50px;
	bottom: 80px;
	width: 309px;
	height: 25px;
}

.banner {
	min-height: 608.5px;
	max-height: 50vh;
	height: 50vh;
	background-color: #C91022;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.banner * {
	color: white;
}

.banner-text {
	padding-top: 120px;
}

.banner h1 {
	font-weight: 700;
	margin-top: 25px;
	margin-bottom: 20px;
	font-size: 54px;
}

.banner h1 span {
	font-weight: 400;
	font-size: 46px;
	margin-top: 15px;
	display: inline-block;
}

/*-----------------------------------*/
/*------------BREADCRUMBS------------*/
.page-node-type-article .breadcrumb-item:last-child,
.page-node-type-event .breadcrumb-item:last-child { 
	display: none;
}

.region-breadcrumb {
	position: relative;
	background: black;
	padding: 35px 15px;
	margin-bottom: 20px;
}

#block-vootstrap-breadcrumbs, #block-vootstrap-page-title {
	margin: 10px auto 0 auto;
}

.region-breadcrumb .breadcrumb-item,
.region-breadcrumb h1,
.breadcrumb-item::before {
	color: white !important;
}

.region-breadcrumb .breadcrumb-item {
	opacity: 0.6;
}

ol.breadcrumb{
	margin-bottom: unset;
}

.breadcrumb-item,
.breadcrumb-item a {
	font-size: 16.5px;
	font-weight: 400;
}

.breadcrumb-item + .breadcrumb-item::before {
	content: "›";
	padding: 0px 8px 0 1.5px;
}

.path-node #block-vootstrap-page-title h1 {
    width: 100%;
	font-size: calc(1.325rem + 0.9vw);
	margin-bottom: 0;
}

.custom-breadcrumb {
	padding: 60px 15px 0px 15px;
}

.custom-breadcrumb * {
	color: white;
}

.custom-breadcrumb h1 {
	font-size: calc(1.325rem + 0.9vw);
}

.custom-breadcrumb p {
	font-size: 1.25rem;
	font-weight: 500;
}

/*------------------------------*/
/*--------CONTENT BLOCKS--------*/
.intro-wrap {
	margin: 80px 0;
	justify-content: center;
}

.background-lines {
	position: relative;
	padding: 85px 0 130px 0;
	margin-bottom: 35px;
}

.background-lines::before,
.background-lines::after {
	content: "";
	position: absolute;
	background-image: url('../images/background/red-lines.svg');
	width: 315px;
	height: 24px;
	background-size: cover;
}

.background-lines::before {
	left: 25px;
	bottom: 50px;
}

.background-lines::after {
	right: 25px;
	top: 90px;
}

.gray-bg {
	background-color: #EAE8E8;
}

#technological-challenges .bottom-space {
	margin-top: 50px;
}

.custom-list {
	display: flex;
	justify-content: space-between;
	list-style-position: inside;
	align-items: center;
	padding-left: 0;
	flex-wrap: wrap;
}

.custom-list li {
	position: relative;
	margin-bottom: 20px;
	width: calc(50% - 20px);
}

.custom-list li::before {
	position: absolute;
	content: "";
	left: 0;
	display: block;
	border-radius: 50%;
	background-color: var(--primaryColor);
	width: 10px;
	height: 10px;
	top: 8px;
}

.custom-list li::marker {
	color: transparent;
	font-size: 15px;
}

.objectives {
	margin-top: 35px;
}

.objective {
	display: flex;
	align-items: center;
	border: 2px solid var(--primaryColor);
	border-radius: 35px;
	padding: 8px 20px 8px 20px;
	margin-bottom: 15px;
}

.objective .number {
	color: var(--primaryColor);
	font-size: 22px;
	font-weight: 800;
	width: 45px;
}

.objective p {
	margin-bottom: 0;
}

/*---------------------------*/
/*----------FOOTER-----------*/
footer {
	padding: 2rem 0 0 0;
}

footer .container {
	justify-self: center;
	padding-bottom: 0;
	justify-content: space-between;
}

.footer-logo {
	margin-top: 25px;
	padding-bottom: 3px;
}

.copyright {
	display: flex;
	justify-content: center;
	align-items: baseline;
	background-color: black;
	margin-top: 25px;
	padding-bottom: 3px;
}

.copyright * {
	color: white;
	font-size: 16px;
}

.copyright p {
	margin-bottom: 0;
	padding: 5px 15px 2px 15px;
}

/*----------COOKIES----------*/
.eu-cookie-compliance-banner{
 width: 100% !important;
}
.eu-cookie-compliance-content{
	display: flex;
	flex-direction: column;
	padding: 25px 0;
	
}
.eu-cookie-compliance-categories-buttons {
    margin: 1em 0 1em 0 !important;
}
.eu-cookie-compliance-save-preferences-button {
    padding: 5px 25px;
    background-color: #ffffff;
    font-weight: bold;
    color: var(--primaryColor);
    border: none;
    background-image: none !important;
    text-shadow: none;
}

.eu-cookie-compliance-save-preferences-button:hover, .eu-cookie-compliance-save-preferences-button:focus{
    -webkit-box-shadow: 2px 2px 12px 0px rgba(0, 0, 0, 0.2) !important;
    -moz-box-shadow: 2px 2px 12px 0px rgba(0, 0, 0, 0.2) !important;
    padding: 5px 25px!important;
    background-color: #ffffff !important;
    font-weight: bold !important;
    color: var(--primaryColor) !important;
    border: none !important;
    background-image: none !important;
    text-shadow: none !important;
    
}

.agree-button,
.agree-button:hover,
.agree-button:focus,
.agree-button:active,
.agree-button:first-child:active{
	padding: 5px 25px;
    background-color: #ffffff;
    font-weight: bold;
    color: var(--primaryColor);
    border: none;
    background-image: none !important;
    text-shadow: none;
}

div#sliding-popup, div#sliding-popup .eu-cookie-withdraw-banner, .eu-cookie-withdraw-tab {
    background: var(--primaryColor) !important;
    box-shadow: 0 -2px 5px rgba(0, 0, 0, 0.3);
}
#sliding-popup h1, #sliding-popup h2, #sliding-popup h3, #sliding-popup p, #sliding-popup label, #sliding-popup div, .eu-cookie-compliance-more-button, .eu-cookie-withdraw-tab {
    color: #ffffff !important;
}
#sliding-popup h2{
    font-size: 20px;
}
#sliding-popup p, #sliding-popup label{
    font-size: 16px;
}
.agree-button:hover,
.agree-button:focus,
.agree-button:active{
	box-shadow: 5px 6px 9px rgba(0, 0, 0, 0.3);
}

/* .eu-cookie-compliance-categories-buttons{
    position: relative;
}
.eu-cookie-compliance-buttons{
    position: absolute;
    top: 167px;
    left: 40%;
} */
@media (max-width: 696px){
    .eu-cookie-compliance-buttons.eu-cookie-compliance-has-categories {
        position: unset;
        float: right;
        margin-top: 0 !important;
    }
}
@media (min-width: 1000px){
    .eu-cookie-compliance-buttons{
        left: 30%;
    }
}
@media (min-width: 1400px){
    .eu-cookie-compliance-buttons{
        left: 25%;
    }
}
@media (min-width: 2000px){
    .eu-cookie-compliance-buttons{
        left: 20%;
    }
}
@media (min-width: 2750px){
    .eu-cookie-compliance-buttons{
        left: 18%;
    }
}

/* Cookies page */
.cookies-page h2{
    
    font-size: 30px !important;
    font-weight: bolder;
}

.cookies-page h3{
    font-size: 20px !important;
    font-weight: bold;
}

.cookies-page h4{
    font-size: 20px !important;
    font-weight: bold;
    color: var(--primaryColor);
}

.ga-cookies{
    background-color: var(--primaryColor);
    border-radius: 25px;
    padding: 20px;
    margin: 20px;
}

/*--------------------------------*/
/*-----------RESPONSIVE-----------*/
@media (min-width: 576px) {
	#block-vootstrap-breadcrumbs, #block-vootstrap-page-title{ 
	  max-width: 540px;
	}
}

@media (min-width: 768px) {
	#block-vootstrap-breadcrumbs, #block-vootstrap-page-title{
	  max-width: 720px;
	}
  }

  @media (min-width: 991px) {
	ul.sf-menu li:hover > ul, ul.sf-menu li.sfHover > ul {
		border-radius: 12px;
		background-color: white;
		top: 2.6em !important;
		width: 13.5em !important;
	}

	ul.sf-menu li.menuparent:nth-child(2):hover > ul,
	ul.sf-menu li.menuparent:nth-child(2).sfHover > ul {
		width: 29em !important;
	}

	.region-nav-main {
		background-color: transparent;
		padding: 5px 30px 5px 20px;
		display: flex;
		align-items: center;
	}
  
  @media (min-width: 992px) {
	#block-vootstrap-breadcrumbs, #block-vootstrap-page-title{ 
	  max-width: 960px;
	}
  }
  
  @media (min-width: 1200px) {
	#block-vootstrap-breadcrumbs, #block-vootstrap-page-title{ 
	  max-width: 1140px;
	}
}
}
  

@media (min-width: 1400px) {
	#block-vootstrap-breadcrumbs, #block-vootstrap-page-title { 
	  max-width: 1320px;
	}
}

@media (min-width: 1820px) {
	.custom-container {
		max-width: 1800px;
	}
}
/*----------------------------------------------------------------------------*/
@media (max-width: 1400px) {
	/*---------BANNER---------*/
	.banner-wrap::before {
		width: 700px;
		height: 324px;
	}

	.banner-text {
		padding-top: 85px;
	}

	.banner h1 {
		font-size: 48px;
	}

	.banner h1 span {
		font-size: 40px;
	}
}

@media (max-width: 1200px) {
	/*---------BANNER---------*/
	.banner-wrap::before {
		width: 600px;
		height: 277.7px;
	}

	.banner {
		min-height: 550px;
	}

	.banner-text {
		padding-top: 90px;
	}

	.banner h1 {
		font-size: 44px;
	}

	.banner h1 span {
		font-size: 36px;
	}
}

@media (max-width: 991px) {
	/*--SUPERFISH MENU--*/
	ul.sf-menu.sf-style-default li, ul.sf-menu.sf-style-default.sf-navbar, 
	ul.sf-menu.sf-style-default li, ul.sf-menu.sf-style-default.sf-navbar {
		background: unset;
		background-color: unset;
	}

	ul.sf-menu.sf-style-default a, ul.sf-menu.sf-style-default a:visited, ul.sf-menu.sf-style-default span.nolink {
		padding: 0.65em 15px;
	}

	#navbarSupportedContent {
		position: relative;
		height: 0 !important;
	}

	.navbar-toggler {
		border: 3px solid var(--primaryColor);
		border-radius: 12px;
		position: absolute;
		top: 15px;
		right: 15px;
	}

	.path-frontpage .navbar-toggler {
		border: 3px solid white;
	}

	.navbar-toggler:focus {
		box-shadow: none;
	}

	.path-frontpage .navbar-toggler-icon {
		filter: brightness(0) invert(1);
	}

	.navbar-toggler-icon {
		width: 1.6em;
		height: 1.6em;
	}

	.region-nav-additional {
		position: relative;
	}

	#superfish-main-accordion {
		background-color: white;
		box-shadow: rgba(50, 50, 93, 0.25) 0px 2px 5px -1px, rgba(0, 0, 0, 0.3) 0px 1px 3px -1px;
		border-radius: 12px;
		margin-top: 50px;
	}

	.path-node #superfish-main-accordion {
		box-shadow: rgba(0, 0, 0, 0.16) 0px 10px 36px 0px, rgba(0, 0, 0, 0.06) 0px 0px 0px 1px;
	}
	
	.sf-accordion-toggle {
		display: none !important;
	}

	#block-vootstrap-sitebranding {
		top: -35px;
	}

	.sticky-section {
		height: 80px;
	}

	body:not(.user-logged-in) .region-breadcrumb {
		margin-top: 80px;
	}

	.path-frontpage ul.sf-menu.sf-style-default a, 
	.path-frontpage ul.sf-menu.sf-style-default a:visited, 
	.path-frontpage ul.sf-menu.sf-style-default span.nolink,
	.path-frontpage #superfish-main li a {
		color: black;
	}

	ul.sf-menu.sf-style-default li:hover, ul.sf-menu.sf-style-default li.sfHover, 
	ul.sf-menu.sf-style-default a.is-active, ul.sf-menu.sf-style-default a:focus,
	ul.sf-menu.sf-style-default a:hover, ul.sf-menu.sf-style-default span.nolink:hover {
		color: var(--primaryColor) !important;
	}

	/*PARENT MENU DROPDOWN*/
	div.sf-accordion-toggle.sf-style-default a.sf-expanded, ul.sf-menu.sf-style-default.sf-accordion li.sf-expanded {
    	border-radius: 12px;
	}

	ul.sf-menu.sf-style-default.sf-accordion li.sf-expanded > span.nolink {
		color: var(--primaryColor);
		font-weight: normal;
	}

	div.sf-accordion-toggle.sf-style-default a.sf-expanded, ul.sf-menu.sf-style-default.sf-accordion li.sf-expanded {
		background: #cfdeff2b;
	}

	/*--BANNER--*/
	.banner-wrap::before {
		background-image: url('../images/background/banner-lines.svg');
		right: 15px;
		width: 309px;
		height: 24px;
		top: 145px;
		bottom: unset;
	}

	.banner-wrap::after {
		left: 15px;
	}

	.banner {
		min-height: 500px;
	}

	.banner-text {
		padding-top: 10px;
	}

	/*-------FOOTER--------*/
	footer .container {
		justify-content: center;
	}
}

@media (min-width: 991px) and (max-width: 991px) {
	.navbar-toggler {
		top: 25px;
	}

	.region-nav-main {
		background-color: unset;
	}

	#superfish-main-accordion {
		margin-top: 55px;
	}
}

@media (max-width: 767px) {
	.banner-text {
		padding-top: 45px;
	}

	.background-lines {
		padding: 100px 0;
	}

	.background-lines::after {
		top: 35px;
	}

	.background-lines::before {
		bottom: 45px;
	}

	.custom-list li {
		width: 100%;
	}

	.objective .number {
		width: 70px;
	}
}

@media (max-width: 576px) {
	.banner br {
		display: none;
	}

	/*--SUPERFISH MENU--*/
	ul.sf-menu.sf-accordion {
		width: 97%;
		float: unset;
		margin: 0 auto;
	}
}

@media (max-width: 500px) {
	h1 {
		font-size: 35px !important;
	}

	.banner h1 span {
		font-size: 27px;
	}

	.intro-wrap > div {
		padding: 0;
	}

	.background-lines::before {
		left: 15px;
	}

	.background-lines::after {
		right: 15px;
	}

	.objective .number {
		width: 100px;
	}
}