@charset "UTF-8";
/*
Theme Name: Solute - Technology & IT Solutions HTML5 Template
Template URL: https://html.urnothemes.com/solute/
Description: Solute is a Technology & IT Solutions HTML5 Template
Author: urnoit
Author URI: https://www.templatemonster.com/authors/urnoit/
Version: 1.0.0
*/

/*================
 Theme Base
==================*/

:root {
	--main-color: #5289b4;
	--title-color: #14325a;
	--paragraph-color: #696969;
}
html{
	scroll-behavior: smooth;
}
body{
	color: var(--paragraph-color);
	font-size: 16px;
	font-weight: normal;
	font-family: 'Space Grotesk';
	line-height: 1.5;
	margin: 0;
    	padding: 0;
  	overflow-x: hidden;  	

}
h1, h2, h3, h4, h5, h6 {
	color: var(--title-color);
	font-weight: bold;
	margin: 0;
	line-height: 1.2;
}
h1 {
	font-size: 56px;
}
h2 {
	font-size: 56px;
}
h3 {
	font-size: 24px;
}
h4 {
	font-size: 20px;
}
h5 {
	font-size: 18px;
}
h6 {
	font-size: 14px;
}

a{
	text-decoration: none;
	-webkit-transition: 0.5s;
	-moz-transition: 0.5s;
	-o-transition: 0.5s;
	transition: 0.5s;
}

/*================
 Top Bar
==================*/

.site-header .top-bar {
    padding: 8px 0;
    background: linear-gradient(270deg, rgb(55, 252, 226) 0%, rgba(221,29,38,1) 100%);

}
.site-header .top-bar .text-left {
    display:inline-block;
}
.site-header .top-bar .text-left i {
    color: #fff;
    margin-right: 5px;
}
.site-header .top-bar .text-left span,
.site-header .top-bar .text-left a {
    color: #fff;
    margin-right: 20px;
}

.site-header .top-bar .text-right ul {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
}
.site-header .top-bar .text-right ul li {
    margin-left: 16px;
}
.site-header .top-bar .text-right ul li a {
    color: #fff;
    font-size: 14px;
}

/*================
 Header
==================*/

.site-header .menu-container{
    color: var(--title-color);
    background-color: #ffffff;
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin: auto;
}


.site-header .menu-bar .nav-menu{
    color: var(--title-color);
	margin: 0;
	list-style: none;
	display: flex;
    align-items: center;
}
.site-logo{
    padding-left:10px;
}
.site-header .menu-bar .nav-menu {
    color: var(--title-color);
	position: relative;
    padding-right:200px;
}
.site-header .menu-bar .nav-menu li a {
	display: inline-block;
	color: var(--title-color);
	font-size: 16px;
	font-weight: 600;
    padding-inline: 30px;

}
.site-header .menu-bar .nav-menu li a:hover{
	color: var(--main-color);
}
.site-header .menu-bar .nav-menu li a i{
	font-size: 10px;
}

.language-icon{
    padding-top:20px;
    padding-right: 10px;
}
.language-icon li{
    display: inline;
}

.site-header .menu-bar .component .language-icon li{
	color: var(--title-color);
}

/* Transparent Menu */

.transparent-header {
	position: absolute;
	width: 100%;
	left: 0;
	top: 0;
	z-index: 99;
    align-items: center;
}
.transparent-header .menu-bar .nav-menu li a {
	color: var(--title-color);
}
.transparent-header .menu-bar .component .search-icon i {
	color: var(--title-color);
}

/* Sub Menu */

.site-header .menu-bar .nav-menu li .sub-menu{
	margin: 0;
	padding: 0;
	list-style: none;
	position: absolute;
	width: 270px;
	background-color: #fff;
	padding: 10px 0 10px 18px;
	top: 130%;
	visibility: hidden;
	opacity: 0;
	z-index: 99;
	-webkit-transition: 0.5s;
	-moz-transition: 0.5s;
	-o-transition: 0.5s;
	transition: 0.5s;
}
.site-header .menu-bar .nav-menu li:hover .sub-menu{
	top: 100%;
	visibility: visible;
	opacity: 1;
}
.site-header .menu-bar .nav-menu li .sub-menu:before {
    content: "";
    position: absolute;
    left: 23px;
    top: 30px;
    width: 1px;
    background-color: #ededed;
    height: calc(100% - 60px);
}
.site-header .menu-bar .nav-menu .sub-menu li a{
	display: block;
	color: var(--title-color);
	padding: 7px 20px 7px 25px;
}
.site-header .menu-bar .nav-menu .sub-menu li a:hover{
	color: var(--main-color);
}
.site-header .menu-bar .nav-menu .sub-menu li a::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	width: 12px;
	height: 12px;
	text-align: center;
	border-radius: 50%;
	display: inline-block;
	background-color: #fff;
	box-shadow: inset 0px 2px 4px 0px rgba(173, 136, 88, 0.4);
}
.site-header .menu-bar .nav-menu .sub-menu li a::after {
	content: '';
	position: absolute;
	height: 4px;
	width: 4px;
	border-radius: 50%;
	background-color: var(--main-color);
	left: 4px;
	top: 50%;
	transform: translateY(-50%);
}

/*================
 Mobile Menu
==================*/

.mobile-menu{
	position: relative;
	box-shadow: 0 0 30px rgba(0, 0, 0, 0.08);
	display: none;
}
.mobile-menu .menu-bar{
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 20px 30px;
}
.mobile-menu .menu-toggle{
	cursor: pointer;
}
.mobile-menu .menu-toggle i{
	color: var(--main-color);
	font-size: 24px;
}
.mobile-menu .nav-menu {
	margin: 0;
	padding: 30px 20px;
	list-style: none;
	position: absolute;
	width: 100%;
	top: 100%;
	box-shadow: 0 0 30px rgba(0, 0, 0, 0.08);
	border-top: 1px solid rgba(0, 0, 0, 0.08);
	background: #fff;
	z-index: 99;
	display: none;
}
.mobile-menu .nav-menu li a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	color: var(--title-color);
	font-weight: 600;
	text-decoration: none;
	padding: 10px 10px;
}
.mobile-menu .nav-menu .sub-menu{
	margin: 0;
	padding: 0 0 0 20px;
	list-style: none;
	display: none;
}

@media(max-width: 1200px){

	.site-header{
		display: none;
	}
	.mobile-menu{
		display: block;
	}
}

/*================
 Hero Slider
==================*/

.hero-section.style1 {
	position: relative;
    height: 900px;
}
#index_bg{
    background-image: url(../images/index_bg.jpg);
    width: 100%; 
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
    padding: 0; 
    margin: 0;}

/* Per finestre molto alte, facciamo un piccolo shift verticale fluido */
@media (min-aspect-ratio: 16/9) {
    #index_bg {
        background-position: center 20%;
    }
}

/* Per finestre molto strette, possiamo spostare leggermente l immagine */
@media (max-aspect-ratio: 4/3) {
    #index_bg {
        background-position: center 10%;
    }}
.hero-section.style1 .hero-content {
    text-align: left;
    position:relative;
    left: -100px;
}
@media(max-width: 1200px){
    .hero-section.style1 .hero-content {
        left: -30px;
    }
}

.hero-section.style1 .hero-content h2 {
   color: #ffffff;
}
.hero-section.style1 .hero-content .subtitle::before, 
.hero-section.style1 .hero-content .subtitle::after {
    content: '';
    position: absolute;
    height: 2px;
    width: 45px;
    background-color: var(--main-color);
    top: 50%;
    left: -55px;
}
.hero-section.style1 .hero-content .subtitle::after {
    left: inherit;
    right: -55px;
}
.hero-section.style1 .hero-content .title {
    position: relative;
    font-size: 80px;
    font-weight: bold;
    margin-bottom: 18px;
    z-index: 1;
    color: #fff;
    opacity: 1;
}
.hero-section.style1 .hero-content .mobile_title {
    position: relative;
    font-size: 60px;
    font-weight: bold;
    margin-bottom: 18px;
    z-index: 1;
    color: #fff;
    display: none;
    opacity: 1;
}

.hero-section.style1 .hero-content .title span {
    color: var(--main-color);
    opacity: 1;
}
.hero-section.style1 .hero-content .mobile_title span {
    color: var(--main-color);
    opacity: 1;
}

@media(max-width: 1200px){
    .hero-section.style1 .hero-content .title {
        display: none;
    }
    .hero-section.style1 .hero-content .mobile_title {
        display:block;
    }
}
.hero-section.style1 .hero-content .description {
    color: rgba(255, 255, 255, 0.8);
    width: 50%;
    margin: 0 auto 51px;
}
.hero-section.style1 .hero-content .button {
    display: inline-block;
    margin: 0 10px;
}
.hero-section.style1 .hero-content .button a {
    position: relative;
    display: inline-block;
    font-size: 14px;
    font-weight: 600;
    padding: 12px 32px;
    border: 1px solid var(--main-color);
    z-index: 1;
    overflow: hidden;
    color: #fff;
}
.hero-section.style1 .hero-content .button a::before {
    content: '';
    position: absolute;
    height: 100%;
    background-color: var(--main-color);
    width: 50%;
    top: 0;
    left: 0;
    z-index: -1;
    -webkit-transition: 0.5s;
    -moz-transition: 0.5s;
    -o-transition: 0.5s;
    transition: 0.5s;
}
.hero-section.style1 .hero-content .button a::after {
    content: '';
    position: absolute;
    height: 100%;
    background-color: var(--main-color);
    width: 50%;
    top: 0;
    right: 0;
    z-index: -1;
    -webkit-transition: 0.5s;
    -moz-transition: 0.5s;
    -o-transition: 0.5s;
    transition: 0.5s;
}
.hero-section.style1 .hero-content .button a:hover::before {
    left: -50%;
}
.hero-section.style1 .hero-content .button a:hover::after {
    right: -50%;
}
.hero-section.style1 .hero-content .button-two {
    display: inline-block;
}
.hero-section.style1 .hero-content .button-two a {
    position: relative;
    display: inline-block;
    font-size: 14px;
    font-weight: 600;
    padding: 12px 32px;
    border: 1px solid var(--main-color);
    z-index: 1;
    overflow: hidden;
    color: #fff;
}
.hero-section.style1 .hero-content .button-two a::before {
    content: '';
    position: absolute;
    height: 100%;
    background-color: var(--main-color);
    width: 50%;
    top: 0;
    left: -50%;
    z-index: -1;
    -webkit-transition: 0.5s;
    -moz-transition: 0.5s;
    -o-transition: 0.5s;
    transition: 0.5s;
}
.hero-section.style1 .hero-content .button-two a::after {
    content: '';
    position: absolute;
    height: 100%;
    background-color: var(--main-color);
    width: 50%;
    top: 0;
    right: -50%;
    z-index: -1;
    -webkit-transition: 0.5s;
    -moz-transition: 0.5s;
    -o-transition: 0.5s;
    transition: 0.5s;
}
.hero-section.style1 .hero-content .button-two a:hover::before {
    left: 0;
}
.hero-section.style1 .hero-content .button-two a:hover::after {
    right: 0;
}
.hero-section.style1 .hero-shape{
    position: absolute;
    left: 0;
    bottom: -5px;
}
.hero-section.style1 .hero-shape img{
    width: 100%;
}

canvas {
  display: block;
  vertical-align: bottom;
}

/*particles.js*/

#particles-js {
	position: absolute;
	width: 100%;
	height: 100%;
}

/*================
 About Section
==================*/

.about {
    padding: 75px 0 100px;
}
.about .section-image img {
    width: 100%;
}

.col-lg-6.col-md-12.padding-left {
    padding-left: 50px;
}

@media(max-width: 1500px){

	#about-img {
        width: 100%;
    }
}
@media(max-width: 1200px){

	#about-img {
        width: 100%;
    }
}

.about {
    border-left: 3px;
    padding: 0 0 0 50px;
    margin-bottom: 48px;
}
.section-title.left {
    font-size: 40;
    width:500px;
}

@media(max-width: 1200px){
    .section-title.left {
        width:105%;
    } 
}

.section-title.left .description {
    color: var(--title-color);
    font-size: 20px;
}
.about .content .title {
    font-size: 18px;
    margin: 0 0 15px;
}
.about .content .name span {
    color: #696969;
    font-weight: 400;
    font-size: px;
}

/*================
 Feature Section
==================*/

.feature-section {
    padding: 100px 0 42px;
}
.feature-section .feature-box {
    position: relative;
    padding: 51px 15px 40px 32px;
    border-radius: 10px;
    z-index: 1;
    display: flex;
    align-items: center;
    margin-bottom: 30px;
}
.feature-section .feature-box:before {
    position: absolute;
    content: "";
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    z-index: -1;
    background: url(../images/feature.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
}
.feature-section .feature-box.two:last-child:before {
    background: url(../images/feature2.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
}
.feature-section .feature-box .img {
    display: inline-block;
    margin-right: 14px;
}
.feature-section .feature-box .content .title {
    font-size: 26px;
    color: #fff;
    font-weight: 600;
    margin: 0 0 8px;
}
.feature-section .feature-box .content p.description {
    font-size: 16px;
    transition: .5s;
    color: #fff;
    opacity: 0.8;
    margin: 0;
}

/*================
 Section Title
==================*/

.section-title .subtitle {
    position: relative;
    display: inline-block;
    color: var(--main-color);
    font-size: 14px;
    font-weight: 600;
    text-transform: uppercase;
    margin: 0 0 15px;
}
.section-title.left .subtitle::after {
	content: '';
	position: absolute;
	height: 2px;
	width: 45px;
	background-color: var(--main-color);
	top: 50%;
	right: -55px;
}
.section-title .title {
    font-size: 40px;
    margin-bottom: 20px;
}
.section-title .description {
    margin: 23px 0 29px;
    width: 93%;
}
.section-title .container{
        position: absolute; /* Necessario per allineare il contenuto assoluto */
        width: 300px; /* Larghezza del contenitore */
        height: 60px; /* Altezza del contenitore */
        background-color: var(--main-color); /* Colore dello sfondo */
        border: 1px solid var(--main-color); /* Bordo per visibilit  */
}
.section-title.left .container .centered-link{
    position: absolute; /* Posizionamento assoluto rispetto al contenitore */
  top: 50%; /* Allineamento verticale al 50% */
  left: 50%; /* Allineamento orizzontale al 50% */
  transform: translate(-50%, -50%); /* Centra completamente il link */
  
  display: block; /* Fa in modo che il link occupi tutta la larghezza */
  width: 100%; /* Occupa l'intera larghezza del contenitore */
  text-align: center; /* Centra il testo all'interno del link */
  padding: 10px 0; /* Aggiunge spazio verticale */
  
  color: white; /* Colore del testo */
  text-decoration: none; /* Rimuove la sottolineatura */
  font-size: 20px; /* Dimensione del testo */
  font-weight: bold; /* Per un aspetto pi  evidente */
}


/*center*/
.section-title.center .subtitle::before, .section-title.center .subtitle::after {
    content: '';
    position: absolute;
    height: 2px;
    width: 45px;
    background-color: var(--main-color);
    top: 50%;
    left: -55px;
}
.section-title.center .subtitle::after {
    left: inherit;
    right: -55px;
}
.section-title.center {
    text-align: center;
    margin-bottom: 49px;
}

/*================
 Service Section
==================*/

.service.style1 {
    padding: 30px 0 40px;
    background: url(../images/service-bg.jpg);
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
}
.service-box.style1 {
    background-color: #fff;
    padding: 38px 40px 40px;
    box-shadow: 0px 20px 40px 0px rgba(145, 139, 187, 0.05);
    background-image: url(../images/service-box-bg.png);
    background-repeat: no-repeat;
    background-position: 205px -20px;
    margin-bottom: 25px;
}
.service-box.style1:hover{
	 box-shadow: 0px 20px 40px 0px rgba(145, 139, 187, 0.09);
}
.service-box.style1 .icon {
    margin-right: 25px;
}
.service-box.style1 .icon img {
    margin-bottom: 15px;
}

.service-box.style1 .icon {
    position: relative;
    display: inline-block;
    color: var(--main-color);
    font-style: normal;
    font-size: 36px;
    -webkit-transition: 0.3s;
    -moz-transition: 0.3s;
    -o-transition: 0.3s;
}
.service-box.style1 .icon i::after {
    content: '';
    position: absolute;
    background-image: url(../images/service-icon-bg.png);
    background-repeat: no-repeat;
    background-size: cover;
    width: 73px;
    height: 55px;
    left: -15px;
}
.service-box.style1 .service-content .title {
    font-size: 20px;
    margin-bottom: 15px;
    -webkit-transition: 0.3s;
    -moz-transition: 0.3s;
    -o-transition: 0.3s;
}
.service-box.style1 .service-content .description {
    -webkit-transition: 0.3s;
    -moz-transition: 0.3s;
    -o-transition: 0.3s;
}

/*service_section*/

.service_section {
    position: relative;
    padding: 95px 0 0px;
    background: #F6F6F8;
}
.service_section .section-title.style2.left {
    margin-bottom: 42px;
}

.service_section .single_service {
    display: inline-block;
    position: absolute;
    bottom: 20%;
    background: #fff;
    padding: 45px 0px 45px 49px;
    width: 30%;
    right: 16%;
}

.service_section .service_content {
    display: inline-block;
    padding-left: 37px;
    border-left: 10px solid#F6F6F8;
}
.service_section .content {
    display: inline-block;
    overflow: hidden;
}
.service_section .single_service .icon {
    float: left;
    align-items: center;
}
.service_section .single_service .title {
    display: inline-block;
    padding-right: 22px;
    font-size: 20px;
}
.service_section .single_service .content .title {
    color: #696969;
    font-size: 16px;
    display: inline-block;
    margin: 0 0 4px;
}
.service_section .single_service .icon i {
    display: inline-block;
    color: #FF7426;
    font-size: 43px;
    margin-right: 19px;
}
.service_section .single_service .content .number {
    color: #FF7426;
    font-size: 20px;
}

/* service shape*/

.service_section .shape {
    display: inline-block;
    position: absolute;
    top: -127px;
    right: 0;
}


/*
===================
 Flip Box
===================
*/

.flip-section{
	padding: 100px 0 80px;
}
.flip-box.style1 {
	background-color: transparent;
	height: 350px;
	perspective: 1000px;
}
.flip-box.style1 .flip-box-inner {
	position: relative;
	width: 100%;
	height: 100%;
	text-align: center;
	transition: transform 0.8s;
	transform-style: preserve-3d;
}
.flip-box.style1:hover .flip-box-inner {
	transform: rotateY(180deg);
}
.flip-box.style1 .flip-box-front,
.flip-box.style1 .flip-box-back {
	position: absolute;
	width: 100%;
	height: 100%;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}
.flip-box.style1 .flip-box-front {
	background: url(../images/flip1-front.jpg);
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
	color: black;
	display: flex;
	align-items: end;
	justify-content: center;
	padding: 35px;
}
.flip-box.style1 .flip-box-front.one {
	background: url(../images/flip2-front.jpg);
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
}
.flip-box.style1 .flip-box-front.two {
	background: url(../images/flip3-front.jpg);
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
}
.flip-box.style1 .flip-box-front .title{
	color: #fff;
	text-transform: uppercase;
	margin-bottom: 0;
}
.flip-box.style1 .flip-box-back {
	background: url(../images/flip1-back.jpg);
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
	color: white;
	transform: rotateY(180deg);
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 35px;
}
.flip-box.style1 .flip-box-back .title{
	color: #fff;
	text-transform: uppercase;
	margin-bottom: 15px;
}
.flip-box.style1 .flip-box-back .description{
	margin-bottom: 28px;
}
.flip-box.style1 .flip-box-back .back-btn{
	display: inline-block;
	color: var(--main-color);
	font-weight: 600;
}
/*breand*/
.brand_section {
    padding: 94px 0 94px;
    margin-top: -100px;
    background: #fff;
    position: relative;
    z-index: 1;
}
.brand{
	padding: 97px 0 99px;
	border-top: 1px solid#0000000D;
}
.brand .single_brand img {
    width: auto;
    object-fit: cover;
    filter: grayscale(100%);
    -webkit-transition: 0.5s;
    -moz-transition: 0.5s;
    -o-transition: 0.5s;
    transition: 0.5s;
}
.brand .single_brand:hover img {
    filter: grayscale(0);
}


/*why choose section*/
.choose-section {
    position: relative;
    z-index: 2;
    padding: 20px 0 20px;
    background: url(../images/choose-bg.jpg);
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
}
.choose-section:before {
    position: absolute;
    content: "";
    top: 0;
    left: 0;
    height: 100%;
    width: 84.7%;
    background: #fff;
    z-index: -1;
}
.choose-section .section-title.left {
    padding-top: 37px;
}
.choose-section .choose-box {
    display: flex;
    margin-bottom: 20px;
    border-bottom: 1px solid#DEE1DF;
    padding-bottom: 15px;
    transition: .5s;
    margin-top: 47px;
}
.choose-section .choose-box:last-child {
    border: none;
    margin-top: 35px;
    margin-bottom: 0;
}
.choose-section .choose-box .icon {
	display: inline-block;
	margin-right: 21px;
}
.choose-section .choose-box .icon i {
    display: inline-block;
    height: 52px;
    width: 52px;
    line-height: 52px;
    background: var(--primary-color);
    text-align: center;
    transition: .5s;
    border-radius: 100%;
    color: #fff;
    font-size: 20px;
}
.choose-section .choose-content {
    overflow: hidden;
}
.choose-section .choose-box .choose-content .description {
    line-height: 27px;
    width: 75%;
}
.choose-section .choose-box .choose-content .title {
    display: inline-block;
    font-weight: 500;
    font-size: 20px;
    margin: 0 0 11px;
}
.choose-section .choose-box:hover .icon i{
	background: var(--secondary-color);
}
/*choose right side*/
.choose-section .choose-thumb {
    text-align: right;
    position: relative;
    z-index: 1;
}
.choose-section .choose-shape {
    position: absolute;
    top: 64px;
    left: 42px;
    z-index: -1;
}
/*sectoin*/
.section {
    position: relative;
    z-index: 2;
    padding: 70px 0 59px;
    background: url(../images/section.jpg);
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
}
.section .section-title .title {
    color: #fff;
}
.section p.description {
    color: #fff;
}
.section .btn-set {
    text-align: right;
}
.section .btn-set a {
    background: #fff;
    color: var(--title-color);
}
.section .btn-set a:hover{
	color: #fff;
	background: var(--secondary-color);
}

/*================
 counter
==================*/

.counter-section.style1{
    padding: 100px 0 194px;
}
.counter-section.style1 .section-title .title{
	margin-bottom: 0;
}
.counter-section .single-counter {
    padding-left: 0;
    margin-bottom: 30px;
    text-align: left;
}
.counter-section.style1 .single-counter {
	display: flex;
	align-items: center;
}
.counter-section.style1 .single-counter .icon {
	margin-right: 20px;
}
.counter-section.style1 .single-counter .icon i {
	display: inline-block;
	color: #696969;
	font-size: 50px;
	height: 100px;
	width: 100px;
	line-height: 100px;
	text-align: center;
	background: #f6f6f8;
}
.counter-section h4.counter {
    font-size: 50px;
    margin: 0;
    font-weight: 700;
    display: inline-block;
    color: var(--title-color);
    line-height: 50px;
}
.counter-section.style1 .counter-section p.description {
    position: relative;
    color: var(--main-color);
    font-size: 18px;
    margin: 4px 0 0;
    font-weight: 500;
}
.counter-section .counter-title span {
    display: inline-block;
    color: var(--title-color);
    font-size: 50px;
    font-weight: 700;
    line-height: 50px;
}

/* Counter style2 */

.counter-section.style2 {
    padding: 72px 0 64px;
}
.counter-section.style2 .single-counter {
	display: flex;
	align-items: center;
}
.counter-section.style2 .icon {
	margin-right: 20px;
}
.counter-section.style2 .icon i {
	color: var(--main-color);
	font-size: 50px;
}
.counter-section.style2 h4.counter {
    font-size: 36px;
    margin: 0;
    color: #fff;
    line-height: 35px;
}
.counter-section.style2 .counter-title span {
    color: #fff;
    font-size: 36px;
    line-height: 35px;
}
.counter-section.style2 .description {
	position: relative;
	color: rgba(255, 255, 255, 0.8);
	font-size: 16px;
	margin: 0;
	font-weight: normal;
}

/*================
 Team
==================*/

.our-team.style1 {
    position: relative;
    padding: 40px 0;
    overflow: hidden; /* Impedisce lo scorrimento fuori dal contenitore */
}

/* Gestione delle immagini dei membri */
.our-team.style1 .team-member.style1 {
    transition: .5s;
    padding: 0;
    text-align: center;
    border-radius: 5px;
    margin-bottom: 30px;
    margin-right: 15px; /* Aggiungi spazio tra le immagini */
}

/* Preveniamo il margine extra sull'ultimo membro */
.our-team.style1 .team-member.style1:last-child {
    margin-right: 0;
}

/* Assicurarsi che le immagini siano visibili correttamente */
.carousel {
    display: flex; /* Allinea gli item in orizzontale */
    transition: transform 0.5s ease; /* Transizione fluida per il movimento */
}

.carousel .team-member.style1 {
    flex-shrink: 0; /* Impedisce la compressione degli elementi */
    width: calc(25% - 15px); /* Mostra 4 membri per volta con margine */
}

/* Gestire il comportamento al passaggio del mouse o all'interazione */
.team-member.style1 .image {
    position: relative;
    z-index: 1;
    transition: .5s;
    overflow: hidden;
}

.team-member.style1 .image img {
    width: 100%;
}

.team-member.style1 .image::before {
    content: '';
    position: absolute;
    height: 100%;
    width: 100%;
    background-color: rgba(22, 28, 45, 0.4);
    left: 0;
    top: 0;
    opacity: 0;
    visibility: hidden;
    transition: 0.5s;
}

.team-member.style1:hover .image::before {
    opacity: 1;
    visibility: visible;
}

.team-member.style1 .icons {
    position: absolute;
    left: 0;
    right: 0;
    bottom: -60px;
    transition: 0.5s;
}

.team-member.style1:hover .icons {
    bottom: 20px;
}

.team-member.style1 .icons ul li {
    display: inline-block;
    margin-right: 5px;
}

.team-member.style1 .icons ul li a {
    color: #fff;
    display: inline-block;
    height: 45px;
    width: 45px;
    line-height: 45px;
    background: var(--main-color);
    border-radius: 50%;
    transition: 0.3s;
}

.team-member.style1 .icons ul li a:hover {
    color: var(--main-color);
    background-color: #fff;
}

.team-member.style1 .content {
    padding: 35px 10px 20px 10px;
    box-shadow: 0px 10px 60px 0px rgba(22, 28, 45, 0.06);
    background: #fff;
}

.team-member.style1 .content .name {
    font-size: 18px;
}

.team-member.style1 .content .designation {
    color: var(--main-color);
}



/* Aggiungi questa classe al carosello per gestire la posizione delle frecce in modo relativo */
.carousel-wrapper {
    position: relative; /* Posizione relativa per il carosello */
    overflow: hidden;
    width: 100%;
}

/* Pulsanti di navigazione (freccia) */
button.prev, button.next {
    background: none;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    color: var(--title-color);
    border: none;
    font-size: 30px;
    padding: 10px;
    cursor: pointer;
    z-index: 1000;
}

/* Posizionamento delle frecce pił vicine al carosello */
button.prev {
    left: 10px;  /* Distanza dal bordo sinistro del carosello */
}

button.next {
    right: 10px; /* Distanza dal bordo destro del carosello */
}

/* Aggiustamenti responsivi per schermi pił piccoli (telefono e tablet) */
@media (max-width: 768px) {
    button.prev, button.next {
        font-size: 25px;  /* Rende le frecce pił piccole su schermi pił piccoli */
        padding: 8px;     /* Riduce il padding delle frecce */
    }
}

@media (max-width: 480px) {
    button.prev, button.next {
        font-size: 20px;  /* Ancora pił piccole su telefoni */
        padding: 6px;     /* Ancora meno padding per schermi molto piccoli */
    }
}


.carousel .team-member.style1 {
    flex-shrink: 0;
    width: calc(25% - 15px); /* Mostra 4 membri per volta con margine */
}

/* Tablet: 2 membri per volta */
@media (max-width: 768px) {
    .carousel .team-member.style1 {
        width: calc(50% - 15px); /* Mostra 2 membri per volta */
    }
}

/* Telefono: 1 membro per volta */
@media (max-width: 480px) {
    .carousel .team-member.style1 {
        width: calc(100% - 15px); /* Mostra 1 membro per volta */
    }
}



/*team page*/
.our-team.style1.team_page {
    padding: 101px 0 72px;
}


/*subscribe section*/
.subscribe {
    padding: 54px 0 60px;
    background: url(../images/subscribe.jpg);
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
}
.subscribe h2.title {
    font-size: 30px;
    color: #fff;
    font-weight: 600;
}
.subscribe .subscribe-box {
    display: flex;
    align-items: center;
    float: right;
}
.subscribe .subscribe-box .number {
    font-size: 24px;
    font-weight: 600;
    color: #fff;
}

.subscribe .subscribe-image {
    margin-right: 21px;
}

/*================
 Blog Posts
==================*/

.blog-posts {
        background: url(../images/service-bg.jpg);
        background-position: center center;
        background-size: cover;
        background-repeat: no-repeat;
}
.blog-posts .single-post.style1 {
    position: relative;
    transition: .5s;
    background: #fff;
    border-radius: 0 0 5px 5px;
}
.blog-posts .single-post.style1 .thumb img {
    width: 100%;
}
.blog-posts .single-post.style1 .content {
    padding: 37px 40px 35px;
    box-shadow: 0px 5px 30px 0px rgba(34, 36, 41, 0.05);
    transition: 0.5s;
}
.blog-posts .single-post.style1 .content span.category {
    display: inline-block;
    font-size: 15px;
    color: var(--primary-color);
}
.blog-posts .single-post.style1 .content .title {
    font-size: 20px;
    margin: 1px 0 23px;
}
.blog-posts .single-post.style1 .post-catagory {
    display: inline-block;
}
.blog-posts .single-post.style1 .post-catagory ul{
	padding: 0;
}
.blog-posts .single-post.style1 .post-catagory ul li {
    display: inline-block;
}
.blog-posts .single-post.style1 .post-catagory ul li a {
    display: inline-block;
    color: var(--main-color);
    font-size: 12px;
    text-transform: uppercase;
}
.blog-posts .single-post.style1 .bar {
    height: 2px;
    width: 5px;
    background: var(--main-color);
    margin-right: 6px;
    display: inline-block;
    margin-left: 3px;
}
.blog-posts .single-post.style1 .content .title a{
	color: var(--title-color);
	font-weight: 600;
	transition: .5s;
}
.blog-posts .single-post.style1 .content .title a:hover{
	color: var(--main-color);
}
.blog-posts .single-post.style1 .blog-meta {
    border-top: 1px solid#E7E8E7;
    padding: 20px 31px 22px;
}
.blog-posts .single-post.style1 .author {
    font-size: 12px;
    display: inline-block;
    font-weight: 500;
    text-transform: uppercase;
}
.blog-posts .single-post.style1 .blog-btn a {
    color: var(--main-color);
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    text-transform: capitalize;
}

.blog-posts .container #news-btn{
    color: var(--title-color);
}



/*contact us*/

.contact-us.one {
    padding: 95px 0 75px;
}
.contact-us.one .form-area {
    background: #FFFFFF1A;
    padding: 32px 40px 40px;
    position: relative;
    margin-right: 99px;
}
.contact-us.one .form-area:before {
    position: absolute;
    content: "";
    top: 0;
    height: 4px;
    width: 241px;
    background: var(--main-color);
    left: 0;
}
.contact-us.one .contact-title .title {
    color: #fff;
    font-size: 30px;
    margin: 0 0 25px;
}
.contact-us.one .section-title .title {
    font-size: 50px;
    margin-bottom: 20px;
    color: #fff;
}
.contact-us.one .form-area input.form-control {
    color: #fff;
    border: 1px solid rgba(255, 116, 38, 0.25);
    outline: 0;
    width: 100%;
    padding: 12px 20px;
    border-radius: 0;
    background-color: rgba(0,0,0,0.15);
    margin-bottom: 20px;
}
#subject {
    color:var(--paragraph-color);
    border: 1px solid rgba(0, 0, 0, 0.08);
    outline: 0;
    width: 100%;
    padding: 12px 20px;
    border-radius: 0;
    margin-bottom: 20px;
}

.contact-us.one .form-area textarea.form-control {
    color: #fff;
    border: 1px solid rgba(255, 116, 38, 0.25);
    outline: 0;
    width: 100%;
    padding: 15px 20px;
    border-radius: 0;
    background-color: rgba(0,0,0,0.15);
    height: 136px;
}
.contact-us.one .form-area button.btn {
    display: block;
    color: #fff;
    font-weight: 600;
    text-transform: uppercase;
    height: 50px;
    width: 100%;
    border: 0;
    outline: 0;
    background-color: var(--main-color);
    margin-top: 28px;
}
.contact-us.one .form-area .form-control:focus {
    border-color: var(--main-color);
    outline: 0;
    box-shadow: none;
}


/*================
 FAQ
==================*/

.faq .section-title {
    margin-bottom: 71px;
}
.faq {
    margin-top: 42px;
}
.faq .accordion a .number {
    display: inline-block;
    color: #fff;
    font-size: 25px;
    background-color: var(--main-color);
    height: 80px;
    width: 80px;
    line-height: 80px;
    text-align: center;
    margin-right: 15px;
    border-top-right-radius: 50%;
    border-bottom-right-radius: 50%;
    border-bottom-left-radius: 50%;
    flex-shrink: 0;
}
.faq .accordion .faq-item .description {
    display: none;
    margin: 0;
    padding: 0 0 0 94px;
    color: #FFFFFFB3;
}
.faq .accordion {
	margin: 0;
	padding: 0;
	list-style: none;
}
.faq .accordion .faq-item {
    display: block;
    position: relative;
    padding-bottom: 24px;
    border-radius: 10px;
    overflow: hidden;
    margin-right: 0;
    margin-bottom: 19px;
}
.faq .accordion .faq-item::after {
    content: '';
    position: absolute;
    height: 2px;
    background-color: rgba(255,255,255,0.1);
    left: 94px;
    right: 0;
    bottom: -1px;
}
.faq .accordion .faq-item:last-child:after{
	display: none;
}
.faq .accordion .title {
    display: block;
    align-items: center;
    justify-content: space-between;
    color: #fff;
    font-size: 20px;
    font-weight: bold;
    padding: 0px 8px;
    background-color: transparent;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    position: relative;
    -webkit-transition: .3s;
    transition: .3s;
}
.faq .accordion .title.active {
    color: #fff;
    background-color: transparent;
}
.faq .accordion .title i{
	color: #fff;
	height: 30px;
	width: 30px;
	line-height: 30px;
	text-align: center;
	border-radius: 50%;
	background-color: var(--primary-color);
}
.faq .accordion .title i.fa-minus{
	display: none;
}
.faq .accordion .title.active i.fa-plus{
	display: none;
}
.faq .accordion .title.active i.fa-minus{
	display: block;
}

.faq .image .faq-thumb{
	padding: 0 40px 40px 0;
	border-radius: 5px;
}
.faq .image .text-box{
	position: absolute;
	display: flex;
	align-items: center;
	padding: 28px 55px;
	border-radius: 5px;
	background-color: var(--primary-color);
	right: 0;
	bottom: 0;
}
.faq .image .text-box .icon{
	margin-right: 20px;
}
.faq .image .text-box .title{
	color: #fff;
	margin-bottom: 5px;
}
.faq .image .text-box .description{
	color: #fff;
	margin-bottom: 0;
}

/*================
 Footer
==================*/

.site-footer {
    padding: 93px 0 16px;
    background: url(../images/footer-bg.jpg);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
}

.site-footer .resent-post {
    display: flex;
    align-items: center;
}
.site-footer .resent-post:last-child {
    margin-bottom: 0px;
}

.site-footer .footer-widget.info {
    padding-right: 0;
}
.site-footer .footer-widget {
    margin-top: 9px;
}
.site-footer .footer-widget .footer-logo{
	margin-bottom: 22px;
}
.site-footer .footer-widget .footer-logo img{
	width: 110%;
}
.site-footer .footer-widget.info .description {
    color: #FFFFFF99;
    margin: 35px 0 34px;
    width: 110%;
}
.site-footer .footer-widget .description {
    color: #fff;
    margin-bottom: 18px;
    font-weight: 400;
    opacity: 0.8;
}

.site-footer .footer-widget .contact-info ul li img{
    width: 80%;
}

#federprivacy{
    margin-left: 0;
    padding-top: 0;
    width: auto;
}

#IIprivacy{
    padding-top: 0;
}

.site-footer .footer-widget .social-icon {
    margin: 27px 0 0;
    padding: 0;
    list-style: none;
    display: flex;
}
.site-footer .footer-widget .social-icon li {
    margin-right: 5px;
}
.site-footer .footer-widget ul.social-icon li a {
	display: inline-block;
    background: #69696926;
    height: 40px;
    width: 40px;
    text-align: center;
    border-radius: 100%;
    line-height: 40px;
    -webkit-transition: 0.3s;
    -moz-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
}
.site-footer .footer-widget ul.social-icon li a:hover{
	background: var(--main-color);
	color: #fff;
}
.site-footer .footer-widget .social-icon li a i {
    color: #fff;
    font-size: 15px;
    display: inline-block;
    background: #69696926;
    height: 40px;
    width: 40px;
    text-align: center;
    border-radius: 100%;
    line-height: 40px;
}
.footer-widget.middle {
    margin-right: 11px;
}
.site-footer .footer-widget .footer-icon-box {
    display: flex;
}
.site-footer .footer-widget .icon {
    display: inline-block;
    margin-right: 14px;
}



/*subscribe*/
.site-footer .subscribe_form {
    position: relative;
    margin: 20px 0 19px;
}
.site-footer .subscribe_form input {
    height: 50px;
    background: transparent;
    border: 1px solid#272D29;
    position: relative;
    padding: 0 22px;
}
.site-footer button.btn {
    background: var(--primary-color);
    height: 50px;
    width: 100%;
    color: #fff;
    font-size: 15px;
    position: absolute;
    right: 0;
    bottom: -66px;
}
.site-footer input::placeholder {
    color: #fff!important;
    font-size: 15px;
}
.site-footer .subscribe-content p {
    font-size: 14px;
    margin: 0;
}
.site-footer .image img {
    border-radius: 5px;
    margin-right: 17px;
}
.site-footer .footer-widget .title {
    color: #fff;
    font-size: 20px;
    margin-bottom: 42px;
    font-weight: 700;
    text-transform: capitalize;
}
.site-footer .footer-widget .resent-post .title {
    color: #fff;
    font-size: 16px;
    margin-bottom: 6px;
    font-weight: 500;
    line-height: 25px;
}
.site-footer .footer-widget .resent-post .title a {
    color: #fff;
    font-size: 16px;
    margin-bottom: 6px;
    font-weight: 500;
    line-height: 25px;
    text-transform: capitalize;
}
.site-footer span.date {
    color: var(--primary-color);
    font-size: 14px;
}
#info{
    margin-top: 80px;
}

.site-footer .footer-widget .list{
	margin: 0;
	padding: 0;
	list-style: none;
}
.site-footer .footer-widget .list li {
    color: #fff;
    margin-bottom: 16px;
    font-size: 11px;
}
.site-footer .footer-widget .list li:last-child{
	margin-bottom: 0;
}
.site-footer .footer-widget .list li a {
    color: #FFFFFF99;
    font-size: 16px;
}
.site-footer .footer-widget .list li a:hover{
	color: #fff;
}
.site-footer .footer-menu ul li i {
    color: var(--main-color);
    font-size: 10px;
    margin-right: 0;
}
.contact-info ul {
    padding:0;
}
.contact-info ul li {
    display: block;
    margin-bottom: 16px;
    color: #FFFFFF99;
}
.contact-info ul li i {
    color: var(--main-color);
    font-size: 16px;
    margin-right: 6px;
}




.site-footer .copyright .copyright-text {
    color: #fff;
    margin: 0;
    text-align: center;
}
.site-footer .copyright .copyright-text a{
    color: #ffffff;
}

#adobe{
    font-size: 10px;
}
.site-footer .row.copyright {
    padding: 39px 0 20px;
    border-top: 1px solid#FFFFFF0D;
    margin-top: 20px;
}
.site-footer .copyright-list {
    float: right;
}
.site-footer .copyright-list ul {
    padding: 0;
}
.site-footer .copyright-list ul li {
    display: inline-block;
    margin-right: 21px;
    color: #fff;
}
.site-footer .copyright-list ul li:last-child{
	margin: 0;
}
.site-footer .copyright-list ul li a {
    color: #fff;
}
.site-footer p.copyright-text {
    color: #fff;
}
.site-footer span.solar {
    color: var(--primary-color);
    font-size: 15px;
    font-family: 'Poppins', sans-serif;
}


/*focus*/
.site-footer .form-control:focus {
    color: #fff!important;
    background-color: transparent;
    border-color: #fff!important;
    outline: 0;
    box-shadow: none;
}

/*================
 Breadcrumb
==================*/

.breadcrumb-area {
    padding: 133px 0 0;
}


#news_bg {
    background-image: url(../images/news_bg.jpg);
    width: 100%;
    min-height: 430px;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center 70%;
    padding: 0;
    margin: 0;
}

/* Per finestre molto alte, facciamo un piccolo shift verticale fluido */
@media (min-aspect-ratio: 16/9) {
    #news_bg {
        background-position: center 70%;
    }
}

/* Per finestre molto strette, possiamo spostare leggermente l immagine */
@media (max-aspect-ratio: 4/3) {
    #news_bg {
        background-position: center 72%;
    }
}
#policy_bg{
    background-image: url(../images/policy_bg.jpg); 
    width: 100%; 
    background-size: cover; 
    background-repeat: no-repeat; 
    background-position: 0 45px;
}

@media(max-width:1200px){
    #policy_bg{
        background-position: center;
    }
}


.breadcrumb-area .breadcrumb-inner {
    padding-top: 120px;
    padding-bottom: 135px;
}
.breadcrumb-area .breadcrumb-items {
    border-top: 1px solid #dde6ee;
    padding: 25px 0 27px;
}
.breadcrumb-area .breadcrumb-inner .page-title {
    font-size: 65px;
    font-weight: bold;
    color: #fff;
    text-align: center;
}

.breadcrumb-area .breadcrumb-inner .news-description ul li {
    align-items: center;
    display:inline-block;
}

.breadcrumb-area .breadcrumb-inner .news-description h3 {
    font-size: 30px;
    font-weight: bold;
    color: #ffffff;
    text-align: center;
}

.breadcrumb-area .breadcrumb-items ul {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
.breadcrumb-area .breadcrumb-items ul li {
    color: #fff;
    font-size: 14px;
    font-weight: normal;
    margin: 0 3px;
    text-transform: uppercase;
}
.breadcrumb-area .breadcrumb-items ul li a {
    color: #fff;
    font-size: 14px;
    font-weight: normal;
    text-transform: uppercase;
}
.breadcrumb-area .breadcrumb-items ul li:last-child {
    color: var(--main-color);
}

.breadcrumb-area .breadcrumb-inner .news-description {
    align-items: center;
}
/* Button used to open the contact form - fixed at the bottom of the page */
.breadcrumb-area .breadcrumb-inner .news-description .open-button {
    position: relative;
    display: inline-block;
    font-size: 20px;
    font-weight: 600;
    padding: 12px 32px;
    border: 3px solid var(--main-color);
    background-color: #fff;
    z-index: 1;
    overflow: hidden;
    color: var(--main-color);

    size: 150%;
  }

#form-container {
    display: none;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: white;
    border-radius: 8px;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    padding: 20px;
    width: 400px;
    z-index: 10;
}

#infoprivacy{
    font-size: 12px;
    color:var(--title-color);
}
.form-container h2 {
    margin-top: 0;
}

.form-field {
    margin-bottom: 15px;
}

.form-field label {
    display: block;
    margin-bottom: 5px;
    font-weight: bold;
}

.form-field input {
    width: 100%;
    padding: 8px;
    border: 1px solid #ccc;
    border-radius: 4px;
    box-sizing: border-box;
}

.form-field button {
    width: 100%;
    padding: 10px;
    background: #007bff;
    border: none;
    color: white;
    font-size: 16px;
    border-radius: 4px;
    cursor: pointer;
}

.form-field button:hover {
    background: #0056b3;
}

#close-button {
    position: absolute;
    top: 10px;
    right: 10px;
    background: none;
    border: none;
    font-size: 16px;
    cursor: pointer;
    color: #888;
}

#close-button:hover {
    color: #555;
}
.breadcrumb-area .breadcrumb-inner .news-description .form-popup{
  display: none;
  align-items: center;
  bottom: 0;
  border: 3px solid #f1f1f1;
  z-index: 9;
}
.breadcrumb-area .breadcrumb-inner .news-description .form-popup .form-container {
    padding: 10px;
    background-color: white;
    position: relative;
  }
  
 .btn {
    background-color: #04AA6D;
    color: white;
  }
  
  /* Add a red background color to the cancel button */
  .cancel {
    background-color: red;
  }
/*subscribe*/

.subscribe .row.subscribe {
    padding: 76px 46px 57px 62px;
    background-image: url(../image/subs.png);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    border-radius: 10px;
    position: relative;
    z-index: 2;
}
.subscribe h2.title-two {
    letter-spacing: -0.005em;
    opacity: 0.4;
    color: transparent;
    -webkit-text-stroke-width: 1px;
    -webkit-text-stroke-color: #E3E3E3;
}
.subscribe .subscribe-box .subscribe_form {
    position: relative;
}
.subscribe .subscribe-box .subscribe_form .form-control {
    display: block;
    width: 95%;
    padding: 0 29px;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    background-color: #fff;
    background-clip: padding-box;
    border: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border-radius: .375rem;
    transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out;
    height: 80px;
    float: right;
}
.subscribe .subscribe-box button.btn {
    display: inline-block;
    background: var(--secondary-color);
    padding: 17px 26px;
    font-size: 16px;
    border-radius: 5px;
    position: absolute;
    right: 10px;
    top: 9px;
    color: #fff;
}

/*================
 Sidebar
==================*/

.sidebar{
	margin-left: 30px;
}
.sidebar .widget{
	margin-bottom: 60px;
}
.sidebar .title {
    font-size: 20px;
    color: var(--title-color);
    margin: 0 0 9px;
}
.sidebar .widget:last-child{
	margin-bottom: 0;
}
.sidebar .widget .title{
	font-weight: bold;
	margin-bottom: 21px;
}
.sidebar .widget .content .input-wrapper{
	position: relative;
}
.sidebar .widget .content .input-wrapper input {
    padding: 20px 36px 20px 30px;
    border-radius: 5px;
    border: none;
    background: #F8F8F8;
    margin: 30px 0 0;
}
.sidebar .widget .content .input-wrapper button {
    position: absolute;
    right: 0;
    top: 0;
    height: 100%;
    border: 0;
    outline: 0;
    width: 57px;
    background: transparent;
    color: var(--primary-color);
}
.sidebar .widget .content .input-wrapper button::before{
	content: '';
	position: absolute;
	left: 0;
	height: 20px;
	width: 1px;
	background-color: #e3e3e3;
}

.sidebar .widget .content .categories {
    margin: 29px 0 0;
    padding: 0;
    list-style: none;
}
.sidebar .widget .content .categories li {
    padding: 14px 16px;
    justify-content: space-between;
    background: #EFF7F8;
    border-left: 3px solid #008BF9;
    border-radius: 5px;
    margin-bottom: 20px;
    position: relative;
    transition: .5s;
}
.sidebar .widget .content .categories li:hover{
	background: var(--primary-color);
	border-color: var(--title-color);
}
.sidebar .widget .content .categories li a{
	color: var(--title-color);
	transition: .5s;
}
.sidebar .widget .content .categories li:hover a{
	color:#fff;
}
.sidebar .widget .content .categories li a i{
	color: #fff;
	height: 15px;
	width: 15px;
	line-height: 15px;
	text-align: center;
	border-radius: 50%;
	margin-right: 12px;
	background-color: var(--primary-color);
}
.sidebar .widget .content .categories li span{
	display: inline-block;
	color: #fff;
	font-size: 12px;
	height: 30px;
	width: 30px;
	line-height: 30px;
	text-align: center;
	border-radius: 50%;
	background-color: var(--primary-color);
}
.sidebar .widget .content .post {
    display: flex;
    align-items: center;
    margin-bottom: 15px;
}
.sidebar .widget .content .post .thumb{
	margin-right: 18px;
}
.sidebar .widget .content .post .thumb img {
    height: 80px;
    width: 80px;
    object-fit: cover;
    border-radius: 5px;
}
.sidebar .widget .post-content {
    padding: 0 31px 0 0;
}
.sidebar .widget .content .post .post-content .post-title {
    display: inline-block;
    color: var(--title-color);
    font-weight: 700;
    margin-bottom: 8px;
    font-size: 18px;
    margin-top: 2px;
}
.sidebar .widget .content .post .post-content .meta span {
    position: relative;
    font-size: 15px;
    margin-right: 10px;
    padding-right: 10px;
    color: #757575;
}
.sidebar .widget .content .post .post-content .meta span::after{
	content: '';
	position: absolute;
	height: 100%;
	width: 1px;
	background-color: #dfdfdf;
	right: 0;
}
.sidebar .widget .content .post .post-content .meta span:last-child::after{
	display: none;
}
.sidebar .widget .content .post .post-content .meta span i{
	margin-right: 5px;
}
.sidebar .widget .office-address .title {
    font-weight: bold;
    margin-bottom: 29px;
}
.sidebar .widget .office-address h3.title {
    font-size: 18px;
    margin-bottom: 23px;
}
.sidebar .widget .office-address .description {
    color: #757575;
    margin-bottom: 10px;
}
.sidebar .sidebar-box {
    position: relative;
    z-index: 1;
    text-align: center;
    border-radius: 5px;
    padding: 40px 32px 40px;
}
.sidebar .sidebar-box:before{
	position: absolute;
	content: "";
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	z-index: -1;
	background: url(../image/add.jpg);
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center center;
	border-radius: 5px;
}
.sidebar .image {
    display: inline-block;
    height: 80px;
    width: 80px;
    line-height: 80px;
    background: #fff;
    border-radius: 5px;
}
.sidebar .image img{
    display: inline-block;
    height: 40px;
    width: 40px;
    line-height: 40px;
}
.sidebar .sidebar-box .description {
    color: #fff;
    margin: 21px 0 29px;
}
.sidebar .sidebar-box a {
    display: inline-block;
    background: var(--primary-color);
    color: #fff;
    padding: 16px 36px;
    transition: .5s;
    border-radius: 10px;
}

/*================
 Search Popup
==================*/

.search-popup{
	position: fixed;
	left: 0;
	top: 0;
	height: 100vh;
	width: 100%;
	z-index: 99999;
	margin-top: -540px;
	transform: translateY(-100%);
	background-color: rgba(0,0,0,0.90);
	-webkit-transition: all 500ms cubic-bezier(0.860, 0.000, 0.070, 1.000);
	-moz-transition: all 500ms cubic-bezier(0.860, 0.000, 0.070, 1.000);
	-o-transition: all 500ms cubic-bezier(0.860, 0.000, 0.070, 1.000);
	transition: all 1500ms cubic-bezier(0.860, 0.000, 0.070, 1.000);
	-webkit-transition-timing-function: cubic-bezier(0.860, 0.000, 0.070, 1.000);
	-moz-transition-timing-function: cubic-bezier(0.860, 0.000, 0.070, 1.000);
	-o-transition-timing-function: cubic-bezier(0.860, 0.000, 0.070, 1.000);
	transition-timing-function: cubic-bezier(0.860, 0.000, 0.070, 1.000);
}
.search-active .search-popup{
	transform: translateY(0%);
	margin-top: 0;
}
.search-active .search-popup .close-search {
	visibility: visible;
	opacity: 1;
	-webkit-transition-delay: 1500ms;
	-moz-transition-delay: 1500ms;
	-ms-transition-delay: 1500ms;
	-o-transition-delay: 1500ms;
	transition-delay: 1500ms;
}
.search-popup .close-search {
	position: absolute;
	right: 40px;
	top: 40px;
	margin: 0;
	text-align: center;
	cursor: pointer;
	opacity: 0;
	visibility: hidden;
	border: 0;
	padding: 0;
	border-radius: 5px;
	-webkit-transition: all 500ms ease;
	-moz-transition: all 500ms ease;
	-ms-transition: all 500ms ease;
	-o-transition: all 500ms ease;
	transition: all 500ms ease;
}
.search-popup .close-search i {
	display: inline-block;
	color: #ffffff;
	font-size: 24px;
	height: 40px;
	width: 40px;
	line-height: 40px;
	background-color: var(--main-color);
}
.search-popup form{
	position: absolute;
	max-width: 700px;
	top: 50%;
	left: 15px;
	right: 15px;
	margin:-35px auto 0;
	transform: scaleX(0);
	transform-origin: center;
	background-color: #111111;
	-webkit-transition: all 300ms ease;
	-moz-transition: all 300ms ease;
	-ms-transition: all 300ms ease;
	-o-transition: all 300ms ease;
	transition: all 300ms ease;
}
.search-active .search-popup form{
	transform: scaleX(1);
	-webkit-transition-delay: 1200ms;
	-moz-transition-delay: 1200ms;
	-ms-transition-delay: 1200ms;
	-o-transition-delay: 1200ms;
	transition-delay: 1200ms;
}
.search-popup .form-group{
	position:relative;
	margin:0px; 
	overflow: hidden;
}
.search-popup .form-group input[type="text"],
.search-popup .form-group input[type="search"] {
	position: relative;
	display: block;
	font-size: 18px;
	line-height: 50px;
	height: 70px;
	width: 100%;
	padding: 10px 170px 10px 30px;
	background-color: #ffffff;
	-webkit-transition: all 500ms ease;
	-moz-transition: all 500ms ease;
	-ms-transition: all 500ms ease;
	-o-transition: all 500ms ease;
	transition: all 500ms ease;
	border: 0;
	outline: 0;
	border-radius: 0;
}
.search-popup .form-group input[type="submit"],
.search-popup .form-group button {
	position: absolute;
	right: 0;
	top: 0px;
	height: 70px;
	width: 140px;
	line-height: 70px;
	background: var(--main-color);
	text-align: center;
	font-size: 24px;
	color: #fff;
	padding: 0;
	cursor: pointer;
	-webkit-transition: all 500ms ease;
	-moz-transition: all 500ms ease;
	-ms-transition: all 500ms ease;
	-o-transition: all 500ms ease;
	transition: all 500ms ease;
	border: none;
	border-radius: 0;
}
.search-popup .form-group input[type="submit"]:hover,
.search-popup .form-group button:hover{
	color: #000000;
}
.search-popup input::placeholder,
.search-popup textarea::placeholder{
	color: #000000;
}

/*================
 Scroll to Top
==================*/

.prgoress_scrollup {
    position: fixed;
    right: 55px;
    bottom: 80px;
    height: 48px;
    width: 48px;
    cursor: pointer;
    display: block;
    border-radius: 50px;
    box-shadow: inset 0 0 0 2px rgba(0, 119, 249, 0.2);
    z-index: 2;
    opacity: 0;
    visibility: hidden;
    transform: translateY(15px);
    transform: translateY(15px) !important;
    transition: all 200ms linear !important;
}
.prgoress_scrollup.active-progress {
	opacity: 1;
	visibility: visible;
	transform: translateY(0) !important;
}
.prgoress_scrollup::after {
    position: absolute;
    content: "\F286";
    font-family: bootstrap-icons;
    text-align: center;
    line-height: 46px;
    font-size: 16px;
    color: var(--main-color);
    left: 0;
    top: 0;
    height: 46px;
    width: 46px;
    cursor: pointer;
    display: block;
    font-weight: 900;
    z-index: 1;
    transition: all 200ms linear !important;
}
.prgoress_scrollup:hover::after {
	color: var(--main-color);
}
.prgoress_scrollup svg path {
	fill: none;
}
.prgoress_scrollup svg.progress-circle path {
    stroke: var(--main-color);
    stroke-width: 4;
    box-sizing: border-box;
    transition: all 200ms linear !important;
}



/*================
 Blog Grid
==================*/

.blog-grid {
    padding: 95px 0 100px;
}
.blog-grid .single-post{
	border: 1px solid #e6e6e6;
	margin-bottom: 30px;
	background-color: #fff;
	transition: all 0.3s ease-in-out 0s;
}
.blog-grid .single-post:hover{
	border-color: transparent;
	box-shadow: 6px 5px 30px rgb(0 0 0 / 12%);
}
.blog-grid .single-post .thumb img {
    width: 100%;
}
.blog-grid .single-post .content {
    padding: 30px 40px 35px;
    box-shadow: 0px 5px 30px 0px rgba(34, 36, 41, 0.05);
    transition: 0.5s;
}
.blog-grid .single-post .content .post-meta{
	display: flex;
	align-items: center;
	margin-bottom: 20px;
}
.blog-grid .single-post .category {
    display: inline-block;
    color: var(--main-color);
    font-size: 12px;
    font-weight: 500;
    text-transform: uppercase;
}
.blog-grid .single-post .bar {
    height: 2px;
    width: 5px;
    background: var(--main-color);
    margin: 0 10px;
}
.blog-grid .single-post .date {
    font-size: 12px;
    font-weight: 500;
    text-transform: uppercase;
    margin: 0;
}
.blog-grid .single-post .content .title {
    font-size: 20px;
    margin: 1px 0 23px;
}
.blog-grid .single-post .content .title a{
	color: var(--title-color);
	font-weight: 600;
	transition: .5s;
}
.blog-grid .single-post .content .title a:hover{
	color: var(--main-color);
}
.blog-grid .single-post .blog-btn a {
    color: var(--main-color);
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    text-transform: capitalize;
}
.blog-grid .single-post .blog-btn a i{
	font-size: 20px;
	margin: 4px 0 0 2px;
}

/*================
 Blog Details
==================*/

.blog_details {
    padding: 70px 0 120px;
}
.blog_details .title {
    font-size: 50px;
    padding-bottom: 10px;
}
.blog_details .content {
    padding: 36px 0 0;
}
.blog_details .content .title {
    font-size: 36px;
    margin: 0 0 23px;
}
.blog_details .content .subtitle {
    font-size: 36px;
    margin: 0 0 23px;
}
.blog_details .details_thumb img {
    width: 100%;
}
.blog_details .thumb img {
    width: 100%;
}
.blog_details .details_thumb {
    margin-bottom: 15px;
}
.blog_details blockquote {
    color: #0d1e35;
    font-size: 20px;
    font-weight: 500;
    text-align: center;
    background-image: url(../images/quote-bg.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    margin: 40px 0 45px;
    padding: 53px 105px 50px;
}
.blog_details blockquote cite {
    color: var(--main-color);
    font-size: 16px;
}
.blog_details h3.title {
    font-size: 24px;
    margin: 7px 0 14px;
}
.blog_details .blog_details_inf {
    border-top: 1px solid #f1f1f1;
    border-bottom: 1px solid #f1f1f1;
    margin: 40px 0 0;
    padding: 17px 0 11px;
}
.blog_details .blog_details_inf .post_tage .title {
    font-size: 18px;
    display: inline-block;
    margin-right: 15px;
}
.blog_details .blog_details_inf .post_tage {
    display: flex;
}
.blog_details .blog_details_inf .post_tage ul {
    display: inline-block;
    padding: 0;
    margin: 0;
}
.blog_details .blog_details_inf .social_share {
    display: inline-block;
    padding: 0;
    margin: 0;
}
.blog_details .blog_details_inf .post_tage ul li{
	display: inline-block;
}
.blog_details .blog_details_inf .post_tage ul li a {
    display: inline-block;
    color: #818790;
    font-size: 14px;
    padding: 7px 15px;
    text-align: center;
    margin-right: 10px;
    background-color: #eef1f4;
    -webkit-transition: 0.3s;
    -moz-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
}
.blog_details .blog_details_inf .post_tage ul li a:hover {
    color: #fff;
    background-color: var(--main-color);
}
.blog_details .blog_details_inf .social_share {
    float: right;
    text-align: right;
    display: inline-block;
    padding-left: 60px;
}
.blog_details .blog_details_inf .social_share .title {
    font-size: 18px;
    display: inline-block;
    margin-right: 12px;
}
.blog_details .blog_details_inf .social_share ul li a {
    display: inline-block;
    height: 35px;
    width: 35px;
    line-height: 35px;
    text-align: center;
    background-color: #eef1f4;
    padding: 0;
    background: #4267B2;
    color: #fff;
}
.blog_details .blog_details_inf .social_share ul li:nth-child(2) a{
	background:#1DA1F2;
}
.blog_details .blog_details_inf .social_share ul li:nth-child(3) a{
	background: #e60023;
}
.blog_details .blog_details_inf .social_share ul li:nth-child(4) a{
	background: #0077b5;
}
/*sidebar*/
.blog_details .sidebar-area .search-form form {
    position: relative;
    margin-bottom: 30px;
}
.blog_details .sidebar-area .search-form form input {
    height: 50px;
    width: 100%;
    border: 1px solid #eee;
    padding: 10px;
    font-size: 15px;
    -webkit-transition: 0.5s;
    -moz-transition: 0.5s;
    -o-transition: 0.5s;
    transition: 0.5s;
}
.blog_details .sidebar-area .search-form form button {
    position: absolute;
    right: 5px;
    top: 0;
    height: 100%;
    border: none;
    background: transparent;
    color: #6d6d6d;
    -webkit-transition: 0.5s;
    -moz-transition: 0.5s;
    -o-transition: 0.5s;
    transition: 0.5s;
}
.blog_details .sidebar-area .recent-post {
    margin-bottom: 40px;
    padding: 35px 30px 35px;
    background-color: #eef1f4;
}
.blog_details .sidebar-area .recent-post ul {
    margin: 0;
    padding: 0;
    list-style: none;
}
.blog_details .sidebar-area .recent-post ul li {
    position: relative;
    padding-left: 100px;
    margin-bottom: 15px;
    padding-bottom: 20px;
}
.blog_details .sidebar-area .recent-post ul li a {
    display: block;
    color: var(--title-color);
    transition: .4s;
}
.blog_details .sidebar-area .recent-post ul li a:hover{
	color: var(--main-color);
}

.blog_details .sidebar-area .recent-post ul li a img {
    position: absolute;
    left: 0;
    top: 3px;
    width: 85px;
    height: 65px;
}
.blog_details .sidebar-area .recent-post ul li h5 {
    font-size: 15px;
    line-height: 22px;
    margin-bottom: 2px;
}
.blog_details .sidebar-area .recent-post ul li p {
    margin: 0;
    font-size: 14px;
}
.blog_details .sidebar-area .recent-post ul li {
    position: relative;
    padding-left: 100px;
    margin-bottom: 15px;
}
.blog_details .sidebar-area .widget-title h3 {
    font-size: 24px;
    margin: 0 0 25px;
}

/*category*/
.blog_details .sidebar-area .categories {
    margin-bottom: 40px;
    padding: 35px 30px 35px;
    background-color: #eef1f4;
}
.blog_details .sidebar-area .categories ul {
    padding: 0;
    margin: 0;
}
.blog_details .sidebar-area .categories ul li a {
    font-size: 15px;
    padding: 0;
    margin-top: 6px;
    color: #6d6d6d;
    display: inline-block;
    margin-right: 5px;
    -webkit-transition: 0.5s;
    -moz-transition: 0.5s;
    -o-transition: 0.5s;
    transition: 0.5s;
}
.blog_details .sidebar-area .categories ul li a:hover{
	color: var(--main-color);
}
.blog_details .sidebar-area .categories ul li{
	display: block;
	margin-bottom: 5px;
}
.blog_details .sidebar-area .categories ul li:last-child{
	margin: 0;
}
/*tag*/
.blog_details .sidebar-area .tags {
    margin-bottom: 40px;
    padding: 35px 30px 35px;
    background-color: #eef1f4;
}
.blog_details .sidebar-area .tag-list a {
    display: block;
    margin-bottom: 12px;
    color: var(--title-color);
    transition: .4s;
}
.blog_details .sidebar-area .tag-list a:hover{
	color: var(--main-color);
}
.blog_details .sidebar-area .tag-list a:last-child{
	margin: 0;
	padding: 0;
}
/*archive*/
.blog_details .sidebar-area .archives{
	margin-bottom: 40px;
    padding: 35px 30px 35px;
    background-color: #eef1f4;
}
.blog_details .sidebar-area .archives ul {
    padding: 0;
    margin: 0;
}
.blog_details .sidebar-area .archives ul li {
    display: block;
    margin: 0 0 12px;
    color: var(--title-color);
}
.blog_details .sidebar-area .archives ul li a{
    display: block;;
    color: var(--title-color);
    transition: .4s;
}
.blog_details .sidebar-area .archives ul li a:hover{
	color: var(--main-color);
}
.blog_details .sidebar-area .archives ul li:last-child{
	margin: 0;
}


/*================
 Contact page
==================*/

.contact_page{
	padding: 100px 0 80px;
}
.contact_page .contact_location {
    border: 1px solid#0000001A;
    padding: 60px;
    margin-bottom: 26px;
    width: 118%;
}
@media(max-width: 1200px) {
    .contact_page .contact_location {
        width: 100%;
    }   
}
.contact_page .contact_location .title {
    font-size: 20px;
    margin-bottom: 24px;
}
.contact_page .contact_location .contact_box {
    display: flex;
    align-items: center;
    border-bottom: 1px solid#0000001A;
    padding-bottom: 29px;
    margin: 0 0 24px;
    
}
.contact_page .contact_location .contact_box.two{
	margin: 0;
	border: none;
	padding: 0;
}
.contact_page .contact_location .icon {
    margin-right: 16px;
}
.contact_page .contact_location .contact_box .icon i {
    display: inline-block;
    color: var(--main-color);
    font-size: 24px;
    height: 50px;
    width: 50px;
    line-height: 50px;
    text-align: center;
}
.contact_page .contact_location .content .description {
    margin: 0;
}

@media(max-width: 1200px) {
    .contact_page .contact_location .content .description {
        font-size: 10px;
    } 
}

.contact_page .contact-title .title {
    font-size: 24px;
    margin: 0 0 6px;
}
.contact_page .contact-title .description {
    margin: 0 0 40px;
}
/*contact form*/
.contact_page .form-area.style2 {
    padding: 0 0 0 70px;
}

.contact_page .form-area.style2{
    width: 99%;
}


.contact_page .form-area input.form-control {
    height: 55px;
    border: 1px solid rgba(0, 0, 0, 0.08);
    border-radius: 0;
    margin-bottom: 20px;
    padding: 10px 25px;
}
.contact_page .form-area textarea.form-control {
    border: 1px solid rgba(0, 0, 0, 0.08);
    border-radius: 0;
    margin-bottom: 30px;
    padding: 20px 25px;
    height: 156px;
}
.contact_page .form-area button.btn {
    color: #fff;
    font-size: 14px;
    font-weight: 500;
    border: 0;
    background-color: var(--main-color);
    padding: 14px 30px;
    border-radius: 0;
}
.contact_page .form-area button.btn:hover {
    background-color: #0d1e35;
}
.contact_page .form-area.style2 .form-control:focus {
    color: #212529;
    background-color: #fff;
    border-color:var(--main-color);
    outline: 0;
    box-shadow: none;
}

/*================
 404 page
==================*/

.four-zero-four {
    background-color: #F6F6F6;
    padding: 0 0 100px;
}
.four-zero-four .breadcrumb-inner {
    padding-bottom: 0;
    text-align: center;
}
.four-zero-four .info-text {
    padding-top: 58px;
}
.four-zero-four .info-text .page-title {
    color: var(--title-color);
    font-size: 48px;
    margin: 0 0 8px;
}
.four-zero-four .btn-set {
    display: inline-block;
    margin-top: 23px;
}

/*================
 Policy page
==================*/
.container {
    width: 80%;
    margin: 0 auto;
}
.section {
    border-bottom: 4px solid #fff; /* Linea di separazione */
    background-color: #a8c7dc; /* Colore blu chiaro */
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 15px 20px;
    cursor: pointer;
}
.section:last-child {
    border-bottom: none; /* Rimuove la linea sotto l'ultima sezione */
}
.section h3 {
    margin: 0;
    font-size: 20px;
    color: var(--title-color)
}
.toggle-arrow {
    font-size: 20px;
    color: var(--title-color);
    transition: transform 0.3s ease;
}
.toggle-arrow.expanded {
    transform: rotate(90deg);
}
.section-content {
    max-height: 0;
    overflow: hidden;
    background-color: #ffffff;
    transition: max-height 0.3s ease, padding 0.3s ease;
    padding: 0 20px;
}
.section-content.expanded {
    max-height: 8000px;
    padding: 15px 20px;
}

.section-content table th{
    vertical-align: top;
    font-weight: lighter;
}


.section-content table th img{
    height: 60px;
    width: 60px;
    margin: 10px;
    margin-top:17px;
}
@media (max-width: 1200px) {
    .policy-page .container {
        width: 90%; /* Aumenta la larghezza del contenitore per schermi medi */
    }

    .section {
        flex-direction: column; /* Modifica la disposizione in colonna */
        padding: 10px 15px; /* Riduci il padding per risparmiare spazio */
    }

    .section h3 {
        font-size: 18px; /* Riduci la dimensione del font */
        text-align: center; /* Centra il titolo per un aspetto pił bilanciato */
        margin-bottom: 10px; /* Spazio sotto il titolo */
    }

    .toggle-arrow {
        font-size: 18px; /* Riduci la dimensione dell'icona */
        margin-left: 0; /* Rimuove il margine a sinistra */
        align-self: center; /* Centra l'icona */
    }

    .section-content {
        padding: 0 15px; /* Riduci il padding laterale */
    }

    .section-content table th img {
        height: 50px; /* Riduci le dimensioni delle immagini */
        width: 50px;
        margin: 5px; /* Riduci il margine intorno alle immagini */
    }
}

/* ==========================================
   REGULATORY CARDS - HOME / INDEX
   Layout 3 + 2 centrato
   Da incollare in fondo al file assets/css/style.css
========================================== */

.service.style1.regulatory-services,
.service.style1.compliance-services {
    padding: 100px 0 90px;
    background: url(../images/service-bg.jpg);
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
}

.regulatory-services .section-title.center,
.compliance-services .section-title.center {
    margin-bottom: 60px;
}

.regulatory-services .section-title .title,
.compliance-services .section-title .title {
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
}

.regulatory-services .section-title .description,
.compliance-services .section-title .description {
    max-width: 850px;
    margin: 20px auto 0;
    color: var(--paragraph-color);
    line-height: 1.7;
}

.regulatory-grid {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 25px;
    align-items: stretch;
}

.regulatory-card {
    grid-column: span 2;
    background: #ffffff;
    border: 1px solid #dde6ee;
    padding: 25px;
    display: flex;
    align-items: flex-start;
    gap: 18px;
    min-height: 150px;
    height: 100%;
    transition: all .3s ease;
    text-decoration: none;
    color: inherit;
    box-shadow: 0px 10px 30px 0px rgba(145, 139, 187, 0.04);
}

/* Centra la seconda riga nel modello 3 + 2 */
.regulatory-card:nth-child(4) {
    grid-column: 2 / span 2;
}

.regulatory-card:nth-child(5) {
    grid-column: 4 / span 2;
}

.regulatory-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 10px 30px rgba(20, 50, 90, .08);
    border-color: rgba(82, 137, 180, .35);
}

.reg-icon {
    width: 52px;
    height: 52px;
    background: #eef3f7;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.reg-icon img {
    width: 28px;
    height: 28px;
    object-fit: contain;
}

.reg-icon i {
    font-size: 26px;
    color: var(--main-color);
}

.reg-content {
    flex: 1;
}

.reg-content h3 {
    color: var(--title-color);
    font-size: 22px;
    margin: 0 0 10px;
    line-height: 1.25;
    font-weight: 700;
}

.reg-content p {
    margin: 0;
    color: var(--paragraph-color);
    font-size: 15px;
    line-height: 1.6;
}

/* Tablet */
@media (max-width: 992px) {
    .regulatory-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .regulatory-card,
    .regulatory-card:nth-child(4),
    .regulatory-card:nth-child(5) {
        grid-column: auto;
    }
}

/* Mobile */
@media (max-width: 768px) {
    .service.style1.regulatory-services,
    .service.style1.compliance-services {
        padding: 80px 0 70px;
    }

    .regulatory-grid {
        grid-template-columns: 1fr;
    }

    .regulatory-card {
        min-height: auto;
        padding: 24px;
    }

    .reg-content h3 {
        font-size: 20px;
    }
}


/* ==========================================
   LINK "SCOPRI TUTTI I NOSTRI SERVIZI"
   Home / index
========================================== */

.services-more-link {
    margin-top: 42px;
    text-align: center;
}

.services-more-link a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 52px;
    padding: 14px 34px;
    color: #ffffff;
    background: var(--main-color);
    border: 1px solid var(--main-color);
    border-radius: 5px;
    font-size: 16px;
    font-weight: 700;
    line-height: 1;
    text-decoration: none;
    box-shadow: 0 10px 25px rgba(82, 137, 180, 0.18);
    transition: all 0.3s ease;
}

.services-more-link a:hover {
    color: var(--main-color);
    background: #ffffff;
    transform: translateY(-3px);
    box-shadow: 0 14px 30px rgba(20, 50, 90, 0.12);
}

.services-more-link a i {
    font-size: 14px;
    transition: transform 0.3s ease;
}

.services-more-link a:hover i {
    transform: translateX(4px);
}


/* ==========================================
   PAGINA SERVIZI / COMPLIANCE
   Stile coerente con il sito Applicando
========================================== */

.compliance-page {
    background: #ffffff;
    color: var(--paragraph-color);
    font-family: 'Space Grotesk', sans-serif;
    overflow: hidden;
}

.compliance-container,
.compliance-container-narrow {
    width: 80%;
    margin: 0 auto;
}

.compliance-container-narrow {
    max-width: 980px;
}

.compliance-hero {
    position: relative;
    padding: 205px 0 125px;
    text-align: center;
    background:
        radial-gradient(circle, rgba(82, 137, 180, 0.13) 1px, transparent 1px),
        linear-gradient(180deg, #ffffff 0%, #f6f6f8 100%);
    background-size: 24px 24px, auto;
}

.compliance-eyebrow {
    position: relative;
    display: inline-block;
    margin-bottom: 18px;
    color: var(--main-color);
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.compliance-eyebrow::before,
.compliance-eyebrow::after {
    content: '';
    position: absolute;
    top: 50%;
    width: 45px;
    height: 2px;
    background: var(--main-color);
}

.compliance-eyebrow::before {
    right: calc(100% + 14px);
}

.compliance-eyebrow::after {
    left: calc(100% + 14px);
}

.compliance-title {
    max-width: 980px;
    margin: 0 auto 22px;
    color: var(--title-color);
    font-size: 56px;
    font-weight: 700;
    line-height: 1.15;
}

.compliance-subtitle {
    max-width: 780px;
    margin: 0 auto;
    color: var(--paragraph-color);
    font-size: 20px;
    line-height: 1.7;
}

.compliance-method {
    padding: 95px 0 80px;
    background: #ffffff;
    border-top: 1px solid rgba(20, 50, 90, 0.08);
}

.compliance-section-title {
    margin-bottom: 52px;
    color: var(--title-color);
    font-size: 40px;
    text-align: center;
}

.compliance-steps {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 18px;
    flex-wrap: wrap;
}

.compliance-step {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
}

.compliance-step-icon {
    width: 68px;
    height: 68px;
    border-radius: 50%;
    background: rgba(82, 137, 180, 0.12);
    display: flex;
    align-items: center;
    justify-content: center;
}

.compliance-step-icon svg {
    width: 28px;
    height: 28px;
    color: var(--title-color);
    stroke-width: 2;
}

.compliance-step span {
    color: var(--title-color);
    font-size: 16px;
    font-weight: 700;
}

.compliance-step.is-result .compliance-step-icon {
    background: rgba(82, 137, 180, 0.18);
}

.compliance-step.is-result span,
.compliance-step.is-result .compliance-step-icon svg {
    color: var(--main-color);
}

.compliance-step-connector {
    width: 54px;
    height: 2px;
    background: #d8e1ea;
    margin-top: -28px;
}

.compliance-method-note {
    margin: 34px 0 0;
    color: var(--paragraph-color);
    text-align: center;
    font-size: 16px;
}

.compliance-page .compliance-services {
    padding: 100px 0;
    background: url(../images/service-bg.jpg);
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
}

.compliance-tabs {
    display: flex;
    align-items: center;
    gap: 34px;
    border-bottom: 1px solid #dde6ee;
    margin-bottom: 42px;
}

.compliance-tab {
    position: relative;
    padding: 0 0 15px;
    color: var(--paragraph-color);
    background: transparent;
    border: none;
    font-family: inherit;
    font-size: 16px;
    font-weight: 700;
    cursor: pointer;
    transition: color 0.3s ease;
}

.compliance-tab::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: -1px;
    width: 100%;
    height: 2px;
    background: transparent;
    transition: background 0.3s ease;
}

.compliance-tab:hover,
.compliance-tab.is-active {
    color: var(--title-color);
}

.compliance-tab.is-active::after {
    background: var(--main-color);
}

.compliance-panel {
    display: none;
}

.compliance-panel.is-active {
    display: block;
}

.compliance-accordion {
    display: grid;
    gap: 18px;
}

.compliance-accordion-card {
    background: #ffffff;
    border: 1px solid #dde6ee;
    border-radius: 12px;
    padding: 25px;
    cursor: pointer;
    transition: all 0.3s ease;
}

.compliance-accordion-card:hover,
.compliance-accordion-card.is-open {
    border-color: rgba(82, 137, 180, 0.35);
    box-shadow: 0 10px 30px rgba(20, 50, 90, 0.08);
    transform: translateY(-2px);
}

.compliance-accordion-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
}

.compliance-accordion-title-wrap {
    display: flex;
    align-items: center;
    gap: 18px;
}

.compliance-card-icon {
    width: 52px;
    height: 52px;
    border-radius: 10px;
    background: rgba(82, 137, 180, 0.10);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.compliance-card-icon svg {
    width: 24px;
    height: 24px;
    color: var(--main-color);
    stroke-width: 2;
}

.compliance-accordion-title-wrap h3 {
    margin: 0;
    color: var(--title-color);
    font-size: 22px;
    line-height: 1.25;
}

.compliance-accordion-toggle {
    flex-shrink: 0;
    color: #9aa5b1;
    transition: transform 0.3s ease;
}

.compliance-accordion-card.is-open .compliance-accordion-toggle {
    transform: rotate(45deg);
    color: var(--main-color);
}

.compliance-accordion-content {
    max-height: 0;
    overflow: hidden;
    padding-left: 70px;
    transition: max-height 0.3s ease, padding-top 0.3s ease;
}

.compliance-accordion-card.is-open .compliance-accordion-content {
    max-height: 180px;
    padding-top: 14px;
}

.compliance-accordion-content p {
    margin: 0;
    color: var(--paragraph-color);
    font-size: 16px;
    line-height: 1.7;
}

.compliance-framework-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
}

.compliance-framework-card {
    height: 100%;
    background: #ffffff;
    border: 1px solid #dde6ee;
    border-radius: 12px;
    padding: 28px;
    transition: all 0.3s ease;
    box-shadow: 0px 10px 30px 0px rgba(145, 139, 187, 0.04);
}

.compliance-framework-card:hover {
    transform: translateY(-4px);
    border-color: rgba(82, 137, 180, 0.35);
    box-shadow: 0 10px 30px rgba(20, 50, 90, 0.08);
}

.compliance-framework-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 20px;
}

.compliance-framework-icon {
    width: 52px;
    height: 52px;
    border-radius: 10px;
    background: rgba(82, 137, 180, 0.10);
    display: flex;
    align-items: center;
    justify-content: center;
}

.compliance-framework-icon svg {
    width: 24px;
    height: 24px;
    color: var(--main-color);
    stroke-width: 2;
}

.compliance-framework-arrow {
    width: 20px;
    height: 20px;
    color: #b6c0ca;
    transition: all 0.3s ease;
}

.compliance-framework-card:hover .compliance-framework-arrow {
    color: var(--main-color);
    transform: translateX(4px);
}

.compliance-framework-card h4 {
    margin: 0 0 12px;
    color: var(--title-color);
    font-size: 20px;
    line-height: 1.3;
}

.compliance-framework-card p {
    margin: 0;
    color: var(--paragraph-color);
    font-size: 15px;
    line-height: 1.65;
}

.compliance-cta {
    padding: 90px 0;
    text-align: center;
    background: var(--title-color);
}

.compliance-cta h2 {
    margin-bottom: 18px;
    color: #ffffff;
    font-size: 40px;
}

.compliance-cta p {
    max-width: 760px;
    margin: 0 auto 32px;
    color: rgba(255, 255, 255, 0.78);
    font-size: 17px;
    line-height: 1.7;
}

.compliance-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 52px;
    padding: 14px 34px;
    color: var(--title-color);
    background: #ffffff;
    border: 1px solid #ffffff;
    border-radius: 5px;
    font-weight: 700;
    text-decoration: none;
}

.compliance-button:hover {
    color: #ffffff;
    background: transparent;
}

@media (max-width: 1200px) {
    .compliance-container,
    .compliance-container-narrow {
        width: 90%;
    }

    .compliance-title {
        font-size: 46px;
    }

    .compliance-framework-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 992px) {
    .compliance-hero {
        padding: 150px 0 95px;
    }

    .compliance-title {
        font-size: 40px;
    }

    .compliance-step-connector {
        display: none;
    }
}

@media (max-width: 768px) {
    .compliance-title {
        font-size: 34px;
    }

    .compliance-subtitle {
        font-size: 17px;
    }

    .compliance-section-title,
    .compliance-cta h2 {
        font-size: 32px;
    }

    .compliance-tabs {
        gap: 22px;
        overflow-x: auto;
    }

    .compliance-framework-grid {
        grid-template-columns: 1fr;
    }

    .compliance-accordion-card {
        padding: 22px;
    }

    .compliance-accordion-title-wrap {
        align-items: flex-start;
    }

    .compliance-accordion-title-wrap h3 {
        font-size: 20px;
    }

    .compliance-accordion-content {
        padding-left: 0;
    }
}

@media (max-width: 576px) {
    .services-more-link a {
        width: 100%;
    }

    .compliance-eyebrow::before,
    .compliance-eyebrow::after {
        display: none;
    }

    .compliance-hero {
        padding: 130px 0 80px;
    }

    .compliance-title {
        font-size: 30px;
    }

    .compliance-steps {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }
}



/* FILTRI NEWS */
.news-filters{
display:flex;
justify-content:center;
flex-wrap:wrap;
gap:12px;
margin-bottom:50px;
}

.filter-btn{
border:1px solid #dde6ee;
background:#fff;
color:var(--title-color);
padding:12px 24px;
font-size:14px;
font-weight:600;
cursor:pointer;
transition:all .3s ease;
border-radius:5px;
}

.filter-btn:hover{
border-color:var(--main-color);
color:var(--main-color);
transform:translateY(-2px);
}

.filter-btn.active{
background:var(--main-color);
border-color:var(--main-color);
color:#fff;
box-shadow:0 8px 20px rgba(82,137,180,.2);
}


/* ==========================================
   CORREZIONE HERO NEWS
   Centratura immagine e contenuto pagina News
========================================== */

#news_bg {
    min-height: 430px;
    background-position: center 70%;
}

#news_bg .breadcrumb-inner {
    padding-top: 120px;
    padding-bottom: 135px;
}

@media (max-width: 1200px) {
    #news_bg {
        min-height: 400px;
        background-position: center 72%;
    }

    #news_bg .breadcrumb-inner {
        padding-top: 95px;
        padding-bottom: 115px;
    }
}

@media (max-width: 768px) {
    #news_bg {
        min-height: 360px;
        background-position: center 75%;
    }

    #news_bg .breadcrumb-inner {
        padding-top: 80px;
        padding-bottom: 95px;
    }

    .breadcrumb-area .breadcrumb-inner .page-title {
        font-size: 42px;
    }
}

@media (max-width: 576px) {
    #news_bg {
        min-height: 330px;
        background-position: center 78%;
    }

    .breadcrumb-area .breadcrumb-inner .page-title {
        font-size: 34px;
    }
}

/* =========================================================
   RESPONSIVE HARMONY PATCH - Applicando 2025
   Miglioramento generale armonia, spaziature e adattamento schermi
   Da mantenere in fondo al CSS
========================================================= */

/* Base pił fluida */
*,
*::before,
*::after {
    box-sizing: border-box;
}

html {
    width: 100%;
    overflow-x: hidden;
}

body {
    width: 100%;
    overflow-x: hidden;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

img,
video,
canvas,
svg {
    max-width: 100%;
    height: auto;
}

a,
button {
    -webkit-tap-highlight-color: transparent;
}

/* Container pił elastici */
.container,
.compliance-container,
.compliance-container-narrow {
    width: min(1180px, calc(100% - 40px));
    max-width: 1180px;
    margin-left: auto;
    margin-right: auto;
}

@media (max-width: 576px) {
    .container,
    .compliance-container,
    .compliance-container-narrow {
        width: calc(100% - 28px);
    }
}

/* Tipografia fluida */
h1,
.breadcrumb-area .breadcrumb-inner .page-title {
    font-size: clamp(36px, 5vw, 65px);
    line-height: 1.12;
}

h2,
.compliance-title {
    font-size: clamp(32px, 4.5vw, 56px);
    line-height: 1.15;
}

h3 {
    font-size: clamp(20px, 2.2vw, 24px);
}

.section-title .title,
.compliance-section-title,
.compliance-cta h2 {
    font-size: clamp(30px, 3.6vw, 40px);
}

p,
.description,
.compliance-subtitle {
    line-height: 1.7;
}

/* Header desktop pił stabile */
.site-header .menu-container {
    min-height: 70px;
    padding: 0 24px;
}

.site-logo {
    padding-left: 0;
    flex: 0 0 auto;
}

.site-logo img {
    max-height: 58px;
    width: auto;
}

.site-header .menu-bar .nav-menu {
    padding-right: 0;
    gap: 18px;
}

.site-header .menu-bar .nav-menu li a {
    padding-inline: 12px;
    white-space: nowrap;
}

.language-icon {
    padding-top: 0;
    padding-right: 0;
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0;
}

.language-icon img {
    width: 26px;
    height: 26px;
    object-fit: contain;
}

/* Header mobile */
.mobile-menu {
    background: #ffffff;
    z-index: 999;
}

.mobile-menu .menu-bar {
    min-height: 72px;
    padding: 14px 20px;
}

.mobile-menu .site-logo img {
    max-height: 56px;
}

.mobile-menu .nav-menu {
    z-index: 999;
}

/* Hero home pił responsiva */
.hero-section.style1 {
    min-height: 100vh;
    height: auto;
    padding: 160px 0 120px;
}

.hero-section.style1 .hero-content {
    left: 0;
    max-width: 850px;
    margin-left: 0;
}

.hero-section.style1 .hero-content .title {
    font-size: clamp(46px, 7vw, 80px);
}

.hero-section.style1 .hero-content .mobile_title {
    font-size: clamp(40px, 8vw, 60px);
}

.hero-section.style1 .hero-content .description {
    width: min(680px, 100%);
    margin-left: 0;
    margin-right: 0;
}

/* Breadcrumb / Hero pagine interne */
.breadcrumb-area {
    padding: 0;
}

.breadcrumb-area .breadcrumb-inner {
    min-height: 430px;
    padding-top: clamp(105px, 13vw, 150px);
    padding-bottom: clamp(80px, 10vw, 135px);
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.breadcrumb-area .breadcrumb-inner .page-title {
    max-width: 1050px;
    margin: 0 auto;
    text-align: center;
}

.breadcrumb-area .breadcrumb-inner .news-description h3 {
    font-size: clamp(20px, 2.5vw, 30px);
}

/* Centratura specifica background news */
#news_bg {
    min-height: 430px;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center 70%;
}

/* Form newsletter pił sicuro su mobile */
#form-container {
    width: min(420px, calc(100% - 32px));
    max-height: 90vh;
    overflow-y: auto;
    z-index: 9999;
}

/* Blog grid pił armoniosa */
.blog-grid {
    padding: clamp(60px, 8vw, 95px) 0 clamp(70px, 9vw, 100px);
}

.blog-grid .row {
    row-gap: 30px;
}

.blog-grid .single-post {
    height: 100%;
    display: flex;
    flex-direction: column;
    border-radius: 8px;
    overflow: hidden;
}

.blog-grid .single-post .thumb {
    aspect-ratio: 16 / 10;
    overflow: hidden;
    background: #f6f6f8;
}

.blog-grid .single-post .thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .35s ease;
}

.blog-grid .single-post:hover .thumb img {
    transform: scale(1.04);
}

.blog-grid .single-post .content {
    flex: 1;
    display: flex;
    flex-direction: column;
    padding: clamp(24px, 3vw, 35px);
}

.blog-grid .single-post .content .title {
    font-size: clamp(18px, 2vw, 20px);
}

.blog-grid .single-post .blog-btn {
    margin-top: auto;
}

/* Filtri news responsive */
.news-filters {
    width: min(1180px, calc(100% - 40px));
    margin-left: auto;
    margin-right: auto;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 50px;
}

.filter-btn {
    min-height: 44px;
}

/* Sezioni e card servizi */
.service.style1,
.service.style1.regulatory-services,
.service.style1.compliance-services,
.compliance-page .compliance-services {
    padding: clamp(70px, 8vw, 100px) 0 clamp(60px, 8vw, 90px);
}

.regulatory-grid {
    gap: clamp(18px, 2vw, 25px);
}

.regulatory-card,
.service-box.style1,
.compliance-framework-card,
.compliance-accordion-card {
    border-radius: 12px;
}

.regulatory-card {
    min-height: 170px;
}

/* About e sezioni testuali */
.about {
    padding-left: 0;
}

.section-title.left,
.section-title .description,
.choose-section .choose-box .choose-content .description {
    width: auto;
    max-width: 100%;
}

/* Team carousel pił fluido */
.carousel-wrapper {
    overflow: hidden;
}

.carousel .team-member.style1 {
    margin-right: 15px;
}

/* Footer pił ordinato */
.site-footer {
    padding-top: clamp(70px, 8vw, 93px);
}

.site-footer .footer-widget .footer-logo img {
    width: min(260px, 100%);
}

.site-footer .footer-widget.info .description {
    width: auto;
}

#federprivacy,
#IIprivacy {
    padding-top: 0;
    margin-left: 0;
    max-width: 190px;
}

.site-footer .footer-widget .contact-info ul li img {
    width: min(190px, 100%);
}

/* Pagina compliance */
.compliance-hero {
    padding: clamp(135px, 16vw, 205px) 0 clamp(80px, 10vw, 125px);
}

.compliance-tabs {
    flex-wrap: wrap;
}

.compliance-accordion-card.is-open .compliance-accordion-content {
    max-height: 500px;
}

/* Tablet */
@media (max-width: 1200px) {
    .site-header {
        display: none;
    }

    .mobile-menu {
        display: block;
    }

    .hero-section.style1 {
        padding: 130px 0 95px;
    }

    #index_bg,
    #news_bg {
        background-position: center center;
    }

    .choose-section:before {
        width: 100%;
    }

    .choose-section .choose-thumb {
        text-align: center;
        margin-top: 30px;
    }

    .contact_page .contact_location {
        width: 100%;
    }

    .contact_page .form-area.style2 {
        padding-left: 0;
        margin-top: 35px;
    }

    .site-footer .footer-widget {
        margin-bottom: 34px;
    }

    #info {
        margin-top: 0;
    }
}

/* Tablet piccolo */
@media (max-width: 992px) {
    .row {
        row-gap: 28px;
    }

    .hero-section.style1 {
        min-height: auto;
    }

    .hero-section.style1 .hero-content {
        text-align: left;
    }

    .regulatory-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .regulatory-card,
    .regulatory-card:nth-child(4),
    .regulatory-card:nth-child(5) {
        grid-column: auto;
    }

    .compliance-framework-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .compliance-step-connector {
        display: none;
    }

    .service_section .single_service {
        position: static;
        width: 100%;
        margin-top: 25px;
    }
}

/* Mobile */
@media (max-width: 768px) {
    body {
        font-size: 15px;
    }

    .mobile-menu .menu-bar {
        padding: 12px 16px;
    }

    .mobile-menu .site-logo img {
        max-height: 50px;
    }

    .hero-section.style1 {
        padding: 110px 0 80px;
    }

    .hero-section.style1 .hero-content .button,
    .hero-section.style1 .hero-content .button-two {
        display: block;
        margin: 0 0 14px;
    }

    .hero-section.style1 .hero-content .button a,
    .hero-section.style1 .hero-content .button-two a {
        width: 100%;
        text-align: center;
    }

    .breadcrumb-area .breadcrumb-inner {
        min-height: 360px;
        padding-top: 90px;
        padding-bottom: 80px;
    }

    #news_bg {
        min-height: 360px;
        background-position: center 75%;
    }

    .breadcrumb-area .breadcrumb-inner .news-description .open-button {
        font-size: 17px;
        padding: 10px 26px;
    }

    .news-filters {
        width: calc(100% - 28px);
        justify-content: flex-start;
        overflow-x: auto;
        flex-wrap: nowrap;
        padding-bottom: 8px;
        margin-bottom: 35px;
        scrollbar-width: thin;
    }

    .filter-btn {
        flex: 0 0 auto;
        padding: 10px 18px;
    }

    .blog-grid .single-post .post-meta {
        flex-wrap: wrap;
        gap: 6px;
    }

    .blog-grid .single-post .bar {
        display: none;
    }

    .regulatory-grid,
    .compliance-framework-grid {
        grid-template-columns: 1fr;
    }

    .regulatory-card {
        min-height: auto;
        padding: 22px;
    }

    .compliance-tabs {
        flex-wrap: nowrap;
        overflow-x: auto;
        padding-bottom: 4px;
    }

    .compliance-tab {
        flex: 0 0 auto;
    }

    .compliance-accordion-head,
    .compliance-accordion-title-wrap {
        align-items: flex-start;
    }

    .compliance-accordion-content {
        padding-left: 0;
    }

    .site-footer {
        text-align: left;
    }

    .site-footer .footer-widget .social-icon {
        justify-content: flex-start;
    }

    .site-footer .row.copyright {
        margin-top: 0;
    }
}

/* Mobile piccolo */
@media (max-width: 576px) {
    .mobile-menu .site-logo img {
        max-width: 210px;
        height: auto;
    }

    .breadcrumb-area .breadcrumb-inner {
        min-height: 330px;
        padding-top: 78px;
        padding-bottom: 70px;
    }

    #news_bg {
        min-height: 330px;
        background-position: center 78%;
    }

    .blog-grid .single-post .content {
        padding: 22px;
    }

    .regulatory-card {
        flex-direction: column;
    }

    .services-more-link a,
    .compliance-button {
        width: 100%;
    }

    .compliance-steps {
        grid-template-columns: 1fr;
    }

    .contact_page {
        padding: 70px 0 60px;
    }

    .contact_page .contact_location {
        padding: 28px 22px;
    }

    .contact_page .contact_location .contact_box {
        align-items: flex-start;
    }

    .site-footer .copyright .copyright-text {
        font-size: 13px;
        line-height: 1.7;
    }

    .prgoress_scrollup {
        right: 18px;
        bottom: 24px;
    }
}

/* Mobile molto stretto */
@media (max-width: 380px) {
    .mobile-menu .site-logo img {
        max-width: 185px;
    }

    .filter-btn {
        padding: 9px 15px;
        font-size: 13px;
    }

    .breadcrumb-area .breadcrumb-inner .page-title {
        font-size: 30px;
    }
}

/* =========================================================
   ALL PAGES RESPONSIVE PATCH - News / Servizi / Privacy Policy
   Applicando 2025
   Uniforma layout, spaziature, hero, card, accordion e contenuti testuali
========================================================= */

/* Struttura generale pagine interne */
.page-wrapper,
.news-page,
.policy-page,
.compliance-page,
.blog-grid,
.blog_details,
.contact_page {
    width: 100%;
    overflow-x: hidden;
}

/* Hero uniforme per News, Servizi, Privacy Policy */
#news_bg,
#policy_bg {
    width: 100%;
    min-height: 430px;
    background-size: cover;
    background-repeat: no-repeat;
    margin: 0;
    padding: 0;
}

#news_bg {
    background-position: center 70%;
}

#policy_bg {
    background-position: center center;
}

.breadcrumb-area .breadcrumb-inner {
    min-height: 430px;
    padding-top: clamp(105px, 13vw, 150px);
    padding-bottom: clamp(80px, 10vw, 135px);
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.breadcrumb-area .breadcrumb-inner .page-title {
    max-width: 1050px;
    margin: 0 auto;
    padding: 0 12px;
    text-align: center;
    word-break: normal;
}

/* Pagina News */
.blog-grid .container {
    width: min(1180px, calc(100% - 40px));
    max-width: 1180px;
}

.blog-grid .row {
    display: flex;
    flex-wrap: wrap;
}

.blog-grid .single-post {
    min-height: 100%;
}

.blog-grid .single-post .thumb {
    aspect-ratio: 16 / 10;
}

.blog-grid .single-post .thumb img {
    object-fit: cover;
}

/* Filtri News */
.news-filters {
    width: min(1180px, calc(100% - 40px));
    margin-left: auto;
    margin-right: auto;
}

/* Pagina Servizi / Compliance */
.compliance-page,
.compliance-page main {
    width: 100%;
}

.compliance-container,
.compliance-container-narrow {
    width: min(1180px, calc(100% - 40px));
    max-width: 1180px;
    margin-left: auto;
    margin-right: auto;
}

.compliance-hero {
    min-height: 430px;
}

.compliance-title,
.compliance-subtitle,
.compliance-section-title {
    word-break: normal;
}

.compliance-tabs {
    max-width: 100%;
}

.compliance-panel,
.compliance-accordion,
.compliance-framework-grid {
    width: 100%;
}

.compliance-accordion-card,
.compliance-framework-card {
    height: auto;
}

/* Pagina Privacy Policy */
.policy-page {
    padding: clamp(60px, 8vw, 100px) 0;
    background: #ffffff;
}

.policy-page .container,
.policy-page.container,
body .policy-page .container {
    width: min(1180px, calc(100% - 40px));
    max-width: 1180px;
    margin-left: auto;
    margin-right: auto;
}

.policy-page h1,
.policy-page h2,
.policy-page h3,
.policy-page h4 {
    color: var(--title-color);
    line-height: 1.25;
}

.policy-page p,
.policy-page li,
.policy-page td,
.policy-page th {
    color: var(--paragraph-color);
    line-height: 1.7;
    font-size: 16px;
}

.policy-page table,
.section-content table {
    width: 100%;
    max-width: 100%;
    border-collapse: collapse;
}

.policy-page table,
.section-content {
    overflow-x: auto;
}

.section {
    width: 100%;
    min-height: 62px;
    border-radius: 0;
}

.section h3 {
    line-height: 1.35;
}

.section-content {
    width: 100%;
}

.section-content.expanded {
    max-height: none;
}

/* Tabelle e contenuti lunghi sempre leggibili */
table {
    max-width: 100%;
}

td,
th {
    word-break: normal;
    overflow-wrap: anywhere;
}

/* Footer uniforme */
.site-footer .container {
    width: min(1180px, calc(100% - 40px));
    max-width: 1180px;
}

.site-footer .row {
    row-gap: 30px;
}

/* Schermi medi */
@media (max-width: 1200px) {
    #news_bg,
    #policy_bg {
        min-height: 400px;
        background-position: center center;
    }

    .breadcrumb-area .breadcrumb-inner {
        min-height: 400px;
        padding-top: 95px;
        padding-bottom: 110px;
    }

    .policy-page .container,
    .policy-page.container,
    body .policy-page .container,
    .blog-grid .container,
    .compliance-container,
    .compliance-container-narrow,
    .site-footer .container {
        width: calc(100% - 40px);
    }
}

/* Tablet */
@media (max-width: 992px) {
    .compliance-framework-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .compliance-tabs {
        gap: 22px;
    }

    .policy-page {
        padding: 70px 0;
    }

    .section {
        align-items: flex-start;
        text-align: left;
    }
}

/* Mobile */
@media (max-width: 768px) {
    #news_bg,
    #policy_bg {
        min-height: 360px;
    }

    #news_bg {
        background-position: center 75%;
    }

    .breadcrumb-area .breadcrumb-inner {
        min-height: 360px;
        padding-top: 82px;
        padding-bottom: 78px;
    }

    .breadcrumb-area .breadcrumb-inner .page-title {
        font-size: clamp(34px, 9vw, 42px);
    }

    .blog-grid .container,
    .news-filters,
    .compliance-container,
    .compliance-container-narrow,
    .policy-page .container,
    .policy-page.container,
    body .policy-page .container,
    .site-footer .container {
        width: calc(100% - 28px);
    }

    .blog-grid {
        padding-top: 60px;
    }

    .blog-grid .single-post .content {
        padding: 22px;
    }

    .compliance-framework-grid {
        grid-template-columns: 1fr;
    }

    .compliance-tabs {
        flex-wrap: nowrap;
        overflow-x: auto;
        scrollbar-width: thin;
    }

    .section {
        padding: 14px 16px;
        flex-direction: row;
        justify-content: space-between;
        gap: 12px;
    }

    .section h3 {
        font-size: 18px;
        text-align: left;
        margin-bottom: 0;
    }

    .section-content.expanded {
        padding: 16px;
    }

    .section-content table,
    .policy-page table {
        display: block;
        overflow-x: auto;
        white-space: normal;
    }

    .policy-page p,
    .policy-page li,
    .policy-page td,
    .policy-page th {
        font-size: 15px;
    }
}

/* Mobile stretto */
@media (max-width: 576px) {
    #news_bg,
    #policy_bg {
        min-height: 330px;
    }

    #news_bg {
        background-position: center 78%;
    }

    .breadcrumb-area .breadcrumb-inner {
        min-height: 330px;
        padding-top: 74px;
        padding-bottom: 66px;
    }

    .breadcrumb-area .breadcrumb-inner .page-title {
        font-size: 32px;
    }

    .compliance-title {
        font-size: 30px;
    }

    .compliance-subtitle {
        font-size: 16px;
    }

    .compliance-accordion-card,
    .compliance-framework-card,
    .regulatory-card {
        padding: 22px;
    }

    .section {
        min-height: auto;
    }

    .toggle-arrow {
        flex-shrink: 0;
    }
}

/* Mobile molto piccolo */
@media (max-width: 380px) {
    .breadcrumb-area .breadcrumb-inner .page-title {
        font-size: 29px;
    }

    .policy-page p,
    .policy-page li,
    .policy-page td,
    .policy-page th {
        font-size: 14px;
    }
}

/* =========================================================
   APPLICANDO DESIGN POLISH 2025
   Restyling armonioso e responsive mantenendo le variabili colore:
   --main-color, --title-color, --paragraph-color
========================================================= */

/* Reset morbido e resa generale */
*,
*::before,
*::after {
    box-sizing: border-box;
}

html,
body {
    max-width: 100%;
    overflow-x: hidden;
}

body {
    background: #ffffff;
    color: var(--paragraph-color);
    font-family: 'Space Grotesk', sans-serif;
    line-height: 1.65;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

img {
    max-width: 100%;
    height: auto;
}

a {
    color: inherit;
}

a:hover {
    color: var(--main-color);
}

/* Container pił elegante e coerente su tutte le pagine */
.container,
.compliance-container,
.compliance-container-narrow {
    width: min(1180px, calc(100% - 48px));
    max-width: 1180px;
    margin-left: auto;
    margin-right: auto;
}

@media (max-width: 576px) {
    .container,
    .compliance-container,
    .compliance-container-narrow {
        width: calc(100% - 30px);
    }
}

/* Tipografia pił equilibrata */
h1,
.breadcrumb-area .breadcrumb-inner .page-title {
    font-size: clamp(34px, 5vw, 64px);
    line-height: 1.08;
    letter-spacing: -0.03em;
}

h2,
.compliance-title {
    font-size: clamp(32px, 4.5vw, 56px);
    line-height: 1.12;
    letter-spacing: -0.025em;
}

h3 {
    line-height: 1.25;
}

p,
.description,
.compliance-subtitle {
    line-height: 1.75;
}

/* Header desktop pił pulito */
.site-header .menu-container {
    min-height: 76px;
    padding: 0 28px;
    box-shadow: 0 8px 24px rgba(20, 50, 90, 0.05);
}

.site-logo {
    padding-left: 0;
}

.site-logo img {
    width: auto;
    max-height: 58px;
}

.site-header .menu-bar .nav-menu {
    padding-right: 0;
    gap: 20px;
}

.site-header .menu-bar .nav-menu li a {
    padding-inline: 8px;
    position: relative;
}

.site-header .menu-bar .nav-menu li a::after {
    content: "";
    position: absolute;
    left: 8px;
    right: 8px;
    bottom: -8px;
    height: 2px;
    background: var(--main-color);
    transform: scaleX(0);
    transform-origin: center;
    transition: transform .25s ease;
}

.site-header .menu-bar .nav-menu li a:hover::after {
    transform: scaleX(1);
}

.language-icon {
    padding: 0;
    margin: 0;
    display: flex;
    align-items: center;
    gap: 9px;
}

.language-icon img {
    width: 26px;
    height: 26px;
    object-fit: contain;
}

/* Menu mobile */
.mobile-menu {
    background: #ffffff;
    z-index: 999;
    box-shadow: 0 8px 24px rgba(20, 50, 90, 0.06);
}

.mobile-menu .menu-bar {
    min-height: 74px;
    padding: 14px 20px;
}

.mobile-menu .site-logo img {
    max-height: 54px;
    width: auto;
}

.mobile-menu .nav-menu li a {
    border-bottom: 1px solid rgba(20, 50, 90, 0.06);
}

/* Hero e breadcrumb */
.breadcrumb-area {
    padding: 0;
}

.breadcrumb-area .breadcrumb-inner {
    min-height: clamp(340px, 38vw, 460px);
    padding: clamp(110px, 13vw, 155px) 0 clamp(78px, 9vw, 130px);
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.breadcrumb-area .breadcrumb-inner .page-title {
    max-width: 1060px;
    margin: 0 auto;
    padding: 0 12px;
    color: #ffffff;
    text-align: center;
    text-wrap: balance;
}

.breadcrumb-area .breadcrumb-inner .news-description h3 {
    font-size: clamp(20px, 2.3vw, 30px);
}

#news_bg {
    min-height: clamp(340px, 38vw, 460px);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center 72%;
}

#policy_bg {
    min-height: clamp(340px, 38vw, 460px);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
}

/* Bottone iscrizione */
.breadcrumb-area .breadcrumb-inner .news-description .open-button {
    border-radius: 999px;
    padding: 13px 34px;
    box-shadow: 0 12px 30px rgba(82, 137, 180, 0.24);
    transition: all .25s ease;
}

.breadcrumb-area .breadcrumb-inner .news-description .open-button:hover {
    background: var(--main-color);
    color: #ffffff;
    transform: translateY(-2px);
}

/* Form popup newsletter */
#form-container {
    width: min(430px, calc(100% - 34px));
    max-height: 90vh;
    overflow-y: auto;
    border: 1px solid rgba(20, 50, 90, 0.08);
    box-shadow: 0 24px 60px rgba(20, 50, 90, 0.18);
    z-index: 9999;
}

#form-container .form-control {
    min-height: 48px;
    border-radius: 8px;
    border: 1px solid #dde6ee;
}

#form-container .btn {
    min-height: 48px;
    border-radius: 8px;
    background: var(--main-color);
}

/* News: filtri */
.news-filters {
    width: min(1180px, calc(100% - 48px));
    margin: 0 auto 52px;
    padding: 18px;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 12px;
    background: #ffffff;
    border: 1px solid #dde6ee;
    border-radius: 18px;
    box-shadow: 0 18px 45px rgba(20, 50, 90, 0.06);
}

.filter-btn {
    min-height: 46px;
    padding: 11px 22px;
    border: 1px solid #dde6ee;
    border-radius: 999px;
    background: #ffffff;
    color: var(--title-color);
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
    transition: all .25s ease;
}

.filter-btn:hover {
    color: var(--main-color);
    border-color: var(--main-color);
    transform: translateY(-2px);
    box-shadow: 0 10px 24px rgba(20, 50, 90, 0.07);
}

.filter-btn.active {
    background: var(--main-color);
    border-color: var(--main-color);
    color: #ffffff;
    box-shadow: 0 12px 28px rgba(82, 137, 180, 0.24);
}

/* News: griglia pił bella e ariosa */
.blog-grid {
    padding: clamp(68px, 8vw, 105px) 0 clamp(80px, 9vw, 120px);
    background:
        linear-gradient(180deg, #ffffff 0%, #f7f9fb 48%, #ffffff 100%);
}

.blog-grid #news-container {
    padding-bottom: 42px;
}

.blog-grid .row {
    margin-left: -18px;
    margin-right: -18px;
    row-gap: 36px;
}

.blog-grid .col-md-6,
.blog-grid .col-lg-4 {
    padding-left: 18px;
    padding-right: 18px;
    margin-bottom: 36px;
}

.blog-grid .single-post {
    height: 100%;
    margin-bottom: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid rgba(221, 230, 238, 0.95);
    border-radius: 18px;
    background: #ffffff;
    box-shadow: 0 14px 38px rgba(20, 50, 90, 0.06);
    transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease;
}

.blog-grid .single-post:hover {
    transform: translateY(-6px);
    border-color: rgba(82, 137, 180, 0.32);
    box-shadow: 0 24px 58px rgba(20, 50, 90, 0.12);
}

.blog-grid .single-post .thumb {
    aspect-ratio: 16 / 10.2;
    overflow: hidden;
    background: #eef3f7;
}

.blog-grid .single-post .thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .4s ease, filter .4s ease;
}

.blog-grid .single-post:hover .thumb img {
    transform: scale(1.045);
    filter: saturate(1.05);
}

.blog-grid .single-post .content {
    flex: 1;
    padding: clamp(24px, 2.4vw, 34px);
    display: flex;
    flex-direction: column;
    box-shadow: none;
}

.blog-grid .single-post .content .post-meta {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 18px;
}

.blog-grid .single-post .category {
    padding: 5px 10px;
    border-radius: 999px;
    background: rgba(82, 137, 180, 0.10);
    color: var(--main-color);
    font-size: 11px;
    line-height: 1;
    letter-spacing: .04em;
}

.blog-grid .single-post .bar {
    display: none;
}

.blog-grid .single-post .date {
    color: #8a95a3;
    font-size: 12px;
}

.blog-grid .single-post .content .title {
    font-size: clamp(19px, 1.65vw, 22px);
    line-height: 1.32;
    margin: 0 0 24px;
    text-wrap: balance;
}

.blog-grid .single-post .blog-btn {
    margin-top: auto;
    padding-top: 8px;
}

.blog-grid .single-post .blog-btn a {
    color: var(--main-color);
    font-weight: 700;
}

.blog-grid .single-post .blog-btn a:hover i {
    transform: translateX(4px);
}

.blog-grid .single-post .blog-btn a i {
    transition: transform .25s ease;
}

/* Card servizi / compliance */
.service.style1,
.service.style1.regulatory-services,
.service.style1.compliance-services,
.compliance-page .compliance-services {
    padding: clamp(76px, 8vw, 110px) 0;
    background-position: center center;
    background-size: cover;
}

.regulatory-grid {
    gap: clamp(20px, 2vw, 28px);
}

.regulatory-card,
.service-box.style1,
.compliance-framework-card,
.compliance-accordion-card {
    border-radius: 18px;
    border-color: rgba(221, 230, 238, 0.95);
    box-shadow: 0 14px 38px rgba(20, 50, 90, 0.055);
}

.regulatory-card {
    min-height: 178px;
    padding: clamp(22px, 2.4vw, 30px);
}

.regulatory-card:hover,
.compliance-framework-card:hover,
.compliance-accordion-card:hover,
.compliance-accordion-card.is-open {
    transform: translateY(-5px);
    box-shadow: 0 24px 58px rgba(20, 50, 90, 0.11);
}

.reg-icon,
.compliance-card-icon,
.compliance-framework-icon {
    border-radius: 14px;
    background: rgba(82, 137, 180, 0.11);
}

/* Compliance / servizi */
.compliance-hero {
    padding: clamp(145px, 16vw, 215px) 0 clamp(85px, 10vw, 135px);
}

.compliance-subtitle {
    font-size: clamp(17px, 1.7vw, 20px);
}

.compliance-tabs {
    flex-wrap: wrap;
    gap: 28px;
}

.compliance-tab {
    font-weight: 800;
}

.compliance-accordion-card {
    padding: clamp(22px, 2.4vw, 30px);
}

.compliance-accordion-card.is-open .compliance-accordion-content {
    max-height: 520px;
}

/* Privacy policy */
.policy-page {
    padding: clamp(64px, 8vw, 105px) 0;
    background: linear-gradient(180deg, #ffffff 0%, #f7f9fb 100%);
}

.policy-page .container,
.policy-page.container,
body .policy-page .container {
    width: min(1180px, calc(100% - 48px));
    max-width: 1180px;
    margin-left: auto;
    margin-right: auto;
}

.section {
    min-height: 66px;
    padding: 18px 22px;
    border: 1px solid rgba(221, 230, 238, 0.95);
    border-bottom: 0;
    background: #eef3f7;
    transition: background .25s ease;
}

.section:first-of-type {
    border-radius: 16px 16px 0 0;
}

.section:hover {
    background: #e5eef5;
}

.section h3 {
    font-size: clamp(18px, 1.8vw, 21px);
    line-height: 1.35;
}

.section-content {
    border-left: 1px solid rgba(221, 230, 238, 0.95);
    border-right: 1px solid rgba(221, 230, 238, 0.95);
    background: #ffffff;
}

.section-content.expanded {
    max-height: none;
    padding: 22px;
}

.section-content:last-child {
    border-bottom: 1px solid rgba(221, 230, 238, 0.95);
    border-radius: 0 0 16px 16px;
}

.section-content table {
    width: 100%;
}

/* Contatti */
.contact_page {
    padding: clamp(70px, 8vw, 105px) 0;
}

.contact_page .contact_location {
    width: 100%;
    border-radius: 18px;
    border-color: rgba(221, 230, 238, 0.95);
    box-shadow: 0 14px 38px rgba(20, 50, 90, 0.055);
}

.contact_page .form-area input.form-control,
.contact_page .form-area textarea.form-control {
    border-radius: 10px;
    border-color: #dde6ee;
}

.contact_page .form-area button.btn {
    border-radius: 999px;
}

/* Footer pił ordinato */
.site-footer {
    padding: clamp(72px, 8vw, 98px) 0 18px;
}

.site-footer .container {
    width: min(1180px, calc(100% - 48px));
    max-width: 1180px;
}

.site-footer .row {
    row-gap: 34px;
}

.site-footer .footer-widget .footer-logo img {
    width: min(250px, 100%);
}

.site-footer .footer-widget.info .description {
    width: auto;
}

.site-footer .footer-widget .description,
.contact-info ul li {
    line-height: 1.7;
}

#federprivacy,
#IIprivacy {
    padding-top: 0;
    margin-left: 0;
    width: min(190px, 100%);
}

.site-footer .footer-widget .contact-info ul li img {
    width: min(190px, 100%);
}

#info {
    margin-top: 0;
}

/* Scroll top */
.prgoress_scrollup {
    right: 28px;
    bottom: 34px;
    z-index: 30;
}

/* Responsive */
@media (max-width: 1200px) {
    .site-header {
        display: none;
    }

    .mobile-menu {
        display: block;
    }

    .breadcrumb-area .breadcrumb-inner,
    #news_bg,
    #policy_bg {
        min-height: 390px;
    }

    #news_bg {
        background-position: center center;
    }

    .contact_page .form-area.style2 {
        padding-left: 0;
        margin-top: 34px;
    }

    .site-footer .footer-widget {
        margin-bottom: 24px;
    }
}

@media (max-width: 992px) {
    .regulatory-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .regulatory-card,
    .regulatory-card:nth-child(4),
    .regulatory-card:nth-child(5) {
        grid-column: auto;
    }

    .compliance-framework-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .blog-grid .row {
        margin-left: -14px;
        margin-right: -14px;
    }

    .blog-grid .col-md-6,
    .blog-grid .col-lg-4 {
        padding-left: 14px;
        padding-right: 14px;
        margin-bottom: 32px;
    }
}

@media (max-width: 768px) {
    body {
        font-size: 15px;
    }

    .container,
    .compliance-container,
    .compliance-container-narrow,
    .site-footer .container,
    .policy-page .container,
    .policy-page.container,
    body .policy-page .container {
        width: calc(100% - 30px);
    }

    .mobile-menu .menu-bar {
        padding: 12px 16px;
    }

    .mobile-menu .site-logo img {
        max-height: 50px;
    }

    .breadcrumb-area .breadcrumb-inner,
    #news_bg,
    #policy_bg {
        min-height: 345px;
    }

    .breadcrumb-area .breadcrumb-inner {
        padding-top: 86px;
        padding-bottom: 72px;
    }

    #news_bg {
        background-position: center 76%;
    }

    .news-filters {
        width: calc(100% - 30px);
        justify-content: flex-start;
        flex-wrap: nowrap;
        overflow-x: auto;
        padding: 14px;
        margin-bottom: 36px;
        border-radius: 16px;
        scrollbar-width: thin;
    }

    .filter-btn {
        flex: 0 0 auto;
        padding: 10px 18px;
        white-space: nowrap;
    }

    .blog-grid .row {
        margin-left: 0;
        margin-right: 0;
        row-gap: 28px;
    }

    .blog-grid .col-md-6,
    .blog-grid .col-lg-4 {
        padding-left: 0;
        padding-right: 0;
        margin-bottom: 28px;
    }

    .blog-grid .single-post {
        border-radius: 16px;
    }

    .blog-grid .single-post .content {
        padding: 23px;
    }

    .regulatory-grid,
    .compliance-framework-grid {
        grid-template-columns: 1fr;
    }

    .regulatory-card {
        min-height: auto;
    }

    .compliance-tabs {
        flex-wrap: nowrap;
        overflow-x: auto;
        padding-bottom: 6px;
        scrollbar-width: thin;
    }

    .compliance-tab {
        flex: 0 0 auto;
    }

    .compliance-accordion-content {
        padding-left: 0;
    }

    .section {
        padding: 15px 16px;
        align-items: flex-start;
        gap: 12px;
    }

    .section-content.expanded {
        padding: 18px 16px;
    }

    .section-content table,
    .policy-page table {
        display: block;
        overflow-x: auto;
    }

    .site-footer .container {
        width: calc(100% - 30px);
    }
}

@media (max-width: 576px) {
    .mobile-menu .site-logo img {
        max-width: 205px;
        height: auto;
    }

    .breadcrumb-area .breadcrumb-inner,
    #news_bg,
    #policy_bg {
        min-height: 318px;
    }

    .breadcrumb-area .breadcrumb-inner {
        padding-top: 76px;
        padding-bottom: 62px;
    }

    .breadcrumb-area .breadcrumb-inner .page-title {
        font-size: 31px;
    }

    .breadcrumb-area .breadcrumb-inner .news-description .open-button {
        font-size: 16px;
        padding: 10px 25px;
    }

    .news-filters {
        width: calc(100% - 24px);
    }

    .blog-grid {
        padding-top: 56px;
    }

    .regulatory-card {
        flex-direction: column;
    }

    .services-more-link a,
    .compliance-button {
        width: 100%;
    }

    .contact_page .contact_location {
        padding: 28px 22px;
    }

    .site-footer .copyright .copyright-text {
        font-size: 13px;
    }

    .prgoress_scrollup {
        right: 18px;
        bottom: 22px;
    }
}

@media (max-width: 380px) {
    .breadcrumb-area .breadcrumb-inner .page-title {
        font-size: 28px;
    }

    .filter-btn {
        padding: 9px 15px;
        font-size: 13px;
    }

    .blog-grid .single-post .content {
        padding: 20px;
    }
}


/* =========================================================
   STYLE DEFINITIVO APPLICANDO
   Layout armonizzato, responsive, news, servizi, privacy policy e footer
   Mantiene inalterate le variabili:
   --main-color, --title-color, --paragraph-color
========================================================= */

*,
*::before,
*::after {
    box-sizing: border-box;
}

html,
body {
    max-width: 100%;
    overflow-x: hidden;
}

html {
    scroll-behavior: smooth;
}

body {
    background: #ffffff;
    color: var(--paragraph-color);
    font-family: 'Space Grotesk', sans-serif;
    line-height: 1.65;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

img,
video,
canvas,
svg {
    max-width: 100%;
    height: auto;
}

a,
button {
    -webkit-tap-highlight-color: transparent;
}

a {
    color: inherit;
    text-decoration: none;
}

a:hover {
    color: var(--main-color);
}

/* ==========================
   CONTAINER GENERALE
========================== */

.container,
.compliance-container,
.compliance-container-narrow,
.blog-grid .container,
.policy-page .container,
.site-footer .container {
    width: min(1180px, calc(100% - 48px));
    max-width: 1180px;
    margin-left: auto;
    margin-right: auto;
}

/* ==========================
   TIPOGRAFIA
========================== */

h1,
.breadcrumb-area .breadcrumb-inner .page-title {
    font-size: clamp(34px, 5vw, 64px);
    line-height: 1.08;
    letter-spacing: -0.03em;
}

h2,
.compliance-title {
    font-size: clamp(32px, 4.5vw, 56px);
    line-height: 1.12;
    letter-spacing: -0.025em;
}

h3 {
    line-height: 1.25;
}

p,
.description,
.compliance-subtitle {
    line-height: 1.75;
}

/* ==========================
   HEADER
========================== */

.site-header .menu-container {
    min-height: 76px;
    padding: 0 28px;
    box-shadow: 0 8px 24px rgba(20, 50, 90, 0.05);
}

.site-logo {
    padding-left: 0;
    flex: 0 0 auto;
}

.site-logo img {
    width: auto;
    max-height: 58px;
}

.site-header .menu-bar .nav-menu {
    padding-right: 0;
    gap: 20px;
}

.site-header .menu-bar .nav-menu li a {
    padding-inline: 8px;
    white-space: nowrap;
    position: relative;
}

.site-header .menu-bar .nav-menu li a::after {
    content: "";
    position: absolute;
    left: 8px;
    right: 8px;
    bottom: -8px;
    height: 2px;
    background: var(--main-color);
    transform: scaleX(0);
    transform-origin: center;
    transition: transform .25s ease;
}

.site-header .menu-bar .nav-menu li a:hover::after {
    transform: scaleX(1);
}

.language-icon {
    padding: 0;
    margin: 0;
    display: flex;
    align-items: center;
    gap: 9px;
}

.language-icon img {
    width: 26px;
    height: 26px;
    object-fit: contain;
}

/* Mobile menu */

.mobile-menu {
    background: #ffffff;
    z-index: 999;
    box-shadow: 0 8px 24px rgba(20, 50, 90, 0.06);
}

.mobile-menu .menu-bar {
    min-height: 74px;
    padding: 14px 20px;
}

.mobile-menu .site-logo img {
    max-height: 54px;
    width: auto;
}

.mobile-menu .nav-menu {
    z-index: 999;
}

.mobile-menu .nav-menu li a {
    border-bottom: 1px solid rgba(20, 50, 90, 0.06);
}

/* ==========================
   HERO HOME
========================== */

.hero-section.style1 {
    min-height: 100vh;
    height: auto;
    padding: 160px 0 120px;
}

.hero-section.style1 .hero-content {
    left: 0;
    max-width: 850px;
    margin-left: 0;
}

.hero-section.style1 .hero-content .title {
    font-size: clamp(46px, 7vw, 80px);
}

.hero-section.style1 .hero-content .mobile_title {
    font-size: clamp(40px, 8vw, 60px);
}

.hero-section.style1 .hero-content .description {
    width: min(680px, 100%);
    margin-left: 0;
    margin-right: 0;
}

/* ==========================
   HERO PAGINE INTERNE
========================== */

.breadcrumb-area {
    padding: 0;
}

.breadcrumb-area .breadcrumb-inner {
    min-height: clamp(340px, 38vw, 460px);
    padding: clamp(110px, 13vw, 155px) 0 clamp(78px, 9vw, 130px);
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.breadcrumb-area .breadcrumb-inner .page-title {
    max-width: 1060px;
    margin: 0 auto;
    padding: 0 12px;
    color: #ffffff;
    text-align: center;
    word-break: normal;
}

.breadcrumb-area .breadcrumb-inner .news-description h3 {
    font-size: clamp(20px, 2.3vw, 30px);
}

#news_bg {
    min-height: clamp(340px, 38vw, 460px);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center 72%;
}

#policy_bg {
    min-height: clamp(340px, 38vw, 460px);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
}

/* ==========================
   NEWSLETTER POPUP
========================== */

.breadcrumb-area .breadcrumb-inner .news-description .open-button {
    border-radius: 999px;
    padding: 13px 34px;
    box-shadow: 0 12px 30px rgba(82, 137, 180, 0.24);
    transition: all .25s ease;
}

.breadcrumb-area .breadcrumb-inner .news-description .open-button:hover {
    background: var(--main-color);
    color: #ffffff;
    transform: translateY(-2px);
}

#form-container {
    width: min(430px, calc(100% - 34px));
    max-height: 90vh;
    overflow-y: auto;
    border: 1px solid rgba(20, 50, 90, 0.08);
    box-shadow: 0 24px 60px rgba(20, 50, 90, 0.18);
    z-index: 9999;
}

#form-container .form-control {
    min-height: 48px;
    border-radius: 8px;
    border: 1px solid #dde6ee;
}

#form-container .btn {
    min-height: 48px;
    border-radius: 8px;
    background: var(--main-color);
}

/* ==========================
   NEWS - FILTRI
========================== */

.news-filters {
    width: min(1180px, calc(100% - 48px));
    margin: 0 auto 52px;
    padding: 18px;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 12px;
    background: #ffffff;
    border: 1px solid #dde6ee;
    border-radius: 18px;
    box-shadow: 0 18px 45px rgba(20, 50, 90, 0.06);
}

.filter-btn {
    min-height: 46px;
    padding: 11px 22px;
    border: 1px solid #dde6ee;
    border-radius: 999px;
    background: #ffffff;
    color: var(--title-color);
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
    transition: all .25s ease;
}

.filter-btn:hover {
    color: var(--main-color);
    border-color: var(--main-color);
    transform: translateY(-2px);
    box-shadow: 0 10px 24px rgba(20, 50, 90, 0.07);
}

.filter-btn.active {
    background: var(--main-color);
    border-color: var(--main-color);
    color: #ffffff;
    box-shadow: 0 12px 28px rgba(82, 137, 180, 0.24);
}

/* ==========================
   NEWS - GRIGLIA
========================== */

.blog-grid {
    padding: clamp(68px, 8vw, 105px) 0 clamp(80px, 9vw, 120px);
    background: linear-gradient(180deg, #ffffff 0%, #f7f9fb 48%, #ffffff 100%);
}

.blog-grid #news-container {
    padding-bottom: 42px;
}

.blog-grid .row {
    margin-left: -18px;
    margin-right: -18px;
    row-gap: 36px;
}

.blog-grid .col-md-6,
.blog-grid .col-lg-4 {
    padding-left: 18px;
    padding-right: 18px;
    margin-bottom: 36px;
}

.blog-grid .single-post {
    height: 100%;
    margin-bottom: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid rgba(221, 230, 238, 0.95);
    border-radius: 18px;
    background: #ffffff;
    box-shadow: 0 14px 38px rgba(20, 50, 90, 0.06);
    transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease;
}

.blog-grid .single-post:hover {
    transform: translateY(-6px);
    border-color: rgba(82, 137, 180, 0.32);
    box-shadow: 0 24px 58px rgba(20, 50, 90, 0.12);
}

.blog-grid .single-post .thumb {
    aspect-ratio: 16 / 10.2;
    overflow: hidden;
    background: #eef3f7;
}

.blog-grid .single-post .thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .4s ease, filter .4s ease;
}

.blog-grid .single-post:hover .thumb img {
    transform: scale(1.045);
    filter: saturate(1.05);
}

.blog-grid .single-post .content {
    flex: 1;
    padding: clamp(24px, 2.4vw, 34px);
    display: flex;
    flex-direction: column;
    box-shadow: none;
}

.blog-grid .single-post .content .post-meta {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 18px;
}

.blog-grid .single-post .category {
    padding: 5px 10px;
    border-radius: 999px;
    background: rgba(82, 137, 180, 0.10);
    color: var(--main-color);
    font-size: 11px;
    line-height: 1;
    letter-spacing: .04em;
}

.blog-grid .single-post .bar {
    display: none;
}

.blog-grid .single-post .date {
    color: #8a95a3;
    font-size: 12px;
}

.blog-grid .single-post .content .title {
    font-size: clamp(19px, 1.65vw, 22px);
    line-height: 1.32;
    margin: 0 0 24px;
}

.blog-grid .single-post .blog-btn {
    margin-top: auto;
    padding-top: 8px;
}

.blog-grid .single-post .blog-btn a {
    color: var(--main-color);
    font-weight: 700;
}

.blog-grid .single-post .blog-btn a i {
    transition: transform .25s ease;
}

.blog-grid .single-post .blog-btn a:hover i {
    transform: translateX(4px);
}

/* ==========================
   HOME NEWS CARDS
========================== */

.blog-posts .single-post.style1 {
    height: 100%;
    overflow: hidden;
    border-radius: 18px;
    border: 1px solid rgba(221, 230, 238, 0.95);
    box-shadow: 0 14px 38px rgba(20, 50, 90, 0.06);
}

.blog-posts .single-post.style1 .thumb {
    aspect-ratio: 16 / 10.2;
    overflow: hidden;
}

.blog-posts .single-post.style1 .thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.blog-posts .single-post.style1 .content {
    box-shadow: none;
}

/* ==========================
   SERVIZI / CARD
========================== */

.service.style1,
.service.style1.regulatory-services,
.service.style1.compliance-services,
.compliance-page .compliance-services {
    padding: clamp(76px, 8vw, 110px) 0;
    background-position: center center;
    background-size: cover;
}

.regulatory-grid {
    gap: clamp(20px, 2vw, 28px);
}

.regulatory-card,
.service-box.style1,
.compliance-framework-card,
.compliance-accordion-card {
    border-radius: 18px;
    border-color: rgba(221, 230, 238, 0.95);
    box-shadow: 0 14px 38px rgba(20, 50, 90, 0.055);
}

.regulatory-card {
    min-height: 178px;
    padding: clamp(22px, 2.4vw, 30px);
}

.regulatory-card:hover,
.compliance-framework-card:hover,
.compliance-accordion-card:hover,
.compliance-accordion-card.is-open {
    transform: translateY(-5px);
    box-shadow: 0 24px 58px rgba(20, 50, 90, 0.11);
}

.reg-icon,
.compliance-card-icon,
.compliance-framework-icon {
    border-radius: 14px;
    background: rgba(82, 137, 180, 0.11);
}

.services-more-link a,
.services-more a {
    border-radius: 999px;
}

/* ==========================
   PAGINA SERVIZI / COMPLIANCE
========================== */

.compliance-page,
.compliance-page main {
    width: 100%;
    overflow-x: hidden;
}

.compliance-hero {
    min-height: 430px;
    padding: clamp(145px, 16vw, 215px) 0 clamp(85px, 10vw, 135px);
}

.compliance-subtitle {
    font-size: clamp(17px, 1.7vw, 20px);
}

.compliance-tabs {
    flex-wrap: wrap;
    gap: 28px;
}

.compliance-tab {
    font-weight: 800;
}

.compliance-accordion-card {
    padding: clamp(22px, 2.4vw, 30px);
}

.compliance-accordion-card.is-open .compliance-accordion-content {
    max-height: 520px;
}

/* ==========================
   PRIVACY POLICY
========================== */

.policy-page {
    padding: clamp(64px, 8vw, 105px) 0;
    background: linear-gradient(180deg, #ffffff 0%, #f7f9fb 100%);
}

.policy-page h1,
.policy-page h2,
.policy-page h3,
.policy-page h4 {
    color: var(--title-color);
    line-height: 1.25;
}

.policy-page p,
.policy-page li,
.policy-page td,
.policy-page th {
    color: var(--paragraph-color);
    line-height: 1.7;
    font-size: 16px;
}

.policy-page table,
.section-content table {
    width: 100%;
    max-width: 100%;
    border-collapse: collapse;
}

.section {
    width: 100%;
    min-height: 66px;
    padding: 18px 22px;
    border: 1px solid rgba(221, 230, 238, 0.95);
    border-bottom: 0;
    background: #eef3f7;
    transition: background .25s ease;
}

.section:first-of-type {
    border-radius: 16px 16px 0 0;
}

.section:hover {
    background: #e5eef5;
}

.section h3 {
    font-size: clamp(18px, 1.8vw, 21px);
    line-height: 1.35;
    margin: 0;
}

.section-content {
    width: 100%;
    max-height: 0;
    overflow: hidden;
    border-left: 1px solid rgba(221, 230, 238, 0.95);
    border-right: 1px solid rgba(221, 230, 238, 0.95);
    background: #ffffff;
    transition: max-height .3s ease, padding .3s ease;
}

.section-content.expanded {
    max-height: none;
    padding: 22px;
}

.section-content:last-child {
    border-bottom: 1px solid rgba(221, 230, 238, 0.95);
    border-radius: 0 0 16px 16px;
}

/* Fix icone privacy policy */
.policy-page .section-content table th,
.policy-page .section-content table td,
.section-content table th,
.section-content table td {
    vertical-align: top;
}

.policy-page .section-content table th img,
.policy-page .section-content table td img,
.section-content table th img,
.section-content table td img {
    display: block;
    width: 42px;
    height: 42px;
    min-width: 42px;
    object-fit: contain;
    margin: 4px 18px 0 0;
}

.policy-page .section-content table th:first-child,
.policy-page .section-content table td:first-child,
.section-content table th:first-child,
.section-content table td:first-child {
    width: 64px;
    min-width: 64px;
    max-width: 64px;
    padding-right: 18px;
}

/* ==========================
   CONTATTI
========================== */

.contact_page {
    padding: clamp(70px, 8vw, 105px) 0;
}

.contact_page .contact_location {
    width: 100%;
    border-radius: 18px;
    border-color: rgba(221, 230, 238, 0.95);
    box-shadow: 0 14px 38px rgba(20, 50, 90, 0.055);
}

.contact_page .form-area input.form-control,
.contact_page .form-area textarea.form-control {
    border-radius: 10px;
    border-color: #dde6ee;
}

.contact_page .form-area button.btn {
    border-radius: 999px;
}

/* ==========================
   FOOTER
========================== */

.site-footer {
    padding: clamp(72px, 8vw, 98px) 0 18px;
}

.site-footer .container {
    position: relative;
}

.site-footer .row {
    row-gap: 34px;
}

.site-footer .footer-widget .footer-logo img {
    width: min(250px, 100%);
}

.site-footer .footer-widget.info {
    max-width: 500px;
}

.site-footer .footer-widget.info .description {
    width: auto;
}

.site-footer .footer-widget .description,
.contact-info ul li {
    line-height: 1.7;
}

#info {
    margin-top: 0;
}

.site-footer .footer-widget .social-icon {
    gap: 8px;
    flex-wrap: wrap;
}

/* Footer contatti a destra */
.site-footer .contact-info {
    display: flex;
    justify-content: flex-end;
}

.site-footer .contact-info ul {
    text-align: left;
}

/* Loghi certificazioni piccoli e centrati */
.footer-certifications {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 70px;
    margin-top: 40px;
    padding-top: 30px;
    border-top: 1px solid rgba(255,255,255,.08);
}

.footer-certifications img {
    height: 15px;
    width: auto;
    opacity: .95;
    transition: all .3s ease;
}

.footer-certifications img:hover {
    opacity: 1;
    transform: translateY(-3px);
}

/* Reset vecchi loghi, se per errore restano ancora nel footer vecchio */
#federprivacy,
#IIprivacy {
    display: block;
    width: auto;
    max-width: 150px;
    max-height: 50px;
    margin: 0 auto;
    padding-top: 0;
    object-fit: contain;
}

.site-footer .footer-widget .contact-info ul li img#federprivacy,
.site-footer .footer-widget .contact-info ul li img#IIprivacy {
    width: auto;
    max-width: 150px;
}



/* ==========================
   SCROLL TOP
========================== */

.prgoress_scrollup {
    right: 28px;
    bottom: 34px;
    z-index: 30;
}

/* ==========================
   RESPONSIVE
========================== */

@media (max-width: 1200px) {
    .site-header {
        display: none;
    }

    .mobile-menu {
        display: block;
    }

    .breadcrumb-area .breadcrumb-inner,
    #news_bg,
    #policy_bg {
        min-height: 390px;
    }

    #news_bg {
        background-position: center center;
    }

    .contact_page .form-area.style2 {
        padding-left: 0;
        margin-top: 34px;
    }

    .site-footer .footer-widget {
        margin-bottom: 24px;
    }
}

@media (max-width: 992px) {
    .regulatory-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .regulatory-card,
    .regulatory-card:nth-child(4),
    .regulatory-card:nth-child(5) {
        grid-column: auto;
    }

    .compliance-framework-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .blog-grid .row {
        margin-left: -14px;
        margin-right: -14px;
    }

    .blog-grid .col-md-6,
    .blog-grid .col-lg-4 {
        padding-left: 14px;
        padding-right: 14px;
        margin-bottom: 32px;
    }
}

@media (max-width: 768px) {
    body {
        font-size: 15px;
    }

    .container,
    .compliance-container,
    .compliance-container-narrow,
    .blog-grid .container,
    .policy-page .container,
    .site-footer .container {
        width: calc(100% - 30px);
    }

    .mobile-menu .menu-bar {
        padding: 12px 16px;
    }

    .mobile-menu .site-logo img {
        max-height: 50px;
    }

    .hero-section.style1 {
        padding: 110px 0 80px;
    }

    .hero-section.style1 .hero-content .button,
    .hero-section.style1 .hero-content .button-two {
        display: block;
        margin: 0 0 14px;
    }

    .hero-section.style1 .hero-content .button a,
    .hero-section.style1 .hero-content .button-two a {
        width: 100%;
        text-align: center;
    }

    .breadcrumb-area .breadcrumb-inner,
    #news_bg,
    #policy_bg {
        min-height: 345px;
    }

    .breadcrumb-area .breadcrumb-inner {
        padding-top: 86px;
        padding-bottom: 72px;
    }

    #news_bg {
        background-position: center 76%;
    }

    .breadcrumb-area .breadcrumb-inner .news-description .open-button {
        font-size: 16px;
        padding: 10px 25px;
    }

    .news-filters {
        width: calc(100% - 30px);
        justify-content: flex-start;
        flex-wrap: nowrap;
        overflow-x: auto;
        padding: 14px;
        margin-bottom: 36px;
        border-radius: 16px;
        scrollbar-width: thin;
    }

    .filter-btn {
        flex: 0 0 auto;
        padding: 10px 18px;
        white-space: nowrap;
    }

    .blog-grid .row {
        margin-left: 0;
        margin-right: 0;
        row-gap: 28px;
    }

    .blog-grid .col-md-6,
    .blog-grid .col-lg-4 {
        padding-left: 0;
        padding-right: 0;
        margin-bottom: 28px;
    }

    .blog-grid .single-post {
        border-radius: 16px;
    }

    .blog-grid .single-post .content {
        padding: 23px;
    }

    .regulatory-grid,
    .compliance-framework-grid {
        grid-template-columns: 1fr;
    }

    .regulatory-card {
        min-height: auto;
    }

    .compliance-tabs {
        flex-wrap: nowrap;
        overflow-x: auto;
        padding-bottom: 6px;
        scrollbar-width: thin;
    }

    .compliance-tab {
        flex: 0 0 auto;
    }

    .compliance-accordion-content {
        padding-left: 0;
    }

    .section {
        padding: 15px 16px;
        align-items: flex-start;
        gap: 12px;
    }

    .section-content.expanded {
        padding: 18px 16px;
    }

    .section-content table,
    .policy-page table {
        display: block;
        overflow-x: auto;
    }

    .policy-page .section-content table tbody,
    .policy-page .section-content table tr,
    .policy-page .section-content table th,
    .policy-page .section-content table td,
    .section-content table tbody,
    .section-content table tr,
    .section-content table th,
    .section-content table td {
        display: block;
        width: 100%;
        max-width: 100%;
    }

    .policy-page .section-content table th:first-child,
    .policy-page .section-content table td:first-child,
    .section-content table th:first-child,
    .section-content table td:first-child {
        width: 100%;
        min-width: 100%;
        max-width: 100%;
        padding-right: 0;
        margin-bottom: 10px;
    }

    .policy-page .section-content table th img,
    .policy-page .section-content table td img,
    .section-content table th img,
    .section-content table td img {
        margin: 0 0 12px 0;
    }

    .site-footer .contact-info {
        justify-content: flex-start;
        margin-top: 20px;
    }

    .footer-certifications {
        gap: 35px;
        flex-wrap: wrap;
    }

    .footer-certifications img {
        max-height: 42px;
    }

    #federprivacy,
    #IIprivacy {
        max-height: 42px;
        max-width: 130px;
    }
}

@media (max-width: 576px) {
    .container,
    .compliance-container,
    .compliance-container-narrow,
    .blog-grid .container,
    .policy-page .container,
    .site-footer .container {
        width: calc(100% - 24px);
    }

    .mobile-menu .site-logo img {
        max-width: 205px;
        height: auto;
    }

    .breadcrumb-area .breadcrumb-inner,
    #news_bg,
    #policy_bg {
        min-height: 318px;
    }

    .breadcrumb-area .breadcrumb-inner {
        padding-top: 76px;
        padding-bottom: 62px;
    }

    .breadcrumb-area .breadcrumb-inner .page-title {
        font-size: 31px;
    }

    .news-filters {
        width: calc(100% - 24px);
    }

    .blog-grid {
        padding-top: 56px;
    }

    .regulatory-card {
        flex-direction: column;
    }

    .services-more-link a,
    .compliance-button {
        width: 100%;
    }

    .contact_page .contact_location {
        padding: 28px 22px;
    }

    .site-footer .copyright .copyright-text {
        font-size: 13px;
        line-height: 1.7;
    }

    .footer-certifications {
        flex-direction: column;
        gap: 22px;
    }

    .footer-certifications img {
        max-height: 40px;
    }

    #federprivacy,
    #IIprivacy {
        max-height: 40px;
        max-width: 120px;
    }

    .prgoress_scrollup {
        right: 18px;
        bottom: 22px;
    }
}

@media (max-width: 380px) {
    .breadcrumb-area .breadcrumb-inner .page-title {
        font-size: 28px;
    }

    .filter-btn {
        padding: 9px 15px;
        font-size: 13px;
    }

    .blog-grid .single-post .content {
        padding: 20px;
    }
}
