/* FAQ */

.faq_dl {
  position: relative;
  max-width: 38em;
  margin: 1rem auto;
}

.faq_dl > dt {
/*  font-size: 1.2rem;*/
  font-weight: 100;
  padding: 1rem;
  font-family: boldfont, sans-serif;

  /* Fix for IE9 & 10 */
  border-top: 1px solid rgba(255,255,255,.2);
}

/* button added via JS */
dt > button {
  color: inherit;
  background-color: transparent; /* IE doesn't inherit */
}
.faq_dl > dt:first-child .pab-btn,
.faq_dl > dt:first-child {
  border-top: 0;
}

.faq_dl.pab_container > dt {
  /* added via JS */
  padding: 0;
}

.faq_dl > dd {
  margin: 0 auto;
  padding: 0 .75rem;
}
@media (min-width: 57em) {
  .faq_dl > dd {
    padding: 0 1rem;
  }
}

/* The acivating buttons added via JS */

.pab-btn {
  display: flex;
  min-width: 0;
  position: relative;
  cursor: pointer;
  transition: color .3s ease-in;
  padding: .75rem 0;
  border: 0 solid transparent;
  border-top: 1px solid;

  /* inherit doesn't work in IE */
  font: inherit;
  text-align: left;
  width: 100%;
}

/*
.pab-btn:hover,
.pab-btn:focus,
.pab-btn:active {
  color:#000;
  background-color: rgba(0,0,0,.0125);
}
*/

.pab-btn:focus {
  outline: 0 solid;
}
.pab-btn::-moz-focus-inner {
  border: 0;
  padding: 0;
  margin-top: -2px;
  margin-bottom: -2px;
}


/* Underline text on button hover (Tesco requirement) */
.pab-btn > .faq_lbl {
  display: inline-block;
  width: calc(100% - 2.5rem);
  /* Prevent IE button depression */
  position: relative;
  line-height: 1.3;
  /* Removes button drepression in IE */
  pointer-events: none;
  text-decoration: none;
  text-decoration-color: transparent;
  transition: text-decoration-color .3s ease-in;
}
.pab-btn:hover > .faq_lbl,
.pab-btn:focus > .faq_lbl {
  text-decoration: underline;
  text-decoration-color: currentColor;
}
.pab-btn:active > .faq_lbl {
  text-decoration-color: currentColor;
}


/* SVG plus */

/* SVG container */

[class^="svg_cnt"] {
  /* default button size 40px */
  display: block;
  /* Prevent IE button depression */
  position: relative;
  width: 2.5em;
  min-width: 2.5em;
  height: 2.5em;
  min-height: 2.5em;
  pointer-events: none;
  margin-left: auto; /* Relies on flexbox parent to position to right */
  border-radius: 100%;
  border: .125rem solid currentColor;
  transition: box-shadow .3s ease-out;
}
.ie9 [class^="svg_cnt"] {
  float: right;
}
/* Intentionally no focus state on FAQs */
.pab-btn:hover [class^="svg_cnt"] {
  box-shadow: 0 0 0 .25rem rgba(0, 83, 159, 0.4);
}
[aria-expanded="true"] [class^="svg-expand"] {
  transform: rotate(180deg);
}
.svg_cnt-medium {
  /* button size 32px */
  width: 2em;
  min-width: 2em;
  height: 2em;
  min-height: 2em;
}
.svg_cnt-small {
  /* button size 24px */
  width: 1.5em;
  min-width: 1.5em;
  height: 1.5em;
  min-height: 1.5em;
  color: #fff;
  background-color: #00539f;
  border-color: #00539f;
}



/* SVG in three sizes 40px, 32px, 24px */
[class^="svg-expand"] {
  display: block;
  stroke-width: 1.2;
  width: 100%;
  height: 100%;
  padding: 20%;
  pointer-events: none;
  stroke-linecap: square;
  stroke: currentColor;
  transition: transform .7s ease-out;
}
.svg-expand-medium {
  stroke-width: 1.8;
}
.svg-expand-small {
  stroke-width: 2.4;
}



.isSafari .pab-btn .pab-svg-plus {
  box-shadow: none;
}


/* Open / close animation - The inaccurate CSS max-height is resolved by JS adding an inline style */

[data-pab] + [aria-hidden] {
  overflow: hidden;
  opacity: 1;
  max-height: 50rem;
  visibility: visible;
  transition: visibility 0s ease 0s, max-height .65s ease-out 0s, opacity .65s ease-in 0s;
}

/* Improve animation timing on short answers */
[data-pab] + [aria-hidden].-js-short-duration {
  transition-duration: 0s, .45s, .45s;
}

[data-pab] + [aria-hidden="true"] {
  max-height: 0;
  opacity: 0;
  visibility: hidden;
  transition-delay: .66s, 0s, 0s;
}


/* Overide the max-height set as an inline style by the JS */

[data-pab] + [style][aria-hidden="true"] {
  max-height: 0 !important;
}
