html {
    position: relative;
    min-height: 100%;
}

body {
    font-family: 'Open Sans';
    margin-bottom: 60px; /* Margin bottom by footer height */
}

.footer {
    position: absolute;
    bottom: 0;
    width: 100%;
    height: 60px; /* Set the fixed height of the footer here */
    line-height: 60px; /* Vertically center the text there */
}

.card-header.bg-cover {
    height:20rem;
    background-position:bottom;
    background-size: contain;
    background-repeat: no-repeat;
}
.card-header .price {
    position: absolute;
    right: 0px;
    top: 16rem;
}

@keyframes spinner {
  to { transform: rotate(360deg); }
}
.spinner {
    display: inline-block;
    width: 1em;
    height: 1em;
    margin-right: 1em;
    border: .2em solid currentcolor;
    border-right-color: transparent;
    border-radius: 50%;
    -webkit-animation: .75s linear infinite spinner;
    animation: .75s linear infinite spinner;
}

@media (max-width: 320px) {
  .btn.fixed-width-medium {
    width: 10em;
  }
}

@media (min-width: 320px) {
  .btn.fixed-width-medium {
    width: 100%;
  }
}

@media (min-width: 412px) {
  .btn.fixed-width-medium {
    width: 100%;
  }
}

@media (min-width: 540px) {
  .btn.fixed-width-medium {
    width: 100%;
  }
}

@media (min-width: 576px) {
  .btn.fixed-width-medium {
    width: 16em;
  }
}

@media (min-width: 768px) {
  .btn.fixed-width-medium {
    width: 16em;
  }
}

@media (min-width: 992px) {
  .btn.fixed-width-medium {
    width: 16em;
  }
}

@media (min-width: 1200px) {
  .btn.fixed-width-medium {
    width: 16em;
  }
}
