/* Fonts */
@import "fonts";

/* Load Bootstrap v5 and customizations */
@import "bs-load";

/*SVG ICON SYSTEM*/
@import "svg-icons";

/* LiveView specific CSS */
@import "phx-liveview";

/* Navbar toggler icon override */
@import "nav-burger";

/* Navbar custom styling */
@import "nav-bar-help";

/* Chroma syntax highlighting styles */
@import "chroma";

/*
  code highlighting handled by golang chroma
  default 'solarized-dark256' css saved in _chroma.css
  minor customizations here
 */
pre, code, .font-monospace {
  font-family: $font-family-monospace;
  font-weight: 300;
  font-size: 15px;
}
pre.chroma {
  padding: 0.75rem 1rem;
  border-radius: .5em;
  background-color: #1c1c1c;
}
code.inline {
  background-color: #1c1c1c;
  color: #e2e4e5;
  padding: .1em .25em;
  border-radius: .25em;
  display: inline;
}

/* main */
html,
body {
  color: $gray-100;
  background-color: $gray-800;
  height: 100%;
}
a {
  color: rgba($white, 0.75);
  border-bottom: $gray-600 2px solid;
  text-decoration: none;
  &.navbar-brand,
  &.nav-link {
    border-bottom: none;
  }
  &:visited {
    color: $info;
    .post-title & {
      color: $gray-100;
    }
  }
  &:hover {
    color: $primary;
    text-decoration: none;
    border-bottom: $secondary 3px solid;
    &.navbar-brand {
      border-bottom: none;
    }
  }
}
.border-gray-900 {
  border-color: $gray-900 !important;
}
.text-gray-200 {
  color: $gray-200;
}
.text-gray-300 {
  color: $gray-300;
}
.text-gray-400 {
  color: $gray-400;
}
.text-gray-500 {
  color: $gray-500;
}
.border-10 {
  border-width: 10px !important;
}
.border-20 {
  border-width: 20px !important;
}
.fw-500 {
  font-weight: 500;
}
.fw-600 {
  font-weight: 600;
}
.font-brand {
  font-family: $font-family-brand;
}
.fs-larger {
  font-size: larger;
}
.fs-smaller {
  font-size: smaller;
}
.footer73k {
  position: fixed !important;
  font-size: 10px !important;
  border-top-left-radius: 0.3rem !important;
  padding-top: 2px;
  padding-bottom: 2px;
}

/* social icons */
#social-icons .link-light {
  border-bottom: none;
  color: $gray-100;
  &:hover {
    color: $primary;
  }
}

/* resume separators */
.separator {
  display: flex;
  align-items: center;
  text-align: center;
  color: $gray-400;
  font-family: $font-family-monospace;
  font-size: smaller;
  text-transform: uppercase;
  font-weight: 700;
  &::before,
  &::after {
    content: "";
    flex: 1;
    border-bottom: 1px solid $secondary;
  }
  &:not(:empty)::before {
    margin-right: 0.5em;
  }
  &:not(:empty)::after {
    margin-left: 0.33em;
  }
}

/* blog */
.post-title a {
  color: $gray-100;
  text-decoration: none;
  border-bottom: none;
  &:hover {
    color: $primary;
    border-bottom: $secondary 3px solid;
  }
}
.post-lede,
.post-body {
  h2, h3, h4, h5, h6 {
    color: $gray-200;
    margin-top: 2rem;
  }
}
.post li {
  line-height: 1.75rem;
}

/* extra */
.was-validated .no-valid-style .form-check-input:valid,
.form-check-input.is-valid {
  border-color: inherit !important;
}
.was-validated .no-valid-style .form-check-input:valid ~ .form-check-label,
.no-valid-style .form-check-input.is-valid ~ .form-check-label {
  color: inherit !important;
}
.table-nonfluid {
  width: auto !important;
}
.cursor-pointer {
  cursor: pointer !important;
}

/*
  icons in input fields
  */
/* enable absolute positioning */
.inner-addon {
  position: relative;
}

/* style icon */
.inner-addon > .icon {
  position: absolute;
  padding: 0.5625rem 0.5rem;
  pointer-events: none;
}

/* align icon */
.inner-addon > .icon.is-left {
  left: 0px;
}
.inner-addon > .icon.is-right {
  right: 0px;
}

/* add padding  */
.left-addon input,
.left-addon select {
  padding-left: 2rem;
}
.right-addon input,
.right-addon select {
  padding-right: 2rem;
}