:root {
  --gpr-ux-focus: 0 0 0 4px rgba(25, 61, 120, 0.2);
  --gpr-ux-focus-light: 0 0 0 4px rgba(255, 255, 255, 0.22);
  --gpr-ux-surface-hover: 0 18px 42px rgba(15, 23, 42, 0.12);
  --gpr-ux-surface-soft: 0 12px 30px rgba(15, 23, 42, 0.08);
}

html {
  scroll-padding-top: calc(var(--gpr-menu-altura, 86px) + 18px);
}

[id] {
  scroll-margin-top: calc(var(--gpr-menu-altura, 86px) + 22px);
}

:where(a, button, input, textarea, select, [tabindex]):focus-visible {
  outline: 0;
  box-shadow: var(--gpr-ux-focus);
}

.gpr-cabecalho:not(.is-scrolled) :where(a, button):focus-visible,
.slideshow :where(a, button):focus-visible,
.gpr-qs-hero :where(a, button):focus-visible,
.cilog-hero :where(a, button):focus-visible {
  box-shadow: var(--gpr-ux-focus-light);
}

.gpr-action-btn,
.gpr-btn,
.gpr-btn-branco,
.gpr-btn-outline,
.btn,
button,
[type="button"],
[type="submit"] {
  touch-action: manipulation;
}

.gpr-action-btn,
.gpr-btn,
.gpr-btn-branco,
.gpr-btn-outline {
  transition-property: background, border-color, color, box-shadow, opacity, filter;
  transition-duration: 0.22s;
  transition-timing-function: ease;
}

@media (hover: hover) {
  .gpr-action-btn:hover,
  .gpr-btn:hover,
  .gpr-btn-outline:hover,
  .gpr-btn-branco:hover {
    box-shadow: 0 14px 34px rgba(15, 23, 42, 0.12);
  }

  .gpr-card:hover,
  .gpr-blog-card:hover,
  .gpr-empre-card:hover,
  .gpr-qs-painel:hover,
  .gpr-surface-card:hover {
    box-shadow: var(--gpr-ux-surface-hover);
  }
}

.gpr-card,
.gpr-blog-card,
.gpr-qs-painel,
.gpr-surface-card {
  transition: box-shadow 0.24s ease, border-color 0.24s ease, background-color 0.24s ease;
}

.gpr-empre-card {
  transition:
    transform 0.32s cubic-bezier(0.2, 0.8, 0.2, 1),
    box-shadow 0.32s cubic-bezier(0.2, 0.8, 0.2, 1),
    border-color 0.24s ease,
    background-color 0.24s ease;
}

.form-control,
.form-select,
textarea.form-control,
.gpr-filtro-select,
.gpr-filter-control {
  transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
}

.form-control:focus,
.form-select:focus,
textarea.form-control:focus,
.gpr-filtro-select:focus,
.gpr-filter-control:focus {
  border-color: rgba(25, 61, 120, 0.5);
}

.was-validated .form-control:invalid,
.was-validated .form-select:invalid,
.form-control.is-invalid,
.form-select.is-invalid {
  border-color: rgba(220, 53, 69, 0.75);
  box-shadow: 0 0 0 4px rgba(220, 53, 69, 0.1);
}

.was-validated .form-control:valid,
.was-validated .form-select:valid,
.form-control.is-valid,
.form-select.is-valid {
  border-color: rgba(25, 135, 84, 0.55);
  box-shadow: 0 0 0 4px rgba(25, 135, 84, 0.08);
}

.invalid-feedback,
.valid-feedback {
  line-height: 1.4;
}

.gpr-nav-link,
.gpr-dropdown-item {
  -webkit-tap-highlight-color: transparent;
}

.gpr-dropdown-menu {
  will-change: opacity, transform;
}

.gpr-hero-ctas,
.gpr-qs-actions,
.gpr-blog-actions,
.gpr-contato-actions {
  row-gap: 0.75rem;
}

.gpr-floating-actions,
#gprFloatingActions {
  z-index: 2050;
}

.gpr-site-popup-modal__image,
.gpr-blog-thumb,
.gpr-empre-card img,
.blog-single-cover-img,
.blog-gallery-image {
  background-color: #eef2f7;
}

@media (max-width: 991.98px) {
  .gpr-navbar .navbar-collapse {
    max-height: calc(100vh - var(--gpr-menu-altura, 74px) - 18px);
    overflow-y: auto;
    overscroll-behavior: contain;
  }

  .gpr-nav-link {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }

  .gpr-action-btn,
  .gpr-btn,
  .gpr-btn-branco,
  .gpr-btn-outline,
  .btn-lg {
    min-height: 46px;
  }
}

@media (max-width: 575.98px) {
  .gpr-hero-ctas,
  .gpr-qs-actions,
  .gpr-blog-actions,
  .gpr-contato-actions {
    width: 100%;
  }

  .gpr-hero-ctas > *,
  .gpr-qs-actions > *,
  .gpr-blog-actions > *,
  .gpr-contato-actions > * {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
  }
}

.blog-directory-card__body > .blog-action-btn {
  margin-top: auto;
}