#mainContainer
{
	background:#ffffff;
}

body{
	-webkit-font-smoothing:antialiased;
	-moz-osx-font-smoothing:grayscale;
}

/* ===== Stili tipografici (allineati a elybra.com) ===== */

.tx-btn{
	font-family:Helvetica, Arial, sans-serif;
	font-size:14px;
	font-weight:300;
	line-height:1.4em;
	letter-spacing:1.8px;
	text-transform:uppercase;
}

.tx-titolone{
	font-family:'Baskervville', serif;
	font-size:52px;
	font-weight:600;
	line-height:1em;
}

.tx-intro{
	font-family:Helvetica, Arial, sans-serif;
	font-size:21px;
	font-weight:400;
	line-height:1.4em;
}

.tx-titoletto{
	font-family:'Baskervville', serif;
	font-size:28px;
	font-weight:500;
	line-height:1em;
}

.tx-testo{
	font-family:Helvetica, Arial, sans-serif;
	font-size:17px;
	font-weight:400;
	line-height:1.4em;
}

.tx-titolino{
	font-family:'Baskervville', serif;
	font-size:19px;
	font-weight:500;
	line-height:1em;
}

.tx-testimonianza{
	font-family:'Baskervville', serif;
	font-size:17px;
	font-weight:400;
	line-height:1.4em;
}

/* ===== Header/footer allineati a home-new ===== */

.elybra-newheader{
	width:100%;
	background:rgba(252,251,250,.85);
	border-bottom:1px solid rgba(152,151,150,.3);
	position:sticky;
	top:0;
	z-index:50;
	backdrop-filter:blur(6px);
}

.elybra-newheader__inner{
	max-width:1280px;
	margin:0 auto;
	padding:0 24px;
	height:80px;
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:16px;
}

.elybra-newheader__left{
	display:flex;
	align-items:center;
	gap:20px;
	min-width:0;
	margin-left:-57px;
}

@media only screen and (max-width: 1366px){
	.elybra-newheader__left{
		margin-left:0;
	}
}

.elybra-newheader__brand{
	display:flex;
	align-items:center;
	flex-shrink:0;
}

.elybra-newheader__brand img{
	height:36px;
	display:block;
}

.elybra-newheader__nav{
	display:flex;
	align-items:center;
	gap:30px;
}

.elybra-newheader__nav a{
	font-family:'neuehaasunica', sans-serif;
	font-size:17px;
	font-weight:400;
	color:#6A6968;
	text-decoration:none;
	transition:color .2s ease;
	white-space:nowrap;
}

.elybra-newheader__nav--primary a:hover{
	color:#397471;
}

.elybra-newheader__nav--primary a:last-child:hover{
	color:#6f678a;
}

.elybra-newheader__nav--secondary a:hover{
	color:#af0990;
}

.elybra-newheader__inner{
	position:relative;
}

.elybra-newheader__toggle{
	display:none;
	align-items:center;
	justify-content:center;
	width:45px;
	height:45px;
	flex-shrink:0;
	padding:7.5px;
	box-sizing:border-box;
	border-radius:3px;
	background:transparent;
	color:#575756;
	cursor:pointer;
}

.elybra-newheader__toggle svg{
	width:30px;
	height:30px;
	fill:#575756;
}

.elybra-newheader__toggle .icon-close,
.elybra-newheader__toggle.is-active .icon-open{
	display:none;
}

.elybra-newheader__toggle.is-active .icon-close{
	display:block;
}

.elybra-newheader__dropdown{
	position:absolute;
	top:100%;
	left:0;
	right:0;
	display:flex;
	flex-direction:column;
	background:#FCFCF9;
	border-bottom:1px solid #E3E1DF;
	transform:scaleY(0);
	transform-origin:top;
	opacity:0;
	visibility:hidden;
	transition:transform .25s ease, opacity .2s ease, visibility .25s;
	z-index:40;
}

.elybra-newheader__dropdown.is-open{
	transform:scaleY(1);
	opacity:1;
	visibility:visible;
}

.elybra-newheader__dropdown a{
	padding:12px 28px;
	font-family:'neuehaasunica', sans-serif;
	font-size:15px;
	line-height:18px;
	font-weight:400;
	color:#6A6968;
	text-decoration:none;
	transition:color .2s ease, background-color .2s ease;
}

.elybra-newheader__dropdown a:hover{
	color:#FFFFFF;
	background:#575756;
}

@media only screen and (max-width: 1024px){
	.elybra-newheader__nav--primary,
	.elybra-newheader__nav--secondary{
		display:none;
	}
	.elybra-newheader__toggle{
		display:flex;
	}
}

.elybra-newfooter{
	width:100%;
	background:#565554;
	font-family:Helvetica, Arial, sans-serif;
	margin-top:40px;
}

.elybra-newfooter__top{
	max-width:1400px;
	margin:0 auto;
	padding:60px 40px 40px;
	display:flex;
	flex-wrap:wrap;
	gap:40px;
}

.elybra-newfooter__col{
	flex:1 1 240px;
	display:flex;
	flex-direction:column;
	gap:10px;
}

.elybra-newfooter__col h4{
	font-size:12px;
	font-weight:500;
	letter-spacing:2px;
	text-transform:uppercase;
	color:#71b1ad;
	margin:0 0 6px;
}

.elybra-newfooter__col p{
	font-size:14px;
	line-height:1.6;
	color:rgba(252,251,248,.7);
	margin:0;
}

.elybra-newfooter__col a{
	font-size:14px;
	color:#fcfbf8;
	text-decoration:none;
	font-weight:500;
	transition:color .2s ease;
}

.elybra-newfooter__col a:hover{
	color:#71b1ad;
}

.elybra-newfooter__bottom{
	max-width:1400px;
	margin:0 auto;
	padding:20px 40px 30px;
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	justify-content:space-between;
	gap:12px;
	border-top:1px solid rgba(252,251,248,.15);
}

.elybra-newfooter__bottom span{
	font-size:11px;
	letter-spacing:1.6px;
	text-transform:uppercase;
	color:rgba(252,251,248,.5);
}

.elybra-newfooter__bottom-links{
	display:flex;
	flex-wrap:wrap;
	gap:20px;
}

.elybra-newfooter__bottom-links a{
	font-size:11px;
	letter-spacing:1px;
	text-transform:uppercase;
	color:rgba(252,251,248,.5);
	text-decoration:none;
}

.elybra-newfooter__bottom-links a:hover{
	color:#fcfbf8;
}

/* Bottoni e testi del wizard allineati alla palette/tipografia di home-new */
#findthecounselor,
#mainContainer{
	font-family:Helvetica, Arial, sans-serif;
}

.btn{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	font-family:Helvetica, Arial, sans-serif;
	font-size:14px;
	font-weight:300;
	line-height:1.4em;
	letter-spacing:1.8px;
	text-transform:uppercase;
	border-radius:999px;
	background:#71b1ad;
	border:2px solid #71b1ad;
}

.btn:hover{
	background:#397471;
	border:2px solid #397471;
}

.btn.purple,
.btn.purpledark{
	background:#71b1ad !important;
	border:2px solid #71b1ad !important;
}

.btn.purple:hover,
.btn.purpledark:hover{
	background:#397471 !important;
	border:2px solid #397471 !important;
}

.btn.reverse{
	background:#fff;
	color:#565554;
	border:2px solid rgba(113,177,173,.5);
}

.btn.reverse:hover{
	background:#fff;
	color:#af0990;
	border:2px solid #af0990;
}

.typeContact.sel{
	background:#71b1ad;
	color:#fff;
	border:2px solid #71b1ad;
}

/* ===== Hero (allineato a elybra.com/counseling/online) ===== */

.elybra-hero{
	width:100%;
	background:#f6faf9;
	border-bottom:1px solid rgba(152,151,150,.3);
}

.elybra-hero__inner{
	max-width:1280px;
	margin:0 auto;
	padding:64px 24px;
}

.elybra-hero__breadcrumb{
	margin-bottom:32px;
	color:#565554;
}

.elybra-hero__breadcrumb a{
	color:#565554;
	text-decoration:none;
	text-transform:uppercase;
	transition:color .2s ease;
}

.elybra-hero__breadcrumb a:hover{
	color:#397471;
}

.elybra-hero__breadcrumb span{
	margin:0 8px;
	color:#989796;
}

.elybra-hero__breadcrumb-current{
	text-transform:uppercase;
	color:#397471;
}

.elybra-hero__grid{
	display:block;
}

.elybra-hero__eyebrow{
	display:block;
	margin-bottom:16px;
	text-transform:uppercase;
	color:#397471;
}

.elybra-hero__title{
	margin:0 0 24px;
	color:#565554;
	max-width:22ch;
}

.elybra-hero__text{
	margin:0;
	width:min(50vw, 640px);
	max-width:100%;
	text-align:justify;
	color:#565554;
}

@media only screen and (max-width: 860px){
	.elybra-hero__inner{
		padding:40px 20px;
	}
	.elybra-hero__title{
		font-size:34px;
	}
	.elybra-hero__text{
		width:100%;
	}
}

@media only screen and (max-width: 768px){
	.elybra-newheader__inner{
		padding:0 16px;
		height:64px;
	}
	.elybra-newheader__nav--secondary{
		gap:14px;
	}
	.elybra-newfooter__top{
		padding:40px 20px 30px;
	}
	.elybra-newfooter__bottom{
		padding:16px 20px 24px;
		justify-content:center;
		text-align:center;
	}
}

a{
	color:#565554;
	text-decoration:underline;
}


.page-footer .footer-copyright{
	height:auto;

}

#mainContainer {
	min-height: 600px;
	padding-top:20px;
}
.counselors-grid{
	width:100%;
	max-width:1280px;
	display:grid;
	grid-template-columns:repeat(3, 1fr);
	gap:24px;
}

.counselorblock{
	display:flex;
	flex-direction:column;
	align-items:stretch;
	padding:32px;
	background:rgba(113,177,173,.05);
	border:1px solid rgba(113,177,173,.2);
	border-radius:24px;
	transition:border-color .2s ease;
}

.counselorblock:hover{
	border-color:rgba(113,177,173,.5);
}

.counselorimage img
{
	width:100%;
}
.counselorimage{
	border-radius: 18px;
	justify-content:center;
	align-items:center;
	display:flex;
	overflow: hidden;
	width: 100%;
	aspect-ratio: 1 / 1;
	margin:0 0 20px;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
}

.counselormodal .counselorimage{
	width: 100%;
	max-width: 320px;
	aspect-ratio: 1 / 1;
	height: auto;
	margin:0 auto 24px;
}

.counselorname{
	color: #565554;
	margin-bottom: 20px;
}

footer{
	z-index:1 !important;
}

.counselorcit{
	color: #565554;
	position: relative;
	width: 100%;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	margin-bottom: 24px;
	text-align:left;
	flex-grow:1;
}

.counselorcit .maxim{
	width:100%;
}

.counselorbtns{
	display:flex;
	flex-wrap:wrap;
	gap:12px;
	justify-content:flex-start;
}

.counselorbtns .btn{
	padding:0 20px;
}

#mainMenuTop
{
	line-height:unset;
}

/* Step sections (fedele a elybra.com/counseling/online) */

.step-wrap{
	width:100%;
	max-width:1280px;
	margin:0 auto;
	padding:56px 24px;
}

.step-wrap--narrow{
	max-width:816px;
}

.step-heading{
	margin:0 0 12px;
	color:#565554;
	text-align:left;
}

.step-subtext{
	margin:0 0 40px;
	max-width:62ch;
	color:#565554;
	text-align:left;
}

.step-card{
	background:rgba(113,177,173,.05);
	border:1px solid rgba(113,177,173,.2);
	border-radius:24px;
	padding:40px;
	text-align:left;
}

.step-card--center{
	text-align:center;
}

.step-card__label{
	margin:0 0 20px;
	text-transform:uppercase;
	color:#397471;
}

.step-card__text{
	margin:0 0 20px;
	color:#565554;
}

.step-card__text:last-child{
	margin-bottom:0;
}

.step-card__text strong{
	color:#575756;
	font-weight:600;
}

.step-actions{
	display:flex;
	flex-wrap:wrap;
	gap:16px;
	margin-top:32px;
}

@media only screen and (max-width: 640px){
	.step-wrap{
		padding:40px 20px;
	}
	.step-card{
		padding:28px 20px;
	}
}

.step{
	width:100%;
	display:flex;
	justify-content:flex-start;
	align-items:center;
	flex-direction: column;
	position:relative;
	padding:20px 0 60px;
	transition: opacity .4s;
	opacity:1;
	visibility:visible;

}


.step.hd
{
	display:none;
	opacity:0;
	visibility:hidden;
}

#findthecounselor{
	background:#fff;
	width:100%;
	position: relative;
}

.whiteinput{
	box-sizing:border-box !important;
	width:100% !important;
	background:#fff !important;
	color:#565554 !important;
	border:1px solid rgba(152,151,150,.5) !important;
	border-radius:12px !important;
	padding:12px 16px !important;
	margin:0 !important;
	height:auto !important;
	line-height:1.5 !important;
	box-shadow:none !important;
	font-family:Helvetica, Arial, sans-serif;
	font-size:16px;
	text-align:left;
	transition:border-color .2s ease;
}

.whiteinput:focus{
	outline:none !important;
	border-color:#71b1ad !important;
	box-shadow:none !important;
}

textarea.whiteinput{
	resize:vertical;
	min-height:100px;
}

input::placeholder,
textarea::placeholder {
	color: #989796 !important;
}

.registerform{
	text-align:left;
}

form#register
{
	text-align: left;
}

.formgrid{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:24px;
	margin-bottom:24px;
}

.formfield{
	display:block;
	margin-bottom:24px;
	text-align:left;
}

.formfield__label{
	display:block;
	margin-bottom:8px;
	text-transform:uppercase;
	color:#565554;
}

.formfieldset{
	border:0;
	padding:0;
	margin:0 0 24px;
}

.contact-options{
	display:flex;
	flex-wrap:wrap;
	gap:12px;
}

.contact-options .btn{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	height:auto;
	min-height:40px;
	padding:8px 20px !important;
}

.privacy-row{
	display:flex;
	align-items:flex-start;
	gap:10px;
	color:#565554;
	text-align:left;
	cursor:pointer;
}

.privacy-row input[type=checkbox]{
	position:static !important;
	opacity:1 !important;
	pointer-events:auto !important;
	appearance:auto !important;
	-webkit-appearance:auto !important;
	width:16px !important;
	height:16px !important;
	min-width:16px;
	margin:2px 0 0 !important;
	flex-shrink:0;
	accent-color:#71b1ad;
	cursor:pointer;
}

.privacy-row span{
	position:static !important;
	height:auto !important;
	line-height:inherit !important;
	font-size:inherit !important;
	padding-left:0 !important;
	color:#565554;
}

.privacy-row span:before,
.privacy-row span:after{
	content:none !important;
}

.privacy-row a{
	color:#af0990;
	text-decoration:underline;
	text-decoration-color:rgba(175,9,144,.3);
	text-underline-offset:3px;
}

.formfield input.error,
.formfield textarea.error{
	border-color:#d1425e !important;
}

.formfield label.error{
	position:static !important;
	display:block;
	margin-top:8px;
	color:#d1425e;
	font-size:13px;
}

.custom-error{
	position:static !important;
	display:block;
	margin-top:8px;
	color:#d1425e;
	font-size:13px;
}


.counselor-page-content{
	width:100%;
	max-width:1280px;
	padding-left:24px;
	padding-right:24px;
}

@charset "UTF-8";
/* Mixins */
/* Color Variables */
/* Theme Variables */
/* Animations */
/* Component Styles - Steps (fedele a elybra.com/counseling/online) */
.stepstop {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	max-width:1280px;
	margin: 0 auto;
	padding: 24px;
	padding-left: 24px !important;
	list-style: none;
	column-gap: 32px;
	row-gap: 12px;
	border-bottom: none;
	background-image: linear-gradient(rgba(152,151,150,.3), rgba(152,151,150,.3));
	background-repeat: no-repeat;
	background-position: 24px 100%;
	background-size: calc(100% - 48px) 1px;
}

.steptop {
	display: flex;
	align-items: center;
	gap: 12px;
	position: relative;
	cursor: pointer;
}

.step__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	flex-shrink: 0;
	border-radius: 50%;
	border: 1px solid rgba(152,151,150,.5);
	background-color: transparent;
	color: #989796;
	letter-spacing:0;
}

.step__icon span{
	display:inline;
}

.step--complete .step__icon {
	border-color: transparent;
	background-color: rgba(113,177,173,.2);
	color: #397471;
}

.step--active .step__icon {
	border-color: transparent;
	background-color: #71b1ad;
	color: #fff;
}

.step__label {
	text-transform: uppercase;
	color:#989796;
	white-space: nowrap;
}

.step--active .step__label {
	color: #397471;
}

@media only screen and (max-width: 1279px) {
	#counselor-page-title
	{
		max-width:1024px;
	}
}

@media only screen and (max-width: 1080px) {

	.counselors-grid{
		grid-template-columns:repeat(2, 1fr);
	}

	.step{
		padding:0 25px;
	}
	.counselorbtns{
		display:flex;
		flex-direction:column;
		align-items:stretch;
	}
	.counselorbtns .btn{
		margin-bottom:10px;
	}

	.formgrid{
		grid-template-columns:1fr;
		gap:0;
	}

	.page-footer .footer-copyright{
		height:auto;
		flex-direction: column;
	}

	.page-footer{
		margin-top:auto;
		padding-top:50px;
	}
}

@media only screen and (max-width: 640px)
{
	.counselors-grid{
		grid-template-columns:1fr;
	}

	.stepstop{
		flex-direction:column;
		align-items:center;
		text-align:center;
		gap:16px;
		padding:20px 24px;
		padding-left:24px !important;
		border-bottom:none;
	}

	.steptop{
		justify-content:center;
	}
}


