/*
 Theme Name: AB Comunicazioni 2025-26
 Template:   twentytwentyfour
 Author: AB Comunicazioni Srl
 Version: 1.0
 Description: Concept grafico E. Palmisano, AB Comunicazioni Srl / Animazioni A. Caserini
*/
#tagascorrimento-1, #tagascorrimento-2{
	overflow-x: hidden;
  max-width: 100% !important;
	padding: 0!important;
}
.swiper-case {
  width: 100%;
}
.swiper-case-cli {/* CLIENTI LOGHI */
  width: 100%;
}
.swiper-case .swiper-wrapper {
  align-items: center;
}
.swiper-case-cli .swiper-wrapper-cli {/* CLIENTI LOGHI */
  align-items: center;
}

.swiper-case .swiper-pagination {
  z-index: 80;
}
.swiper-case-cli .swiper-pagination-cli {/* CLIENTI LOGHI */
  z-index: 80;
}
.swiper-case .swiper-pagination .swiper-pagination-bullet {
  background-color: white;
}
.swiper-case a {
  position: relative;
  display: block;
  color: black;
}
.swiper-case a:hover {
  text-decoration: none;
}
.swiper-case .img-wrapper {
  border-radius: 2em;
  border: 1px solid #000;
  overflow: hidden;
  aspect-ratio: 9/16;
}
.swiper-case-cli .img-wrapper-cli {/* CLIENTI LOGHI */
  border-radius: 0;
  border: 0 none;
  overflow: hidden;
  aspect-ratio: auto;
}
.swiper-case .img-wrapper img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}
.swiper-wrapper-cli .swiper-slide{
	width: auto;
}
.swiper-case-cli .img-wrapper-cli img {/* CLIENTI LOGHI */
  object-fit:contain;
  width: 100%;
  height: 100%;
}
.swiper-case .text-container {
  position: absolute;
  bottom: 0;
  width: 100%;
  box-sizing: border-box;
  color: white;
  padding: 0 20px 30px;
  overflow: hidden;
  padding-top: 30%;
}
.swiper-case .text-container .back-shadow {
  background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.95) 100%);
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  z-index: 1;
}
.swiper-case .text-container h3 {
  margin: 5px 0 0;
  font-size: 1.4rem;
  color: white;
  z-index: 10;
  position: relative;
  font-weight: 900;
  line-height: 1em;
  margin-bottom: 5px;
}
.swiper-case .text-container h4 {
  margin: 0;
  font-size: 0.8rem;
  color: white;
  z-index: 10;
  position: relative;
  font-weight: 400;
  text-transform: uppercase;
}
.swiper-case .text-container h5 {
  font-size: 0.6rem;
  font-weight: normal;
  text-transform: uppercase;
  color: white;
  z-index: 10;
  position: relative;
  margin: 0 0 7px;
}
.testolungoashtag{
/*	letter-spacing: -1px;*/
	font-size: 1.3rem;
  	}
.casehistory-interno{
	padding-right: 0!important;
	padding-left: 0!important;		
}
/* correzioni responsivness per testo carousel */
@media (min-width: 480px) {
.testolungoashtag{
	font-size: 1.2rem!important;
  	}
}
@media (min-width: 640px) {
	.testolungoashtag{
		font-size: 0.99rem!important;
	}
}
@media (min-width: 960px) {
	.testolungoashtag{
		font-size: 1.1rem!important;
	}
}
@media (min-width: 1280px) {
.testolungoashtag{
font-size: 1.4rem!important;
}
}
@media (min-width: 1500px) {
.testolungoashtag{
}
}
@media (min-width: 1700px) {
.casehistory-interno{
	padding-right: min(2.5rem, 3vw)!important;
	padding-left: min(2.5rem, 3vw)!important;	
}
}
/* fine correzioni responsivness per testo carousel */
.swiper-case .swiper-container {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
  z-index: 1;
}
.swiper-case .swiper-container-vertical > .swiper-wrapper {
  -webkit-box-orient: vertical;
  -ms-flex-direction: column;
  flex-direction: column;
}
.swiper-case-cli .swiper-container-vertical > .swiper-wrapper-cli {
  -webkit-box-orient: vertical;
  -ms-flex-direction: column;
  flex-direction: column;
}
.swiper-case .swiper-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-transition-property: -webkit-transform;
  transition-property: -webkit-transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform;
  box-sizing: content-box;
}
.swiper-case-cli .swiper-wrapper-cli {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-transition-property: -webkit-transform;
  transition-property: -webkit-transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform;
  box-sizing: content-box;
}
/* LOGHI A SCORRIMENTO CONTINUO */
.container-loghi {
  height:8vw; 
  /*max-height: 300px;*/
  position:relative; 
  overflow:hidden;
  border-radius: 0;
}
.container-loghi:after {
content: "";
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 10%;
    background: linear-gradient(90deg, #dedede, rgb(222 222 222 / 0%));
    z-index: 9;
  }
.container-loghi:before {
content: "";
    position: absolute;
    right: 0;
    top: 0;
    height: 100%;
    width: 10%;
    background: linear-gradient(90deg, rgb(222 222 222 / 0%), #dedede );
    z-index: 9;
  }
.carosello {
  position:absolute; 
  overflow:hidden; 
  white-space: nowrap;
  top:0px; 
  left:0px; 
  animation: infiscroll 40s linear infinite;
}
.carosello img {    
    margin: 0 2.5vw;
    max-height: 8vw;
    height: 100%;
    object-fit: cover;
    border-radius: 0;
  }

@keyframes infiscroll {
  0% {
      transform: translate(0, 0);
  }
  100% {
      transform: translate(-50%, 0);
  }
}

/* Fine nuovi loghi */
.blobs-try {
  width: 100px;
  height: 100px;
  z-index: 1;
  background: green;
}
.blobs-try svg {
  position: relative;
  height: 100%;
}

.sfera-flex-container {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  justify-content: space-between;
}
.sfera-flex-container .sfera-wrapper {
  width: 50%;
}
@media (min-width: 870px) {
  .sfera-flex-container .sfera-wrapper {
    width: auto;
  }
}
@media (min-width: 1600px) {
  .sfera-flex-container  {
   justify-content: space-evenly;
  }
}
.sfera-container {
  margin: 0 auto;
  width: 200px;
  height: 200px;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  aspect-ratio: 1;
  pointer-events: bounding-box;
}
.sfera-container:hover .over img, .sfera-container:hover .blob {
  animation-play-state: paused;
}
.sfera-container .over {
  width: calc(100% - 20px);
  height: calc(100% - 20px);
}
.sfera-container .over img {
  position: absolute;
  top: 0;
  left: 0;
  width: 200px;
  height: 200px;
  margin: 3px;
  z-index: 2;
  animation: rotate 15s infinite linear;
}
.sfera-container .over img:first-child {
  z-index: 3;
  animation-direction: alternate-reverse;
}
.sfera-wrapper{ margin-bottom: 1rem;}
.blobs {
  width: 100%;
  height: 100%;
  z-index: 1;
  transform: scale(0.8);
}
.blobs svg {
  position: relative;
  height: 100%;
  z-index: 2;
  filter: blur(0.3em);
}
.blobs .blob {
  animation: rotate 50s infinite alternate linear;
  transform-origin: 50% 50%;
  opacity: 0.7;
  transition: fill 800ms ease;
}
.blobs .blob-1 {
  filter: blur(3rem);
}
.blobs .blob-1 path {
  fill: #c587a6;
}
.blobs .blob-2 {
  animation-duration: 18s;
  animation-direction: alternate-reverse;
  animation-name: rotate;
  animation-duration: 37s;
  filter: blur(0.5rem);
}
.blobs .blob-2 path {
  fill: #4344ad;
}
.blobs .blob-3 {
  animation-duration: 23s;
  animation-name: rotate;
  animation-duration: 76s;
  filter: blur(0.8rem);
  transform: scale(0.76);
}
.blobs .blob-3 path {
  fill: #c5357d;
}
.blobs .blob-4 {
  animation-duration: 31s;
  animation-direction: alternate-reverse;
  opacity: 0.9;
  animation-name: rotate;
  animation-duration: 100s;
  filter: blur(1.5rem);
  transform: scale(0.5);
}
.blobs .blob-4 path {
  fill: #0f0f58;
}
@keyframes rotate {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
@keyframes onda {
  0% {
    transform: perspective(200px) rotateY(40deg);
  }
  100% {
    transform: perspective(200px) rotateY(-40deg);
  }
}

.palette-1 .blob-1 path {
  fill: #c587a6;
}
.palette-1 .blob-2 path {
  fill: #4344ad;
}
.palette-1 .blob-3 path {
  fill: #c5357d;
}
.palette-1 .blob-4 path {
  fill: #0f0f58;
}

.palette-2 .blob-1 path {
  fill: #871858;
}
.palette-2 .blob-2 path {
  fill: #eda6cf;
}
.palette-2 .blob-3 path {
  fill: #751a43;
}
.palette-2 .blob-4 path {
  fill: #ffb6f0;
}

.palette-3 .blob-1 path {
  fill: #ffcc79;
}
.palette-3 .blob-2 path {
  fill: #741128;
}
.palette-3 .blob-3 path {
  fill: #d66982;
}
.palette-3 .blob-4 path {
  fill: #401f75;
}

.palette-4 .blob-1 path {
  fill: #ecc4f5;
}
.palette-4 .blob-2 path {
  fill: #11a587;
}
.palette-4 .blob-3 path {
  fill: #0a4c3f;
}
.palette-4 .blob-4 path {
  fill: #a57eb3;
}

.block-anim {
  animation: none !important;
}

.onda-anim {
  animation: onda 4s infinite alternate ease-in-out !important;
}
.onda-anim.alt {
  animation-direction: alternate-reverse !important;
  animation-duration: 6s !important;
}

@-webkit-keyframes ticker {
  0% {
    -webkit-transform: translate3d(-100vw, 0, 0);/* partenza stringa scorrevole */
    transform: translate3d(-100vw, 0, 0);/* partenza stringa scorrevole */
    visibility: visible;
  }
  100% {
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
}
@keyframes ticker {
  0% {
    -webkit-transform: translate3d(-100vw, 0, 0);/* partenza stringa scorrevole */
    transform: translate3d(-100vw, 0, 0);/* partenza stringa scorrevole */
    visibility: visible;
  }
  100% {
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
}
.ticker-wrap {
  position: relative;
  bottom: 0;
  width: 100%;
  overflow: hidden;
  background: white;
  height: 70px;
  padding-left: 100%;
  box-sizing: content-box;
}

.ticker {
  display: inline-block;
  height: 70px;
  line-height: 70px;
  white-space: nowrap;
  box-sizing: content-box;
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
  -webkit-animation-timing-function: linear;
  animation-timing-function: linear;
  -webkit-animation-name: ticker;
  animation-name: ticker;
  -webkit-animation-duration: 30s;
  animation-duration: 30s;
}
.ticker__item {
  display: inline-block;
  padding: 0 0.5rem;
  font-size: clamp(0.95rem, 0.95rem + ((1vw - 0.95rem) * 0.95), 1.5rem);
  color: black;
}
.ticker.ticker-clienti {
  -webkit-animation-duration: 300s;
  animation-duration: 300s;
}
.ticker.ticker-keywords {
  -webkit-animation-duration: 150s;
  animation-duration: 150s;
}

.numeri-container .numeri-item {
  margin-bottom: 20px;
}
.numeri-container .numeri-item .numeri-sup {
  font-weight: 800;
  line-height: 0.5em;
  font-size: 28px;
  transform: translateY(0.2em);
}
.numeri-container .numeri-item .numeri-value {
  font-weight: 800;
  line-height: 1em;
  font-size: 75px;
  display: flex;
  align-items: center;
}
.numeri-container .numeri-item .numeri-value.numeri-plus::after {
  content: "+";
}
.numeri-container .numeri-item .numeri-value.numeri-k::after {
  content: "lt";
  margin-bottom: 5px;
}
.numeri-container .numeri-item .numeri-value.numeri-m::after {
  content: "MILA";
  margin-bottom: 5px;
}
.numeri-container .numeri-item .numeri-label {
  font-size: 0.8em;
  line-height: 1em;
  letter-spacing: 0.2em;
  transform: translateY(-0.5em);
}
.numeri-container .numeri-item .side-label {
  display: flex;
  align-items: center;
}
.numeri-container .numeri-item .side-label p {
  font-size: 35px;
  font-weight: 800;
  line-height: 1em;
  margin: 0;
}
.numeri-container .numeri-riga-1, .numeri-container .numeri-riga-2, .numeri-container .numeri-riga-3 {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 15px;
}
.numeri-container .numeri-riga-1 .numeri-item, .numeri-container .numeri-riga-2 .numeri-item, .numeri-container .numeri-riga-3 .numeri-item {
  width: 100%;
}
@media (min-width: 870px) {
  .numeri-container .numeri-riga-1 .numeri-item, .numeri-container .numeri-riga-2 .numeri-item, .numeri-container .numeri-riga-3 .numeri-item {
    width: calc(50% - 15px);
  }
}
@media (min-width: 900px) {
  .numeri-container .numeri-item .numeri-value {
 
  font-size: 80px;

}
}
@media (min-width: 1080px) {
  .numeri-container .numeri-item .numeri-value {
 
  font-size: 90px;

}
}
@media (min-width: 1280px) {
  .numeri-container .numeri-riga-1 .numeri-item, .numeri-container .numeri-riga-2 .numeri-item, .numeri-container .numeri-riga-3 .numeri-item {
    width: calc(33.33% - 15px);
  }
}

.odometer {
  font-family: "Work Sans", sans-serif;
  font-size: 3em;
  font-weight: 800;
}

.odometer.odometer-auto-theme, .odometer.odometer-theme-default {
  display: inline-block;
  vertical-align: middle;
}
.odometer.odometer-auto-theme *, .odometer.odometer-theme-default * {
  vertical-align: auto;
  zoom: 1;
  display: inline;
  position: relative;
}

.odometer.odometer-auto-theme .odometer-digit, .odometer.odometer-theme-default .odometer-digit {
  display: inline-block;
  vertical-align: middle;
}
.odometer.odometer-auto-theme .odometer-digit *, .odometer.odometer-theme-default .odometer-digit * {
  vertical-align: auto;
  zoom: 1;
  display: inline;
  position: relative;
}

.odometer.odometer-auto-theme .odometer-digit .odometer-digit-spacer, .odometer.odometer-theme-default .odometer-digit .odometer-digit-spacer {
  display: inline-block;
  vertical-align: middle;
  visibility: hidden;
  text-align: center;
}
.odometer.odometer-auto-theme .odometer-digit .odometer-digit-spacer *, .odometer.odometer-theme-default .odometer-digit .odometer-digit-spacer * {
  vertical-align: auto;
  zoom: 1;
  display: inline;
  visibility: hidden;
}

.odometer.odometer-auto-theme .odometer-digit .odometer-digit-inner, .odometer.odometer-theme-default .odometer-digit .odometer-digit-inner {
  text-align: center;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  overflow: hidden;
}

.odometer.odometer-auto-theme .odometer-digit .odometer-ribbon, .odometer.odometer-theme-default .odometer-digit .odometer-ribbon {
  display: block;
}

.odometer.odometer-auto-theme .odometer-digit .odometer-ribbon-inner, .odometer.odometer-theme-default .odometer-digit .odometer-ribbon-inner {
  display: block;
  -webkit-backface-visibility: hidden;
}

.odometer.odometer-auto-theme .odometer-digit .odometer-value, .odometer.odometer-theme-default .odometer-digit .odometer-value {
  display: block;
  -webkit-transform: translateZ(0);
  text-align: center;
}

.odometer.odometer-auto-theme .odometer-digit .odometer-value.odometer-last-value, .odometer.odometer-theme-default .odometer-digit .odometer-value.odometer-last-value {
  position: absolute;
  text-align: center;
  width: 100%;
}

.odometer.odometer-auto-theme.odometer-animating-up .odometer-ribbon-inner, .odometer.odometer-theme-default.odometer-animating-up .odometer-ribbon-inner {
  -webkit-transition: -webkit-transform 2s;
  -moz-transition: -moz-transform 2s;
  -ms-transition: -ms-transform 2s;
  -o-transition: -o-transform 2s;
  transition: transform 2s;
}

.odometer.odometer-auto-theme.odometer-animating-up.odometer-animating .odometer-ribbon-inner, .odometer.odometer-theme-default.odometer-animating-up.odometer-animating .odometer-ribbon-inner {
  -webkit-transform: translateY(-100%);
  -moz-transform: translateY(-100%);
  -ms-transform: translateY(-100%);
  -o-transform: translateY(-100%);
  transform: translateY(-100%);
}

.odometer.odometer-auto-theme.odometer-animating-down .odometer-ribbon-inner, .odometer.odometer-theme-default.odometer-animating-down .odometer-ribbon-inner {
  -webkit-transform: translateY(-100%);
  -moz-transform: translateY(-100%);
  -ms-transform: translateY(-100%);
  -o-transform: translateY(-100%);
  transform: translateY(-100%);
}

.odometer.odometer-auto-theme.odometer-animating-down.odometer-animating .odometer-ribbon-inner, .odometer.odometer-theme-default.odometer-animating-down.odometer-animating .odometer-ribbon-inner {
  -webkit-transition: -webkit-transform 2s;
  -moz-transition: -moz-transform 2s;
  -ms-transition: -ms-transform 2s;
  -o-transition: -o-transform 2s;
  transition: transform 2s;
  -webkit-transform: translateY(0);
  -moz-transform: translateY(0);
  -ms-transform: translateY(0);
  -o-transform: translateY(0);
  transform: translateY(0);
}
/* TAG ANIMATE BLACK & WHITE */
@keyframes tagAnim {
	0%, 5%   {transform: translateY(0);}
	10%, 100%{transform: translateY(-23px);}
}
.tag-animate, .tag-animate-current{
	list-style-type: none!important;
}

.tag-animate-gr-white{
	overflow: hidden;
	max-height: 30px!important;
	color: #000000;
  	background-color: #ffffff;	
}
.tag-animate-gr-white.current{
	background-color: #000000;
		color: #ffffff;
}

.tag-animate-gr-black{
	overflow: hidden;
	max-height: 30px!important;
	color: #ffffff;
  	background-color: #000000;		
}
.tag-animate:hover{
	background-color: #ffffff;
animation-name: tagAnim;
  animation-duration: 2s;
	animation-timing-function: linear;
	animation-iteration-count: 1;
}
.tag-animate li a:hover, .tag-animate li a:focus{	
color: #000000!important;
/*background-color: #ffffff;	*/
}
#btn-adv-t-1, #btn-evn-t-1, #btn-prd-t-1, #btn-frs-t-1{
	line-height: 1.1rem;
	max-height: 25px;
  margin: 0 0 5px 0;
}
#btn-adv-t-2, #btn-evn-t-2, #btn-prd-t-2, #btn-frs-t-2{
	line-height: 1.1rem;
	max-height: 25px;
  margin: 0 0 5px 0;	
/*	max-height: 15px;	*/
}
#btn-adv-t-2 a, #btn-evn-t-2 a, #btn-prd-t-2 a, #btn-frs-t-2 a{	
	color: #000000;
/*	max-height: 15px;	*/
}

