/**
 * Styling from the default responsive menu module
 */

body.user-logged-in.toolbar-fixed.mm-wrapper_opening,
body.user-logged-in.toolbar-fixed.mm-wrapper_opened {
  padding-top: 0!important;
}

.responsive-menu-block-wrapper {
  display: none;
}

.mm-page,
.mm-wrapper_background body {
  background-color: #ffffff;
}

.mm-wrapper_opening .toolbar-tray-open.toolbar-fixed.toolbar-vertical,
.mm-opened .toolbar-tray-open.toolbar-fixed.toolbar-vertical {
  margin-left: 0;
}

.mm-wrapper_opening .toolbar-tray-open.toolbar-fixed.toolbar-vertical .mm-page,
.mm-opened .toolbar-tray-open.toolbar-fixed.toolbar-vertical .mm-page {
  padding-left: 240px;
  padding-left: 15rem;
}

.horizontal-menu {
  position: relative;
  margin-top: 0;
  margin-right: 0;
  margin-bottom: 0;
  margin-left: 0;
  padding: 0;
  list-style: none;
  width: 100%;
}

.horizontal-menu > li {
  display: inline-block;
  position: relative;
}

.horizontal-menu > li ul ul {
  left: 13.75em;
  top: 0;
}

.horizontal-menu ul .fly-left ul {
  left: -13.75em;
}

.horizontal-menu > li > a {
  display: block;
  padding-top: 0.3em;
  padding-right: 1em;
  padding-bottom: 0.35em;
  padding-left: 1em;
  background-color: #fff;
}

.horizontal-menu > li ul {
  position: absolute;
  display: none;
  top: 100%;
  left: 0;
  z-index: 99;
  padding-top: 0;
  padding-right: 0;
  padding-bottom: 0;
  padding-left: 0;
  box-sizing: border-box;
  width: 13.75em;
  list-style: none;
}

.horizontal-menu li.sfHover > ul,
.horizontal-menu li:hover > ul {
  display: block;
}

.horizontal-menu li li {
  position: relative;
  float: left;
  width: 100%;
}

.horizontal-menu > li > li:hover > ul,
.horizontal-menu > li > li.sfHover > ul {
  display: block;
}

.horizontal-menu > li li > a {
  display: block;
  position: relative;
  padding-top: 0.25em;
  padding-right: 1em;
  padding-bottom: 0.25em;
  padding-left: 1em;
  text-transform: none;
}

.off-canvas-wrapper {
  display: block;
}

.no-js .off-canvas-wrapper {
  display: none;
}

.responsive-menu-toggle {
  display: inline-block;
}

.responsive-menu-toggle-icon {
  box-sizing: border-box;
  display: block;
  width: 40px;
  height: 40px;
  z-index: 4;
  margin-top: 0;
  position: relative;
}

.no-js .responsive-menu-toggle-icon {
  display: none;
}

.responsive-menu-toggle-icon span.label {
  display: block;
  font-size: 12px;
  text-transform: none;
  position: absolute;
  transform: translateX(-50%) translateY(110%);
  left: 50%;
  color: #fff;
}

.responsive-menu-toggle-icon:before,
.responsive-menu-toggle-icon:after,
.responsive-menu-toggle-icon span.icon {
  background: #fff;
  content: '';
  display: block;
  width: 24px;
  height: 2px;
  position: absolute;
  top: 0;
  left: 8px;
}

.responsive-menu-toggle-icon:before {
  top: 8px;
}

.responsive-menu-toggle-icon span.icon {
  top: 14px;
}

.responsive-menu-toggle-icon:after {
  top: 20px;
}

.responsive-menu-toggle-icon:before,
.responsive-menu-toggle-icon:after,
.responsive-menu-toggle-icon span.icon {
  transition: none 0.4s ease-out 0.1s;
  transition-property: -webkit-transform, top, bottom, left, opacity;
  transition-property: transform, top, bottom, left, opacity;
}

.mm-wrapper_opening .responsive-menu-toggle-icon:before,
.mm-wrapper_opening .responsive-menu-toggle-icon:after {
  top: 14px;
}

.mm-wrapper_opening .responsive-menu-toggle-icon span.icon {
  left: -25px;
  opacity: 0;
}

.mm-wrapper_opening .responsive-menu-toggle-icon:before {
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}

.mm-wrapper_opening .responsive-menu-toggle-icon:after {
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

#mm-blocker {
  background: rgba(0, 0, 0, 0);
}
.mm-wrapper_opening #mm-blocker {
  background: rgba(0, 0, 0, 0.2);
  transition: background 1s ease 0.3s;
}
.mm-wrapper_opening #page {
  border-left: 1px solid #ccc;
}

.mm-panel a {
  border-bottom: none;
}

ul.menu.mm-listview a.is-active {
  color: inherit;
}

.mm-panel a:hover {
  border: none;
}

ul.menu.mm-listview {
  padding-left: 0;
  margin-left: 0;
}

/**
 * Rules to define how we position the menu icon
 */
@media(min-width: 768px) {
  #responsive-menu-icon {
    display: inline-block;
    float: left;
    margin-top: 10px;
  }
}

@media(max-width: 767px) {
  #responsive-menu-icon {
    display: inline-block;
    float: left;
    margin-top: 5px;
    margin-bottom: 20px;
  }
}

#page-title {
  display: inline-block;
  float: left;
  padding-left: 10px;
}

#responsive-menu-icon ~ #page-title .campl-page-title {
  margin-bottom: 20px;
}

/**
 * Add Project Light theming
 */

/**
 * Theme 1: blue
 */
.campl-theme-1 #off-canvas {
  --mm-navbar-bg: #003e74;
  --mm-button-bg: #004e8f;
  --mm-button-hover-bg: #0072cf;
  --mm-foreground-color: #fff;
  --mm-btn-border-color: #fff;
}

/**
 * Theme 2: turquuise
 */
.campl-theme-2 #off-canvas {
  --mm-navbar-bg: #106470;
  --mm-button-bg: #0c5963;
  --mm-button-hover-bg: #28828a;
  --mm-foreground-color: #fff;
  --mm-btn-border-color: #fff;
}

/**
 * Theme 3: purple
 */
.campl-theme-3 #off-canvas {
  --mm-navbar-bg: #422e5d;
  --mm-button-bg: #6a2068;
  --mm-button-hover-bg: #8f2b8c;
  --mm-foreground-color: #fff;
  --mm-btn-border-color: #fff;
}

/**
 * Theme 4: green
 */
.campl-theme-4 #off-canvas {
  --mm-navbar-bg: #304220;
  --mm-button-bg: #355918;
  --mm-button-hover-bg: #578219;
  --mm-foreground-color: #fff;
  --mm-btn-border-color: #fff;
}

/**
 * Theme 5: orange
 */
.campl-theme-5 #off-canvas {
  --mm-navbar-bg: #c44101;
  --mm-button-bg: #ab3901;
  --mm-button-hover-bg: #bf5819;
  --mm-foreground-color: #fff;
  --mm-btn-border-color: #fff;
}

/**
 * Theme 6: red
 */
.campl-theme-6 #off-canvas {
  --mm-navbar-bg: #851735;
  --mm-button-bg: #a51137;
  --mm-button-hover-bg: #d61746;
  --mm-foreground-color: #fff;
  --mm-btn-border-color: #fff;
}

/**
 * Theme 7: grey
 */
.campl-theme-7 #off-canvas {
  --mm-navbar-bg: #404040;
  --mm-button-bg: #5f5f5f;
  --mm-button-hover-bg: #797676;
  --mm-foreground-color: #fff;
  --mm-btn-border-color: #fff;
}

/**
 * Theme 8: lime
 */
.campl-theme-8 #off-canvas {
  --mm-navbar-bg: #abb400;
  --mm-button-bg: #404f24;
  --mm-button-hover-bg: #777b31;
  --mm-foreground-color: #fff;
  --mm-btn-border-color: #fff;
}

/**
 * Theme 9: blue-grey
 */
.campl-theme-9 #off-canvas {
  --mm-navbar-bg: #d2dde7;
  --mm-button-bg: #5f5f5f;
  --mm-button-hover-bg: #797676;
  --mm-foreground-color: #000;
  --mm-btn-border-color: #000;
}

/**
 * Common to all themes
 */
#off-canvas {
  --mm-color-background-emphasis: none;
}

#off-canvas .mm-navbar {
  --mm-color-border: none;
}

#off-canvas .menu-item--active {
  font-weight: bold;
  /* indent active trail items to highlight */
  margin-left: 0.5em;
}

/**
 * Now apply vars from each theme
 */
#off-canvas {
  --mm-color-button: var(--mm-foreground-color);
  --mm-color-text: var(--mm-foreground-color);
}

#off-canvas .mm-navbar__title {
  background-color: var(--mm-navbar-bg);
  color: var(--mm-foreground-color);
}

#off-canvas .mm-btn {
  background-color: var(--mm-button-bg);
}

#off-canvas .menu-item {
  background-color: var(--mm-button-bg);
}

#off-canvas .mm-btn:hover,
#off-canvas .mm-listitem__text:hover {
  background-color: var(--mm-button-hover-bg);
}

/* Left border on next buttons */
#off-canvas .mm-btn_next::before {
  content: '';
  position: absolute;
  left: 0;
  top: 10%;
  bottom: 10%;
  width: 0;
  border-left: solid var(--mm-btn-border-color) 1px;
  border-right: none;
}

/* No left border when the menu item is not to
 * a content page */
#off-canvas .mm-btn_next.mm-listitem__text::before {
  content: none;
}

/* Right border on prev buttons */
#off-canvas .mm-btn_prev::after {
  content: '';
  position: absolute;
  right: 0;
  top: 10%;
  bottom: 10%;
  width: 0;
  border-right: solid var(--mm-btn-border-color) 1px;
  border-left: none;
}
