:root {
  --iyi-primary: var(--dxp-g-brand, #05223f);
  --iyi-red: #ba2029;
  --iyi-blue: #00486e;
  --iyi-purple: #623978;
  --iyi-yellow: #eab336;
  --iyi-green: #719400;
  --iyi-white: #fff;
  --iyi-black: #000;
  --iyi-gray: #606060;

  /* Root Max Width */
  --iyi-root-max-width: var(--dxp-c-section-columns-max-width, var(--dxp-c-l-max-content-width, var(--dxp-c-max-content-width, var(--dxp-s-section-columns-max-width))));

  /* Spacing */
  --iyi-vspace--default: clamp(2.6666666667rem, 6.6137566138vw, 6.6666666667rem);
  --iyi-vsb: var(--iyi-vspace--default);
  --iyi-vst: var(--iyi-vspace--default);
  --iyi-gutter: clamp(35px, calc(45 / 1512 * 100vw), 99999px);
  --iyi-gutter--base: var(--iyi-gutter);

  /* Radii */
  --iyi-radius-base: 0.5625rem;

  /* Font Size */
  --iyi-font-size--1: clamp(2.7333333333rem, 5.4894179894vw, 5.5333333333rem);
  --iyi-font-size--2: clamp(1.6rem, 3.1746031746vw, 3.2rem);
  --iyi-font-size--3: clamp(1.6rem, 2.1164021164vw, 2.1333333333rem);
  --iyi-font-size--4: clamp(1.2rem, 1.3888888889vw, 1.4rem);
  --iyi-font-size--5: clamp(0.8rem, 1.1904761905vw, 1.2rem);
  --iyi-font-size--6: clamp(0.6666666667rem, 0.9259259259vw, 0.9333333333rem);
  --iyi-font-size--body: clamp(1rem,0.9920634921vw,1.6rem);
  --iyi-h1: var(--iyi-font-size--1);
  --iyi-h2: var(--iyi-font-size--2);
  --iyi-h3: var(--iyi-font-size--3);
  --iyi-h4: var(--iyi-font-size--4);
  --iyi-h5: var(--iyi-font-size--5);
  --iyi-h6: var(--iyi-font-size--6);
  --iyi-head-family: var(--dxp-s-text-heading-extra-large-font-family, var(--dxp-g-heading-font-family));
  --iyi-font-family: var(--dxp-s-form-element-text-font-family, var(--dxp-s-body-font-family));;
  --iyi-h1-family: var(--iyi-head-family);
  --iyi-h2-family: var(--iyi-head-family);
  --iyi-h3-family: var(--iyi-head-family);
  --iyi-h4-family: var(--iyi-head-family);
  --iyi-h5-family: var(--iyi-head-family);
  --iyi-h6-family: var(--iyi-head-family);
  --iyi-h1-line-height: .9134615385;
  --iyi-h2-line-height: 1.21875;
  --iyi-h3-line-height: 1.21875;
  --iyi-h4-line-height: 1.5;
  --iyi-h5-line-height: 1.5;
  --iyi-h6-line-height: 1.5;
  --iyi-line-height--body: 1.4;
  --iyi-h1-weight: 700;
  --iyi-h2-weight: 700;
  --iyi-h3-weight: 400;
  --iyi-h4-weight: 400;
  --iyi-h5-weight: 400;
  --iyi-h6-weight: 400;
  --iyi-h1-color: var(--iyi-primary);
  --iyi-h2-color: var(--iyi-primary);
  --iyi-h3-color: var(--iyi-primary);
  --iyi-h4-color: var(--iyi-primary);
  --iyi-h5-color: var(--iyi-primary);
  --iyi-h6-color: var(--iyi-primary);

  /* Box Shadows */
  --iyi-light-box-shadow-sm: 0 0 4px 1px rgba(0, 0, 0, 0.2);
  --iyi-light-box-shadow: 0 0 8px 1px rgba(0, 0, 0, 0.2);

  /* DXP Overrides */
  --dxp-c-spinner-color-foreground: var(--iyi-primary);
  --dxp-c-spinner-color-background: rgba(255,255,255,0.4);
  --dxp-g-destructive: var(--iyi-red);
  --dxp-g-info: var(--iyi-blue);
  --dxp-g-warning: var(--iyi-yellow);

  /* Kinetics */
  --slds-kx-button-gradient-size: 0;
  --slds-kx-button-ripple-size: 0;
  --slds-kx-button-gradient-color: transparent;

  /* Forms */
  --slds-c-checkbox-color-background-checked: var(--iyi-primary);
  --slds-c-checkbox-color-border-checked: var(--iyi-primary);
  --slds-c-checkbox-mark-color-foreground: var(--iyi-white);

/* Weird Stuff? */
  --slds-c-button-spacing-block-start: var(--slds-c-button-spacing-block-end);
}

@media (min-width: 1440px) {
  :root {
    --iyi-gutter: clamp(35px, calc(80 / 1512 * 100vw), 99999px);
  }
}

@media (min-width: 900px) {
  :root {
    --iyi-gutter--default: clamp(2.3333333333rem, 5.291005291vw, 99999px);
    --iyi-gutter--sm: clamp(2.3333333333rem, 5.291005291vw, 99999px);
    --iyi-gutter--md: clamp(2.3333333333rem, 7.9365079365vw, 99999px);
    --iyi-gutter--lg: clamp(2.3333333333rem, 12.8306878307vw, 99999px);
  }
}

@media (min-width: 1200px) {
  :root {
    --iyi-gutter--default: clamp(1.3333333333rem, 10.582010582vw, 99999px);
    --iyi-gutter--sm: clamp(1.3333333333rem, 10.582010582vw, 99999px);
    --iyi-gutter--md: clamp(1.3333333333rem, 10.582010582vw, 99999px);
    --iyi-gutter--lg: clamp(1.3333333333rem, 15.873015873vw, 99999px);
  }
}

@media (min-width: 1440px) {
  :root {
    --iyi-gutter--default: clamp(1.3333333333rem, 12.8306878307vw, 99999px);
    --iyi-gutter--sm: clamp(1.3333333333rem, 5.291005291vw, 99999px);
    --iyi-gutter--lg: clamp(1.3333333333rem, 12.8306878307vw, 99999px);
  }
}

@media (min-width: 1536px) {
  :root {
    --iyi-gutter--default: clamp(1.3333333333rem, 15.873015873vw, 99999px);
    --iyi-gutter--sm: clamp(1.3333333333rem, 6.6137566138vw, 99999px);
    --iyi-gutter--md: clamp(1.3333333333rem, 9.2592592593vw, 99999px);
    --iyi-gutter--lg: clamp(1.3333333333rem, 15.873015873vw, 99999px);
  }
}

body {
  background-color: var(--iyi-primary);
  background-image: linear-gradient(to bottom, var(--iyi-white));
}

/* Tab Overrides */
.slds-tabs_scoped__nav,
.slds-tabs_default__nav {
  --dxp-c-link-text-decoration: none;
}

/* Typography */
h1 {
  color: var(--iyi-h1-color);
  font-family: var(--iyi-h1-family), sans-serif;
  font-size: var(--iyi-h1);
  font-weight: var(--iyi-h1-weight);
  line-height: var(--iyi-h1-line-height);
}

h2 {
  color: var(--iyi-h2-color);
  font-family: var(--iyi-h2-family), sans-serif;
  font-size: var(--iyi-h2);
  font-weight: var(--iyi-h2-weight);
  line-height: var(--iyi-h2-line-height);
}

h3 {
  color: var(--iyi-h3-color);
  font-family: var(--iyi-h3-family), sans-serif;
  font-size: var(--iyi-h3);
  font-weight: var(--iyi-h3-weight);
  line-height: var(--iyi-h3);
}

h4 {
  color: var(--iyi-h4-color);
  font-family: var(--iyi-h4-family), sans-serif;
  font-size: var(--iyi-h4);
  font-weight: var(--iyi-h4-weight);
  line-height: var(--iyi-h4-line-height);
}

h5 {
  color: var(--iyi-h5-color);
  font-family: var(--iyi-h5-family), sans-serif;
  font-size: var(--iyi-h5);
  font-weight: var(--iyi-h5-weight);
  line-height: var(--iyi-h5-line-height);
}

h6 {
  color: var(--iyi-h6-color);
  font-family: var(--iyi-h6-family), sans-serif;
  font-size: var(--iyi-h6);
  font-weight: var(--iyi-h6-weight);
  line-height: var(--iyi-h6-line-height);
}

.iyi-p-text {
  font-size: var(--iyi-font-size--body);
  line-height: var(--iyi-line-height--body);
  margin-block: 1em;
}

.iyi-icon-link {
  --dxp-c-link-text-decoration: none;
  --dxp-c-link-text-color-hover: none;
  font-family: var(--dxp-s-body-small-font-family), sans-serif;

  > span {
    text-decoration: underline;
  }
}

/* SLDS Overrides */
lightning-combobox {
  --iyi-combobox-spacing-block-end: calc(var(--dxp-s-form-element-spacing-block-end) - 2px);
  --iyi-combobox-spacing-block-start: calc(var(--dxp-s-form-element-spacing-block-start) - 2px);
}

lightning-combobox .slds-combobox__input {
  --dxp-s-form-element-spacing-block-end: var(--iyi-combobox-spacing-block-end);
  --dxp-s-form-element-spacing-block-start: var(--iyi-combobox-spacing-block-start);
}

flowruntime-multi-checkbox-lwc .slds-form-element__control:has(.slds-checkbox) {
  display: grid;
  gap: 0.5rem;
  margin-block-end: 1rem;
}

flowruntime-multi-checkbox-lwc .slds-checkbox {
  --dxp-s-form-element-label-font-weight: 400;
}

flowruntime-navigation-bar > footer {
  padding-block-start: 1rem;
}

@media (min-width: 64rem) {
  flowruntime-multi-checkbox-lwc .slds-form-element__control:has(.slds-checkbox) {
    grid-template-columns: 1fr 1fr;
  }
}

/* SLDS Style Fixes */
.dxp-button-large {
  --sds-c-button-spacing-block-start: var(--slds-c-button-spacing-blockstart, var(--dxp-s-button-large-padding-block-start, 0));
}

.slds-modal__close {
  --slds-c-button-spacing-block-end: 0;
  --slds-c-button-spacing-block-start: 0;
  --slds-c-button-color-background: var(--iyi-white);
  --slds-c-icon-color-foreground: var(--iyi-black);
}