
.tab-heading,
.dsmbgtn-h {
  font-family: tescoregular,sans-serif;
  font-weight: 100;
  /*letter-spacing: -0.02em;*/
}


.st {
  margin: 0 auto;
  font-size: 16px;
}

  .tab-text {
    margin-bottom:20px;
  }
    .tab-heading {
      font-size: 32px;
    }
    .tab-tagline {
    }


/* Opening times form */

.st-frm {
  margin: 0 20px 20px;
}
@media (min-width:454px) {
  .st-frm {margin:0 0 20px}
}
  .st-fldst {
    border:0 solid;
    margin: 0;
    /*overflow: hidden;*/
    padding: 0;
    white-space: nowrap;
    position: relative;
  }
  .st-lbl {
    position: absolute;
    text-indent: -200em;
  }
  .st-inp-txt {
    width: 58%;
    width: calc(100% - 133px);
    float:left;
    font-size:16px;
    padding: 10px 16px 10px 19px;

    /* for iOS */
    border-radius: 0;
    -webkit-appearance: none;
  }
  .st-submit {
    border:0 solid;
    font-size:16px;
    padding: 10px 20px;
    touch-action: manipulation;
  }


/* loading spinner in input area */
.loading,
.strDetails {
  background-image: url(data:image/gif;base64,R0lGODlhEAAQAMQAAP////f39+/v7+bm5t7e3tbW1s7OzsXFxb29vbW1ta2traWlpZycnJSUlIyMjISEhHt7e3Nzc2tra2NjY1paWlJSUkpKSkJCQjo6OjExMSkpKSEhIQAAAAAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQJCgAAACwAAAEAEAAPAAAFVyAgjiQQlOgoDCkaDGxLDsQpj/A9BwLhE7KXYWgAAgaNSETyWA0CUBshcqlSDInCAmETrQRgAGFCKDgON8eEpWjEUIcKQzRYKLokhUQweuFHCAo6Kn8jIQAh+QQJCgAAACwAAAIAEAAOAAAFUCAgBmJpnoACEWgrWBXbnogGzSikIaPgCyRTYPEIBAaEpKBkaDgZhQDQaEJErhBEshA9+aiAxSFwkM2aBgDBsGwFGAtSgDsbQE1AFw93CrZCACH5BAkKAAAALAAAAQAOAA8AAAVVICCOpEGKwZlMJ3AwA0pZKRlEULxoTgsYlAZgJvABGBODhGEEBBIKRPFESFgRg0BtVFgwGAuDQDCIjbRakSFLMLcGh9iAsD0bCqNyKyC21Z0ETTY+IQAh+QQJCgAAACwAAAEAEAAOAAAFUiAgjiRBnufxoGKBCOMTsUCwLDBCLTRAOAgAZNYDJBqEB6LQcDgehlPAcCgoLJgM5gEDCAhgAmxAHnQBg4JhPQgEaG+SuTj6notkuijQ1ovuJyEAIfkECQoAAAAsAAABABAADQAABVAgII7kQJ5noaCiQASjwrCiUcBGc9CAcBCAxYwHIBgEigJBsRACT4PoITKZSBgwQCA6EAAKCcKA4G1xuz1rmQhAaCLsEUSziw8okzUxcDABQgAh+QQFCgAAACwDAAEADQAPAAAFUyAgjkBAnqJQnIFgioWBDoM4HAQaEAIQozZCoEA7GBG1lIuwYDQYiNeIcBAIBtJRAvFw9HSWBoHSADY2C0CDIiMNLpWeAPL4wjAJEtH9AJICSUAhACH5BAkKAAAALAMAAQANAA8AAAURICCOZGmeaKqubOu+cCzPZQgAOw==);
  background-position: center center;
  background-repeat: no-repeat;
}
.loading {
  position: absolute;
  top: 10px;
  left: 230px;
  width: 16px;
  height: 16px;
  opacity: 0;
  transition: opacity .5s ease-out;
}
.loading.ON {
  opacity: 1;
}

/* Loading spinner - found-store */
.strDetails {
  min-height: 196px; /*12.25 em */
  margin-bottom: 20px;
}
/*
.strDetails.ON {
  background-image: none;
}
*/





/* Disambiguation */

.dsmbgtn {
  clear: both;
  text-align: left;
}
.dsmbgtn.ON {
  margin: 0 20px;
}
@media (min-width:454px) {
  .dsmbgtn.ON {margin: 0 auto;}
}

  .dsmbgtn-h {
    font-weight: 100;
    margin-bottom: 10px;
  }
  .dsmbgtn-lst {
    list-style: none;
    /* reduced padding, added to link instead */
    padding: 10px;
  }
  .dsmbgtn-li {}

  .dsmbgtn-a {
    display: block;
    /* more padding for mobile */
    padding: 10px;
    touch-action: manipulation;
  }


/* Responses */

.responses {
  clear: both;
  text-align: left;
}
.responses.ON {
  margin: 0 20px 20px;
}
@media (min-width:454px) {
  .responses.ON {margin: 0 auto 20px;}
}


/* Found stores */

.fndStrs {
  /*width: 100%;*/
}
.fndStrs.ON {
  margin-bottom: 20px;
  padding-bottom: 0;
  /*max-height: 23em*/
}

  .fndStr-h {
    margin:0;
    padding: 0;
  }
  .fndStr-h.no-button {
    font-size: 16px;
    padding: 13px 20px;
    text-overflow: ellipsis;
    white-space:nowrap;
  }

    .fndStr-btn-more {
      margin: 0;
      text-overflow: ellipsis;
      white-space:nowrap;
      border: 0 solid;
      background-color: transparent;
      color: inherit;
      font-size: 16px;
      padding: 12px 20px 12.5px;
      display: block;
      width: 100%;
      text-align: left;
      cursor: pointer;
      font-family: "tescoregular",sans-serif;
      font-weight: normal;
      line-height: 1;
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
      font-smoothing: antialiased;
      position: relative;
    }

    .fndStr-btn-more svg {
      vertical-align: text-bottom;
      position: absolute;
      right: 10px;
    }

    [aria-pressed="true"] svg {transform: rotate(180deg);}

    /* Accessibly show / hide more stores */
    [role="region"][aria-expanded="false"] {display:none;}

  .fndStr-lst {
    padding:10px;
    list-style: none;
  }
    .fndStr-li {
      line-height: 1.1;
      margin-top: 1.5px;
    }

      .fndStr-a {
        display: block;
        /* more padding for mobile */
        padding: 12.2px 10px;
        touch-action: manipulation;
      }
        .fndStr-a b {
          font-size: xx-small;
          font-weight: 100;
          white-space: nowrap;
        }


/* Store details */

.strDetails {
}
.strDetails.ON {
  margin-bottom: 20px;
  padding: 0;
}

.strName {
  margin:0 0 5px;
  padding: .5em 10px;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow:hidden;

  font-size: 16px;
  margin: 0;
  padding: 13px 20px; /* line height is 1 so more padding top & bottom */
}

.strDetails ol {
  list-style: none;
}

.strHours,
.holidayHours {
    line-height: 1;
    padding: 5px 10px;
    position: relative;
}

/* Timetables */
.strHours-tbl,
.holiday table {
  border-collapse: collapse
}
caption,
.strHours-cptn {
  text-align: left;
  padding: 5px 0;
  position: absolute;
  left: -200em;
}
.strHours-tbl tfoot {
  display:none;
}

.strHours thead th,
.strHours-tbl th,
.holidayHours thead {
  left:-200em;
  position:absolute;
  top:0;
}

.strHours-tbl tr,
.holiday tr {
  /*width: 240px;*/
  overflow: hidden;
  display: block;
}
.strHours td,
.strHours-tbl td,
.holidayHours td {
  padding: 5.5px 20px 6px 0; /* to match foundStores li a height */
  white-space: nowrap;
  text-overflow: clip;
  text-align: left;
}

.strHours .day,
.strHours-day,
.holiday .day {
  min-width: 115px;
}
.strHours td:last-child,
.strHours-tbl td:last-child {
  padding-right:0;
}
.strHours td[colspan="2"],
.strHours-tbl td[colspan="2"] {
  min-width: 10.4em;
}
tr td:last-child {padding-right: 0}













/* store details & maps button */

.strButton {
  clear:both;
  float:right;
}
  .strButton-a {
    display: block;
    font-size:16px;
    padding: 9.5px 8px 9.5px 20px;
    white-space: nowrap;
    touch-action: manipulation;
  }
  .strButton-svg {
    transform: rotate(-90deg);
    vertical-align: middle;
  }





/* Animation */

.animate {
  overflow:hidden;
  pointer-events: none;
  opacity: 0;
  max-height: 0;
  transition: min-height .5s ease-out, opacity .5s ease-out;
}
.animate.ON {
  pointer-events: auto;
  opacity: 1;
  max-height: none;
}



/* Responsive */

/* Longest store name is Cambridge Fulbourn Cherry Hinton Superstore - found stores is set to accomodate */



/* 768px two columns */

/* @768px tablet */
@media (min-width: 768px) {
  /* add float at 2 column sizes */
  /*
  .strHours,
  .holidayHours {
    float: left;
  }
  */
  .fndStrs {
    float: left;
    width: 100%;
    margin-right: 20px;
  }
  .ie9 .fndStrs {
    margin-right: 15px;
  }
  .strDetails {float:right; width:55.78%}
  .strAddress {width: 36%;}
  .strAddress-tel {text-align: left;}
  .strButton {clear:right;}
}

/* @desktop 960+ */
@media (min-width: 960px) {
  .strDetails {width:56.4%}
}





/* Extended for accessibletabs5.js - test and rework backwards */

/* JS is always available, impossible to get to this screen without it. */

.tabs-container {
  padding:10px;
}

.tabs-list {
  display: block;
  list-style: none;
  margin: 0;
  padding: 0;
  overflow:hidden;
}
.tabs-list {
  display: flex;
  align-items: center;
  justify-content: center;
}
.tabs-list li {
  margin: 0;
  padding: 0;
  width: 50%;
  text-align: center;
  line-height: 1;
  float: left;
}
.tabs-list a {
  padding: 12.2px 10px;
  display: block;
  touch-action: manipulation;
}
.tabs-list a:focus {outline: 0 solid}
.tabs-list > :first-child a {text-align:left}

.tabs-section h4,
.tabs-section caption {
  position:absolute;
  left:-200em
}

.tabs-section > :last-child {margin-bottom:0}

[role="tabpanel"][aria-hidden="true"] {
  display: none;
}





/* letter-spacing links and buttons
.st-submit,
.fndStr-h,
.strName,
.strButton-a{
  letter-spacing: -0.02em;
}
 */



.noJS .st-frm{
  max-width:414px;
  margin: 0 auto 20px;
}
.noJS .tab-stores,
.noJS .footer-bg-eggs {
  background-color: #CDECEE;
}
.noJS .st-inp-txt {
  border: 1px solid #fff;
}
.noJS .st-submit {
  background-color: #007471;
  color: #fff;
}
.noJS .tab-stores .tab-text {
  padding-bottom: 0;
}
@media (min-width:768px) {
  .noJS .st-frm{
    max-width: 360px;
    margin: 0 3em 20px;
  }
}
@media (min-width:870px) {
  .noJS .st-frm{
    max-width: 414px;
  }
}
