/**
 * Prevent horizontal page scroll from overflowing Elementor/header content.
 */
html,
body {
	max-width: 100%;
	overflow-x: hidden;
}

.elementor,
.elementor-location-header,
.elementor-location-footer,
.elementor-section,
.e-con,
.e-con-inner {
	max-width: 100%;
}

img,
video,
iframe,
svg,
embed,
object {
	max-width: 100%;
	height: auto;
}

/* Image / logo carousels often push past the viewport */
.elementor-widget-image-carousel .swiper,
.elementor-widget-image-carousel .swiper-container,
.elementor-widget-image-carousel .elementor-swiper,
.elementor-image-carousel-wrapper {
	overflow: hidden !important;
	max-width: 100%;
}

.elementor-widget-image-carousel .swiper-slide img {
	max-width: 100%;
	height: auto;
}

/* Keep flex children from forcing page width */
.e-con.e-flex > .e-con-inner,
.e-con.e-flex {
	min-width: 0;
}

.elementor-widget {
	max-width: 100%;
	min-width: 0;
}
