@layer fe-style {
/* Theme Variables */
:root {
  /* Responsive Screen Size Breakpoints 
    Note: CSS Vars are not usable within media queries */
  --min-mobile: 390px;
  --max-mobile: 767px;
  --min-tablet: 768px;
  --max-tablet: 1023px;
  --min-desktop: 1024px;
  --max-desktop: 1199px;
  --min-hd: 1200px;

  /* Theme Colors */

  --default-icon-background: #f3f6f7;
  --default-icon-text: #8b8e8f;
  --destructive-icon-background: #fce7e6;
  --destructive-icon-text: #e3170a;
  --error: #e3170a;
  --error-dark: #880e06;
  --error-light: #fce7e6;
  --font-family: montserrat, sans-serif;
  --font-mono-family: azeret mono, monospace;
  --info: #4392f1;
  --info-dark: #285891;
  --info-light: #e7eff8;
  --link: #1172e8;
  --link-icon-background: #e7f1fd;
  --link-icon-text: #1172e8;
  --neutral-0: #fff;
  --neutral-15: #f8f9fa;
  --neutral-25: #f3f6f7;
  --neutral-35: #eef2f3;
  --neutral-50: #e7ecee;
  --neutral-55: #cfd4d6;
  --neutral-60: #b8bcbe;
  --neutral-70: #8b8e8f;
  --neutral-80: #5c5e5f;
  --neutral-95: #171818;
  --primary: #f37028;
  --primary-dark: #c25a20;
  --primary-darker: #7a3814;
  --primary-light: #f58d53;
  --primary-lighter: #f9b894;
  --secondary: #fcaf1a;
  --secondary-dark: #ca8c15;
  --secondary-darker: #7e580d;
  --secondary-light: #fdbf48;
  --secondary-lighter: #fed78d;
  --success: #4a825c;
  --success-dark: #2c4e37;
  --success-light: #ecf2ee;
  --tertiary: #0e4455;
  --tertiary-dark: #0b3644;
  --tertiary-darker: #07222b;
  --tertiary-light: #3e6977;
  --tertiary-lighter: #87a2aa;
  --text-default: #0e4455;
  --text-default-on-dark: #fff;
  --text-disabled-1: #cfd4d6;
  --text-disabled-2: #b8bcbe;
  --text-light: #5c5e5f;
  --warning: #e98a15;
  --warning-dark: #8c530d;
  --warning-light: #fcf3e7;

  /* Toastify Colors */
  --toastify-color-light: var(--neutral-0);
  --toastify-color-transparent: rgba(255, 255, 255, 70%);
  --toastify-toast-width: 450px;
  --toastify-toast-background: var(--neutral-0);
  --toastify-toast-min-height: 60px;
  --toastify-toast-max-height: 800px;
  --toastify-z-index: 9999;
  --toastify-color-progress-info: var(--info);
  --toastify-color-progress-success: var(--success);
  --toastify-color-progress-warning: var(--warning);
  --toastify-color-progress-error: var(--error);

  /* Other */
  --z-index-modal: 9000;
  --z-index-overlay: 8000;
  --logo-width: 169px;
  --logo-height: 46px;
  --mobile-logo-width: 141px;
  --mobile-logo-height: 39px;
  --dashboard-logo-tablet-height: 24px;
  --dashboard-logo-tablet-width: 198px;
  --dashboard-logo-mobile-height: 31px;
  --dashboard-logo-mobile-width: 110px;
  --fw500: 500;
  --fw600: 600;
}

/* Typography - Desktop/Tablet */

/* Note - the order of these blocks is important
  If the Typography isn't before the individual classes
  giving an element both a typography class AND an single 
  attribute class doesn't work because the rules of CSS
  give precedence to the last style IN THE FILE */

.typog-hero-large {
  font-weight: 500;
  font-size: 40px;
  line-height: 50px;
  letter-spacing: -0.3px;

  @media screen and (width <= 767px) {
    font-size: 36px;
    line-height: 46px;
  }
}

.typog-hero-small {
  font-weight: 500;
  font-size: 36px;
  line-height: 46px;
  letter-spacing: -0.3px;

  @media screen and (width <= 767px) {
    font-size: 32px;
    line-height: 42px;
  }
}

.typog-h1-extra-large {
  font-weight: 500;
  font-size: 32px;
  line-height: 42px;
  letter-spacing: -0.3px;

  @media screen and (width <= 767px) {
    font-size: 28px;
    line-height: 38px;
  }
}

.typog-h2-large {
  font-weight: 500;
  font-size: 28px;
  line-height: 38px;
  letter-spacing: -0.3px;

  @media screen and (width <= 767px) {
    font-size: 24px;
    line-height: 34px;
  }
}

.typog-h3-med {
  font-weight: 500;
  font-size: 24px;
  line-height: 34px;
  letter-spacing: -0.3px;

  @media screen and (width <= 767px) {
    font-size: 20px;
    line-height: 30px;
  }
}

.typog-h4-small {
  font-weight: 500;
  font-size: 20px;
  line-height: 30px;
  letter-spacing: -0.3px;

  @media screen and (width <= 767px) {
    font-size: 18px;
    line-height: 28px;
  }
}

.typog-body-large {
  font-weight: 400;
  font-size: 18px;
  line-height: 26px;
  letter-spacing: 0.3px;
}

.typog-body {
  font-weight: 400;
  font-size: 16px;
  line-height: 24px;
  letter-spacing: 0.3px;
}

.typog-tagline {
  font-weight: 700;
  font-size: 14px;
  line-height: 20px;
  letter-spacing: 1.25px;
}

.typog-tagline-small {
  font-weight: 700;
  font-size: 12px;
  line-height: 20px;
  letter-spacing: 1.25px;
}

.typog-body-small {
  font-weight: 400;
  font-size: 14px;
  line-height: 20px;
  letter-spacing: 0.3px;
}

.typog-body-small-subtitle {
  font-weight: 600;
  font-size: 14px;
  line-height: 20px;
  letter-spacing: 1.25px;
}

/* Font Sizes */
.font-size-14 {
  font-size: 14px;
}

.font-size-16 {
  font-size: 16px;
}

.font-size-18 {
  font-size: 18px;
}

.font-size-20 {
  font-size: 20px;
}

.font-size-24 {
  font-size: 24px;
}

.font-size-28 {
  font-size: 28px;
}

.font-size-32 {
  font-size: 32px;
}

.font-size-36 {
  font-size: 36px;
}

.font-size-40 {
  font-size: 40px;
}

/* Font Weights */
.font-weight-bold {
  font-weight: 700;
}

.font-weight-light {
  font-weight: 300;
}

.font-weight-med {
  font-weight: 500;
}

.font-weight-reg {
  font-weight: 400;
}

.font-weight-reg-cell {
  font-weight: 300;
}

.font-weight-semi-bold {
  font-weight: 600;
}

/* Letter Spacing */
.letter-spacing-neg-p3 {
  letter-spacing: -0.3px;
}

.letter-spacing-neg-p5 {
  letter-spacing: -0.5px;
}

.letter-spacing-pos-p3 {
  letter-spacing: 0.3px;
}

.letter-spacing-pos-1p25 {
  letter-spacing: 1.25px;
}

/* Line Height */
.line-height-20 {
  line-height: 20px;
}

.line-height-24 {
  line-height: 24px;
}

.line-height-26 {
  line-height: 26px;
}

.line-height-28 {
  line-height: 28px;
}

.line-height-30 {
  line-height: 30px;
}

.line-height-34 {
  line-height: 34px;
}

.line-height-38 {
  line-height: 38px;
}

.line-height-42 {
  line-height: 42px;
}

.line-height-46 {
  line-height: 46px;
}

.line-height-50 {
  line-height: 50px;
}

/* Opacity */
.opac-30 {
  opacity: 0.3;
}

.opac-15 {
  opacity: 0.15;
}

.opac-02 {
  opacity: 0.02;
}
}

/* Global styles come before class specific styles */

body {
  margin: 0;
  font-family:
    -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu,
    Cantarell, 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

ul {
  margin: 0;
  padding: 0;
}

li {
  margin: 0;
  padding: 0;
}

code {
  font-family:
    source-code-pro, Menlo, Monaco, Consolas, 'Courier New', monospace;
}

/* Class specific styles */

.app {
  display: flex;
  flex-direction: row;
  height: 100vh;
  max-width: 100%;
}

.menu {
  border-right: 1px solid #666;
  background-color: #f2f4f5;
  color: white;
  padding: 10px 0 0;

  & > ::marker {
    color: blue;
  }
}

.list {
  list-style-type: none;
}

.link {
  text-decoration: none;
  padding: 10px;
  background-color: #ccc;
  color: black;
  display: block;
  box-sizing: border-box;
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0.3px;
  border-bottom: 1px solid white;
  width: 100%;

  &:hover {
    color: white;
    background-color: #333;
  }

  & > ::marker {
    display: none;
  }
}

.page {
  flex: 1;
}

.text {
  height: 20px;
  width: 100%;
  color: #0e4455;
  font-family: Montserrat, sans-serif;
  font-size: 14px;
  letter-spacing: 0.3px;
  line-height: 20px;
  text-align: center;

  .label {
    width: 81px;
  }

  .large {
    color: #747677;
    font-size: 16px;
    line-height: 24px;
  }

  .content-left {
    text-align: left;
  }

  .formatted {
    text-align: left;
  }

  .error {
    color: red;
  }
}

.input {
  height: 40px;
  width: 345px;
  color: #747677;
  font-family: Montserrat, sans-serif;
  font-size: 16px;
  letter-spacing: 0.3px;
  line-height: 24px;
}

.button {
  height: 46px;
  width: 268px;
  background-color: #f37028;
  cursor: pointer;
  margin: 20px auto;

  &:hover {
    filter: brightness(110%);
  }
}

.button-text {
  height: 20px;
  width: 100%;
  color: #fff;
  font-family: Montserrat, sans-serif;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 1.25px;
  line-height: 46px;
  cursor: pointer;
  text-align: center;
}

.sub-heading {
  height: 34px;
  width: 768px;
  color: #0e4455;
  font-family: Montserrat, sans-serif;
  font-size: 24px;
  font-weight: 500;
  letter-spacing: -0.3px;
  line-height: 34px;
}
