/* CM Mission Hero Widget */

.cm-mission-hero {
	position: relative;
	display: flex;
	align-items: center;
	width: 100%;
	min-height: 720px;
	overflow: hidden;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	text-decoration: none !important;
	color: #ffffff;
}

.cm-mission-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	background: rgba(0,0,0,0.45);
	z-index: 1;
	pointer-events: none;
}

.cm-mission-hero__content {
	position: relative;
	z-index: 2;
	width: 100%;
	max-width: 760px;
	padding: 80px 40px;
}

.cm-mission-hero__title {
	margin: 0 0 34px;
	color: #ffffff;
	font-size: clamp(58px, 9vw, 128px);
	font-weight: 900;
	line-height: 0.92;
	letter-spacing: -0.06em;
}

.cm-mission-hero__description {
	margin: 0;
	color: #ffffff;
	font-size: clamp(22px, 3vw, 36px);
	font-weight: 400;
	line-height: 1.45;
	letter-spacing: 0.01em;
}

.cm-mission-hero:hover,
.cm-mission-hero:focus {
	color: #ffffff;
	text-decoration: none !important;
}

@media (max-width: 767px) {
	.cm-mission-hero {
		min-height: 620px;
		align-items: flex-end;
	}

	.cm-mission-hero__content {
		padding: 64px 24px;
	}

	.cm-mission-hero__title {
		font-size: clamp(48px, 15vw, 82px);
		margin-bottom: 26px;
	}

	.cm-mission-hero__description {
		font-size: clamp(21px, 6vw, 30px);
		line-height: 1.48;
	}
}


/* v1.0.49 / Mission Hero v1.0.1 - smaller default text */
.cm-mission-hero__title {
	line-height: 1.08 !important;
	letter-spacing: -0.03em !important;
	margin-bottom: 18px !important;
}

.cm-mission-hero__description {
	line-height: 1.45 !important;
	max-width: 620px;
}

.cm-mission-hero {
	min-height: 520px;
}


/* v1.0.50 / Mission Hero v1.0.2 - stronger title hide and same mobile text position */
body.cm-mission-hero-hide-title h1:not(.cm-mission-hero__title),
body.cm-mission-hero-hide-title .entry-title,
body.cm-mission-hero-hide-title .page-title,
body.cm-mission-hero-hide-title .single-title,
body.cm-mission-hero-hide-title .post-title,
body.cm-mission-hero-hide-title .elementor-page-title,
body.cm-mission-hero-hide-title header.entry-header,
body.cm-mission-hero-hide-title .page-header,
body.cm-mission-hero-hide-title .cm-page-title,
body.cm-mission-hero-hide-title .orbital-page-title,
body.cm-mission-hero-hide-title .portfolio-title-area {
	display: none !important;
	visibility: hidden !important;
	height: 0 !important;
	min-height: 0 !important;
	max-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	overflow: hidden !important;
	line-height: 0 !important;
}

.cm-mission-hero {
	align-items: center !important;
}

.cm-mission-hero__content {
	padding: 80px 40px !important;
}

@media (max-width: 767px) {
	.cm-mission-hero {
		align-items: center !important;
		min-height: 520px !important;
	}

	.cm-mission-hero__content {
		padding: 80px 40px !important;
		max-width: 760px !important;
	}

	.cm-mission-hero__title {
	line-height: 1.08 !important;
	letter-spacing: -0.03em !important;
	margin-bottom: 18px !important;
}

	.cm-mission-hero__description {
	line-height: 1.45 !important;
	max-width: 620px;
}
}


/* v1.0.51 / Mission Hero v1.0.3 - slider fix
   Font size is now controlled by Elementor sliders only:
   - Title Font Size changes .cm-mission-hero__title
   - Description Font Size changes .cm-mission-hero__description
*/
.cm-mission-hero__title {
	line-height: 1.08 !important;
	letter-spacing: -0.03em !important;
	margin-bottom: 18px !important;
}

.cm-mission-hero__description {
	line-height: 1.45 !important;
	max-width: 620px;
}

@media (max-width: 767px) {
	.cm-mission-hero__content {
		padding: 80px 40px !important;
	}

	.cm-mission-hero__title {
		line-height: 1.08 !important;
		margin-bottom: 18px !important;
	}

	.cm-mission-hero__description {
		line-height: 1.45 !important;
	}
}


/* Mission Hero Full Width */
.elementor-widget-cm_mission_hero,
.elementor-widget-cm_mission_hero .elementor-widget-container{
width:100% !important;
max-width:none !important;
margin:0 !important;
padding:0 !important;
}

.cm-mission-hero{
position:relative;
width:100vw !important;
max-width:100vw !important;
margin-left:calc(50% - 50vw) !important;
margin-right:calc(50% - 50vw) !important;
border-radius:0 !important;
overflow:hidden !important;
}

.cm-mission-hero *{
box-sizing:border-box;
}


/* v1.0.53 / Mission Hero v1.0.4 - sit directly under service/mission header */
.elementor-widget-cm_mission_hero,
.elementor-widget-cm_mission_hero .elementor-widget-container,
.elementor-widget-cm_mission_hero .cm-mission-hero {
	margin-top: 0 !important;
	padding-top: 0 !important;
}

.elementor-section:has(.cm-mission-hero),
.elementor-container:has(.cm-mission-hero),
.elementor-column:has(.cm-mission-hero),
.elementor-widget-wrap:has(.cm-mission-hero),
.e-con:has(.cm-mission-hero),
.e-con-inner:has(.cm-mission-hero) {
	margin-top: 0 !important;
	padding-top: 0 !important;
}

body.cm-mission-hero-hide-title .site-main,
body.cm-mission-hero-hide-title main,
body.cm-mission-hero-hide-title .content-area,
body.cm-mission-hero-hide-title .entry-content,
body.cm-mission-hero-hide-title .elementor,
body.cm-mission-hero-hide-title .elementor-section:first-child,
body.cm-mission-hero-hide-title .elementor-top-section:first-child,
body.cm-mission-hero-hide-title .e-con:first-child {
	margin-top: 0 !important;
	padding-top: 0 !important;
}

body.cm-mission-hero-hide-title .cm-mission-hero {
	margin-top: 0 !important;
}


/* v1.0.54 / Mission Hero v1.0.5 - force flush directly under service header */
body.cm-mission-hero-hide-title .site-main,
body.cm-mission-hero-hide-title #main,
body.cm-mission-hero-hide-title main,
body.cm-mission-hero-hide-title .content-area,
body.cm-mission-hero-hide-title .site-content,
body.cm-mission-hero-hide-title .content,
body.cm-mission-hero-hide-title .entry-content,
body.cm-mission-hero-hide-title article,
body.cm-mission-hero-hide-title .hentry,
body.cm-mission-hero-hide-title .elementor,
body.cm-mission-hero-hide-title .elementor-section-wrap,
body.cm-mission-hero-hide-title .elementor-location-single,
body.cm-mission-hero-hide-title .elementor-location-archive,
body.cm-mission-hero-hide-title .elementor-top-section:first-child,
body.cm-mission-hero-hide-title .elementor-section:first-child,
body.cm-mission-hero-hide-title .e-con:first-child,
body.cm-mission-hero-hide-title .e-con-inner:first-child {
	margin-top: 0 !important;
	padding-top: 0 !important;
}

body.cm-mission-hero-hide-title .elementor-widget-cm_mission_hero,
body.cm-mission-hero-hide-title .elementor-widget-cm_mission_hero .elementor-widget-container,
body.cm-mission-hero-hide-title .cm-mission-hero {
	margin-top: 0 !important;
	padding-top: 0 !important;
}

body.cm-mission-hero-hide-title .elementor-widget-cm_mission_hero {
	transform: translateY(-1px);
}

body.cm-mission-hero-hide-title .entry-header,
body.cm-mission-hero-hide-title header.entry-header,
body.cm-mission-hero-hide-title .page-header,
body.cm-mission-hero-hide-title .page-title-wrap,
body.cm-mission-hero-hide-title .page-title-wrapper,
body.cm-mission-hero-hide-title .cm-page-title,
body.cm-mission-hero-hide-title .orbital-page-title,
body.cm-mission-hero-hide-title .portfolio-title-area {
	display: none !important;
	height: 0 !important;
	min-height: 0 !important;
	max-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	overflow: hidden !important;
}


/* v1.0.56 / Mission Hero v1.0.7 - Elementor page title toggle behaviour
   Hide title = title removed + hero flush under service/mission header.
   Show title = title restored + hero remains in normal page flow underneath title.
*/
body.cm-mission-hero-hide-title .elementor-widget-cm_mission_hero,
body.cm-mission-hero-hide-title .elementor-widget-cm_mission_hero .elementor-widget-container,
body.cm-mission-hero-hide-title .cm-mission-hero {
	margin-top: 0 !important;
	padding-top: 0 !important;
}

body.cm-mission-hero-show-title .elementor-widget-cm_mission_hero,
body.cm-mission-hero-show-title .elementor-widget-cm_mission_hero .elementor-widget-container,
body.cm-mission-hero-show-title .cm-mission-hero {
	transform: none !important;
}

.cm-mission-hero--title-hide {
	margin-top: 0 !important;
	padding-top: 0 !important;
}


/* v1.0.57 / Mission Hero v1.0.8 - proper early per-page title toggle */
body.cm-mission-hero-page-title-hide h1:not(.cm-mission-hero__title),
body.cm-mission-hero-page-title-hide .entry-title,
body.cm-mission-hero-page-title-hide .page-title,
body.cm-mission-hero-page-title-hide .single-title,
body.cm-mission-hero-page-title-hide .post-title,
body.cm-mission-hero-page-title-hide .elementor-page-title,
body.cm-mission-hero-page-title-hide header.entry-header,
body.cm-mission-hero-page-title-hide .entry-header,
body.cm-mission-hero-page-title-hide .page-header,
body.cm-mission-hero-page-title-hide .page-title-wrap,
body.cm-mission-hero-page-title-hide .page-title-wrapper,
body.cm-mission-hero-page-title-hide .cm-page-title,
body.cm-mission-hero-page-title-hide .cmuk-page-title,
body.cm-mission-hero-page-title-hide .cmuk-title-area,
body.cm-mission-hero-page-title-hide .orbital-page-title,
body.cm-mission-hero-page-title-hide .portfolio-title-area,
body.cm-mission-hero-page-title-hide .service-page-title,
body.cm-mission-hero-page-title-hide .mission-page-title,
body.cm-mission-hero-page-title-hide .title-area {
	display: none !important;
	visibility: hidden !important;
	height: 0 !important;
	min-height: 0 !important;
	max-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	overflow: hidden !important;
	line-height: 0 !important;
}

body.cm-mission-hero-page-title-hide .elementor-widget-cm_mission_hero,
body.cm-mission-hero-page-title-hide .elementor-widget-cm_mission_hero .elementor-widget-container,
body.cm-mission-hero-page-title-hide .cm-mission-hero {
	margin-top: 0 !important;
	padding-top: 0 !important;
}

body.cm-mission-hero-page-title-show .elementor-widget-cm_mission_hero,
body.cm-mission-hero-page-title-show .elementor-widget-cm_mission_hero .elementor-widget-container,
body.cm-mission-hero-page-title-show .cm-mission-hero {
	transform: none !important;
}


/* v1.0.59 - no hover + laboratory spacing */
.cm-mission-hero,
.cm-mission-hero:hover,
.cm-mission-hero:focus,
.cm-mission-hero:active{
transform:none !important;
filter:none !important;
opacity:1 !important;
scale:1 !important;
box-shadow:none !important;
transition:none !important;
}

.cm-mission-hero *,
.cm-mission-hero *:hover,
.cm-mission-hero *:focus,
.cm-mission-hero *:active{
transform:none !important;
filter:none !important;
opacity:1 !important;
box-shadow:none !important;
text-decoration:none !important;
}

.cm-mission-hero__description{
margin:0 0 24px !important;
max-width:620px;
line-height:1.45 !important;
}


/* v1.0.60 - screenshot-style red Mission Hero CTA button */
.cm-mission-hero__button,
.cm-mission-hero__button:visited{
	display:inline-flex !important;
	align-items:center !important;
	justify-content:center !important;
	gap:12px !important;
	background:#d4351c !important;
	color:#ffffff !important;
	border:0 !important;
	border-radius:6px !important;
	padding:16px 28px !important;
	min-height:56px !important;
	font-size:20px !important;
	font-weight:800 !important;
	line-height:1.2 !important;
	text-decoration:none !important;
	box-shadow:none !important;
	transition:none !important;
	transform:none !important;
	filter:none !important;
	opacity:1 !important;
}

.cm-mission-hero__button:hover,
.cm-mission-hero__button:focus,
.cm-mission-hero__button:active{
	background:#d4351c !important;
	color:#ffffff !important;
	text-decoration:none !important;
	box-shadow:none !important;
	transition:none !important;
	transform:none !important;
	filter:none !important;
	opacity:1 !important;
}

.cm-mission-hero__button-text,
.cm-mission-hero__button-icon{
	color:#ffffff !important;
	text-decoration:none !important;
	line-height:1 !important;
}

.cm-mission-hero__button-icon{
	font-size:32px !important;
	font-weight:800 !important;
	line-height:0.8 !important;
	margin-top:-1px !important;
}
