@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,400;0,500;0,700;1,400;1,500;1,700&display=swap');
/*
* demo.css
* File include item demo only specific css only
******************************************************************************/

/* ==========================================================================
   Variables
   ========================================================================== */

   :root {

    /* --- Colors --- */

    --light-blue-100: 199, 84%, 55%; /* #2bb0ed */
    --light-blue-500: 202, 83%, 41%; /* #127fbf */
    --light-blue-900: 204, 96%, 27%; /* #035388 */

    --blue-100:       210, 22%, 49%; /* #627d98 */
    --blue-500:       209, 34%, 30%; /* #334e68 */
    --blue-900:       209, 61%, 16%; /* #102a43 */

    --gray-100:       210, 36%, 96%; /* #f0f4F8 */
    --gray-300:       212, 33%, 89%; /* #d9e2ec */
    --gray-500:       210, 31%, 80%; /* #bcccdc */
    --gray-700:       211, 27%, 70%; /* #9fb3c8 */
    --gray-900:       209, 23%, 60%; /* #829ab1 */

    --white:          0, 0%, 100%;   /* #ffffff */

    /* --- Typography --- */

    --font-family-sans-serif: "Montserrat", sans-serif;

    /* --- Layout --- */

    --space-multiplier:  0.8;

    --content-max-width: 140rem;

    --grid-spacer-width: 1.5rem;
    --grid-column-count: 12;

  }

  :root {

    --form-accent-color: var(--light-blue-500);
    --form-error-color: 356, 75%, 53%; /* #e12d39 */

    /* --- Fields --- */

    --field-background-color: hsl(var(--white));
    --field-border-width: 1px;
    --field-border-style: solid;
    --field-border-color: hsl(var(--gray-500));
    --field-border: var(--field-border-width)
      var(--field-border-style)
      var(--field-border-color);
    --field-border-radius: 3px;
    --field-height: 4.2rem;
    --field-padding: 0 calc(var(--space-multiplier) * 2rem);
    --field-text-color: hsl(var(--blue-900));
    --field-text-font-family: var(--font-family-sans-serif);
    --field-text-font-size: 1.4rem;
    --field-text-font-weight: 500;
    --field-text-letter-spacing: 0.05em;

    /* --- Labels --- */

    --label-text-color: hsl(var(--blue-900));
    --label-text-font-family: var(--font-family-sans-serif);
    --label-text-font-size: 1.4rem;
    --label-text-font-weight: 600;
    --label-text-letter-spacing: 0.05em;

    /* --- Error Text ---*/

    --error-text-color: hsl(var(--form-error-color));
    --error-text-font-family: var(--font-family-sans-serif);
    --error-text-font-size: 1.2rem;
    --error-text-font-weight: 500;
    --error-text-letter-spacing: 0.05em;

  }


.menu .app-brand.demo {
  height: 64px;
}

.dark-style .menu .app-brand.demo {
  height: 64px;
}

.app-brand-logo.demo svg {
  width: 30px;
  height: 24px;
}

.app-brand-text.demo {
  font-size: 1.25rem;
}

/* ! For .layout-navbar-fixed added fix padding top tpo .layout-page */
.layout-navbar-fixed .layout-wrapper:not(.layout-without-menu) .layout-page {
  padding-top: 64px !important;
}

/* Navbar page z-index issue solution */
.content-wrapper .navbar {
  z-index: auto;
}

/*
* Content
******************************************************************************/

.demo-blocks > * {
  display: block !important;
}

.demo-inline-spacing > * {
  margin: 1rem 0.375rem 0 0 !important;
}

/* ? .demo-vertical-spacing class is used to have vertical margins between elements. To remove margin-top from the first-child, use .demo-only-element class with .demo-vertical-spacing class. For example, we have used this class in forms-input-groups.html file. */
.demo-vertical-spacing > * {
  margin-top: 1.25rem !important;
  margin-bottom: 0 !important;
}
.demo-vertical-spacing.demo-only-element > :first-child {
  margin-top: 0 !important;
}

.demo-vertical-spacing-lg > * {
  margin-top: 1.875rem !important;
  margin-bottom: 0 !important;
}
.demo-vertical-spacing-lg.demo-only-element > :first-child {
  margin-top: 0 !important;
}

.demo-vertical-spacing-xl > * {
  margin-top: 5rem !important;
  margin-bottom: 0 !important;
}
.demo-vertical-spacing-xl.demo-only-element > :first-child {
  margin-top: 0 !important;
}

.rtl-only {
  display: none !important;
  text-align: left !important;
  direction: ltr !important;
}

[dir='rtl'] .rtl-only {
  display: block !important;
}

/* Dropdown buttons going out of small screens */
@media (max-width: 576px) {
  #dropdown-variation-demo .btn-group .text-truncate {
    width: 300px;
    position: relative;
  }
  #dropdown-variation-demo .btn-group .text-truncate::after {
    position: absolute;
    top: 45%;
    right: 0.65rem;
  }
}
/*
* Layout demo
******************************************************************************/

.layout-demo-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  margin-top: 1.25rem;
}
.layout-demo-placeholder img {
  width: 900px;
}
.layout-demo-info {
  text-align: center;
  margin-top: 1.25rem;
}

td.description {
  min-width: 300px;
  width: 300px;
  white-space: nowrap;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.sm\:mb-5 {
  margin-bottom: calc(var(--space-multiplier) * 5rem);
}

.flex-1 {
  flex: 1 1 0%;
}

.d-block {
  display: block;
}

.progress-form {
  background-color: hsl(var(--white));
  border-radius: 4px;
  box-shadow: 0 1px 3px 0 rgb(0, 0, 0, 10%),
    0 1px 2px -1px rgb(0, 0, 0, 10%);
}

/* Tabs
   ========================================================================== */

.progress-form__tabs {
  column-gap: 0;
}

@media only screen and (min-width: 640px) {
  .progress-form__tabs {
    column-gap: 0.2rem;
  }
}

.progress-form__tabs-item {
  --button-background-color: transparent;
  --button-border-width: 5px;
  --button-border-style: solid;
  --button-border-color:  hsl(var(--gray-300));
  --button-border: var(--button-border-width)
    var(--button-border-style)
    var(--button-border-color);
  --button-border-radius: 0;
  --button-height: 1.4;
  --button-text-align: left;
  --button-text-color: hsl(var(--blue-900));
  --button-text-font-size: 15px;
  --button-text-letter-spacing: 0.025em;
  --button-text-shadow: none;

  background-color: var(--button-background-color);
  border: 0;
  border-top: var(--button-border);
  border-radius: var(--button-border-radius);
  color: var(--button-text-color);
  display: none;
  font-size: var(--button-text-font-size);
  letter-spacing: var(--button-text-letter-spacing);
  line-height: var(--button-height);
  position: relative;
  text-align: var(--button-text-align);
  text-shadow: var(--button-text-shadow);
  transition: color 0.2s ease-in-out;
  white-space: normal;
}

.progress-form__tabs-item:active {
  transform: none;
}

.progress-form__tabs-item:hover,
.progress-form__tabs-item:focus {
  background-color: inherit;
  color: inherit;
}

.progress-form__tabs-item::before {
  background-color: hsl(var(--light-blue-500));
  content: "";
  height: 5px;
  left: 0;
  position: absolute;
  top: -5px;
  transition: width 0.2s ease-in-out;
  width: 0;
}

.progress-form__tabs-item > .step {
  color: hsl(var(--blue-100));
  font-size: 15px;
  font-weight: 500;
  text-transform: uppercase;
  transition: color 0.2s ease-in-out;
}

@media only screen and (min-width: 640px) {
  .progress-form__tabs-item {
    display: block;
  }
}

/* --- Current Step --- */

.progress-form__tabs-item[aria-selected="true"] {
  display: block;
  font-weight: 500;
}

.progress-form__tabs-item[aria-selected="true"]::before {
  width: 50%;
}

.progress-form__tabs-item[aria-selected="true"] > .step {
  color: hsl(var(--light-blue-500));
}

/* --- Disabled Step --- */

@media only screen and (min-width: 640px) {
  .progress-form__tabs-item[aria-disabled="true"] {
    --button-background-color: transparent;
    --button-text-color: hsl(var(--blue-100));

    background-color: var(--button-background-color);
    color: var(--button-text-color);
  }
}

/* --- Completed Step --- */

.progress-form__tabs-item[data-complete="true"]::before {
  width: 100%;
}

.progress-form__tabs-item[data-complete="true"] > .step {
  color: hsl(var(--light-blue-500));
}

/* Errors
   ========================================================================== */
   input[aria-invalid="true"]:focus-visible {
    border-color:#e12d39;
   }

   input[aria-invalid="true"]:focus {
    border-color:#e12d39 !important;
  }

   input[aria-invalid="true"],
   select[aria-invalid="true"],
   textarea[aria-invalid="true"] {
     --field-border-color: hsl(var(--form-error-color));
     --field-border: var(--field-border-width)
       var(--field-border-style)
       var(--field-border-color);
     --field-text-color: var(--error-text-color);
     box-shadow: 0 0 0 2px hsl(var(--form-error-color));
   }

   select[aria-invalid="true"] {
     background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath fill='hsl(356, 75%, 53%)' d='M224 416c-8.188 0-16.38-3.125-22.62-9.375l-192-192c-12.5-12.5-12.5-32.75 0-45.25s32.75-12.5 45.25 0L224 338.8l169.4-169.4c12.5-12.5 32.75-12.5 45.25 0s12.5 32.75 0 45.25l-192 192C240.4 412.9 232.2 416 224 416z'/%3E%3C/svg%3E");
   }

   /* --- Error Text --- */

   .form__error-text {
     color: var(--error-text-color);
     font-family: var(--error-text-font-family);
     font-size: var(--error-text-font-size);
     font-weight: var(--error-text-font-weight);
     letter-spacing: var(--error-text-letter-spacing);
     line-height: 1.6;
     margin-top: calc(var(--space-multiplier) * 1rem);
   }
