/*
 Theme Name:     Divi Child Theme
 Theme URI:      https://www.elegantthemes.com/gallery/divi/
 Description:    Divi Child Theme
 Author:         Elegant Themes
 Author URI:     https://www.elegantthemes.com
 Template:       Divi
 Version:        1.0.0
*/
 
/* =Theme customization starts here
------------------------------------------------------- */

.single .post{
	padding-bottom:0 !important;
}

.et_pb_widget_area_left{
	border-right:none !important;
}



.sub-menu{
	
	border-bottom-right-radius: 25px !important;
    border-bottom-left-radius: 25px !important;
}


/*stile filtro servizi sociali 2.2.3*/
.dp-dfg-skin-default .dp-dfg-filters-dropdown-layout .dp-dfg-filters-dropdown .dp-dfg-level{
	border: 0 !important;
	border-radius: 25px;
}
.dp-dfg-skin-default .dp-dfg-filters-dropdown-layout .dp-dfg-dropdown-label{
	border: 0 !important;
}


.dnxte_coverflowslider_parent .dnxte-coverflowslider-active .swiper-wrapper .dnxte_coverflowslider_child{
  display: unset !important;
}


/* Stile per la casella di ricerca */

#service-search-results {
	display: none;
	margin-top: 30px;
	max-height: 300px;
	overflow-y: auto;
	border: 1px solid #eee;
	box-shadow: 1px 1px 2px #ddd;
	border-radius: 10px;
	padding-left: 6.5%;
	scrollbar-width: thin; /* Imposta lo spessore della scrollbar */
	scrollbar-color: #104584 #F1F5F7; /* Imposta il colore della scrollbar */
}

/* Stile per i risultati della ricerca */
.service {
	border-bottom: 1px solid #F1F5F7; /* Colore secondario */
	padding: 10px;
	display: block;
}

.service:hover {
	opacity: 0.9;
	background-color: #eee;
}

.service h4 {
	margin: 0;
	font-size: 18px;
	font-weight: bold;
}

.service p {
	margin-bottom: 0;
	padding-bottom: 0;
	font-size: 14px;
}
/* Stile per la scrollbar in Chrome, Edge e Firefox */
#service-search-results::-webkit-scrollbar {
	width: 8px; /* Imposta la larghezza della scrollbar */
}

#service-search-results::-webkit-scrollbar-thumb {
	background-color: #104584; /* Imposta il colore del pulsante della scrollbar */
}

#service-search-results::-webkit-scrollbar-thumb:hover {
	background-color: #082b4a; /* Cambia il colore del pulsante della scrollbar al passaggio del mouse */
}

#service-search-results::-webkit-scrollbar-track {
	background-color: #F1F5F7; /* Imposta il colore dello sfondo della scrollbar */
}

.et_fullwidth_nav #main-header .container {
	height: 90px !important;
}


/* Mega Menu */
.kd-tab-titles.full-width{
	width : 100% !important;
}

.et_fullwidth_nav #main-header .container{
	height : 90px;
}


#mega-menu-wrap-primary-menu{
	margin-top : -5px;
	margin-right: 10px;
}

#mega-menu-wrap-primary-menu , #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.mega-menu-item.mega-current-menu-item > a.mega-menu-link{
	background : transparent !important;
}

.kd-new-submenu-html{
	display: flex;
	padding: 10px;
	background: #e4f0f7;
	box-shadow: 0 10px 10px #10458429;
	flex-flow: row wrap;
	column-gap: 6px;
}

.kd-tab-titles{
	width: calc(30% - 7.5px);
}

.kd-tab-titles .single-tab-tite{
	padding : 12px;
	display : block;
	margin-top : 12px;
}

.kd-tab-titles .single-tab-tite:first-child{
	margin-top : 0;
}

.kd-tab-titles .single-tab-tite.active{
	background : white;
	border-radius : 6px;
}

.kd-single-tab-title{
	cursor : pointer;
}

.kd-tab-content-wrapper{
	width: calc(70% - 7.5px);
	padding: 15px;
	background : white;
	border-radius : 6px;
}

.kd-tab-content-wrapper .single-tab-content{
	display : none;
}

.kd-tab-content-wrapper .single-tab-content.active{
	display: flex;
	flex-flow: column;
	row-gap: 12px;
}

@media(max-width:1080px){

	#et_mobile_nav_menu{
		display : none !important;
	}

	#mega-menu-wrap-primary-menu .mega-menu-toggle{
		background : transparent;
	}
	#mega-menu-wrap-primary-menu .mega-menu-toggle .mega-toggle-block-0 .mega-toggle-animated-inner, #mega-menu-wrap-primary-menu .mega-menu-toggle .mega-toggle-block-0 .mega-toggle-animated-inner::before, #mega-menu-wrap-primary-menu .mega-menu-toggle .mega-toggle-block-0 .mega-toggle-animated-inner::after {
		background : black !important;
	}

	#mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.mega-menu-item > a.mega-menu-link{
		color : black !important;
	}

	#mega-menu-wrap-primary-menu .mega-menu-toggle + #mega-menu-primary-menu , #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.mega-menu-item.mega-toggle-on > a.mega-menu-link , #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.mega-menu-item.mega-current-menu-item > a.mega-menu-link, #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.mega-menu-item.mega-current-menu-ancestor > a.mega-menu-link, #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.mega-menu-item.mega-current-page-ancestor > a.mega-menu-link{
		background : white !important;
	}


	#mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.mega-menu-item{
		padding: 10px;
		border-bottom: 1px solid #ccc !important;
	}

	#mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.mega-menu-item:last-child{
		border-bottom : none !important;
	}

	body #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.mega-menu-item > a.mega-menu-link , body #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.mega-menu-megamenu > ul.mega-sub-menu > li.mega-menu-item > a.mega-menu-link, body #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.mega-menu-megamenu > ul.mega-sub-menu li.mega-menu-column > ul.mega-sub-menu > li.mega-menu-item > a.mega-menu-link , body #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.mega-menu-megamenu > ul.mega-sub-menu > li.mega-menu-item li.mega-menu-item > a.mega-menu-link, body #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.mega-menu-megamenu > ul.mega-sub-menu li.mega-menu-column > ul.mega-sub-menu > li.mega-menu-item li.mega-menu-item > a.mega-menu-link{
		color: #104584 !important;
	}

	#mega-menu-primary-menu ul.mega-sub-menu {
		position: fixed !important;
		top: 0px !important;
		left: 0px !important;
		width: 100% !important;
		max-width: 340px !important;
		background: rgb(241, 241, 241) !important;
		height: 100% !important;
		padding: 30px !important;
	}

	#mega-menu-wrap-primary-menu #mega-menu-primary-menu li.mega-menu-item.mega-menu-megamenu ul.mega-sub-menu li.mega-collapse-children.mega-toggle-on > ul.mega-sub-menu {
		z-index:99;
	}

	#mega-menu-wrap-primary-menu #mega-menu-primary-menu li.mega-menu-item.mega-icon-right > a.mega-menu-link:not(.dashicons-admin-users):before {
		display: none !important;
	}

	li.custom-arrow {
		font-size: 20px;
		cursor: pointer;
	}

	li.custom-arrow:hover {
		opacity: 0.8;
	}

	#mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.mega-menu-megamenu > ul.mega-sub-menu > li.mega-menu-item li.mega-menu-item {
		margin-bottom: 10px;
	}

	#mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.mega-menu-megamenu > ul.mega-sub-menu > li.mega-menu-item li.mega-menu-item > a.mega-menu-link {
		line-height: 1.2;
		padding: 10px;
		font-weight: normal;
		text-decoration: none;
		color: #666;
	}

	#mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.mega-menu-megamenu > ul.mega-sub-menu > li.mega-menu-item li.mega-menu-item > a.mega-menu-link:hover {
		background: #dddddd;
	}

	#mega-menu-wrap-primary-menu #mega-menu-primary-menu .mega-menu-item-type-custom .mega-indicator {
		position: absolute !important;
		width: 100% !important;
		right: 0;
		top: 0;
		display: flex !important;
		justify-content: flex-end;
	}

	#mega-menu-wrap-primary-menu #mega-menu-primary-menu .mega-menu-item-type-custom a {
		position: relative !important;
	}

}

@media all and (min-width: 1081px) {
	span.mega-indicator {
		display: none !important;
	}
}


/* Dropdown menu footer */
footer .et_pb_widget {
	margin-bottom: 0 !important;
}

footer .et_pb_widget h2, footer .et_pb_widget h4 {
	margin-bottom: 23px !important;
}

footer .et_pb_widget_area .menu  ul.sub-menu li {
	margin: 0 0 10px;
}

footer .et_pb_widget_area .menu .sub-menu {
	padding: 0;
	margin: 0;
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.3s ease-out;
}

footer .et_pb_widget_area .menu .sub-menu.open {
	margin: 10px 0 15px 0;
}

footer .et_pb_widget_area .menu li a {
	position: relative;
}

@media all and (max-width: 992px) {
	footer .et_pb_widget_area .menu li a {
		padding: 20px 0;
	}
	footer .et_pb_widget_area .menu li {
		margin-bottom: 20px;
	}
}

footer .et_pb_widget_area .menu li a:hover {
	opacity: 0.8;
}

footer .et_pb_widget_area .menu li.current_page_item a {
	text-decoration: underline;
}

footer .et_pb_widget_area .menu li a span.arrow {
	position: absolute;
	right: 0;
	left: 225px;
	top: 50%;
	transform: translateY(-50%);
}

footer .et_pb_widget_area .menu li a svg {
	fill: #fff;
}

footer .et_pb_widget_area .menu .open .arrow svg {
	transform: rotate(180deg);
}

footer .et_pb_widget_area h2.wp-block-heading:after, footer .et_pb_widget h4:after {
	content: "";
	width: 50px;
	height: 1px;
	border-top-color: #F1F1F1;
	position: relative;
	border-top-width: 1px;
	display: block;
	z-index: 1;
	background: #F1F1F1;
	margin-top: 15px;
	margin-bottom: 0;
}


/* Header menu style */

#menu-trasparenza li {
	margin-bottom: 10px;
}

.container.et_search_form_container.et_pb_search_visible {
	background-color: rgba(255,255,255,0.95);
}

@media (max-width: 980px) {
	#et_top_search {
		margin: 0;
	}
}

.single-servizi.et-db #et-boc .et-l {
	top: unset;
	transform: unset;
}

.single-servizi.et-db h1 {
	text-transform: initial !important;
}


/* Filter customer */

#filter-target {
	border: 1px solid #104584;
	background: #104584;
	border-radius: 100px;
	padding: 15px;
	font-size: 24px;
	color: #fff;
	display: block;
	margin: 40px auto;
}


/* Grid customer */
.customer-grid {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	align-items: flex-start;
}

.filter-customer-select {
	width: 100%;
}

.accordion {
	border: 1px solid #104584;
	border-radius: 25px 25px 25px 25px;
	overflow: hidden;
	background-color: #F1F5F7;
	padding: 20px;
	margin-bottom: 3.093%;
	font-size: 17px;
	width: calc(100% - 20px);
}

.accordion.not-visible {
	display: none;
}

@media all and (min-width: 980px) {
	.accordion {
		width: calc(50% - 20px);
	}
}

.accordion .accordion-header {
	margin-bottom: 0;
	padding-bottom: 0;
	font-weight: 600;
	color: #104584;
	font-size: 18px !important;
	position: relative;
	cursor: pointer;
}

.accordion .accordion-header:before {
	content: "+";
	position: absolute;
	right: 20px;
	left: auto;
	font-size: 16px;
	color: #fff;
	top: 50%;
	margin-top: -0.5em;
	border-radius: 100%;
	border: 1px solid #104584;
	height: 16px;
	width: 16px;
	text-align: center;
	line-height: 1;
	background: #104584;
}

.accordion .accordion-content {
	margin-top: 0;
}

.accordion .customer h4 {
	font-style: italic;
	margin-bottom: 0;
	padding: 0 0 20px 0;
}


.accordion .customer h4:before {
	content: "- ";
}

.accordion-content {
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.3s ease-out; /* Animazione di espansione */
}

.open .accordion-content {
	max-height: 800px;
	margin-top: 30px;
}

.open .accordion-header {
	color: #E30613;
}

.open .accordion-header:before {
	background: #E30613;
	border-color: #E30613;
}

.customer-content ul {
	margin-left: 10px;
}

/* Fix news image carousel - Home Page and post */
.swiper-container.dnext-thumbs-gallery-bottom.swiper-container-initialized.swiper-container-horizontal.swiper-container-thumbs {
	margin-top: 10px;
}

#force-height.dnxte_blog_slider_0 .dnxte-blog-featured-image, #force-height.dnxte_blog_slider_0 .blog-wrap-no-image {
	height: auto !important;
}

.dipl_image_accordion_0 .dipl_image_accordion_item, .dipl_image_accordion_1 .dipl_image_accordion_item {
	margin-bottom: 10px !important;
}

.dnxte_blog_slider .dnxte-entry-title a, .dnxte-blog-carousel-layout-one .dnxte-content-wrapper h2 {
	text-transform: unset !important;
}

.single.single-post .et_pb_section {
	padding: 0;
}

.dnxte_blog_slider_0 .swiper-slide .dnxte-post-thumb {
	transform: scale(1);
	transition: all 300ms ease-in-out !important;
}

.dnxte_blog_slider_0 .swiper-slide .dnxte-post-thumb:hover {
	transform: scale(0.9);
}

/* Number column hack */
@media all and (max-width: 980px) {
	.number-custom-col .et-last-child {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-evenly;
		width: 100% !important;
	}
	#filter-target {
		font-size: 18px;
	}
}
@media all and (max-width: 468px) {
	.number-custom-col .et_pb_module {
		width: 100% !important;
	}
}

/* Home small fixes for divi module */
.mobile-custom-accordion .dipl_image_accordion_item .dipl_image_accordion_item_content_wrapper {
	position: relative;
}

body #page-container .et_pb_section a.et_pb_button.et_pb_button_0.dashicons-admin-users:before {
	content: "\f110";
	display: inline-block!important;
	font: inherit;
	font-family: dashicons;
	position: static;
	margin: 0 6px 0 0;
	vertical-align: top;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	color: inherit;
	background: transparent;
	height: auto;
	width: auto;
	top: auto;
	opacity: 1;
}

.hide-label {
	display: none !important;
}

.dnxte_thumbs_gallery_parent_0 .swiper-container {
	margin-top: 105px;
}


/* Text icon: Page Professionisti */
.text_icon {
	text-align: center;
	margin-bottom: 50px;
	display: flex;
    flex-direction: column;
    align-items: center;
}
.text_icon h3 {
	color: #fff;
	font-size: 19px;
	line-height: 23px;
	font-weight: 600;
	text-transform: none;
	margin-top: 20px;
	max-width: 215px;
}

.people-cols .et_pb_column.et-last-child .et_pb_module {
    flex: 1;
}

@media all and (max-width: 468px) {
	.text_icon {
		margin-bottom: 30px;
	}
	.text_icon img {
		max-width: 80px;
		height: auto;
	}
	.text_icon h3 {
		margin-top: 10px;
		font-size: 16px;
		line-height: 20px;
	}
	
	.people-cols .et_pb_column.et_pb_column_1_5 {
		margin: 0;
        display: flex;
	}
}

