@import url('https://fonts.googleapis.com/css2?family=Rubik:wght@300;400;600;800&display=swap');
@font-face {
  font-family: dev-tool-icons;
  src: url(/assets/fonts/h5p-development-tool-icon-set.woff);
}
body {
  background-color: #e8ebf0;
  font-family: 'Rubik', sans-serif;
  color: #040404;
}
.holder {
  background-color: #ffffff;
  width: 100%;
  box-sizing: border-box;
  max-width: 1400px;
  margin: 1em auto;
  box-shadow: 5px 5px 22px rgb(0 0 0 / 5%);
  padding: 3em;
  border-radius: 3px;
}
.transition {
  -webkit-transition: all 0.1s;
  -moz-transition: all 0.1s;
  transition: all 0.1s;
}

/******* CONTENT LIST *******/
.item {
  pointer-events: none;
  border-bottom: solid 1px #e2e5ee;
  border-left: solid 5px #ffffff;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  padding: 1.25em 0;
}
.item:hover {
  background-color: #f2f4fc80;
  border-left-color: #303F9F;
}
.item:hover .itemTitle a {
  color: #3d5fe2;
  text-decoration: underline;
}
.item a {
  pointer-events: auto;
  text-decoration: none;
  color: #0b0b0b;
  display: inline-block;
}

/******* BUTTONS *******/
.button, .itemLinks a, .save-button {
  border: solid 3px;
  pointer-events: auto;
  border-radius: 3px;
  padding: 0.5em;
  display:inline-flex;
  align-items: center;
  justify-content: center;
  text-transform: capitalize;
  font-weight: 600;
  margin: 0 0.25em;
  border-color: #ffffff;
  background-color: #ffffff;
  color: #040404;
  cursor: pointer;
  font-size: 1em;
  text-decoration: none;
  line-height: unset;
}
.button:before, .itemLinks a:before {
  font-weight: normal;
  font-size: 1.5em;
  font-family: dev-tool-icons;
  line-height: unset;
}
.menu *::before {
  padding-right: 0.5em;
}
.menu .button, .menu a {
  background-color: #ffffff;
  border-color: #ffffff;
  color: #040404;
}
.languages {
  margin-left: auto;
}
.button:hover, .itemLinks a:hover {
  border-color: #d7e5ff;
  background-color: #d7e5ff;
  color: #040404;
}
.delete:before {
  content: "\e906";
}
.view:before {
  content: "\e901";
}
.edit:before {
  content: "\e905";
}
.new:before {
  content: "\e900";
}
.import:before {
  content: "\e902";
}
.dashboard:before {
  content: "\e903";
}
.save-button {
  background-color: #388E3C;
  border-color: #388E3C;
  margin: 2em 0 0 0;
  padding: 1em;
  color: white;
  border-radius: 3px;
}
.save-button:hover {
  background-color: #4CAF50;
  border-color: #66BB6A;
  color: white;
}

/******* CONTENT LIST *******/
.itemIcon {
  display: inline-block;
  flex-basis: 5%;
  pointer-events: auto;
  padding: 0 0.5em 0 1.5em;
}
.itemIcon img {
  margin-left: 0;
  width: 100%;
  min-width: 40px;
  scale: 1.8;
}
.itemTitle {
  pointer-events: auto;
  font-size: 1.25em;
  font-weight: 600;
  flex-basis: 65%;
  padding-left: 1em;
}
.itemPath {
  font-size: 0.85em;
  padding-top: 0.5em;
  font-weight: normal;
  letter-spacing: 2px;
}
.itemLinks {
  pointer-events: auto;
  text-align: right;
  line-height: 1;
  flex-basis: 30%;
  text-transform: capitalize;
  margin-right: 0.85em;
}
#links {
  width: 100%;
  display: flex;
}

/******* PAGINATION *******/
.pagination {
  background-color: #dadeeb;
  padding: 2em;
  margin: 3em -3em -3em -3em;
}
.pagination .button {}
.pagination .button:hover {}
.pagination .selected {
  color: #ffffff;
  background-color: #303F9F;
}

/******* TOP MENU *******/
.sticky {
  position: sticky;
  top: 0px;
  z-index: 2;
}
.menu {
  max-width: 1400px;
  margin: 0 auto;
  display: flex;
}
.menu-holder {
  background-color: #365eb5;
  background: rgb(57,73,171);
  background: linear-gradient(103deg, rgba(57,73,171,1) 0%, rgba(0,172,193,1) 100%);
  width: 100%;
  box-sizing: border-box;
  margin: 0em auto;
  box-shadow: 0 1px 10px rgb(0 0 0 / 20%);
  padding: 0.85em;
}
.submenu {
  background-color: #303F9F;
  padding: 1em 0;
  color: #ffffff;
}
.col50 {
  flex-basis: 50%;
  display: inline-flex;
}
.align-right {
  flex-direction: row-reverse;
}
.url {
  color: #fff;
  background-color: #186df7;
  padding: 1vh;
  border-radius: 0.5vh;
  text-decoration: none;
}
.url:hover {
  background-color: #fff;
  color: #186df7;
}
.split-view:before {
  font-family: dev-tool-icons;
  content: "\e902";
  padding-right: 0.5em;
}

/******* TOOLTIP *******/
.tooltip {
  position: relative;
  display: inline-block;
}
.tooltip .tooltiptext {
  visibility: hidden;
  min-width: 40px;
  background-color: #28244b;
  color: #fff;
  text-align: center;
  padding: 0.5em;
  font-weight: normal;
  border-radius: 6px;
  bottom: 100%;
  left: 50%;
  margin-left: -25px;
  margin-bottom: 5px;
  position: absolute;
  z-index: 3;
}
.tooltip:hover .tooltiptext {
  visibility: visible;
}

/******* H5P CONTENT IFRAME *******/
.h5p-cli-iframe-wrapper {
  margin: 0;
  padding: 0;
  border: 0;
  height: auto;
  width: auto;
  max-width: 1090px;
  margin: auto;
}
.h5p-cli-iframe-wrapper iframe {
  border: 0;
  display: block;
  width: 100%;
  height: 100%;
}

/******* IMPORT, NEW AND STATUS *************/
#newContent, #importContent {
  background-color: #303F9F;
  padding: 1em 0;
  color: #ffffff;
  position: fixed;
  top: 72px;
  left: 0;
  z-index: 1000;
  width: 100%;
}
.center-content {
  max-width: 1400px;
  margin-left: auto;
  margin-right: auto;
}
#importContent input[type="file"] {
  border: solid 2px #ffffff;
}
.session input, select, #newContent input, select, #importContent input, select{
  padding: 0.5em;
  font-size: 1em;
  border-radius: 3px;
  border: solid 2px #ffffff;
  font-weight: normal;
  margin-left: 0.5em;
}
#status{
  color: #ffffff;
  background-color: #455A64;
  width: 100%;
  padding: 0.25em;
  box-sizing: border-box;
  padding-left: 0.5em;
  font-size: 1em;
  font-style: italic;
}
.inline {
  display: inline-block;
}
.hidden {
  display: none;
}
/******* THEME CONTROLS *************/
.theme-controls {
  --color-active: hsl(0, 0%, 30%);
  background-color: hsl(0, 0%, 100%);
  display: grid;
  gap: 0.5rem;
  grid-template-columns: 1fr 1fr;
  padding: 0.5rem 1rem;
  text-align: center;

  &.display-none {
    display: none;
  }

  .theme-controls-color {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;

    .button-theme-color {
      background: linear-gradient(to right, var(--primary) 0%, var(--primary) 50%, var(--secondary) 50%, var(--secondary) 100%);
      background-color: hsl(0, 0%, 100%);
      border: solid 5px hsl(0, 0%, 100%);
      border-radius: 2.5rem;
      box-shadow: 0px 0px 0px 1px hsl(234, 75%, 92%);
      cursor: pointer;
      height: 2.5rem;
      padding: 0.5rem;
      width: 2.5rem;

      &.active {
        box-shadow: 0 0 0.5em 0 var(--color-active);
      }

      &:hover {
        &:hover {
          background: linear-gradient(to right,
            hsl(from var(--primary) h s calc(l * 0.90)) 0%,
            hsl(from var(--primary) h s calc(l * 0.90)) 50%,
            hsl(from var(--secondary) h s calc(l * 0.90)) 50%,
            hsl(from var(--secondary) h s calc(l * 0.90)) 100%
          );
          border: solid 5px hsl(0, 0%, 95%);
        }
      }

      &.core {
        position: relative;

        &::before {
          content: 'CORE';
          font-size: 0.75rem;
          font-weight: 600;
          position: absolute;
          left: 50%;
          top: 50%;
          transform: translate(-50%, -50%);
        }
      }

      &.daylight {
        --primary: #588ee1;
        --secondary: #f0f0fc;
      }

      &.blue {
        --primary: #505ddd;
        --secondary: #f0f0fc;
      }

      &.purple {
        --primary: #834dd5;
        --secondary: #f0f0fc;
      }

      &.green {
        --primary: #187571;
        --secondary: #f0f0fc;
      }

      &.orange {
        --primary: #d63a0a;
        --secondary: #f0f0fc;
      }

      &.dark {
        --primary: #1c1c1c;
        --secondary: #33313b;
      }
    }
  }

  .theme-controls-size {
    container-type: inline-size;
    container-name: button-theme-size-container;
    display: inline-grid;
    justify-items: end;

    .buttons-theme-size {
      display: flex;
      flex-direction: row;
      flex-wrap: wrap;
      gap: 0.5rem;

      .button-theme-size {
        --background-color: hsl(0, 0%, 100%);
        background-color: var(--background-color);
        border: 1px solid hsl(0, 0%, 60%);
        border-radius: 3px;
        cursor: pointer;
        height: 2.5rem;
        position: relative;
        width: 2.5rem;

        &.small {
          font-size: 0.9rem;
        }

        &.medium {
          font-size: 1.15rem;
        }

        &.large {
          font-size: 1.4rem;
        }

        &::before {
          content: "T";
          font-family: "serif";
          font-weight: 600;
          left: 50%;
          position: absolute;
          transform: translate(-50%, -50%);
          top: 50%;
        }

        &.active {
          box-shadow: 0 0 0.5em 0 var(--color-active);
        }

        &:hover {
          background-color: hsl(from var(--background-color) h s calc(l * 0.95));
        }
      }
    }
  }

  @container button-theme-size-container (max-width: 8.5rem) {
    .theme-controls-size {
      .buttons-theme-size {
        flex-direction: column;
      }
    }
  }
}

/******* RESPONSIVE STYLE *************/
@media (orientation: portrait) {
  .item {
    flex-direction: column;
    align-items: flex-start;
  }
  .button {
    margin-top: 0.25em;
  }
  input {
    margin-top: 0.25em;
  }
  .button-label {
    font-size: 0px;
  }
  .menu *::before {
    padding-right: 0em;
  }
  .itemIcon {
    display: none;
  }
  .holder {
    padding: 1em;
  }
  .itemLinks {
    padding: 0.5em 0 0 0.5em;
  }
}
