@import "global.scss";

/* Studio-Feixen-Sans Regular */

@font-face {
  font-family: 'Studio-Feixen-Sans-Variable';
  src: url('https://dcmfe.datacamp.com/assets/fonts/StudioFeixenSansRegular-latin-v2.woff2') format('woff2'),
    url('https://dcmfe.datacamp.com/assets/fonts/StudioFeixenSansRegular-latin-v2.woff') format('woff');
  font-display: swap;
  font-weight: normal;
  font-style: normal;
  unicode-range: U+00A1, U+00AA-00AB, U+00AF, U+00B8, U+00BB, U+00BF-00D6, U+00D8-00F6, U+00F8-00FF, U+0131, U+0152-0153, U+02B0-02FF;
}

@font-face {
  font-family: 'Studio-Feixen-Sans-Variable';
  src: url('https://dcmfe.datacamp.com/assets/fonts/StudioFeixenSansRegular-latin-extended-v2.woff2') format('woff2'),
    url('https://dcmfe.datacamp.com/assets/fonts/StudioFeixenSansRegular-latin-extended-v2.woff') format('woff');
  font-display: swap;
  font-weight: normal;
  font-style: normal;
  unicode-range: U+0100-0130, U+0132-0151, U+0154-017F, U+0180-024F, U+1E00-1EFF;
}

@font-face {
  font-family: 'Studio-Feixen-Sans-Variable';
  src: url('https://dcmfe.datacamp.com/assets/fonts/StudioFeixenSansRegular-rest-v2.woff2') format('woff2'),
    url('https://dcmfe.datacamp.com/assets/fonts/StudioFeixenSansRegular-rest-v2.woff') format('woff');
  font-display: swap;
  font-weight: normal;
  font-style: normal;
  unicode-range: U+0259, U+0300-03C0, U+2070-2073, U+2075-20AB, U+20AD-2121, U+2123-218F, U+21BC-2211, U+2213-2214, U+2216-F8FE, U+FB01-FB02;
}

@font-face {
  font-family: 'Studio-Feixen-Sans-Variable';
  src: url('https://dcmfe.datacamp.com/assets/fonts/StudioFeixenSansRegular-english-v2.woff2') format('woff2'),
    url('https://dcmfe.datacamp.com/assets/fonts/StudioFeixenSansRegular-english-v2.woff') format('woff');
  font-display: swap;
  font-weight: normal;
  font-style: normal;
  unicode-range: U+0000-00A0, U+00A2-00A9, U+00AC-00AE, U+00B0-00B7, U+00B9-00BA, U+00BC-00BE, U+00D7, U+00F7, U+2000-206F, U+2074, U+20AC, U+2122, U+2190-21BB, U+2212, U+2215, U+F8FF, U+FEFF, U+FFFD;
}

/* Studio-Feixen-Sans Bold */

@font-face {
  font-family: 'Studio-Feixen-Sans-Variable';
  src: url('https://dcmfe.datacamp.com/assets/fonts/StudioFeixenSans-Semibold-latin.woff2') format('woff2'),
    url('https://dcmfe.datacamp.com/assets/fonts/StudioFeixenSans-Semibold-latin.woff') format('woff');
  font-display: swap;
  font-weight: bold;
  font-style: normal;
  unicode-range: U+00A1, U+00AA-00AB, U+00AF, U+00B8, U+00BB, U+00BF-00D6, U+00D8-00F6, U+00F8-00FF, U+0131, U+0152-0153, U+02B0-02FF;
}

@font-face {
  font-family: 'Studio-Feixen-Sans-Variable';
  src: url('https://dcmfe.datacamp.com/assets/fonts/StudioFeixenSans-Semibold-latin-extended.woff2') format('woff2'),
    url('https://dcmfe.datacamp.com/assets/fonts/StudioFeixenSans-Semibold-latin-extended.woff') format('woff');
  font-display: swap;
  font-weight: bold;
  font-style: normal;
  unicode-range: U+0100-0130, U+0132-0151, U+0154-017F, U+0180-024F, U+1E00-1EFF;
}

@font-face {
  font-family: 'Studio-Feixen-Sans-Variable';
  src: url('https://dcmfe.datacamp.com/assets/fonts/StudioFeixenSans-Semibold-rest.woff2') format('woff2'),
    url('https://dcmfe.datacamp.com/assets/fonts/StudioFeixenSans-Semibold-rest.woff') format('woff');
  font-display: swap;
  font-weight: bold;
  font-style: normal;
  unicode-range: U+0259, U+0300-03C0, U+2070-2073, U+2075-20AB, U+20AD-2121, U+2123-218F, U+21BC-2211, U+2213-2214, U+2216-F8FE, U+FB01-FB02;
}

@font-face {
  font-family: 'Studio-Feixen-Sans-Variable';
  src: url('https://dcmfe.datacamp.com/assets/fonts/StudioFeixenSans-Semibold-english.woff2') format('woff2'),
    url('https://dcmfe.datacamp.com/assets/fonts/StudioFeixenSans-Semibold-english.woff') format('woff');
  font-display: swap;
  font-weight: bold;
  font-style: normal;
  unicode-range: U+0000-00A0, U+00A2-00A9, U+00AC-00AE, U+00B0-00B7, U+00B9-00BA, U+00BC-00BE, U+00D7, U+00F7, U+2000-206F, U+2074, U+20AC, U+2122, U+2190-21BB, U+2212, U+2215, U+F8FF, U+FEFF, U+FFFD;
}

.app {
  /* stylelint-disable declaration-block-no-duplicate-properties */
  @include preventive-overrides;
  position: relative;
  color: $dark-grey;
  font-size: $default-font-size;
  font-family: $font-family;
  /* stylelint-enable */
  line-height: $default-line-height;
  letter-spacing: 0.015em;

  ul,
  li,
  p {
    @include preventive-overrides;
  }

  a {
    /* stylelint-disable declaration-block-no-duplicate-properties */
    @include preventive-overrides;
    color: $link-color;
    border-bottom: 1px solid $primary;
    /* stylelint-enable */
    transition: color $default-duration ease-out;
    text-decoration: none;
  }

  a:hover {
    color: $primary-dark;
    text-decoration: none;
  }

  a:focus {
    color: $primary;
    border-bottom: 1px solid $primary;
    outline: none;
    text-decoration: none;
  }

  code,
  pre,
  mark {
    /* stylelint-disable declaration-block-no-duplicate-properties */
    @include preventive-overrides;
    background-color: $greySubtle;
    /* stylelint-enable */
    border-radius: $code-border-radius;
  }

  code,
  pre {
    font-family: monospace;
    font-size: $small-font-size;
  }

  code {
    display: inline-block;
    line-height: 1;
    margin: 0 0.25em;
    padding: 0.2em 0.4em 0.35em;
    color: $text;
  }

  pre {
    overflow-x: auto;
    padding: 1.5em;
    transition: max-width 0.25s, margin 0.25s;
  }

  mark {
    color: $primary-dark;
    font-weight: 700;
    margin: 0 0.3em;
    padding: 0.3em 0.4em;
  }

  mark::-moz-selection,
  mark::selection {
    background-color: $primary-dark;
    color: white;
  }

  dd {
    @include preventive-overrides;
    margin-bottom: 1.2em;
    margin-left: 0;
  }

  dt {
    /* stylelint-disable declaration-block-no-duplicate-properties */
    @include preventive-overrides;
    color: $primary;
    /* stylelint-enable */
    font-weight: 700;
    text-transform: uppercase;
  }
}

.app {
  margin: 0;
  background: none;
  position: relative;
  min-height: 300px;
  color: black;
  box-shadow: none;
  display: flex;
  flex-direction: column;
  outline: 1px solid darken($greySubtle, 5%) !important;

  :global .lm_maximise {
    display: none;
  }

  :global .lm_tab > .svg-inline--fa {
    margin: 0 0.5em;
    height: 30px;
    display: inline;
    line-height: 0;
  }
}

.exercise {
  position: relative;
  flex: 1;
}

.editor,
.console {
  width: 100%;
  height: 100%;
}

.feedback {
  box-sizing: border-box;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  z-index: 200;
}

:global .datacamp-exercise {
  @include preventive-overrides;
  margin-bottom: 1em;
}

:global div[data-datacamp-exercise] {
  /* stylelint-disable declaration-block-no-duplicate-properties, declaration-block-no-shorthand-property-overrides */
  @include preventive-overrides;
  outline: 1px solid darken($greySubtle, 5%) !important;
  background: #fff !important;
  color: transparent;
  /* stylelint-enable */
  margin: 0;
  background-size: auto 80px !important;
  position: relative;
  min-height: 300px;
}

:global div[data-datacamp-exercise] > code,
:global div[data-datacamp-exercise] > div,
:global div[data-datacamp-exercise] > p {
  display: none;
}

.githubLink,
a.githubLink {
  @include preventive-overrides;
  position: absolute;
  right: 16px;
  top: 0;
  z-index: 200;
  border: none;
  border-bottom: none;
  text-decoration: none;

  display: block;
  width: 1em;
  height: 1em;

  svg {
    display: block;
    height: 1em;
    line-height: 100%;
    margin: 0.35em 3px 0.3em 0;
  }
}

:global .lm_dropTargetIndicator {
  font-family: $font-family;
}
