:root {
  --main: #171717;
  --main-rgb: 23, 23, 23;
  --beige: #F7F7F7;
  --beige-rgb: 247, 247, 247;
  --blue: #003C72;
  --blue-rgb: 0, 60, 114;
  --green: #007B3D;
  --green-rgb: 0, 123, 61;
  --green-2: #0F7A3F;
  --green-2-rgb: 15, 122, 63;
  --grey: #C6C6C6;
  --grey-rgb: 198, 198, 198;
  --font-family-default: "Roboto", sans-serif;
}
body {
  overflow-x: hidden;
  font-weight: 400;
  font-family: var(--font-family-default);
  color: var(--main);
  font-size: 18px;
}
img {
  max-width: 100%;
}
a, a:hover, a:focus, a:active {
  text-decoration: none;
  outline: none;
}
:hover, a{
  -webkit-transition: all 0.25s linear;
  -moz-transition: all 0.25s linear;
  -o-transition: all 0.25s linear;
  -ms-transition: all 0.25s linear;
  transition: all 0.25s linear;
}
.row-cols-7 > * {
    flex: 0 0 auto;
    width: 14.285714%;
  }
/* colori */
.border-white { --bs-border-color: #fff !important; }
.main { background: var(--main); }
.text-main { color: var(--main); }
.border-main { --bs-border-color: var(--main) !important; }
.green { background: var(--green); }
.text-green { color: var(--green); }
.border-green { --bs-border-color: var(--green) !important; }
.grey { background: var(--grey); }
.grey-hover:hover { background: var(--grey) !important; }
.text-grey { color: var(--grey); }
.border-grey { --bs-border-color: var(--grey) !important; }
.blue { background: var(--blue); }
.text-blue { color: var(--blue); }
.border-blue { --bs-border-color: var(--blue) !important; }
.beige { background: var(--beige); }
.text-beige { color: var(--beige); }
.border-beige { --bs-border-color: var(--beige) !important; }
.gradient-green-25 {background: rgba(var(--green-2-rgb), .025)}
.gradient-green-to-white { background: linear-gradient(to bottom, var(--green) 50%, rgba(255,255,255,0) 50%); }
.gradient-white-to-main { background: linear-gradient(to bottom, rgba(255,255,255,0) 85%, var(--main) 85%); }
.gradient-white-to-green { background: linear-gradient(to right, rgba(255,255,255,0) 50%, rgba(var(--green-2-rgb), .025) 50%); }
.gradient-white-to-green-reverse { background: linear-gradient(to right, rgba(var(--green-2-rgb), .025) 50%), rgba(255,255,255,0) 50%; }
.gradient-white-to-green-2 { background: linear-gradient(to right, rgba(var(--green-2-rgb), .7) 0%, var(--green) 40%); }
/* Stile per il placeholder */
.placeholder-green .form-control::placeholder {
  color: var(--green); 
  opacity: 1;
}
.placeholder-green .form-control::-webkit-input-placeholder {
  color: var(--green);
}
.placeholder-green .form-control:-ms-input-placeholder {
  color: var(--green);
}
.placeholder-green .form-control::-ms-input-placeholder {
  color: var(--green);
}
.placeholder-blue .form-control::placeholder {
  color: var(--blue); 
  opacity: 1;
}
.placeholder-blue .form-control::-webkit-input-placeholder {
  color: var(--blue);
}
.placeholder-blue .form-control:-ms-input-placeholder {
  color: var(--blue);
}
.placeholder-blue .form-control::-ms-input-placeholder {
  color: var(--blue);
}
footer { 
  border-color: rgba(var(--main-rgb), var(--bs-border-opacity)) !important;
}
footer [class*='border'] {
  border-color: rgba(var(--main-rgb), var(--bs-border-opacity)) !important;
}

/* tipografia */
.h-uppercase :is(h1,h2,h3,h4,h5,h6) {
  text-transform: uppercase !important;
}
.h-my-5 :is(h1,h2,h3,h4,h5,h6),
.h-mt-5 :is(h1,h2,h3,h4,h5,h6) {
  margin-top: 3rem !important;
}
.h-my-5 :is(h1,h2,h3,h4,h5,h6),
.h-mb-5 :is(h1,h2,h3,h4,h5,h6) {
  margin-bottom: 3rem !important;
}
.text-p, p { font-size: 20px; line-height: 2; }
.p-small p { font-size: 16px; }
.text-p-small-2, .p-small-2 p { font-size: 18px; }
.p-mb p:not(:last-child), .li-mb li:not(:last-child) {
  margin-bottom: 1rem;
}
.p-mb-0 p {
  margin-bottom: 0;
}
.text-p, .p-line-height p { line-height:inherit !important; }
footer,
footer p { 
  font-size:16px;
  line-height: initial;
}
.list-check ul,
.list-check ol {
  list-style: none;
  padding: 0;
}
.list-check li {
  position: relative;
  padding-left: 2.5rem;
}
.list-check li::before {
  content: '\f058';
  position: absolute;
  color: var(--green);
  font-weight: 300;
  font-family: "Font Awesome 6 Pro";
  font-size: 22px;
  margin-left: -2.5rem;
}
/* swiper */
.swiper-button-next:after, .swiper-button-prev:after {
  font-size: 23px;
}
.swiper-button-next, .swiper-button-prev {
  opacity: 0 !important;
  color: #ffffff;
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.7);
  transition: 0.2s ease-in-out opacity, 0.5s ease-in-out left, 0.5s ease-in-out right;
}
.swiper-button-next {
  right: -10px;
}
.swiper-button-prev {
  left: -10px;
}
.swiper:hover .swiper-button-next, .swiper:hover .swiper-button-prev {
  opacity: 1 !important;
}
.swiper:hover .swiper-button-prev {
  left: 10px;
}
.swiper:hover .swiper-button-next {
  right: 10px;
}

/* generali */
form label {
  font-size: 12px;
  text-transform: uppercase;
}
form .form-control {
  background-color: #F0F0F0;
  border-radius: 0;
  border: var(--bs-border-width) solid var(--green);
}
form .form-control:focus {
  border-color: var(--green);
  outline: 0;
  box-shadow: 0 0 0 0.25rem rgba(var(--green-rgb), 0.25);
}
.navbar form .form-control {
  background-color: transparent;
}
.green form .form-control {
  border-radius: 0;
  border: var(--bs-border-width) solid #fff
}
.green form .form-control:focus {
  border-color: #fff;
  outline: 0;
  box-shadow: 0 0 0 0.25rem rgba(255,255,255, 0.25);
}
.input-big form .form-control {
  min-height: 60px;
}
.form-check-input {
  --bs-form-check-bg: #F0F0F0;
}
.form-check-input[type=checkbox] {
  border-radius: 0;
}
.form-check-input:focus {
  border-color: var(--green);
  box-shadow: 0 0 0 0.25rem rgba(var(--green-rgb), 0.25);
}
.form-check-input:checked {
  background-color: var(--green);
  border-color: var(--green);
}
.form-check-input:checked[type=checkbox] {
  --bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e");
}
.green .form-check-input:focus {
  border-color: #fff;
  box-shadow: 0 0 0 0.25rem rgba(255, 255, 255, 0.25);
}
.green .form-check-input:checked {
  background-color: #fff;
  border-color: #fff;
}
.green .form-check-input:checked[type=checkbox] {
  --bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23007B3D' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e");
}
.nav-link:not(.dropdown-toggle-2),
.dropdown-toggle-2 {
  white-space: nowrap;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.nav-link:not(.dropdown-toggle-2)::before,
.dropdown-toggle-2::before {
  display: inline-block;
  margin-right: 0.255em;
  content: "\f177";
  font-weight: 300;
  font-family: "Font Awesome 6 Pro";
  opacity: 0;
  transition: opacity 0.15s ease-in-out;

}
.dropdown-toggle-2:empty::before {
  margin-right: 0;
}
.nav-link:not(.dropdown-toggle-2):hover::before,
.dropdown-toggle-2:hover::before, .dropdown-toggle-2.show::before { opacity: 1; }
.white-space-normal .dropdown-item  { white-space:normal !important; }
.navbar {
  --bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.75%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
  --bs-navbar-toggler-border-color: rgba(255,255,255, 0);
  --bs-navbar-toggler-border-radius: 0;
}
.navbar-toggler:focus {
  box-shadow: 0 0 0 var(--bs-navbar-toggler-focus-width) rgba(255,255,255,0.5);
}
.navbar .form-control {
  display: block;
  width: 100%;
  padding: 0.375rem 0.75rem;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: var(--green);
  border: 0;
  border-bottom: 2px solid var(--green);
  border-radius: 0;
  text-align: right;
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
.navbar .form-control:focus {
  box-shadow: none;
}
.navbar form .btn {
  --bs-btn-active-color: var(--green);
  border: 0;
  border-bottom: 2px solid var(--green);
}
.navbar form .btn:active {
  border-color: var(--green);
}
.form-focus { transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; }
.form-focus:focus-within {
  border-color: var(--green);
  outline: 0;
  box-shadow: 0 0 0 0.25rem rgba(var(--green-rgb), 0.25);
}
.form-focus.form-focus-blue:focus-within {
  border-color: var(--blue);
  box-shadow: 0 0 0 0.25rem rgba(var(--blue-rgb), 0.25);
}
.form-focus .form-control:focus {
  box-shadow: none;
}
.form-transparent .form-control {
  background-color: transparent;
}
.nav-link:not(.dropdown-toggle-2),
.navbar .dropdown .nav-link {
  border-bottom: 2px solid rgba(var(--green-rgb), 0);
}
.nav-link:not(.dropdown-toggle-2):active,
.nav-link:not(.dropdown-toggle-2):focus,
.navbar .dropdown .nav-link.show  {
  border-bottom: 2px solid rgba(var(--green-rgb), 1);
  font-weight: 700;
}
.dropdown-menu {
  --bs-dropdown-color: var(--main);
  --bs-dropdown-bg: var(--bs-body-bg);
  --bs-dropdown-border-color: transparent;
  --bs-dropdown-border-radius: 0;
  --bs-dropdown-border-width: 0;
  --bs-dropdown-inner-border-radius: calc(var(--bs-border-radius) - var(--bs-border-width));
  --bs-dropdown-divider-bg: var(--bs-border-color-translucent);
  --bs-dropdown-divider-margin-y: 0.5rem;
  --bs-dropdown-box-shadow: var(--bs-box-shadow);
  --bs-dropdown-link-color: var(--bs-body-color);
  --bs-dropdown-link-hover-color: var(--green);
  --bs-dropdown-link-hover-bg: transparent;
  --bs-dropdown-link-active-color: var(--green);
  --bs-dropdown-link-active-bg: transparent;
  --bs-dropdown-link-disabled-color: var(--bs-tertiary-color);
  --bs-dropdown-item-padding-x: 1rem;
  --bs-dropdown-item-padding-y: 0.25rem;
  --bs-dropdown-header-padding-x: 1rem;
  --bs-dropdown-header-padding-y: 0.5rem;
}
.dropdown-menu.show {
  display: flex;
  white-space: nowrap;
}
.wrap-img {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  width: 100%;
  height: 100%;
  overflow: hidden;
  position: relative;
}
.wrap-img img,
.wrap-img picture {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.wrap-contain img,
.wrap-contain picture { object-fit: contain; }
.ratio-480x121 {
  --bs-aspect-ratio: 25.2083333333%;
}
.ratio-hexagon {
  --bs-aspect-ratio: 126%;
}
.wrap-hexagon {
  max-height: 363px;
  padding: 12%;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  margin: -7px -1px;
}
.hexagon {
  clip-path: polygon(50% 0, 100% 25%, 100% 75%, 50% 100%, 0 75%, 0 25%);
  padding: 20%;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
}
.hexagon::before {
  content: "";
  position: absolute;
  top: -3px;
  left: -3px;
  width: calc(100% + 6px);
  height: calc(100% + 6px);
  background: var(--blue);
  clip-path: polygon(50% 0, 100% 25%, 100% 75%, 50% 100%, 0 75%, 0 25%);
  z-index: -1;
}
.hexagon::after {
  content: "";
  position: absolute;
  top: 3px;
  left: 3px;
  width: calc(100% - 6px);
  height: calc(100% - 6px);
  background: #fff;
  clip-path: polygon(50% 0, 100% 25%, 100% 75%, 50% 100%, 0 75%, 0 25%);
  z-index: -1;
}
.hexagon-2::before {
  background: var(--green-2);
}
.hexagon-2,
.hexagon-2::before,
.hexagon-2::after {
  clip-path: polygon(25% 0%, 75% 0%, 100% 50%, 75% 100%, 25% 100%, 0% 50%);
}
.wrap-img.decor::before,
.wrap-img.decor::after {
  content: '';
  position: absolute;
  width: 20%;
  height: 50%;
  left: -1px;
  background: var(--green);
}
.wrap-img.decor::before {
  top: 0;
  clip-path: polygon(0 0, 0% 100%, 100% 0);
}
.wrap-img.decor::after {
  bottom: 0;
  clip-path: polygon(0 0, 0% 100%, 100% 100%);
}
.testata {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  flex-wrap: wrap;
  min-height: 200px;
}
.btn-default {
  --bs-border-radius: 0;
  --bs-btn-color: #fff;
  --bs-btn-bg: var(--green);
  --bs-btn-border-color: var(--green);
  --bs-btn-hover-color: var(--green);
  --bs-btn-hover-bg: #fff;
  --bs-btn-hover-border-color: var(--green);
  --bs-btn-focus-shadow-rgb: var(--green-rgb);
  --bs-btn-active-color: var(--green);
  --bs-btn-active-bg: #fff;
  --bs-btn-active-border-color: var(--green);
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: var(--green);
  --bs-btn-disabled-border-color: var(--green);
}
.btn-default:hover, 
.btn-default:active, 
.btn-default:focus {
  box-shadow: 0 0 0 0.25rem rgba(var(--green-rgb), 0.25);
}
.btn-form > input {
  all: unset;
  box-sizing: border-box;
}
.btn-form > .wpcf7-spinner {display:  none;}
.form-btn-white .btn {
  --bs-border-radius: 0;
  --bs-btn-color: var(--green);
  --bs-btn-bg: transparent;
  --bs-btn-border-color: transparent;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: var(--green);
  --bs-btn-hover-border-color: var(--green);
  --bs-btn-focus-shadow-rgb: var(--green-rgb);
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: var(--green);
  --bs-btn-active-border-color: var(--green);
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: var(--green);
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: transparent;
  padding-left: 15px!important;
  margin-left: -15px;
}
.form-btn-white .btn:hover, 
.form-btn-white .btn:active, 
.form-btn-white .btn:focus {
  box-shadow: 0 0 0 0.25rem rgba(var(--green-rgb), 0.25);
  margin-left: 0;
}
.green .btn-primary {
  --bs-border-radius: 0;
  --bs-btn-color: #fff;
  --bs-btn-bg: transparent;
  --bs-btn-border-color: #fff;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: transparent;
  --bs-btn-hover-border-color: #fff;
  --bs-btn-focus-shadow-rgb: 255, 255, 255;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: transparent;
  --bs-btn-active-border-color: #fff;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #fff;
}

.btn.btn-primary {
  padding-left: 0;
  border-radius: 0;
  font-size: 16px;
  -webkit-transition: all 0.25s linear;
  -moz-transition: all 0.25s linear;
  -o-transition: all 0.25s linear;
  -ms-transition: all 0.25s linear;
  transition: all 0.25s linear;
}
.btn.btn-primary { border: none !important }
form a:not(.btn){ color: inherit; }
form a:not(.btn):hover,
form a:not(.btn):focus,
form a:not(.btn):active {
  text-decoration: underline;
}
.btn.btn-primary:hover > i,
.btn.btn-primary:focus > i,
.btn.btn-primary:active > i{
  -webkit-animation-name: fa-shake;
          animation-name: fa-shake;
  -webkit-animation-delay: var(--fa-animation-delay, 0s);
          animation-delay: var(--fa-animation-delay, 0s);
  -webkit-animation-direction: var(--fa-animation-direction, normal);
          animation-direction: var(--fa-animation-direction, normal);
  -webkit-animation-duration: var(--fa-animation-duration, 2s);
          animation-duration: var(--fa-animation-duration, 2s);
  -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);
          animation-iteration-count: var(--fa-animation-iteration-count, infinite);
  -webkit-animation-timing-function: var(--fa-animation-timing, linear);
          animation-timing-function: var(--fa-animation-timing, linear);
}
.wpcf7-not-valid-tip {font-size: 16px !important}
.hover-img { position:relative; }
.hover-img .wrap-img::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  opacity: 0;
  background: rgba(var(--main-rgb), .15);
  transition: opacity .25s ease, backdrop-filter .25s ease;
}
.hover-img:hover .wrap-img::before {
  opacity: 1;
  backdrop-filter: blur(4px);
  z-index: 1;
}
.hover-img .wrap-img::after {
  content: attr(data-link);
  position: absolute;
  top: 50%;
  left: 50%;
  margin-top: -3rem;
  transform: translate(-50%,-50%);
  transition: opacity .25s ease, translate .25s ease, margin-top .5s ease;
  color: #fff;
  text-transform: uppercase;
  text-shadow: 2px 2px 4px rgba(var(--main-rgb), 0.7);
  font-size: 25px;
  opacity: 0;
}
.hover-img:hover .wrap-img::after {
  opacity: 1;
  margin-top: 0;
  z-index: 1;
}
.hover-img .wrap-img > * {
  transition: transform .35s ease-in-out;
  transform: scale(1);
}
.hover-img:hover .wrap-img > * {
  transform: scale(1.1);
}
#accordionProduct .accordion-item {
  color: var(--bs-accordion-color);
  background-color: transparent;
  border: 0 solid var(--bs-accordion-border-color);
}
#accordionProduct .accordion-item:first-of-type {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}
#accordionProduct .accordion-item:first-of-type > .accordion-header .accordion-button {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}
#accordionProduct .accordion-item:not(:first-of-type) {
  border-top: 0;
}
#accordionProduct .accordion-item:last-of-type {
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}
#accordionProduct .accordion-item:last-of-type > .accordion-header .accordion-button.collapsed {
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}
#accordionProduct .accordion-item:last-of-type > .accordion-collapse {
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}
#accordionProduct .accordion-body {
  padding: var(--bs-accordion-body-padding-y) var(--bs-accordion-body-padding-x);
}
#accordionProduct .accordion-button:not(.collapsed) {
  color: var(--main);
  background-color: transparent;
}
#accordionProduct .accordion-button:not(.collapsed), #accordionProduct .accordion-button:focus {
  box-shadow: inset 0 calc(var(--bs-accordion-border-width)) 0 var(--main);
}
.table-striped-even > tbody > tr:nth-of-type(even) > * {
  --bs-table-color-type: var(--bs-table-striped-color);
  --bs-table-bg-type: var(--bs-table-striped-bg);
}


.paginationx .content-pag{ justify-content:center; }
.paginationx .content-pag .page-link{ color: var(--green); }
.paginationx .content-pag .page-item.active .page-link{ background:var(--green); border-color:var(--green); color: #fff; }
.casa_facot .pin {
  border-radius: 50%;
  border-bottom-left-radius: 0;
  background: var(--green);
  border: 1px solid #fff;
  position: absolute;
  transform: translate(-50%, -50%);
  width: 5vw;
  height: 5vw;
  max-width: 30px;
  max-height: 30px;
}
.casa_facot .pin:hover, 
.casa_facot .pin:active, 
.casa_facot .pin:focus {
  border-color: var(--green);
  background: #fff;
  box-shadow: 0 0 0 0.25rem rgba(var(--green-rgb), 0.25);
}
.box-violet { --bs-border-color: #9B2FAE !important; }
.box-orange { --bs-border-color: #FD8F2D !important; }
.box-green { --bs-border-color: #007B3D !important; }
.box-blue { --bs-border-color: #178ACF !important; }
.box-violet i { color: #9B2FAE }
.box-orange i { color: #FD8F2D }
.box-green i { color: #007B3D }
.box-blue i { color: #178ACF }
.box-dot:hover,
.box-dot:focus,
.box-dot:active {
  box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.28);
}
.box-dot:not(:hover) { --bs-border-color: transparent !important; }
.link-reset a { color:inherit !important; }