
  .wideStripe {
    position: relative;
  }
  
  .wideStripe::before {
    content: "";
    
    width: 100vw;
    height: 100%;
    
    position: absolute;
    top: 0em;
    left: calc((-100vw + 100%) / 2);
    
    z-index: -1;
  }

  .favourite-books-page,
  .all-books-page,
  .search-page {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-flow: row wrap;
    flex-flow: row wrap;
  }
  
  .favourite-books-page > *,
  .all-books-page > *,
  .search-page > * {
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
  }
  
  .favourite-books-page > main,
  .all-books-page > main,
  .search-page > main {
    flex: 1;
  }

  label.required > span::after {
    content: "*";
    font-size: 0.8em;
    color: var(--colour-required);
    padding-left: 0.2em;
  }
  
  .form-bg {
    background-color: #fbfbfb;
  }
  
  .form-bg input,
  .form-bg textarea {
    background-color: #fff;
  }

  .searchBar {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-flow: row nowrap;
    flex-flow: row nowrap;
  }
  
  .searchBar input {
    width: 100%;
  }
  
  .searchBar button[type="submit"] {
    margin-top: 0em;
    padding: 0em 1em;
    
    border: none;
    color: var(--colour-text-light);
    background-color: var(--colour-main-blue);
  }
  
  .searchBar button::after {
    content: "";
    mask-image: var(--icon-fa-magnifying-glass);
  }

  .filterButton {
    font-family: "LIGHT", sans-serif;
    font-size: 0.9rem;
    padding: 0em 0.5em;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    
    border: 0.05rem solid var(--colour-input-border-color);
    
    background-color: var(--colour-input-bg-color);
  }
  
  .filterButton::after {
    content: "";
    mask-image: var(--icon-fa-sliders);
    margin-left: 1em;
  }
  
  .removeButton {
    padding: 0.5em;
    background-color: var(--colour-delete-btn-bg);
    color: var(--colour-delete-btn-color);
  }
  
  .removeButton::before {
    content: "";
    mask-image: var(--icon-fa-trash);
    width: 0.875em;
    font-size: 1em;
    color: var(--colour-delete-btn-color);
  }
  
  .addButton::before {
    content: "";
    mask-image: var(--icon-fa-plus);
    width: 0.875em;
    font-size: 1em;
  }
  
  .downloadButton::before {
    content: "";
    mask-image: var(--icon-fa-download);
    width: 0.875em;
    font-size: 1em;
    margin-right: 0.5em;
  }
  
  .removeEmailButton::before {
    content: "";
    mask-image: var(--icon-fa-xmark);
    width: 0.75em;
    font-size: 1em;
    color: var(--colour-delete-btn-color);
  }
  
  .saveButton::before {
    content: "";
    mask-image: var(--icon-fa-check);
    width: 0.875em;
    font-size: 1em;
  }
  
  .moreButton {
    padding: 0.5em;
  }
  
  .moreButton::before {
    content: "";
    mask-image: var(--icon-fa-ellipsis-vertical);
    width: 0.25em;
    font-size: 1.2em;
    color: var(--colour-text-grey);
  }
  
  .submitButton::before {
    content: "";
    mask-image: var(--icon-fa-check);
    width: 0.875em;
    color: var(--colour-submit);
  }
  
  /* The circle is the button itself, because the icon inside it is a mask, which would cut the circle off too. */
  .favouriteButton,
  .favBasketIcon {
    display: inline-flex;
    padding: 0.5em;
    border: 0.05em solid var(--colour-light-gray-cat);
    border-radius: 50%;
    background: var(--colour-light-gray-cat);
  }
  
  .favouriteButton {
    outline: none;
  }
  
  .favouriteButton::before,
  .favBasketIcon::before {
    height: 1em;
  }
  
  .favouriteButton::before {
    content: "";
    mask-image: var(--icon-fa-heart);
    color: var(--colour-text-grey);
  }
  
  .favouriteBtn::before {
    color: var(--colour-accent-color);
  }
  
  .favBasketIcon::before {
    content: "";
    mask-image: var(--icon-fa-cart-shopping);
    width: 1.25em;
    color: var(--colour-text-grey);
  }
  
  .addedToCart::before {
    color: var(--colour-main-blue);
  }
  
  .star::before {
    content: "";
    mask-image: var(--icon-fa-star);
    width: 1.125em;
    color: #ffd400;
  }
  
  .emptyStar::before {
    content: "";
    mask-image: var(--icon-fa-star-regular);
    width: 1.125em;
    color: #ffd400;
  }
  
  .notPurchasedStar::before {
    content: "";
    mask-image: var(--icon-fa-star);
    width: 1.125em;
    color: var(--colour-inactive);
  }
  
  .notPurchasedEmptyStar::before {
    content: "";
    mask-image: var(--icon-fa-star-regular);
    width: 1.125em;
    color: var(--colour-inactive);
  }
  
  .highlighted.star::before {
    color: var(--colour-rating-star);
  }
  
  .like_button::before {
    content: "";
    mask-image: var(--icon-fa-thumbs-up);
    color: var(--colour-like-button);
  }
  
  .emptyLikeButton::before {
    content: "";
    mask-image: var(--icon-fa-thumbs-up-regular);
  }
  
  .dislike_button::before {
    content: "";
    mask-image: var(--icon-fa-thumbs-down);
    color: var(--colour-dislike-button);
  }
  
  .emptyDislike_button::before {
    content: "";
    mask-image: var(--icon-fa-thumbs-down-regular);
  }
  
  .viewMore::before {
    content: "";
    mask-image: var(--icon-fa-angle-down);
    width: 0.75em;
    color: #949494;
    margin-right: 0.5em;
  }
  
  .viewLess::before {
    content: "";
    mask-image: var(--icon-fa-angle-up);
    width: 0.75em;
    color: #949494;
    margin-right: 0.5em;
  }
  
  .toolTip::before {
    content: "";
    mask-image: var(--icon-fa-circle-question);
  }
  
  .help-tip {
    position: absolute;
    top: 0em;
    left: 5em;
    border-radius: 50%;
  }
  
  .help-tip.rightAligned p {
    right: 0;
    left: auto;
  }
  
  .help-tip > .toolTip::before  {
    color: var(--colour-main-blue);
  }
  
  .help-tip:hover p {
    display:block;
  }
  
  .help-tip p {
    font-size: 0.8em;
    display: none;
    width: 20em;
    position: absolute;
    top: 2em;
    left: -1em;
    
    margin: 0em;
    padding: 1em;
    -webkit-box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.2);
    box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.2);
    
    color: #fff;
    background-color: #1E2021;
    text-align: left;
    
    z-index: 100;
  }
  
  .help-tip p:before {
    content: "";
    
    position: absolute;
    left: 1.2em;
    top: -12px;
    
    border: 0.5em solid transparent;
    border-bottom-color: #1E2021;
  }
  
  .help-tip.rightAligned p:before {
    right: 0;
    left: auto;
  }

  ul#breadcrumbs {
    display: none;
  }
  
  @media screen and (min-width: 750px){
    ul#breadcrumbs {
      display: block;
      padding-top: 1em;
      padding-left: 1em;
    }
    
    ul#breadcrumbs a {
      text-decoration: underline;
    }
    
    ul#breadcrumbs li {
      display: inline-block;
    }
    
    ul#breadcrumbs li p {
      margin: 0;
    }
    
    ul#breadcrumbs li:after {
      content: "\003E";
      margin-left: 0.5em;
      color: var(--colour-main-blue);
    }
    
    ul#breadcrumbs li:last-of-type:after {
      content: "";
      margin: 0em;
    }
  }

  .switch {
    margin: 0.5em 0em;
    
    display: flex;
    flex-flow: row nowrap;
    justify-content: center;
    align-items: center;
  }
  
  input[type="checkbox"].switchInput {
    height: 0;
    width: 0;
    visibility: hidden;
  }

  .switch > label {
    position: relative;
    display: block;
    
    margin: 0em;
    width: 2.2em;
    height: 1.4em;
    
    border-radius: 1em;
    
    cursor: pointer;
    background: var(--colour-inactive);
  }

  .switch > label::after {
    content: "";
    position: absolute;
    top: 0.125em;
    left: 0.125em;
    
    width: 1.125em;
    height: 1.125em;
    
    border-radius: 50%;
    background: var(--colour-text-light);
  }
  
  .switch > label.active {
    background: var(--colour-active);
  }
  
  .switch > label.active::after {
    left: calc(100% - 2px) !important;
    transform: translateX(-100%);
  }

  .adminActions {
    margin-top: 1em;
    float: right;
  }
  
  .adminActions button {
    margin-left: 1em;
  }
  
  .adminActions button::before {
    margin-right: 0.5em;
  }

  @media screen and (min-width: 768px) {
    .adminActions {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
      -ms-flex-flow: row wrap;
      flex-flow: row wrap;
      -webkit-box-align: baseline;
      -ms-flex-align: baseline;
      align-items: baseline;
    }
  }

  .moreOptions {
    margin-left: auto;
    position: relative;
  }
  
  .moreOptions > div {
    position: absolute;
    right: 0;
    width: max-content;
    
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-flow: column nowrap;
    flex-flow: column nowrap;
    
    border: 0.05em solid var(--colour-border-color);
    background-color: #FFF;
    z-index: 100;
  }
  
  .moreOptions div {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    text-align: left;
  }
  
  .moreOptions > div > * {
    padding: 0.5em 1em;
    border-bottom: 0.05em solid var(--colour-border-color);
  }
  
  .moreOptions .removeButton {
    text-align: left;
  }
  
  .moreOptions .removeButton::before {
    margin-right: 0.5em;
  }
  
  .moreOptions:hover > button {
    background-color: var(--colour-light-grey2);
  }
  
  .removeBtn::before {
    content: "";
    mask-image: var(--icon-fa-xmark);
    width: 0.75em;
    margin-right: 0.5em;
    padding: 0.5em;
    color: #949494;
  }
  
  .eyeIcon::before {
    content: "";
    mask-image: var(--icon-fa-eye);
    width: 1.125em;
  }
  
  .viewLink::before {
    content: "";
    mask-image: var(--icon-fa-eye);
    width: 1.125em;
    font-size: 1em;
    margin-right: 0.5em;
  }
  
  .editLink::before {
    content: "";
    mask-image: var(--icon-fa-pen);
    font-size: 1em;
    margin-right: 0.5em;
  }
  
  .addLink::before {
    content: "";
    mask-image: var(--icon-fa-plus);
    width: 0.875em;
    font-size: 1em;
    margin-right: 0.5em;
  }
  
  .downloadLink::before {
    content: "";
    mask-image: var(--icon-fa-download);
    width: 0.875em;
    font-size: 1em;
    margin-right: 0.5em;
  }
  
  .deactivateButton::before {
    content: "";
    mask-image: var(--icon-fa-power-off);
    margin-right: 0.5em;
  }

  .roundImageCont {
    overflow: hidden;
    margin-right: 1em;
    border-radius: 50%;
    border: 0.05em solid var(--colour-border-color);
  }
  
  .roundImageCont img {
    display: inline;
    margin: 0 auto;
  }
  
  .roundImageCont .missingPhoto {
    display: inline;
    margin: 0 auto;
    margin-left: -12%;
    margin-top: -27%;
  }

  .displayNone {
    display: none !important;
  }
  
  .hideOnMobile {
    display: none;
  }
  
  .visibilityHidden {
    visibility: hidden;
  }
  
  .sectionHeader {
    margin-bottom: 1em;
    
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
    align-items: center;
  }
  
  #menuLinks a.highlighted {
    font-family: "MEDIUM", sans-serif;
    color: var(--colour-accent-color);
    /*border-bottom: 2px solid #3f72af;*/
  }
  
  #filterDropdown {
    padding: 1em;
    margin-top: 1em;
    border: 0.05em solid #dee2e6;
    background-color: #fdfdfd;
  }
  
  /*
  #menuLinks a.highlighted {
    border-bottom: none;
  }
  */
  
  .disabled {
    opacity: 0.65;
    cursor: not-allowed;
  }
  
  .status {
    color: var(--colour-accent-color);
    margin-left: 0.5em;
  }
  
  .inactive {
    color: var(--colour-inactive);
  }
  
  p.infoParagraph {
    font-size: 0.9em;
    color: var(--colour-text-grey);
  }
  
  #paypal-button-container {
    z-index: 0;
  }
  
  @media screen and (min-width: 768px) {
    .highlighted {
      font-family: "LIGHT", sans-serif;
    }
  }
  
  @media screen and (min-width: 768px) {
    .help-tip.rightAligned p {
      right: auto;
      left: -1em;
    }
    
    .help-tip.rightAligned p:before {
      right: auto;
      left: 1.2em;
    }
  }
  
  /*
  @media screen and (min-width: 841px) {
    #menuLinks a.highlighted {
      border-bottom: 2px solid #3f72af;
    }
  }
  */

  .imageCont {
    display: block;
    margin: 0em;
  }
