/* Reset CSS */
@font-face {
  font-family: 'TimesNewArial';
  src: url(../src/fonts/TimesNewArialVF.woff);
}

html, body {
  background: #fff;
  z-index: 1;
  font-size: 3vw;
  font-size: 100%;
  padding: 0;
  margin: 0;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-family: 'TimesNewArial';
  font-variation-settings: "wght" 0, "srff" 0, "ital" 0, "nvgn" 0;
  font-size: 0;
  height: 100vh;
}

a, button, input, label {
  cursor: pointer;
}

a {
  color: black;
}

*, *:after, *:before {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  font-weight: lighter;
}

ol, ol li {
  list-style: none;
}

ul, li {
  margin: 0;
  padding: 0;
}

/* Your CSS */
.menu {
  position: absolute;
  top: 0.5vw;
  right: 1vw;
  font-size: 4vw;
  line-height: 4vw;
  z-index: 999999;
  cursor: pointer;
}

.item {
  border-bottom: 0.15vw solid black;
  padding-left: 0.5vw;
}

.item .arrow {
  transition: transform 0.5s ease;
  transform-origin: center center;
  position: absolute;
  top: 1vw;
  right: 1vw;
  height: 3vw;
  overflow: hidden;
}

.item .menuitem {
  position: sticky;
  top: 0;
  padding-top: 0.75vw;
  font-size: 4vw;
  line-height: 4vw;
  cursor: pointer;
}

.item .menuitem h2 {
  font-size: 2vw;
  line-height: 2vw;
  font-variation-settings: "wght" 0, "srff" 100, "ital" 0, "nvgn" 0;
}

.item .menuitem#home {
  cursor: auto;
}

.item .menuitem#home img {
  height: 9.25vw;
  display: inline-block;
}

.item .menuitem#home div {
  display: inline-block;
}

.item.teaser {
  text-align: center;
  padding: 0;
  border-bottom: 0.15vw solid black;
  font-size: 0;
}

.item.teaser img {
  width: 100%;
}

.item .content {
  max-height: 0;
  padding-bottom: 0;
  overflow: hidden;
  transition: max-height 0.75s ease, padding-bottom 0.75s ease, padding-top 0.75s ease;
  padding-left: 13.5vw;
  padding-right: 13.5vw;
}

.item .content p, .item .content li {
  font-size: 2vw;
  font-variation-settings: "wght" 0, "srff" 100, "ital" 0, "nvgn" 0;
}

.item .content p, .item .content ul {
  margin-bottom: 2vw;
}

.item .content strong {
  font-variation-settings: "wght" 200, "srff" 100, "ital" 0, "nvgn" 0;
}

.item .content em {
  font-variation-settings: "wght" 0, "srff" 100, "ital" 50, "nvgn" 0;
}

.item.open .content {
  max-height: 100vw;
  padding-bottom: 0.75vw;
  padding-top: 0.75vw;
}

.item.open .arrow {
  transform: rotate(180deg);
}

.item.type2 {
  width: 50vw;
  display: inline-block;
  vertical-align: top;
  border-right: 0.15vw solid black;
}

.item.type2 .menuitem {
  padding-top: 0.4vw;
  font-size: 2vw;
  line-height: 2.5vw;
}

.item.type2.open .content {
  max-height: initial;
  padding: 0;
}

/* Media Queries */
@media screen and (max-width: 800px) {
  .menu {
    display: none;
  }
  .item {
    border-bottom: 0.3vw solid black;
    padding-left: 1vw;
  }
  .item .arrow {
    transition: transform 0.5s ease;
    transform-origin: center center;
    position: absolute;
    top: 2vw;
    right: 2vw;
    height: 7vw;
    overflow: hidden;
  }
  .item .menuitem {
    padding-top: 1.5vw;
    font-size: 9vw;
    line-height: 9vw;
    cursor: pointer;
  }
  .item .menuitem h2 {
    margin-top: 0.5vw;
    font-size: 5.5vw;
    line-height: 7vw;
    font-variation-settings: "wght" 0, "srff" 100, "ital" 0, "nvgn" 0;
  }
  .item .menuitem#home img {
    display: none;
  }
  .item .menuitem#home div {
    display: inline-block;
  }
  .item.teaser {
    text-align: center;
    padding: 0;
    border-bottom: 0.3vw solid black;
    font-size: 0;
  }
  .item.teaser img {
    width: 100%;
  }
  .item .content {
    max-height: 0;
    padding-bottom: 0;
    overflow: hidden;
    transition: max-height 0.75s ease, padding-bottom 0.75s ease;
    padding-left: 0;
    padding-right: 0;
  }
  .item .content p, .item .content li {
    font-size: 5.5vw;
    line-height: 7vw;
    font-variation-settings: "wght" 0, "srff" 100, "ital" 0, "nvgn" 0;
  }
  .item .content p, .item .content ul {
    margin-bottom: 5vw;
  }
  .item .content strong {
    font-variation-settings: "wght" 200, "srff" 100, "ital" 0, "nvgn" 0;
  }
  .item .content em {
    font-variation-settings: "wght" 0, "srff" 100, "ital" 50, "nvgn" 0;
  }
  .item.open .content {
    max-height: 300vh;
    padding-bottom: 3vw;
  }
  .item.type2 {
    width: 100vw;
    display: inline-block;
    vertical-align: top;
    border-left: 0vw solid black;
  }
  .item.type2 .menuitem {
    padding-top: 0.8vw;
    font-size: 6vw;
    line-height: 7vw;
  }
  .item.type2 .content {
    padding: 0;
  }
}
