#block-cama-main-menu {
  display: none;
  position: relative;
}

header.js-menu-open #block-cama-main-menu  {
  display: block;
}

header .main-menu {
  display: none;
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;  
  flex-direction: column;
  font-size: var(--fontSizeSMedium);
}

header .main-menu {
  position: relative;
  min-height: calc(100vh - 52px);
  max-height: calc(100vh - 52px);
  overflow-y: scroll;
  overflow-x: hidden;
}

header .main-menu li {
  padding: 0.5em 2em;
  border-bottom: 1px solid var(--colorGray);
}

header .main-menu li.has-children::after {
  content: url('../../icons/chevron-right.svg');
  position: absolute;
  right: 0.6em;
}

header .main-menu li.sub-menu-back::before {
  content: url('../../icons/chevron-left.svg');
  position: absolute;
  left: 0.6em;
  top: 0.6em;
}

header .main-menu li a:not(.button) {
  color: var(--colorGrayXDark);
  text-decoration: none;
  transition: color .4s;
}

header .main-menu li.menu-item--active-trail > a,
header .main-menu li a.is-active {
  color: var(--colorPrimary);
}

header .main-menu li a:hover:not(.button) {
  color: var(--colorPrimary);
}

header.front:not(.js-menu-open) .main-menu li a {
  color: var(--colorWhite);
}

header.front:not(.js-menu-open) .main-menu.bright li a {
  color: var(--colorGrayXDark);
}

header .main-menu li .sub-menu {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  color: var(--colorGrayXDark);
  background: var(--colorWhite);
  min-height: calc(100vh - 52px);
  /*max-height: calc(100vh - 52px);*/ 
  transform: translateX(100vw);
  transition: transform 0.2s ease-in;
  z-index:10;
}

header .main-menu li .sub-menu.sub-menu-1 {
  height: 100%;
}

header .main-menu li .sub-menu.js-sub-menu-active {
  transform: translateX(0);

}

header .main-menu li ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

@media screen and (min-width: 1024px) {
  #block-cama-main-menu {
    display: block;
  }

  header .main-menu {
    padding: 0.4em 2.2em;
    flex-direction: row;
    justify-content: space-evenly;
    min-height: 0;
    max-height: none;
    overflow: visible;
  }

  header .main-menu li {
    border: 0;
    padding: 0;
  }

  header .main-menu li.has-children::after {
    content: '';
  }

  header .main-menu li.level-0 > a {
    padding: 0 20px 18px 20px;
    -webkit-tap-highlight-color: transparent;
    position: relative;
  }

  header .main-menu li.level-0.has-children:hover > a::after {
    display: block;
    content: "";
    position: absolute;
    left: 20px;
    bottom: 6px;
    width: 40px;
    height: 6px;
    background: var(--colorPrimary);
  }

  header.front .main-menu.dark li.level-0.has-children:hover > a::after {
    background: var(--colorWhite);
  }

  header.front .main-menu.bright li.level-0.has-children:hover > a::after {
    background: var(--colorGrayXDark);
  }

  header .main-menu li .sub-menu {
    min-height: auto;
  }

  header .main-menu li.has-children .sub-menu:not(.sub-menu-0) {
    display: none;
  }

  header .main-menu li.has-children .sub-menu.sub-menu-0 {
    transform: none;
    top: 42px;
    min-height: 0;
    max-height: none;
    overflow: visible;
    visibility: hidden;
    opacity: 0;
    transition: visibility 0s, opacity 0.2s linear;
  }

  header .main-menu li.has-children:hover .sub-menu.sub-menu-0  {
    background: rgba(255, 255, 255, .95);
    box-shadow: 0 0 10px rgba(0,0,0,.15), 0 3px 3px rgba(0,0,0,.15);
    visibility: visible;
    opacity: 1;
  }

  header .main-menu li.has-children .sub-menu ul {
    margin: 0;
  }

  header .main-menu li.has-children .sub-menu li:not(.menu-item--active-trail) a:not(.is-active) {
    color: var(--colorGrayXDark);
  }

  header .main-menu li.has-children .sub-menu li:not(.menu-item--active-trail) a:hover {
    color: var(--colorPrimary);
  }

  header .main-menu li.has-children .sub-menu ul .sub-menu-back {
    display: none;
  }
}

@media screen and (min-width: 1680px) {
  header .main-menu li.level-0 > a {
    padding: 0 40px 18px 40px;
    -webkit-tap-highlight-color: transparent;
  }

  header .main-menu li.level-0.has-children:hover > a::after {
    left: 40px;
  }
}


/**
 *
 *   __  __ ___ ___   _     __  __ ___ _  _ _   _ 
 *  |  \/  | __/ __| /_\   |  \/  | __| \| | | | |
 *  | |\/| | _| (_ |/ _ \  | |\/| | _|| .` | |_| |
 *  |_|  |_|___\___/_/ \_\ |_|  |_|___|_|\_|\___/                                              
 *
 */

.mega-menu .mega-menu-col {
  word-break: break-word;
}

.mega-menu .mega-menu-col div[id^=block-mega-menu] {
  border-bottom: 1px solid var(--colorGray);
  padding: 1em; 
}

.mega-menu .mega-menu-col div[id^=block-mega-menu] p:first-child {
  margin-top: 0;
}

.mega-menu .mega-menu-col h2 {
  margin: 0 0 0.4em 0;
  font-size: var(--fontSizeMedium);
}

header .main-menu li.has-children .sub-menu .mega-menu-link-img .mega-menu-link {
  color: white;
}

.mega-menu-link-img .mega-menu-img {
  position: relative;
  overflow: hidden;
}

.mega-menu-link-img .mega-menu-img img {
  width: 100%;
  display: block;
}

.mega-menu-link-img .mega-menu-title {
  position: absolute;
  z-index: 2;
  bottom: 0;
  width: 100%;
  padding: 2em 1em 0.5em 1em; 
  background: linear-gradient(180deg,transparent,rgba(0,0,0,.65) 80%);
  font-weight: var(--fontWeightBase);
}

.close-mega-menu {
  display: none;
}


@media screen and (min-width: 768px) {
  .views-view-mega-menu-fields {
    display: grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
  }

  .mega-menu-link-img .mega-menu-title {
    font-size: var(--fontSizeSmall);
  }
}

@media screen and (min-width: 1024px) {
  .mega-menu {
    display: grid;
    grid-template-columns: repeat(4, minmax(0,1fr));
    padding: 2em 0 2em 0;
    word-wrap: break-word;
  }

  .mega-menu .mega-menu-col {
    border-right: 1px solid var(--colorGray);
    padding: 0 1em;
    line-height: 1.2em;
  }

  .mega-menu .mega-menu-col div[id^=block-mega-menu] {
    border-bottom: 0;
    padding: 0;
  }

  .mega-menu .mega-menu-col-1 {
    order: 2;
  }

  .mega-menu .mega-menu-col-2 {
    order: 3;
  }

  .mega-menu .mega-menu-col-3 {
    order: 1;
  }

  .mega-menu .mega-menu-col-4 {
    order: 4;
  }

  .mega-menu .mega-menu-col h2 {
    margin: 0;
    padding: 0  0 1em 0;
  }

  
  .mega-menu .mega-menu-col ul li {
    margin-bottom: 12px;
  }

  .views-view-mega-menu-fields {
    display: block;
  }

  .mega-menu-link-img {
    margin: 0 0 1em 0;
  }

  .close-mega-menu {
    display: block;
    position: absolute;
    top:0;
    right: 0;
    cursor: pointer;
  }

  .close-mega-menu svg {
    width: 48px;
    height: 48px;
  }
  
}

@media screen and (min-width: 1280px) {
  .mega-menu .mega-menu-col {
    padding: 0 2em;
  }

  .mega-menu-link-img .mega-menu-title {
    font-size: var(--fontSizeMedium);
  }
}

/**
  *   _____ _                 _        __  __                  
  *  / ____(_)               | |      |  \/  |                 
  * | (___  _ _ __ ___  _ __ | | ___  | \  / | ___ _ __  _   _ 
  *  \___ \| | '_ ` _ \| '_ \| |/ _ \ | |\/| |/ _ \ '_ \| | | |
  *  ____) | | | | | | | |_) | |  __/ | |  | |  __/ | | | |_| |
  * |_____/|_|_| |_| |_| .__/|_|\___| |_|  |_|\___|_| |_|\__,_|
  *                    | |                                     
  *                    |_|                                     
  */

.ss_simple_menu .close-mega-menu,
.ss_simple_menu .mega-menu-col-2,
.ss_simple_menu .mega-menu-col-3,
.ss_simple_menu .mega-menu-col-4 {
  display: none;
}

@media screen and (min-width: 1024px) {

  .ss_simple_menu .sub-menu-parent {
    display: none;
  }

  .ss_simple_menu .mega-menu {
    display: block;
    word-wrap: break-word;
  }

  .ss_simple_menu .mega-menu-col {
    border-right: 0;
  }

  header .main-menu.ss_simple_menu li {
    position: relative;
  }

  header .main-menu.ss_simple_menu li .sub-menu {
    width: 320px;
    top: unset;
    left: unset;
  }

  header .main-menu.ss_simple_menu li.has-children .sub-menu.sub-menu-0 {
    top: 36px;
  }

  header .main-menu.ss_simple_menu li:last-child .sub-menu {
    right: 0;
  }

}

/**
  *   _____ _     _      _                  __  __                  
  *  / ____(_)   | |    | |                |  \/  |                 
  * | (___  _  __| | ___| |__   __ _ _ __  | \  / | ___ _ __  _   _ 
  *  \___ \| |/ _` |/ _ \ '_ \ / _` | '__| | |\/| |/ _ \ '_ \| | | |
  *  ____) | | (_| |  __/ |_) | (_| | |    | |  | |  __/ | | | |_| |
  * |_____/|_|\__,_|\___|_.__/ \__,_|_|    |_|  |_|\___|_| |_|\__,_|
  *                                                                                                                                 
  */

nav#block-mainnavigationside ul {
  margin: 1em 0 0 0;
  padding: 0;
  list-style: none;
}

nav#block-mainnavigationside ul li {
  margin-bottom: 0.6em;
}

nav#block-mainnavigationside ul:not(:first-child) {
  margin-left: 20px;
}

nav#block-mainnavigationside ul li a {
  color: var(--colorGrayXDark);
  text-decoration: none;
}

nav#block-mainnavigationside ul li a:hover:not(.is-active) {
  text-decoration: underline;
}

nav#block-mainnavigationside ul li a.is-active {
  color: var(--colorPrimary);
}

.js-mainnavigationside-sticky {
  position: sticky;
  top: 180px;
}