:root {
	--fm-page-gutter: clamp(1rem, 2.5vw, 1.5rem);
	--fm-site: 1340px;
}

.fmhome,
.fmblog,
.fmpj,
.fmsvc,
.fmtx,
.fmcert,
.fmcontact,
.fmabout,
.fmps,
.fmwarr {
	width: 100%;
	max-width: var(--fm-site);
	margin-inline: auto;
	box-sizing: border-box;
}

.elementor-widget-shortcode:has(.fmhome),
.elementor-widget-shortcode:has(.fmblog),
.elementor-widget-shortcode:has(.fmpj),
.elementor-widget-shortcode:has(.fmsvc),
.elementor-widget-shortcode:has(.fmtx),
.elementor-widget-shortcode:has(.fmcert),
.elementor-widget-shortcode:has(.fmcontact),
.elementor-widget-shortcode:has(.fmabout),
.elementor-widget-shortcode:has(.fmps),
.elementor-widget-shortcode:has(.fmwarr),
.elementor-widget-shortcode:has(.fmhome) .elementor-widget-container,
.elementor-widget-shortcode:has(.fmblog) .elementor-widget-container,
.elementor-widget-shortcode:has(.fmpj) .elementor-widget-container,
.elementor-widget-shortcode:has(.fmsvc) .elementor-widget-container,
.elementor-widget-shortcode:has(.fmtx) .elementor-widget-container,
.elementor-widget-shortcode:has(.fmcert) .elementor-widget-container,
.elementor-widget-shortcode:has(.fmcontact) .elementor-widget-container,
.elementor-widget-shortcode:has(.fmabout) .elementor-widget-container,
.elementor-widget-shortcode:has(.fmps) .elementor-widget-container,
.elementor-widget-shortcode:has(.fmwarr) .elementor-widget-container,
.elementor-element:has(.fmhome),
.elementor-element:has(.fmblog),
.elementor-element:has(.fmpj),
.elementor-element:has(.fmsvc),
.elementor-element:has(.fmtx),
.elementor-element:has(.fmcert),
.elementor-element:has(.fmcontact),
.elementor-element:has(.fmabout),
.elementor-element:has(.fmps),
.elementor-element:has(.fmwarr) {
	width: 100% !important;
	max-width: 100% !important;
	height: auto !important;
	min-height: 0 !important;
	align-self: stretch !important;
}

html {
	overflow-x: hidden !important;
	width: 100%;
	max-width: 100%;
}

body {
	overflow-x: hidden !important;
	width: 100%;
	max-width: 100%;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

#page,
.site,
.site-main,
.page-content,
.elementor-location-footer {
	max-width: 100%;
	overflow-x: hidden;
	padding-inline: 0 !important;
}

.elementor-location-footer .e-con,
.elementor-location-footer .e-con-inner,
.elementor-location-footer .elementor-widget-shortcode,
.elementor-location-footer .elementor-widget-container {
	max-width: 100% !important;
	padding-inline: 0 !important;
}

.elementor-location-header {
	max-width: 100%;
	overflow-x: visible;
}

.elementor-background-video-container {
	overflow: hidden !important;
	inset: 0 !important;
	width: 100% !important;
	max-width: 100% !important;
}

.elementor-background-video-hosted {
	position: absolute !important;
	top: 50% !important;
	left: 50% !important;
	width: auto !important;
	height: auto !important;
	min-width: 100% !important;
	min-height: 100% !important;
	max-width: none !important;
	transform: translate(-50%, -50%) !important;
	object-fit: cover !important;
}

body > .fmhd__drawer {
	display: flex !important;
}

body > .fmhd__drawer:not(.is-open) {
	pointer-events: none !important;
}

body > .fmhd__overlay {
	display: block !important;
}

body > .fmhd__overlay:not(.is-open) {
	pointer-events: none !important;
}

.slide-contact {
	display: none !important;
}

body.home .elementor-location-header,
body.home .elementor-location-header > .e-con,
body.home .elementor-location-header > .e-con > .e-con-inner {
	width: 100% !important;
	max-width: 100% !important;
}

body.home .elementor-element.elementor-element-12fd8ff,
body.home .elementor-element.elementor-element-12fd8ff > .e-con-inner {
	width: 100% !important;
	max-width: 100% !important;
	margin-inline: 0 !important;
}

body.home .elementor-element.elementor-element-12fd8ff {
	margin-top: 0 !important;
	position: relative;
	z-index: 1;
}

body.home .elementor-element.elementor-element-12fd8ff > .e-con-inner {
	position: relative;
	z-index: 1;
}

body.home .elementor-element.elementor-element-12fd8ff .elementor-background-video-container {
	z-index: 0;
}

@media (max-width: 575px) {
	:root {
		--fm-page-gutter: 10px;
	}

	.fmtx__hero {
		padding-inline: 0;
	}

	.fmtx__section--products,
	.fmtx__section--content,
	.fmtx__cta {
		padding-inline: 0;
	}
}

img,
video {
	max-width: 100%;
}

iframe,
embed,
object {
	max-width: 100%;
}

.fmblog__content iframe,
.fmps__content-inner iframe,
.fmpj__content iframe,
.fmsvc__content iframe,
.fmtx__content iframe {
	max-width: 100%;
	width: 100%;
}
