#full-width-columns {
	position: relative;
	width: 100%;
	height: 600px;
}
#full-width-columns div { position: relative; }
#full-width-columns .fw-grid-container {
	position: absolute;
	width: 100vw;
	height: 100%;
	left: 50%;
	top: 0;
	transform: translate(-50%,0);
	display: grid;
	column-gap:4px;
}
#full-width-columns .column {	
}
#full-width-columns .column .column-content {
	text-align: center;
	z-index: 1;
	font-weight: bold;
	position: absolute;
	background:white;
	padding: 48px;
	bottom: 38px;
	left: 48px;
	right: 48px;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 48px;
}
#full-width-columns .column-content h3.column-title {
	font-size:	35px;
	font-family: 'sentinel', serif;
	font-weight: 600;
}

/* Two-column variant (scoped via .two-col on #full-width-columns) */
#full-width-columns.two-col .column:first-child .column-content {
	text-align: center;
	z-index: 1;
	font-weight: bold;
	position: absolute;
	background:white;
	padding: 64px;
	text-align: left;
	bottom: auto;
	left: auto;
	right: 48px;
	top: 50%;
	transform:translate(0,-50%);
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 48px;
	width:652px;
}
#full-width-columns.two-col .column:last-child .column-content {
	text-align: center;
	z-index: 1;
	font-weight: bold;
	position: absolute;
	background:white;
	padding: 64px;
	bottom: unset;
	left: 48px;
	right: unset;
	top: 50%;
	transform:translate(0,-50%);
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 48px;
	text-align: left;
	width:652px;
}
@media screen and (max-width: 1600px) {
	#full-width-columns.two-col .fw-grid-container {
		grid-template-columns: 1fr !important;	
		position: relative;	
	}	
	#full-width-columns.two-col { height: auto; padding-top: 0 !important; }
	#full-width-columns.two-col div { position: relative; }
	#full-width-columns.two-col .column { padding: 48px; }
	#full-width-columns.two-col .column:first-child .column-content {
		position: relative;
		top: 50%; 
		left: auto;
		right: auto;
		bottom: auto;
		margin: 0 auto;	
	}
	#full-width-columns.two-col .column:last-child .column-content {
		position: relative;
		bottom:unset;
		left: auto;
		right: auto;
		top: 50%;
		margin: 0 auto;		
	}
	#full-width-columns.two-col .column {
		padding: 48px;
	}
}
@media screen and (max-width:768px) {
	#full-width-columns.two-col .column-content h3.column-title {
		font-size: 21px;
		line-height: 31px;
	}
	#full-width-columns.two-col .column:first-child .column-content {
	width: 100%;
	gap: 0;
	text-align: center;	
	padding:24px;
	display:block;
}
	#full-width-columns.two-col .column:last-child .column-content {
	width: 100%;		
	gap: 0;
	text-align: center;
	padding:24px;	
	display:block;
}	
	#full-width-columns.two-col .column-content a { display: block; width: 100%; }
	#full-width-columns.two-col .column-content a {margin-top: 24px; }
	#full-width-columns.two-col .column {
		padding: 24px 16px;
	}
}

/* Non-two-column variant */
@media screen and (max-width: 1920px) {
	#full-width-columns:not(.two-col) {
	position: relative;
	width: 100%;
	padding: 50px 0 0 !important;
	margin: 0px 0 0px !important;
	height: auto !important;
}
#full-width-columns:not(.two-col) .fw-grid-container {
	position: relative;
	width: 100vw;
	height: 100%;
	left: 50%;
	top: 0;
	transform: translate(-50%,0);
	display: grid;
	grid-template-columns: 1fr !important;
	column-gap: 4px;
}
#full-width-columns:not(.two-col) .column .column-content {
	text-align: center;
	z-index: 1;
	font-weight: bold;
	position: relative;
	background: white;
	padding: 48px;
	bottom: unset;
	left: unset;
	right: unset;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 48px;
	margin: 48px;
}
}
