/* 900 Black */
@font-face { font-family: 'HelveticaNeue'; src: url('../fonts/HelveticaNeueBlack.woff2') format('woff2'), url('../fonts/HelveticaNeueBlack.woff') format('woff'), url('../fonts/HelveticaNeueBlack.ttf') format('truetype'); font-weight: 900; font-style: normal; font-display: swap; }
/* 800 Heavy */
@font-face { font-family: 'HelveticaNeue'; src: url('../fonts/HelveticaNeueHeavy.woff') format('woff'), url('../fonts/HelveticaNeueHeavy.ttf') format('truetype'); font-weight: 800; font-style: normal; font-display: swap; }
/* 700 Bold */
@font-face { font-family: 'HelveticaNeue'; src: url('../fonts/HelveticaNeueBold.woff') format('woff'), url('../fonts/HelveticaNeueBold.ttf') format('truetype'); font-weight: 700; font-style: normal; font-display: swap; }
/* 500 Medium */
@font-face { font-family: 'HelveticaNeue'; src: url('../fonts/HelveticaNeueMedium.woff2') format('woff2'), url('../fonts/HelveticaNeueMedium.woff') format('woff'), url('../fonts/HelveticaNeueMedium.ttf') format('truetype'); font-weight: 500; font-style: normal; font-display: swap; }
/* 400 Regular (Roman) */
@font-face { font-family: 'HelveticaNeue'; src: url('../fonts/HelveticaNeueRoman.woff2') format('woff2'), url('../fonts/HelveticaNeueRoman.woff') format('woff'), url('../fonts/HelveticaNeueRoman.ttf') format('truetype'); font-weight: 400; font-style: normal; font-display: swap; }
/* 300 Light */
@font-face { font-family: 'HelveticaNeue'; src: url('../fonts/HelveticaNeueLight.woff2') format('woff2'), url('../fonts/HelveticaNeueLight.woff') format('woff'), url('../fonts/HelveticaNeueLight.ttf') format('truetype'); font-weight: 300; font-style: normal; font-display: swap; }
/* 200 UltraLight */
@font-face { font-family: 'HelveticaNeue'; src: url('../fonts/HelveticaNeueUltraLight.woff') format('woff'), url('../fonts/HelveticaNeueUltraLight.ttf') format('truetype'); font-weight: 200; font-style: normal; font-display: swap; }
/* 100 Thin */
@font-face { font-family: 'HelveticaNeue'; src: url('../fonts/HelveticaNeueThin.woff') format('woff'), url('../fonts/HelveticaNeueThin.ttf') format('truetype'); font-weight: 100; font-style: normal; font-display: swap; }

html { font-size: 14px; scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; color: #000; background-color: #fafbfd; /* letter-spacing: 0.063rem; */ font-family: 'HelveticaNeue', sans-serif;}
button, select, input { outline: 0!important; box-shadow: none;}
a { color: inherit;}
a:hover { text-decoration: none; opacity: .8; color: inherit;}
:focus { outline: none; }
.btn.focus, .btn:hover, .btn:focus { text-decoration: none; box-shadow: none; }
.dropdown-menu { right: 0!important; left: auto!important; padding: 0 0 0 0; border-radius: 0;
    border: none; margin-top: 0; background-color: #fff; border: 1px solid #5b5b5b}
.dropdown-item.active, .dropdown-item:active { background-color: #343a40;}
.form-control.is-invalid, 
.was-validated .form-control:invalid,
.form-control.is-valid,
.was-validated .form-control:valid {-webkit-appearance: none; -moz-appearance: none; appearance: none;}
dl { margin-bottom: 0;}
@media (min-width: 576px){
	html { font-size: 16px;}
}

@media (min-width: 992px){
	.dropdown:hover .dropdown-menu{display: block;}
}

.f-size-1 { font-size: 1rem !important}
.c-pointer { cursor: pointer}

h1,h2,h3,h4,h5,h6{ font-weight: inherit; }

/* --------------------- CUSTOM BOOTSTRAP -------------------- */
@media (min-width: 1480px){
	.container, .container-sm, .container-md, .container-lg, .container-xl{ max-width: 1400px; }
	.col-xxl-1 { -ms-flex: 0 0 8.333333%; flex: 0 0 8.333333%; max-width: 8.333333%; }
	.col-xxl-2 { -ms-flex: 0 0 16.666667%; flex: 0 0 16.666667%; max-width: 16.666667%; }
	.col-xxl-3 { -ms-flex: 0 0 25%; flex: 0 0 25%; max-width: 25%; }
	.col-xxl-4 { -ms-flex: 0 0 33.333333%; flex: 0 0 33.333333%; max-width: 33.333333%;}
	.col-xxl-5 { -ms-flex: 0 0 41.666667%; flex: 0 0 41.666667%; max-width: 41.666667%; }
	.col-xxl-6 { -ms-flex: 0 0 50%; flex: 0 0 50%; max-width: 50%;}
	.col-xxl-7 { -ms-flex: 0 0 58.333333%; flex: 0 0 58.333333%; max-width: 58.333333%; }
	.col-xxl-8 { -ms-flex: 0 0 66.666667%; flex: 0 0 66.666667%; max-width: 66.666667%; }
	.col-xxl-9 { -ms-flex: 0 0 75%; flex: 0 0 75%; max-width: 75%; }
	.col-xxl-10{ -ms-flex: 0 0 83.333333%; flex: 0 0 83.333333%; max-width: 83.333333%; }
	.col-xxl-11{ -ms-flex: 0 0 91.666667%; flex: 0 0 91.666667%; max-width: 91.666667%; }
	.col-xxl-12{ -ms-flex: 0 0 100%; flex: 0 0 100%; max-width: 100%; }
}
.container-fluid{ max-width: 1920px; }

/* -------------------------- MARGINS ------------------------ */
.margin-bottom-5{margin-bottom: 5px;}
.margin-bottom-15{margin-bottom: 15px;}
.margin-bottom-25{margin-bottom: 25px;}
.margin-bottom-30{margin-bottom: 30px;}
.margin-bottom-50{margin-bottom: 50px;}
.margin-bottom-55{margin-bottom: 55px;}
.margin-bottom-60{margin-bottom: 60px;}

/* -------------------------- PADDINGS ------------------------ */
.padding-left-20{padding-left: 20px;}

/* -------------------------- WHATSAPP ------------------------ */
#contactarNav { position: absolute; right: 30px;  bottom: 5vh; }
#contactarNav a:hover { opacity:1!important;}
#contactarNav .ico-left { margin-right: 15px;}
#contactarNav .ico-left-txt { width: auto;}

/* -------------------------- DISPLAYS ------------------------ */
@media (min-width: 768px){
	.d-md-table-header-group {display: table-header-group!important;}
}

/* -------------------------- GENERAL ------------------------ */
.xarxes-socials a{ display: inline-block; width: 35px; color: #fff;
    font-size: 20px; text-align: center; line-height: 35px; margin-right: 3px; margin-bottom: 5px;}
.txt-black { color: #000!important; font-weight: 500;}
.link{padding: 13px 20px; text-align: center; display: inline-block; border-radius: 15px; font-size: 0.9375rem; font-weight: 500;}
.link.nav{border: 1px solid #171c2c;  color: #171c2c;}
.link.blue{background-color:#394b95;color:#fff;font-weight:400;border:none;display:inline-flex;align-items:center;}
.link.white{background-color:#fff;color:#394b95;font-weight:500;display:inline-flex;align-items:center;}
.link.blue::after,.link.white::after{content:'\F138';font-family:'bootstrap-icons';margin-left:6px;display:inline-flex;align-items:center;}
a.link:hover, input.link:hover{opacity: 1;}

/* -------------------------- NAVBAR ------------------------ */
.navbar { color: #171c2c; background-color: #fff!important; min-height: 140px; border-radius: 15px; transition: .3s;padding: 10px 80px; font-size: 0.9375rem; font-weight: 500; }
.navbar-top {padding: 5px 80px; color: #fff; font-size: 0.75rem;}
.navbar .navbar-toggler { color: #000; border: none; font-size: 18px;}
.navbar-nav.flex-row .nav-item { margin-right: 15px; }
.navbar-brand { padding: 0; margin: 0; }
.navbar-brand img { max-width: 200px;}
.xarxes-socials.nav a { margin: 0; font-size: 15px;}
.xarxes-socials.nav.txt-black a { color: #000;}
.navbar-collapse{font-size: .9375rem;}
#nav-js{ transition: 0.4s;}
#sectores{scroll-margin-top:130px;}
#metodologia{scroll-margin-top:140px;}
#exito{scroll-margin-top:220px;}
#contactar{scroll-margin-top:175px;}

@media (min-width: 992px){
	#navbar{display:none !important;}
	.navbar {box-shadow: rgba(100, 100, 111, 0.2) 0px 7px 29px 0px; position: relative;}
	.navbar-nav.flex-row .nav-item { margin-right: 0; }
    .fixed-top-md { position: fixed; top: 0; right: 0; left: 0; z-index: 1030; }
    .margin-navbar{margin-top: 130px;}
	#nav-js.scrolled { transform: translateY(-30px); }
	.navbar-brand { position: absolute; left: 50%; transform: translateX(-50%); }
}
	
.mask_user {
	width: 100%;
	height: 25px;
	background-color: purple;
	position: fixed;
	top: 49px;
	z-index: 1000000;
}

@media (max-width: 1480px) and (min-width: 992px){
	.slider-margin{margin-top: 60px;}
}
@media (max-width: 1200px){
	.navbar { padding: 10px 40px;}
}
@media (max-width: 768px){
	.navbar-brand img { max-width: 140px;}
	.navbar-brand svg { width: 140px;}
}
@media (max-width: 992px){
	.navbar { padding: 10px 20px;}
	#nav-js{ transition: 0.4s; opacity: 1; background-color: #fff!important; }
}

/* -------------------------- SLIDER FIXES ------------------------ */
.carousel-inici { position: relative; width: 100%; height: 100vh;}
.slider-inici .item { overflow: hidden;}
.carousel-inner video { display: block; position: absolute; top: 50%; left: 50%; min-width: 100%;
  min-height: 100%; width: auto; height: auto; -webkit-transform: translate(-50%, -50%); transform: translate(-50%, -50%);}
.carousel-inner iframe { position: relative; pointer-events: none;}
.slider-inici .container-iframe { background: #eee; height: 100%; overflow: hidden; padding: 0; position: relative;}
.slider-inici .container-iframe iframe { box-sizing: border-box; height: 56.25vw; left: 50%; min-height: 100%;
    min-width: 100%; transform: translate(-50%, -50%); position: absolute; top: 50%; width: 177.77777778vh;}
.carousel-inner .slide-image { height: 100%; background-size: cover; background-position: center;}
.carousel-item .container, .carousel-item .container-fluid{ position: absolute!important; top: 50%!important; left: 0!important; right: 0!important; margin-left: auto!important;
    margin-right: auto!important; -webkit-transform: translateY(-50%)!important; -o-transform: translateY(-50%)!important; transform: translateY(-50%)!important; }
.slider-inici .row {height: inherit;}
.carousel-item .block{padding: 15px; color: #fff;}
.carousel-item .nom { font-size: 0.9375rem; }
.carousel-item .nomgran { font-size: 2.375rem; font-weight: 500;}
.carousel-item .txt { font-size: 1.5rem;  line-height: 1.2; font-weight: 300; margin-bottom: 30px;}
#slider-inici-mobile+.slick-arrows{display: block;}
#slider-inici-pc+.slick-arrows{display: none;}
.img-block{display:block; height: 0; padding-bottom: 100%; position: relative; margin-bottom: 15px; text-align: center; color: #9a9da0;}
.img-block img, .img-block i{position: absolute; top: 50%; -webkit-transform: translateY(-50%); -o-transform: translateY(-50%); 
	transform: translateY(-50%); max-height: 100%; left: 0; right: 0; margin-left: auto; margin-right: auto; font-size: 150px; border-radius: 5px;}
	.button-slider{
		height: 35px; width: 40px;color: #fff; background-color: #343a40; display: flex; align-items:center; justify-content: center; border: 0;
	}
.button-slider svg{height: 15px; width: auto; padding: 0; margin: 0 auto;}
.controls-slider{display: flex; justify-content: space-between; position:absolute; right: 0px; top: 50%; transform: translateY(-50%); width: 100%; padding: 0 20px;}

@media (min-width: 576px){
	.carousel-item .block{margin-bottom: 0!important;}
	.carousel-item .nom { margin-bottom: 30px!important;}
	.carousel-item .txt { margin-bottom: 60px;}
	.img-block img, .img-block i{font-size: 60px;}
}

@media (min-width: 768px){
	#slider-inici-mobile+.slick-arrows{display: none;}
	#slider-inici-pc+.slick-arrows{display: block;}
}

@media (max-width: 768px){
	.carousel-item .nomgran{ line-height: 1.2;}
}
@media (max-width: 576px){
	.carousel-item .nom{ margin-bottom: 15px;}
	.carousel-item .nomgran{ font-size: 1.75rem;}
}

/* -------------------------- Dots ------------------------ */
.carousel-inici .carousel-indicators{margin-bottom: 30px;}
.carousel-inici .carousel-indicators li {width: 8px; height: 8px; border-radius: 50%; background-color: transparent; border: 2px solid #fff; margin: 0 8px;opacity: 1;}
.carousel-inici .carousel-indicators .active {background-color: #fff; border: none; width: 12px; height: 12px;}
.carousel-producte .carousel-indicators .active {background-color: #b8dde8;}
.carousel-producte .carousel-indicators li{width: 100%; opacity: 1; height: 10px; border-radius: 10px; border: none; background-color: #c4cdd1;}

/* -------------------------- SLIDER FIXES ------------------------ */
.slick-slider{ backface-visibility: hidden; -webkit-backface-visibility: hidden;}
.slick-slider .container, .slick-slider .container-fluid { position: absolute; top: 50%; left: 0; right: 0; margin-left: auto;
    margin-right: auto; -webkit-transform: translateY(-50%); -o-transform: translateY(-50%); transform: translateY(-50%); }
.slick-list, .slick-track, .slick-slide{ height: inherit!important;}
.slick-arrow { color: #fff!important;  background-color: #343a40!important; width: 40px; height: 35px;}
.slick-prev{left: 15px;}
.slick-next {right: 15px;}
.slick-prev:before {content: "\f053";}
.slick-next:before {content: "\f054";}
.slick-next:before, .slick-prev:before { font-family: "Font Awesome 5 Free"; font-weight: 900;}
.slick-slider .slick-slide { position: relative; }
.slick-dots li:only-child { display: none;}
.slick-dots li button:before { font-family: 'Font Awesome 5 Free'; content: '\f111'; font-weight: 600;}
.slick-dots li.slick-active button:before { opacity: 1; font-weight: 400;}

/* -------------------------- LANDING ------------------------ */
.modulo1 {position:relative; bottom: 75px; box-shadow: rgba(100, 100, 111, 0.2) 0px 7px 29px 0px; display:grid; grid-template-columns:repeat(4,1fr); background-color:#fff; border-radius:15px; border:1px solid #e2e2e2; padding:40px; gap:20px; align-items:center; }
.modulo1 > div { display:flex; align-items:center; justify-content:center; }
.modulo1 .ico { margin-right:15px; background-color:#f3f3f3; color:#222323; border-radius:15px; display:inline-block; width:65px; height:65px; background-repeat:no-repeat; background-position:center; background-size:contain; flex-shrink:0; }
.modulo1 div:nth-child(1) .ico { background-image:url('../svg/formacion.svg'); }
.modulo1 div:nth-child(2) .ico { background-image:url('../svg/groups.svg'); }
.modulo1 div:nth-child(3) .ico { background-image:url('../svg/map.svg'); }
.modulo1 div:nth-child(4) .ico { background-image:url('../svg/star.svg'); }
.modulo1 dl { margin:0; display:flex; flex-direction:column-reverse; }
.modulo1 dd { margin:0; font-size:2.375rem; color:#394b95; font-weight:600; line-height:1; }
.modulo1 dt { font-size:0.875rem; color:#7b7b7b; text-transform:uppercase; font-weight:500; }

.modulo2 {display: grid; grid-template-columns: repeat(3, 1fr); gap: 50px; align-items: center; }
.modulo2 .item {background-color: #fff; border-radius: 15px; border: 1px solid #e2e2e2; padding: 40px;}
.modulo2 .ico {background-color: #394b95; border-radius: 15px; height: 60px; width: 60px; display: flex; justify-content: center; align-items: center;}
.modulo2 dt {font-size: 1.5rem; font-weight: 600;}
.modulo2 dd {font-size: 1rem; color: #697389; font-weight: 500; line-height: 1.2;}

.modulo3 { background-repeat:no-repeat; background-position:center; background-size:cover; background-image:url('../img/sectors.jpg'); padding: 100px 0; 
	clip-path: polygon(0 0, 100% 20%, 100% 100%, 0% 100%); color: #fff;}
.modulo3 .grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 30px; align-items: center; }
.modulo3 dl {border-radius: 0 0 15px 15px; background-color: #fff; color: #000; margin-bottom: 0}
.modulo3 dt {color: #394b95; font-size: 1.25rem; font-weight: 600;}
.modulo3 dd {color: #697389; font-size: 0.875rem; font-weight: 500; line-height: 1.2;}
.modulo3 .ico img {border-radius: 15px 15px 0 0; width:100%; object-fit:cover; max-height: 170px;}
.modulo3 .nom {font-size: 2.375rem}
.modulo3 .txt {font-size: 1.5rem; line-height: 1.2;}

.modulo4{background-color: #fff;}
.modulo4 img{border-radius: 20px; object-fit: cover;}
.modulo4 * .grid {position: absolute; width: 120%; z-index: 5; margin-top: 3rem; padding-bottom: 1rem; padding-top: 1rem;
	display: grid; grid-template-columns: repeat(2, 1fr); gap: 60px; align-items: center; background-color: #fff; border-radius: 15px;}
.modulo4 .ico {background-color: #394b95; color: #fff; min-width: 60px; height: 60px; display: flex; justify-content: center; align-items: center; border-radius: 15px; font-size: 1.75rem;}
.modulo4 dl{margin-bottom: 0;}
.modulo4 dt{font-size: 1.5rem; font-weight: 600; line-height: 1.2;}
.modulo4 dd{font-size: 1rem; font-weight:500; color: #697389;line-height: 1.1;}
.modulo4 .tsmall {font-size: .9375rem; color: #394b95; font-weight: 500;}
.modulo4 .tbig {font-size: 2.375rem; color: #000; font-weight: 600;}

.modulo5 { background-color: #384b95; color: #fff; padding: 60px 0; box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px;}
.modulo5 .tbig{font-size: 2.375rem;}
.modulo5 .tsmall { font-size: 1.5rem;}
.modulo5 .heading { padding: 0 40px;}
.exito { background-color: #0c1d4b; border-radius: 60px ; display: flex;  box-sizing: border-box; }
.exito .info1 { background-color: #5d6fac; width: 50%; padding: 40px; clip-path: polygon(0 0, 85% 0, 100% 100%, 0% 100%); border-radius: 60px  0 0 60px ; box-sizing: border-box; }
.exito .info2 { width: 50%; padding: 40px; box-sizing: border-box; }
.info1 .nom { font-size: 1.75rem; font-weight: 500; color: #fff; margin: 0;}
.info1 .txt { font-size: 0.75rem; color: #384b95; background-color: #FFFFFF; border-radius: 50px; padding: 5px 20px; align-content: center;}
.infoCont1 { padding-left: 20px; border-left: 5px solid #384b95; }
.infoCont2 { padding-left: 20px; border-left: 5px solid #7a7a7a; }
.infoCont1 .strong, .infoCont2 strong { font-size: 1.0625rem; font-weight: 500; color: #fff;}
.infoCont1 .p, .infoCont2 p { font-size: .875rem;}
.counter { font-size: 2rem; }
.info2 .title{font-size: 1.25rem; font-weight: 500;}
.info2 .grid{display: grid; grid-template-columns: repeat(3, 1fr); gap: 70px; align-items: center;}
.info2 dl{display: flex; flex-direction: column-reverse; align-items: center; margin-bottom: 0;}
.info2 dd{font-size: 2.875rem; color: #384b95; font-weight: 600;}
.info2 dt{font-size: .75rem; color: #7b7b7b; text-transform: uppercase; font-weight: 500;}
.info2 dl:nth-child(even) dt { color: #384b95;}

.modulo6 .nom {font-size: 2.375rem; margin-bottom: 0; font-weight: 500;}
.modulo6 .sep {width: 0%; background-color: #394b95; height: 3px;}
.modulo6 .txt {font-size: 1.5rem; color: #697389; margin-bottom: 0; line-height: 1.1;}
.modulo6 .grid {display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; align-items: center; border: 1px solid #e2e2e2; border-radius: 15px;  column-rule: 1px solid;}
.modulo6 .grid > * {border-right: 1px solid #e2e2e2;}
.modulo6 .grid > *:last-child {border-right: 0;}
.modulo6 dl {padding: 47px;}
.modulo6 dt {font-size: 1.5rem; font-weight: 500;}
.modulo6 dd {font-size: 1rem; color:#697389; line-height: 1.2; font-weight: 500;}
.modulo6 .ico {min-height: 60px; min-width: 60px;}
.btn-slide { position: relative; overflow: hidden; transition: color 0.3s ease; }
.btn-slide::before { content: ''; position: absolute; top: 0; left: -100%; width: 100%; height: 100%; background: #5A8429; transition: all 0.4s ease; z-index: 0; }
.btn-slide:hover::before { left: 0; }
.btn-slide span { position: relative; z-index: 1; }@media (max-width: 1480px){
	.modulo4 .tbig {font-size: 2rem;}
	.modulo4 * .grid {margin-top: 1rem; width: 150%;}
	.info2 .grid {gap: 50px;}
}
@media (max-width: 1200px){
	.info2 .grid {gap: 15px;}
	.info2 .grid dd {font-size: 2rem;}
	.info2 .grid dt {font-size:11px;}
	.modulo4 * .grid { gap: 25px; width: 180%; padding-bottom: 0}
}
@media (max-width: 991px){
	.modulo1 {grid-template-columns: repeat(2, 1fr);}
	.modulo2 {grid-template-columns: repeat(2, 1fr);}
	.modulo3 {clip-path: polygon(0 0, 100% 15%, 100% 100%, 0% 100%);}
	.modulo3 .grid {grid-template-columns: repeat(2, 1fr);}
	.modulo4 * .grid {position: unset; width: 100%; gap: 20px; padding-top: 0; margin-bottom: 1rem;}
	.modulo6 .grid {grid-template-columns: repeat(1, 1fr);}
	.exito .info1{clip-path: unset; padding: 20px;}
	.exito .info2 { padding: 20px; }
	.info2 .grid {grid-template-columns: repeat(1, 1fr);}
	.modulo6 .grid > * {border-bottom: 1px solid #e2e2e2; border-right: 0;}
	.modulo6 .grid > *:last-child {border-bottom: 0;}
	.modulo1 > div { justify-content: flex-start;}
}
@media (max-width: 768px){
	.modulo1 {grid-template-columns: repeat(1, 1fr);}
	.modulo2 {grid-template-columns: repeat(1, 1fr);}
	.modulo3 {clip-path: polygon(0 0, 100% 10%, 100% 100%, 0% 100%);}
	.modulo3 .grid {grid-template-columns: repeat(1, 1fr);}
	.modulo3 .nom {font-size: 1.75rem;}
	.modulo3 .txt {font-size: 1.25rem;}
	.modulo4 .grid {grid-template-columns: repeat(1, 1fr); margin-top: 1.5rem;}
	.tbig {font-size: 1.5rem!important;}
	.tsmall{font-size: .9375rem!important;}
	.modulo6 .grid {grid-template-columns: repeat(1, 1fr);}
	.exito {flex-direction: column; background: none;}
	.exito .info1, .exito .info2 {width: 100%; border-radius:60px}
	.exito .info2{background-color: #0c1d4b; margin-top: 20px;}
	.info2 .grid {grid-template-columns: repeat(3, 1fr); gap: 20px;}
	.info2 .title{text-align: center;}
}
@media (max-width: 576px){
	.modulo1 {grid-template-columns: repeat(1, 1fr);}
	.modulo2 {grid-template-columns: repeat(1, 1fr);}
	.modulo3 {clip-path: polygon(0 0, 100% 5%, 100% 100%, 0% 100%);}
	.modulo3 .grid {grid-template-columns: repeat(1, 1fr);}
	.modulo4 .grid {grid-template-columns: repeat(1, 1fr);}
	.modulo6 .grid {grid-template-columns: repeat(1, 1fr);}
	.info2 .grid {grid-template-columns: repeat(1, 1fr); gap: 10px;}
	.modulo6 dl {padding: 20px;}
	.modulo6 .nom {font-size: 1.75rem;}
}


/* .modalDisplay{position:fixed; top:0; right:0; width:50%; height:100vh; z-index:1040; pointer-events:none; transition: .4s; opacity: 0; animation: fadeOut 1s ease-in-out;}  */
.modalDisplay{ top:160px; }
.modalDisplay.scrolled { top:140px; }
.modalDisplay .modal-content{ border-radius: 20px; min-width: 600px; transform: translateX(50%);}
.modalDisplay .nom{font-size: 2rem; color: #384b95;}

@media (max-width: 1480px){
	.modalDisplay .modal-content{ transform: translateX(35%);}
}
@media (max-width: 1200px){
	.modalDisplay .modal-content{ transform: translateX(-15%); min-width: 700px;}
}

/* -------------------------- CONTACTAR ------------------------ */
.cardFormulari{border-radius: 15px; background-color: #fff;}
.cardFormulari .nom{text-decoration: underline; text-underline-offset: 8px; font-size: 2rem; color: #394b95; font-weight: 500;}

@media (max-width: 576px){
	.cardFormulari {border-radius: 0;}
}

/* -------------------------- VIDEO ------------------------ */
.video-block{margin-bottom: 30px;}
.video-block .nom {margin-bottom: 15px; line-height: 1; font-size: 1.5rem;}
.video-block .txt{margin-bottom: 30px;}

/* -------------------------- SECCIO ------------------------ */
.titol-seccio { padding-top: 15px; padding-bottom: 15px; margin-bottom: 15px;}
.titol-seccio .nom { font-size: 1.5rem; font-weight: 600; text-transform: uppercase; color: #343a40; margin-bottom: 0;}
.seccio .txt-curt { font-size: 1.25em; font-weight: 400; line-height: 1.3; margin-bottom: 15px;}
.categories {margin-bottom: 30px;}
.categories a{ padding: 5px 15px; background-color: #343a40; color: #FFFFFF; font-weight: 600; margin-bottom: 10px; display: inline-block;}


@media (min-width: 576px){
	.titol-seccio { padding-top: 30px; padding-bottom: 30px; margin-bottom: 30px;}
}

/* -------------------------- FORMULARI ------------------------ */
.ok, .ko { padding: 15px; margin-bottom: 20px; text-align: center; color: #000;}
.ok { background-color: #dff0d8; }
.ko { background-color: #f2dede; }
.formulari label{ margin-bottom: 5px; color: #5a5a5a; font-size: .875rem;}
.formulari .form-control { background-color: #fff; font-size: .875rem; margin-bottom: 20px; border-radius: 15px; border: 1px solid #e2e2e2; height: 50px;}
.formulari textarea { height: 170px;}
.formulari .btn { margin-bottom: 5px;  margin-right: 5px; border: none; background-color: #343a40; color: #fff; padding: 10px 20px;
    text-transform: uppercase; font-weight: 700; cursor: pointer; border-radius: 0;}
.custom-checkbox{font-size: .875rem;}
.custom-select.is-invalid, .control.is-invalid, .was-validated .custom-select:invalid, 
.was-validated .control:invalid { border-color: #dc3545!important;}
.custom-select.is-valid, .control.is-valid, .was-validated .custom-select:valid, 
.was-validated .control:valid, .custom-select.is-valid:focus, .control.is-valid:focus, 
.was-validated .custom-select:valid:focus, .was-validated .control:valid:focus { border-color: #fff;}
.form-control.is-valid,.was-validated .form-control:valid{ border-color:#f7f7f7;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%23495057' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");}
.custom-checkbox .custom-control-label::before { border-radius: 0; box-shadow: none!important;}
.custom-control-input.is-valid:checked~.custom-control-label::before, 
.was-validated .custom-control-input:valid:checked~.custom-control-label::before, 
.custom-checkbox .custom-control-input:checked~.custom-control-label::before { background-color: #343a40;}
.custom-control-input:checked~.custom-control-label::before { border-color: #343a40; background-color: #343a40;}
.custom-control-label { margin-right: 15px;}
.custom-control-label p { margin-bottom: 0;  font-size: .75rem;}
.grecaptcha-badge { display: none!important;}

/* -------------------------- AVISOS --------------------------- */
.avisos-block i { font-size: 2rem; padding-right: 0.5rem}
.avisos-block ul { list-style-type: none; margin-left: 0; padding-left: 0; display: inline-block; text-align: left}

/* -------------------------- USER TOP ------------------------ */
.dropdown-user { width: auto; border-radius:5px; overflow: hidden;}
.logout-item{background-color: #dc3545!important; color:white;}
.logout-item-2{color:#dc3545;}
.logout-item-2:focus{color:#dc3545;}
.logout-item-2:hover{color:#dc3545;}
.logout-item:focus {
    color: #c82333;
    background-color: rgb(238, 238, 238)!important;
}

/* -------------------------- FOOTER ------------------------ */
footer{ background-color: #0c1d4b; color: #fff; padding: 15px 0; min-height: 141px; font-size: 0.875rem;}
.footer-brand {max-width: 200px;}
footer .nom{ font-weight: 600; line-height: 1.2; margin-bottom: 15px;}
footer .txt{ font-size: .875rem; color: #92999f; line-height: 1.3; margin-bottom: 15px;}

footer {clear: both;position: relative;margin-top: -141px;}
footer hr{background: #fff;}
footer .xarxes-socials a{ width: fit-content; font-size: 14px;  margin-right: 10px; margin-bottom: 5px;}

.ico-left {float: left; margin-right: 5px; width: 20px; min-height: 1px;}
.ico-left-txt { float: left; width: calc(100% - 35px);}

/* -------------------------- CAPA COOKIES ------------------------ */
.capa-cookies { position: fixed; bottom: 0; width: 100%; z-index: 99999;
    background-color: #FFFFFF; padding-top: 15px; box-shadow: 0px 0px 15px 0px rgba(22, 21, 12, 0.23); }
button.cookies-ok { float: right; display: inline-block;
    background-color: #343a40; color: #FFFFFF; font-weight: bold; text-align: center;
    line-height: 40px; border: none; cursor: pointer; width: 100%;}
button.cookies-ok:hover{opacity: 0.8;}

/* ---------------------------- GSAP initial states - prevent flash before animations ---*/
/* Pre-hide all animated elements so they are invisible from first paint.                 */
/* IMPORTANT: JS uses gsap.fromTo() with explicit opacity:1 as destination so elements   */
/* always animate to visible — CSS opacity:0 does NOT interfere with the end state.      */
.fade-up { opacity: 0; }
.reveal-text { opacity: 0; }
.reveal-text-fast { opacity: 0; }

/* ---------------------------- BREADCRUMBS -------------------------*/
ul.breadcrumbs { padding: 0px;	list-style: none; margin-bottom: 0;}
ul.breadcrumbs li { display: inline; font-size: .875rem; }
ul.breadcrumbs li+li:before { padding: 8px;	color: black; content: ">"; }
ul.breadcrumbs li a { color: #343a40; text-decoration: none; }
ul.breadcrumbs li a:hover { color: #343a40; text-decoration: underline; }

/* ---------------------------- CALENDARI -----------------------------*/
.fc-unthemed .fc-today { background: inherit}