/* * {
    box-sizing: border-box;
} */

:root {
  --primary: #bac8da;
  --primary-hover: #edfbff;
  --primary-active: #8a97a8;

  --primaryVariant: #243240;
  --primaryVariant-hover: #4d5b6b;
  --primaryVariant-active: #000a1a;

  --primarySafe: #c6ded2;
  --primarySafe-hover: #e3f1e9;
  --primarySafe-active: #98c3ae;

  --secondary: #3b4857;
  --secondary-hover: #667384;
  --secondary-active: #13212e;

  --secondaryVariant: #d6e4f7;
  --secondaryVariant-hover: #ffffff;
  --secondaryVariant-active: #a4b2c4;
  --secondaryVariant-disabled: #6e747d;

  --body: #212121;
  --header: #000000;
  --footer: #000000;

  --primaryDisabled: #434343;
  --primaryVariantDisabled: #d2d2d2;
}

*::-webkit-scrollbar {
  width: 9px;
  height: 7px;
}

*::-webkit-scrollbar-track {
  background: transparent;
}

*::-webkit-scrollbar-corner {
  background: transparent;
}

*::-webkit-scrollbar-thumb {
  border-right: 0px solid;
  background-color: #9e9e9e;
}

*::-webkit-scrollbar-thumb:hover {
  width: 20px;
  background-color: #707070;
}

*::-webkit-scrollbar-thumb:active {
  background-color: #454545;
}
html {
  height: 100.1%;
  overscroll-behavior: none;
}
body {
  display: flex;
  flex-direction: column;
  margin: 0;
  font-family: "Roboto", "Arial", sans-serif;
  min-height: 100%; /*Fallback*/
  max-height: 100%; /*Fallback*/
  min-height: 100vh; /*Fallback*/
  max-height: 100vh; /*Fallback*/
  min-height: 100dvh;
  max-height: 100dvh;
  /* mobile viewport bug fix */
  height: fill-available; /* for Opera */
  height: -moz-available; /* for Firefox */
  height: -webkit-fill-available; /* for WebKit-based browsers */
  overflow: hidden;
}
@media screen and (orientation: landscape) {
  html {
    height: 100vh; /*Fallback*/
    height: 100dvh;
  }
  body,
  .bodyFiller {
    min-height: 100vh; /*Fallback*/
    max-height: 100vh; /*Fallback*/
    min-height: 100dvh;
    max-height: 100dvh;
  }
}

.container {
  flex: 1;
  display: flex;
  flex-direction: column;
  /* grid-template-rows: 50px 100% 80px 30px; */
}

.header {
  background-color: var(--header);
  display: flex;
  justify-content: space-between;
}

.headerTitle {
  flex: 1 auto;
  padding: 6px;
}

.headerTitle img {
  max-width: 400px;
  max-height: 38px;
}

.content {
  flex: 1;
  background-color: var(--body);
  display: flex;
}

#iFramePage {
  flex: 1;
}

.footer {
  display: flex;
  flex-direction: column;
  background-color: var(--footer);
}

.footerContent {
  grid-template-columns: 1fr 0.1fr 0.1fr 0.1fr;
  padding: 8px;
  display: grid;
}

.footerNavigation {
  display: flex;
  width: 100%;
}

.footerItem {
  display: grid;
  justify-items: center;
  align-items: center;
  width: 100%;
  overflow: hidden;
}

.footerItem:nth-child(2) {
  justify-items: end;
}

.footerItem:nth-child(1),
.footerItem:nth-child(4) {
  justify-items: start;
}

.progress {
  height: 20px;
  position: relative;
  background-color: var(--secondaryVariant);
  display: flex;
  align-items: stretch;
}

/*Bredden av denne endres for å symbolisere hvor langt i kurset man er.*/
.progressFG {
  width: 42%;
  background-color: var(--secondary);
}

.progressText {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.last {
  display: none;
}

.navButton {
  border: 0;
  background: none;
  padding: 0;
  margin: 0;
  cursor: pointer;
}
.navButton .playerIcon {
  fill: var(--secondaryVariant);
}
.navButton:disabled .playerIcon {
  fill: var(--secondaryVariant-disabled) !important;
  cursor: default;
}

.navButton:hover .playerIcon,
.navButton:focus .playerIcon {
  fill: var(--primary-hover);
}

.navButton:active .playerIcon,
.navButton:active .playerIcon {
  fill: var(--primary-active);
}

.navButton:hover .menuBar1,
.navButton:hover .menuBar2,
.navButton:hover .menuBar3,
.navButton:focus .menuBar1,
.navButton:focus .menuBar2,
.navButton:focus .menuBar3 {
  background-color: var(--primary-hover); /* Hover or focus color */
}

.navButton:active .menuBar1,
.navButton:active .menuBar2,
.navButton:active .menuBar3 {
  background-color: var(--primary-active); /* Active color */
}

.menuBar1,
.menuBar2,
.menuBar3 {
  width: 35px;
  height: 5px;
  background-color: var(--secondaryVariant);
  margin: 6px 0;
  transition: 0.4s;
}

.active .menuBar1 {
  transform: translate(0, 11px) rotate(-45deg);
}

.active .menuBar2 {
  opacity: 0;
}

.active .menuBar3 {
  transform: translate(0, -11px) rotate(45deg);
}

#btnClose {
  margin-right: 8px;
}

.playerIcon {
  width: 1.8rem;
  aspect-ratio: 1/1;
}

.hidden {
  display: none;
}

.menu {
  position: absolute;
  bottom: 65px;
  left: 0px;
  min-width: 250px;
  max-width: 375px;
  max-height: 60vh;
  overflow-y: auto;
  display: none;
  z-index: 2;
}

.menu > div {
  min-height: 30px;
  max-height: 75px;
  padding: 8px;
  font-size: 1rem;
  display: grid;
  align-items: center;
  grid-template-columns: 1fr 32px;
}

.menu > div > span {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}

.menuPage {
  color: var(--primaryVariant);
  background-color: var(--primary);
}

.menuPageDisabled {
  color: var(--primaryVariantDisabled);
  background-color: var(--primaryDisabled);
}

.menuPage > div:first-of-type {
  grid-column: 1;
}
.menuPage > div:last-of-type {
  display: flex;
  justify-content: center;
  align-items: center;
  grid-column: 2;
}

.menu {
  background-color: var(--primary);
}

.menuPage:hover {
  background-color: var(--primary-hover);
  cursor: pointer;
}

.menuPageActive {
  color: var(--primary);
  background-color: var(--primaryVariant);
  cursor: pointer;
}

.menuPageActive > div:last-of-type {
  display: flex;
  justify-content: center;
  align-items: center;
  grid-column: 2;
  fill: white;
}

.menuBackground {
  position: absolute;
  display: none;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: transparent;
  z-index: 1;
}

.submitButton {
  background-color: #ff6600;
  text-transform: uppercase;
  border: none;
  color: #000;
  padding: 8px 22px;
  border-radius: 4px;
  margin: 10px;
  cursor: pointer;
}

.submitButton:hover {
  background-color: #b24700;
}

.firstPagePlayer {
  display: none;
  position: absolute;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh; /*Fallback*/
  height: 100dvh;
  border: 0;
  background-color: hsla(0, 0%, 0%, 0.5);
  fill: var(--primary);
}
.firstPagePlayer:hover {
  fill: var(--primary-hover);
}
.firstPagePlayer:active {
  fill: var(--primary-active);
}
.firstPagePlayer > .playerIcon {
  width: 15rem;
}

.menuProgressIcon {
  height: 1.5rem;
  width: 1.5rem;
}

@media (orientation: landscape) and (max-width: 1000px) {
  .last {
    display: grid;
  }
}

@media (min-width: 1000px) {
  .menu {
    bottom: 60px;
    left: 0px;
  }

  .menu > div {
    min-height: 50px;
  }

  .playerIcon {
    width: 2rem;
    height: 2rem;
  }

  .container {
    grid-template-rows: 50px 1fr 50px 10px;
  }

  .footerNoAudio {
    gap: 16px;
    grid-template-columns: 1fr 0.1fr 0 0.1fr;
  }

  .footerAudio {
    grid-template-columns: 1fr 0.1fr 0.1fr 0.1fr;
  }

  .footerItem:nth-child(1) {
    justify-items: start;
  }

  .progressText {
    display: none;
  }
  .progress {
    height: 10px;
  }
}
