html, body {
  min-height: 100%; }

body {
  padding-bottom: 1rem; }

.bold-300 {
  font-weight: 500; }

.bold-400 {
  font-weight: 500; }

.bold-500 {
  font-weight: 500; }

.bold-600 {
  font-weight: 500; }

.bold-700 {
  font-weight: 500; }

.center-center {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  /* Yep! */
  width: 48%;
  height: 59%; }

.flex-centered {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 100vh;
  padding: 0 20px; }

.preloader {
  position: fixed;
  top: 0;
  min-width: 100vw;
  min-height: 100vh;
  width: 100vw;
  height: 100vh;
  background-color: #53656b;
  display: flex;
  justify-content: center;
  /*centers items on the line (the x-axis by default)*/
  align-items: center;
  /*centers items on the cross-axis (y by default)*/
  z-index: 3000; }

.lds-ripple {
  display: inline-block;
  position: relative;
  width: 64px;
  height: 64px; }

.lds-ripple div {
  position: absolute;
  border: 4px solid #cef;
  opacity: 1;
  border-radius: 50%;
  animation: lds-ripple 1s cubic-bezier(0, 0.2, 0.8, 1) infinite; }

.lds-ripple div:nth-child(2) {
  animation-delay: -0.5s; }

@keyframes lds-ripple {
  0% {
    top: 28px;
    left: 28px;
    width: 0;
    height: 0;
    opacity: 1; }
  100% {
    top: -1px;
    left: -1px;
    width: 58px;
    height: 58px;
    opacity: 0; } }

.side-links {
  position: fixed;
  min-height: 100vh;
  height: 100vh;
  width: 40px;
  background-color: #444;
  z-index: 2000; }
  .side-links .side-list {
    list-style: none;
    margin: 0;
    padding: 0;
    width: 40px;
    min-height: 100vh;
    height: 100vh;
    margin-top: 60px; }
    .side-links .side-list li {
      display: inline-block;
      width: 40px;
      height: 40px; }
      .side-links .side-list li a {
        position: relative;
        display: block;
        width: 40px;
        height: 40px;
        text-align: center;
        line-height: 2.5rem;
        color: #ccc;
        transition: all .4s; }
        .side-links .side-list li a i {
          display: block;
          width: 40px;
          height: 40px;
          line-height: 2.5rem;
          color: #ccc; }
        .side-links .side-list li a span {
          position: absolute;
          display: none;
          top: 0;
          left: 40px;
          width: 200px;
          height: 40px;
          line-height: 2.5rem;
          background-color: #444;
          color: #ccc;
          text-align: left;
          transition: all .4s; }
        .side-links .side-list li a:hover {
          background-color: #222; }
          .side-links .side-list li a:hover span {
            display: block;
            background-color: #222;
            transition: all .4s; }
          .side-links .side-list li a:hover i {
            color: #fff; }

.side-opener {
  position: fixed;
  bottom: 5px;
  left: 5px;
  background-color: #007bff;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  z-index: 4500;
  display: none; }
  .side-opener a {
    display: block;
    z-index: 4510;
    color: white;
    text-align: center;
    line-height: 30px; }
    .side-opener a i {
      z-index: 4510;
      color: white; }

@media (max-width: 767.98px) {
  .side-opener {
    display: block !important; }
  .side-links {
    left: -40px !important; }
  body.side-open .side-links {
    left: 0 !important; } }

.wrap {
  padding-left: 40px;
  padding-top: 60px;
  z-index: 1000; }

@media (max-width: 767.98px) {
  .wrap {
    padding-left: 0 !important; } }

.header-main {
  position: fixed;
  top: 0;
  width: 100vw;
  height: 60px;
  background-color: #444;
  color: #cacaca;
  z-index: 2100; }
  .header-main .header-logo .logo-img {
    height: 55px; }
  .header-main .header-user {
    text-align: right; }
    .header-main .header-user a {
      color: #cacaca;
      line-height: 3.5rem; }
    .header-main .header-user .user-avatar {
      width: 40px;
      height: 40px;
      border-radius: 50%;
      margin-right: 5px; }
    .header-main .header-user .user-name {
      padding-right: 1rem; }
  .header-main .header-link a {
    color: #cacaca;
    line-height: 3.5rem; }
  .header-main .header-mobile {
    display: none; }

@media (max-width: 767.98px) {
  .header-main {
    height: 50px; }
  .header-mobile {
    display: block !important; }
  .header-blank, .header-user, .header-link {
    display: none !important; }
  .header-logo .logo-img {
    max-width: 100%;
    height: auto !important; } }

.header-navbar {
  background-color: #888;
  padding-left: 50px;
  z-index: 900;
  transition: all 2s ease 0s;
  top: 0; }
  .header-navbar .menu-down-btn {
    display: none; }

.menu {
  list-style: none;
  margin: 0;
  padding: 0;
  padding: 1rem 0; }
  .menu-item {
    position: relative; }
    .menu-item:last-child {
      border-bottom: 0; }
    .menu-item > ul, .menu-item .menu-sub {
      display: none;
      list-style: none;
      margin: 0;
      padding: 0; }
    .menu-item a {
      color: #ccc;
      padding: 8px 0;
      display: block;
      position: relative; }
      .menu-item a .badge {
        margin-left: 5px;
        position: relative;
        top: -1px; }
      .menu-item a .active, .menu-item a:hover {
        color: #fff; }
  .menu-sub .menu-item:first-child {
    border-top: 1px solid #444; }
  .menu-sub .menu-sub {
    margin-top: -5px;
    margin-bottom: 10px; }
    .menu-sub .menu-sub .menu-item {
      border-bottom: none; }
      .menu-sub .menu-sub .menu-item:first-child {
        border-top: none; }
      .menu-sub .menu-sub .menu-item a {
        padding-top: 6px;
        padding-bottom: 6px; }
  .menu-sub a {
    color: #444; }
  .menu-item > a.active {
    color: #cacaca; }

.has-sub > a {
  position: relative; }
  .has-sub > a:after {
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    content: '\f0d7';
    font-family: 'Font Awesome 5 Free';
    font-size: 14px;
    font-weight: 700;
    transition: transform .4s; }

.has-sub.open-nav > a:after {
  transform: translateY(-50%) rotate(-180deg); }

.navbar-toggle {
  width: 44px;
  height: 44px;
  text-align: center;
  display: inline-block;
  border-radius: 50%;
  padding: 5px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s; }
  .navbar-toggle.navbar-active {
    color: #16a3fe;
    position: relative;
    z-index: 49; }
  .navbar-toggle:hover, .navbar-toggle.navbar-active {
    background: rgba(225, 229, 232, 0.2); }
  .is-transparent:not(.has-fixed) .navbar-toggle {
    color: #fff; }
    .is-transparent:not(.has-fixed) .navbar-toggle:hover, .is-transparent:not(.has-fixed) .navbar-toggle.navbar-active {
      background: rgba(225, 229, 232, 0.2); }

.toggle-line {
  position: relative;
  width: 32px;
  height: 32px;
  display: block;
  color: #415076; }
  .toggle-line:hover {
    color: #415076; }
  .is-transparent:not(.has-fixed) .toggle-line, .is-dark.has-fixed .toggle-line {
    color: #fff; }
  .toggle-line::after, .toggle-line::before, .toggle-line > span {
    content: "";
    position: absolute;
    background: currentColor;
    transition: all 0.2s;
    width: 24px;
    height: 2px;
    left: 4px;
    border-radius: 3px; }
  .toggle-line::before {
    top: 8px; }
  .toggle-line::after {
    bottom: 8px; }
  .toggle-line > span {
    top: 50%;
    margin-top: -1px;
    width: 10px; }
  .navbar-active .toggle-line {
    color: #fff; }
    .navbar-active .toggle-line::before, .navbar-active .toggle-line::after {
      width: 28px;
      left: 2px; }
    .navbar-active .toggle-line::before {
      transform: rotate(45deg);
      top: 15px; }
    .navbar-active .toggle-line::after {
      transform: rotate(-45deg);
      bottom: 15px; }
    .navbar-active .toggle-line > span {
      opacity: 0;
      visibility: hidden; }

@media (min-width: 992px) {
  .header-menu {
    display: flex !important;
    width: auto;
    align-items: center;
    position: static;
    background: transparent;
    padding: 0;
    margin: 0;
    border-radius: 0;
    overflow: visible; }
  .header-navbar {
    padding: 0 0 0 15px;
    margin-top: 0;
    position: relative; }
    .header-navbar:before {
      display: none; }
    .has-fixed .header-navbar {
      margin-top: 0; }
  .menu {
    display: flex;
    align-items: center;
    padding: 0; }
    .menu-item {
      border-bottom: none; }
      .menu-item > a {
        font-weight: 400;
        padding: 10px; }
        .menu-drop .menu-item > a {
          font-weight: 300; }
      .menu-item:hover {
        z-index: 9999; }
    .menu-sub {
      position: absolute;
      min-width: 180px;
      max-width: 180px;
      background: #fff;
      padding: 15px 0;
      top: 100%;
      left: 0;
      display: block !important;
      z-index: 99;
      opacity: 0;
      visibility: hidden;
      transition: all .4s;
      border-radius: 4px;
      transform: translateX(0) translateY(-8px);
      box-shadow: 0px 3px 12px 0px rgba(18, 24, 58, 0.08); }
      .menu-sub a {
        width: 100%;
        display: block;
        padding: 10px 10px; }
      .menu-sub .menu-item:first-child {
        border-top: none; }
      .menu-sub .menu-item:hover > a {
        color: #16a3fe; }
      .menu-item:hover > .menu-sub {
        opacity: 1;
        visibility: visible;
        transform: translateX(0) translateY(0); }
      .menu-sub .menu-sub {
        left: calc(100% - 25px);
        top: -15px;
        margin: 0; }
        .menu-sub .menu-sub .menu-item a {
          padding-top: 12px;
          padding-bottom: 12px; }
      .is-dark .menu-sub {
        background-color: #1d4bcf; }
    .menu-mega {
      position: absolute;
      left: 50%;
      background: #fff;
      padding: 15px 10px;
      top: 100%;
      display: block !important;
      z-index: 99;
      opacity: 0;
      visibility: hidden;
      transition: all .4s;
      border-radius: 4px;
      box-shadow: 0px 3px 12px 0px rgba(18, 24, 58, 0.08);
      transform: translateX(-50%) translateY(-8px); }
      .menu-item:hover > .menu-mega {
        opacity: 1;
        visibility: visible;
        transform: translateX(-50%) translateY(0); }
      .menu-mega .menu-item a {
        padding-top: 8px;
        padding-bottom: 8px; }
      .menu-mega-innr {
        display: flex; }
        .menu-mega-innr > div, .menu-mega-innr ul {
          flex-grow: 1; }
        .menu-mega-2clmn .menu-mega-innr > div, .menu-mega-2clmn .menu-mega-innr ul {
          width: 50%; }
        .menu-mega-3clmn .menu-mega-innr > div, .menu-mega-3clmn .menu-mega-innr ul {
          width: 33.33%; }
      .menu-mega-2clmn {
        min-width: 370px;
        max-width: 370px; }
      .menu-mega-3clmn {
        min-width: 460px;
        max-width: 460px; }
    .menu-btns {
      display: flex;
      margin-bottom: -10px;
      margin-left: 10px; }
  .has-sub > a {
    padding-right: 24px !important;
    position: relative; }
    .has-sub > a:after {
      right: 8px; }
  .has-sub.menu-item:last-child .menu-sub:not(.menu-mega) .menu-item > a {
    padding-right: 20px !important;
    padding-left: 35px; }
    .has-sub.menu-item:last-child .menu-sub:not(.menu-mega) .menu-item > a:after {
      transform: translateY(-50%) rotate(90deg);
      left: 15px;
      right: auto; }
  .has-sub.menu-item:last-child .menu-mega {
    left: auto;
    right: 0;
    transform: translateX(0) translateY(-8px); }
  .has-sub.menu-item:last-child:hover .menu-mega {
    transform: translateX(0) translateY(0); }
  .menu-sub .has-sub > a {
    padding-right: 35px; }
    .menu-sub .has-sub > a:after {
      transform: translateY(-50%) rotate(-90deg);
      right: 15px; } }

@media (min-width: 992px) {
  .is-transparent:not(.has-fixed) .menu > .menu-item > a {
    color: #fff; }
  .is-transparent:not(.has-fixed) .menu > .menu-item:hover > a {
    color: #16a3fe; } }

@media (min-width: 992px) and (max-width: 1199px) {
  .logo img {
    height: 32px; }
  .header-navbar-s1 .menu > .menu-item > a {
    padding: 10px 4px;
    font-size: 12px;
    font-weight: 500; }
  .menu-btns li {
    padding: 6px; }
  .menu-btns .btn {
    font-size: 13px;
    line-height: 10px;
    padding: 10px 15px;
    min-width: 0; }
    .menu-btns .btn.btn-grad {
      padding: 12px 15px; }
    .menu-btns .btn-md {
      font-size: 11px;
      line-height: 19px;
      padding: 8px 16px; }
      .menu-btns .btn-md.btn-grad {
        padding: 10px 16px; } }

@media (min-width: 1200px) {
  .menu > .menu-item > a {
    padding: 10px 18px; }
    .header-navbar-s1 .menu > .menu-item > a {
      padding: 10px 8.5px;
      font-size: 13px;
      font-weight: 500; }
  .menu-item.has-sub > a {
    padding-right: 34px !important; }
    .menu-item.has-sub > a:after {
      right: 18px; }
  .menu-sub a {
    padding: 10px 18px; } }

@media (max-width: 767.98px) {
  .header-navbar {
    position: fixed;
    display: none;
    top: -100vh !important;
    width: 100vw;
    height: 100vh;
    background-color: rgba(0, 0, 0, 0.85) !important;
    background-image: none !important;
    padding-left: 0 !important;
    padding: 4rem !important;
    z-index: 5000; }
    .header-navbar .menu-down-btn {
      display: block !important; }
  body.menu-down .header-navbar {
    top: 0 !important;
    display: block !important; } }

.input-bordered {
  width: 100%;
  border-radius: 5px;
  padding: 0.2rem;
  border: 2px solid #ddd;
  background-color: #FFF;
  color: #444; }

.input-label {
  color: #888; }

.input-line {
  width: 100%;
  border-top: none;
  border-left: none;
  border-right: none;
  border-bottom: solid 1px #ddd;
  padding: 0.2rem;
  color: #444; }
  .input-line:focus {
    outline: none;
    border-bottom: solid 1px #007bff; }

ul.d-flex {
  list-style: none;
  margin: 0;
  padding: 0; }
  ul.d-flex li {
    padding: 1rem; }

.btn-light {
  color: #2f3941;
  background: #f6f7f8;
  border: 1px solid #ced3d9;
  border-radius: 4px;
  transition: box-shadow 0.05s linear; }

.layout-container {
  display: flex;
  flex-direction: row; }

.layout-sidebar {
  flex-shrink: 0;
  overflow-x: hidden;
  width: 300px;
  height: auto;
  transition: width 0.4s ease-out; }
  .layout-sidebar.open {
    width: 0;
    height: 0;
    transition: width 0.4s ease-in; }

.layout-toolbar {
  display: flex;
  flex-direction: row;
  align-items: center;
  height: 64px;
  padding-left: 20px; }

.layout-content {
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%; }

@media (max-width: 767.98px) {
  .layout-sidebar {
    width: 0;
    height: 0;
    transition: width 0.4s ease-in, height 0.4s ease-in; }
    .layout-sidebar.open {
      width: 300px;
      height: auto;
      transition: width 0.4s ease-out, height 0.4s ease-out; } }

.search-box {
  border-radius: 12px;
  border: none;
  padding: 0.32rem;
  background: rgba(0, 0, 0, 0.35);
  width: 200px;
  color: #eee;
  transition: width 0.45s; }
  .search-box:focus {
    width: 100%;
    outline: none; }

.featherlight-content {
  min-width: 35%;
  max-width: 95%; }

/* Credits: mike foskett; */
/* https://codepen.io/2kool2/pen/LkaXay */
/* Modal opening link cosmetics */
.lnk_modal-open {
  font-size: larger;
  background-color: #000;
  padding: .25rem .5rem;
  display: inline-block;
  text-decoration: none;
  border: 0 solid;
  margin: 0 auto; }

.lnk_modal-img {
  padding: 0; }

.lnk_modal-open:active {
  -webkit-filter: brightness(85%);
  filter: brightness(85%); }

.img_modal-open {
  display: block;
  border: 0 solid; }

/* The modal section is added via JS */
.modal {
  max-width: 80vw;
  max-height: 90vh;
  background-color: #F7F0E8;
  margin: 0 auto;
  position: absolute;
  left: 10%;
  right: 10%;
  top: 5%;
  bottom: 5%;
  z-index: 10000;
  border: 1px solid #000;
  box-shadow: 0 .25em .5em #000;
  transition: opacity .5s ease-out, visibility 0s ease-out 1s, transform .5s ease-out .5s;
  backface-visibility: hidden;
  opacity: 0;
  visibility: hidden;
  transform: scale(0.8) translate3d(0, 0, 0);
  pointer-events: none; }

.modal[aria-hidden="false"] {
  position: fixed;
  transition-delay: 0s,0s, 0s;
  opacity: 1;
  visibility: visible;
  transform: scale(1) translate3d(0, 0, 0);
  pointer-events: auto; }

/* Light box properties */
.modal_lightbox {
  text-indent: -200em;
  background-color: rgba(0, 0, 0, 0.8);
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  /* places the modal overlay between the main page (0) and the modal dialog (10) */
  z-index: 5;
  cursor: pointer;
  transition: opacity .5s ease-out, visibility 0s ease-out .5s;
  opacity: 0;
  visibility: hidden;
  pointer-events: none; }

.modal_lightbox-on {
  transition-delay: 0s, 0s;
  opacity: 1;
  visibility: visible;
  pointer-events: auto; }

.modal_lightbox-on:hover {
  /* Stolen from trickle.js. Under consideration. SVGs will not work here */
  cursor: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAANpJREFUOBGNkz0KAjEQhYPYWXgCKws7LcXWyt7WG4i9jegBvIJ4AvEyXsRCsBDiN0sGkiE/O/A2O9n3viS7rPPeb9ETrVzPwrtHDzR1XF5I6oPWLQaeq5hDXQRw0I6xCuF5HH7Tz7oFuTkhrSyEhza8THaLoQhphpWUg/QOFyA/AFpy5nTbGrIjxvg4AiiGBzYc+rGZH9KPzFy+ZbX4bX9l+VDZr5NQMMbhbtvMxccpQ3JhpTchtXATQviItIpvW0CY7HHm8c9UDRd2chbABt3RQk2tEe8O3dDkD4JQ4iOR7BMpAAAAAElFTkSuQmCC"), pointer; }

/* Modal title and description */
.modal_title,
.modal_desc {
  position: absolute;
  top: 5px;
  left: -200em;
  background-color: #fff;
  color: #000;
  text-shadow: 0 0 0 #fff;
  font-size: 20px;
  padding: 0.125em .25em;
  /* Tesco requirement
  font-family: Tesco_W_Rg, sans-serif; */
  margin: 0; }

.modal_title:focus,
.modal_desc:focus {
  left: 5px; }

[aria-hidden="false"] .modal_title {
  transition: opacity .5s ease-out 3s;
  opacity: 0; }

.modal_title,
.modal_title:focus {
  opacity: 1;
  transition: opacity .5s ease-out; }

/* The iframe */
.modal_iframe {
  transition: opacity .5s ease-out, visibility 0s ease-out 1s;
  opacity: 0;
  visibility: hidden;
  pointer-events: none; }

.modal_iframe-on {
  transition: opacity .8s ease-out, visibility 0s ease-out 0s;
  opacity: 1;
  visibility: visible;
  pointer-events: auto; }

[aria-hidden="true"] .modal_iframe {
  display: none; }

[aria-hidden="false"] .modal_iframe {
  display: block; }

/* The modal pop-ups close button, appears last in the modal, but is moved visually to the top right of the pop-up */
.modal_lnk-close {
  cursor: pointer;
  position: absolute;
  top: -20px;
  right: -20px;
  border: 0 solid;
  border-radius: 50%;
  width: 40px;
  height: 40px;
  background-color: #eee;
  box-shadow: 0 0.25em 0.5em rgba(0, 0, 0, 0.25);
  overflow: hidden;
  transition: background-color .3s ease-out; }

.modal_lnk-close:hover,
.modal_lnk-close:active,
.modal_lnk-close:focus {
  background-color: #c00;
  outline: 0 solid; }

.svg-close {
  pointer-events: none;
  width: 40px;
  height: 40px;
  stroke: #fff;
  stroke-width: 2; }

/* Modal SVG (Tesco) loading animation version 2 (overlaid on itself and out of phase) */
[class*="svg-loading"] {
  position: absolute;
  width: 80px;
  height: 80px;
  top: calc(50% - 40px);
  left: calc(50% - 40px);
  z-index: -1;
  transition: opacity .3s ease-out;
  backface-visibility: hidden; }

.svg-loading {
  fill: #00539f;
  -webkit-animation: rotate 4s linear 0s infinite;
  animation: rotate 4s linear 0s infinite; }

.svg-loading2 {
  /* Match to .modal background colour for full effect */
  fill: #F7F0E8;
  display: none;
  -webkit-animation: rotate 5s linear 1s infinite;
  animation: rotate 5s linear 1s infinite; }

@-webkit-keyframes rotate {
  to {
    -webkit-transform: rotate(360deg) translate3d(0, 0, 0);
    transform: rotate(360deg) translate3d(0, 0, 0); } }

@keyframes rotate {
  to {
    -webkit-transform: rotate(360deg) translate3d(0, 0, 0);
    transform: rotate(360deg) translate3d(0, 0, 0); } }

/* While modal is open */
/* Class added to body tag to prevent scroll
   Note the body does not require class "-modal" */
body.-modal-open {
  overflow: hidden; }

/* Any tags classed with "-modal", when open, get "-modal-open" added */
/* Both of these are equivalent, best practice to use the attribute version which enforces accessibility */
.-modal[aria-hidden="true"] {
  -webkit-filter: blur(4px);
  filter: blur(4px); }

.-modal.-modal-open {
  -webkit-filter: blur(4px);
  filter: blur(4px); }

/* Generic helper style */
.u-margin2 {
  margin: 2rem 0; }

.panel {
  background-color: #fff;
  border: solid 1px #ccc;
  border-radius: 6px; }
  .panel .panel-header {
    padding: 4px;
    background-color: #ddd; }
    .panel .panel-header .panel-title {
      font-weight: 500;
      color: #444; }
  .panel .panel-body {
    padding: 4px; }

.ath-container {
  width: 440px;
  max-width: 100%;
  margin: 30px auto; }

.ath-header {
  padding: 0 0 30px; }

.ath-heading {
  text-align: center;
  font-weight: 300; }
  .ath-heading small {
    display: block;
    padding-bottom: 10px; }

.ath-body {
  background: #fff;
  border-radius: 6px;
  padding: 18px 25px 25px; }

.ath-note {
  padding: 25px 0 0; }

@media (min-width: 576px) {
  .ath-body {
    padding: 32px 40px 40px; } }

/*# sourceMappingURL=layouts.css.map */
