@import url("https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css");
@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:ital,wght@0,300;0,400;1,300;1,400&display=swap');
@import url("typo.css");
@import url("header.css");
@import url("img.css");
@import url("btn.css");
@import url("form.css");
@import url("footer.css");
@import url("modal-custom.css");
@import url("swiper-bundle.min.css");
@import url("swiper-custom.css");
@import url("preloader.css");
:root {
  /*Setting Color*/
  --white-color: #FCFCFC;
  --grey-color: #F1F1F1;
  --blue-color: #013B87;
  --green-color: #008D3C;
  --darkblue-color: #002D69;
  --darkgreen-color: #007B34;
  --black-color: #19253E;
  --text-color: #656565;
  --border-color: #BABABA;
  --lightborder-color: rgba(185, 185, 185, .5);
  /*Setting Font*/
  --little-text: 0.85rem;
  --regular-text: 1rem;
  --medium-text: clamp(1.5rem, 3vw, 2.5rem);
  --big-text: clamp(3rem, 4vw, 4rem);
  --xxl-text: clamp(3rem, 6vw, 10rem);
  /*Setting Space*/
  --little-space: 0.75rem;
  --regular-space: 1rem;
  --medium-space: 2.5rem;
  --big-space: 5rem;
  --header-height: 140px;
  --container-width: 1800px;
  --logo-width: 200px;
  --btn-height: 50px;
  --form-height: 50px;
  /*Setting Btn*/
  --btn-space: 0.5rem 1.25rem;
  --btn-space-little: 0.25rem 0.75rem;
  /*Setting Radius*/
  --btn-radius: 3px;
  --regular-radius: 3px;
  --medium-radius: 10px;
  --big-radius: 30px;
  /*Setting Shadow*/
  --box-shadow: 0px 4px 5px 0px rgba(0, 0, 0, 0.07);
}
html, body {
  padding: 0;
  margin: 0;
  color: var(--black-color);
  background: var(--white-color);
  outline: none;
  scroll-behavior: auto !important;
}
* {
  outline: none !important;
}
/**utility**/
a {
  text-decoration: none;
  color: inherit;
  transition: color 0.2s;
}
a:hover {
  text-decoration: none;
}
a:not([href]):not([tabindex]) {
  color: inherit;
  text-decoration: none;
}
dl, ol, ul {
  padding: 0;
  margin: 0;
  list-style: none;
}
ul:last-child {
  margin-bottom: 0 !important;
}
li:last-child {
  margin-bottom: 0 !important;
}
div:last-child {
  margin-bottom: 0 !important;
}
.align-left {
  text-align: left;
}
.align-center {
  text-align: center;
}
.align-right {
  text-align: right;
}
.align-justify {
  text-align: justify;
}
.d-block {
  display: block !important;
  width: 100%;
}
.d-flex {
  display: flex !important;
}
.flex-center {
  align-items: center !important;
}
.flex-end {
  align-items: flex-end !important;
}
.over-hidden {
  overflow: hidden !important;
}
.over-show {
  overflow: visible !important;
}
.hide-desktop {
  display: none;
}
.nomargin {
  margin: 0 !important;
}
.nopadding {
  padding: 0 !important;
}
.sticky-top {
  top: 2rem;
}
.m-top {
  margin-top: calc(var(--regular-space) * 1.5) !important;
}
.m-top-xs {
  margin-top: var(--little-space) !important;
}
.m-top-md {
  margin-top: var(--medium-space) !important;
}
.m-top-xl {
  margin-top: var(--big-space) !important;
}
.m-top-extra {
  margin-top: calc(var(--big-space) * 3) !important;
}
.m-bottom {
  margin-bottom: calc(var(--regular-space) * 1.5) !important;
}
.m-bottom-xs {
  margin-bottom: var(--little-space) !important;
}
.m-bottom-md {
  margin-bottom: var(--medium-space) !important;
}
.m-bottom-xl {
  margin-bottom: var(--big-space) !important;
}
.m-left {
  margin-left: var(--regular-space) !important;
}
.m-right {
  margin-right: var(--regular-space) !important;
}
.p-top {
  padding-top: var(--regular-space) !important;
}
.p-bottom {
  padding-bottom: var(--regular-space) !important;
}
.p-left {
  padding-left: var(--regular-space) !important;
}
.p-right {
  padding-right: var(--regular-space) !important;
}
hr {
  margin: var(--medium-space) 0;
  background-color: var(--border-color);
}
hr:first-child {
  margin-top: 0;
}
hr.hrLight {
  background-color: var(--lightborder-color);
}
.bg-white {
  background-color: var(--white-color) !important;
}
.bg-black {
  background-color: var(--black-color) !important;
}
.bg-blue {
  background: rgba(0, 60, 135, 1);
  background: linear-gradient(180deg, rgba(0, 60, 135, 1) 0%, rgba(0, 40, 90, 1) 100%);
}
.bg-blue.bg-blue-reverse {
  background: rgba(0, 60, 135, 1);
  background: linear-gradient(0deg, rgba(0, 60, 135, 1) 0%, rgba(0, 40, 90, 1) 100%);
}
.bg-darkblue {
  background-color: var(--darkblue-color) !important;
}
.bg-green {
  background-color: var(--darkgreen-color) !important;
}
.color-white {
  color: var(--white-color);
}
.color-black {
  color: var(--black-color);
}
.color-blue {
  color: var(--blue-color);
}
.color-darkblue {
  color: var(--darkblue-color);
}
.color-green {
  color: var(--green-color);
}
/**end utility**/
/**grid setting**/
.container-main {
  z-index: 1;
}
section {
  position: relative;
  margin: 0 auto;
  margin-bottom: var(--big-space);
  z-index: 2;
}
section.section-hero {
  padding: 0;
  border: 0;
}
section.section-pad {
  padding-top: var(--big-space);
  padding-bottom: var(--big-space);
}
section.section-pad-border {
  padding-top: calc(var(--big-space) + 50px);
  padding-bottom: calc(var(--big-space));
}
section.section-pad-border::before {
  content: "";
  position: absolute;
  top: 50px;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: var(--border-color);
}
section.section-pad-border.bg-blue::before {
  background-color: var(--lightborder-color);
}
section.section-pad-border.bg-green::before {
  background-color: rgba(255, 255, 255, .25);
}
section.section-border {
  border-top: 1px solid var(--border-color);
  border-bottom: 1px solid var(--border-color);
}
@media screen and (min-width: 992px) {
  section.half-border::after {
    content: "";
    display: block;
    width: 1px;
    height: 100%;
    position: absolute;
    top: 0;
    left: 50%;
    background-color: var(--border-color);
    z-index: 10;
  }
  section.half-border.bg-blue::after {
    background-color: var(--lightborder-color);
  }
  section.half-border.bg-green::after {
    background-color: rgba(255, 255, 255, .25);
  }
}
section.section-bg .section-bg-img, section.section-bg .section-bg-color {
  display: none;
}
@media screen and (min-width: 992px) {
  section.section-bg .container {
    z-index: 2;
  }
  section.section-bg .section-bg-img, section.section-bg .section-bg-color {
    display: block;
  }
  section.section-bg .section-bg-img {
    position: absolute;
    top: 0;
    left: 0;
    width: 50%;
    height: 100%;
    z-index: 1;
  }
  section.section-bg .section-bg-color {
    position: absolute;
    top: 0;
    right: 0;
    width: 50%;
    height: 100%;
    z-index: 1;
    background-color: var(--grey-color);
  }
}
.container {
  position: relative;
  width: 90%;
  max-width: var(--container-width);
  margin: 0 auto;
  margin-bottom: var(--big-space);
}
.container.container-full {
  width: 100%;
  max-width: 100%;
}
.container.container-mini {
  max-width: 1200px;
}
.row {
  margin-bottom: calc(var(--medium-space) * 1.2);
}
.no-gutters {
  margin-right: 0 !important;
  margin-left: 0 !important;
}
.no-gutters > .col, .no-gutters > [class*=col-] {
  padding-right: 0;
  padding-left: 0;
}
@media screen and (min-width: 1200px) {
  .container .row {
    margin-right: -1rem !important;
    margin-left: -1rem !important;
  }
  .container .row > .col, .container .row > [class*=col-] {
    padding-right: 1rem;
    padding-left: 1rem;
  }
}
.row.margin-row {
  margin-bottom: -2rem !important;
}
.row.margin-row > .col, .row.margin-row > [class*=col-] {
  margin-bottom: 2rem !important;
}
@media screen and (min-width: 1200px) {
  .row.margin-row {
    margin-bottom: -4rem !important;
  }
  .row.margin-row > .col, .row.margin-row > [class*=col-] {
    margin-bottom: 4rem !important;
  }
  .row.margin-row.margin-row-prod {
    margin-bottom: -2rem !important;
  }
  .row.margin-row.margin-row-prod > .col, .row.margin-row > [class*=col-] {
    margin-bottom: 2rem !important;
  }
}
.row.grid-project {
  margin-right: -5px !important;
  margin-left: -5px !important;
  margin-bottom: -5px !important;
}
.row.grid-project > .col, .row.grid-project > [class*=col-] {
  padding-right: 5px;
  padding-left: 5px;
  margin-bottom: 5px !important;
}
@media screen and (min-width: 1751px) {
  .col-pad {
    padding-left: 4rem;
  }
}
/**end grid setting*/
/**page**/
.banner-hero {
  position: absolute;
  width: 100%;
  left: 0;
  bottom: 0;
  color: var(--white-color);
  z-index: 3;
}
.banner-hero-inside {
  padding-bottom: var(--medium-space);
  margin-bottom: var(--medium-space);
  border-bottom: 1px solid var(--lightborder-color);
}
.banner-hero-inside:last-child {
  margin: 0;
  padding-bottom: var(--big-space);
  border: 0;
}
.item {
  position: relative;
  display: block;
  width: 100%;
  aspect-ratio: 2 / 3;
  border-radius: 4px;
  overflow: hidden;
}
.item.item-project {
  aspect-ratio: 3 / 1.5;
}
.list-project .item.item-project {
  aspect-ratio: 3 / 2;
}
.item-img {
  width: 100%;
  height: 100%;
  z-index: 1;
}
.item-over {
  position: absolute;
  width: 100%;
  height: auto;
  bottom: 0;
  right: 0;
  padding: var(--regular-space);
  background-color: rgba(0, 60, 135, .9);
  border-top: 1px solid var(--lightgrey-color);
  font-size: calc(var(--little-text));
  color: var(--white-color);
  z-index: 3;
}
.item.item-project .item-over {
  width: max-content;
  padding: var(--regular-space) var(--medium-space);
  bottom: 20px;
  right: 20px;
  border-radius: 10px;
}
.item.item-project .item-over span {
  display: block;
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px solid var(--lightborder-color);
  font-family: "Barlow Condensed", sans-serif;
  font-weight: 300;
  font-size: calc(var(--little-text) * 0.85);
}
.item .overlay {
  top: auto;
  bottom: 0px;
  height: 100%;
  transform: translate(0, 0);
  background: linear-gradient(rgba(0, 0, 0, 0) 40%, rgb(0, 0, 0, .7) 100%);
  z-index: 2;
  transition: 0.3s;
}
@media screen and (min-width: 992px) {
  .item:hover .overlay {
    transform: translate(0, 0);
  }
}
.item-link {
  align-items: center;
  justify-content: space-between;
  padding: var(--regular-space) 0;
  border-bottom: 1px solid var(--black-color);
  transition: color 0.3s;
}
.item-download {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: var(--regular-space) 0;
  border-bottom: 1px solid rgba(255, 255, 255, .25);
  font-size: var(--little-text);
  transition: color 0.3s;
}
.item-link:first-of-type {
  border-top: 1px solid var(--black-color);
}
.item-download:first-of-type {
  border-top: 1px solid rgba(255, 255, 255, .25);
  ;
}
.bg-blue .item-link {
  border-color: var(--lightborder-color);
}
@media screen and (min-width: 992px) {
  .item-link:hover {
    color: var(--white-color) !important;
  }
}
.item-career {
  display: flex;
  border: 1px solid var(--lightborder-color);
  border-radius: 10px;
  margin-bottom: var(--medium-space);
}
.item-career:last-child {
  margin-bottom: 0;
}
.item-title {
  font-size: calc(var(--medium-text) * 0.85);
  padding-bottom: var(--regular-text);
  margin-bottom: var(--regular-text);
  border-bottom: 1px solid var(--lightborder-color);
}
.item-inside {
  padding: var(--medium-space);
}
.item-inside:first-child {
  border-right: 1px solid var(--lightborder-color);
}
.item-inside:last-child {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}
.item-inside > * {
  color: var(--white-color);
}
.item-inside > p {
  opacity: 0.75;
}
@media screen and (min-width: 992px) {
  .item-inside:first-child {
    width: 80%;
  }
  .item-inside:last-child {
    width: 20%;
  }
}
.col-prod-logo {
  width: 13.5%;
  height: 80px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--white-color);
  border-radius: 10px;
}
.logo-border .col-prod-logo {
  border: 1px solid var(--border-color);
}
.col-prod-logo img {
  max-width: 60%;
  max-height: 70%;
  mix-blend-mode: multiply;
}
.list-number {
  display: flex;
  border-top: 1px solid var(--lightborder-color);
  border-bottom: 1px solid var(--lightborder-color);
}
.col-number {
  border-right: 1px solid var(--lightborder-color);
  padding: 2rem;
}
.col-number:last-child {
  border: none;
}
.col-number span {
  display: block;
}
.col-number span:first-child {
  font-size: calc(var(--medium-text) * 1.5);
}
.col-number span:last-child {
  font-family: "Barlow Condensed", sans-serif;
  font-weight: 300;
}
ul.list-option {
  padding: 0;
}
/* Rimuove il marker di default e prepara ogni li */
ul.list-option > li {
  list-style: none;
  position: relative;
  padding-left: 30px;
  margin-bottom: 10px;
}
/* Posizionamento dell'icona */
ul.list-option > li .icon {
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  font-family: 'Material Symbols Outlined';
  font-size: 18px;
  color: var(--blue-color); /* Puoi cambiare colore */
}
/*bg line*/
@media screen and (min-width: 1200px) {
  .bg-line {
    position: fixed;
    width: 1px;
    height: 100%;
    background-color: var(--border-color);
    top: 0;
    left: 50px;
  }
  .bg-line.bg-line-right {
    left: auto;
    right: 50px;
  }
}
/*end bg line*/
/*selection*/ ::-moz-selection {
  color: white;
  background: black;
}
::selection {
  color: white;
  background: black;
}
/*end selection*/
/*RESPONSIVE*/
@media screen and (max-width: 1920px) {
  :root {}
  html, body {
    font-size: 18px;
  }
}
@media screen and (max-width: 1450px) {
  :root {}
  html, body {
    font-size: 18px;
  }
  .container.container-mini {
    max-width: 890px;
  }
}
@media screen and (max-width: 1199px) {
  :root {
    --header-height: 100px;
    --logo-width: 150px;
  }
  html, body {
    font-size: 16px;
  }
  .hide-lg {
    display: none !important;
  }
  .align-center-lg {
    text-align: center !important;
  }
  .align-left-lg {
    text-align: left !important;
  }
  .m-top-lg-m {
    margin-top: var(--medium-space) !important;
  }
}
@media screen and (max-width: 991px) {
  :root {
    --header-height: 100px;
    --logo-width: 150px;
  }
  html, body {
    font-size: 16px;
  }
  .hide-md {
    display: none !important;
  }
  .hide-desktop {
    display: block !important;
  }
  .align-center-md {
    text-align: center !important;
  }
  .align-left-md {
    text-align: left !important;
  }
  .m-top-lg-m, .m-top-md-m {
    margin-top: var(--medium-space) !important;
  }
  footer .m-top-md-m {
    margin-top: var(--regular-space) !important;
  }
}
@media screen and (max-width: 767px) {
  :root {
    --header-height: 90px;
    --logo-width: 120px;
  }
  html, body {
    font-size: 16px;
  }
  .hide-sm {
    display: none !important;
  }
  .align-center-sm {
    text-align: center !important;
  }
  .align-left-sm {
    text-align: left !important;
  }
  .m-top-lg-m, .m-top-md-m, .m-top-sm-m {
    margin-top: var(--medium-space) !important;
  }
  footer .m-top-sm-m {
    margin-top: var(--regular-space) !important;
  }
}
@media screen and (max-width: 575px) {
  :root {
    --header-height: 80px;
    --logo-width: 100px;
  }
  html, body {
    font-size: 18px;
  }
  .hide-xs {
    display: none !important;
  }
  .align-center-xs {
    text-align: center !important;
  }
  .align-left-xs {
    text-align: left !important;
  }
  .m-top-lg-m, .m-top-md-m, .m-top-sm-m, .m-top-xs-m {
    margin-top: 4rem !important;
  }
  footer .m-top-sm-m {
    margin-top: var(--regular-space) !important;
  }
  footer .m-top-xs-m {
    margin-top: var(--regular-space) !important;
  }
}