.btn.focus,
.btn:focus,
button:focus,
a:focus,
*:focus {
	outline: 0 !important;
	box-shadow: none;
}

.form-control:focus {
	border-color: #e2e2e2;
	outline: 0;
	box-shadow: none;
}

a {
	text-decoration: none;
}

*:not(.fa) {
	font-family: 'Poppins', sans-serif;
}

.center_vert {
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 0 auto;
}

.center_vert_right {
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 0 auto;
}

body {
	padding-top: 85px;
	max-width: 1920px;
	display: block;
	margin: 0 auto;
	position: relative;
}

.pad70 {
	padding: 70px;
}

b,
strong,
b *,
strong * {
	font-weight: 700 !important;
}

/* ******** BG & COLORI ******** */
.hr_blue {
	border-top: 3px solid #6B97FF;
	opacity: 1;
	margin: 25px 0px;
}

.pink {
	color: #FF73BA;
}

.green {
	color: #34772d;
}

.black {
	color: #000000;
}

.bg-radius {
	background: #DFD7F9 0% 0% no-repeat padding-box;
	border-radius: 129px 0px;
}

.bg-grey {
	background-color: #f9f7fe;
}

/* ******** BG & COLORI fine ******** */

/* ******** NAV ******** */
#menu_desktop {
	background: #FFFFFF;
	padding: 15px 0;
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	width: 100%;
	z-index: 99;
}

.add_menu_shadow #menu_desktop {
	box-shadow: 0px 22px 26px #DFD7F978;
}

#menu_desktop ul.menu {
	padding: 0;
	margin: 0;
	text-align: right;
	padding-top: 6px;
}

#menu_desktop ul.menu li,
#menu_desktop ul.menu li a {
	display: inline;
	/* font-size: 15px; */
	font-size: 14px;
	font-weight: 600;
	line-height: 27px;
	letter-spacing: normal;
	color: #000000;
}

#menu_desktop ul.menu li.pink {
	color: #FF73BA;
}

#menu_desktop ul.menu li {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	cursor: pointer;
	margin-left: 11px;
	text-transform: uppercase;
	border-bottom: 4px solid transparent;
}

#menu_desktop ul.menu li.active,
#menu_desktop ul.menu li:hover {
	cursor: pointer;
	color: #6B97FF;
	border-bottom: 4px solid #6B97FF;
}

#menu_desktop ul.menu li.active a,
#menu_desktop ul.menu li:hover a {
	font-size: 16px;
	font-weight: bold;
	font-stretch: normal;
	font-style: normal;
	line-height: 1.06;
	letter-spacing: normal;
	text-align: center;
	color: #b81179;
	cursor: pointer;
}


#menu_mobile {
	padding-bottom: 18px;
	padding-top: 15px;
	background: #ffffff;
	position: fixed;
	top: 0;
	width: 100%;
	z-index: 99;
	height: 88px;
}

#menu_mobile ul.menu li,
#menu_mobile ul.menu li a {
	display: block;
	color: #181818;
	font-size: 20px;
	font-weight: 600;
	font-stretch: normal;
	font-style: normal;
	line-height: 1.4;
	letter-spacing: normal;
	margin-bottom: 30px;
}

#menu_mobile ul.menu li.active,
#menu_mobile ul.menu li:hover {
	cursor: pointer;
	border-bottom: 0;
	color: #b81179;
}

.logo-nav-mobile {
	max-height: 55px;
}

#menu_mobile #sidebar {
	width: 100%;
	background: transparent;
	transition: all 0.3s;
	margin: 0;
	height: 100%;
	overflow: hidden;
	position: fixed;
	z-index: 999;
	top: 0;
	bottom: 0;
	padding-top: 0;
}

#menu_mobile #sidebar.active {
	margin-left: -100%;
}

#menu_mobile a[data-toggle="collapse"] {
	position: relative;
}

#menu_mobile #nav-closer {
	cursor: pointer;
	float: right;
	top: 25px;
	right: 25px;
	position: absolute;
	filter: brightness(0);
}

#menu_mobile #sidebarCollapse {
	filter: brightness(0);
}

#menu_mobile #sidebar.active #nav-closer {
	background: tranparent;
}

#menu_mobile #header-btn-group {
	background: transparent;
	top: 25px;
	right: 25px;
	position: absolute;
	margin-top: 0;
	margin-bottom: 0px;
	cursor: pointer;
}

#menu_mobile #sidebar .sidebar-header {
	position: relative;
	background: #ffffff;
	padding: 13px 7px 17px;
	height: 88px;
}

#menu_mobile .sidebar-cont {
	height: 100%;
	background: #f9f7fe;
	text-align: left;
	padding: 35px 20px;
	margin-top: -2px;
}

#menu_mobile .sidebar-footer {
	position: absolute;
	bottom: 0;
	background: #bcd631;
	text-align: center;
	font-size: 11px;
	font-weight: normal;
	font-stretch: normal;
	font-style: normal;
	line-height: 1.45;
	letter-spacing: normal;
	border-top: 1px solid #000000;
	width: 70%;
	left: 50%;
	transform: translate(-50%, 0);
	padding-bottom: 17px;
	padding-top: 17px;
}

body.no_scroll {
	overflow: hidden;
}

/* ******** NAV fine ******** */

/* ******** BOTTONI ******** */

.btn {
	border-radius: 6px;

}

.btn-cta {
	/* font-size: 18px; */
	font-size: 16px;
	line-height: 27px;
	font-weight: 600;
	border-radius: 35px;
	min-width: 200px;
	padding: 15px 50px;
}

.btn-cta.pink {
	background-color: #FF73BA;
	color: #ffffff;
}

.btn-cta.pink:hover {
	background-color: #34772d;
}

.btn-cta.blue {
	background-color: transparent;
	color: #6B97FF;
	border: 2px solid #6B97FF;
}

.btn-cta.blue:hover {
	background-color: #6B97FF;
	color: #ffffff;
}

/* ******** BOTTONI fine ******** */

/* ******** TESTI ******** */
.t1 {
	font-size: 50px;
	line-height: 77px;
	font-weight: 700;
}

.t2,
.t2 * {
	/*
		font-size: 40px;
	*/
	font-size: 37px;
	line-height: 50px;
	font-weight: 700;
}

p,
span,
div,
li,
.tx1 {
	/*
		font-size: 22px;
		line-height: 33px;
	*/
	font-size: 17px;
	line-height: 29px;
	font-weight: 400;
}

.tx2 {
	/*
		font-size: 22px;
		line-height: 31px;
	*/
	font-size: 18px;
	line-height: 29px;
	font-weight: 700;
}

.tx3 {
	font-size: 28px;
	line-height: 35px;
	font-weight: 700;
}

/* ******** TESTI fine ******** */


.recapiti .icoF {
	margin-right: 5px;
}

.recapiti p {
	margin-bottom: 8px;
}

footer .recapiti p {
	margin-bottom: 5px;
}

/* ******** FOOTER ******** */
footer p {
	font-size: 14px;
	font-weight: normal;
	font-stretch: normal;
	font-style: normal;
	line-height: 2;
	letter-spacing: normal;
	color: #000000;
	margin-bottom: 7px;
}

footer {
	padding: 40px 0px;
	background-color: #ffffff;
	margin-top: 0px;
}

footer ul.menu {
	padding: 0;
}

footer ul.menu li {
	display: block;
	padding-bottom: 5px;
}

footer ul.menu li,
footer ul.menu a {
	/*
		font-size: 16px;
		line-height: 25px;
	*/
	font-size: 14px;
	line-height: 21px;
	font-weight: 400;
	color: #000000;
}

footer .recapiti .tx1 {
	font-size: 14px;
	line-height: 23px;
	font-weight: 400;
}

footer .f1 {
	/*
		font-size: 16px;
		line-height: 25px;
	*/
	font-size: 14px;
	line-height: 23px;
	font-weight: 400;
}

footer .f2 {
	/* font-size: 15px; */
	font-size: 13px;
	font-weight: 400;
	line-height: 22px;
}

footer .f3 {
	font-size: 18px;
	font-weight: 600;
	line-height: 20px;
	margin-bottom: 16px;
}

/* ******** FOOTER fine ******** */





/* ******** TESTATA ******** */
header .header-img {
	position: relative;
	width: 100%;
}

header .box_title {
	position: initial;
	width: 100%;
}

header .box_title .tx1 {
	font-size: 21px;
	padding-right: 9%;
}

header .box_title .ret-hover {
	background: #f9f7fe 0% 0% no-repeat padding-box;
	border-radius: 0px 129px 0px 0px;
	opacity: 0.87;
	width: 100%;
	padding: 30px 35px 30px 35px;
	margin-top: 20px;
}

/* ******** TESTATA fine ******** */

/* ******** ELEMENTI ******** */
.box-double {
	background: #f9f7fe 0% 0% no-repeat padding-box;
	border-radius: 129px 20px;
	overflow: hidden;
}

.box-double .bg {
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center;
}

/* ******** ELEMENTI fine ******** */

/* ******** card-article ******** */
.card-article {
	border: 0;
	overflow: hidden;
	border-radius: 20px;
	background: #FFFFFF 0% 0% no-repeat padding-box;
	box-shadow: 0px 22px 26px #dfd7f978;
}

.card-article .card-img-top {}

.card-article .card-body {
	padding: 35px 25px 90px 25px;
	text-align: left;
	position: relative;
}

.card-article .copertina {
	height: 185px;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	background-color: #f9f7fe;
}

.card-article .card-text {
	/*
		font-size: 16px;
		line-height: 27px;
	*/
	font-size: 15px;
	line-height: 25px;
	font-weight: 400;
	overflow: hidden;
	text-overflow: ellipsis;
	display: -webkit-box;
	-webkit-line-clamp: 6;
	line-clamp: 6;
	-webkit-box-orient: vertical;
}

.card-article .btn {
	padding: 0;
	position: absolute;
	bottom: 35px;
}

.link_underline {
	position: relative;
	top: 8px;
}

.card-article .btn *,
.link_underline * {
	color: #6B97FF;
	/* font-size: 18px; */
	font-size: 16px;
	font-weight: 600;
}

.card-article .btn .fa,
.link_underline .fa {
	margin-left: 10px;
}

/* ******** card-article fine ******** */

/* ******** masonry ******** */
#masonry-articles .btn_c {
	background-color: #f9f7fe;
	border-radius: 100px;
	color: #6B97FF;
	text-transform: uppercase;
	font-weight: 600;
	padding: 12px 30px;
	font-size: 15px;
	margin: 0px 5px;
}

#masonry-articles .btn_c:hover,
#masonry-articles .btn_c.active {
	background-color: #6B97FF;
	color: #ffffff;
}

/* ******** masonry fine ******** */

/* ******** card-section ******** */
.card-section {
	background: white;
	border: 0;
	border-radius: 129px 20px 129px 0px;
	box-shadow: 0px 22px 26px #dfd7f978;
	margin-left: 20px;
	margin-right: 20px;
	margin-bottom: 50px;
}

.card-section .card-body {
	padding: 35px 25px 35px 25px;
	text-align: left;
}

/* ******** card-section fine ******** */


/* ******** card-collapse ******** */
.card-collapse .ico-act {
	font-size: 18px;
	font-weight: 600;
	display: inline-block;
	text-transform: uppercase;
	color: #6B97FF;
}

.card-collapse .ico-act img {
	margin-left: 10px;
}

.btn-ico-act .ico-act.more {
	display: none;
}

.btn-ico-act .ico-act.close {
	display: block;
}

.btn-ico-act.collapsed .ico-act.more {
	display: block;
}

.btn-ico-act.collapsed .ico-act.close {
	display: none;
}

.card-collapse .text,
.card-collapse .text * {
	/*
		font-size: 22px;
		line-height: 33px;
	*/
	font-size: 18px;
	line-height: 29px;
	font-weight: 400;
}

/* ******** card-collapse fine ******** */



/* ******** form ******** */
.f_custom .form-label {
	color: #6B97FF;
	margin-bottom: 2px;
	font-weight: 500;
	font-size: 14px;
}

.f_custom .form-control {
	border-bottom: 3px solid #ced4da;
	border-top: 0;
	border-right: 0;
	border-left: 0;
	border-radius: 0;
	background: transparent;
	padding: 5px 1px;
	font-size: 18px;
	font-weight: 400;
}

.f_custom .form-check-input {
	border-radius: 100px;
	width: 26px;
	height: 26px;
	margin-right: 10px;
	position: relative;
	top: -4px;
}

/* ******** form fine ******** */

/* ******** contenuto interna ******** */
.interna.contenuto .copertina {
	width: 100%;
	border-radius: 20px;
	overflow: hidden;
}

/* ******** contenuto interna fine ******** */








/* ******** MEDIA QUERY ******** */
@media (min-width: 576px) {}

@media (min-width: 768px) {}

@media (min-width: 992px) {
	header .box_title {
		position: absolute;
		top: 120px;
		width: 100%;
	}

	.interna header .box_title {
		top: 150px;
	}

	header .box_title .ret-hover {
		background: #FFFFFF 0% 0% no-repeat padding-box;
		border-radius: 0px 20px 129px 0px;
		opacity: 0.87;
		width: 70%;
		padding: 50px 35px 50px 5%;
		margin-top: 0px;
	}

	.interna header .box_title .ret-hover {
		padding: 40px 35px 40px 5%;
	}

	body {
		padding-top: 0;
	}

	body.interna {
		padding-top: 115px;
	}
}

@media (min-width: 1200px) {
	.logoC {
		max-width: 300px;
	}

	header .box_title {
		top: 150px;
	}

	.interna header .box_title {
		top: 190px;
	}

	header .box_title .ret-hover {
		padding: 35px 35px 35px 8%;
	}
}

@media (min-width: 1300px) {

	header .box_title .ret-hover,
	.interna header .box_title .ret-hover {
		padding: 50px 35px 50px 8%;
	}

	header .box_title {
		top: 190px;
	}
}

@media (min-width: 1550px) {

	.container,
	.container-lg,
	.container-md,
	.container-sm,
	.container-xl,
	.container-xxl {
		max-width: 1460px;
	}

	#menu_desktop ul.menu li {
		margin-left: 25px;
	}

	header .box_title .ret-hover {
		width: 50%;
	}
}

@media (min-width: 1920px) {

	header .box_title .ret-hover,
	.interna header .box_title .ret-hover {
		padding: 50px 35px 50px 12%;
	}
}