/*!
 * Bootstrap v5.1.3 (https://getbootstrap.com/)
 * Copyright 2011-2021 The Bootstrap Authors
 * Copyright 2011-2021 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/

/*
 * This file contains customized bootstrap classes which are in the same name, however differ in the implementation.
 * Classes use CSS custom properties from :root to be runtime modifiable.
 * Used a portion of bootstrap classes which satisfy the requirements without to include the whole bootstrap bundle.
 * If you would like to add new classes as "override" or extension please use the bootstrap naming convention.
*/

/* Form controls */
.form-label {
  margin-bottom: 0.25rem;
}

.form-check:has(.form-check-label) {
  padding: 1em 1em 1em 1.6em;
  border-top: solid 1px lightgray;
  margin: 0 1em 0 1em;
}

.form-check-label {
  font-size: 0.875rem !important;
}

.form-group {}

.form-control {
  display: block;
  width: 100%;
  padding: 0.5625rem 0.75rem;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.25rem;
  color: var(--nevis-black);
  background-color: var(--nevis-white);
  background-clip: padding-box;
  border: 0.0625rem solid var(--nevis-form-control-border-color);
  border-radius: var(--nevis-border-radius);
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

@media (prefers-reduced-motion: reduce) {
  .form-control {
    transition: none;
  }
}

.form-control:focus {
  color: var(--nevis-black);
  background-color: var(--nevis-white);
  border-color: var(--nevis-primary);
  outline: 0;
  box-shadow: 0 0 0 0.0625rem var(--nevis-primary);
}

.form-control::-webkit-date-and-time-value {
  height: 1.5em;
}

.form-control::-moz-placeholder {
  color: var(--nevis-secondary);
  opacity: 1;
}

.form-control::placeholder {
  color: var(--nevis-secondary);
  opacity: 1;
}

.form-control:disabled {
  font-size: 0.875rem;
  background-color: #e9ecef;
  opacity: 1;
}

.form-control[readonly] {
  background: var(--nevis-readonly-bg-color);
  border-color: var(--nevis-readonly-border-color);
  border-radius: var(--nevis-border-radius);
  color: var(--nevis-gray-900);
  font-size: 0.875rem;
}

.form-control[readonly]:focus {
  box-shadow: 0 0 0 0.0625rem var(--nevis-readonly-box-shadow-color);
}

/* Valdiation */
.invalid-feedback {
  display: none;
  width: 100%;
  margin-top: 0.25rem;
  font-size: 0.875em;
  color: var(--nevis-danger);
}

.was-validated :invalid~.invalid-feedback,
.was-validated :invalid~.invalid-tooltip,
.is-invalid~.invalid-feedback,
.is-invalid~.invalid-tooltip {
  display: block;
}

/* Added for 3rd party International Telephone Input */
.was-validated .iti~.invalid-feedback.invalid-feedback-ready,
.was-validated .iti~.invalid-tooltip.invalid-feedback-ready {
  display: block;
}

.was-validated .form-control:invalid,
.form-control.is-invalid {
  border-color: var(--nevis-danger);
  border-width: 0.125rem;
  padding-right: inherit;
  background-image: none;
  background-repeat: no-repeat;
  background-position: inherit;
  background-size: inherit;
}

.was-validated .form-control:invalid:focus,
.form-control.is-invalid:focus {
  border-color: var(--nevis-danger);
  box-shadow: none;
}

.form-control:valid,
.form-control.is-valid {
  background-image: none;
}

/* remove valid feedback classes */
.was-validated .form-control:valid,
.form-control.is-valid {
  border-color: var(--nevis-gray-400);
  padding-right: inherit;
  background-image: inherit;
  background-repeat: no-repeat;
  background-position: inherit;
  background-size: inherit;
}

.was-validated .form-control:valid:focus,
.form-control.is-valid:focus {
  border-color: var(--nevis-gray-400);
  box-shadow: unset;
}

.was-validated textarea.form-control:valid,
textarea.form-control.is-valid {
  padding-right: inherit;
  background-position: inherit;
}

.was-validated .form-select:valid,
.form-select.is-valid {
  border-color: var(--nevis-gray-400);
}

.was-validated .form-select:valid:not([multiple]):not([size]),
.was-validated .form-select:valid:not([multiple])[size="1"],
.form-select.is-valid:not([multiple]):not([size]),
.form-select.is-valid:not([multiple])[size="1"] {
  padding-right: inherit;
  background-image: none;
  background-position: inherit;
  background-size: inherit;
}

.was-validated .form-select:valid:focus,
.form-select.is-valid:focus {
  border-color: var(--nevis-gray-400);
  box-shadow: unset;
}

.was-validated .form-check-input:valid,
.form-check-input.is-valid {
  border-color: var(--nevis-gray-400);
}

.was-validated .form-check-input:valid:checked,
.form-check-input.is-valid:checked {
  background-color: inherit;
}

.was-validated .form-check-input:valid:focus,
.form-check-input.is-valid:focus {
  box-shadow: unset;
}

.was-validated .form-check-input:valid~.form-check-label,
.form-check-input.is-valid~.form-check-label {
  color: inherit;
}

/* Buttons */
.btn {
  display: inline-block;
  font-weight: 500;
  line-height: 1.5rem;
  color: var(--nevis-black);
  text-align: center;
  text-decoration: none;
  vertical-align: middle;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  background-color: transparent;
  border: 0.0625rem solid transparent;
  padding: 0.75rem 1.25rem;
  font-size: 1rem;
  border-radius: var(--nevis-border-radius);
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

@media (prefers-reduced-motion: reduce) {
  .btn {
    transition: none;
  }
}

.btn:hover {
  color: var(--nevis-black);
}

.btn:disabled,
.btn.disabled,
fieldset:disabled .btn {
  pointer-events: none;
  opacity: 0.65;
}

/* remove box-shadows by default, enable later by colors */
.btn:focus {
  box-shadow: unset;
}

.btn-check:checked+.btn-primary:focus,
.btn-check:active+.btn-primary:focus,
.btn-primary:active:focus,
.btn-primary.active:focus,
.show>.btn-primary.dropdown-toggle:focus {
  box-shadow: unset;
}

/* Primary Button */
.btn-primary {
  color: var(--nevis-white);
  background-color: var(--nevis-primary);
  border-color: var(--nevis-primary);
  box-shadow: 0rem 0.25rem 1.875rem -0.625rem var(--nevis-primary);
}

.btn-primary:hover {
  color: var(--nevis-white);
  filter: brightness(110%);
  background-color: var(--nevis-primary);
  border-color: var(--nevis-primary);
  box-shadow: 0rem 0.25rem 1.875rem -0.625rem var(--nevis-primary);
}

.btn-primary:focus {
  color: var(--nevis-white);
  background-color: var(--nevis-primary);
  border-color: var(--nevis-primary);
  filter: brightness(110%);
  box-shadow: 0rem 0.25rem 1.875rem -0.625rem var(--nevis-primary);
}

.btn-primary:active,
.btn-primary.active {
  color: var(--nevis-white);
  background-color: var(--nevis-primary);
  border-color: var(--nevis-primary);
  filter: brightness(90%);
}

.btn-primary:active:focus,
.btn-primary.active:focus {
  box-shadow: 0rem 0.25rem 1.875rem -0.625rem var(--nevis-primary);
}

.btn-primary:disabled,
.btn-primary.disabled {
  color: var(--nevis-secondary);
  background-color: var(--nevis-gray-100);
  border-color: var(--nevis-gray-100);
  box-shadow: none;
  filter: brightness(1);
}

/* Secondary Button */
.btn-secondary {
  color: var(--nevis-gray-900);
  background-color: var(--nevis-gray-200);
  border-color: var(--nevis-gray-200);
  box-shadow: 0rem 0.25rem 1.875rem -0.625rem var(--nevis-gray-200);
}

.btn-secondary:hover {
  color: var(--nevis-gray-900);
  filter: brightness(110%);
  background-color: var(--nevis-gray-200);
  border-color: var(--nevis-gray-200);
  box-shadow: 0rem 0.25rem 1.875rem -0.625rem var(--nevis-gray-200);
}

.btn-secondary:focus {
  color: var(--nevis-gray-900);
  background-color: var(--nevis-gray-200);
  border-color: var(--nevis-gray-200);
  filter: brightness(110%);
  box-shadow: 0rem 0.25rem 1.875rem -0.625rem var(--nevis-gray-200);
}

.btn-secondary:active,
.btn-secondary.active {
  color: var(--nevis-gray-900);
  background-color: var(--nevis-gray-200);
  border-color: var(--nevis-gray-200);
  filter: brightness(90%);
}

.btn-secondary:active:focus,
.btn-secondary.active:focus {
  box-shadow: 0rem 0.25rem 1.875rem -0.625rem var(--nevis-gray-200);
}

.btn-secondary:disabled,
.btn-secondary.disabled {
  color: var(--nevis-secondary);
  background-color: var(--nevis-gray-100);
  border-color: var(--nevis-gray-100);
  box-shadow: none;
  filter: brightness(1);
}

.btn-link {
  font-size: 0.875rem !important;
  vertical-align: baseline;
  border: none;
  color: var(--nevis-primary);
  background: none;
  text-decoration: none;
  padding: 0;
}

/* Componentes */
.dropdown-toggle::after {
  display: none !important;
}

/* Utilities */
h6,
.h6,
h5,
.h5,
h4,
.h4,
h3,
.h3,
h2,
.h2,
h1,
.h1 {
  margin-top: 0;
  font-weight: 500;
  line-height: 1.2;
}

h1,
.h1 {
  font-size: calc(1.375rem + 1.5vw);
}

@media (min-width: 1200px) {

  h1,
  .h1 {
    font-size: 2.5rem;
  }
}

h2,
.h2 {
  font-size: calc(1.325rem + 0.9vw);
}

@media (min-width: 1200px) {

  h2,
  .h2 {
    font-size: 2rem;
  }
}

h3,
.h3 {
  font-size: calc(1.3rem + 0.6vw);
}

@media (min-width: 1200px) {

  h3,
  .h3 {
    font-size: 1.75rem;
  }
}

h4,
.h4 {
  font-size: calc(1.275rem + 0.3vw);
}

@media (min-width: 1200px) {

  h4,
  .h4 {
    font-size: 1.5rem;
  }
}

h5,
.h5 {
  font-size: 1.25rem;
}

h6,
.h6 {
  font-size: 1rem;
}

small,
.small {
  font-size: 0.875rem !important;
}

.text-primary {
  color: var(--nevis-primary) !important;
}

.text-secondary {
  color: var(--nevis-secondary) !important;
}

.text-success {
  color: var(--nevis-success) !important;
}

.text-info {
  color: var(--nevis-info) !important;
}

.text-warning {
  color: var(--nevis-warning) !important;
}

.text-danger {
  color: var(--nevis-danger) !important;
}

.text-light {
  color: var(--nevis-light) !important;
}

.text-dark {
  color: var(--nevis-dark) !important;
}

.text-white {
  color: var(--nevis-white) !important;
}

.bg-primary {
  background-color: var(--nevis-primary) !important;
}

.bg-secondary {
  background-color: var(--nevis-secondary) !important;
}

.bg-success {
  background-color: var(--nevis-success) !important;
}

.bg-info {
  background-color: var(--nevis-info) !important;
}

.bg-warning {
  background-color: var(--nevis-warning) !important;
}

.bg-danger {
  background-color: var(--nevis-danger) !important;
}

.bg-light {
  background-color: var(--nevis-light) !important;
}

.bg-dark {
  background-color: var(--nevis-dark) !important;
}

.bg-body {
  background-color: var(--nevis-white) !important;
}

.bg-white {
  background-color: var(--nevis-white) !important;
}

.link-primary {
  color: var(--nevis-primary);
}

.link-primary:hover,
.link-primary:focus {
  color: var(--nevis-primary);
  filter: brightness(80%);
}

.link-secondary {
  color: var(--nevis-secondary);
}

.link-secondary:hover,
.link-secondary:focus {
  color: var(--nevis-secondary);
  filter: brightness(80%);
}

.link-success {
  color: var(--nevis-success);
}

.link-success:hover,
.link-success:focus {
  color: var(--nevis-success);
  filter: brightness(80%);
}

.link-info {
  color: var(--nevis-info);
}

.link-info:hover,
.link-info:focus {
  color: var(--nevis-info);
  filter: brightness(80%);
}

.link-warning {
  color: var(--nevis-warning);
}

.link-warning:hover,
.link-warning:focus {
  color: var(--nevis-warning);
  filter: brightness(80%);
}

.link-danger {
  color: var(--nevis-danger);
}

.link-danger:hover,
.link-danger:focus {
  color: var(--nevis-danger);
  filter: brightness(80%);
}

.link-light {
  color: var(--nevis-light);
}

.link-light:hover,
.link-light:focus {
  color: var(--nevis-light);
  filter: brightness(80%);
}

.link-dark {
  color: var(--nevis-dark);
}

.link-dark:hover,
.link-dark:focus {
  color: var(--nevis-dark);
  filter: brightness(80%);
}

.border-primary {
  border-color: var(--nevis-primary) !important;
}

.border-secondary {
  border-color: var(--nevis-secondary) !important;
}

.border-success {
  border-color: var(--nevis-success) !important;
}

.border-info {
  border-color: var(--nevis-info) !important;
}

.border-warning {
  border-color: var(--nevis-warning) !important;
}

.border-danger {
  border-color: var(--nevis-danger) !important;
  border-width: 0.125rem;
}

.border-light {
  border-color: var(--nevis-light) !important;
}

.border-dark {
  border-color: var(--nevis-dark) !important;
}

.border-white {
  border-color: var(--nevis-white) !important;
}


/* EXTENSION PART */

/* Spacing */
.mt-20 {
  margin-top: 1.25rem;
}

.me-5px {
  margin-right: 0.3125rem;
}

.my-40 {
  margin: 2.5rem 0;
}

.mb-40 {
  margin-bottom: 2.5rem;
}

/* Colors */

.text-nevis-blue {
  color: var(--nevis-blue-600) !important;
}

.bg-nevis-blue {
  background-color: var(--nevis-blue-600) !important;
}

.border-nevis-blue {
  border-color: var(--nevis-blue-600) !important;
}

.link-nevis-blue {
  color: var(--nevis-blue-600);
}

.link-nevis-blue:hover,
.link-nevis-blue:focus {
  color: var(--nevis-blue-600);
  filter: brightness(80%);
}

.btn-language-selector {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  flex-shrink: 0;
  padding: 0;
  min-width: 0;
  box-sizing: border-box;
  box-shadow: none;
  font-size: 0.875rem !important;
  line-height: 1.25rem;
  font-weight: normal;
  outline: none;
  border: none;
  vertical-align: baseline;
  text-align: center;
  background-color: initial;
  color: var(--nevis-gray-900);
}

.btn-language-selector:hover {
  background: initial;
}

.btn-language-selector:active {
  background: initial;
}

.btn-language-selector:focus {
  box-shadow: none;
}

.btn-language-selector+.dropdown-menu {
  min-width: 0;
  width: 10rem;
  padding: 0.25rem 0;
  /* centering the dropdown */
  margin-left: -0.5rem !important;
  margin-top: 0.5rem !important;
  overflow: hidden;
  box-shadow: 0rem 0rem 0rem 0.0625rem var(--nevis-gray-200),
    0rem 0.1875rem 1.25rem -0.625rem var(--nevis-gray-900);
  border-radius: var(--nevis-border-radius);
  border: 0;
}

.btn-language-selector+.dropdown-menu>li {
  overflow: hidden;
}

.btn-language-selector+.dropdown-menu .dropdown-item {
  font-style: normal;
  font-weight: normal;
  font-size: 0.875rem;
  line-height: 1.25rem;
  padding: 0.5rem 1rem;
  color: var(--nevis-gray-900);
}

.btn-language-selector+.dropdown-menu .dropdown-item:hover {
  background: var(--nevis-blue-100);
}

.btn-language-selector+.dropdown-menu .dropdown-item:focus {
  background: none;
}

.btn-language-selector+.dropdown-menu .dropdown-item:active,
.btn-language-selector+.dropdown-menu .dropdown-item.active {
  background: var(--nevis-blue-100);
  filter: brightness(90%);
}