body{
  font-family: "Helvetica-Neue-Thin";
  font-family: "Inter", sans-serif;
  font-weight: 200;
	line-height: 1.4;
	letter-spacing: .5px !important;
}

h1{
	font-family: "gotham_light";
}

h2{
	font-family: "gotham_light";
}

h3{
	font-family: "gotham_light";
}

h4{
  font-family: "gotham_light";
}

*:focus, textarea {
  outline: none !important;
  box-shadow: none !important;
  border: none !important;
}



/*************************************************************************************************************/
/****************************************** --------- HOME --------- *****************************************/
/*************************************************************************************************************/


.home .heading{
  font-family: "HelveticaLTStd-Bold";
  color: #0061a1;
	text-align: center;
	font-size: 45px;
	margin-bottom: 50px;
}



.home .over_slider{
  position: absolute;
  z-index: 10;
  top: 0;
  left: 0;
  right: 0;
  height: 100%;
}

.home .over_slider .logo_slider{
  margin-right: 20px;
  width: 240px;
}

.home .over_slider h1{
  font-size: 17px;
  color: #ffffff;
  width: 400px;
  line-height: 1.4;
  margin: 0px;
}


.home .over_slider h1 span{
  font-family: 'gotham_bold';
  font-size: 40px;
  line-height: 1.1;
  display: block;
}


/* slider */

.bxslider-wrap {
  margin-top: 40px;
  visibility: hidden;
  position: relative;
}

.bx-wrapper {
	box-shadow: none;
	border: none;
	margin-bottom: 0px;
}

.bx-wrapper img {
  width: 100%;
}

.bx-wrapper .bx-pager.bx-default-pager a {
  background: #bbb;
}

.bx-wrapper .bx-pager.bx-default-pager a.active, .bx-wrapper .bx-pager.bx-default-pager a:focus, .bx-wrapper .bx-pager.bx-default-pager a:hover {
  background: #000;
}


.bx-wrapper .bx-controls-auto, .bx-wrapper .bx-pager {
  bottom: 20px;
  z-index: 4;
}


/* text_intro */

.home .introduccion{
  margin-top: 80px;
  margin-bottom: 60px;
}
.home .introduccion .txt_ceo{
background-color: #cde0ee;
font-family: "gotham_book";
text-align: center;
font-size: 20px;
width: 80%;
margin: 0px auto;
margin-bottom: 30px;
padding: 10px 20px;
}

.home .introduccion .text_intro{
	font-family: "gotham_light";
	text-align: center;
	font-size: 20px;
	width: 80%;
	margin: 0px auto;
	margin-bottom: 30px;
}

.home .more_big{
	font-family: "gotham_thin";
	text-align: center;
	font-size: 100px;
	line-height: 0.5;
}



/* services */

.home .home_services {
	margin-bottom: 80px;
}


.home .home_services .img-row {
  display: flex;
  flex-wrap: wrap;
  gap: 1px;
}

.home .home_services .img-wrapper {
  flex: 1 1 calc(20% - 1px);
  height: 400px;
  overflow: hidden;
  transition: flex 0.3s ease;
  position: relative;
  cursor: pointer;
}

.home .home_services .img-inner {
  width: 100%;
  height: 100%;
  position: relative;
  overflow: hidden;
}

.home .home_services .img-inner img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease, filter 0.3s ease;
  /* Color por defecto */
  /*filter: grayscale(0%);*/ 
  /* escala verds */
  filter: grayscale(80%) sepia(80%) hue-rotate(50deg) saturate(80%) brightness(80%);
  opacity: .5;
}

.home .home_services .img-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 50%; /* altura del degradado superior */
  background: linear-gradient(to bottom, rgba(0,0,0,0.7), transparent);
  pointer-events: none; /* permite hover sobre la imagen */
  z-index: 1; /* debajo del texto */
}

.home .home_services .cont-title-service {
	font-family: "gotham_book";
  position: absolute;
  z-index: 2;
  top: 0;
  width: 100%;
  color: #fff;
  white-space: nowrap;      /* evita que el texto haga wrap */
  overflow: hidden;         /* recorta texto que no cabe */
  transition: background 0.3s ease, transform 0.3s ease;
}

.home .home_services .title-service {
	float: left;
  width: 85%;
  color: #fff;
  padding: 10px 20px;
  font-size: 20px;
  overflow: hidden;
	word-wrap: break-word;
	white-space: break-spaces;
}

.home .home_services .plus-title {
	float: right;
  width: 15%;
  color: #fff;
  padding: 0px 0px;
  font-size: 40px;
}



/* --- RESPONSIVE per a < 992px --- */



@media (max-width: 992px) {
  .home .home_services .img-wrapper {
	flex: 1 1 calc(50% - 1px); /* dues imatges per fila */
	height: 250px;             /* pots ajustar aquesta alçada */
	transition: none;          /* elimina animacions */
  }

  .home .home_services .img-inner img {
	transform: none !important; /* desactiva efecte zoom */
	filter: grayscale(0%);      /* manté el color */
	transition: none;
  }

}

@media (max-width: 768px) {
  .home .home_services .img-wrapper {
	flex: 1 1 100%; /* 1 per fila */
	height: 200px;  /* pots ajustar l’alçada */
  }

  .home .home_services .img-inner img {
	transform: none !important;
  }

  .home .home_services .img-inner:hover img {
	transform: none;
  }
}



/* NEWS */

.home_news {
  margin-bottom: 60px;
} 

.home_news .item_new {
	cursor: pointer;
	margin-bottom: 40px;
} 

.home_news .item_new a{
	color: #000000;
	text-decoration: none;
	cursor: pointer;
	display: block;
} 

.home_news .item_new h3{
	width: 70%;
	margin-top: 0px;
	margin-bottom: 20px;
  color: #0061a1;
  font-family: "gotham_book";
  font-size: 30px;
}

.home_news .item_new .entradilla{
  display: block;
  overflow: hidden;
	margin-top: 20px;
  
}

.home_news .item_new .entradilla .texto_entradilla{
  width: 70%;
  color: #999999;
  font-size: 20px;
}

.home_news .item_new .entradilla .more_new{
  width: 25%;
  margin-left: 5%;
  color: #000000;
  font-size: 100px;
  font-family: "gotham_thin";
  line-height: 0.6;
}



.home_news .item_new .image {
  width: 100%;             /* ocupa tot l'ample del seu contenidor pare */
  aspect-ratio: 1 / 1;     /* fa que sigui quadrat independentment de l'ample */
  overflow: hidden;         /* retalla el que sobresurt */
  border-radius: 50%;       /* fa el cercle */
  position: relative;
}

.home_news .item_new .image .wave_img_news{
  position: absolute;
  z-index: 2;
  height: 100%;
  width: 100%;
  background-image: url('../img/waves_news.png');
  background-repeat: no-repeat;
  background-size: contain;
  
}

.home_news .item_new .image .wave_img_news_even{
  left: 15%;
background-position: left bottom;
}


.home_news .item_new .image .wave_img_news_noeven{
  right: 15%;
background-position: right bottom;
}

.home_news .item_new .image .imgnew {
  width: 100%;
  height: 100%;
  object-fit: cover;        /* omple tot el cercle sense deformar la imatge */
  display: block;
}



.directions_absolute{
  width: 500px;
  background-color: #c6e692;
  background-image: url('../img/waves.png');
  background-repeat: no-repeat;
  background-position: right 100px;
  padding: 25px 30px;
  position: absolute;
  margin-top: 40px;
  left: 40px;
  z-index: 10;
}

.directions_absolute h4{
  font-family: "gotham_book";
  color: #0061a1;
  font-size: 38px;
  margin-bottom: 20px;
}


.directions_absolute .office{
  margin-bottom: 20px;
  color: #0061a1;
  line-height: 1.7;
}

.directions_absolute .office .country{
 font-weight: 700;
}

.directions_absolute .office a{
  color: #0061a1;
  text-decoration: none;
}



.directions_absolute .bt_contactus {
  text-align: center;
}


.directions_absolute .bt_contactus a{
  text-decoration: none;
  display: inline-block;
  background: #0061a1;
  color: #c6e692;
  padding: 10px 35px 15px 35px;
  clip-path: ellipse(75% 90% at 50% 0%);
}

.directions_absolute .bt_contactus a:hover{
  background: #000000;
}



/*************************************************************************************************************/
/*************************************** --------- ABOUT --------- *******************************************/
/*************************************************************************************************************/

.about .txt_ceo {
  background-color: #cde0ee;
  font-family: "gotham_book";
  text-align: center;
  font-size: 20px;
  width: 80%;
  margin: 0px auto;
  margin-bottom: 30px;
  padding: 10px 20px;
}


.about .intro {
  font-family: "gotham_light";
  text-align: center;
  font-size: 20px;
  width: 80%;
  margin: 0px auto;
  margin-bottom: 60px;
}

.about .our_strengths_cont {
  position: relative;
  /*margin-top: -100px;*/
}

.about .our_strengths {
  position: relative;
  z-index: 2;
  /*left: 40px;*/
  width: 60%;
  width: 100%;
  background-color: #0062a1;
  color: #ffffff;
  padding: 20px;
}

.about .our_strengths h2{
  font-family: 'gotham_medium';
}


.about .our_mission {
  width: 60%;
  text-align: right;
  margin-top: 40px;
}

.about .our_mission h2{
  font-family: 'gotham_medium';
  color: #0062a1;
  margin-bottom: 20px;
}

.about .our_mission p{
  font-size: 25px;
  color: #636363;
  font-weight: 100;
  font-style: italic;
}

.about .our_mission span{
  font-family: 'gotham_ultra';
  color: #0062a1;
  font-size: 45px;
  display: block;
}



/*************************************************************************************************************/
/*************************************** --------- SERVICES --------- ****************************************/
/*************************************************************************************************************/

.services_detail .img_cabecera .title_section h1{
  margin-top: 152px;
}

.services_detail .img_cabecera .title_section .waves_services{
  width: 450px;
  margin: 0px auto;
}


.services_detail .text{
  width: 60%;
  line-height: 1.8;
  margin: 0px auto;
  text-align: center;
  margin-bottom: 50px;
}

.services_detail .scope{
  width: 80%;
  margin: 0px auto;
  background-color: #c6e692;
  padding: 40px 40px 80px 40px;
  /*border-radius: 40px;*/
  text-align: center;
  margin-bottom: 100px;
}

.services_detail .scope .tit_scope{
  font-size: 30px;
  margin-bottom: 10px;
  color: #03578e;
  font-family: 'gotham_bold';
}

.services_detail .scope .onda_scope{
  width: 60%;
  margin: 0px auto;
  margin-bottom: 40px;
}

.services_detail .scope ul, .services_detail .scope li{
  list-style: none;
  margin: 0px;
  padding: 0px;
} 

.services_detail .scope li{
  margin-bottom: 5px;
  letter-spacing: 1.5px !important;
  font-weight: 500;
}

/*************************************************************************************************************/
/*************************************** --------- PROJECTS --------- ***************************************/
/*************************************************************************************************************/

.projects .item_new {
  cursor: pointer;
  margin-bottom: 40px;
} 

.projects .item_new a{
  color: #000000;
  text-decoration: none;
  cursor: pointer;
  display: block;
} 

.projects .item_new h3{
  width: 70%;
  margin-top: 0px;
  margin-bottom: 20px;
  color: #0061a1;
  font-family: "gotham_book";
  font-size: 30px;
}

.projects .item_new .entradilla{
  display: block;
  overflow: hidden;
  margin-top: 20px;
}


.projects .item_new .entradilla .texto_entradilla {
  width: 70%;
  color: #999999;
  font-size: 20px;
}

.projects .item_new .entradilla .more_new {
  width: 25%;
  margin-left: 5%;
  color: #000000;
  font-size: 100px;
  font-family: "gotham_thin";
  line-height: 0.6;
}


.projects .item_new .image {
  width: 100%;             /* ocupa tot l'ample del seu contenidor pare */
  aspect-ratio: 1 / 1;     /* fa que sigui quadrat independentment de l'ample */
  overflow: hidden;         /* retalla el que sobresurt */
  border-radius: 50%;       /* fa el cercle */
  position: relative;
}


.projects .item_new .image .wave_img_news{
  position: absolute;
  z-index: 2;
  height: 100%;
  width: 100%;
  background-image: url('../img/waves_news.png');
  background-repeat: no-repeat;
  background-size: contain;
  
}

.projects .item_new .image .wave_img_news_even{
  left: 15%;
background-position: left bottom;
}


.projects .item_new .image .wave_img_news_noeven{
  right: 15%;
background-position: right bottom;
}

.projects .item_new .image img {
  width: 100%;
  height: 100%;
  object-fit: cover;        /* omple tot el cercle sense deformar la imatge */
  display: block;
}

/*************************************************************************************************************/
/************************************ --------- PROJECTS DETAIL --------- ************************************/
/*************************************************************************************************************/


.projects_detail .img_cabecera .shadow_image{
  background: #000000;
  background: linear-gradient(180deg,rgba(0, 0, 0, 1) 0%, rgba(0, 0, 0, 0) 50%);
  width: 100%;
  height: 100%;
}

.projects_detail h1{
  font-family: "Inter", sans-serif;
  color: #03578e;
  font-size: 40px;
  font-weight: 700;
  margin-bottom: 10px;
}

.projects_detail .subtitle{
  font-size: 18px;
  font-weight: 600;
  margin-bottom: 10px;
}



/*************************************************************************************************************/
/*************************************** --------- JOBS LIST --------- ***************************************/
/*************************************************************************************************************/




.jobs .img_cabecera .title_section .detail{
  color: #ffffff;
  font-size: 20px;
  text-align: center;
}

.jobs .prelist{
  font-family: "gotham_light";
  font-size: 20px;
  width: 80%;
  margin: 0px auto;
  text-align: center;
  margin-bottom: 60px;
}

.jobs .prelist strong{
  font-weight: 800;
}





.jobs .jobs_list{
  margin-bottom: 140px;
}

.jobs .jobs_list .job{
  margin-bottom: 40px;
}

.jobs .jobs_list .job a{
text-decoration: none;
}

.jobs .jobs_list .job .image{
  width: 100%;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  border-radius: 50%;
  position: relative;
}

.jobs .jobs_list .job .image img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.jobs .jobs_list .job .desc{
}

.jobs .jobs_list .job .desc .name{
  color: #03578e;
  font-size: 40px;
  font-weight: 700;
}

.jobs .jobs_list .job .desc .dept{
  font-size: 18px;
  font-weight: 600;
  text-decoration: none;
  color: #000000;
}
.jobs .jobs_list .job .desc .where{
  font-size: 18px;
  font-weight: 600;
  text-decoration: none;
  color: #000000;
}

.jobs .jobs_list .job .desc .intro{
  margin-top: 20px;
  text-decoration: none;
  color: #000000;
}

.jobs .jobs_list .job .more{
  font-size: 100px;
  color: #03578e;
  text-decoration: none;
  font-weight: 100;
}


/*************************************************************************************************************/
/************************************** --------- JOBS DETAIL --------- **************************************/
/*************************************************************************************************************/


.jobs_detail .img_cabecera .title_section .detail{
  color: #ffffff;
  font-size: 20px;
}

.jobs_detail .image{
  width: 100%;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  border-radius: 50%;
  position: relative;
}

.jobs_detail .image img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.jobs_detail .main_text{
  margin-top: 40px;
  margin-bottom: 40px;
}

.jobs_detail .main_text .name{
  font-family: "Inter", sans-serif;
  color: #03578e;
  font-size: 40px;
  font-weight: 700;
}

.jobs_detail .main_text .dept{
  font-size: 18px;
  font-weight: 600;
}

.jobs_detail .main_text .where{
  font-size: 18px;
  font-weight: 600;
}

.jobs_detail .main_text .desc{
  margin-top: 10px;
}

.jobs_detail .main_text .desc a{
  color: #000;
  text-decoration: underline;
}

.jobs_detail .job_desc ul{
  margin: 0px;
  padding: 0px;
  list-style: disc;
  padding-left: 20px;
  margin-top: 20px;  
  margin-bottom: 20px;  
}

.jobs_detail .job_desc li {
  padding-left: 7px; 
}

.jobs_detail .job_desc li::marker {
  color: #c6e692; /* color de la viñeta */
  font-size: 1.1em; /* opcional, para agrandar la viñeta */
}


.jobs_detail .requirements_offer{
  background-color: #eef7de;
  /*border-radius: 20px 0px 0px 20px;*/
  margin-bottom: 100px;
  padding: 10px 0px 30px 50px;
}

.jobs_detail .requirements_offer .requirements{
  margin-top: 20px;
}

.jobs_detail .requirements_offer .offer{
  margin-top: 20px;
}

.jobs_detail .requirements_offer h3{
  font-family: "Inter", sans-serif;
  color: #03578e;
  font-size: 30px;
  font-weight: 700;
}

.jobs_detail .requirements_offer ul{
  margin: 0px;
  padding: 0px;
  list-style: disc;
  margin-left: 15px;
  margin-top: 10px;  
  margin-bottom: 10px;  
}

.jobs_detail .bt_apply a{
text-decoration: none;
display: inline-block;
background: #0061a1;
color: #eef7de;
padding: 10px 35px 15px 35px;
clip-path: ellipse(75% 90% at 50% 0%);
margin-top: 40px;
}

.jobs_detail .explain_job_detail{
  font-size: 12px;
  margin-top: 40px;
  font-weight: 600;
}

/*************************************************************************************************************/
/*************************************** --------- CONTACT --------- ***************************************/
/*************************************************************************************************************/


.contact .list_offices{
  margin-bottom: 50px;
  text-align: center;
}

.contact .office_superior{
  font-size: 18px;
  line-height: 1.6;
}


.contact .office_superior .country{
 font-weight: 700;
}

.contact .office_superior a{
  color: #000000;
 text-decoration: none;
}

.contact .form_container{
  max-width: 800px;
  margin: 0px auto;
  margin-bottom: 50px;
}

.contact .form_container .tit_form{
  text-align: center;
  font-size: 40px;
  font-family: 'gotham_book';
  margin-bottom: 30px;
}


.contact .form_container .form-group {
  margin-bottom: 10px !important;
}

.contact .form_container input {
  background-color: #e5e5e5;
  border: none;
  border-radius: 0;
  color: #666666;
  text-indent: 0;
  padding: 8px 11px 8px 14px !important;
  font-size: 18px !important;
}

.contact .form_container .nice-select {
  font-weight: 200;
  color:#b1b1b1;
  height:42px;
  float:right;
  clear:none;
  background-color:#e5e5e5;
  border-radius:0;
  border:none;
  margin-right:0;
  font-size:18px;
  width:100%;
  padding-left: 14px;
}

.contact .form_container .nice-select .list {
  border-radius:0;
  border:none;
  background-color:#e5e5e5;
  font-weight: 200;
  color:#666666;
  width:100%;
  max-height:150px;
  overflow-y:scroll
}

.contact .form_container textarea {
background-color:#e5e5e5;
border:none;
border-radius:0;
color:#285e97;
text-indent:0;
padding:10px 11px 7px 14px !important;
font-size:18px!important
}

.contact .form_container .form-check {
  padding-bottom: 10px;
  padding-left: 0;
  padding-top: 10px;
  margin-bottom: 20px;
}

.contact .form_container input::-webkit-input-placeholder {
  font-weight: 200;
color:#999999;
opacity:.7
}

.contact .form_container input:-ms-input-placeholder {
  font-weight: 200;
color:#999999;
opacity:.7
}

.contact .form_container input::placeholder {
  font-weight: 200;
color:#999999;
opacity:.7
}

.contact .form_container textarea::-webkit-input-placeholder {
  font-weight: 200;
color:#999999;
opacity:.7
}

.contact .form_container textarea:-ms-input-placeholder {
  font-weight: 200;
color:#999999;
opacity:.7
}

.contact .form_container textarea::placeholder {
  font-weight: 200;
color:#999999;
opacity:.7
}

.containercheckbox {
display:block;
position:relative;
padding-left:35px;
cursor:pointer;
font-size:18px;
-webkit-user-select:none;
-moz-user-select:none;
-ms-user-select:none;
user-select:none;
margin-bottom:7px!important
}

.containercheckbox input {
position:absolute;
opacity:0;
cursor:pointer;
height:0;
width:0
}

.checkmark {
position:absolute;
top:0;
left:0;
height:25px;
width:25px;
background-color:#dde2e6
}

.label:hover input ~ .checkmark {
background-color:#dde2e6
}

input:checked ~ .checkmark {
background-color:#2a5e97
}

.checkmark:after {
content:"";
position:absolute;
display:none
}

input:checked ~ .checkmark:after {
display:block
}

.checkmark:after {
left:8px;
top:4px;
width:9px;
height:14px;
border:solid #fff;
border-width:0 3px 3px 0;
-webkit-transform:rotate(45deg);
-ms-transform:rotate(45deg);
transform:rotate(45deg)
}

.containercheckbox span {
line-height:30px
}


.contact .form_container #submit_contact {
  text-decoration: none;
  display: inline-block;
  background: #000000;
  color: #ffffff;
  padding: 10px 35px 15px 35px;
  clip-path: ellipse(75% 90% at 50% 0%);
  cursor: pointer;
}

.contact .form_container #submit_contact:hover {
  background: #0061a1;
}

.contact .form_container .recaptcha_container{
  margin-bottom: 30px;
}

input.error_validate{
  color: #cb6067;
  border: 1px solid #cb6067 !important;
}

label.error_validate{
  color: #cb6067;
  font-size: 12px !important;
  display: block;
  margin-top: 5px;	
}