/*  ==========================================================================
	INDIE.WEB BANNER SECTION MODULE STYLES
    ==========================================================================  */

/*	GENERAL ---------- */

.merge > .inner,
.merge > .inner > .width-100 {
    padding-bottom: 0 !important;
}

/*	Remove space between Sections */
.merge + *,
.merge + * > div:first-child,
.merge + section > .inner,
.merge + section > .inner > div:first-child,
.merge + section > .inner > .flex-container > div:first-child,
/*	Remove space between Page Intro Section and following content */
.merge.section-page-intro + .locomotive-sections > section:first-child > .inner,
.merge.section-page-intro + .locomotive-sections > section:first-child > .inner > div:first-child,
.merge.section-page-intro + .locomotive-sections > section:first-child > .inner > .flex-container > div:first-child {
    padding-top: 0 !important;
}

/*	Ensure correct margin if first paragraph on page is not preceded by a heading */
main > .section-page-intro > .inner > .width-100 > p:first-child,
main > .locomotive-sections > section > .inner .width-100 > p:first-child {
	margin-top: 30px;
}


/*	SEPARATOR --- */

.locomotive-sections .separator {
	padding: 15px 0 !important;
}

.locomotive-sections .separator:first-child {
	padding-top: 0 !important;
}

.locomotive-sections .separator:last-child {
	padding-bottom: 0 !important;
}

.locomotive-sections .separator:only-child {
	padding-top: 15px !important;
	padding-bottom: 15px !important;
}

.locomotive-sections .separator:not(:first-child) > *:not(div):first-child {
	margin-top: 15px;
}

main:not(#contact) .merge.section-page-intro + .locomotive-sections > section:first-child > .inner > .flex-container:first-child > .width-100:first-child > .separator:first-child > *:not(div):first-child {
	margin-top: 0;
}


/*	SECTION BLOCK STYLES ------ */

.locomotive-sections [class*=width-] > [class*=width-],
.locomotive-sections [class*=width-] > .separator > [class*=width-] {
	padding: 0;
}

.locomotive-sections .center[class*=width-].center > *,
.locomotive-sections .center[class*=flex-basis-].center > * {
	margin-left: auto;
	margin-right: auto;
}

.locomotive-sections .right[class*=width-].right > *,
.locomotive-sections .right[class*=flex-basis-].right > * {
	margin-left: auto;
}


/*	BACKGROUND --- */

.bg-white {
	background-color: #fff;
}


/*	TEXT --- */

.txt-white,
.txt-white * {
	color: #fff;
}

.txt-white a {
	color: initial;
}

.txt-white .slick-dots li button {
	color: #fff;
}

.txt-shadow :not(.p-button) {
	text-shadow: 0 0 0.25em rgba(0,0,0,0.75);
}

.txt-shadow .link-button {
	box-shadow: 0 0 15px rgba(0,0,0,0.5);
	text-shadow: initial;
}

/*	IMAGE --- */

.locomotive-sections .img-block-wrap:first-child img {
	margin-top: 30px;
}

img.round {
	border-radius: 50%;
}


/*	ANNOUNCEMENT SECTION ------ */

/*	GENERAL --- */

.section-announcement,
.section-announcement > * {
	position: fixed;
}

.section-announcement {
	z-index: 200; /* ensure Announcement Section is displayed in front of Main Nav + Banner */
	width: 100%;
	height: 100vh; /* ensure Announcement Section covers viewport */
	transform-style: preserve-3d;
	pointer-events: none; /* allow click-through to underlying elements */
}

.section-announcement > div {
	width: 100%;
}

.section-announcement label {
	pointer-events: all;
	cursor: pointer;
}

#announcement-toggle,
#announcement-toggle ~ label,
#announcement-wrap {
	display: none;
}

#announcement-toggle:checked ~ label,
#announcement-toggle:checked ~ #announcement-wrap {
	display: block;
}

.section-announcement .bg-wrap {
	z-index: -1;
}

/*	BAR --- */

.section-announcement .type-bar {
	z-index: 1; /* ensure Announcement Bar is displayed behind Close Button (label) */
	pointer-events: all;
}

.section-announcement .type-bar ~ label {
	z-index: 2; /* ensure Close Button (label) is displayed in front of Announcement Bar */
}

.section-announcement .type-bar.pos-top ~ label {
	top: 15px;
	right: 15px;
}

.section-announcement .type-bar.pos-bottom ~ label {
	bottom: 15px;
	right: 15px;
}

.section-announcement .type-bar .inner {
	padding-top: 0;
	padding-bottom: 0;
}

.section-announcement .type-bar.pos-top {
	top: 0;
}

.section-announcement .type-bar.pos-bottom {
	bottom: 0;
}

/*	POPUP --- */

.section-announcement .type-popup {
	z-index: 2; /* ensure Announcement Popup is displayed in front of blurred background (label) */
	height: 100%;
	background: rgba(0,0,0,0.5);
	backdrop-filter: blur(3px);
	pointer-events: none;
}

.section-announcement .type-popup ~ label {
	top: 0;
	left: 0;
	z-index: 1; /* ensure blurred background (label) is displayed behind Announcement Popup */
	width: 100%;
	height: 100%; /* ensure blurred background (label) covers viewport */
	transform-style: preserve-3d;
}

.section-announcement .type-popup ~ label i {
    position: fixed; /* top + left set in media queries */
	transform: translateZ(1px); /* ensure Close Button (label > i) is displayed in front of Announcement Popup */
}

.section-announcement .type-popup .inner {
	top: 50%;
	transform: translateY(-50%);
}

.section-announcement .type-popup .pos-rel {
	pointer-events: all;
}


/*  ==========================================================================
	INDIE.WEB STANDARD SECTIONS MODULE MEDIA QUERIES
	==========================================================================  */

/*	Screen Sizes 240px and smaller ---------- */
@media only screen
and (max-width : 240px) {

	/*	ANNOUNCEMENT SECTION ------ */

	/*	POPUP --- */

	.section-announcement .type-popup ~ label i {
		top: 7.5px;
		right: 7.5px;
	}

}


/*	Screen Sizes 240px - 640px ---------- */
@media only screen
and (min-width : 240px)
and (max-width : 640px) {

	/*	ANNOUNCEMENT SECTION ------ */

	/*	POPUP --- */

	.section-announcement .type-popup ~ label i {
		top: 22.5px;
		right: 22.5px;
	}

}


/*	Screen Sizes 240px - 480px ---------- */
@media only screen
and (min-width : 240px)
and (max-width : 480px) {

	/*	ANNOUNCEMENT SECTION ------ */

	/*	POPUP --- */

	.section-announcement .type-popup .pos-rel {
		padding: 0 15px;
	}

}


/*	Screen Sizes 480px and larger ---------- */
@media only screen
and (min-width : 480px) {

	/*	ANNOUNCEMENT SECTION ------ */

	/*	POPUP --- */

	.section-announcement .type-popup .pos-rel {
		padding: 15px 30px;
	}

}


/*	Screen Sizes 640px and smaller ---------- */
@media only screen
and (max-width : 640px) {

	/*	GENERAL ---------- */

	.float-container.int-wrap.separator > div:first-child {
		padding-top: 15px;
	}

}


/*	Screen Sizes 640px and larger ---------- */
@media only screen
and (min-width : 640px) {

	/*	GENERAL ---------- */

	.float-container.int-wrap.separator > div {
		padding-top: 15px;
	}

	.section-announcement .type-popup ~ label i {
		top: 30px;
		right: 30px;
	}

}


/*	Screen Sizes 1200px - 1360px ---------- */
@media only screen
and (min-width : 1200px)
and (max-width : 1360px) {

	/*	GENERAL ---------- */

	main:not(#contact) .merge.section-page-intro p:last-child {
		margin-bottom: 45px;
	}

	main:not(#contact) .merge.section-page-intro:not(.heading-only) + .locomotive-sections > section:first-child > .inner > div:first-child > *:not(div):first-child,
	main:not(#contact) .merge.section-page-intro:not(.heading-only) + .locomotive-sections > section:first-child > .inner > .flex-container:first-child > .width-100:first-child > *:not(div):first-child,
	main:not(#contact) .merge.section-page-intro:not(.heading-only) + .inner > div:first-child > *:not(div):first-child  {
		margin-top: -15px;
	}

}


/*	Screen Sizes 1360px - 1520px ---------- */
@media only screen
and (min-width : 1360px)
and (max-width : 1520px) {

	/*	GENERAL ---------- */

	main:not(#contact) .merge.section-page-intro p:last-child {
		margin-bottom: 60px;
	}

	main:not(#contact) .merge.section-page-intro:not(.heading-only) + .locomotive-sections > section:first-child > .inner > div:first-child > *:not(div):first-child,
	main:not(#contact) .merge.section-page-intro:not(.heading-only) + .locomotive-sections > section:first-child > .inner > .flex-container:first-child > .width-100:first-child > *:not(div):first-child,
	main:not(#contact) .merge.section-page-intro:not(.heading-only) + .inner > div:first-child > *:not(div):first-child  {
		margin-top: -30px;
	}

}


/*	Screen Sizes 1520px and larger ---------- */
@media only screen
and (min-width : 1520px) {

	/*	GENERAL ---------- */

	main:not(#contact) .merge.section-page-intro p:last-child {
		margin-bottom: 75px;
	}

	main:not(#contact) .merge.section-page-intro:not(.heading-only) + .locomotive-sections > section:first-child > .inner > div:first-child > *:not(div):first-child,
	main:not(#contact) .merge.section-page-intro:not(.heading-only) + .locomotive-sections > section:first-child > .inner > .flex-container:first-child > .width-100:first-child > *:not(div):first-child,
	main:not(#contact) .merge.section-page-intro:not(.heading-only) + .inner > div:first-child > *:not(div):first-child  {
		margin-top: -45px;
	}

}