/**
 * Immigration FAQ Accordion Widget — exact reference geometry v2.3.0
 * Reference: supplied 1600x759 mockup.
 *
 * Desktop geometry:
 * wrapper: 1280px
 * left: 623px
 * gap: 28px
 * right: 629px
 * card: 629 x 89px
 * card gap: 11px
 * illustration: 623 x 303px, cropped from the supplied image
 */

.cfaq-wrapper,
.cfaq-wrapper *{box-sizing:border-box}

.cfaq-wrapper{
	display:grid!important;
	grid-template-columns:623px 629px!important;
	column-gap:28px!important;
	align-items:start!important;
	width:1280px!important;
	max-width:none!important;
	margin:0 auto!important;
	padding:0!important;
	font-family:Poppins,Montserrat,"Helvetica Neue",Arial,sans-serif;
}

.cfaq-left{
	width:623px!important;
	max-width:623px!important;
	min-width:623px!important;
	padding:0!important;
}

.cfaq-right{
	width:629px!important;
	max-width:629px!important;
	min-width:629px!important;
	padding:30px 0 0!important;
}

/* LEFT */

.cfaq-eyebrow{
	display:flex;
	align-items:center;
	gap:12px;
	height:14px;
	margin:0 0 12px!important;
	padding:0;
	font-size:12px!important;
	font-weight:600!important;
	letter-spacing:1.5px!important;
	line-height:1!important;
	text-transform:uppercase;
	color:#AE8B4F!important;
}
.cfaq-eyebrow:after{
	content:"";
	display:block;
	width:28px;
	height:1px;
	flex:0 0 28px;
	background:#AE8B4F;
}

.cfaq-heading{
	display:block;
	margin:0 0 15px!important;
	padding:0;
	max-width:470px!important;
	font-size:46px!important;
	font-weight:700!important;
	line-height:1.03!important;
	letter-spacing:-1.45px!important;
	color:#13294B!important;
}

.cfaq-description{
	display:block;
	width:100%!important;
	max-width:585px!important;
	margin:0!important;
	padding:0;
	font-size:16px!important;
	font-weight:400!important;
	line-height:1.48!important;
	letter-spacing:0!important;
	color:#586777!important;
}

/* Exact reference crop. The original illustration is taller than the mockup;
   the reference displays a wide 2.06:1 crop. */
.cfaq-illustration{
	width:623px!important;
	max-width:623px!important;
	height:303px!important;
	margin:15px 0 9px!important;
	padding:0!important;
	overflow:hidden!important;
	border-radius:10px!important;
	line-height:0;
}
.cfaq-illustration img{
	display:block!important;
	width:100%!important;
	max-width:none!important;
	height:100%!important;
	object-fit:cover!important;
	object-position:center center!important;
	margin:0!important;
	padding:0!important;
	border:0!important;
}

/* HIGHLIGHTS */

.cfaq-highlights{
	position:relative;
	width:623px!important;
	max-width:623px!important;
	height:149px!important;
	min-height:149px!important;
	margin:0!important;
	padding:13px 18px 10px!important;
	background:#EFF6FC!important;
	border-radius:11px!important;
	overflow:hidden!important;
}

.cfaq-highlight-grid{
	position:relative;
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	align-items:stretch;
	width:100%;
	height:91px;
}

.cfaq-highlight{
	position:relative;
	min-width:0;
	padding:0 16px;
	text-align:center;
}
.cfaq-highlight:first-child{padding-left:0}
.cfaq-highlight:last-child{padding-right:0}

.cfaq-highlight-icon{
	width:28px;
	height:28px;
	margin:0 auto 7px;
	display:flex;
	align-items:center;
	justify-content:center;
	font-size:23px;
	line-height:1;
	color:#15365C;
}
.cfaq-highlight-icon svg{
	width:23px;
	height:23px;
	fill:#15365C;
}
.cfaq-highlight-icon i{
	font-size:23px;
	line-height:1;
}

.cfaq-highlight-title{
	margin:0 0 5px;
	font-size:12px;
	font-weight:700;
	line-height:1.2;
	color:#15365C;
}
.cfaq-highlight-text{
	margin:0 auto;
	max-width:125px;
	font-size:11px;
	font-weight:400;
	line-height:1.45;
	color:#4E6071;
}

.cfaq-highlight-divider{
	position:absolute;
	top:0;
	bottom:0;
	width:1px;
	background:rgba(54,89,121,.14);
}
.cfaq-highlight-divider-first{left:33.333%}
.cfaq-highlight-divider-middle{left:66.666%}

.cfaq-highlight:not(:last-child)::after{
	content:"";
	position:absolute;
	top:0;
	bottom:0;
	right:0;
	width:1px;
	background:rgba(54,89,121,.14);
}
.cfaq-highlight:last-child::after{display:none}

.cfaq-highlights-tagline{
	display:flex;
	align-items:center;
	justify-content:center;
	gap:10px;
	margin-top:9px;
	font-size:10px;
	font-weight:500;
	letter-spacing:2.45px;
	line-height:1.2;
	text-align:center;
	white-space:nowrap;
	color:#50657B;
}
.cfaq-highlights-tagline:before,
.cfaq-highlights-tagline:after{
	content:"";
	display:block;
	width:39px;
	height:2px;
	flex:0 0 39px;
	background:#C4A15C;
}

/* RIGHT */

.cfaq-list{
	display:grid!important;
	grid-template-columns:1fr!important;
	gap:11px!important;
	width:629px!important;
	max-width:629px!important;
	margin:0!important;
	padding:0!important;
}

.cfaq-item{
	width:629px!important;
	min-width:629px!important;
	height:auto!important;
	min-height:89px!important;
	overflow:hidden;
	background:#B01E2B!important;
	border-radius:11px!important;
	transition:background-color .18s ease;
}
.cfaq-item:hover,
.cfaq-item.cfaq-active{background:#B01E2B!important}

.cfaq-item-heading{margin:0!important;padding:0!important}

.cfaq-item-header{
	appearance:none;
	border:0;
	outline:0;
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:20px;
	width:629px!important;
	height:89px!important;
	min-height:89px!important;
	padding:0 20px 0 25px!important;
	margin:0!important;
	background:transparent!important;
	color:inherit;
	cursor:pointer;
	text-align:left;
	font:inherit;
}
.cfaq-item-header:focus-visible{
	outline:2px solid rgba(255,255,255,.85);
	outline-offset:-3px;
	border-radius:11px;
}

.cfaq-question{
	display:block;
	flex:1 1 auto;
	min-width:0;
	padding:0;
	font-size:17px!important;
	font-weight:500!important;
	line-height:1.25!important;
	letter-spacing:0!important;
	color:#fff!important;
	text-align:left;
}

.cfaq-icon{
	position:relative;
	display:flex;
	align-items:center;
	justify-content:center;
	flex:0 0 54px;
	width:54px!important;
	height:54px!important;
	min-width:54px!important;
	border:1px solid rgba(255,255,255,.88);
	border-radius:50%;
	background:transparent;
}
.cfaq-icon svg,
.cfaq-icon i{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:14px!important;
	height:14px!important;
	font-size:14px!important;
	line-height:1;
	fill:#fff;
	color:#fff;
}
.cfaq-icon-closed,
.cfaq-icon-open{
	position:absolute;
	display:flex;
	align-items:center;
	justify-content:center;
	transition:opacity .16s ease,transform .16s ease;
}
.cfaq-icon-closed{opacity:1;transform:rotate(0) scale(1)}
.cfaq-icon-open{opacity:0;transform:rotate(-90deg) scale(.8)}
.cfaq-item.cfaq-active .cfaq-icon-closed{opacity:0;transform:rotate(90deg) scale(.8)}
.cfaq-item.cfaq-active .cfaq-icon-open{opacity:1;transform:rotate(0) scale(1)}

.cfaq-item-body{
	height:0;
	overflow:hidden;
	transition:height .24s ease;
}
.cfaq-item-body[hidden]{display:block}
.cfaq-item-body-inner{padding:0 25px 20px!important}
.cfaq-answer{
	max-width:700px;
	font-size:14px;
	font-weight:400;
	line-height:1.55;
	color:rgba(255,255,255,.94);
}
.cfaq-answer p{margin:0 0 10px}
.cfaq-answer p:last-child{margin-bottom:0}

@media(prefers-reduced-motion:reduce){
	.cfaq-item-body,.cfaq-icon-closed,.cfaq-icon-open{transition:none!important}
}

/* The reference desktop is wider than the current Elementor content box.
   Keep the exact proportions while allowing the widget to overflow that box. */
@media(min-width:768px){
	.elementor-widget-cfaq-accordion,
	.elementor-element:has(> .cfaq-wrapper){
		overflow:visible!important;
	}
}

/* Tablet */
@media(max-width:1300px) and (min-width:768px){
	.cfaq-wrapper{
		grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
		column-gap:24px!important;
		width:100%!important;
		max-width:100%!important;
	}
	.cfaq-left,.cfaq-right,
	.cfaq-illustration,.cfaq-highlights,
	.cfaq-list,.cfaq-item,.cfaq-item-header{
		width:100%!important;
		max-width:100%!important;
		min-width:0!important;
	}
	.cfaq-right{padding-top:25px!important}
	.cfaq-heading{font-size:40px!important}
	.cfaq-illustration{height:auto!important;aspect-ratio:2.056/1!important}
}

/* Mobile */
@media(max-width:767px){
	.cfaq-wrapper{
		display:flex!important;
		flex-direction:column!important;
		gap:28px!important;
		width:100%!important;
		max-width:100%!important;
		padding:0 16px!important;
		margin:0!important;
	}
	.cfaq-left,.cfaq-right{
		width:100%!important;
		max-width:100%!important;
		min-width:0!important;
	}
	.cfaq-right{padding-top:0!important}
	.cfaq-eyebrow{margin-left:0!important}
	.cfaq-heading{
		max-width:none!important;
		margin-left:0!important;
		font-size:31px!important;
		letter-spacing:-.7px!important;
	}
	.cfaq-description{
		max-width:none!important;
		font-size:15px!important;
	}
	.cfaq-illustration{
		width:100%!important;
		max-width:none!important;
		height:auto!important;
		aspect-ratio:2.056/1!important;
	}
	.cfaq-highlights{
		width:100%!important;
		max-width:none!important;
		height:auto!important;
		min-height:0!important;
		padding:20px 14px 16px!important;
	}
	.cfaq-highlight-grid{height:auto}
	.cfaq-highlight{padding:0 8px}
	.cfaq-highlight-title{font-size:11px}
	.cfaq-highlight-text{font-size:10px}
	.cfaq-list,.cfaq-item,.cfaq-item-header{
		width:100%!important;
		max-width:100%!important;
		min-width:0!important;
	}
	.cfaq-item-header{
		height:78px!important;
		min-height:78px!important;
		padding:0 16px!important;
		gap:14px;
	}
	.cfaq-question{font-size:15px!important}
	.cfaq-icon{
		width:42px!important;
		height:42px!important;
		min-width:42px!important;
		flex-basis:42px;
	}
}

@media(max-width:420px){
	.cfaq-wrapper{padding:0 12px!important}
	.cfaq-eyebrow{font-size:11px!important}
	.cfaq-heading{font-size:29px!important}
	.cfaq-description{font-size:14px!important}
	.cfaq-question{font-size:14px!important}
	.cfaq-item-header{height:72px!important;min-height:72px!important}
	.cfaq-icon{width:38px!important;height:38px!important;min-width:38px!important;flex-basis:38px}
}