/* 
Theme Name: KMMGRP
Theme URI: https://github.com/elementor/hello-theme/
Description: KMMGRP is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team + supernifty
Author URI: https://elementor.com/ | https://supernifty.com/
Template: hello-elementor
Version: 1.0.1
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

:root {
	--color-white: #FFF;
	--color-dark-gray: #232527;
	--color-kmm-blue: #0055A0;
	--color-kmm-blue-light: #0098FF;
	--color-kmm-blue-lighter: #33BAFF;
	--color-kmm-blue-lightest: #66EDFF;
	--color-kmm-yellow: #FC0;
}

/* ~~~~~ desktop font sizes ~~~~~ */
h1 { font-size: 5rem!important; }
h2 { font-size: 4rem!important; }
h3 { font-size: 2rem; font-weight: 700!important; }
h4 { font-size: 1.5rem!important; }
h5 { font-size: 1.25rem!important; }
h6 { font-size: 1rem!important; }
.lead p { font-size: 1.5rem!important; }

.lead ul li { font-size: 1.25rem!important; }

/* links */
a, a:link, a:visited { font-size: inherit!important; }
.footer-links a, a:link, a:visited { color: var(--color-kmm-blue-light)!important; }
.footer-links a:active, a:hover, a:focus { color: var(--color-kmm-yellow)!important; }

/* button size & spacing */
a.elementor-button-link.elementor-size-sm { padding: 1.5rem 4rem!important; }

/* button text
.elementor-button a, a:link, a:visited { color: var(--color-white)!important; }
.elementor-button a:hover, a:focus, a:active { color: var(--color-white)!important; } */

/* button - standard */
.elementor-button { background-color: var(--color-kmm-blue-light)!important; }
.elementor-button:hover { background-color: #242628!important; }

/* button - transparent */
.elementor-button-clear .elementor-button { background-color: transparent!important; color: var(--color-kmm-blue)!important; }
.elementor-button-clear .elementor-button:hover { background-color: transparent!important; color: var(--color-kmm-blue-light)!important; }

/* button - info */
.elementor-button-info .elementor-button { background-color: var(--color-kmm-blue-light)!important; }
.elementor-button-info .elementor-button:hover { background-color: var(--color-kmm-blue)!important; }

/* more buttons */
a.elementor-cta__button,
a.elementor-cta__button:link,
a.elementor-cta__button:visited { 
	background-color: var(--color-kmm-blue-light)!important;
	color: #fff!important;
	font-weight: 700!important;
	text-transform: uppercase!important;
}


/* posts */

.elementor-post__title {
	line-height: 1!important;
}

.elementor-post__title a,
.elementor-post__title a:link,
.elementor-post__title a:visited {
	color: var(--color-kmm-blue)!important;
	transition: all 250ms ease-in-out;
	font-size: 3rem!important;
	font-weight: 900!important;
	line-height: 1!important;
}

.elementor-post__title a:hover,
.elementor-post__title a:active,
.elementor-post__title a:focus {
	color: var(--color-kmm-blue-light)!important;
	
}

.elementor-post__excerpt p {
	font-size: 1.25em!important;
}

/* precision machining toc */
#precision-machining-toc .elementor-button {
	width: 100%!important;
	height: 10rem!important;
}

input[type='submit'],
a.elementor-button.elementor-button-link,
a.elementor-button.elementor-button-link:link,
a.elementor-button.elementor-button-link:visited {
	padding: 1.5rem 3rem; 
	font-weight: 700!important;
	color: #fff!important;
	text-transform: uppercase;
}

input[type='submit']:hover,
a.elementor-button.elementor-button-link:hover,
a.elementor-button.elementor-button-link:active,
a.elementor-button.elementor-button-link:focus {
	background-color: #242628!important;
}

a,
a:link,
a:visited {
	transition: color 250ms ease-in-out;
}

.white-links a,
.white-links a:link,
.white-links a:visited { color: #fff!important; }

.white-links a:hover,
.white-links a:active,
.white-links a:focus { color: var(--color-kmm-blue-lightest)!important; }

#global-footer input[type='submit'] {
	background-color: var(--color-kmm-blue)!important;	
}

#global-footer input[type='submit']:hover {
	background-color: var(--color-kmm-blue-light)!important;	
}

/* ~~~~~~ kmmheaderW ~~~~~~ */

#kmmheaderW {
	box-shadow: 1px 2px 3px rgba(0,0,0,.25);
}

#kmmheaderW #kmmheader {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin: 1rem;
}

#kmmheaderW #kmmheader a.logo {
	display: block;
	width: 150px;
	height: 50px;
}

#kmmheaderW #kmmheader svg { fill: #0055A0; }

#kmmheaderW #kmmheader div {
	display: flex;
	align-items: center;
	justify-content: flex-end;
}

#kmmheaderW #kmmheader div a.tel,
#kmmheaderW #kmmheader div a.tel:link,
#kmmheaderW #kmmheader div a.tel:visited {
	display: block;
	transition: color 250ms ease-in-out;
	font-size: 2rem!important;
	font-weight: 700;
	color: var(--color-kmm-blue)!important;
	margin-right: 2vw;
}

#kmmheaderW #kmmheader div a.tel:hover,
#kmmheaderW #kmmheader div a.tel:active,
#kmmheaderW #kmmheader div a.tel:focus { color: var(--color-kmm-blue-light)!important; }

#kmmheaderW #kmmheader div a.hiring,
#kmmheaderW #kmmheader div a.hiring:link,
#kmmheaderW #kmmheader div a.hiring:visited,
#kmmheaderW #kmmheader div a.quote,
#kmmheaderW #kmmheader div a.quote:link,
#kmmheaderW #kmmheader div a.quote:visited {
	display: block;
	transition: all 250ms ease-in-out;
	font-size: 1rem!important;
	font-weight: 700;
	padding: .5rem 1rem;
	border-radius: .25rem;
	color: #fff!important;
	user-select: none;
	cursor: pointer;
	margin-left: .5rem; 
}

#kmmheaderW #kmmheader div a.hiring:hover,
#kmmheaderW #kmmheader div a.hiring:active,
#kmmheaderW #kmmheader div a.hiring:focus,
#kmmheaderW #kmmheader div a.quote:link,
#kmmheaderW #kmmheader div a.quote:visited { color: #fff!important; }

#kmmheaderW #kmmheader div a.hiring,
#kmmheaderW #kmmheader div a.hiring:link,
#kmmheaderW #kmmheader div a.hiring:visited { background-color: var(--color-kmm-blue-light)!important; }

#kmmheaderW #kmmheader div a.hiring:hover,
#kmmheaderW #kmmheader div a.hiring:active,
#kmmheaderW #kmmheader div a.hiring:focus { background-color: var(--color-kmm-blue)!important; }

#kmmheaderW #kmmheader div a.quote,
#kmmheaderW #kmmheader div a.quote:link,
#kmmheaderW #kmmheader div a.quote:visited { background-color: var(--color-kmm-blue)!important; }

#kmmheaderW #kmmheader div a.quote:hover,
#kmmheaderW #kmmheader div a.quote:active,
#kmmheaderW #kmmheader div a.quote:focus { background-color: var(--color-kmm-blue-light)!important; }

#kmmheaderW #top-nav a,
#kmmheaderW #top-nav a:link,
#kmmheaderW #top-nav a:visited {
	color: var(--color-kmm-blue-light)!important;
	transition: all 250ms ease-in-out;
}

#kmmheaderW #top-nav a:hover,
#kmmheaderW #top-nav a:active,
#kmmheaderW #top-nav a:focus {
	color: var(--color-kmm-blue)!important;
}

.elementor-nav-menu {
	border-radius: .25rem;
}

#kmmheaderW .elementor-nav-menu--dropdown a,
#kmmheaderW .elementor-nav-menu--dropdown a:link,
#kmmheaderW .elementor-nav-menu--dropdown a:visited {
	font-size: .875rem!important;
	padding: .75rem 2rem .75rem 1rem;
	color: #232527!important;
	transition: all 250ms ease-in-out;
}

#kmmheaderW .elementor-nav-menu--dropdown a:hover,
#kmmheaderW .elementor-nav-menu--dropdown a:active,
#kmmheaderW .elementor-nav-menu--dropdown a:focus {
	color: #fff!important;
	background-color: var(--color-kmm-blue-light);
}

#kmmheaderW #top-nav .elementor-nav-menu--dropdown li.current_page_item a,
#kmmheaderW #top-nav .elementor-nav-menu--dropdown li.current_page_item a:link,
#kmmheaderW #top-nav .elementor-nav-menu--dropdown li.current_page_item a:visited {
	color: #fff!important;
	background-color: var(--color-kmm-blue);
}

ul.sub-menu {
	border-radius: .25rem!important;
	overflow: hidden!important;
	box-shadow: 1px 2px 3px rgba(0,0,0,.33);
}


#kmmheaderW #top-nav ul.sub-menu a,
#kmmheaderW #top-nav ul.sub-menu a:link,
#kmmheaderW #top-nav ul.sub-menu a:visited {
	color: var(--color-kmm-blue-light)!important;
	transition: all 250ms ease-in-out;
}

#kmmheaderW #top-nav ul.sub-menu a:hover,
#kmmheaderW #top-nav ul.sub-menu a:active,
#kmmheaderW #top-nav ul.sub-menu a:focus {
	color: #fff!important;
}





/* mobile */
@media (max-width: 1024px) {
	
	/* ~~~~~ mobile font sizes ~~~~~ */
	h1 { font-size: 2.5rem!important; }
	h2 { font-size: 2rem!important; }
	h3 { font-size: 1.5rem; font-weight: 700!important; }
	h4 { font-size: 1.25rem!important; }
	h5 { font-size: 1.15rem!important; }
	h6 { font-size: 1rem!important; }
	.lead p { font-size: 1.15rem!important; }

	.lead ul li { font-size: 1.15rem!important; }
	
	#kmmheaderW #top-nav a,
	#kmmheaderW #top-nav a:link,
	#kmmheaderW #top-nav a:visited {
		color: #fff!important;
		background-color: transparen!important;
	}

	#kmmheaderW #top-nav a:hover,
	#kmmheaderW #top-nav a:active,
	#kmmheaderW #top-nav a:focus {
		color: #fff!important;
		background-color: transparen!important;
	}

	#kmmheaderW .elementor-nav-menu--dropdown a,
	#kmmheaderW .elementor-nav-menu--dropdown a:link,
	#kmmheaderW .elementor-nav-menu--dropdown a:visited {
		color: #fff!important;
		background-color: transparen!important;
	}

	#kmmheaderW .elementor-nav-menu--dropdown a:hover,
	#kmmheaderW .elementor-nav-menu--dropdown a:active,
	#kmmheaderW .elementor-nav-menu--dropdown a:focus {
		color: #fff!important;
		background-color: transparen!important;
	}

	#kmmheaderW #top-nav .elementor-nav-menu--dropdown li.current_page_item a,
	#kmmheaderW #top-nav .elementor-nav-menu--dropdown li.current_page_item a:link,
	#kmmheaderW #top-nav .elementor-nav-menu--dropdown li.current_page_item a:visited {
		color: #fff!important;
		background-color: transparen!important;
	}

	#kmmheaderW #top-nav ul.sub-menu a,
	#kmmheaderW #top-nav ul.sub-menu a:link,
	#kmmheaderW #top-nav ul.sub-menu a:visited {
		color: #fff!important;
		background-color: transparen!important;
	}

	#kmmheaderW #top-nav ul.sub-menu a:hover,
	#kmmheaderW #top-nav ul.sub-menu a:active,
	#kmmheaderW #top-nav ul.sub-menu a:focus {
		color: #fff!important;
		background-color: transparen!important;
	}	
	
	#kmmheaderW #top-nav {
		width: 100vw;
		overflow: scroll;
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		background-color: var(--color-kmm-blue)!important;
		overflow-y: scroll;
		z-index: 33;
	}
	
	#kmmheaderW #top-nav .elementor-menu-toggle { 
		color: #fff;
		background-color: transparent;
	}
	
	#kmmheaderW #top-nav .elementor-nav-menu--dropdown {
		box-shadow: none;
		background-color: transparent;
		transition: all 250ms ease-in-out;
	}
	
	#kmmheaderW .elementor-nav-menu--dropdown a,
	#kmmheaderW .elementor-nav-menu--dropdown a:link,
	#kmmheaderW .elementor-nav-menu--dropdown a:visited {
		display: block;
		text-align: center;
		transition: color 250ms ease-in-out;
		font-size: 1rem!important;
		font-weight: 700;
		color: #fff!important;
	}

	#kmmheaderW .elementor-nav-menu--dropdown a:hover,
	#kmmheaderW .elementor-nav-menu--dropdown a:active,
	#kmmheaderW .elementor-nav-menu--dropdown a:focus {
		color: var(--color-kmm-blue)!important;
	}

	#kmmheaderW .elementor-nav-menu--dropdown ul li ul li a,
	#kmmheaderW .elementor-nav-menu--dropdown ul li ul li a:link,
	#kmmheaderW .elementor-nav-menu--dropdown ul li ul li a:visited {
		font-size: .875rem!important;
		font-weight: 400;
	}

	#kmmheaderW .elementor-nav-menu--dropdown ul li ul li a:hover,
	#kmmheaderW .elementor-nav-menu--dropdown ul li ul li a:active,
	#kmmheaderW .elementor-nav-menu--dropdown ul li ul li a:focus {
		color: #fc0!important;
	}
	
	#kmmheaderW .elementor-nav-menu--dropdown ul {
		padding: 0 0 2rem 0;
	}
	
	#kmmheaderW #top-nav .sub-arrow { 
		display: none;
	}
	
	#kmmheaderW #kmmheader div {
		flex-direction: column;
	}
	
	#kmmheaderW #kmmheader div a.tel,
	#kmmheaderW #kmmheader div a.tel:link,
	#kmmheaderW #kmmheader div a.tel:visited {
		font-size: 1rem!important;
		font-weight: 700;
		margin: .25rem 0; 
	}

	#kmmheaderW #kmmheader div a.hiring,
	#kmmheaderW #kmmheader div a.hiring:link,
	#kmmheaderW #kmmheader div a.hiring:visited,
	#kmmheaderW #kmmheader div a.quote,
	#kmmheaderW #kmmheader div a.quote:link,
	#kmmheaderW #kmmheader div a.quote:visited {
		font-size: .75rem!important;
		font-weight: 700;
		padding: .25rem .5rem;
		border-radius: .25rem;
		margin: .25rem 0; 
	}

	/* posts */
	.elementor-post__title a,
	.elementor-post__title a:link,
	.elementor-post__title a:visited {
		font-size: 2rem!important;
	}

	.elementor-post__excerpt p {
		font-size: 1.15em!important;
	}
	

}



