* {
	margin: 0;
	padding: 0;
	font-family: "Helvetica Neue",Helvetica,Arial,sans-serif;
}

.ticker-container {
	height: 60px;
	width: 100%;
	text-align: center;
	position: relative;
	overflow: hidden;
	background-color: rgba(0,0,0,1);
	color: white;
	/*background-color: white;
	color: black;*/
	font-size: 1.1em;
	margin-bottom: 15px;
}
.ticker-container .ticker-caption {
	height: 50%;
	width: 100%;
	background-color: #EC0B43;
	display: table;
	position: absolute;
	color: white;
	font-size: 0.8em;
	z-index: 1;
}
.ticker-container .ticker-caption p {
	height: inherit;
	width: inherit;
	display: table-cell;
	vertical-align: middle;
	font-weight: bold;
}
.ticker-container ul {
	list-style: none;
	padding: 0;
	height: auto;
}
.ticker-container ul div {
	overflow: hidden;
	position: absolute;
	z-index: 0;
	display: block;
	min-width: 100%;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	left: 0;
	height: 50%;
	transition: 0.25s ease-in-out;
}
.ticker-container ul div.ticker-active {
	top: 30px;
}
.ticker-container ul div.not-active {
	top: 60px;
}
.ticker-container ul div.remove {
	top: 0;
}
.ticker-container ul div li {
	padding: 5px 0;
	width: 100%;
	min-width: 0;
	box-sizing: border-box;
}
.ticker-container ul div li a {
	color: #EC0B43;
}

.ticker-container ul div li span,
.ticker-container ul div li a {
	min-width: 0;
	max-width: 100%;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

@media (min-width: 500px) {
	.ticker-container {
		height: 30px;
		text-align: left;
	}
	.ticker-container .ticker-caption {
		height: 100%;
		width: 76px !important;
		background: url('./ticker-caption-bg.png');
	}
	.ticker-container .ticker-caption p {
		text-align: left;
		padding-left: 7px;
	}
	.ticker-container ul {
		margin-left: 78px;
		height: 100%;
	}
	.ticker-container ul div {
		height: 100%;
		left: 78px;
	}
	.ticker-container ul div.ticker-active {
		top: 0;
	}
	.ticker-container ul div.not-active {
		top: 30px;
	}
	.ticker-container ul div.remove {
		top: -30px;
	}
}

@media (min-width: 768px) {
  .ticker-container {
    margin-bottom: 10px;
  }
}

@media (min-width: 992px) {
  .ticker-container {
    margin-bottom: 20px;
  }
}

/* ── Fixed responsive ticker ── */
.ticker-fixed {
  height: 36px !important;
  background: linear-gradient(90deg, #1a1a1a 0%, #2d2d2d 100%) !important;
  box-sizing: border-box;
  overflow: hidden;
  padding-right: 130px; /* keep clear of Safety Exit button */
}

.ticker-fixed .ticker-caption {
	height: 100% !important;
	min-height: 0;
	max-height: 100%;
	display: flex;
	align-items: center;
	overflow: hidden;
}

.ticker-fixed .ticker-caption p {
	display: block;
	width: 100%;
	height: auto;
	padding: 0 3px;
	box-sizing: border-box;
	font-size: 12px !important;
	line-height: 15px;
	text-align: center;
	white-space: normal;
}

.ticker-spacer {
  height: 36px;
  flex-shrink: 0;
}

/* Safety Exit is part of the fixed ticker bar. Override the global CTA
   minimum height so it never protrudes below the responsive ticker. */
.safety-exit-wrapper .safety-exit-btn,
.safety-exit-wrapper .safety-exit-btn.has-icon {
  height: 100% !important;
  min-height: 0 !important;
  padding: 0 16px !important;
  border: 0;
  box-sizing: border-box;
  border-radius: 0;
}

.safety-exit-wrapper .safety-exit-btn:hover,
.safety-exit-wrapper .safety-exit-btn:focus-visible {
  transform: none;
}

/* Hide 'LATEST NEWS' label on very small screens to save space */
@media (max-width: 499px) {
  .ticker-fixed .ticker-caption {
    display: none !important;
  }
  /* Without caption, text starts from left edge */
  .ticker-fixed ul {
    margin-left: 0 !important;
  }
  .ticker-fixed ul div {
    left: 0 !important;
  }
  .ticker-fixed ul div li span {
    font-size: 12px !important;
    padding-left: 8px !important;
  }
}

@media (min-width: 500px) and (max-width: 767px) {
	.ticker-fixed,
	.ticker-spacer {
		height: 42px !important;
	}
}

/* Slightly larger on desktop */
@media (min-width: 768px) {
  .ticker-fixed {
    height: 40px !important;
  }
  .ticker-spacer {
    height: 40px;
  }
}
