/**
 * All of the CSS for your public-facing functionality should be
 * included in this file.
 */
/*--------------------------------------------------------------*/
.cnvs-block-section > .cnvs-block-section-outer {
	width: 100%;
	padding-right: 20px;
	padding-left: 20px;
	margin-right: auto;
	margin-left: auto;
}

@media (min-width: 760px) {
	.cnvs-block-section > .cnvs-block-section-outer {
		max-width: 720px;
	}
}

@media (min-width: 1020px) {
	.cnvs-block-section > .cnvs-block-section-outer {
		max-width: 1000px;
	}
}

@media (min-width: 1120px) {
	.cnvs-block-section > .cnvs-block-section-outer {
		max-width: 1080px;
	}
}

@media (min-width: 1240px) {
	.cnvs-block-section > .cnvs-block-section-outer {
		max-width: 1200px;
	}
}

@media (min-width: 1020px) {
	.cnvs-block-section > .cnvs-block-section-outer > .cnvs-block-section-inner {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		margin-right: -20px;
		margin-left: -20px;
	}
}

.cnvs-block-section-with-background-color {
	padding-top: 20px;
	padding-bottom: 20px;
}

.cnvs-block-section-content {
	-webkit-box-flex: 1;
	-ms-flex: 1;
	flex: 1;
	max-width: 100%;
	min-width: 0;
}

.cnvs-block-section-sidebar-inner > *:not(:first-child) {
	margin-top: 3rem;
}

@media (min-width: 1020px) {
	.cnvs-block-section-content {
		position: relative;
		width: 100%;
		padding-right: 20px;
		padding-left: 20px;
		-webkit-box-flex: 1;
		-ms-flex: 1;
		flex: 1;
		max-width: 100%;
		min-width: 0;
	}
	.cnvs-block-section-sidebar {
		position: relative;
		width: 100%;
		padding-right: 20px;
		padding-left: 20px;
		-webkit-box-flex: 0;
		-ms-flex: 0 0 340px;
		flex: 0 0 340px;
		max-width: 340px;
		min-width: 0;
	}
}

@media (min-width: 1120px) {
	.cnvs-block-section-sidebar {
		-webkit-box-flex: 0;
		-ms-flex: 0 0 360px;
		flex: 0 0 360px;
		max-width: 360px;
	}
}

@media (min-width: 1120px) {
	.cnvs-block-section-sidebar-position-left .cnvs-block-section-content {
		-webkit-box-ordinal-group: 2;
		-ms-flex-order: 1;
		order: 1;
	}
	.cnvs-block-section-sidebar-position-left .cnvs-block-section-sidebar {
		padding-right: 40px;
	}
	.cnvs-block-section-sidebar-position-right .cnvs-block-section-sidebar {
		padding-left: 40px;
	}
}

@media (max-width: 1019.98px) {
	.cnvs-block-section-sidebar {
		max-width: 340px;
		margin: 0 auto;
		margin-top: 40px;
	}
}

@media (min-width: 1020px) {
	.cnvs-block-section-layout-align-full {
		width: 100vw !important;
		margin-right: initial;
		margin-left: calc(50% - 50vw);
	}
}

.cnvs-block-section-layout-align-full > .cnvs-block-section-outer {
	max-width: 100% !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

.cnvs-block-section-layout-align-full > .cnvs-block-section-outer > .cnvs-block-section-inner {
	margin-right: 0 !important;
	margin-left: 0 !important;
}

.cnvs-block-section-layout-align-full .cnvs-block-section-content {
	padding-right: 0 !important;
	padding-left: 0 !important;
}

.cnvs-block-section-sidebar-sticky-top .cnvs-block-section-sidebar-inner {
	position: sticky;
	top: 30px;
}

.cnvs-block-section-sidebar-sticky-bottom .cnvs-block-section-sidebar-inner {
	position: sticky;
	bottom: 30px;
	margin-top: auto;
}

@-moz-document url-prefix() {
	.cnvs-block-section-sidebar-sticky-bottom .cnvs-block-section-sidebar-inner {
		position: sticky;
		top: 30px;
		bottom: initial;
		margin-top: initial;
	}
}

.cnvs-block-section-sidebar-sticky-top-last-block .cnvs-block-section-sidebar-inner {
	height: 100%;
}

.cnvs-block-section-sidebar-sticky-top-last-block .cnvs-block-section-sidebar-inner > :last-child {
	position: sticky;
	top: 50px;
}
