.provider-facebook {
    padding-left: 25px;
    background: url("/static/provider-icons/facebook.8cddca427dae.ico") no-repeat;
    background-size: 19px 19px;
}

.provider-google {
    padding-left: 25px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' aria-hidden='true' class='native svg-icon iconGoogle' width='19' height='19' viewBox='0 0 19 19'%3E%3Cpath d='M16.51 8H8.98v3h4.3c-.18 1-.74 1.48-1.6 2.04v2.01h2.6a7.8 7.8 0 002.38-5.88c0-.57-.05-.66-.15-1.18z' fill='%234285F4'/%3E%3Cpath d='M8.98 17c2.16 0 3.97-.72 5.3-1.94l-2.6-2a4.8 4.8 0 01-7.18-2.54H1.83v2.07A8 8 0 008.98 17z' fill='%2334A853'/%3E%3Cpath d='M4.5 10.52a4.8 4.8 0 010-3.04V5.41H1.83a8 8 0 000 7.18l2.67-2.07z' fill='%23FBBC05'/%3E%3Cpath d='M8.98 4.18c1.17 0 2.23.4 3.06 1.2l2.3-2.3A8 8 0 001.83 5.4L4.5 7.49a4.77 4.77 0 014.48-3.3z' fill='%23EA4335'/%3E%3C/svg%3E") no-repeat;
}

.provider-yahoo {
    padding-left: 25px;
    background: url("/static/provider-icons/y!.1345b630f8b1.svg") no-repeat;
    background-size: 19px 19px;
}

.socialaccount_provider {
  color: inherit;
  text-decoration: inherit;
  text-align: center;
}

.canoeapp-small {
    max-width: 540px;
}

.accordion {
    --bs-accordion-btn-focus-box-shadow: none;
}

.accordion-item {
    position: relative;
    z-index: 1;
  }
  
.accordion-item:first-child {
    z-index: 2;
  }

.accordion-item-child-with-dropdown {
    z-index: 3;
  }

.nav-pills .nav-item .nav-link.form-error {
    color: var(--bs-danger) !important;
  }
  
.nav-pills .nav-item .nav-link.form-error.active {
  color: var(--bs-danger-bg-subtle) !important;
}

.monospace-font {
  font-family: monospace;
}

.blinking {
  animation: blinker 1.5s linear infinite;
}

@keyframes blinker {
  50% {
    opacity: 0;
  }
}

/* HTMX Transitions */
.fade-me-out.htmx-swapping {
  opacity: 0;
  transition: opacity 0.5s ease-out;
}

#htmx-loading-hide.htmx-request {
  opacity: 0;
}

/* Upstream gate number crossed in title */
.gate_box_title {
  height: auto;
  position: relative;
}

.upstream_gate_img {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0px;
  left: 0px;
}

[data-href] { 
  cursor: pointer;
}

[data-href]:hover .visual-link {
  text-decoration: underline;
}

/* Chrome, Safari, Edge, Opera */
input[type=number].number-to-text::-webkit-inner-spin-button, 
input[type=number].number-to-text::-webkit-outer-spin-button { 
  -webkit-appearance: none; 
  margin: 0; 
}

/* Firefox */
input[type=number].number-to-text {
  appearance: textfield;
}