/******************************* ticker **************************/
div.eca-ticker{display:block;text-align:center;margin:0 15px 15px 15px;padding:3px;background:#fefefe;border:1px solid rgba(0,0,0,0.1);border-left:5px solid #415471}
div.eca-ticker > span{display:inline-block;background:#415471;padding:0;font-weight:700; font-size: 12px}
div.eca-ticker > span > a{color:#222;text-decoration:none}
div.eca-ticker > div.ticker{min-height:46px;background:#ffffff;text-align:left}
div.eca-ticker > div.ticker ul{padding:0;margin:0;list-style:none}
div.eca-ticker > div.ticker ul li{min-height:46px}
div.eca-ticker > div.ticker ul li i{float:left;width:36px;height:36px;margin:4px 7px 4px 4px;color: #0066a9;}
div.eca-ticker > div.ticker ul li span{margin:0;font-size: 13px;display:inline;}

@media (max-width: 768px) {
	div.eca-ticker > div.ticker ul li span a.button {
		-webkit-border-radius: 4px;
		border-radius: 4px;
		background-color:#fff;
		border:1px solid #0066a9;
		color:#0066a9;
		display:block;
		padding:10px;
		margin-top: 5px;
		text-align:center;
		width:100%
	}
	
	div.eca-ticker > div.ticker ul li { text-align:justify }
}

/******************************* accordion **************************/
.eca-accordion-container {
	margin: 0 auto;
	padding: 1rem;
	width: 100%;
}

.eca-accordion .accordion-item { border-bottom: 1px solid #e5e5e5; } 
.eca-accordion .accordion-item button[aria-expanded=true] { border-bottom: 1px solid #0066a9; }
.eca-accordion button {
	position: relative;
	display: block;
	text-align: left;
	width: 100%;
	padding: 1em 0;
	color: #333333;
	font-size: 20px;
	font-weight: 400;
	border: none;
	background: none;
	outline: none;
}
.eca-accordion button h3{ margin-top:0; margin-bottom:0; }
.eca-accordion button:hover, .accordion button:focus { cursor: pointer; color: #0066a9; } 
.eca-accordion button:hover::after, .accordion button:focus::after {
	cursor: pointer;
	color: #03b5d2;
	border: 1px solid #03b5d2;
}
.eca-accordion button .accordion-title { display: block; padding: 0; margin: 0; width: 97%;}

@media (max-width: 480px) {
	.eca-accordion button .accordion-title { width: 93%;}
}

@media (min-width: 481px) and (max-width: 768px) {
	.eca-accordion button .accordion-title { width: 95%;}
}

.eca-accordion button .icon {
	display: inline-block;
	position: absolute;
	top: 24px;
	right: 0;
	width: 22px;
	height: 22px;
	border: 1px solid;
	border-radius: 22px;
}
.eca-accordion button .icon::before {
	display: block;
	position: absolute;
	content: '';
	top: 9px;
	left: 5px;
	width: 10px;
	height: 2px;
	background: currentColor;
}
.eca-accordion button .icon::after {
	display: block;
	position: absolute;
	content: '';
	top: 5px;
	left: 9px;
	width: 2px;
	height: 10px;
	background: currentColor;
}
.eca-accordion button[aria-expanded=true] { color: #0066a9; }
.eca-accordion button[aria-expanded=true] .icon::after { width: 0; }
.eca-accordion button[aria-expanded=true] + .accordion-content {
	opacity: 1;
	max-height: 100%;
	transition: all 200ms linear;
	will-change: opacity, max-height;
}
.eca-accordion .accordion-content {
	opacity: 0;
	max-height: 0;
	overflow: hidden;
	transition: opacity 200ms linear, max-height 200ms linear;
	will-change: opacity, max-height;
}
.eca-accordion .accordion-content p {
	font-size: 14px;
	font-weight: 300;
	margin: 1em 0;
}
.eca-accordion .accordion-content p.teaser {
	font-size: 14px;
	margin: 1em 0;
	text-align:justify;
}

.eca-accordion .accordion-content div.teaser {
	font-size: 14px;
	margin: 1em 0;
	text-align:justify;
}

.eca-accordion .accordion-content p.content {
	font-size: 14px;
	margin: 1em 0;
	text-align:justify;
}

.eca-accordion .accordion-content p.sub { margin-top:19px; margin-bottom:10px;}

/******************************* teaser grid **************************/
.grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(100%, 1fr));
	grid-gap: 20px;
	align-items: stretch;
}

.grid > article { border: 1px solid #ccc; box-shadow: 0px 0px 0px 0px  rgba(0,0,0,0.3); }

.grid > article.orange{ border-top: 5px solid #0066a9; }

.grid > article.green{ border-top: 5px solid #418321; }

.grid > article.blue{ border-top: 5px solid #008080; }

.text {
	padding: 0 20px 20px;
	hyphens: auto;
	text-align: justify;
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	height: 100%;
}

.text > h3 { font-size: 19x; }

.text > .card-text { flex: 1 1 auto; margin-bottom: 1.25rem; }

.text > .button {
	background-color: #fff;
	border: 1px solid #0066a9;
	color: #0066a9;
	padding: 10px;
	width: 100%;
	display: block;
	text-align: center;
}
/******************************* call to action box **************************/
.eca-t-container {
	background:#fff;
	display:flex;
	flex-wrap:wrap;
	height:300px;
	justify-content:space-between;
	position:relative;
	width:99%
}

.eca-t-container .imgBox {
	align-items:center;
	background:#fff;
	border-right: 1px solid #bbb;
	display:flex;
	height:100%;
	justify-content:center;
	position:relative;
	transition:.3s linear;
	width:40%
}

.eca-t-container .imgBox:before {
	color:#0066a9;
	content:"E-Control";
	font-size:3em;
	font-weight:800;
	opacity:.5;
	position:absolute;
	top:0
}

.eca-t-container .imgBox i { position:relative; transition:.9s linear }

.eca-t-container .details {
	align-items:center;
	box-sizing:border-box;
	display:flex;
	height:100%;
	justify-content:center;
	padding:20px;
	width:60%
}

.eca-t-container .details .eca-t-title {
	line-height:1em;
	margin:0;
	padding:0
}

.eca-t-container .details p {
	color:#333;
	font-size:15px;
	margin-bottom:36px;
	margin-left:15%;
	max-width:85%
}

.eca-t-container .details .call {
	color:#a2a2a2;
	float:left;
	margin:0;
	padding:0
}

.eca-t-container .details a {
	background:#0066a9;
	border:none;
	border-radius:4px;
	border: solid 1px #0066a9;
	color:#fff;
	float:right;
	font-size:16px;
	font-weight:600;
	letter-spacing:1px;
	margin-top:5px;
	outline:none;
	padding:15px 20px;
	text-transform:uppercase;
	text-decoration: none
}

.eca-t-container .details ul { list-style:none; padding:0 }

.eca-t-container .details li { padding-left:1.3em }

.eca-t-container .details li:before {
	color:#0066a9;
	content:"\f14a";
	display:inline-block;
	font-family:FontAwesome;
	margin-left:-1.3em;
	width:1.3em
}

@media (max-width: 1080px) {
	.eca-t-container { height:auto }

	.eca-t-container .imgBox {
		box-sizing:border-box;
		border-right: unset!important;
		height:auto;
		overflow:hidden;
		padding-bottom:20px;
		padding-top:95px;
		text-align:center;
		width:100%!important
	}

	.eca-t-container .imgBox i { left:initial; max-width:100% }

	.details {
		height:auto;
		padding:20px;
		width:100%!important
	}

	.eca-t-container .details .call { text-align:justify }

	.eca-t-container .details p { margin-left:0; max-width:100% }
}

/******************************* products view **************************/
.p-img {
	border:0;
	display:block;
	height:auto!important;
	width:100%
}

.p-cards {
	display:grid;
	grid-auto-rows:minmax(200px,auto);
	grid-gap:1rem;
	grid-template-columns:repeat(auto-fill,minmax(250px,1fr))
}

.p-card {
	-ms-flex-direction:column;
	-webkit-box-shadow:0 2px 2px rgba(0,0,0,0.15);
	border:2px solid #e7e7e7;
	border-radius:4px;
	box-shadow:0 2px 2px rgba(0,0,0,0.15);
	color:#5d5e5e;
	display:flex;
	flex-direction:column;
	padding:.5rem;
	position:relative
}

.p-card-content {
	-ms-flex:1;
	-ms-flex-direction:column;
	-webkit-box-direction:normal;
	-webkit-box-flex:1;
	-webkit-box-orient:vertical;
	display:flex;
	flex:1;
	flex-direction:column;
	text-align:justify
	}

.p-card-content h2 { margin-top:5px!important }

.p-card-content p { margin-top:5px!important }

.p-panel.p-card-panel .panel-header {
	background-color:#fff;
	font-size:.75rem;
	font-weight:400;
	height:25px!important
}

.p-panel.p-card-panel .p-panel-content { -ms-flex:1; -webkit-box-flex:1; flex:1 }

.p-footer {
	border-top:2px solid #e7e7e7;
	margin:.5rem 0 0;
	flex: 1
}

.p-actions {
	background:#fff;
	bottom:0;
	left:0;
	padding:10px;
	width:100%
}

.p-actions .p-button { margin:0 1% 5px; width:100% }

.p-button {
	background:none;
	border:none;
	cursor:pointer;
	display:block;
	padding:10px 15px;
	text-align:center;
	transition:all 100ms linear
}

.p-button.blue-solid {
	background:#0066a9;
	border:solid 2px #0066a9;
	color:#fff!important
}

.p-button.blue-solid:hover { background:#699ac9; border:solid 2px #699ac9 }

.p-button.black-simple { border:solid 2px #10222b; color:#000!important }

.p-button.black-simple:hover { background:#10222b; color:#fff!important }

.p-button.downl:before {
	content:'\f019';
	display:inline-block;
	font-family:fontawesome;
	padding:0 10px 0 0
}

.p-button.more:before {
	content:'\f067';
	font-family:fontawesome;
	padding:0 10px 0 0
}

/******************************* Responsive Aspect Ratios For Divs **************************/
[style*="--aspect-ratio"] > :first-child { width: 100%; }

[style*="--aspect-ratio"] > img { height: auto; }

@supports (--custom:property) {
	[style*="--aspect-ratio"] { position: relative; }

	[style*="--aspect-ratio"]::before {
		content: "";
		display: block;
		padding-bottom: calc(100% / (var(--aspect-ratio)));
	}
	
	[style*="--aspect-ratio"] > :first-child {
		position: absolute;
		top: 0;
		left: 0;
		height: 100%;
	}
}

/******************************* tiles **************************/
.eca-tile-wrap {
	width:100%;
	height:100%;
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(250px,1fr));
	grid-auto-rows: 120px;
	gap: 10px;
	justify-content: center;
	align-content: center;
	padding-top: 10px;
	padding-bottom: 10px;
}

.eca-box {
	border-radius:2px;
	border-style: solid;
	border-color: #0066a9;
}

.eca-box > a {
	display:inline-block;
	width:100%;
	height:100%;
	text-align: center;
	font-size:20px;
	line-height:1.1;
	color: #0066a9;
	padding: .3em;
	display: flex;
    justify-content: center;
    align-items: center;
}

.eca-box > a:hover { 
	background-color:#0066a9;
	color: #fff!important;
	text-decoration: none;
}

/******************************* additional **************************/
.ec-media-heading > a.ec-media-headline-link { 
    font-family: Arial,sans-serif;
    font-size: 13px;
    line-height: 1.5;
	font-weight: bold;
}

/******************************* tabs **************************/
.eca-tabs-wrapper { margin:0 auto; padding:10px }

.eca-tabs-wrapper input[type="radio"] { display:none }

.eca-tabs-wrapper label {
	border-top-left-radius:3px;
	border-top-right-radius:3px;
	color:#999;
	cursor:pointer;
	display:inline-block;
	height:3em;
	line-height:3em;
	margin-bottom:0;
	min-width:20%;
	padding-left:5px;
	padding-right:5px;
	text-align:center;
	transition:background .4s ease-in-out, height .2s linear
}

.eca-tabs-wrapper label:last-of-type { border-bottom:none }

.eca-tabs-wrapper label:hover { background:#f1f1f1 }

.eca-tabs-wrapper .tab-body {
	padding:0 10px;
	position:absolute;
	text-align:justify;
	top:-9999px
}

.eca-tabs-wrapper .tab-body-wrapper { background:#fff; border-top:#0066a9 1px solid }

@media screen and max-width 1600px{
	.eca-tabs-wrapper label { min-width:15% }
}

@media screen and max-width 900px{
	.eca-tabs-wrapper label { min-width:20% }
}

@media screen and (max-width: 600px) {
	.eca-tabs-wrapper label {
		border-bottom:1px solid #0066a9;
		border-radius:0;
		display:block;
		padding-left:5px;
		padding-right:5px;
		width:100%
	}
}
@media screen and (max-width: 600px) {
	.eca-tabs-wrapper { margin:0 }
}

@media screen and (max-width: 600px) {
	.eca-tabs-wrapper .tab-body-wrapper { border:none; border-radius:0 }
}