/* CSS variables */
:root {
  --brand-blue: #4574bf;
  --brand-blue-hover: #3869b8;
  --brand-dark-blue: #1d294e;
  --brand-promo-tile-bg-blue: #162245;
  --neutrals-text-light: #5e667d;
  --neutrals-text-dark: #1e253e;
  --neutrals-light-grey-bg: #eff3f8;
  --neutrals-lightest-graphical-ui-components: #8995aa;
  --neutrals-divider-on-white-bg: #e5ecf2;
  --alerts-error: #d1325a;
}

/* The form container */
article.omniscript-article.slds-card.slds-grid.slds-wrap.slds-grid_vertical-stretch {
  background-color: var(--neutrals-light-grey-bg) !important;
  border: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}

article.omniscript-article.slds-card.slds-grid.slds-wrap.slds-grid_vertical-stretch
  > div.omniscript-body.slds-card__body.slds-card__body_inner.slds-m-top_medium.slds-p-right_medium.slds-col.slds-grid.slds-grid_vertical.slds-size_1-of-1 {
  padding-left: 0 !important;
  padding-right: 0 !important;
  border: none !important;
}

article.omniscript-article.slds-card.slds-grid.slds-wrap.slds-grid_vertical-stretch * {
  /* Font family is not imported for now */
  font-family: Gilroy, sans-serif !important;
  font-style: normal !important;
}

/* "Your Details" heading */
h1.slds-page-header__title.slds-p-horizontal_medium.slds-text-heading--medium.slds-m-top_medium.os-step-label {
  color: var(--brand-dark-blue) !important;
  font-weight: 800 !important;
  font-size: 28px !important;
  line-height: 36px !important;
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  margin-bottom: 48px !important;
  padding: 0 !important;
}

/* horizontal line separator */
div.vlc-separator.slds-border_top.slds-m-top_x-small.slds-m-bottom_xx-small.slds-m-horizontal_medium {
  display: none !important;
}

/* Form fields container */
div.slds-grid.slds-wrap.slds-p-vertical_small.omniscript-step__body {
  background-color: #fff !important;
  padding-top: 48px !important;
  padding-left: 32px !important;
  padding-right: 32px !important;
}

div.slds-grid.slds-wrap.slds-p-vertical_small.omniscript-step__body
  > slot.slds-grid.slds-wrap.slds-size_1-of-1.slds-p-left_medium {
  padding-left: 0px !important;
}

/* Remove all blocks' pading-right */
vlocity_cmt-omniscript-block,
vlocity_cmt-omniscript-text-block,
c-omniscript-preview-block,
c-omniscript-preview-text-block {
  padding-right: 0 !important;
}

/* Form field */
c-omniscript-text,
c-omniscript-number,
c-omniscript-email,
c-omniscript-telephone,
c-omniscript-checkbox,
c-omniscript-radio,
c-omniscript-select,
c-omniscript-textarea,
c-omniscript-file,
c-omniscript-date,
c-omniscript-currency,
vlocity_cmt-omniscript-text,
vlocity_cmt-omniscript-number,
vlocity_cmt-omniscript-email,
vlocity_cmt-omniscript-telephone,
vlocity_cmt-omniscript-checkbox,
vlocity_cmt-omniscript-radio,
vlocity_cmt-omniscript-select,
vlocity_cmt-omniscript-textarea,
vlocity_cmt-omniscript-file,
vlocity_cmt-omniscript-date,
vlocity_cmt-omniscript-currency {
  margin-bottom: 32px !important;
  padding-right: 0 !important;
}

/* Form labels */
label.slds-form-element__label.slds-show--inline,
label.slds-form-element__label.slds-show_inline,
span.slds-form-element__legend.slds-form-element__label.slds-show_inline {
  display: inline !important;
  color: var(--brand-dark-blue) !important;
  font-weight: 600 !important;
  font-size: 16px !important;
  line-height: 24px !important;
  padding: 0 !important;
  padding-right: 8px !important;
  margin-bottom: 12px !important;
  width: auto !important;
}
/* Resolve wrap issue on longer description labels*/
.slds-radio__label {
  white-space: nowrap;
}

/* Form inputs */
input.slds-input,
textarea.slds-textarea {
  padding: 16px 12px !important;
  padding-bottom: 12px !important;
  height: 56px !important;
  border: 1px solid var(--neutrals-lightest-graphical-ui-components) !important;
  box-sizing: border-box !important;
  border-radius: 2px !important;
  font-size: 16px !important;
  line-height: 24px !important;
  max-width: 518px !important;
  color: var(--brand-dark-blue) !important;
}

/* Form fields with error */

.slds-has-error input.slds-input {
  border-style: solid !important;
  border-width: 2px !important;
  border-color: #d1325a !important;
  box-shadow: none !important;
}

/* Radio button */
c-radio-group div.slds-form-element__control.slds-grid {
  max-width: 518px !important;
  padding-left: 24px !important;
}

c-radio-group div.slds-form-element__control.slds-grid > span:not(:first-child) {
  margin-left: 32px !important;
}

c-radio-group span.slds-form-element__label.slds-p-top_none {
  font-size: 16px !important;
  line-height: 24px !important;
  color: var(--neutrals-text-light) !important;
}

/* Typeahead, Combobox, Datepicker, etc elements that has right icon */
c-typeahead div.slds-combobox__form-element.slds-input-has-icon.slds-input-has-icon_right,
c-date-picker div.slds-form-element__control.slds-input-has-icon.slds-input-has-icon_right,
c-combobox div.slds-combobox__form-element.slds-input-has-icon.slds-input-has-icon_right {
  max-width: 518px !important;
}

/* Dropdown styling - Hide undefined state */
ul.dropdown-container.listbox.slds-listbox.slds-listbox_vertical li:nth-child(1) {
  display: none;
}

/** Footer */
[data-omni-key='Confirmation'] + div.slds-grid.slds-wrap.slds-gutters.slds-p-horizontal_medium,
[data-omni-key='Confirmation']
  + div.slds-grid.slds-wrap.slds-gutters.slds-p-horizontal_medium
  + div.slds-grid.slds-wrap.slds-gutters.slds-p-horizontal_medium {
  padding: 24px !important;
  margin: 0 !important;
  background-color: #fff !important;
  border-top: 1px solid var(--neutrals-divider-on-white-bg) !important;
}

[data-omni-key='Confirmation']
  + div.slds-grid.slds-wrap.slds-gutters.slds-p-horizontal_medium
  > div,
[data-omni-key='Confirmation']
  + div.slds-grid.slds-wrap.slds-gutters.slds-p-horizontal_medium
  + div.slds-grid.slds-wrap.slds-gutters.slds-p-horizontal_medium
  > div {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Save for later button */
/* Previous step button */
.omniscript-btn-save-for-later button.slds-button,
.omniscript-btn-previous button.slds-button {
  border: 1px solid var(--brand-blue) !important;
  border-radius: 500px !important;
  padding-inline: 16px !important;
  height: 52px !important;
  background-color: #fff !important;
}

.omniscript-btn-save-for-later button.slds-button > span,
.omniscript-btn-previous button.slds-button > span {
  font-weight: 800 !important;
  font-size: 16px !important;
  line-height: 24px !important;
  color: var(--brand-blue) !important;
}

.omniscript-btn-save-for-later button.slds-button:hover,
.omniscript-btn-previous button.slds-button:hover {
  border-color: var(--button-primary-hover);
}

.omniscript-btn-save-for-later button.slds-button:hover > span,
.omniscript-btn-previous button.slds-button:hover > span {
  color: var(--button-primary-hover);
}

/* Next step button */
.omniscript-btn-next button.slds-button {
  border: 1px solid var(--brand-blue) !important;
  border-radius: 500px !important;
  padding-inline: 16px !important;
  height: 52px !important;
  background-color: var(--brand-blue) !important;
}

.omniscript-btn-next button.slds-button > span {
  font-weight: 800 !important;
  font-size: 16px !important;
  line-height: 24px !important;
  color: #fff !important;
}

.omniscript-btn-next button.slds-button:hover {
  background-color: var(--brand-blue-hover) !important;
}

.omniscript-btn-previous,
.omniscript-btn-next {
  width: 25% !important;
  min-width: 111px !important;
}

/* Step 1 - Manually add your address - checkbox  */
[data-omni-key='ManuallyAddYourAddress'] div.slds-grid.slds-m-vertical_medium,
[data-omni-key='IncidentManuallyAddYourAddress'] div.slds-grid.slds-m-vertical_medium {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

[data-omni-key='ManuallyAddYourAddress'] label.slds-checkbox__label,
[data-omni-key='IncidentManuallyAddYourAddress'] label.slds-checkbox__label {
  display: flex !important;
  align-items: center !important;
}

[data-omni-key='ManuallyAddYourAddress'] label.slds-checkbox__label span.slds-checkbox_faux,
[data-omni-key='IncidentManuallyAddYourAddress']
  label.slds-checkbox__label
  span.slds-checkbox_faux {
  display: block !important;
  position: relative !important;
  width: 16px !important;
  height: 16px !important;
  margin-right: 9px !important;
  background-color: var(--brand-blue) !important;
  border: none !important;
  border-radius: 100% !important;
}

[data-omni-key='ManuallyAddYourAddress'] label.slds-checkbox__label span.slds-checkbox_faux::after,
[data-omni-key='IncidentManuallyAddYourAddress']
  label.slds-checkbox__label
  span.slds-checkbox_faux::after {
  content: '+' !important;
  color: #fff !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  margin-top: -0.04px !important;
}

[data-omni-key='ManuallyAddYourAddress']
  input[type='checkbox']:checked
  + label.slds-checkbox__label
  span.slds-checkbox_faux::after,
[data-omni-key='IncidentManuallyAddYourAddress']
  input[type='checkbox']:checked
  + label.slds-checkbox__label
  span.slds-checkbox_faux::after {
  content: '-' !important;
  transform: none !important;
  border: none !important;
  height: unset !important;
  width: unset !important;
  margin-top: -2px !important;
}

[data-omni-key='ManuallyAddYourAddress'] label.slds-checkbox__label span.slds-form-element__label,
[data-omni-key='IncidentManuallyAddYourAddress']
  label.slds-checkbox__label
  span.slds-form-element__label {
  color: var(--brand-blue) !important;
  font-weight: normal !important;
  font-size: 14px !important;
  line-height: 20px !important;
  margin-bottom: 0 !important;
}

/* Step 1 - Manual address */
[data-omni-key='State'],
[data-omni-key='Pincode'] {
  padding-right: 0 !important;
}

[data-omni-key='State'] {
  max-width: 280px !important;
}

[data-omni-key='Pincode'] {
  max-width: 220px !important;
  margin-right: 16px !important;
}

/* Step 2 - textarea (describe what happened) */
[data-omni-key='DescribewhatHappened'] c-textarea textarea.slds-textarea {
  height: 160px !important;
}

/* Step 2 - Error message */
[data-omni-key='Messaging2'] {
  margin-bottom: 32px !important;
}

[data-omni-key='Messaging2'] div.slds-scoped-notification--error {
  background-color: transparent !important;
  padding: 0 !important;
}

[data-omni-key='Messaging2'] div.slds-scoped-notification--error::before {
  content: 'X';
  display: grid !important;
  place-items: center !important;
  width: 20px !important;
  height: 20px !important;
  font-weight: 800 !important;
  font-size: 14px !important;
  color: var(--alerts-error) !important;
  border-radius: 100%;
  border: 2px solid var(--alerts-error) !important;
  margin-right: 8px !important;
  margin-top: -24px !important;
}

/* Step 2 - Error message - the default icon */
[data-omni-key='Messaging2'] div.slds-scoped-notification--error .slds-media__figure {
  display: none !important;
}

[data-omni-key='Messaging2'] div.slds-scoped-notification--error p {
  font-weight: 800 !important;
  font-size: 14px !important;
  line-height: 24px !important;
  color: var(--alerts-error) !important;
}

/* Step 3 - Declaration description */
[data-omni-key='Declaration'] [data-omni-key='DeclarationDescription'] {
  margin-bottom: 64px !important;
}

[data-omni-key='Declaration'] [data-omni-key='DeclarationDescription'] h3 {
  font-weight: 800 !important;
  font-size: 20px !important;
  line-height: 28px !important;
  color: var(--brand-dark-blue) !important;
  margin-bottom: 24px !important;
}

[data-omni-key='Declaration'] [data-omni-key='DeclarationDescription'] ol {
  margin-bottom: 0 !important;
}

[data-omni-key='Declaration'] [data-omni-key='DeclarationDescription'] li {
  font-weight: 400 !important;
  font-size: 20px !important;
  line-height: 32px !important;
  color: var(--neutrals-text-light) !important;
  margin-bottom: 24px !important;
  padding-left: 12px !important;
}

/* Step 4 - Confirmation */
[data-omni-key='Confirmation'] div.slds-grid.slds-wrap.slds-p-vertical_small.omniscript-step__body {
  background-color: transparent !important;
  padding-top: 20px !important;
}

[data-omni-key='Confirmation']
  h1.slds-page-header__title.slds-p-horizontal_medium.slds-text-heading--medium.slds-m-top_medium.os-step-label {
  display: none !important;
}

[data-omni-key='Confirmation'] [data-omni-key='ConfirmationText'] {
  max-width: 657px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  margin-bottom: 24px !important;
}

[data-omni-key='Confirmation'] [data-omni-key='ConfirmationText'] h2 {
  font-weight: 800 !important;
  font-size: 36px !important;
  line-height: 44px !important;
  color: var(--brand-dark-blue) !important;
  margin-bottom: 24px !important;
}

[data-omni-key='Confirmation'] [data-omni-key='ConfirmationText'] p {
  font-weight: 400 !important;
  font-size: 20px !important;
  line-height: 32px !important;
  color: var(--neutrals-text-light) !important;
  margin-bottom: 24px !important;
}

/* Confirmation */
[data-omni-key='ConfirmationText'] p a::before {
  content: url("data:image/svg+xml,%3Csvg width='24' height='24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5 11.813h13.75M13.938 7l4.812 4.813-4.813 4.812' stroke='white' stroke-width='2' stroke-miterlimit='10' stroke-linecap='round' stroke-linejoin='round'%3E%3C/path%3E%3C/svg%3E");
  /* rigth arrow */
  background-color: var(--brand-blue) !important;
  border-radius: 100% !important;
  color: #fff !important;
  margin-right: 20px !important;
  height: 44px !important;
  width: 44px !important;
  display: inline-grid !important;
  place-items: center !important;
  position: relative;
  top: 6px !important;
}
/* BELOW FIX CAUSES ISSUES ELSEWHERE PUTTING ON HOLD
/*Remove white rectangle appearing on confirmation page where CTA was located
[data-omni-key='Confirmation'] + div.slds-grid.slds-wrap.slds-gutters.slds-p-horizontal_medium {
  padding: 24px !important;
  margin: 0 !important;
  background-color: #eff3f8 !important;
}*/

[data-omni-key='ConfirmationText'] p a {
  color: var(--brand-blue) !important;
  font-weight: 600;
  font-size: 20px !important;
}

/** Form Stepper 01,02,03,04... */
/* Steps - container */
div.slds-omniscript_stepform {
  width: 100% !important;
  margin-top: 0 !important;
  margin-bottom: 32px !important;
}

div.slds-omniscript_stepform div.slds-progress.slds-size_1-of-1 {
  margin: 0 !important;
  max-width: unset !important;
}

ol.slds-progress__list {
  flex-wrap: wrap !important;
  justify-content: center !important;
}

/* Steps - item */
ol.slds-progress__list > :not(:last-child) .slds-progress__item {
  margin-right: 48px !important;
}

ol.slds-progress__list .slds-progress__item {
  flex-direction: row !important;
  align-items: center !important;
  margin-bottom: 32px !important;
}

ol.slds-progress__list .slds-progress__item > div {
  display: none !important;
}

ol.slds-progress__list .slds-progress__item > button {
  box-shadow: none !important;
  border: 2px solid var(--neutrals-lightest-graphical-ui-components) !important;
  border-radius: 100% !important;
  margin-right: 12px !important;
  width: 48px !important;
  height: 48px !important;
  background-color: transparent !important;
  justify-content: center !important;
}

ol.slds-progress__list
  .slds-progress__item
  > button
  > svg.slds-button__icon.omni-hz-stepchart-completed-icon {
  display: none !important;
}

ol.slds-progress__list .slds-progress__item > button::after {
  display: block !important;
  font-weight: 800 !important;
  font-size: 16px !important;
  line-height: 24px !important;
  color: var(--neutrals-lightest-graphical-ui-components) !important;
}

ol.slds-progress__list .slds-progress__item::after {
  display: block !important;
  font-weight: 800 !important;
  font-size: 20px !important;
  line-height: 28px !important;
  color: var(--neutrals-lightest-graphical-ui-components) !important;
}

ol.slds-progress__list .slds-progress__item.slds-is-completed > button,
ol.slds-progress__list .slds-progress__item.slds-is-active > button {
  border: 2px solid var(--brand-blue) !important;
}

ol.slds-progress__list .slds-progress__item.slds-is-active::after,
ol.slds-progress__list .slds-progress__item.slds-is-completed::after,
ol.slds-progress__list .slds-progress__item.slds-is-completed > button::after,
ol.slds-progress__list .slds-progress__item.slds-is-active > button::after {
  color: var(--brand-blue) !important;
}

ol.slds-progress__list .slds-progress__item.slds-is-completed > button {
  background-color: var(--brand-blue) !important;
}

ol.slds-progress__list .slds-progress__item.slds-is-completed > button::after {
  color: #fff !important;
}

/* hide Confirmation step */
ol.slds-progress__list > :last-child {
  display: none !important;
}

ol.slds-progress__list > :nth-child(1) .slds-progress__item::after {
  content: 'Your details' !important;
}

ol.slds-progress__list > :nth-child(2) .slds-progress__item::after {
  content: 'Incident details' !important;
}

ol.slds-progress__list > :nth-child(3) .slds-progress__item::after {
  content: 'Declaration' !important;
}

ol.slds-progress__list > :nth-child(1) .slds-progress__item > button::after {
  content: '01' !important;
}

ol.slds-progress__list > :nth-child(2) .slds-progress__item > button::after {
  content: '02' !important;
}

ol.slds-progress__list > :nth-child(3) .slds-progress__item > button::after {
  content: '03' !important;
}

/* Steps - horizontal line */
div.slds-progress-bar.slds-progress-bar_x-small {
  visibility: hidden !important;
}

/** ##### TABLET/MOBILE ##### **/
@media only screen and (max-width: 768px) {
  /* Form fields container */
  div.slds-grid.slds-wrap.slds-p-vertical_small.omniscript-step__body {
    padding-top: 20px !important;
    padding-left: 24px !important;
    padding-right: 24px !important;
    margin-left: 24px !important;
    margin-right: 24px !important;
  }

  /* Form fields */
  c-omniscript-text,
  c-omniscript-number,
  c-omniscript-email,
  c-omniscript-telephone,
  c-omniscript-checkbox,
  c-omniscript-radio,
  c-omniscript-select,
  c-omniscript-textarea,
  c-omniscript-file,
  c-omniscript-date,
  vlocity_cmt-omniscript-text,
  vlocity_cmt-omniscript-number,
  vlocity_cmt-omniscript-email,
  vlocity_cmt-omniscript-telephone,
  vlocity_cmt-omniscript-checkbox,
  vlocity_cmt-omniscript-radio,
  vlocity_cmt-omniscript-select,
  vlocity_cmt-omniscript-textarea,
  vlocity_cmt-omniscript-file {
    margin-bottom: 20px !important;
  }

  /* Form labels */
  label.slds-form-element__label.slds-show--inline,
  label.slds-form-element__label.slds-show_inline,
  span.slds-form-element__legend.slds-form-element__label.slds-show_inline {
    margin-bottom: 16px !important;
  }

  /* Radio button */
  c-radio-group div.slds-form-element__control.slds-grid {
    flex-direction: column !important;
  }

  c-radio-group div.slds-form-element__control.slds-grid > span:not(:first-child) {
    margin-left: 0 !important;
  }

  /* "Your Details" heading */
  h1.slds-page-header__title.slds-p-horizontal_medium.slds-text-heading--medium.slds-m-top_medium.os-step-label {
    font-size: 24px !important;
    line-height: 34px !important;
    padding-left: 24px !important;
    padding-right: 24px !important;
    margin-bottom: 32px !important;
  }

  /* Manually add address - Checkbox */
  [data-omni-key='ManuallyAddYourAddress']
    label.slds-checkbox__label
    span.slds-checkbox_faux::after,
  [data-omni-key='IncidentManuallyAddYourAddress']
    label.slds-checkbox__label
    span.slds-checkbox_faux::after {
    margin-top: 0 !important;
  }

  /** Footer */
  [data-omni-key='Confirmation'] + div.slds-grid.slds-wrap.slds-gutters.slds-p-horizontal_medium,
  [data-omni-key='Confirmation']
    + div.slds-grid.slds-wrap.slds-gutters.slds-p-horizontal_medium
    + div.slds-grid.slds-wrap.slds-gutters.slds-p-horizontal_medium {
    margin-inline: 24px !important;
  }

  /* Next step button */
  [data-omni-key='Confirmation']
    + div.slds-grid.slds-wrap.slds-gutters.slds-p-horizontal_medium
    button.slds-button
    > span,
  [data-omni-key='Confirmation']
    + div.slds-grid.slds-wrap.slds-gutters.slds-p-horizontal_medium
    + div.slds-grid.slds-wrap.slds-gutters.slds-p-horizontal_medium
    button.slds-button
    > span {
    font-size: 14px !important;
  }

  /* Previous button */
  /* Next button */
  .omniscript-btn-previous,
  .omniscript-btn-next {
    width: 100% !important;
  }

  .omniscript-btn-previous button.slds-button,
  .omniscript-btn-next button.slds-button {
    margin-bottom: 4px !important;
  }

  /* Save for later button */
  [data-omni-key='DEFAULT-CANCEL'] + div {
    width: 100% !important;
    padding: 0 !important;
  }

  .omniscript-btn-save-for-later button.slds-button {
    justify-content: center !important;
    width: 100% !important;
  }

  /* Step 3 - Declaration description */
  [data-omni-key='Declaration'] [data-omni-key='DeclarationDescription'] {
    margin-bottom: 48px !important;
  }

  [data-omni-key='Declaration'] [data-omni-key='DeclarationDescription'] h3 {
    margin-bottom: 12px !important;
  }

  [data-omni-key='Declaration'] [data-omni-key='DeclarationDescription'] li {
    font-size: 16px !important;
    line-height: 24px !important;
  }

  /* Steps 1,2,3,4 */
  /* Steps - container */
  div.slds-omniscript_stepform {
    padding-left: 24px !important;
    padding-right: 24px !important;
    margin-bottom: 32px !important;
  }

  ol.slds-progress__list > :not(:last-child) .slds-progress__item {
    margin-right: 24px !important;
  }

  ol.slds-progress__list .slds-progress__item::after {
    display: none !important;
  }
}
