/*GENERICO*/
* {font-family: 'Inter', sans-serif; font-weight:400;}
h1, h2, h3, h4, h5, h6 {font-family: 'Archivo', sans-serif; font-weight:400;}
h1 {}
h2 {}
p {}
.cursive {font-family: 'Lora', serif; font-weight: 500; font-style: italic;}
input[type=text], input[type=password], input[type=email], input[type=tel], select {background-color:#f2f2f2; border-radius: 30px 30px 30px 30px; border: 1px solid #dee2e6;}
input::placeholder, select, textarea::placeholder {text-transform: uppercase !important; font-weight: bold !important; color: #333!important;}
textarea {background-color:#f2f2f2 !important; border-radius: 30px 30px 30px 30px !important;}
.bg-img-row {background-image: url(../grafica/banner.jpg); background-size: cover; text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.8); padding: 100px 0px 100px 0px; background-position-x: center; background-repeat: no-repeat;}
.mceLayout {width:100% !important;}
.accedi .dropdown button::after {border:none !important;}
.separatore {border: 2px solid #f5bb27; width: 50px;}
.barra-firme {border:2px solid #14c7b1 !important; border-radius:30px; }
.registrazione_short .select2-container--default .select2-selection--single .select2-selection__rendered {color:#333; font-weight:bold; text-transform:uppercase;}
.registrazione_short .select2-container--default .select2-selection--single {border: 1px solid #adb5bd; border-radius:30px; background-color:#fff;}
.block {width: 40px !important; height: 40px !important; border-radius: 0 15px 15px 15px; display: flex; background-color: #333; align-items: center; justify-content: center;}

.stars {background-image: url(../grafica/stars.png);
    background-size: auto;
    background-position-x: center;
    background-repeat: repeat;}
.stars1 {background-image: url(../grafica/stars1.png);
    background-size: auto;
    background-position: 10px -2px;
    background-repeat: repeat;}
.stars3 {background-image: url(../grafica/stars3.png);
    background-size: auto;
    background-position: 0px;
    background-repeat: repeat;}


/*SCROLL TOP*/
.scrollup {width:80px; height:80px; position:fixed; bottom:100px; right:200px; display:none; text-indent:-9999px; background-image:url(../grafica/scrollTop_btn.png); background-position:center; background-repeat:no-repeat; z-index:200; overflow:hidden; opacity:.5; background-size:70%; -moz-transition:ease-in-out .2s; -webkit-transition:ease-in-out .2s; transition:ease-in-out .2s;}
.scrollup:hover {opacity:.9; background-size:100%;}

/*COLORI*/
.sf-gray {background-color:#f8f9fa !important;}
.sf-black {background-color:#333333 !important;}
.sf-red {background-color:#eb5054 !important;}
.sf-azzurro { background-color: #2357a9 !important; }
.sf-green {background-color:#14c7b1 !important}

.txt-black {color:#333333 !important;}
.txt-gray {color:#f2f2f2 !important;}
.txt-red {color:#eb5054 !important;}
.txt-green {color:#14c7b1 !important}

/*BOTTONI*/
.btn.generico {background-color:#f5bb27 !important; color:#fff !important; border-radius: 30px 30px 30px 30px !important; transition: 0.5s;}
.btn.generico:hover {background-color:#2357a9 !important; color:#fff !important;}

.btn.primario {background-color:#2357a9 !important; color:#fff !important; border-radius: 30px 30px 30px 30px !important; transition: 0.5s;}
.btn.primario:hover {background-color:#fff !important; color:#2357a9 !important; border:1px solid #2357a9;}

.btn.secondario {background-color:#eb5054 !important; color:#fff !important; border-radius: 30px 30px 30px 30px !important; transition: 0.5s;}
.btn.secondario:hover {background-color:#86a0bc !important; color:#fff !important;}

/*HEADER*/
.menuHeader-generico {list-style:none;}
.menuHeader-generico li a {transition: 0.3s ease; background: #ffffff; color: #333; text-decoration: none; border-top: 4px solid #fff; border-bottom: 4px solid #fff; padding: 20px 0; margin: 0 20px; border-radius:0px !important;}
.menuHeader-generico li a:hover {border-top: 4px solid #f5bb27; border-bottom: 4px solid #f5bb27; padding: 6px 0; }

.menuHeader-utente {border: none !important; border-radius: 30px 30px 30px 30px !important; transform: translate(-18px, 55px) !important;}
.menuHeader-utente li a:active, .menuHeader-accedi li a:active {background-color:#14c7b1 !important;}
.menuHeader-accedi {border: none !important; border-radius: 30px 30px 30px 30px !important; transform: translate(-18px, 55px) !important;}

/*PAGINAZIONE*/
.wrapperPaginazione .link_sel {text-decoration: none; color: #333; font-weight:bold; margin:0 3px;}
.wrapperPaginazione .link_unsel {display: inline-flex; text-decoration: none; color: #333; margin:0 3px;}

/*MENU MOBILE*/
.menuLogin-mobile {border: 1.5px solid #333 !important;
    border-radius: 30px 30px 30px 30px !important;
    background-color: #fff; 
}
.nav__menu li a {position:relative;}
.nav__menu li.active a::after {content: ''; position: absolute; bottom: 5px; left: 0%; right: 85%; height: 3px; background-color: #f5bb27;}

.menu-mobile {    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    background-color: #333; z-index: 99;
	border-radius: 0 0 0 30px;}
	
.nav__toggle {
  display: inline-block;
  position: absolute;
  z-index: 10;
  padding: 0;
  border: 0;
  background: transparent;
  outline: 0;
  right: 15px;
  top: 25px;
  cursor: pointer;
  border-radius: 50%;
  transition: background-color 0.15s linear;
}
.nav__menu {
width: 100%;	
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: var(--screen-height);
  position: relative;
  z-index: 5;
  visibility: hidden;
	list-style: none;
    padding: 0;
}
.nav__item {
  opacity: 0;
  transition: all 0.3s cubic-bezier(0, 0.995, 0.99, 1) 0.3s;
}
.nav__item:nth-child(1) {
  transform: translateY(-40px);
}
.nav__item:nth-child(2) {
  transform: translateY(-80px);
}
.nav__item:nth-child(3) {
  transform: translateY(-120px);
}
.nav__item:nth-child(4) {
  transform: translateY(-160px);
}
.nav__item:nth-child(5) {
  transform: translateY(-200px);
}
.nav__link {
  color: #fff;
  display: block;
  font-size: 1.25rem;
  text-decoration: none;
  padding: 5px 0;
}
.nav__link:hover, .nav__link:focus {
  outline: 0;
  background-color: rgba(0, 0, 0, 0.2);
}

.menuicon {
  display: block;
  cursor: pointer;
  color: #333;
  transform: rotate(0deg);
  transition: 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
}
.menuicon__bar, .menuicon__circle {
  fill: none;
  stroke: currentColor;
  stroke-width: 3;
  stroke-linecap: round;
}
.menuicon__bar {
  transform: rotate(0deg);
  transform-origin: 50% 50%;
  transition: transform 0.25s ease-in-out;
}
.menuicon__circle {
  transition: stroke-dashoffset 0.3s linear 0.1s;
  stroke-dashoffset: 144.513262038;
  stroke-dasharray: 144.513262038;
}

.splash {
  position: absolute;
  top: 40px;
  right: 40px;
  width: 1px;
  height: 1px;
}
.splash::after {
  content: "";
  display: block;
  position: absolute;
  border-radius: 50%;
  background-color: var(--splash-bg-color);
  width: 284vmax;
  height: 284vmax;
  top: -142vmax;
  left: -142vmax;
  transform: scale(0);
  transform-origin: 50% 50%;
  transition: transform 0.5s cubic-bezier(0.755, 0.05, 0.855, 0.06);
  will-change: transform;
}

.nav:target > .splash::after,
.nav--open > .splash::after {
  transform: scale(1);
}
.nav:target .menuicon,
.nav--open .menuicon {
  color: #e33f40;
  transform: rotate(180deg);
}
.nav:target .menuicon__circle,
.nav--open .menuicon__circle {
  stroke-dashoffset: 0;
}
.nav:target .menuicon__bar:nth-child(1), .nav:target .menuicon__bar:nth-child(4),
.nav--open .menuicon__bar:nth-child(1),
.nav--open .menuicon__bar:nth-child(4) {
  opacity: 0;
}
.nav:target .menuicon__bar:nth-child(2),
.nav--open .menuicon__bar:nth-child(2) {
  transform: rotate(45deg);
}
.nav:target .menuicon__bar:nth-child(3),
.nav--open .menuicon__bar:nth-child(3) {
  transform: rotate(-45deg);
}
.nav:target .nav__menu,
.nav--open .nav__menu {
  visibility: visible;
}
.nav:target .nav__item,
.nav--open .nav__item {
  opacity: 1;
  transform: translateY(0);
}

/*DISCLAMER*/
#wrapDisclaimer {display:none; position: fixed;  bottom: 0; left: 0; overflow-y:scroll !important;}

/*CREA PETIZIONE*/
.step-nuovaPetizione a {border: 2px solid #333;  border-radius: 2rem; padding-right: 15px; padding-left: 50px; position: relative; font-size: 1.2em; text-transform: uppercase; padding-top: 5px; padding-bottom: 5px; text-decoration:none; color:#333; display: flex; justify-content: center;}
.step-nuovaPetizione a.active {font-weight:bold;} 
.step-nuovaPetizione a.active span {background-color: #e33f40 !important; font-weight:bold;} 
.step-nuovaPetizione span {position: absolute; left: -2px; bottom: 0px;  border: 2px solid #333;  border-radius: 2rem; height: 40px; width: 40px; text-align: center; font-size: 1.1em; background-color: #333; color: #fff;}

/*SWIPER*/
.swiper {width: 100%; height: 100%;}
.swiper-slide {font-size: 18px; background: #fff; display: flex;  justify-content: center; align-items: center;    }
.swiper-slide img {display: block; width: 100%; height: 100%; object-fit: cover;}

.swiper-pagination-bullet {width:12px !important; height:12px !important; background-color:#fff; border: 2px solid #333 !important;}
.swiper-pagination-bullet.swiper-pagination-bullet-active {background-color: #e33f40 !important}

.correlati .swiper-button-prev:after, .correlati .swiper-button-next:after  {font-size: 25px !important; font-weight: bold !important; color: #333 !important;}
.correlati .swiper-button-prev {top: 25px;}
.correlati .swiper-button-next {top: 25px;}

/*NEWSLETTER*/
.newsletter {border-radius:30px 30px 30px 30px !important;}

/*PETIZIONI*/
.card-custom {
  position: relative;
  overflow: hidden;
  border: none;
  height: 300px; /* Altezza fissa per uniformità */
}

.card-img {
  width: 100%;
  height: 100%;
  object-fit: cover; /* Per mantenere le proporzioni dell'immagine */
}

.card-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  /* background: rgba(0, 0, 0, 0.5); /* Filigrana opaca nera */
  display: flex;
  justify-content: center;
  align-items: center;
}

.card-text {
  color: white;
  font-size: 1.5rem;
  font-weight: bold;
  text-align: center;
  padding: 10px;
  text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.8); /* Ombra per leggibilità */
}

.petizioni-lista .img-petizione {border-radius:30px 0 0 0;}	
.petizioni-lista .box-descrizione {border-radius:0 30px 0 30px; box-shadow: rgba(0, 0, 0, 0.1) 0px 4px 6px -1px, rgba(0, 0, 0, 0.06) 0px 2px 4px -1px;}	
.petizioni-lista .box-firme {border-radius:0 30px 30px 0; box-shadow: rgba(0, 0, 0, 0.1) 0px 4px 6px -1px, rgba(0, 0, 0, 0.06) 0px 2px 4px -1px;}

.boxFirme-dettaglio .img-firmeDettaglio {background-image: url(../grafica/firme-dettaglio.png); background-size: contain; background-position: center; background-repeat: no-repeat; width: 105px; border-radius: 30px 0 0 30px; background-color: #14c7b1;}
.boxFirme-dettaglio .wrapFirmeAnimato {border-radius: 0 0 30px 0;}

.box-dettaglioDxRounded {border-radius:0 30px 30px 30px !important;}
.box-dettaglioSxRounded {border-radius:30px 0 30px 30px !important;}
.box-dettaglioDx {border-radius:0 30px 30px 0 !important;}
.box-dettaglioSx {border-radius:30px 0 30px 30px !important;}

/*FORM CERCA*/
#formRicerca .cerca {border-radius:30px 0 0 30px; box-shadow: rgba(33, 35, 38, 0.1) 0px 10px 10px -10px;}	
#formRicerca .categoria {border-radius: 0px 30px 30px 0px; border-right:1px solid #dee2e6; border-left:1px solid #dee2e6; border-top:0px; border-bottom:0px; box-shadow: rgba(33, 35, 38, 0.1) 0px 10px 10px -10px;}	
#formRicerca .ordinamento {border-radius:0 30px 30px 0; box-shadow: rgba(33, 35, 38, 0.1) 0px 10px 10px -10px;}		


/*ERRORI */

.errore {display:block !important; color:#f44336;}
.errore .help-block {display:block !important; color:#f44336; margin-top:5px; margin-bottom:10px;}
.errore input {border: 2px solid #f44336 !important;}
.errore select {border: 2px solid #f44336 !important;}
.errore span.select2-selection {border: 2px solid #f44336 !important;}
.errore span.select2-selection__rendered { color:#f44336 !important; }

.errore input::-webkit-input-placeholder {color:#f44336 !important;}
.errore input:-moz-placeholder {color:#f44336 !important;} 
.errore input::-moz-placeholder {color:#f44336 !important;}
.errore input:-ms-input-placeholder {color:#f44336 !important;}
.errore select, option::-webkit-input-placeholder {color:#f44336 !important;}



/*Small devices*/
@media screen and (min-width: 0px) and (max-width: 575px) {

.desktop-switch {display:none !important;}
.mobile-switch {display:block !important;}

.box-text {padding-top: 200px; margin-top: 40px;}              	
.box-text h1 {font-weight:300 !important;}
.box-text h4, .box-text h2 {font-weight:900 !important;}
	
#wrapDisclaimer {padding-top: 80px; height:100% !important}	

.petizioni-lista .img-petizione {border-radius:0 30px 0 0;}	
.petizioni-lista .box-descrizione {border-radius:0 0 0 0; box-shadow: none;}	
.petizioni-lista .box-firme {border-radius:0 0 30px 30px;}

.boxFirme-dettaglio .img-firmeDettaglio {display: none;}	
.boxFirme-dettaglio .wrapFirmeAnimato {border-radius: 30px 0 30px 30px;}
.box-dettaglioSx, .box-dettaglioDx {border-radius:0 30px 30px 30px !important;}
.box-dettaglioSxRounded  {border-radius:0 30px 30px 30px !important;}	
	
#formRicerca .cerca {border-radius:30px 30px 0 0; box-shadow:none;}	
#formRicerca .categoria {border-radius:0 0 30px 30px; border-top:1px solid #dee2e6; border-bottom:1px solid #dee2e6; border-right:0px; border-left:0px; box-shadow:none;}	
#formRicerca .ordinamento {border-radius:0 0 30px 30px; box-shadow: rgba(33, 35, 38, 0.1) 0px 10px 10px -10px;}	
}

/*Small devices (landscape phones, 576px and up)*/
@media (min-width: 576px) and (max-width: 767px) {

.desktop-switch {display:none !important;}
.mobile-switch {display:block !important;}	
	
.box-text {padding-top: 200px; margin-top: 40px;} 
.box-text h1 {font-weight:300 !important;}
.box-text h4, .box-text h2 {font-weight:900 !important;}

.boxFirme-dettaglio .img-firmeDettaglio {display: none;}	
.boxFirme-dettaglio .wrapFirmeAnimato {border-radius: 30px 0 30px 30px;}
.box-dettaglioSx, .box-dettaglioDx {border-radius:0 30px 30px 30px !important;}
.box-dettaglioSxRounded  {border-radius:0 30px 30px 30px !important;}	
	
#wrapDisclaimer {padding-top: 80px; height:100% !important;}

.petizioni-lista .img-petizione {border-radius:0 30px 0 0;}	
.petizioni-lista .box-descrizione {border-radius:0 0 0 0; box-shadow: none;}	
.petizioni-lista .box-firme {border-radius:0 0 30px 30px;}	
	
.boxFirme-dettaglio .img-firmeDettaglio {display: none;}
.boxFirme-dettaglio .wrapFirmeAnimato {border-radius: 30px 0 30px 30px;}
	
#formRicerca .cerca {border-radius:0 30px 0 0;}	
#formRicerca .categoria {border-top:1px solid #dee2e6; border-bottom:1px solid #dee2e6; border-right:0px; border-left:0px;}	
#formRicerca .ordinamento {border-radius:0 0 30px 30px;}	
}

/* Medium devices (tablets, 768px and up)*/
@media (min-width: 768px) and (max-width: 991px) {

.desktop-switch {display:none !important;}
.mobile-switch {display:block !important;}	

.box-text h1 {font-weight:300 !important;}
.box-text h4, .box-text h2 {font-weight:900 !important;}
	
.petizioni-lista .img-petizione {border-radius:0 30px 0 0;}	
.petizioni-lista .box-descrizione {border-radius:0 0 0 0; box-shadow: none;}	
.petizioni-lista .box-firme {border-radius:0 0 30px 30px;}

.box-dettaglioSx, .box-dettaglioDx {border-radius:0 30px 30px 30px !important;}
.box-dettaglioSxRounded  {border-radius:0 30px 30px 30px !important;}		
	
.correlati .swiper-button-prev {left: 0;}
.correlati .swiper-button-next {right: 25px;}		
}

/*Large devices (desktops, 992px and up)*/
@media (min-width: 992px)and (max-width: 1199px) {  

.desktop-switch {display:none !important;}
.mobile-switch {display:block !important;}

.box-text h1 {font-weight:300 !important;}
.box-text h4, .box-text h2 {font-weight:900 !important;}

.correlati .swiper-button-prev {left: 0;}
.correlati .swiper-button-next {right: 25px;}		
}

/*X-Large devices (large desktops, 1200px and up)*/
@media (min-width: 1200px) and (max-width: 1399px) { 	

.desktop-switch {display:block !important;}
.mobile-switch {display:none !important;}	

.bg-img-row {padding: 50px 0px 40px 0px; height:600px;}                
           	
.box-text h1 {font-size:3em; font-weight:300 !important;}
.box-text h4, .box-text h2 {font-weight:900 !important;}	
.box-text p {font-size:1.3em;}
.box-text a {font-size:1.2em;}
	
.correlati .swiper-button-prev {left: 0;}
.correlati .swiper-button-next {right: 25px;}	
}

/*XX-Large devices (larger desktops, 1400px and up)*/
@media (min-width: 1400px) { 

.desktop-switch {display:block !important;}
.mobile-switch {display:none !important;}		

.bg-img-row {padding: 50px 0px 40px 0px; height:600px;}             

.box-text h1 {font-size:3em; font-weight:300 !important;}
.box-text h4, .box-text h2 {font-weight:900 !important;}	
.box-text p {font-size:1.3em;}
.box-text a {font-size:1.2em;}			

.correlati .swiper-button-prev {left: 0;}
.correlati .swiper-button-next {right: 25px;}	
}