  /* Default styling
  ---------------------------------------------------------------------------- */
  body {
    background: #f5f5f6;
    font-family: sans-serif;
    margin: 0;
    padding: 0;
  }

  /* Print styling
  ---------------------------------------------------------------------------- */

  @media screen {
    .print-only,
    .print-only * {
      display: none !important;
    }
  }

  @media print {
    .no-print,
    .no-print * {
      display: none !important;
    }
  }

  @media print {
    body {
      background: white;
    }
  }

  /* Sticky footer
  ---------------------------------------------------------------------------- */
  html {
    position: relative;
    min-height: 100%;
  }
  body {
    margin-bottom: 60px; /* Margin bottom by footer height */
  }
  .footer {
    position: absolute;
    bottom: 0;
    width: 100%;
    height: 60px; /* Set the fixed height of the g here */
    line-height: 60px; /* Vertically center the text there */
  }

  /* Hide date picker
  ---------------------------------------------------------------------------- */

  input::-webkit-calendar-picker-indicator{
    display: none;
  }

  /* Backround branding image
  ---------------------------------------------------------------------------- */

  div.container {
    outline: 0px dotted blue;
    padding-left:  15px;
    padding-right:  15px;
  }

  @media screen and (max-width: 600px) {
    div.container {
      padding-left:  0;
      padding-right:  0;
    }
    div.buffer {
      padding-left:  15px;
      padding-right:  15px;

    }
  }
  @media screen and (max-width: 600px) {
    body {
      background-image: url(https://www.washtenawdems.org/wp-content/uploads/2022/08/endorsed-bg-75p.gif);
      background-position: right 1em;
      background-repeat: no-repeat;
      background-attachment: fixed;
      background-size: 200px auto;
    }
  }

  @media screen and (min-width: 601px) {
    div.content-wrapper {
      background-image: url(https://www.washtenawdems.org/wp-content/uploads/2022/08/endorsed-bg-75p.gif);
      background-position: right top;
      background-repeat: no-repeat;
      /*background-attachment: fixed;*/
      background-size: 200px auto;
    }
  }
  /* For layout density toggling
  ---------------------------------------------------------------------------- */

  .is-invisible {
    display: none !important;
  }

  div.is-compact {
    padding-top: .25rem !important;
    padding-bottom: 0 !important;
  }


  /*Ballot header header ordering and sizing
  ---------------------------------------------------------------------------- */

  h1, h1.ballot-header {
    font-size: 2em;
  }

  div.ballot-header h2 {
    font-size:  1.3em;
  }

  h3.ballot-header {
    font-size:  1.2em;
    margin-left:  .1em;
    font-style:  italic;
    font-weight: 600;
  }

  h4 {
    font-size:  1.25rem;
  }
  h5 {
    font-size: 1.1rem;
  }
  h6 {
    /**/
  }


  /* Button bar sizing/spacing
  ---------------------------------------------------------------------------- */

  div.button-bar a {
    display:  inline-block;
    margin-top: .1em;
  }

  /* Sticky footer button bar
  ---------------------------------------------------------------------------- */

  div.button-bar.fixed {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    border-top:  1px solid lightgrey;
    text-align:center;
    padding-bottom: .5em;
    padding-top: .5em;
    background-color: #ceebfa;
    white-space: nowrap;
    z-index: 99;
  }

  /*9DD6F5 = endorsed bg blue -> tint50 ceebfa -> tint80 ebf7fd*/

  div.button-bar.fixed a {
    font-size: 1em;
  }

  @media screen and (max-width: 600px) {
    div.button-bar.fixed {
      padding-bottom: .5em;
      padding-top: .5em;
      white-space: nowrap;
      background-color: #ceebfa;
    }
    div.button-bar.fixed a {
      font-size: 1em;
    }
    img.wide-portrait {
      float: none !important;
      margin-bottom: .5em;
      margin:  0 auto !important;
      display: block;
      height: 120px !important;
      width: 240px !important;
    }
  }

  /* a11y changes for contrast
  ---------------------------------------------------------------------------- */

  .text-muted {
   color: #616971 !important;
  }

  a {
    color: #006fe6 ;
  }

  div.button-bar a {
   color: #ffffff;
  }

  button.btn-primary, a.btn-primary {
    background-color: #0056B3;
  }
  /*
  #007BFF behind whte - def bootstrap primary - gets us to 3.97
  #0056B3 gets us to WCAG AAA on all text sizes at 7.06
  #0071EB gets us to WCAF AA for normal text at 4.6

  alternatives are shade10 006fe6 and shade20 0062cc from bootstrap basic #007BFF
  */

  /* spinner initial state
  ---------------------------------------------------------------------------- */

  div#spinner {
    display: none;
  }


  /* --------------------------------
      Slide In Panel
  -------------------------------- */

  a.tapper {
    position: absolute;
    font-size: 2em;
    line-height: 2em;
    font-weight: 400;
    outline: 0px dashed green;
    right: 0px;
    height: 100%;
    width: 1em;
    color: #888;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  a.tapper:hover {
    text-decoration: none;
    color:  #888;
  }

  .wcdp-panel {
    position: fixed;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    visibility: hidden;
    transition: visibility 0s 0.6s;
  }

  .wcdp-panel::after {
    /*  */
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: transparent;
    cursor: pointer;
    transition: background 0.3s 0.3s;
  }

  .wcdp-panel.wcdp-panel--is-visible {
    visibility: visible;
    transition: visibility 0s 0s;
  }

  .wcdp-panel.wcdp-panel--is-visible::after {
    background: rgba(0, 0, 0, 0.6);
    transition: background 0.3s 0s;
  }

  .wcdp-panel__header {
    /*background-color: #ceebfa !important;*/
    background-color: #ddd !important;
    position: fixed;
    width: 90%;
    z-index: 10;
    box-shadow: 0 1px 1px rgba(0, 0, 0, 0.08);
    -webkit-transition: -webkit-transform 0.3s 0s;
    transition: -webkit-transform 0.3s 0s;
    transition: transform 0.3s 0s;
    transition: transform 0.3s 0s, -webkit-transform 0.3s 0s;
    -webkit-transform: translateY(-50px);
        -ms-transform: translateY(-50px);
            transform: translateY(-50px);
  }

  .wcdp-panel__header h1 {
    font-size: 1.3em;
    padding-left: .5em;
    padding-top: .5em;
    font-weight: 600;
    /*font-style: italic;*/
  }

  .wcdp-panel--from-right {
    z-index: 500;
  }

  .wcdp-panel--from-right .wcdp-panel__header {
    right: 0;
  }

  .wcdp-panel--is-visible .wcdp-panel__header {
    -webkit-transition: -webkit-transform 0.3s 0.3s;
    transition: -webkit-transform 0.3s 0.3s;
    transition: transform 0.3s 0.3s;
    transition: transform 0.3s 0.3s, -webkit-transform 0.3s 0.3s;
    -webkit-transform: translateY(0px);
        -ms-transform: translateY(0px);
            transform: translateY(0px);
  }

  @media only screen and (min-width: 768px) {
    .wcdp-panel__header {
      width: 70%;
    }
  }

  @media only screen and (min-width: 1170px) {
    .wcdp-panel__header {
      width: 70%;
    }
  }

  .wcdp-panel__close {
    position: absolute;
    color: #666;
    top: 0;
    right: 0;
    height: 100%;
    font-size: 1.5em;
    height: 100%;
    width: 2em;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  a.wcdp-panel__close:hover {
    text-decoration: none;
    color: #666;
  }



  .wcdp-panel__close::before, .wcdp-panel__close::after {
    /* close icon created in CSS */
  /*  content: '';
    position: absolute;
    top: 22px;
    left: 20px;
    height: 3px;
    width: 20px;
    background-color: #424f5c;
 */   /* this fixes a bug where pseudo elements are slighty off position */
    /*-webkit-backface-visibility: hidden;*/
            /*backface-visibility: hidden;*/
  }
  /*
  .wcdp-panel__close::before {
    -webkit-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
            transform: rotate(45deg);
  }

  .wcdp-panel__close::after {
    -webkit-transform: rotate(-45deg);
        -ms-transform: rotate(-45deg);
            transform: rotate(-45deg);
  }

  .wcdp-panel__close:hover {
    background-color: #424f5c;
  }

  .wcdp-panel__close:hover::before, .wcdp-panel__close:hover::after {
    background-color: #ffffff;
    -webkit-transition: -webkit-transform 0.3s;
    transition: -webkit-transform 0.3s;
    transition: transform 0.3s;
    transition: transform 0.3s, -webkit-transform 0.3s;
  }

  .wcdp-panel__close:hover::before {
    -webkit-transform: rotate(220deg);
        -ms-transform: rotate(220deg);
            transform: rotate(220deg);
  }

  .wcdp-panel__close:hover::after {
    -webkit-transform: rotate(135deg);
        -ms-transform: rotate(135deg);
            transform: rotate(135deg);
  }
  */


  /*.wcdp-panel--is-visible .wcdp-panel__close::before {
    -webkit-animation: cd-close-1 0.6s 0.3s;
            animation: cd-close-1 0.6s 0.3s;
  }

  .wcdp-panel--is-visible .wcdp-panel__close::after {
    -webkit-animation: cd-close-2 0.6s 0.3s;
            animation: cd-close-2 0.6s 0.3s;
  }

  @-webkit-keyframes cd-close-1 {
    0%, 50% {
      -webkit-transform: rotate(0deg);
              transform: rotate(0deg);
    }
    100% {
      -webkit-transform: rotate(45deg);
              transform: rotate(45deg);
    }
  }

  @keyframes cd-close-1 {
    0%, 50% {
      -webkit-transform: rotate(0deg);
              transform: rotate(0deg);
    }
    100% {
      -webkit-transform: rotate(45deg);
              transform: rotate(45deg);
    }
  }

  @-webkit-keyframes cd-close-2 {
    0%, 50% {
      -webkit-transform: rotate(0deg);
              transform: rotate(0deg);
    }
    100% {
      -webkit-transform: rotate(-45deg);
              transform: rotate(-45deg);
    }
  }

  @keyframes cd-close-2 {
    0%, 50% {
      -webkit-transform: rotate(0deg);
              transform: rotate(0deg);
    }
    100% {
      -webkit-transform: rotate(-45deg);
              transform: rotate(-45deg);
    }
  }
  */

  .wcdp-panel__container {
    position: fixed;
    width: 90%;
    height: 100%;
    top: 0;
    /*pale blue*/
    /*background: #dbe2e9;*/
    /*white*/
    /*background: #fff;*/
    /*pale grey*/
    background: #fff;
    touch-action: pan-y !important;
    z-index: 9;
    -webkit-transition: -webkit-transform 0.3s 0.3s;
    transition: -webkit-transform 0.3s 0.3s;
    transition: transform 0.3s 0.3s;
    transition: transform 0.3s 0.3s, -webkit-transform 0.3s 0.3s;
  }

  .wcdp-panel--from-right .wcdp-panel__container {
    right: 0;
    -webkit-transform: translate3d(100%, 0, 0);
            transform: translate3d(100%, 0, 0);
  }

  .wcdp-panel--from-left .wcdp-panel__container {
    left: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
            transform: translate3d(-100%, 0, 0);
  }

  .wcdp-panel--is-visible .wcdp-panel__container {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
    -webkit-transition-delay: 0s;
            transition-delay: 0s;
  }

  @media only screen and (min-width: 768px) {
    .wcdp-panel__container {
      width: 70%;
    }
  }

  @media only screen and (min-width: 1170px) {
    .wcdp-panel__container {
      width: 70%;
    }
  }

  .wcdp-panel__content {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    padding: 70px 5%;
    overflow: auto;
    /* smooth scrolling on touch devices */
    -webkit-overflow-scrolling: touch;
  }

  /*.wcdp-panel__content p {
    font-size: 1.4rem;
    line-height: 1.4;
    margin: 2em 0;
  }
  */
  /*.wcdp-panel__content p:first-of-type {
    margin-top: 0;
  }
  */
  @media only screen and (min-width: 768px) {
    .wcdp-panel__content p {
      font-size: 1rem;
    }
  }


  /* --------------------------------
     Swiping and/or Tapping
  -------------------------------- */

  div.card {
    position: relative;
  }
  div.swiper {
    position: absolute;
    min-height: 100%;
    height: 100%;
    width: 20%;
    right: 0px;
    outline: 0px solid blue;
    display: none;
  }

/*  p.tagline {
    font-weight: bold;
  }
*/
  div.card-body p.tagline, div.wcdp-panel p.tagline {
    font-style: italic;
    font-size:  1.1em;
    border-left: .3em solid #ddd;
    padding-left: .5em;
    margin-top: .3em;
  }

  div.card-body a.card-link, div.wcdp-panel a.card-link {
      font-weight: bold;
      font-size:  1.1em;
      border-left: .3em solid #ddd;
      padding-left: .5em;
      margin-top: .3em;
    }

  /* --------------------------------
  Sections and Groups for voter guide
  -------------------------------- */

  div.card-body.section-break {
    padding: .1em;
    text-align: center;
    font-weight:  bold;
    font-size: 1.2em;
    background-color: #ddd;
    text-transform: uppercase;
  }
  div.card-body.group-break {
    padding: .1em;
    text-align: center;
    font-weight:  bold;
    font-size: 1.1em;
    background-color: #eee;
    /*display: none;*/
  }

  img.candidate-portrait {
    margin-left: .2em;
    margin-bottom: .2em;
    width: 100px;
    height: 100px;
    object-fit: cover;
  }

  div.wcdp-panel img.candidate-portrait {
    margin-left: .3em;
    margin-bottom: .3em;
    width: 120px;
    height: 156px;
    object-fit: contain;
   }

   div.wcdp-panel img.wide-portrait {
    margin-bottom:  .4em;
  }