@charset "UTF-8";
/*!
Theme Name: MM Systems
Author: Zocalo Design
Author URI: https://www.zocalodesign.com
Text Domain: mmsystems
Version: 1.0
*/
/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Generic
	- Normalize
	- Box sizing
# Base
	- Typography
	- Elements
	- Links
	- Forms
## Layouts
# Components
	- Navigation
	- Posts and pages
	- Comments
	- Widgets
	- Media
	- Captions
	- Galleries
# plugins
	- MMsysCore Plugin
# Utilities
	- Accessibility
	- Alignments

--------------------------------------------------------------*/
:root {
  --swiper-navigation-color: #333;
}

/* Gutenberg color options*/
.has-gray-color a, .has-gray-color a:visited {
  color: #333333 !important;
}
.has-gray-color a:hover {
  color: rgb(12.75, 12.75, 12.75) !important;
}
.is-style-outline .has-gray-color.wp-block-button__link:hover {
  color: #ffffff !important;
  background-color: rgb(12.75, 12.75, 12.75) !important;
}
.has-gray-color.wp-block-button__link:hover {
  color: rgb(12.75, 12.75, 12.75) !important;
}

.has-gray-background-color.wp-block-button__link:hover {
  background-color: rgb(12.75, 12.75, 12.75) !important;
}

.has-darkgray-color a, .has-darkgray-color a:visited {
  color: #141414 !important;
}
.has-darkgray-color a:hover {
  color: black !important;
}
.is-style-outline .has-darkgray-color.wp-block-button__link:hover {
  color: #ffffff !important;
  background-color: black !important;
}
.has-darkgray-color.wp-block-button__link:hover {
  color: black !important;
}

.has-darkgray-background-color.wp-block-button__link:hover {
  background-color: black !important;
}

.has-lightgray-color a, .has-lightgray-color a:visited {
  color: #f8f8f8 !important;
}
.has-lightgray-color a:hover {
  color: rgb(209.75, 209.75, 209.75) !important;
}
.is-style-outline .has-lightgray-color.wp-block-button__link:hover {
  color: #ffffff !important;
  background-color: rgb(209.75, 209.75, 209.75) !important;
}
.has-lightgray-color.wp-block-button__link:hover {
  color: rgb(209.75, 209.75, 209.75) !important;
}

.has-lightgray-background-color.wp-block-button__link:hover {
  background-color: rgb(209.75, 209.75, 209.75) !important;
}

.has-white-color a, .has-white-color a:visited {
  color: #ffffff !important;
}
.has-white-color a:hover {
  color: rgb(216.75, 216.75, 216.75) !important;
}
.is-style-outline .has-white-color.wp-block-button__link:hover {
  color: #ffffff !important;
  background-color: rgb(216.75, 216.75, 216.75) !important;
}
.has-white-color.wp-block-button__link:hover {
  color: rgb(216.75, 216.75, 216.75) !important;
}

.has-white-background-color.wp-block-button__link:hover {
  background-color: rgb(216.75, 216.75, 216.75) !important;
}

.has-black-color a, .has-black-color a:visited {
  color: #000000 !important;
}
.has-black-color a:hover {
  color: black !important;
}
.is-style-outline .has-black-color.wp-block-button__link:hover {
  color: #ffffff !important;
  background-color: black !important;
}
.has-black-color.wp-block-button__link:hover {
  color: black !important;
}

.has-black-background-color.wp-block-button__link:hover {
  background-color: black !important;
}

.has-primary-color a, .has-primary-color a:visited {
  color: #006699 !important;
}
.has-primary-color a:hover {
  color: rgb(0, 51, 76.5) !important;
}
.is-style-outline .has-primary-color.wp-block-button__link:hover {
  color: #ffffff !important;
  background-color: rgb(0, 51, 76.5) !important;
}
.has-primary-color.wp-block-button__link:hover {
  color: rgb(0, 51, 76.5) !important;
}

.has-primary-background-color.wp-block-button__link:hover {
  background-color: rgb(0, 51, 76.5) !important;
}

/*********************
    BREAKPOINTS
*********************/
@font-face {
  font-family: "menucons";
  src: url("assets/webfonts/menucons/menucons.eot?61837669");
  src: url("assets/webfonts/menucons/menucons.eot?61837669#iefix") format("embedded-opentype"), url("assets/webfonts/menucons/menucons.woff2?61837669") format("woff2"), url("assets/webfonts/menucons/menucons.woff?61837669") format("woff"), url("assets/webfonts/menucons/menucons.ttf?61837669") format("truetype"), url("assets/webfonts/menucons/menucons.svg?61837669#menucons") format("svg");
  font-weight: normal;
  font-style: normal;
}
[class^=icon-]:before, [class*=" icon-"]:before {
  font-family: "menucons";
  font-style: normal;
  font-weight: normal;
  speak: never;
  display: inline-block;
  text-decoration: inherit;
  width: 1em;
  margin-right: 0.2em;
  text-align: center;
  /* opacity: .8; */
  /* For safety - reset parent styles, that can break glyph codes*/
  font-variant: normal;
  text-transform: none;
  /* fix buttons height, for twitter bootstrap */
  line-height: 1em;
  /* Animation center compensation - margins should be symmetric */
  /* remove if not needed */
  margin-left: 0.2em;
  /* you can be more comfortable with increased icons size */
  /* font-size: 120%; */
  /* Font smoothing. That was taken from TWBS */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  /* Uncomment for 3D effect */
  /* text-shadow: 1px 1px 1px rgba(127, 127, 127, 0.3); */
}

.icon-close:before {
  content: "\e800";
} /* '' */
.icon-menu:before {
  content: "\f0c9";
} /* '' */
/*--------------------------------------------------------------
# Generic
--------------------------------------------------------------*/
/* Normalize
--------------------------------------------- */
/*! modern-normalize v1.1.0 | MIT License | https://github.com/sindresorhus/modern-normalize */
/*
Document
========
*/
/**
Use a better box model (opinionated).
*/
*,
::before,
::after {
  box-sizing: inherit;
}

/**
1. Correct the line height in all browsers.
2. Prevent adjustments of font size after orientation changes in iOS.
3. Use a more readable tab size (opinionated).
*/
html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
  font-size: 62.5% !important;
  -moz-tab-size: 4; /* 3 */
  -o-tab-size: 4;
     tab-size: 4; /* 3 */
  box-sizing: border-box;
}

/*
Sections
========
*/
/**
1. Remove the margin in all browsers.
2. Improve consistency of default fonts in all browsers. (https://github.com/sindresorhus/modern-normalize/issues/3)
*/
body {
  margin: 0; /* 1 */
}

/*
Grouping content
================
*/
/**
1. Add the correct height in Firefox.
2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)
*/
hr {
  height: 0; /* 1 */
  color: inherit; /* 2 */
}

/*
Text-level semantics
====================
*/
/**
Add the correct text decoration in Chrome, Edge, and Safari.
*/
abbr[title] {
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}

/**
Add the correct font weight in Edge and Safari.
*/
b,
strong {
  font-weight: bolder;
}

/**
1. Improve consistency of default fonts in all browsers. (https://github.com/sindresorhus/modern-normalize/issues/3)
2. Correct the odd 'em' font sizing in all browsers.
*/
code,
kbd,
samp,
pre {
  font-family: ui-monospace, SFMono-Regular, Consolas, "Liberation Mono", Menlo, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/**
Add the correct font size in all browsers.
*/
small {
  font-size: 80%;
}

/**
Prevent 'sub' and 'sup' elements from affecting the line height in all browsers.
*/
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/*
Tabular data
============
*/
/**
1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)
2. Correct table border color inheritance in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)
*/
table {
  text-indent: 0; /* 1 */
  border-color: inherit; /* 2 */
}

/*
Forms
=====
*/
/**
1. Change the font styles in all browsers.
2. Remove the margin in Firefox and Safari.
*/
button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-size: 100%; /* 1 */
  line-height: 1.15; /* 1 */
  margin: 0; /* 2 */
}

/**
Remove the inheritance of text transform in Edge and Firefox.
*/
button,
select {
  text-transform: none;
}

/**
Correct the inability to style clickable types in iOS and Safari.
*/
button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
}

/**
Remove the inner border and padding in Firefox.
*/
::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
Restore the focus styles unset by the previous rule.
*/
:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
Remove the additional ':invalid' styles in Firefox.
See: https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737
*/
:-moz-ui-invalid {
  box-shadow: none;
}

/**
Remove the padding so developers are not caught out when they zero out 'fieldset' elements in all browsers.
*/
legend {
  padding: 0;
}

/**
Add the correct vertical alignment in Chrome and Firefox.
*/
progress {
  vertical-align: baseline;
}

/**
Correct the cursor style of increment and decrement buttons in Safari.
*/
::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto;
}

/**
1. Correct the odd appearance in Chrome and Safari.
2. Correct the outline style in Safari.
*/
[type=search] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/**
Remove the inner padding in Chrome and Safari on macOS.
*/
::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
1. Correct the inability to style clickable types in iOS and Safari.
2. Change font properties to 'inherit' in Safari.
*/
::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/*
Interactive
===========
*/
/*
Add the correct display in Chrome and Safari.
*/
summary {
  display: list-item;
}

/*--------------------------------------------------------------
# Base
--------------------------------------------------------------*/
/* Typography
--------------------------------------------- */
h1,
h2,
h3,
h4,
h5,
h6 {
  clear: both;
  margin: 0 0 1rem;
}

h1.entry-title {
  margin: 8rem 0 1rem;
}
.single-mm_product h1.entry-title {
  margin-top: 2rem;
}

p {
  margin: 0 0 1rem;
}

.fa-solid, .fas {
  color: #006699;
}

/* Elements
--------------------------------------------- */
.wp-block-separator {
  border: none;
  border-top: 1px solid;
}

/* Make sure embeds and iframes fit their containers. */
embed,
iframe,
object {
  max-width: 100%;
}

img {
  height: auto;
  max-width: 100%;
}

.post-thumbnail.alignfull img {
  width: 100%;
}

.post-thumbnail img {
  display: block;
}

/* Links
--------------------------------------------- */
a {
  transition: 0.5s;
}
a:visited {
  transition: 0.5s;
}
a:hover, a:focus, a:active {
  transition: 0.5s;
}
a:focus {
  outline: thin dotted;
}
a:hover, a:active {
  outline: 0;
}

:focus-visible {
  outline: 1px solid black;
  transition: 0.5s;
}

.learnmorelink a {
  font-size: 1.6rem;
  font-weight: 500;
}

/* Forms
--------------------------------------------- */
button,
input[type=button],
input[type=reset],
input[type=submit] {
  background-color: var(--wp--preset--color--primary);
  border-radius: 0;
  border-width: 1px;
  border-style: solid;
  color: var(--wp--preset--color--white);
  font-family: inherit;
  font-size: 1.4rem;
  font-weight: 600;
  line-height: inherit;
  padding-top: 1rem;
  padding-right: 2rem;
  padding-bottom: 1rem;
  padding-left: 2rem;
  text-decoration: none;
  text-transform: uppercase;
  border-color: currentColor;
  transition: 0.5s;
  cursor: pointer;
}
button:hover,
input[type=button]:hover,
input[type=reset]:hover,
input[type=submit]:hover {
  background-color: var(--wp--custom--hover-color);
  transition: 0.5s;
}
button:active, button:focus,
input[type=button]:active,
input[type=button]:focus,
input[type=reset]:active,
input[type=reset]:focus,
input[type=submit]:active,
input[type=submit]:focus {
  background-color: var(--wp--custom--hover-color);
  transition: 0.5s;
}
button.is-style-outline,
input[type=button].is-style-outline,
input[type=reset].is-style-outline,
input[type=submit].is-style-outline {
  background-color: initial;
  background-image: none;
  color: currentColor;
}

.wp-block-button .wp-block-button__link:where(.is-style-outline),
.wp-block-button:where(.is-style-outline) > .wp-block-button__link {
  border: 1px solid;
  background: transparent;
  color: currentColor;
}
.wp-block-button .wp-block-button__link:where(.is-style-outline):hover, .wp-block-button .wp-block-button__link:where(.is-style-outline):active, .wp-block-button .wp-block-button__link:where(.is-style-outline):focus,
.wp-block-button:where(.is-style-outline) > .wp-block-button__link:hover,
.wp-block-button:where(.is-style-outline) > .wp-block-button__link:active,
.wp-block-button:where(.is-style-outline) > .wp-block-button__link:focus {
  background-color: #000000;
  color: #ffffff;
}

header.page-header a.wp-block-button__link {
  width: auto;
}

input[type=text],
input[type=email],
input[type=url],
input[type=password],
input[type=search],
input[type=number],
input[type=tel],
input[type=range],
input[type=date],
input[type=month],
input[type=week],
input[type=time],
input[type=datetime],
input[type=datetime-local],
input[type=color],
textarea {
  color: #141414;
  border: 1px solid;
  border-radius: 0;
  padding: 1.2rem;
  font-size: 1.6rem;
}
input[type=text]:focus,
input[type=email]:focus,
input[type=url]:focus,
input[type=password]:focus,
input[type=search]:focus,
input[type=number]:focus,
input[type=tel]:focus,
input[type=range]:focus,
input[type=date]:focus,
input[type=month]:focus,
input[type=week]:focus,
input[type=time]:focus,
input[type=datetime]:focus,
input[type=datetime-local]:focus,
input[type=color]:focus,
textarea:focus {
  color: var(--wp--custom--hover-color);
}

select {
  border: 1px solid #141414;
}

textarea {
  width: 100%;
}

/*--------------------------------------------------------------
# Layouts
--------------------------------------------------------------*/
figure.header-img {
  margin-bottom: 5rem;
}

/*--------------------------------------------------------------
# Components
--------------------------------------------------------------*/
/* Navigation
--------------------------------------------- */
.button-navigation {
  display: block;
}

.site-menu-actions {
  display: none;
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: center;
}

.main-navigation {
  display: block;
  flex: 1;
}
.main-navigation ul {
  display: none;
  list-style: none;
  margin: 0;
  padding-left: 0;
}
.main-navigation ul ul {
  box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);
  float: left;
  position: absolute;
  display: block;
  height: auto;
  top: 100%;
  z-index: 99999;
  visibility: hidden;
  opacity: 0;
  left: -2.5em;
  transform: translateZ(0);
  transform: translateY(-10px);
  transition: all 0.65s ease 0s, visibility 0s linear 0.3s;
  padding-bottom: 1em;
  min-width: 140%;
  width: auto;
}
.main-navigation ul ul ul {
  left: -999em;
  top: 0;
}
.main-navigation ul ul li:hover > ul, .main-navigation ul ul li.focus > ul {
  display: block;
  left: auto;
}
.main-navigation ul ul a {
  width: 200px;
}
.main-navigation ul ul :hover > a,
.main-navigation ul ul .focus > a {
  color: #999999;
}
.main-navigation ul ul a:hover,
.main-navigation ul ul a.focus {
  color: #999999;
}
.main-navigation ul li:hover > ul,
.main-navigation ul li.focus > ul {
  visibility: visible;
  display: block;
  left: -2.5em;
  opacity: 1;
  transform: translateX(0%);
  transition-delay: 0s;
}
.main-navigation li {
  position: relative;
  margin-bottom: 0;
}
.main-navigation li:after {
  content: "";
  width: 0.1rem;
  height: 2rem;
  position: absolute;
  right: 0;
  top: 50%;
  margin-top: -1rem;
}
.main-navigation li:last-of-type:after {
  display: none;
}
.main-navigation li:hover > a, .main-navigation li.focus > a {
  color: #999999;
}
.main-navigation a {
  display: block;
  text-decoration: none;
  padding: 1rem 1rem;
  text-transform: uppercase;
  font-size: 1.7rem;
  font-weight: 400;
  color: #333333;
  white-space: nowrap;
}
@media (min-width: 86em) {
  .main-navigation a {
    padding: 1rem 1.6rem;
    letter-spacing: 0.1rem;
  }
}
.main-navigation .current_page_item > a,
.main-navigation .current-menu-item > a,
.main-navigation .current_page_ancestor > a,
.main-navigation .current-menu-ancestor > a {
  color: #999999;
}

/* Action Menu */
.actions-navigation ul {
  display: flex;
  list-style-type: none;
  padding: 0;
  margin: 0;
}
.actions-navigation ul li {
  position: relative;
  margin-bottom: 0;
}
.actions-navigation ul li:after {
  content: "";
  width: 0.1rem;
  background-color: rgba(51, 51, 51, 0.3);
  height: 2rem;
  position: absolute;
  right: 0;
  top: 50%;
  margin-top: -1rem;
}
.actions-navigation ul li:last-of-type:after {
  display: none;
}
.actions-navigation ul li.navfont {
  display: flex;
  align-items: center;
  padding-left: 1.3rem;
}
.actions-navigation ul li.navfont:before {
  content: "\f007";
  font-size: 1.4rem;
  line-height: 1;
}
.actions-navigation ul li.navfont a {
  padding-left: 0.5rem;
}
.actions-navigation ul a {
  display: block;
  text-decoration: none;
  padding: 1rem 1rem;
  text-transform: uppercase;
  font-size: 1.4rem;
  font-weight: 400;
  color: #333333;
  font-family: var(--wp--preset--font-family--system);
}
.actions-navigation ul a:hover, .actions-navigation ul a:focus {
  color: #999999;
}
@media (min-width: 51em) {
  .actions-navigation ul a {
    padding: 1rem 1.3rem;
  }
}

/* Small menu. */
.menu-toggle,
.main-navigation.toggled ul {
  display: block;
}

nav#button-navigation {
  width: auto;
}

.icon-menu {
  color: #141414;
  font-size: 2.8rem;
}

#closemenu {
  color: #141414;
  font-size: 3rem;
}

button.menu-toggle {
  border: 0;
  background: transparent;
  padding: 0.867rem 1.221rem;
  font-size: 2.5rem;
}

@media (min-width: 65em) {
  .button-navigation {
    display: none;
  }
  .site-menu-actions {
    display: flex;
  }
  .menu-toggle {
    display: none;
  }
  .main-navigation ul {
    display: flex;
    justify-content: flex-end;
  }
  .mobile-navigation {
    display: none;
  }
}
/* Mobile Navigation */
.mobile-navigation {
  text-align: center;
  max-height: 0;
  transition: all 0.5s;
  position: relative;
  overflow: hidden;
}
.mobile-navigation > div {
  background-color: #141414;
  position: relative;
}
.mobile-navigation ul {
  list-style: none;
  margin: 0;
  padding: 1.25em 0em 1.5em;
}
.mobile-navigation ul li {
  position: relative;
}
.mobile-navigation ul li a {
  display: block;
  text-decoration: none;
  color: #ffffff;
  text-transform: uppercase;
  letter-spacing: 1px;
  padding: 0.5em 0;
  font-weight: 400;
}
.mobile-navigation ul li:hover > a, .mobile-navigation ul li.focus > a {
  color: var(--wp--custom--hover-color);
}
.mobile-navigation ul .current_page_item > a,
.mobile-navigation ul .current-menu-item > a,
.mobile-navigation ul .current_page_ancestor > a,
.mobile-navigation ul .current-menu-ancestor > a {
  color: var(--wp--custom--hover-color);
}
.mobile-navigation.toggled {
  max-height: 700px;
  transition: all 1s;
  padding-bottom: 6px;
  margin-bottom: -6px;
}
.mobile-navigation ul.sub-menu {
  padding: 0;
  max-height: 0;
  transition: all 1s;
  z-index: -1;
  overflow: hidden;
}
.mobile-navigation li.menu-item-has-children.focus ul.sub-menu {
  max-height: 500px;
  transition: all 1s;
}

/* Comment & Post Navigation 
.comment-navigation,
.posts-navigation,
.post-navigation {

	.site-main & {
		margin: 0 0 1.5em;
	}

	.nav-links {
		display: flex;
	}

	.nav-previous {
		flex: 1 0 50%;
	}

	.nav-next {
		text-align: end;
		flex: 1 0 50%;
	}
} */
/* Header  
--------------------------------------------- */
.site-header {
  width: 100%;
  top: 0;
  z-index: 9999;
  background-color: #ffffff;
  border-bottom: 1px solid rgba(51, 51, 51, 0.5);
  height: 5.6rem;
  position: fixed;
  left: 0;
}
@media (min-width: 56.875em) {
  .site-header {
    height: 10rem;
  }
}
body.admin-bar .site-header {
  top: 46px;
}
@media (min-width: 51em) {
  body.admin-bar .site-header {
    top: 32px;
  }
}

.max-headwidth {
  margin: auto;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 100%;
  -moz-column-gap: 2rem;
       column-gap: 2rem;
  padding: 0 2rem;
  flex-wrap: nowrap;
}
@media (min-width: 106.25em) {
  .max-headwidth {
    padding: 0 12rem;
  }
}

.site-branding {
  flex: 1 0 248px;
}

img.custom-logo {
  width: 200px;
  display: block;
}
@media (min-width: 51em) {
  img.custom-logo {
    width: 248px;
  }
}

/* Posts and pages  
--------------------------------------------- */
/*.sticky {
	display: block;
}

.post,
.page {
	margin: 0 0 1.5em;
}

.updated:not(.published) {
	display: none;
}

.page-content,
.entry-content,
.entry-summary {
	margin: 1.5em 0 0;
}

.page-links {
	clear: both;
	margin: 0 0 1.5em;
}*/
.site-main {
  min-height: 50vh;
  max-width: var(--wp--style--global--content-size);
  margin: 5.34rem auto 0;
  padding: 0.1rem 0;
}
@media (min-width: 56.875em) {
  .site-main {
    margin: 9.8rem auto 0;
  }
}
.site-main .page-header {
  margin: 5rem 0 3rem;
}

.entry-content {
  padding-bottom: 3rem;
}
.home .entry-content {
  padding-bottom: 0;
}

span.edit-link {
  position: absolute;
}

span.contact-icon {
  text-align: center;
  display: block;
  font-size: 4rem;
  margin-bottom: 2rem;
}
span.contact-icon i.fa-solid {
  background: #006699;
  color: #ffffff;
  padding: 1.6rem;
  border-radius: 30rem;
  height: 7.5rem;
  width: 7.5rem;
}
span.contact-icon i.fa-solid.fa-handshake {
  font-size: 3.5rem;
  padding: 2rem 1.6rem !important;
}

span.cat-code {
  text-transform: none;
  font-weight: 600;
}

/* Footer  
--------------------------------------------- */
.site-footer {
  padding: 6rem 2rem;
  background-color: #141414;
  color: rgba(255, 255, 255, 0.6);
}
@media (min-width: 51em) {
  .site-footer {
    padding: 8rem 2rem;
  }
}
.site-footer a {
  color: rgba(255, 255, 255, 0.6);
}
.site-footer a:hover {
  color: #ffffff;
}
.site-footer .site-info {
  text-align: center;
  font-size: 0.9rem;
  position: relative;
  text-transform: uppercase;
  letter-spacing: 0.05rem;
  margin: 2rem 0;
}

.footer-widget-container {
  padding: 0 2rem;
  font-size: 1.6rem;
}
@media (min-width: 86em) {
  .footer-widget-container {
    padding: 0 12rem;
  }
}
.footer-widget-container .menu {
  list-style: none;
  padding: 0;
}
.footer-widget-container .menu li {
  margin: 1rem 0;
}
.footer-widget-container .menu li a {
  padding: 1rem 0;
}
.footer-widget-container h2, .footer-widget-container .widgettitle {
  text-transform: uppercase;
  font-size: 1.6rem;
  font-family: var(--wp--preset--font-family--system);
  font-weight: 600;
  color: rgba(255, 255, 255, 0.6);
}

/* Comments
--------------------------------------------- 
@import "comments/comments"; */
/* Widgets
--------------------------------------------- 
@import "widgets/widgets"; */
/* Media
--------------------------------------------- 
@import "media/media"; */
/* Captions
--------------------------------------------- 
@import "media/captions"; */
/* Galleries 
---------------------------------------------  */
/* Gallery Blocks */
@media (max-width: 50em) {
  .wp-block-gallery {
    margin-top: 4rem;
    margin-bottom: 4rem;
  }
  .wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image) {
    width: 100% !important;
  }
}
.grayscale img {
  filter: grayscale(1);
  transition: 0.5s;
  width: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.grayscale img:hover {
  filter: unset;
}

/*--------------------------------------------------------------
# Plugins
--------------------------------------------------------------*/
/* MMsysCore Plugin
--------------------------------------------- */
.post-type-archive-mm_product .site-main, .tax-productcat .site-main {
  max-width: 160rem;
}

.archive-content {
  gap: 4rem 6rem;
  flex-wrap: wrap;
  margin: 4rem 0 6rem;
  display: grid;
  grid-template-columns: repeat(1fr);
}
@media (min-width: 56.875em) {
  .archive-content {
    grid-template-columns: repeat(2, 1fr);
  }
}
.archive-content .mm_product {
  box-shadow: var(--wp--preset--shadow--normal);
  transition: 0.5s;
}
@media (min-width: 56.875em) {
  .archive-content .mm_product {
    flex: 1 1 40%;
  }
}
.archive-content .mm_product:hover, .archive-content .mm_product:focus {
  box-shadow: var(--wp--custom--hover-shadow);
  transition: 0.5s;
  transform: translateY(-4px);
}

.product-link-container {
  display: flex;
  color: #333333;
  flex-wrap: wrap;
  height: 100%;
}
.product-link-container .product-half {
  flex: 1 1 100%;
}
@media (min-width: 41.625em) {
  .product-link-container .product-half {
    flex: 0 1 50%;
  }
}
@media (min-width: 56.875em) {
  .product-link-container .product-half {
    flex: 1 1 100%;
  }
}
@media (min-width: 75.62em) {
  .product-link-container .product-half {
    flex: 0 1 50%;
  }
}
.product-link-container .featured-img {
  margin: 0;
}
.product-link-container .featured-img img {
  display: block;
  height: 100%;
  width: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.product-link-container .entry-all-content {
  background: #f8f8f8;
  padding: 3rem 2.4rem;
}
.product-link-container .entry-all-content .entry-title {
  text-transform: uppercase;
  font-size: 2rem;
}
.product-link-container .entry-all-content button {
  margin: 1rem 0;
}

.grid-product-categories {
  display: grid;
  grid-template-columns: repeat(1fr);
  gap: 6rem 5rem;
  padding: 0 2rem;
  margin: 4rem 0 6rem;
}
@media (min-width: 41.625em) {
  .grid-product-categories {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 65em) {
  .grid-product-categories {
    grid-template-columns: repeat(3, 1fr);
    padding: 0 12rem;
  }
}

figure.category-img img {
  display: block;
}

.product-category-container {
  box-shadow: var(--wp--preset--shadow--normal);
  transition: 0.5s;
}
.product-category-container:hover, .product-category-container:focus {
  box-shadow: var(--wp--custom--hover-shadow);
  transition: 0.5s;
  transform: translateY(-4px);
}
.product-category-container h3 {
  text-transform: uppercase;
  letter-spacing: 0.05rem;
  font-size: 1.8rem;
}
.product-category-container h3 a {
  color: #333333;
  transition: 0.5s;
}
.product-category-container h3 a:hover, .product-category-container h3 a:focus {
  color: #999999;
}

.category-text-content {
  padding: 1rem 2.5rem 2.5rem;
}

ul.second-level-terms {
  list-style: none;
  padding: 0;
  display: inline-block;
}
ul.second-level-terms li.second-level-term {
  border-top: 1px solid;
}
ul.second-level-terms li.second-level-term a {
  padding: 0.5rem 1rem 0.5rem 0;
  display: block;
  min-width: 22rem;
  color: #000000;
  transition: 0.5s;
}
ul.second-level-terms li.second-level-term a:hover, ul.second-level-terms li.second-level-term a:focus {
  background: rgb(235.25, 235.25, 235.25);
  transition: 0.5s;
}

.home-products a {
  color: #333333;
  transition: 0.5s;
}
.home-products figure.category-img {
  aspect-ratio: 2/1;
  overflow: hidden;
}
.home-products figure.category-img img {
  display: block;
  -o-object-fit: cover;
     object-fit: cover;
  height: 100%;
  width: 100%;
  -o-object-position: 50% 60%;
     object-position: 50% 60%;
}
.home-products h3 {
  text-transform: capitalize;
}
.home-products ul.second-level-terms {
  margin-top: 0;
}
.home-products li.second-level-term-home {
  display: inline;
  margin: 0 2rem 0 0;
  position: relative;
}
.home-products li.second-level-term-home:before {
  content: "•";
  left: -1.3rem;
  position: absolute;
  font-size: 2rem;
  top: 0;
}
.home-products li.second-level-term-home:first-of-type:before {
  display: none;
}
.home-products li.second-level-term-home a {
  color: #333333;
  transition: 0.5s;
  font-size: 1.5rem;
}
.home-products li.second-level-term-home a:hover, .home-products li.second-level-term-home a:focus {
  color: #999999;
}

.tax-productcat .archive-content {
  gap: 2rem 6rem;
  margin-top: 0;
}
.tax-productcat .archive-content .mm_product {
  margin-bottom: 2.5rem;
}
.tax-productcat header.page-header {
  margin-bottom: 0;
}

.third-cat-name {
  font-weight: 400;
}

h2.second-cat-name {
  margin-bottom: -0.5rem;
}

.second-cat-description {
  margin-top: 1rem;
}

@media (min-width: 56.875em) {
  .third-cat-header, .second-cat-header {
    grid-column: span 2;
  }
}

h1.page-title.seconday-cat-name {
  font-size: 1.4rem;
  text-transform: uppercase;
  font-family: var(--wp--preset--font-family--system);
  color: gray;
  font-weight: 600;
  letter-spacing: 0.1rem;
  margin-bottom: 0.5rem;
}

.fa-dwg:before {
  content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 494.22 512'%3E%3Cpath fill='%23006699' d='M0 64C0 28.7 28.7 0 64 0h160v128c0 17.7 14.3 32 32 32h128v144H176c-35.3 0-64 28.7-64 64v144H64c-35.3 0-64-28.7-64-64V64Zm384 64H256V0l128 128Z'/%3E%3Cpath fill='%23006699' d='M165.45 508.16c-2.76 0-4.37-1.55-4.37-4.21V357.41c0-2.66 1.61-4.21 4.37-4.21h38.62c37.24 0 52.65 31.43 52.65 77.48s-15.4 77.48-52.65 77.48h-38.62Zm36.79-27.23c14.02 0 23.68-11.07 23.68-50.25s-9.66-50.25-23.68-50.25h-11.27v100.5h11.27ZM367.08 357.19c.46-2.44 2.07-3.98 4.6-3.98h22.99c2.99 0 4.37 1.77 3.91 4.65l-28.97 148.97c-.46 2.66-2.07 3.76-4.6 3.76h-3.45c-2.53 0-4.14-1.11-4.83-3.32l-29.89-85.67h-.46l-30.12 85.67c-.69 2.21-2.3 3.32-4.83 3.32h-3.45c-2.53 0-4.14-1.11-4.6-3.76l-28.97-148.97c-.46-2.88.92-4.65 3.91-4.65h22.99c2.53 0 4.14 1.55 4.6 3.98l9.89 68.4h.46l23.68-71.28c.69-2.43 2.3-3.54 4.83-3.54h3.68c2.53 0 4.14 1.33 4.83 3.54l23.45 71.28h.46l9.89-68.4ZM396.05 430.68c0-43.83 14.48-79.91 51.96-79.91 23.45 0 38.39 13.95 44.83 35.86.92 2.66-.23 4.21-2.99 5.09l-18.62 5.53c-2.53.66-4.6-.44-5.52-3.1-3.68-10.4-9.66-15.27-17.7-15.27-14.02 0-21.15 15.05-21.15 51.8s7.82 51.8 23.68 51.8c5.75 0 10.12-1.55 13.79-4.87v-20.37h-9.66c-2.76 0-4.37-1.55-4.37-4.21v-18.82c0-2.66 1.61-4.21 4.37-4.21h35.18c2.76 0 4.37 1.55 4.37 4.21v53.13c0 1.99-.46 3.54-1.84 4.87-11.04 11.51-24.37 18.37-41.84 18.37-39.31 0-54.49-36.08-54.49-79.91Z'/%3E%3C/svg%3E");
  width: 16px;
  height: auto;
  display: block;
}

.post-type-archive-mm_project .filters form > ul {
  padding: 0;
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1rem;
  align-items: center;
  /*&:after {
      content: 'or';
      order: 2;
  }*/
}
.post-type-archive-mm_project .filters form > ul .sf-field-search, .post-type-archive-mm_project .filters form > ul .sf-field-post-meta-products_used {
  order: 3;
}
.post-type-archive-mm_project .filters form > ul > li {
  flex: 1 1 100%;
  padding: 0;
}
@media (min-width: 51em) {
  .post-type-archive-mm_project .filters form > ul > li {
    flex: 0 1 25rem;
    display: flex;
    align-items: center;
  }
}
.post-type-archive-mm_project .filters form > ul > li:not(:last-of-type):after {
  content: "or";
  display: block;
  margin-top: 1rem;
}
@media (min-width: 51em) {
  .post-type-archive-mm_project .filters form > ul > li:not(:last-of-type):after {
    margin-left: 1rem;
    margin-top: 0;
  }
}
.post-type-archive-mm_project .searchandfilter select.sf-input-select {
  width: 100%;
  padding: 1rem;
}
.post-type-archive-mm_project .nav-links {
  display: none;
}
.post-type-archive-mm_project .search-filter-scroll-loading {
  margin: 2rem auto;
  grid-column: span 3;
  text-align: center;
}
.post-type-archive-mm_project .chosen-container-single {
  width: 25rem !important;
}
.post-type-archive-mm_project .chosen-container-single .chosen-single {
  background: #ffffff;
  padding: 1rem;
  font-size: 1.6rem;
  border-radius: 0;
  border-color: #333333;
  box-shadow: none;
}
.post-type-archive-mm_project .chosen-container-single .chosen-single div {
  width: 28px;
}
.post-type-archive-mm_project .chosen-container-single .chosen-single div b {
  background-image: none !important;
}
.post-type-archive-mm_project .chosen-container-single .chosen-single div b:after {
  content: "❯";
  position: relative;
  top: 9px;
  right: -5px;
  display: inline-block;
}
.post-type-archive-mm_project .chosen-container-single .chosen-drop {
  border-radius: 0;
  border-color: #333333;
}
.post-type-archive-mm_project .sf-field-post-meta-building_type .chosen-container-single .chosen-search {
  display: none;
}
.post-type-archive-mm_project input.sf-input-text {
  font-family: var(--wp--preset--font-family--system), "Font Awesome 6 Free";
  width: 100%;
}
@media (min-width: 51em) {
  .post-type-archive-mm_project input.sf-input-text {
    width: 25rem;
  }
}
.post-type-archive-mm_project .searchandfilter label {
  width: 100%;
}
.post-type-archive-mm_project .chosen-container-active.chosen-with-drop .chosen-single div b:after {
  top: 11px;
  right: -5px;
  transform: rotate(90deg);
}
.post-type-archive-mm_project .archive-content {
  display: grid;
  gap: 4rem 6rem;
  margin: 4rem 0 6rem;
  grid-template-columns: repeat(1, 1fr);
}
@media (min-width: 41.625em) {
  .post-type-archive-mm_project .archive-content {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 86em) {
  .post-type-archive-mm_project .archive-content {
    grid-template-columns: repeat(3, 1fr);
  }
}
.post-type-archive-mm_project .site-main {
  max-width: none;
}
@media (min-width: 106.25em) {
  .post-type-archive-mm_project .site-main {
    padding: 0.1rem 12rem;
  }
}
.post-type-archive-mm_project .mm_project {
  box-shadow: var(--wp--preset--shadow--normal);
  transition: 0.5s;
}
.post-type-archive-mm_project .mm_project:hover, .post-type-archive-mm_project .mm_project:focus {
  box-shadow: var(--wp--custom--hover-shadow);
  transition: 0.5s;
  transform: translateY(-4px);
}
.post-type-archive-mm_project .entry-title-container {
  position: absolute;
  bottom: 0;
  background: rgba(255, 255, 255, 0.85);
  width: 100%;
  padding: 2rem;
}
.post-type-archive-mm_project .entry-title-container .entry-title.has-system-font-family {
  text-align: center;
  margin: 0;
  font-size: 1.8rem;
  text-transform: uppercase;
  font-weight: 500;
  letter-spacing: 0.1rem;
}
.post-type-archive-mm_project a.project-link-container {
  display: block;
  position: relative;
}
.post-type-archive-mm_project figure.featured-img {
  margin: 0;
}
.post-type-archive-mm_project figure.featured-img img {
  display: block;
}

@media (min-width: 106.25em) {
  .featured-projects-container {
    padding: 0.1rem 10rem;
  }
}
.featured-projects-container .swiper-button-next {
  right: 6rem;
  color: #999999;
}
.featured-projects-container .swiper-button-prev {
  left: 6rem;
  color: #999999;
}

.featuredProjects h2.entry-title a {
  font-size: 1.9rem;
  color: black;
  font-weight: 400;
}
.featuredProjects h2.entry-title {
  margin-bottom: 0.15rem;
}
.featuredProjects a.project-more {
  text-transform: uppercase;
  font-weight: 600;
  font-size: 1.4rem;
}
.featuredProjects figure.featured-img img {
  aspect-ratio: 2/1;
  -o-object-fit: cover;
     object-fit: cover;
  height: 100%;
  width: 100%;
}
.featuredProjects a .entry-title-container {
  color: #000000;
}
.featuredProjects a.project-link-container:hover img {
  opacity: 0.7;
  transition: 0.5s;
}

.country-installer-container {
  box-shadow: var(--wp--preset--shadow--normal);
  transition: 0.5s;
}
.country-installer-container:hover, .country-installer-container:focus {
  box-shadow: var(--wp--custom--hover-shadow);
  transition: 0.5s;
  transform: translateY(-4px);
}
.country-installer-container h3 {
  text-align: center;
  padding: 1rem 1rem;
  margin-bottom: 0;
  font-size: 1.6rem;
}
.country-installer-container img {
  display: block;
  border-bottom: 1px solid rgba(0, 0, 0, 0.05);
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: top center;
     object-position: top center;
  aspect-ratio: 165/88;
}

.archive-content.international-installers {
  justify-content: center;
  gap: 2rem;
  grid-template-columns: repeat(2, 1fr);
}
@media (min-width: 41.625em) {
  .archive-content.international-installers {
    grid-template-columns: repeat(4, 1fr);
  }
}
@media (min-width: 65em) {
  .archive-content.international-installers {
    grid-template-columns: repeat(6, 1fr);
  }
}

#mm_us_states_map svg {
  width: 100%;
  height: 100%;
}

.search-results .archive-content {
  grid-template-columns: 1fr;
}
@media (min-width: 41.625em) {
  .search-results .archive-content {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 65em) {
  .search-results .archive-content {
    grid-template-columns: repeat(3, 1fr);
  }
}

/* Archive Styling */
.tax-state .site-main .page-header, .tax-country .site-main .page-header, .tax-rep-state .site-main .page-header, .tax-rep-country .site-main .page-header {
  padding-bottom: 2rem;
  border-bottom: 1px solid #333333;
  display: flex;
  justify-content: space-between;
}
.tax-state .site-main .page-header h1.page-title, .tax-country .site-main .page-header h1.page-title, .tax-rep-state .site-main .page-header h1.page-title, .tax-rep-country .site-main .page-header h1.page-title {
  margin-bottom: 0;
}

/* Hide US in the international installer section and internation Sales Rep */
.country-installer-container#us, .country-installer-container#united-states {
  display: none;
}

/* MemberPress Plugin
--------------------------------------------- */
div#mepr-account-nav {
  display: flex;
  list-style: none;
  gap: 2rem 0.25rem;
  align-items: center;
  flex-wrap: wrap;
  padding: 0;
}

span.mepr-nav-item a {
  color: var(--wp--preset--color--gray);
  padding: 1.5rem 3rem;
  display: block;
  text-align: center;
  border: 1px solid;
  transition: 0.5s;
}
span.mepr-nav-item a:hover {
  background: var(--wp--preset--color--gray);
  color: #ffffff !important;
  border-color: var(--wp--preset--color--gray) !important;
  transition: 0.5s;
}

.mepr-active-nav-tab a {
  font-weight: initial;
  background: var(--wp--preset--color--gray);
  color: #ffffff !important;
  border-color: var(--wp--preset--color--gray) !important;
}

.mpca-fat-bottom {
  margin-bottom: 2.4rem;
}

.mpca-fat-top {
  margin-top: 2.4rem;
}

button#mpca-add-sub-user-btn {
  margin-bottom: 0;
}

form#mpca-add-sub-user-form {
  margin-top: 2.4rem;
  background: #f8f8f8;
  padding: 5rem;
}

.mepr-manage_sub_accounts-wrapper h3 {
  margin-bottom: 0.5rem;
}

div#mpca_sub_accounts_used h4 {
  font-family: var(--wp--preset--font-family--system);
  text-transform: uppercase;
}

/* MemberPress Accounts Page 
div#mpca-add-sub-user, .mpca-search, div#mpca_export_sub_accounts, div#mpca_signup_url, span.mepr-nav-item.mepr-payments {
    display: none;
}*/
/* NEW Responsive Tables */
.mp_wrapper table.mepr-account-table {
  border: 1px solid #ccc;
  width: 100% !important;
  margin: 0;
  padding: 0;
  border-collapse: collapse;
  border-spacing: 0;
}

.mp_wrapper table.mepr-account-table tr {
  border: 1px solid #ddd;
  padding: 5px;
}

.mp_wrapper table.mepr-account-table td {
  padding: 5px;
  text-align: left;
  border-left: 1px solid #ededed;
}

.mp_wrapper table.mepr-account-table th {
  padding: 5px;
  text-transform: uppercase;
  font-size: 12px;
  letter-spacing: 1px;
  text-align: left;
}

.mp_wrapper table.mepr-account-table tr.mepr-alt-row {
  background: #f9f9f9;
}

.mp_wrapper table.mepr-account-table .mepr-account-actions a {
  display: block;
}

@media screen and (max-width: 600px) {
  .mp_wrapper table.mepr-account-table {
    border: 0;
  }
  .mp_wrapper table.mepr-account-table thead {
    display: none !important;
  }
  .mp_wrapper table.mepr-account-table tr {
    margin-bottom: 10px;
    display: block;
    border-bottom: 2px solid #ddd;
  }
  .mp_wrapper table.mepr-account-table td {
    display: block;
    text-align: right;
    border-top: none;
    border-left: none;
    border-bottom: 1px dotted #ccc;
  }
  .mp_wrapper table.mepr-account-table td:last-child {
    border-bottom: 0;
  }
  .mp_wrapper table.mepr-account-table td div {
    padding: 0;
    margin: 0;
    margin-left: 15px;
  }
  .mp_wrapper table.mepr-account-table td:before {
    content: attr(data-label);
    float: left;
    text-transform: uppercase;
    font-weight: bold;
  }
  .mepr-account-subscr-id,
  .mepr-account-auto-rebill,
  .mepr-account-rebill {
    display: none;
  }
  .mepr-account-terms,
  .mepr-account-subscr-id,
  .mepr-account-rebill {
    font-size: inherit;
    font-weight: inherit;
    font-style: inherit;
    color: inherit;
  }
}
.mepr-two-factor-options th {
  vertical-align: top;
  text-align: left;
  padding: 20px 10px 20px 0;
  width: 200px;
  line-height: 1.3;
  font-weight: 600;
}

.mepr-two-factor-options td {
  vertical-align: top;
  margin-bottom: 9px;
  padding: 15px 10px;
  line-height: 1.3;
}

.mepr-two-factor-options .two-factor-method-label,
.mepr-two-factor-options select[name=_two_factor_provider] {
  margin-bottom: 10px;
}

.mepr-two-factor-options p {
  margin: 0 0 1.5em 0;
}

.mepr-two-factor-options label[for=two-factor-totp-authcode],
.mepr-two-factor-options input[type=text],
.mepr-two-factor-options select {
  width: auto !important;
}

/*--------------------------------------------------------------
# Utilities
--------------------------------------------------------------*/
/* Accessibility
--------------------------------------------- */
/* Text meant only for screen readers. */
.screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute !important;
  width: 1px;
  word-wrap: normal !important;
}
.screen-reader-text:focus {
  background-color: var(--wp--preset--color--background);
  border-radius: 3px;
  box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
  clip: auto !important;
  clip-path: none;
  color: var(--wp--preset--color--foreground);
  display: block;
  font-size: 0.875rem;
  font-weight: 700;
  height: auto;
  left: 5px;
  line-height: normal;
  padding: 15px 23px 14px;
  text-decoration: none;
  top: 5px;
  width: auto;
  z-index: 100000;
}

/* Do not show the outline on the skip link target. */
#primary[tabindex="-1"]:focus {
  outline: 0;
}

/* Alignments
--------------------------------------------- */
.alignfull {
  margin-left: calc(-50vw + 50%);
  margin-right: calc(-50vw + 50%);
  width: 100vw;
  position: relative;
}
.alignfull .alignfull {
  width: auto;
}
.alignfull .alignwide {
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
}

.alignwide {
  width: 100%;
  max-width: 100%;
  position: relative;
  margin-left: 0px;
  margin-right: 0px;
}
@media (min-width: 65em) {
  .alignwide {
    width: calc(100% + 24rem);
    margin-left: -12rem;
    max-width: calc(100% + 24rem);
  }
}
.alignwide .alignfull {
  width: auto;
}
.alignwide .alignwide {
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
}

.more.fronthide {
  display: none;
}

/*# sourceMappingURL=style.css.map */
