/* [26/6/2025] Extra styles and overrides */
.fullwidth-accordion{}
.fullwidth-accordion>div{
  padding: 3rem 0;
}
.fullwidth-accordion>div .center-content{
  padding: 0 2.5rem;	
}

.fullwidth-accordion .acccord-row{
	position: relative;
}
/*	.fullwidth-accordion .acccord-row:not(:last-child){*/
	.fullwidth-accordion .acccord-row{
		margin-bottom: 1.25rem;
	}
/*	.fullwidth-accordion .acccord-row:not(:last-child)::after{*/
	.fullwidth-accordion .acccord-row::after{
		content: '';
		display: block;
		position: relative;
		width: calc( 100% - 5rem );
		left: 2.5rem;
		border-bottom: 1px solid #440099;
	}
	.fullwidth-accordion .acccord-row:first-child{}
	.fullwidth-accordion .acccord-row:first-child::before{
		content: '';
		display: block;
		position: relative;
		width: calc( 100% - 5rem );
		left: 2.5rem;
		border-bottom: 1px solid #440099;
		margin-bottom: 1.25rem;
	}


.fullwidth-accordion .acccord-row .accord-head{}
	.fullwidth-accordion .acccord-row .accord-head button{
		display: block;
		appearance: none;
		-webkit-appearance: none;
		color: #440099;
		fill: #440099;
		background-color: transparent;
		border: 0;
		padding: 0;
		margin: 0 0 1.25rem 0;
		text-align: left;
		font-weight: bold;
		box-shadow: none;
	}
		.fullwidth-accordion .acccord-row .accord-head button:hover{
			color: #440099;
			fill: #440099;
			background-color: transparent;
			opacity: 0.95;
		}

	.fullwidth-accordion .acccord-row .accord-head button .label{ 
		margin: 0; 
	}
	.fullwidth-accordion .acccord-row .accord-head button .icon{
		display: inline-block;
		vertical-align: baseline;
		height: 1.75rem;
		width: 1.75rem;
		position: relative;
	}
		.fullwidth-accordion .acccord-row:not(.open) button .icon .icon-plus{
			transform: rotate(0deg);
			transform-origin: center;
			transition: transform 0.15s ease;
		}
		.fullwidth-accordion .acccord-row.open button .icon .icon-plus{
			transform: rotate(90deg);
			transform-origin: center;
			transition: transform 0.15s ease;
		}

.fullwidth-accordion .acccord-row .accord-body{
	padding: 0;
	margin: 0;
	position: relative;
}
	.fullwidth-accordion .acccord-row .accord-body img.accord-image{
		display: block;
		object-fit: cover;
		object-position: center;
		aspect-ratio: 4/3;
		box-sizing: border-box;
/*		padding-right: 2.5rem;*/
	}
	.fullwidth-accordion .flexcontainer_service{
		column-gap: 2.5rem;
	}
	.fullwidth-accordion .flexcontainer_service .flex-parts-33{}
	.fullwidth-accordion .flexcontainer_service .flex-parts-66{
		flex-shrink: 1;
		flex-grow: 1;
	}


@media only screen and (max-width: 769px){
	.fullwidth-accordion>div{
			padding: 1.75rem 0;
	}
	.fullwidth-accordion>div .center-content{
		padding: 0 0;
	}

	.fullwidth-accordion>div.left-col{
		padding-bottom: 0;
	}
	.fullwidth-accordion>div.right-col{}

	.fullwidth-accordion .acccord-row::after,
	.fullwidth-accordion .acccord-row:first-child::before{
		width: 100%;
		left: 0;
	}

}


.text-left{ text-align: left; }
.text-right{ text-align: right; }
.text-center{ text-align: center; }
.text-bold{ font-weight: bold; }

.flex-container{
	width: 100%; max-width: 100%; height: 100%; min-height: inherit; position: relative; padding: 0; margin: 0; box-sizing: border-box;
	display: flex; flex-wrap: nowrap; flex-direction: row; 
	align-items: flex-start;  align-content: flex-start;  justify-content: flex-start;
}
	.flex-container.flex-nowrap{ flex-wrap: nowrap!important; }
	.flex-container.flex-wrap{ flex-wrap: wrap; }
	.flex-container.flex-row{ flex-direction: row; }	
	.flex-container.flex-row-reverse{ flex-direction: row-reverse; }	
	.flex-container.flex-center{ align-items: center; align-content: center; justify-content: flex-start; }
	.flex-container.flex-end{ align-items: flex-end; align-content: flex-end; justify-content: flex-start; }
	.flex-container.flex-stretch{ align-items: stretch; align-content: flex-start; justify-content: stretch; }
	.flex-container.flex-edges{ align-items: flex-start; align-content: space-between; justify-content: space-between; }
	.flex-container.flex-edges-center{ align-items: center; align-content: space-between; justify-content: space-between; }
	.flex-container.flex-edges-stretch{ align-items: stretch; align-content: space-between; justify-content: space-between; }

		/* note IE can't handle left/right padding on flex-item - ignores border-box */
		.flex-container .flex-item{ 
			display: block; flex-basis: auto; flex-grow: 0; flex-shrink: 0; position: relative; 
			box-sizing: border-box; box-shadow: none; text-decoration: none; border: 0px none; margin: 0 0; padding: 0 0; max-width: 100%; 
		}
		.flex-container .flex-item.flex-grow{ flex-grow: 1; }
			.flex-container .flex-item.flex-parts-auto{ flex-grow: 1; flex-shrink: 1; }
			.flex-container .flex-item.flex-parts-100{ flex-basis: 100%; width:100%; }
			.flex-container .flex-item.flex-parts-75{ flex-basis: 75%; width: 75%; }
			.flex-container .flex-item.flex-parts-50{ flex-basis: 50%; width: 50%; }
			.flex-container .flex-item.flex-parts-25{ flex-basis: 25%; width: 25%; }
			.flex-container .flex-item.flex-parts-66{ flex-basis: 66.66%; width: 66.66%; }
			.flex-container .flex-item.flex-parts-33{ flex-basis: 33.33%; width: 33.33%; }


@media (max-width: 640px) {
	.flex-container:not(.flex-nowrap){ flex-wrap: wrap; }
	.flex-container:not(.flex-nowrap) .flex-item.flex-parts-75,
	.flex-container:not(.flex-nowrap) .flex-item.flex-parts-50,
	.flex-container:not(.flex-nowrap) .flex-item.flex-parts-25,
	.flex-container:not(.flex-nowrap) .flex-item.flex-parts-66,
	.flex-container:not(.flex-nowrap) .flex-item.flex-parts-33{ flex-basis: 100%; width: 100%; }

	.fullwidth-accordion .acccord-row .accord-body img.accord-image{
		padding-right: 0;
		padding-bottom: 1.75rem;
	}
}
