body {
  background: #1F0F1F;
  color: #FAECF1;
  font-family: 'Dosis', 'Open Sans', sans-serif;
  /* stylelint-disable-next-line unit-blacklist */
  font-size: 20px;
  font-weight: 400;
  height: 100%;
  min-height: 100vh;
  margin: 0;
  padding: 0;
}

.demo {
  margin: 150px auto;
  max-width: 45rem;
  width: calc(100% - 2rem);
  min-height: calc(100% - 2rem);
  padding: 1rem;
}


.example {
  margin: 0 auto;
  max-width: 45rem;
  width: calc(100% - 2rem);
  padding: 2vw 5.5vw;
  width: calc(100% - 11vw);
}

@media all and (min-width: 45rem) {
  .example {
    padding: 1rem 2rem;
  }
}

.example__heading {
  font-weight: 300;
  letter-spacing: 0.1rem;
}

.example__content {
  font-weight: 300;
  letter-spacing: 0.05rem;
  line-height: 1.5;
  padding: 1rem 0;
}

.example__content li {
  margin-bottom: 0.25rem;
}

.toggle__button {
  border: 0.1rem solid #FAECF1;
  border-radius: 1rem;
  cursor: pointer;
  font-size: 0.9rem;
  margin: 0 auto;
  padding: 1rem;
  text-align: center;
  -webkit-transition: color 250ms ease-in-out;
  transition: color 250ms ease-in-out;
  will-change: border-color, color;
}

@media all and (min-width: 25rem) {
  .toggle__button {
    font-size: 1rem;
  }
}

.toggle__button.toggle--open {
  color: #E284A5;
}

.toggle__button:hover {
  color: #D44678;
  border-color: #E284A5;
  text-decoration: underline;
}

.toggle__button:active, .toggle__button:focus {
  outline: none;
  -webkit-box-shadow: 0 0 0.5rem 0.5rem -webkit-focus-ring-color;
          box-shadow: 0 0 0.5rem 0.5rem -webkit-focus-ring-color;
  text-decoration: underline;
}

.toggle__content {
  display: none;
  overflow: hidden;
}

.toggle__content.toggle--open, .toggle__content.toggle--opening, .toggle__content.toggle--closing {
  display: block;
}

.toggle__content--appear {
  -webkit-transition: max-height 300ms ease-in-out, opacity 150ms linear 75ms;
  transition: max-height 300ms ease-in-out, opacity 150ms linear 75ms;
  will-change: max-height, opacity;
  opacity: 0;
  max-height: 0;
}

.toggle__content--appear.toggle--open, .toggle__content--appear.toggle--opening, .toggle__content--appear.toggle--closing {
  display: block;
}

.toggle__content--appear.toggle--closing {
  z-index: 9;
}

.toggle__content--appear.toggle--open {
  max-height: 60rem;
  opacity: 1;
  z-index: 10;
}

.toggle__content--appear.toggle--open .container {
  opacity: 1;
}

.toggle__content--slide {
  -webkit-transition: -webkit-transform 300ms ease-in-out;
  transition: -webkit-transform 300ms ease-in-out;
  transition: transform 300ms ease-in-out;
  transition: transform 300ms ease-in-out, -webkit-transform 300ms ease-in-out;
  -webkit-transform: translate3d(0, -100%, 0);
          transform: translate3d(0, -100%, 0);
  will-change: transform;
}

.toggle__content--slide.toggle--closing {
  z-index: 0;
}

.toggle__content--slide.toggle--open {
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
  z-index: 10;
}

.toggle__content--slide.toggle--open .container {
  opacity: 1;
}

.toggle__content .btn {
  border: 0.1rem solid #FAECF1;
  border-radius: 1rem;
  color: #E284A5;
  cursor: pointer;
  display: inline-block;
  font-weight: 600;
  padding: 0.5rem;
  margin: 0.5rem;
  text-align: center;
}

.toggle__content .btn:hover, .toggle__content .btn:focus, .toggle__content .btn:active {
  color: #D44678;
  border-color: #E284A5;
  text-decoration: underline;
}

.toggle__group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.toggle__group .toggle__button {
  -ms-flex-preferred-size: 25%;
      flex-basis: 25%;
  margin: 0;
  padding: 1rem 0.5rem;
}

.toggle__wrap {
  overflow: hidden;
  height: auto;
}

.menuItem {
  margin-left: 1rem;
  position: relative;
}

.menuItem:first-of-type {
  margin-left: 0;
}

.menuItem__title .less,
.menuItem__title .more {
  -webkit-transition: opacity 150ms linear 75ms;
  transition: opacity 150ms linear 75ms;
  opacity: 1;
}

.menuItem__title .less {
  opacity: 0;
  display: none;
}

.menuItem__title.toggle--open .less, .menuItem__title.toggle--opening .less, .menuItem__title.toggle--closing .less {
  display: inline;
}

.menuItem__title.toggle--open .more, .menuItem__title.toggle--opening .more, .menuItem__title.toggle--closing .more {
  display: none;
}

.menuItem__title.toggle--open .less {
  opacity: 1;
}

.menuItem__title.toggle--open .more {
  opacity: 0;
}

.menuItem__submenu {
  display: block;
  border: 0.1rem solid #D44678;
  border-radius: 1rem;
  color: #FAECF1;
  left: 50%;
  list-style: none;
  padding: 1.25rem 1.5rem;
  margin: 0 0 2rem;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  position: absolute;
  top: calc(100% + 2rem);
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

.menuItem__submenu::before {
  border-left: 1rem solid transparent;
  border-right: 1rem solid transparent;
  border-bottom: 1.65rem solid #D44678;
  bottom: 100%;
  content: '';
  display: block;
  left: 50%;
  margin: 0 auto;
  position: absolute;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

.menuItem__submenu::after {
  border-left: 1rem solid transparent;
  border-right: 1rem solid transparent;
  border-bottom: 1.65rem solid #1F0F1F;
  bottom: 100%;
  content: '';
  display: block;
  left: 50%;
  margin: 0 auto;
  position: absolute;
  -webkit-transform: translateX(-50%) translateY(0.2rem);
          transform: translateX(-50%) translateY(0.2rem);
}

.menuItem__submenu a {
  color: #FAECF1;
  display: inline-block;
  font-size: 1.2rem;
  padding: 0 0 0.5rem;
  text-decoration: none;
}

.menuItem__submenu a:visited {
  color: #FAECF1;
}

.menuItem__submenu a:hover, .menuItem__submenu a:focus, .menuItem__submenu a:active {
  color: #E284A5;
  text-decoration: underline;
}

.menuItem__submenu .menuItem {
  margin-left: 0;
}

.menuItem__submenu .menuItem__title {
  margin: 0.5rem 0;
}

.menuItem__submenu .menuItem__submenu {
  border: none;
  margin: 1rem 0 0;
  padding: 0 0 0 1rem;
  position: static;
  -webkit-transform: none;
          transform: none;
}

.menuItem__submenu .menuItem__submenu a {
  font-size: 0.9em;
}

.menuItem__submenu .menuItem__submenu::after, .menuItem__submenu .menuItem__submenu::before {
  display: none;
}

.menu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  list-style: none;
  margin: 0;
  padding: 0;
}

.menu .menuItem__submenu,
.menu .menuItem--extra {
  display: none;
  -webkit-transition: opacity 250ms linear;
  transition: opacity 250ms linear;
  opacity: 0;
}

.menu .menuItem__submenu.toggle--open, .menu .menuItem__submenu.toggle--opening, .menu .menuItem__submenu.toggle--closing,
.menu .menuItem--extra.toggle--open,
.menu .menuItem--extra.toggle--opening,
.menu .menuItem--extra.toggle--closing {
  display: block;
}

.menu .menuItem__submenu.toggle--open,
.menu .menuItem--extra.toggle--open {
  opacity: 1;
}
