
html {

  --oswald: 'Oswald', Helvetica, Arial, sans-serif;

  font-family: "Calibri", Arial, sans-serif;
  color: #f0f0f0;
  display: block;
  position: relative;
  font-size: 1.2em;
  font-weight: 400;
  line-height: 1.4;
  background-image: url("../img/bg.jpg");
  background-attachment: fixed;
  overflow-x: hidden;
  overflow-y: scroll;
  height: 100%;

  ::-webkit-scrollbar {
    width: 8px;
  }

  ::-webkit-scrollbar-track {
    background: #202020;
  }

  ::-webkit-scrollbar-thumb {
    background: orangered;
    box-shadow: 0 3px 4px 0 rgba(0, 0, 0, 0.8);
    border-radius: 4px;
  }

  ::-webkit-scrollbar-thumb:hover {
    background: orangered;
    box-shadow: 0 3px 4px 0 rgba(0, 0, 0, 0.8);
    border-radius: 4px;
  }

  body {
    display: flex;
    flex-direction: column;
    position: relative;
    width: 100%;
    height: 100%;
    align-items: center;
    margin: 0;
    text-align: justify;

    div.backpanel {
      position: absolute;
      top: 0;
      left: 0;
      display: flex;
      flex-direction: row;
      width: 100%;
      height: 200%;
      background: #202020;
      z-index: 10;
      transition: opacity 1s ease-out;

      &.deployed {
        opacity: 0;
      }

      &.erased {
        display: none;
      }
    }

    .sticky {
      display: flex;
      flex-direction: column;
      position: fixed;
      width: 100%;
      background: #202020;
      padding: 0.75em;
      align-items: center;
      z-index: 1000;
      transition: top 0.5s ease-out, filter 0.5s ease-out;

      &.top {
        top: -4em;
        filter: drop-shadow(0 4px 3px rgba(0, 0, 0, 80%));

        &.deployed {
          top: 0;
        }
      }

      &.bottom {
        bottom: 0;

        &.deployed {
          filter: drop-shadow(0 -4px 3px rgba(0, 0, 0, 80%));
        }
      }

      .menu {
        font-family: var(--oswald);
        font-weight: 400;
        display: flex;
        max-width: 1024px;
        width: 100%;
        color: #f0f0f0;

        @media (max-width: 900px) {
          font-weight: 300;
        }

        span.divider {
          border-left: 1px darkgray solid;
        }

        .item {
          cursor: pointer;
          flex-grow: 1;
          text-align: center;
          white-space: nowrap;
          transition: color 0.15s linear;

          &:hover {
            color: orangered;
          }

          &.noselect {
            cursor: unset;
            color: #f0f0f0;
          }
        }

        .urlimg {
          display: block;
          max-width: 1.8em;
          max-height: 1.8em;
          width: auto;
          height: auto;

          &:hover {
            filter: invert(46%) sepia(100%) saturate(4535%) hue-rotate(359deg) brightness(99%) contrast(111%);
          }
        }

        .networkicons {
          display: flex;
          flex-wrap: wrap;
          flex-direction: row;
          align-content: space-around;
          align-items: center;
          justify-content: center;
          gap: 0.5em;
          flex-grow: 1;
          margin-top: -10px;
          margin-bottom: -10px;
        }
      }
    }

    section.outerpanel {

      display: flex;
      align-items: center;
      justify-content: center;
      flex-grow: 1;
      max-width: 1200px;
      margin: 2em 0 2em 0;
      width: 100%;
      scroll-margin-top: 4em;

      div.panel {
        display: flex;
        flex-direction: column;
        width: 100%;
        height: 100%;
        padding: 1em 1em 0 1em;
        align-items: center;
        gap: 0.5em;
        border-radius: 0 4em 0 4em;
        background: #202020;
        color: #f0f0f0;
        position: relative;

        transition: filter 1s ease-out;

        @media (max-width: 900px) {
          border-radius: 0 !important;
        }

        &.first {
          border-top-right-radius: 8em;
        }

        &.deployed {
          filter: drop-shadow(0 10px 5px rgba(0, 0, 0, 80%));
        }

        &.dontgrow {
          height: unset;
        }

        div.content {
          display: flex;
          flex-direction: column;
          gap: 0.5em;
          width: 100%;

          &.centered {
            align-items: center;
            justify-content: center;
          }

          &.gap2em {
            gap: 2em;
          }
        }

        div.grid {
          display: grid;
          grid-template-columns: 1fr 1fr;
          gap: 1em;
          width: 100%;

          @media (max-width: 900px) {
            grid-template-columns: 1fr;
          }

          div.tile {
            display: flex;
            flex-direction: column;
            gap: 1em;
            border: 1px solid grey;
            border-radius: 1em;
            padding: 1em;

            h2 {
              align-self: center;
            }
          }
        }

        div.skillgrid {
          display: grid;
          grid-template-columns: fit-content(50%) 1fr;
          gap: 1em;
          width: 100%;

          span.skilllabel {
            font-family: var(--oswald);
            white-space: nowrap;
          }

          div.skillbox {
            position: relative;
            display: flex;
            flex-direction: column;
            align-items: flex-start;
            min-height: 0.75em;
            outline: 2px solid #f0f0f0;
            outline-offset: 3px;
            border-radius: 0.75em;

            div.skillbar {
              display: flex;
              flex-direction: column;
              align-items: flex-end;
              justify-content: center;
              height: 100%;
              border-radius: 0.75em;

              &.highskill {
                background: linear-gradient(90deg, yellow, orangered);
              }

              &.mediumskill {
                background: linear-gradient(90deg, yellow, orange);
              }

              &.lowskill {
                background: linear-gradient(90deg, #abcd32, yellow);
              }

              span.skilltext {
                margin-right: 0.5em;
                color: #f0f0f0;
                white-space: nowrap;
                text-shadow: 0 -1px 1px #202020, -1px 0 1px #202020, 1px 0 1px #202020, 0 1px 1px #202020, 0 0 2px #202020;

                &.absolute {
                  position: absolute;
                  left: calc(7% + 5px);
                }
              }
            }
          }
        }

        div.experience {

          display: flex;
          flex-direction: row;
          gap: 1em;

          img {
            max-width: 8em;
            max-height: 100%;
            object-fit: contain;
            filter: grayscale(100%) brightness(2000%) contrast(1000%);

            @media (max-width: 800px) {
              max-width: 5em;
            }

            @media (max-width: 600px) {
              max-width: 8em;
              align-self: center;
            }
          }

          div.experiencetext {

            display: flex;
            flex-direction: column;
            gap: 0.5em;

            span.title {
              font-family: var(--oswald);
              color: orangered;
              font-size: 20pt;
            }

            span.technos {
              font-family: 'Courier New', serif;
              font-size: 10pt;
            }
          }

        }

        .tofo {
          border-radius: 50%;
          width: 256px;
          height: 256px;

          @media (max-width: 600px) {
            width: 192px;
            height: 192px;
          }

          &.absolute {
            position: absolute;
            top: 1em;
            right: 1em;
          }
        }
      }
    }

    section.mainpanel {
      z-index: 20;
    }

    section.secondarypanel {
      filter: drop-shadow(0 10px 5px rgba(0, 0, 0, 80%));

      &:not(.deployed) {
        display: none;
      }
    }

    div.backtotop {
      position: fixed;
      display: flex;
      flex-direction: row;
      align-items: center;
      justify-content: center;
      z-index: 1000;
      bottom: 4em;
      right: 1em;
      background: #202020;
      color: #f0f0f0;
      filter: drop-shadow(0 4px 2px rgba(0, 0, 0, 50%));
      border-radius: 50%;
      padding: 0.5em;
      cursor: pointer;
      height: 1em;
      width: 1em;
      transition: scale 0.5s ease-out;

      &:not(.deployed) {
        scale: 0;
        cursor: unset;
      }
    }

    h1 {
      font-family: var(--oswald);
      font-weight: 300;
      margin: unset;

      &.orange {
        color: orangered;
      }
    }

    h2 {
      font-family: var(--oswald);
      font-weight: 300;
      margin: unset;
    }

    div.buttonbar {
      display: flex;
    }
  }

  .bold {
    font-weight: 500;
  }

  .linkedin {
    flex-grow: 0 !important;
  }

  .aligncenter {
    text-align: center;
  }

  .submention {
    font-size: 0.8em;
    font-weight: 300;
    text-align: center;
    margin-top: -2.5em;
    margin-bottom: 1.5em;
  }

  .padding1emtop {
    padding-top: 1em;
  }

  .paddingtop {
    padding-top: 1.5em;

    @media (min-height: 1200px) and (min-width: 901px) {
      padding-top: 6em;
    }
  }

  .paddingbottom {
    padding-bottom: 10em;
  }

  .margin1em {
    margin: 1em;
  }

  .margintop1em {
    margin-top: 1em;
  }

  .green {
    color: greenyellow;
  }

  .orange {
    color: orangered;
  }

  .backlabel {
    background: orangered;
    border-radius: 1em;
    color: white;
    padding: 0.15em 0.4em 0.15em 0.4em;
  }


}


button {
  font-family: var(--oswald);
  cursor: pointer;
  background: orangered;
  border-radius: 1em;
  padding: 8px 50px 8px 50px;
  font-weight: 500;
  width: fit-content;
  height: fit-content;
  border: none;
  margin: 0.5em;
  color: #f0f0f0;
  white-space: nowrap;
  font-size: 1em;
  line-height: 1.4;

  filter: drop-shadow(0 4px 2px rgba(0, 0, 0, 50%));

  transition: color 0.2s linear, background-color 0.2s linear, opacity 0.5s ease-out, transform 0.1s linear, filter 0.2s linear, scale 0.3s ease-in;

  &:hover {
    background: #f0f0f0;
    color: orangered;
  }

  &:active {
    background: #f0f0f0;
    border: 1px solid white;
    color: orangered;
    transform: translate(0, 3px);
    filter: drop-shadow(0 1px 0 rgba(0, 0, 0, 50%));
  }

  &.deployed {
    scale: 0;
    cursor: unset;
  }
}

@keyframes wipe-enter {
  0% {
    transform: scale(0, 0);
  }
  100% {
    transform: scale(1, 1);
  }
}

@media (prefers-reduced-motion: no-preference) {
  .square {
    animation-name: wipe-enter;
    animation-duration: 0.5s;
  }
}

.visiblemobile {
  @media (min-width: 901px) {
    display: none !important;
  }
}

.visiblescreen {
  @media (max-width: 900px) {
    display: none !important;
  }
}

.invisibletiny {
  @media (max-width: 600px) {
    display: none !important;
  }
}

.visibletiny {
  @media (min-width: 601px) {
    display: none !important;
  }
}

.displaynone {
  display: none !important;
}

form {
  display: flex;
  flex-direction: column;
  width: 100%;
  align-items: center;
  justify-content: center;
  gap: 2em;
  text-align: end;

  @media (max-width: 800px) {
    text-align: start;
  }

  input, textarea {
    color: #f0f0f0;
    background: #303030;
    border: 1px solid gray;
    border-radius: 5px;
    padding: 0.5em;
    font-family: "Calibri", Arial, sans-serif;
    font-size: 1em;
    line-height: 1.4;

    &:focus {
      outline: 1px solid orangered;
      border: 1px solid orangered;
    }
  }

  textarea {
    resize: none;
  }

  div.centertext {
    display: flex;
    flex-direction: column;
    width: 100%;
    text-align: center !important;
  }

  div {
    width: 100%;
    max-width: 800px;
    display: grid;
    gap: 1em;
    grid-template-columns: auto 1fr;
    align-items: center;

    @media (max-width: 800px) {
      grid-template-columns: auto;
    }
  }
}

audio,
canvas,
iframe,
img,
svg,
video {
  vertical-align: middle;
}

fieldset {
  border: 0;
  margin: 0;
  padding: 0;
}

textarea {
  resize: vertical;
}
