@charset "UTF-8";

/* Fonts */

@font-face
{
  font-family: 'Saans';
  src: url('../fonts/saans/Saans-Light.woff2') format('woff2'),
  url('../fonts/saans/Saans-Light.woff') format('woff');
  font-weight: 300;
  font-style: normal;
  font-display: fallback;
}

@font-face
{
  font-family: 'Saans';
  src: url('../fonts/saans/Saans-LightItalic.woff2') format('woff2'),
  url('../fonts/saans/Saans-LightItalic.woff') format('woff');
  font-weight: 300;
  font-style: italic;
  font-display: fallback;
}

@font-face
{
  font-family: 'Saans';
  src: url('../fonts/saans/Saans-Regular.woff2') format('woff2'),
  url('../fonts/saans/Saans-Regular.woff') format('woff');
  font-weight: 400;
  font-style: normal;
  font-display: fallback;
}

@font-face
{
  font-family: 'Saans';
  src: url('../fonts/saans/Saans-RegularItalic.woff2') format('woff2'),
  url('/fonts/saans/Saans-Italic.woff') format('woff');
  font-weight: 400;
  font-style: italic;
  font-display: fallback;
}

@font-face
{
  font-family: 'Saans';
  src: url('../fonts/saans/Saans-Medium.woff2') format('woff2'),
  url('../fonts/saans/Saans-Medium.woff') format('woff');
  font-weight: 500;
  font-style: normal;
  font-display: fallback;
}

@font-face
{
  font-family: 'Saans';
  src: url('../fonts/saans/Saans-MediumItalic.woff2') format('woff2'),
  url('../fonts/saans/Saans-MediumItalic.woff') format('woff');
  font-weight: 500;
  font-style: italic;
  font-display: fallback;
}

@font-face
{
  font-family: 'Saans';
  src: url('../fonts/saans/Saans-SemiBold.woff2') format('woff2'),
  url('../fonts/saans/Saans-SemiBold.woff') format('woff');
  font-weight: 600;
  font-style: normal;
  font-display: fallback;
}

@font-face
{
  font-family: 'Saans';
  src: url('../fonts/saans/Saans-SemiBoldItalic.woff2') format('woff2'),
  url('../fonts/saans/Saans-SemiBoldItalic.woff') format('woff');
  font-weight: 600;
  font-style: italic;
  font-display: fallback;
}

@font-face
{
  font-family: 'Saans';
  src: url('../fonts/saans/Saans-Bold.woff2') format('woff2'),
  url('../fonts/saans/Saans-Bold.woff') format('woff');
  font-weight: 700;
  font-style: normal;
  font-display: fallback;
}

@font-face
{
  font-family: 'Saans';
  src: url('../fonts/saans/Saans-BoldItalic.woff2') format('woff2'),
  url('../fonts/saans/Saans-BoldItalic.woff') format('woff');
  font-weight: 700;
  font-style: italic;
  font-display: fallback;
}

@font-face
{
  font-family: 'Saans';
  src: url('../fonts/saans/Saans-Heavy.woff2') format('woff2'),
  url('../fonts/saans/Saans-Heavy.woff') format('woff');
  font-weight: 800;
  font-style: normal;
  font-display: fallback;
}

@font-face
{
  font-family: 'Saans';
  src: url('../fonts/saans/Saans-HeavyItalic.woff2') format('woff2'),
  url('../fonts/saans/Saans-HeavyItalic.woff') format('woff');
  font-weight: 800;
  font-style: italic;
  font-display: fallback;
}

@font-face
{
  font-family: 'spacemono';
  src: url('/fonts/SpaceMono-Regular.woff') format('woff');
  font-weight: 400;
  font-style: normal;
  font-display: fallback;
}

:root
{
  --sans-serif: "saans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --monospace: 'spacemono', ui-monospace, Menlo, Monaco, "Cascadia Mono", "Segoe UI Mono", "Roboto Mono", "Oxygen Mono", "Ubuntu Monospace", "Source Code Pro", "Fira Mono", "Droid Sans Mono", "Courier New", monospace;
}

/* Colors */

:root  
{
  --white: rgba(255,255,255,1);
  --dimwhite: rgba(235,235,235,1);
  --lightgray: rgba(185,185,185,1);
  --gray: rgba(66,66,66,1);
  --darkgray: rgba(30,30,30,1);
  --black: rgba(0,0,0,1);
  
  --purple: rgba(108,0,255,1);
  --light-purple: #9d70db;
  --red: rgba(255,0,84,1);
  --blue: rgba(0,156,255,1);
  --dimblue: rgba(57,128,181,1);
  --alphablue: rgba(0,156,255,.6);
  --yellow: rgba(247,181,0,1);
  --orange: rgba(245,80,35,1);
  --green: rgba(0,249,23,1);
  --green: rgba(34,209,25,1);
  --teal: rgba(33,198,169,1);
  --pink: #ff2bbc;
}

@supports (color: color(display-p3 1 1 1 / 1))
{
  :root  
  {
    --purple: color(display-p3 0.424 0 1);
    --light-purple: color(display-p3 0.616 0.439 0.859);
    --red: color(display-p3 1 0 0.329);
    --blue: color(display-p3 0 0.612 1);
    --dimblue: color(display-p3 0.224 0.502 0.71);
    --alphablue: color(display-p3 0 0.612 1 / .6);
    --yellow: color(display-p3 0.969 0.71 0);
    --orange: color(display-p3 .933 .313 0.137);
    --green: color(display-p3 0 0.976 0.09);
    --green: color(display-p3 0.133 0.82 0.098);
    --teal: color(display-p3 0.129 0.77 0.66);
    --pink: color(display-p3 1 0.168 0.734);
  }
}

.red {color: var(--red); }
.orange {color: var(--orange); }
.yellow {color: var(--yellow); }
.green {color: var(--green); }
.teal { color: var(--teal); }
.blue {color: var(--blue); }
.purple {color: var(--purple); }

*,
*::before,
*::after
{
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

html
{
  margin: 0;
  padding: 1rem;
  
  --background-strong: var(--white);
  --background: var(--dimwhite);
  --background-subtle: var(--lightgray);

  --text-subtle: var(--gray);
  --text: var(--darkgray);
  --text-strong: var(--black);
  
}

@media (prefers-color-scheme: dark)
{
  html {
    --background-strong: var(--gray);
    --background: var(--darkgray);
    --background-subtle: var(--black);

    --text-subtle: var(--lightgray);
    --text: var(--dimwhite);
    --text-strong: var(--white);
  }
}

body
{
  margin: 0 auto;
  padding: 0;
  background-color: var(--background);
  color: var(--text);
  font-family: var(--sans-serif);
  max-width: 110rem;
}

a
{
  color: inherit;
  font-weight: 500;
}

header
{
  display: grid;
  grid-template-columns: auto 1fr;
  grid-gap: 0.5ch;
  align-items: center;
}

header::before
{
  content: "";
  display: block;
  width: 4ch;
  height: 4ch;
  /* background-image: url("https://signserver.panic.com/get/altsvg"); */
  background-image: url("../elist/elist-panic-logo.png");
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
}

header nav ul,
header nav li
{
  list-style: none;
  display: contents;
}

header nav
{
  display: inline-flex;
  flex-wrap: wrap;
  color: var(--dimblue);
  font-weight: 300;
}

header nav a
{
  display: block;
  margin: 0 .25ch;
  text-decoration: none;
  color: inherit;
  letter-spacing: -0.035ch;
  font-weight: inherit;
}

header nav a+ul a::before
{
  content: " / ";
  color: rgba(0,0,0,.5);
}

@media (prefers-color-scheme: dark)
{
  header nav
  {
    color: rgba(255,255,255,0.75);
  }
  
  header nav a+ul a::before
  {
    color: rgba(255,255,255,0.35);
  }
}

p.intro
{
  font-size: 2em;
  line-height: 1.15;
  font-weight: 800;
  letter-spacing: -0.03ch;
  text-align: center;
  margin: 1ch auto;
}

section
{
  margin: 0 auto;
  line-height: 1.3;
}

figure.image
{
  position: relative;
  padding: 0;
  margin: 0 auto;
  overflow: clip;
  max-width: 100rem;
}

.image img
{
  position: absolute;
  height: auto;
  width: 100%;
}

.image.office
{
  height: 51.8rem;
}

.image.kitchen
{
  height: 51.8rem;
}

.image.washroom
{
  height: 51.8rem;
}

.image.seating
{
  width: 65rem;
  height: 80rem;
}

.benefits .title
{
  color: var(--blue);
}

.inclusion .title
{
  color: var(--teal);
}

.inclusion
{
  position: relative;
}

.sticker
{
  background: var(--background-strong);
  position: absolute;
  right: 0rem;
  top: -12rem;
  margin: 0;
  padding: 1ch;
  border-radius: 100%;
  width: 10ch;
  height: 10ch;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  color: var(--dimblue);
  line-height: 1;
  font-weight: 600;
  transform: rotate(-15deg);
  filter: drop-shadow(.5ch .5ch 1ch rgba(0,0,0,0.25));
}

.sticker strong
{
  display: block;
  text-transform: uppercase;
  font-weight: 800;
  color: var(--teal);
  font-size: 1.4em;
}

.encouragement .title
{
  color: var(--orange);
}

.openings .title
{
  color: var(--yellow);
}

.internships .title
{
  color: var(--purple);
}

.job-opening
{
  padding: .5ch 1ch;
  border-radius: 1ch;
  margin: 0;
  background: var(--background-strong);
  border: .5rem solid transparent;
  position: relative;
}

.job-opening:hover
{
  border-color: var(--background-subtle);
}

.job-title
{
  margin: .5ch auto;
  font-size: 1.2em;
  font-weight: 700;
  color: var(--green);
}

.job-title a
{
  text-decoration: none;
  font-weight: inherit;
}

.job-title a::after
{
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.job-desc
{
  margin: .5ch auto;
}

.job-time
{
  margin: .5ch auto;
  font-weight: 600;
}

.apply-button
{
  margin: 0;
  text-align: right;
}
.apply-button button
{
  appearance: none;
  border: 0;
  border-radius: .25em;
  
  margin: .25em 0;
  padding: .15em 1em .2em 1em;
  
  font-size: 1.2em;
  background: var(--green);
  color: var(--white);
}

/* Footer */

footer
{
  margin: 10rem 0 4rem 0;

  color: var(--midgray);

  font-size: .8em;
  text-align: center;
}

footer p
{
  margin: .5em;
}

/* Scaling */

html
{
  font-size: 1vw;
}

body
{
  font-size: 4rem;
}

@media (min-width: 670px)
{
  body
  {
    font-size: 3rem;
  }
}

@media (min-width: 1000px)
{
  html
  {
    font-size: 10px;
  }
}
