/*
 * Elementor Pro's nav-menu base styles, reduced to what this site renders: vertical menus, no pointer, no mobile
 * dropdown (the Footer menus and the off-canvas Mobile Menu). Widget nav-menu.
 */
.elementor-widget-nav-menu .elementor-widget-container { display: flex; flex-direction: column; }
.elementor-nav-menu { position: relative; z-index: 2; }
.elementor-nav-menu::after { clear: both; content: " "; display: block; font: 0/0 serif; height: 0; overflow: hidden; visibility: hidden; }
.elementor-nav-menu,
.elementor-nav-menu li,
.elementor-nav-menu ul { display: block; line-height: normal; list-style: none; margin: 0; padding: 0; -webkit-tap-highlight-color: transparent; }
.elementor-nav-menu ul { display: none; }
.elementor-nav-menu a,
.elementor-nav-menu li { position: relative; }
.elementor-nav-menu li { border-width: 0; }
.elementor-nav-menu a { align-items: center; display: flex; line-height: 20px; padding: 10px 20px; }
.elementor-nav-menu--main .elementor-nav-menu a { padding: 13px 20px; transition: .4s; }
.elementor-nav-menu--main .elementor-nav-menu ul { border-style: solid; border-width: 0; padding: 0; position: absolute; width: 12em; }
.elementor-nav-menu__align-start .elementor-nav-menu { justify-content: flex-start; margin-inline-end: auto; }
.elementor-nav-menu__align-start .elementor-nav-menu--layout-vertical > ul > li > a { justify-content: flex-start; }

/* Submenus. */
.elementor-nav-menu--dropdown { background-color: #fff; font-size: 13px; }
.elementor-nav-menu--dropdown a { color: #33373d; }
ul.elementor-nav-menu--dropdown a { border-inline-start: 8px solid transparent; text-shadow: none; }
.elementor-sub-item:hover,
.elementor-sub-item:focus,
.elementor-sub-item.elementor-item-active { background-color: #3f444b; color: #fff; }

/* Vertical menus: the caret is a button after the parent link and opens the submenu in place (elements.js). */
.elementor-nav-menu--layout-vertical .menu-item-has-children { align-items: center; display: flex; flex-wrap: wrap; }
.elementor-nav-menu--layout-vertical .menu-item-has-children > a { padding-inline-end: 0; }
.elementor-nav-menu--layout-vertical .menu-item-has-children > ul { flex-basis: 100%; }
.elementor-nav-menu--layout-vertical .menu-item-has-children.bre-open > ul { display: block; position: static; width: auto; }
.elementor-nav-menu .sub-arrow { align-items: center; background: none; border: 0; border-radius: 0; color: inherit; cursor: pointer; display: flex; font: inherit; line-height: 1; padding: 10px; }
.elementor-nav-menu .sub-arrow i { pointer-events: none; transition: transform .2s; }
.elementor-nav-menu .bre-open > .sub-arrow i { transform: rotate(180deg); }
