:root {
	--cnvs-body-font: "helvetica now display regular", sans-serif;
	--cnvs-primary-font: "helvetica now display regular", sans-serif;
	--cnvs-secondary-font: "helvetica now display light", sans-serif;
}

#header {
  --cnvs-primary-menu-font-weight:	500;
}

.nopads{
    margin-top: 0px;
    margin-bottom: 0px;
}

.bg-neural {
  background-image: url(/images/custom/neural3.webp);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: right bottom;
}
.mb--0{
    margin-bottom: 0px;
}
.mt--0{
    margin-top: 0px;
}
.bg--dark{
    background-color: #343a40;
}
.font-medium{
    font-family: "helvetica now display medium";
}
#overlay {
width: 100%;
  height: 100vh;
  background-color: #fff;
  position: absolute;
  top: 0px;
  right: 0px;
  z-index: 99;
    opacity: 0.7;
    display: none;
}
#overlay .spinner{
    width: 400px;
    margin-top: 160px;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
}
.posrel{
    position: relative;
}
#formmessage{
    display: none;
   color: #737771;
  font-size: 1.10rem;
}
#nwl-formmessage{
    display: none;
   color: #fff;
  font-size: 1.10rem;
}
.grecaptcha-badge { 
    visibility: hidden;
}
.midlead{
    font-size: 1.25rem;
    font-family: "helvetica now display light";
}
.light-text{
    font-family: "helvetica now display light";
}
ul.nodots{
    list-style: none;
    font-size: 1.10rem;
}
ul.nodots li{
    margin-bottom: 8px;
}
.block-hero-9 .slide-1,
		.block-hero-9 .swiper-pagination span:nth-child(1) { --color: #1E5A50; }

		.block-hero-9 .slide-2,
		.block-hero-9 .swiper-pagination span:nth-child(2) { --color: #606567; }

		.block-hero-9 .slide-3,
		.block-hero-9 .swiper-pagination span:nth-child(3) { --color: #7d2e00; }

		.block-hero-9 h1,
		.block-hero-9 h2,
		.block-hero-9 h3,
		.block-hero-9 h4,
		.block-hero-9 h5,
		.block-hero-9 h6,


		.block-hero-9 .swiper-horizontal > .swiper-pagination-bullets,
		.block-hero-9 .swiper-pagination-custom,
		.block-hero-9 .swiper-pagination-fraction {
			left: auto;
			right: 0;
		}

		.block-hero-9 .swiper-pagination {
			padding: 4px 6px;
			width: auto;
		}

		.block-hero-9 .swiper-pagination span:hover,
		.block-hero-9 .swiper-pagination span.swiper-pagination-bullet-active {
			background-color:  var(--color) !important;
		}

		.block-hero-9 .swiper-pagination span { border-color:  var(--color) !important; }
.h1000{
    height: 1080px;
}
.redtitle{
  color: var(--cnvs-themecolor);
  text-transform: uppercase;
  font-weight: 100;
  font-size: 0.9rem;
}
.text-right{
    text-align: right;
}
.our-red{
    color: var(--cnvs-themecolor);
}
.whopict {
  margin-top: 4rem;
  margin-bottom: 4rem;
}
.flexa{
    display: flex;
}
.flexacol{
    flex: 1;               /* Occupa lo stesso spazio */
  display: flex;
  flex-direction: column;
  justify-content: center; /* Centra verticalmente */
}
.bigger{
    font-family: 'helvetica now display bold';
    font-size: 2rem;
}
.nwl-container{
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
    padding: 0 4rem 0 4rem;
}


.modal {
  --bs-modal-width: 700px;
}
.biglead {
  font-size: 22px;
}
.table-compare-wrapper {
  width: 100%;
  overflow-x: auto;
  padding: 0 4rem;

  animation: tableFadeIn 0.6s ease-out;
}

.table-compare {
  width: 100%;
  min-width: 640px;
  border-collapse: collapse;
  color: #0f172a;
  font-size: 0.9rem;
}

.table-compare thead th {
  padding: 0.9rem 1rem;
  text-align: left;
  font-weight: 600;
  border-bottom: 1px solid rgba(15, 23, 42, 0.12);
  white-space: nowrap;
  background: #db3c23;
  color: #fff;
}

.table-compare {
  border-collapse: collapse; /* consigliato */
}

.table-compare tbody td {
  padding: 0.75rem 1rem;
  border-bottom: 1px solid rgba(148, 163, 184, 0.25);
  vertical-align: top;
  transition: border-color 0.75s ease, background-color 0.25s ease;
}

.table-compare tbody tr {
  transition: background-color 0.25s ease, transform 0.25s ease,
              box-shadow 0.25s ease;
}

/* opzionale: zebra */
.table-compare tbody tr:nth-child(even) {
  background-color: rgba(148, 163, 184, 0.06);
}

/* hover: bordo rosso sulle celle della riga */
.table-compare tbody tr:hover td {
  border-bottom: 1px solid red;
}

/* prima colonna leggermente evidenziata */
.table-compare tbody td:first-child {
  color: #475569;
  font-weight: 500;
  white-space: nowrap;
}

/* evidenzia la colonna Hephaestus */
.table-compare thead th:nth-child(2),
.table-compare tbody td:nth-child(2) {
  color: #333332;
  font-weight: 600;
}

/* responsive: su schermi stretti riduci font e padding */
@media (max-width: 768px) {
  .table-compare {
    font-size: 0.8rem;
    min-width: 580px;
  }

  .table-compare thead th,
  .table-compare tbody td {
    padding: 0.6rem 0.7rem;
  }
}

/* animazione ingresso */
@keyframes tableFadeIn {
  from {
    opacity: 0;
    transform: translateY(12px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
    


.timeline {
  list-style: none;
  padding: 20px 0 20px;
  position: relative;
}
.timeline:before {
  top: 0;
  bottom: 0;
  position: absolute;
  content: " ";
  width: 3px;
  background-color: #eeeeee;
  left: 50%;
  margin-left: -1.5px;
}
.timeline > li {
  margin-bottom: 20px;
  position: relative;
}
.timeline > li:before,
.timeline > li:after {
  content: " ";
  display: table;
}
.timeline > li:after {
  clear: both;
}
.timeline > li:before,
.timeline > li:after {
  content: " ";
  display: table;
}
.timeline > li:after {
  clear: both;
}
.timeline > li > .timeline-panel {
  width: 46%;
  float: left;
  border: 1px solid #797373;
  padding: 20px;
  position: relative;
}
.timeline > li > .timeline-panel:before {
  position: absolute;
  top: 26px;
  right: -15px;
  display: inline-block;
  border-top: 15px solid transparent;
  border-left: 15px solid #ccc;
  border-right: 0 solid #ccc;
  border-bottom: 15px solid transparent;
  content: " ";
}
.timeline > li > .timeline-panel:after {
  position: absolute;
  top: 27px;
  right: -14px;
  display: inline-block;
  border-top: 14px solid transparent;
  border-left: 14px solid #fff;
  border-right: 0 solid #fff;
  border-bottom: 14px solid transparent;
  content: " ";
}
.timeline > li > .timeline-badge {
  color: #fff;
  width: 50px;
  height: 50px;
  line-height: 50px;
  font-size: 1.4em;
  text-align: center;
  position: absolute;
  top: 16px;
  left: 50%;
  margin-left: -25px;
  background-color: #999999;
  z-index: 100;
  border-top-right-radius: 50%;
  border-top-left-radius: 50%;
  border-bottom-right-radius: 50%;
  border-bottom-left-radius: 50%;
}
.timeline > li.timeline-inverted > .timeline-panel {
  float: right;
}
.timeline > li.timeline-inverted > .timeline-panel:before {
  border-left-width: 0;
  border-right-width: 15px;
  left: -15px;
  right: auto;
}
.timeline > li.timeline-inverted > .timeline-panel:after {
  border-left-width: 0;
  border-right-width: 14px;
  left: -14px;
  right: auto;
}
.timeline-badge.primary {
  background-color: #2e6da4 !important;
}
.timeline-badge.success {
  background-color: #3f903f !important;
}
.timeline-badge.warning {
  background-color: #f0ad4e !important;
}
.timeline-badge.danger {
  background-color: #d9534f !important;
}
.timeline-badge.info {
  background-color: #5bc0de !important;
}
.timeline-title {
  margin-top: 0;
  color: inherit;
}
.timeline-body > p,
.timeline-body > ul {
  margin-bottom: 0;
}
.timeline-body > p + p {
  margin-top: 5px;
}

a.button:hover .our-red {
  color: #fff !important;
}
.pre-title {
  margin-bottom: 16px;
  font-size: 20px;
  font-weight: 800;
}
.pre-pairs {
  font-weight: 100;
  padding: 6px 10px;
  background-color: #db3c23;
  color: #fff;
  font-size: 14px;
}
.redstripe {
  background-color: var(--cnvs-themecolor);
  color: #fff;
  padding: 2rem 0;
}
.big-check {
  transform: scale(1.5);
}
.videocall-field {
  background-color: #e4e9ee;
  padding: 16px;
}