/* Special Alert */

/* Mobile & up */
.special-alert {
	position: fixed;
	bottom: 0;
	left: 0;
	right: 0;
	opacity: 0;
	pointer-events: none;
	z-index: 100000;
	transition: opacity 0.1s ease;
}


@media(max-width: 64em) {
	/* fallback for older browsers that don't support CSS :has */
	.special-alert {
		bottom: 80px;
	}
	
	/* use to target footer elements only when the dtn mobile banner is present*/
	.contentRender_name_plugins_common_footer:has(.contentRender_name_plugins_collections_template_custom_dtn_mobile_banner .slide[style*="display: block"]) {
		.special-alert {
			bottom: 80px;
		}
	}
	
	/* use to target footer elements only when the dtn mobile banner is hidden*/
	.contentRender_name_plugins_common_footer:has(.contentRender_name_plugins_collections_template_custom_dtn_mobile_banner .dtn-mobile-banner.hide) {
		.special-alert {
			bottom: 0;
		}
	}
}

.show-special-alert .special-alert {
	opacity: 1;
	pointer-events: all;
	transition: opacity 0.5s ease;
}

.special-alert .shader {
	width: calc(100% - 80px);
	height: 50px;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	background-color: rgba(255, 255, 255, 0.0);
	cursor: pointer;
	z-index: 100001;
	transition: opacity 0.5s ease;
}

.special-alert .alert {
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-width: 310px;
	max-width: 410px;
	min-height: 200px;
	padding: 17px 20px 20px;
	position: absolute;
	left: 50%;
	top: 60%;
	transform: translate(-50%, -100%);
	transition: all 0.5s ease;
	border-radius: 0px;
	background-color: #4abad1;
	color: #000;
	z-index: 100002;
}
.special-alert.shrink .alert {
	height: 50px;
	min-height: auto;
	padding: 0 0 3px 15px;
}
.special-alert.shrink .alert .title {
	margin: 5px 0 0;
	font-size: 17px;
}
.special-alert.shrink .alert .content,
.special-alert.shrink .alert .newsletter-signup
{
	display: none;
}

.special-alert .alert .content {
	margin: 10px 0 20px;
}
.special-alert .alert .content img {
	float: left;
}
.show-special-alert .special-alert .alert {
	transition: all 0.5s ease;
	top: 100%;
}
.special-alert .alert .closer {
	margin: 0;
	padding: 10px;
	position: absolute;
	top: 0px;
	right: 10px;
	background-color: transparent;
	border: 0;
	color: #84dde3;
	cursor: pointer;
	outline: none;
}
.special-alert .alert .closer:after {
	content: '';
}
.special-alert .alert .closer:hover {
	opacity: 0.8;
}
.special-alert .alert .closer .fa {
	font-size: 26px;
}
.special-alert.shrink .alert .closer .fa.fa-times {
	display: inline-block;
}

.special-alert .alert .title {
	margin: 0 0 5px 0;
	text-align: left;
	font-family: 'Josefin Sans', sans-serif;
	font-size: 25px;
	line-height: 26px;
	font-weight: 700;
	color: #fff;
	cursor: default;
	letter-spacing: 2px;
}
.special-alert .alert .title img {
	vertical-align: top;
	padding-right: 4px;
}
.special-alert .alert .sub-title {
	font-family: 'Josefin Sans', sans-serif;
	font-size: 52px;
	text-align: center;
	color: #000;
	line-height: 60px;
	padding: 16px 0 22px;
}
.special-alert .alert .sub-title img {
	margin: 0 25px 7px 0;
}

.special-alert .alert .teaser {
	margin-bottom: 0px;
	color: #000;
	text-align: left;
	cursor: default;
	padding-left: 0px;
	display: inline-block;
	vertical-align: top;
}
.special-alert .alert.has-image .teaser {
	width: calc(100% - 100px);
	padding-left: 20px;
}
.special-alert .alert.has-signup-form .teaser {
	padding-bottom: 0px;
	border-bottom: 0px solid #777777;
}
.special-alert .alert .teaser p {
	color: #fff;
	font-size: 20px;
	font-family: 'Cormorant Garamond', serif;
	line-height: 23px;
}
.special-alert .alert .teaser p:last-of-type {
	margin-bottom: 0;
}

.special-alert .cta {
	display: inline-block;
	padding: 5px 25px;
	margin-bottom: 1px;
	align-self: center;
	font-family: 'Josefin Sans', sans-serif;
	font-size: 22px;
	background-color: #ed1b23;
	text-transform: none;
	color: #fff;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	border-radius: 5px;
}

.special-alert .newsletter-signup {
	display: flex;
	flex-direction: column;
	justify-content: space-evenly;
	align-items: center;
}
	.special-alert .newsletter-signup .inputs {
		display: flex;
		flex-direction: row;
		margin-bottom: 15px;
	}
.special-alert .newsletter-signup .email,
.special-alert .newsletter-signup .postal_code {
	height: 34px;
	max-width: 310px;
	margin-bottom: 0;
	border-radius: 10px;
	border: 0;
	border: 0px solid #000;
	border-radius: 0;
	box-shadow: 0 0 0 0;
	color: #313131;
	font-family: 'Josefin Sans', sans-serif;
	font-size: 14px;
	-webkit-border-radius: 0px;
	-moz-border-radius: 0px;
	border-radius: 0px;
	text-align: left;
	padding: 3px 15px 0;
}
.special-alert .newsletter-signup .email::placeholder,
.special-alert .newsletter-signup .postal_code::placeholder {
	color: #313131;
	text-transform: uppercase;
	font-family: 'Josefin Sans', sans-serif;
	font-size: 14px;
	line-height: 34px;
	text-align: left;
}
.special-alert .newsletter-signup .email {
	flex: 2;
	margin-right: 15px;
}
.special-alert .newsletter-signup .postal_code {
	flex: 1;
}
.special-alert .newsletter-signup .submit {
	width: 210px;
	margin: 0;
	padding: 15px 40px 15px 15px;
	font-family: 'Josefin Sans', sans-serif;
	font-size: 14px;
	line-height: 10px;
	font-weight: normal;
	color: #fff;
	background-color: #21a0b8;
	border: 2px solid #fff;
	-webkit-border-radius: 0px;
	-moz-border-radius: 0px;
	border-radius: 0px;
}
.special-alert .newsletter-signup .submit:after {
	top: calc(50% + 1px);
	right: 10px;
}
.special-alert .newsletter-signup .submit .fa {
	padding-left: 5px;
}

/* Tablet & down */
@media only screen and (max-width: 64.063em) {
	.special-alert .alert {
		padding-bottom: 10px;
	}	
	.special-alert .alert .sub-title {
		font-size: 40px;
		padding: 5px 0 5px;
	}
	.special-alert .alert .sub-title img {
		display: block;
	    text-align: center;
	    margin: 10px auto 0;
	}
	.special-alert .alert .teaser {
		padding-left: 0px;
	}
	.special-alert .alert.has-image .teaser {
		width: calc(100% - 90px);
		padding-left: 10px;
	}
	.special-alert .alert.has-signup-form .teaser {
		padding-bottom: 0px;
	}
	.special-alert .newsletter-signup {
		display: block;
	}
	.special-alert .newsletter-signup .inputs {
		margin-bottom: 5px;
	}
	.special-alert .newsletter-signup .email {
		max-width: 100%;
	}
	.special-alert .newsletter-signup .submit {
		width: 100%;
		margin: 10px 0;
	}
	.special-alert .alert .closer {
		right: 0px;
	}
	.special-alert .alert .closer .fa {
		font-size: 30px;
	}
}