:root {
	/* Alert Banner CSS Config */

	/* Colors */
	--ufv-ufvalerts-color-primary: #991b1b;
	--ufv-ufvalerts-color-primary-rgb: 153, 27, 27;
	/* For alpha variants */
	--ufv-ufvalerts-color-background: var(--ufv-neutral-mushroom);
	/* --ufv-ufvalerts-color-background: rgb(252, 238, 219); */
	--ufv-ufvalerts-color-border: var(--ufv-brand-yellow);
	--ufv-ufvalerts-color-text-inverse: #fff;

	/* Spacing */
	--ufv-ufvalerts-padding-block: 1em;
	--ufv-ufvalerts-padding-inline: 15px;
	--ufv-ufvalerts-content-padding-block: 20px;
	--ufv-ufvalerts-content-gap: 1em;

	/* Typography */
	--ufv-ufvalerts-title-size: 1.3em;
	--ufv-ufvalerts-date-size: 0.875em;
	--ufv-ufvalerts-title-weight: 600;

	/* Icon */
	--ufv-ufvalerts-icon-size: 60px;

	/* Close Button */
	--ufv-ufvalerts-minimize-toggle-size: 24px;
	--ufv-ufvalerts-minimize-toggle-offset: 1rem;

	/* Button */
	--ufv-ufvalerts-button-padding-block: 0.5em;
	--ufv-ufvalerts-button-padding-inline: 1em;
	--ufv-ufvalerts-button-radius: 0.25em;

	/* Effects */
	--ufv-ufvalerts-transition-duration: 0.3s;
	--ufv-ufvalerts-shadow: 0px 4px 6px -1px rgba(0, 0, 0, 0.1),
		0px 2px 4px -1px rgba(0, 0, 0, 0.06);
	--ufv-ufvalerts-focus-ring-width: 2px;
	--ufv-ufvalerts-focus-ring-offset: 2px;
}

/* Main alert container */
.ufv-ufvalerts-popup {
	width: 100% !important;
	margin: 0 !important;
	display: flex !important;
	flex-direction: row-reverse !important;
	align-items: center !important;
	background-color: var(--ufv-ufvalerts-color-background) !important;
	border: 1px solid var(--ufv-ufvalerts-color-border) !important;
	padding: 0.25em var(--ufv-ufvalerts-padding-inline) !important;
	box-shadow: var(--ufv-ufvalerts-shadow) !important;
	position: relative !important;
}

/* Content wrapper */
.ufv-ufvalerts-container {
	display: flex !important;
	gap: var(--ufv-ufvalerts-content-gap) !important;
	align-items: flex-start !important;
}

.ufv-ufvalerts-popup .container {
	/* Enforces the minimize toggle doesn't overlap the content */
	padding-right: 32px !important;
}

.ufv-ufvalerts-content {
	flex: 1 !important;
}

/* Typography */
.ufv-ufvalerts-title {
	font-size: var(--ufv-ufvalerts-title-size) !important;
	font-weight: var(--ufv-ufvalerts-title-weight) !important;
	color: var(--ufv-ufvalerts-color-primary) !important;
	margin: 0 !important;
}

.ufv-ufvalerts-date {
	font-size: var(--ufv-ufvalerts-date-size) !important;
	color: var(--ufv-ufvalerts-color-primary) !important;
	margin-bottom: 0.5em !important;
}

.ufv-ufvalerts-description {
	color: var(--ufv-ufvalerts-color-primary) !important;
  font-size: 16px !important;
	margin-bottom: 0 !important;
}

.ufv-ufvalerts-readmore {
	margin: 0 !important;
  font-size: 16px !important;
}

.ufv-ufvalerts-readmore a,
.ufv-ufvalerts-readmore a:visited,
.ufv-ufvalerts-readmore a:hover {
	color: var(--ufv-ufvalerts-color-primary) !important;
}

.ufv-ufvalerts-readmore a:focus {
  color: var(--ufv-ufvalerts-color-primary) !important;
	outline: 2px solid black !important;
  outline-offset: 2px !important;
  border-radius: 4px !important;
}

/* Icon */
.ufv-ufvalerts-icon {
  --ufv-ufvalerts-icon-size: 30px;
	flex-shrink: 0 !important;
	width: var(--ufv-ufvalerts-icon-size) !important;
	height: var(--ufv-ufvalerts-icon-size) !important;
	color: var(--ufv-ufvalerts-color-primary) !important;
  /* Keeps the icon vertically aligned when collapsed without shifting when expanded */
  margin-top: 5px !important;
}

.ufv-ufvalerts-title {
	font-size: 1em !important;
}

/* Alert Minimize Button */
.ufv-ufvalerts-minimize-toggle {
	width: var(--ufv-ufvalerts-minimize-toggle-size) !important;
	height: var(--ufv-ufvalerts-minimize-toggle-size) !important;
	border: none !important;
	background: transparent !important;
	cursor: pointer !important;
	padding: 0 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	color: var(--ufv-ufvalerts-color-primary) !important;
	transition: background-color var(--ufv-ufvalerts-transition-duration) !important;
	z-index: 1 !important;
	align-self: flex-start !important;
	position: absolute !important;
	top: var(--ufv-ufvalerts-minimize-toggle-offset) !important;
}

.ufv-ufvalerts-minimize-toggle:hover {
	background-color: rgba(var(--ufv-ufvalerts-color-primary-rgb), 0.1) !important;
}

.ufv-ufvalerts-minimize-toggle:focus {
	outline: 2px solid black !important;
  outline-offset: 2px !important;
  border-radius: 4px !important;
}

/* Alert Minimized */
.ufv-ufvalerts-popup[data-minimized="true"] .ufv-ufvalerts-date {
	margin: 0 !important;
}

.ufv-ufvalerts-popup[data-minimized="true"] .ufv-ufvalerts-description {
	display: none !important;
}

.ufv-ufvalerts-popup[data-minimized="true"] .ufv-ufvalerts-readmore {
	display: none !important;
}

.ufv-ufvalerts-popup[data-minimized="true"] .ufv-ufvalerts-minimize-icon {
	transform: rotate(180deg) !important;
}




/* Screen reader only utility */
.ufv-ufvalerts-sr-only {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	border: 0 !important;
}

/* Responsiveness */
@media screen and (max-width: 768px) {

	/* Ensures content is aligned to the left on smaller screens */
	.ufv-ufvalerts-popup .container {
		margin-right: auto !important;
		margin-left: 0 !important;
	}
}

@media screen and (max-width: 568px) {

	/* Ensures content uses the full width */
	.ufv-ufvalerts-popup .container {
		margin-right: 0 !important;
		margin-left: 0 !important;
		width: 100% !important;
	}

	/* When it's expanded, forces the alert icon on top and content below. Keeps more horizontal space for content */
	.ufv-ufvalerts-popup[data-minimized="false"] .ufv-ufvalerts-container {
		flex-direction: column !important;
	}
}