/**
 *	. Globals
 *		- Typography
 *		- Form
 *		- Padding
 *	. Layout
 *		- Big Pad
 *		- Fill Height
 *		- Dynamic Heading
 *		- Title Path
 *		- Divider
 *		- Slider
 *		- Blurb
 *	. Content
 *		- Main
 *		- CPT Equipment
 *		- CPT Service
 *	. Parts
 *		- Header
 *		- Footer
 *
 */



:root {

	--ime-layout-width: min(80vw, 1080px);

	--ime-pad: 30px;
	--ime-column-pad: 10vw;
	--ime-big-pad: calc( ( var(--ime-globals-w) - var(--ime-layout-width) ) / 2 );

	--ime-ease: .4s ease-out;


	/* colors */
	--ime-colors-color1: #b8353a; /* red */
	--ime-colors-color2: #434242; /* grey */
	--ime-colors-color2-rgb: 67,66,66;


	/* typography */
	--ime-fonts-family-body: 'Open Sans',Helvetica,Arial,Lucida,sans-serif;
	--ime-fonts-family-heading: 'Open Sans',Helvetica,Arial,Lucida,sans-serif;

	--ime-fonts-size-body-inc: 1;
	--ime-fonts-size-heading-inc: .75;

	--ime-fonts-size-h1: calc( 64px * var(--ime-fonts-size-heading-inc) ); /*30px*/
	--ime-fonts-size-h2: calc( 48px * var(--ime-fonts-size-heading-inc) ); /*26px*/
	--ime-fonts-size-h3: calc( 32px * var(--ime-fonts-size-heading-inc) ); /*22px*/
	--ime-fonts-size-h4: calc( 24px * var(--ime-fonts-size-heading-inc) ); /*18px*/
	--ime-fonts-size-body: calc( 18px * var(--ime-fonts-size-body-inc) );
	--ime-fonts-size-body-small: calc( 14px * var(--ime-fonts-size-body-inc) );
	--ime-fonts-size-body-xsmall: calc( 11px * var(--ime-fonts-size-body-inc) );

	--ime-fonts-lineheight-inc: 1.4;

	--ime-fonts-lineheight-h1: calc( var(--ime-fonts-size-h1) * var(--ime-fonts-lineheight-inc) );
	--ime-fonts-lineheight-h2: calc( var(--ime-fonts-size-h2) * var(--ime-fonts-lineheight-inc) );
	--ime-fonts-lineheight-h3: calc( var(--ime-fonts-size-h3) * var(--ime-fonts-lineheight-inc) );
	--ime-fonts-lineheight-h4: calc( var(--ime-fonts-size-h4) * var(--ime-fonts-lineheight-inc) );
	--ime-fonts-lineheight-body: calc( var(--ime-fonts-size-body) * var(--ime-fonts-lineheight-inc) );
	--ime-fonts-lineheight-body-small: calc( var(--ime-fonts-size-body-small) * var(--ime-fonts-lineheight-inc) );
	--ime-fonts-lineheight-body-xsmall: calc( var(--ime-fonts-size-body-xsmall) * var(--ime-fonts-lineheight-inc) );

	--ime-fonts-letterspacing-body-xsmall: 2px;

	--ime-fonts-weight-black: 900;
	--ime-fonts-weight-extrabold: 800;
	--ime-fonts-weight-bold: 700;
	--ime-fonts-weight-semibold: 600;
	--ime-fonts-weight-medium: 500;
	--ime-fonts-weight-regular: 400;


	/* form */
	--ime-form-input-height: calc( var(--ime-pad) + var(--ime-pad) / 2 );

}

@media (min-width: 991px) {

	:root {
		--ime-column-pad: calc( var(--ime-pad) *  2 );
		--ime-fonts-size-heading-inc: 1;
	}

}



/* Globals: Typography */
@media (max-width: 767px) {

	#ime-content p {
		hyphens: auto;
	}

}


:root a {
	text-decoration: none;
}


body #ime-content {
	color: white;
	font-size: var(--ime-fonts-size-body);
	font-weight: var(--ime-fonts-weight-regular);	
	line-height: var(--ime-fonts-lineheight-body);
}

h1, h2, h3, h4 {
	text-transform: uppercase;
}


h1 {
	font-size: var(--ime-fonts-size-h1);
	line-height: var(--ime-fonts-lineheight-h1);
}

h2 {
	font-size: var(--ime-fonts-size-h2);
	line-height: var(--ime-fonts-lineheight-h2);
}

h3 {
	font-size: var(--ime-fonts-size-h3);
	line-height: var(--ime-fonts-lineheight-h3);
}

h4 {
	font-size: var(--ime-fonts-size-h4);
	line-height: var(--ime-fonts-lineheight-h4);
}

.ime-txt-small {
	font-size: var(--ime-fonts-size-body-small);
	line-height: var(--ime-fonts-lineheight-body-small);
}


/* Globals: Form */
.wpcf7 {
	--n: 2;
}

.wpcf7 form > p {
	display: contents;
}

.wpcf7 form {
	display: flex;
	flex-wrap: wrap;
	gap: calc( var(--ime-form-input-height) / 2 ) var(--ime-form-input-height);
}

.wpcf7 form :is(

		label, label .wpcf7-form-control-wrap,

		input:is([type="email"],[type="submit"],[type="tel"],[type="text"]), textarea

	) {
	display: block;
	width: 100%;
}

.wpcf7 form :is( input:is([type="email"],[type="submit"],[type="tel"],[type="text"]) ) {
	height: var(--ime-form-input-height);
}

.wpcf7 form :is( input:is([type="email"],[type="tel"],[type="text"]), textarea ) {
	background-color: transparent;
	border: 2px solid white;
	color: white;
	padding-left: calc( var(--ime-pad) / 3 );
}

.wpcf7 form textarea {
	height: calc( var(--ime-form-input-height) * 4 );
	padding-top: calc( var(--ime-pad) / 3 );
}


.wpcf7 form :is( label, input[type="submit"] ) {
	font-size: var(--ime-fonts-size-body-small);
	line-height: var(--ime-fonts-lineheight-body-small);
	font-weight: var(--ime-fonts-weight-bold);
	text-transform: uppercase;
}


.wpcf7 form input[type="submit"] {
	color: var(--ime-colors-color2);
	background-color: white;
	border: none;
	transition: all var(--ime-ease);
}

.wpcf7 form input[type="submit"]:hover {
	color: white;
	background-color: var(--ime-colors-color1);
}


.wpcf7 form .wpcf7-response-output {
    align-items: center;
    border-radius: var(--ime-border-radius);
    display: flex;
    justify-content: center;
    height: var(--ime-form-input-height);
    margin: 0;
    padding: 0;
    width: 100%;
}

.wpcf7 form .wpcf7-spinner {
	margin: auto;
}

.wpcf7 form:not(.submitting) .wpcf7-spinner {
	display: none;
}

@media (min-width: 768px) {

	.wpcf7 form :is( label:is([data-target="user-email"],[data-target="user-phone"]) ) {
		width: calc( ( 100% - var(--ime-form-input-height) ) / 2 );
	}

}



/* Globals: Padding */
#ime-content.ime-type1 .et_pb_column,
#ime-content.ime-type2 .et_pb_post_content .et_pb_column {
	padding: var(--ime-column-pad);
}


/*#ime-content .et_pb_post_content .et_pb_column,
:where(.single-ime_equipment, .single-ime_service) #ime-content .et_pb_column {
	padding: var(--ime-column-pad);
}*/

#ime-content .et_pb_post_content .et_pb_row:not(:only-child):first-child .et_pb_column {
	padding-bottom: calc( var(--ime-column-pad) / 2 );	
}

#ime-content .et_pb_post_content .et_pb_row:not(:only-child,:first-child) .et_pb_column {
	padding-top: calc( var(--ime-column-pad) / 2 );	
}


/* Layout: Big Pad */
@media (min-width: 991px) {

	#ime-content .et_pb_row.ime-pad-big .et_pb_column:only-child,
	#ime-content .et_pb_row.ime-pad-big .et_pb_column:not(:only-child):first-child {
		padding-left: var(--ime-big-pad);
	}

	#ime-content .et_pb_row.ime-pad-big .et_pb_column:only-child,
	#ime-content .et_pb_row.ime-pad-big .et_pb_column:not(:only-child):last-child {
		padding-right: var(--ime-big-pad);
	}

}




/* Layout: Fill Height */
@media (max-width: 990px) {

	#ime-content .et_pb_row.ime-height-fill {
		min-height: calc( 100vh - var(--ime-globals-navh) );
	}

}

@media (min-width: 991px) {

	#ime-content .et_pb_row.ime-height-fill .et_pb_column {
		min-height: calc( 100vh - var(--ime-globals-navh) );
	}

}



/* Layout: Dynamic Heading */
.ime-heading-dynamic {
	font-size: var(--ime-fonts-size-h1);
	line-height: var(--ime-fonts-lineheight-h1);
	font-weight: var(--ime-fonts-weight-bold);
	margin-bottom: calc( var(--ime-pad) / 2 ) !important;
}



/* Layout: Title Path */
.ime-title-path {
	margin-bottom: calc( var(--ime-pad ) / 2 );
}


/* Layout: Divider */
.ime-divider .ime-divider-line {
	background-color: white;
	height: 1px;
	margin-bottom: calc( var(--ime-pad) / 2 );
}


/* Layout: Blurb */
.ime-blurb :is(.et_pb_module_header, .et_pb_blurb_description) {
	font-size: var(--ime-fonts-size-body-xsmall);
	letter-spacing: var(--ime-fonts-letterspacing-body-xsmall);
	line-height: var(--ime-fonts-lineheight-body-xsmall);	
}

.ime-blurb .et_pb_module_header {
	font-weight: var(--ime-fonts-weight-bold);
}

.ime-blurb .et_pb_blurb_description {
	text-transform: uppercase;
}

.ime-blurb :is(h4, .et_pb_blurb_description, .et_pb_blurb_description a, .et-pb-icon) {
	color: white;
} 

.ime-blurb .et_pb_main_blurb_image {
	width: unset;
}

.ime-blurb .et_pb_main_blurb_image .et-pb-icon {
	font-size: 24px;
}


/* Layout: Main Content */
#ime-content {
	padding-top: var(--ime-globals-navh);
}

.page #ime-content .et_pb_post_content .et_builder_inner_content :is(

	.et_pb_section:nth-child(1), 

	.et_pb_section:nth-child(1) :is(.et_pb_row:first-child, .et_pb_row:last-child)

) {

	padding-bottom: 0;
	padding-top: 0;

}







/* Parts: Header */
header .et_pb_menu nav > ul .sub-menu {
	border-top: 0;
	padding-bottom: 0;
	padding-top: 0;
}

header .et_pb_menu nav > ul .sub-menu a {
	padding: calc( var(--ime-pad) / 3 ) 0;
	/*padding-bottom: calc( var(--ime-pad) / 3 );
	padding-top: calc( var(--ime-pad) / 3 );*/
}


@media (min-width: 991px) {

	header .et_pb_menu .et_pb_menu__wrap {
		justify-content: flex-end;
	}

}