@import url("https://fonts.googleapis.com/css2?family=Barlow+Condensed: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=Barlow: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&display=swap");

:root {
  /* Colors: */
  --blu-d: #0d1e53;
  --blu-m: #024594;
  --blu-l: #1f76d9;
  --blu-l-op: #1f76d995;
  /* --dark: #262626; */
  --light: #eaf2f7;
}

/* Text - Border */

.text-blu-d,
.text-blu-d a {
  color: var(--blu-d);
}

.text-blu-l,
.text-blu-l a {
  color: var(--blu-l);
}

.text-blu-m,
.text-blu-m a {
  color: var(--blu-m);
}

.text-white a {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-white-rgb), var(--bs-text-opacity)) !important;
}

.border-blu-l {
  border-color: var(--blu-l) !important;
}

.border-blu-l-op {
  border-color: var(--blu-l-op) !important;
}

a {
  text-decoration: none;
}

body {
  font-family: "Barlow", sans-serif;
  font-size: 17px;
  font-weight: 500;
  color: var(--blu-d);
}

.condensed {
  font-family: "Barlow Condensed", sans-serif;
}

.container-bigger {
  --bs-gutter-x: 1.5rem;
  --bs-gutter-y: 0;
  width: 100%;
  padding-right: calc(var(--bs-gutter-x) * 0.5);
  padding-left: calc(var(--bs-gutter-x) * 0.5);
  margin-right: auto;
  margin-left: auto;
}

.hov-underline a {
  text-decoration: none;
  transition: text-decoration 0.3s ease-in-out;
}

.hov-underline:hover a {
  text-decoration: underline;
}

.hov-zoom img {
  transform: scale(1);
  transition: transform 0.3s ease-in-out;
}

.hov-zoom:hover img {
  transform: scale(1.1);
}

.hov-bg-blu-l.target,
.hov-bg-blu-l.target a,
.hov-bg-blu-l .target,
.hov-bg-blu-l .target a {
  background-color: initial;
  color: initial;
  transition: color 0.3s ease-in-out, background-color 0.3s ease-in-out;
}

.hov-bg-blu-l.target:hover,
.hov-bg-blu-l:hover .target,
.hov-bg-blu-l.active {
  background-color: var(--blu-l) !important;
}

.hov-bg-blu-l.target:hover a,
.hov-bg-blu-l .target:hover a,
.hov-bg-blu-l.active a {
  color: white !important;
}

.pt-2-5 {
  padding-top: 0.75rem;
}

.pb-2-5 {
  padding-bottom: 0.75rem;
}

.px-2-5 {
  padding-left: 0.75rem;
  padding-right: 0.75rem;
}

.last-p-mb-0 p:last-of-type {
  margin-bottom: 0;
}

.pointer {
  cursor: pointer;
}

.ratio-3x2 {
  --bs-aspect-ratio: calc(2 / 3 * 100%);
}
/* After Before */

.btn-trat:before,
.list-trat li:before {
  content: url(../img/trat-arrow.svg);
  margin-right: 0.5rem; /* Freccia tratteggiata */
  position: relative;
  top: 2px;
  left: 0;
  transition: left 0.3s ease-in-out;
}

.btn-trat:hover:before {
  left: 5px;
}

.btn-circ-arr:before {
  font-family: "Font Awesome 6 Free";
  content: "\f061"; /* Arrow right */
  font-weight: 900;
  clip-path: circle(40.8% at 50% 50%);
  background-color: var(--blu-l-op);
  padding: 16px;
  position: relative;
  left: 0;
  transition: left 0.3s ease-in-out;
}

.card-hover .btn-circ-arr:before {
  bottom: 16px;
}

.card-prodotto .btn-circ-arr::before {
  background-color: var(--blu-l);
}

.card-prodotto:hover .btn-circ-arr::before {
  left: 3px;
}

.navbar-toggler-icon:after {
  font-family: "Font Awesome 6 Free";
  content: "\f0c9"; /* Bars menu */
  font-weight: 900;
  font-size: 30px;
  color: var(--light);
}

.list-angle li:before,
/*.gallery-link a::after {*/
.gallery-link p::after {
  font-family: "Font Awesome 6 Free";
  content: "\f105"; /* Angle right */
  font-weight: 900;
}

/* List */

.list-custom ul,
.list-custom ol {
  list-style: none;
  padding-left: 0;
}

.list-custom li {
  display: flex;
}

.list-angle li:before {
  color: var(--blu-l);
  margin-right: 0.5rem;
  font-size: 14px;
  position: relative;
  top: 3px;
}

/* Button */

.btn-pill {
  display: inline-block;
  background-color: transparent;
  padding: 12px 24px;
  border: 1px solid var(--blu-l);
  transition: background-color 0.3s ease-in-out;
}

.btn-pill:hover {
  background-color: var(--blu-l);
  color: white;
}

/* Background */

.bg-black-op {
  background-color: rgba(0, 0, 0, 0.396);
}

.bg-blu-d {
  background-color: var(--blu-d);
}

.bg-blu-m {
  background-color: var(--blu-m);
}

.bg-blu-l {
  background-color: var(--blu-l);
}

.bg-blu-l-op {
  background-color: var(--blu-l-op);
}

.bg-none {
  background: none !important;
}

.bg-white {
  background-color: white;
}

.bg-white-op {
  background-color: rgba(255, 255, 255, 0.8);
}

/* HEADER */

.navbar-toggler {
  border: 1px solid var(--light);
}

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

.navbar-toggler-icon {
  background-image: none;
}

.navbar .dropdown-menu > div:first-child {
  transform-origin: bottom;
}

.navbar .dropdown-menu.show > div:first-child {
  animation: show-dropdown 0.5s forwards;
}

.btn-lang.active {
  border: 1px solid white !important;
  background-color: var(--blu-l) !important;
  border-radius: 8px;
}

@keyframes show-dropdown {
  from {
    transform: scaleY(1);
  }
  to {
    transform: scaleY(0);
  }
}

.swiper-horizontal > .swiper-pagination-progressbar,
.swiper-pagination-progressbar.swiper-pagination-horizontal,
.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite,
.swiper-vertical
  > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite {
  top: 50% !important;
  width: 75% !important;
  transform: translateY(-50%);
}

.swiper-button-next,
.swiper-button-prev {
  transform: translateY(50%);
  color: white !important;
  height: fit-content !important;
  position: static !important;
  position: relative !important;
  top: -10px !important;
  right: auto !important;
  left: auto !important;
  bottom: auto;
}

.swiper-button-next:after,
.swiper-button-prev:after {
  font-size: 8px !important;
  padding: 12px !important;
  background-color: var(--blu-l);
  clip-path: circle(40% at 50% 50%);
}

/* FORM */

.form label:not(.form-check-label) {
  display: none;
}

.form .form-check-label {
  margin-top: 0.75rem;
  font-size: 12px;
}

.form input,
.form .form-select,
.form textarea {
  margin-top: 1rem;
  font-family: "Barlow", sans-serif;
  font-size: 14px;
  font-weight: 500;
  border: 1px solid #727373;
  color: #4b4a4a;
  border-radius: 0;
}

.form .btn-pill {
  font-size: 15px;
  background-color: var(--blu-l);
  transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;
}

.form .btn-pill:hover {
  background-color: var(--blu-d);
}

.home .azienda .img-container {
  bottom: 25px;
  box-shadow: 0 0 5px 0px rgba(0, 0, 0, 0.75);
  -webkit-box-shadow: 0 0 5px 0px 0px rgba(0, 0, 0, 0.75);
  -moz-box-shadow: 0 0 5px 0px 0px rgba(0, 0, 0, 0.75);
}

/*.gallery-link a::before {*/
.gallery-link p::before {
  content: "";
  background: url(../img/gallery-icon.svg) no-repeat center center;
  display: block;
  height: 25px;
  width: 25px;
  margin-right: 0.5rem;
  transform: rotate(90deg);
}

/*.gallery-link a::after {*/
.gallery-link p::after {
  color: var(--blu-l);
  position: relative;
  left: 2px;
  top: 0;
  opacity: 0;
  transition: left 0.3s ease-in-out, opacity 0.3s ease-in-out;
}

/*.gallery-link:hover a::after {*/
.gallery-link:hover p::after {
  left: 8px;
  opacity: 1;
}

.footer {
  font-size: 15px;
}

/*.azienda .prodotti .bg {
  background: url("../img/prodotti-bg.png") no-repeat center center / cover;
  filter: blur(5px);
  top: 50px;
}
*/

.story-line {
  max-height: 425px;
  height: 425px;
}

.pallino {
  width: 25px;
  height: 25px;
}

.alone {
  width: 150px;
  height: 150px;
  background-color: #9ec9f964;
  top: 47%;
}

.nuvola {
  max-width: 460px;
  width: 90%;
  height: auto;
  top: 35%;
}

.storia .swiper-button-next:after,
.storia .swiper-button-prev:after {
  padding: 20px;
}



.partner .label {
  height: 130px;
}

.partner .icon {
  height: 55px;
  width: auto;
}

.scale-up,
.scale-down {
  transform: scale(1);
  transition: transform 0.3s ease;
}

.sezione-prodotto:hover .scale-up {
  transform: scale(1.1);
}

.sezione-prodotto:hover .scale-down {
  transform: scale(0.8);
}

.nav-pills .nav-link {
  border: 1px solid black;
}

.nav-pills .nav-link.active,
.nav-pills .nav-link:hover,
.nav-pills .show > .nav-link {
  background-color: var(--blu-l);
  color: white !important;
}

.visually-hidden,
.visually-hidden-focusable:not(:focus):not(:focus-within) {
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.text-vertical {
  writing-mode: sideways-lr;
  text-orientation: mixed;
}

.btn-prodotti {
  font-size: 15px;
}

.prodotti-menu {
  transform-origin: top;
  z-index: 999;
  transform: scaleY(0);
  transition: transform 0.5s ease-in-out;
}

.prodotti-menu.show {
  transform: scaleY(1);
}

.contatti-area .icon {
  width: 50px;
  height: 50px;
  background-color: initial;
}

.swing {
  animation: swing 0.6s forwards;
}

@keyframes swing {
  0% {
    opacity: 0;
    transform: rotate(-5deg) scale(2);
  }
  16% {
    transform: rotate(5deg);
  }
  33% {
    transform: rotate(-5deg);
  }
  48% {
    opacity: 1;
    transform: rotate(5deg) scale(1);
  }
  66% {
    transform: rotate(-5deg);
  }
  85% {
    transform: rotate(5deg);
  }
  100% {
    transform: rotate(0);
  }
}

.fade-in {
  animation: fade-in 1s forwards;
}

@keyframes fade-in {
  from {
    opacity: 0;
    transform: scale(0.5);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}

.no-cue .scroll-cue {
  opacity: 1 !important;
  transform: none !important;
  transition: none !important;
}

.slide-to-left {
  animation: slide-to-left 1s forwards;
}

.slide-to-right {
  animation: slide-to-right 1s forwards;
}

@keyframes slide-to-left {
  from {
    opacity: 0;
    transform: translateX(10%);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes slide-to-right {
  from {
    opacity: 0;
    transform: translateX(-10%);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

.breadcrumb-item span {
  color: var(--blu-d) !important;
  font-size: 0.875em;
}
