.announcements {
	position: absolute;
	width: 100%;
	background-color: #5c29a8;
	padding: 20px 15px;
	z-index: 50;
}

.announcements h4, .announcements h4 a {
	font: 600 24px 'Rock Salt', sans-serif;
	line-height: 1.4em;
	text-transform: lowercase;
	text-align: center;
	letter-spacing: 0.1em;
	color: #96d901;
}

.announcements .line.mobile {
	height: 10px;
	width: 100%;
}

.announcements .line.desktop {
	display: none;
}

.announcements p {
	font: 500 16px 'Montserrat', sans-serif;
	line-height: 2em;
	margin-bottom: 0;
	color: #fff;
}

.announcements p:empty {
	display: none;
}

.announcements .close-announcement {
	position: absolute;
	width: 40px;
	height: 40px;
	right: 10px;
	top: 10px;
	background-color: transparent;
	outline: 0;
	padding: 0;
	margin-bottom: 0;
}

.announcements .close-announcement i {
	color: white;
	font-size: 20px;
}

@media screen and (min-width: 40em) {
	.announcements .content-section {
		margin: 0 40px;
	}

	.announcements .close-announcement {
		top: 25px;
		right: 25px;
	}
}

@media screen and (min-width: 64em) {
	.announcements {
		padding: 30px 15px 30px 75px;
	}
	
	.announcements .content-section {
		max-width: 720px;
		margin: 0 auto;
		display: flex;
	}
	
	.announcements .content-left {
		display: flex;
		align-items: center;
		margin-right: 50px;
		-ms-flex: 1 1 40%;
	}
	
	.announcements .content-right {
		display: flex;
		align-items: center;
		-ms-flex: 1 1 90%;
	}

	.announcements .title-cont {
		margin-right: 35px;
	}
	
	.announcements h4, .announcements h4 a {
		font-size: 32px;
		text-align: right;
	}
	
	.announcements .line.mobile {
		display: none;
	}

	.announcements .line.desktop {
		display: block;
	}
	
	.announcements p {
		font-size: 18px;
		line-height: 1.7em;
	}
}

/* Non-IE styles here */
@supports not (-ms-high-contrast: none) {
	.announcements .line.desktop {
		height: 100%;
	}
 }