button:disabled.btn {
  cursor: not-allowed !important;
  /*pointer-events: none !important;*/
  opacity: 0.7 !important;
}

.btn {
  display: inline-block;
  text-align: center;
  min-height: 1rem;
  border-radius: 25px;
  border: none;
  padding: 0.75rem 0;
  width: 100%;
  transition: all 0.2s;
  position: relative;
  overflow: hidden;
  z-index: 1;
  font-family: "button-family";
  cursor: pointer;
  font-size: 1rem;
  font-family: canada-type-gibson, sans-serif;
  border: none;
  background: none;
}

.btn.white:hover {
  color: var(--site-primary) !important;
  background: var(--site-primary-contrast);
}

.btn.blue:hover {
  color: var(--site-primary-contrast) !important;
  
}

.btn.white {
  border: 0.25rem solid white;
  /*color: var(--site-primary-contrast);*/
  color: var(--site-primary);
  background: var(--site-primary-contrast);
}

.btn.blue {
  border: 0.25rem solid var(--site-primary);
  color: var(--site-primary-contrast);
  background: var(--site-primary);
}

.btn.white:hover::before{
  -webkit-transform: scaleY(0);
  -ms-transform: scaleY(0);
  transform: scaleY(0);
  background: var(--site-primary-contrast);
}

.btn.blue:hover::before{
  -webkit-transform: scaleY(0);
  -ms-transform: scaleY(0);
  transform: scaleY(0);
  background: var(--site-primary);
}

.btn:before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 10px;
  transform:scaleX(.8);
  transform:scaleY(0);
  transition:transform .2s;
}

.btn.loading:after {
  position: absolute;
  content: "";
  left: calc(50% - 7.5px);
  top: calc(50% - 7.5px);
  text-align: center;
  width: 15px;
  height: 15px;
  display: flex;
  justify-content: center;
  align-items: center;
  animation: loader 1s infinite linear;
  transition: all;
  background: transparent;
  border-radius: 50px;
  border: 3px solid var(--site-primary-contrast);
  border-top-color: var(--site-primary);
}

.btn.blue.loading{
  color: var(--site-primary) !important;
  background: var(--site-primary);
}

.btn.blue.loading::after{
  color: var(--site-primary-contrast) !important;
  background: var(--site-primary);
}

.btn.white.loading{
  background: var(--site-primary-contrast) !important;
  color: var(--site-primary-contrast);
}

.btn.white.loading::after{
  background: var(--site-primary-contrast) !important;
  color: var(--site-primary);
}

.btn-fixed {
  position: fixed;
  min-width: 10vw;
  background: transparent;
  /* box-shadow: 0 0 1rem rgba(0, 0, 0, 0.25); */
  top: 38%;
  right: -100%;
  z-index: 6;
  transition: all 0.5s;
  overflow: hidden;
}

.btn-fixed.show {
  right: 1%;
}

@keyframes loader {
  0%{
    transform: rotate(0deg);
  }
  50%{
    transform: rotate(180deg);
  }
  100%{
    transform: rotate(360deg);
  }
}


.btn-float{
  position: absolute;
  height: 30px;
  min-width: 30px;
  display: inline-block;
  text-align: center;
  padding: 0.75rem 0.75rem;
  border-radius: 50rem;
  transition: all 0.2s;
  font-size: 1rem;
  font-family: canada-type-gibson, sans-serif;
  border: none;
  background: none;
}

.btn-float.btn-top-left{
  top: 10px;
  left: 10px;
}

.btn-float.btn-secondary{
  background: var(--site-secondary);
  color: var(--site-secondary-contrast);
}
