/*
 * 314media Full Width / Header + Footer Template
 * Version 1.1.1
 *
 * Keeps the theme header/menu/footer while making the selected page/post body
 * a true full-width Divi canvas. Standard Divi rows are centered inside that
 * full-width canvas so text/modules do not hug the left edge of the screen.
 */

body.m314-full-width-header-footer-template,
body.m314-full-width-no-header-template {
	width: 100%;
	max-width: 100%;
	overflow-x: hidden;
}

body.m314-full-width-header-footer-template .m314-full-width-template-shell,
body.m314-full-width-header-footer-template .m314-full-width-template-inner,
body.m314-full-width-header-footer-template .m314-full-width-template-article,
body.m314-full-width-header-footer-template .m314-full-width-template-content,
body.m314-full-width-no-header-template .m314-full-width-template-shell,
body.m314-full-width-no-header-template .m314-full-width-template-inner,
body.m314-full-width-no-header-template .m314-full-width-template-article,
body.m314-full-width-no-header-template .m314-full-width-template-content {
	box-sizing: border-box;
	width: 100% !important;
	max-width: none !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

/* Stockholm wrapper safety: this template should not inherit boxed content widths. */
body.m314-full-width-header-footer-template .content .content_inner,
body.m314-full-width-no-header-template .content .content_inner {
	width: 100% !important;
	max-width: none !important;
}

/* Divi Builder plugin compatibility: let the Divi canvas and sections span the viewport. */
body.m314-full-width-header-footer-template .et_builder_inner_content,
body.m314-full-width-header-footer-template .et-l,
body.m314-full-width-header-footer-template .et-l--post,
body.m314-full-width-header-footer-template .et_pb_section,
body.m314-full-width-header-footer-template .et_pb_fullwidth_section,
body.m314-full-width-no-header-template .et_builder_inner_content,
body.m314-full-width-no-header-template .et-l,
body.m314-full-width-no-header-template .et-l--post,
body.m314-full-width-no-header-template .et_pb_section,
body.m314-full-width-no-header-template .et_pb_fullwidth_section {
	box-sizing: border-box;
	width: 100% !important;
	max-width: none !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

/*
 * IMPORTANT:
 * The previous build forced regular Divi rows to 100% width. That made modules
 * start at the far-left edge. This keeps sections full screen but centers the
 * standard row content like a normal landing page.
 */
body.m314-full-width-header-footer-template .m314-full-width-template-content .et_pb_section:not(.et_pb_fullwidth_section) > .et_pb_row,
body.m314-full-width-no-header-template .m314-full-width-template-content .et_pb_section:not(.et_pb_fullwidth_section) > .et_pb_row {
	box-sizing: border-box;
	width: min(90%, 1280px) !important;
	max-width: 1280px !important;
	margin-left: auto !important;
	margin-right: auto !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

/* If you intentionally need an edge-to-edge Divi row, add this class to the row. */
body.m314-full-width-header-footer-template .m314-full-width-template-content .et_pb_row.m314-edge-to-edge,
body.m314-full-width-no-header-template .m314-full-width-template-content .et_pb_row.m314-edge-to-edge {
	width: 100% !important;
	max-width: none !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

body.m314-full-width-header-footer-template .m314-full-width-template-content > :first-child,
body.m314-full-width-no-header-template .m314-full-width-template-content > :first-child {
	margin-top: 0;
}

body.m314-full-width-header-footer-template .m314-full-width-template-content > :last-child,
body.m314-full-width-no-header-template .m314-full-width-template-content > :last-child {
	margin-bottom: 0;
}

/* Keep comments readable if comments are enabled. */
body.m314-full-width-header-footer-template .m314-comments-wrap,
body.m314-full-width-no-header-template .m314-comments-wrap {
	box-sizing: border-box;
	width: min(1100px, calc(100% - 40px));
	margin: 40px auto;
}

/* Accessibility helper, in case a theme skip link lands inside content. */
body.m314-full-width-header-footer-template #m314-main-content,
body.m314-full-width-no-header-template #m314-main-content {
	outline: none;
}

@media only screen and (max-width: 980px) {
	body.m314-full-width-header-footer-template .m314-full-width-template-content .et_pb_section:not(.et_pb_fullwidth_section) > .et_pb_row,
	body.m314-full-width-no-header-template .m314-full-width-template-content .et_pb_section:not(.et_pb_fullwidth_section) > .et_pb_row {
		width: calc(100% - 40px) !important;
		max-width: calc(100% - 40px) !important;
	}
}

@media only screen and (max-width: 480px) {
	body.m314-full-width-header-footer-template .m314-full-width-template-content .et_pb_section:not(.et_pb_fullwidth_section) > .et_pb_row,
	body.m314-full-width-no-header-template .m314-full-width-template-content .et_pb_section:not(.et_pb_fullwidth_section) > .et_pb_row {
		width: calc(100% - 28px) !important;
		max-width: calc(100% - 28px) !important;
	}
}
