  body {
    line-height: 1.5em;
    -webkit-text-size-adjust: none;
    -moz-text-size-adjust: none;
    -ms-text-size-adjust: none;
    margin: 0;
    color: #4C4C4C;
    background: #FFFFFF;
    font-family: circe, sans-serif;
    font-weight: 400;
    font-style: normal;
    padding: 160px 0 0 0;
  }
  html, body {
    height: 100%;
    font-size: 12px;
  }
  
  a, p, ul, li, span, div {
      font-size: 1.4rem;
      line-height: 2rem;
  } 

  article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary{
    display: block;
  }

  h1 {
    font-weight: 700;
    font-size: 56px;
    font-size: 3.4rem;
    line-height: 1.25;
    color: #181818;
    padding: 0;
  }
   
  h2 {
    line-height: 1.4;
  }
  
  a {
    color: #925489;
    background-color: transparent;
    text-decoration: none;
  }

/*  
  JRS 23/8/24: 
  
  These styles break things!
  
  They were copied over from the existing TPI portal in order to reproduce the general styles of that site.
  However, they interfere with the base bootstrap styles and cause some odd behaviour, particularly with other libraries. 
  I don't *think* they are required so I've disabled them for now, but I'm leaving the definitions here to make debugging css issues easier.

  input, textarea, select {
    outline: 0;
    width: 100%;
    padding: 0 20px;
    box-sizing: border-box;
  } 
  
  input, textarea {
    border-radius: 0;
    background: rgba(217,217,217,0.2);
  }
  
  input {
    line-height: normal;
  } 
  
  button, input, optgroup, select, textarea {
    color: inherit;
    font: inherit;
    margin: 0;
  }
  
  button, html input[type="button"], input[type="reset"], input[type="submit"] {
    -webkit-appearance: button;
    cursor: pointer;
  } 
*/

  /* Text meant only for screen readers. */
  .screen-reader-text {
    border: 0;
    clip: rect(1px, 1px, 1px, 1px);
    clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
    word-wrap: normal !important;
  }

  .clearfix:before, .clearfix:after {
    content: "";
    display: table;
  }
  
  .lab-header {
    background-image: url(/static/sitecore/img/home-hero-bgrnd.png);
    background-repeat: no-repeat;
    background-position: right top;
    background-size: auto;
    position: relative;    
    background-color: #f7f5f6;
    padding: 30px;

    ul, li, ol {
      padding-left: 0;
      list-style: none;
    }
  }
   
  header.header {
    max-width: 1460px;
    margin: 0 auto;
    background: #FFF;
    border-radius: 10px;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    z-index: 2;
    padding: 20px 20px 0 20px;
  }
  
  .page-title-container {
    max-width: 1300px;
    margin: 40px auto 0 auto;
  }

  .pl-breadcrumbs-container {
    padding: 0 30px;
  }
  .pl-breadcrumbs {
    max-width: 1300px;
    margin: 12px auto 20px auto;
    border-bottom: 1px solid rgb(217, 217, 217);
    
    ol li a:hover {
      color: #EB5E5E;
    }
  }
    
  .centred-logo-container {
    width: 180px;
    margin: 0 auto;
  }

  .centred-logo-container .logo,
  header.header .logo {
    padding-bottom: 16px;
  }

  .centred-logo-container .logo img,
  header.header .logo img {
    height: 160px;
    width: auto;
  }

  header.header .header-right {
    float: right;
    width: auto;
    position: relative;
  }
  
  header.header .header-right__top .ukri {
    float: right;
    height: 45px;
  }
  
  header.header .header-right__top .ukri img {
    height: 100%;
    width: auto;
  }
  
  .search-form {
    float: right;
    width: 300px;
    height: 40px;
    margin: 5px 20px 0 0;
  }
  
  .search-form .searchfrm {
    z-index: 1;
    width: 100%;
    position: relative;
  }
  
  .search-form .searchfrm .search-field {
    width: calc(100% - 30px);
    height: 40px;
    background: #FFF;
    border: none;
    color: #4C4C4C;
    padding: 0 15px;
    font-size: 14px;
    font-size: 1.4rem;
    font-style: italic;
    border-radius: 4px;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    border: 1px solid #D9D9D9;
  }
  
  .search-form .searchfrm .search-submit {
    position: absolute;
    top: 0;
    right: 0;
    width: 40px;
    height: 40px;
    background: url(/static/sitecore/img/icon-search.svg) center center no-repeat;
    background-size: 20px;
    color: #FFF;
    border: none;
    font-size: 0px;
    font-size: 0rem;
    border-top-left-radius: 0;
    border-top-right-radius: 6px;
    border-bottom-right-radius: 6px;
    border-bottom-left-radius: 0;
    -webkit-border-top-left-radius: 0;
    -webkit-border-top-right-radius: 6px;
    -webkit-border-bottom-right-radius: 6px;
    -webkit-border-bottom-left-radius: 0;
    -moz-border-radius-topleft: 0;
    -moz-border-radius-topright: 6px;
    -moz-border-radius-bottomright: 6px;
    -moz-border-radius-bottomleft: 0;
  }
  
  input[type="search"] {
    -webkit-appearance: textfield;
    box-sizing: content-box;
  }
  
  header.header .header-right__top .member-login, header.header .header-right__top .partner-with-us{
    float: right;
    margin: 5px 0 0 0;
  }
  
  header.header .header-right__top .member-login ul, header.header .header-right__top .partner-with-us ul {
    margin: 0;
    padding: 0;
  }
  
  header.header .header-right__top .member-login ul li, header.header .header-right__top .partner-with-us ul li{
    float: left;
    margin: 0 20px 0 0;
    font-size: 12px;
  }
  
  header.header .header-right__top .member-login ul li a, header.header .header-right__top .partner-with-us ul li a{
    line-height: 40px;
    font-weight: 500;
    color: #4C4C4C;
    font-size: 12px;
    font-size: 1.2rem;
  }
  
  .contact-us {
    float: right;
    clear: left;
    margin: 15px 20px 0 0;
    display: flex;
    align-items: center;
  }
  
  .contact-us ul li {
    height: 50px;
    float: left;
    padding: 10px 0 0 0;
  }
  
  .contact-us ul li a {
    line-height: 40px;
    font-weight: 500;
    color: #697179;
    font-size: 14px;
    font-size: 1.4rem;
  }
  
  li.contact-us span img {
    background-image: url();
    width: 35px;
    height: 26px;
    content: "";
    background-repeat: no-repeat;
    margin: 10px 20px 0px 10px;
  }
  
  
  .main-navigation {
    float: right;
    clear: left;
    /* margin: 20px 20px 0 0; */
  }
  
  .main-navigation ul {
    margin: 0;
    padding: 0;
  }
  
  .main-navigation ul li {
    float: left;
    height: 50px;
    margin: 0 0 0 30px;
  }
  
  .main-navigation ul li a {
    display: block;
    height: 100%;
    line-height: 50px;
    color: #181818;
    font-size: 14px;
    font-size: 1.4rem;
    text-decoration: none;
    position: relative;
  }
  
  .main-navigation ul li.active a:after,
  .main-navigation ul li.ancestor a:after {
    content: "";
    width: 100%;
    height: 2px;
    background: #EB5E5E;
    position: absolute;
    bottom: 12px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transition: all .15s ease-out;
    -moz-transition: all .15s ease-out;
    -ms-transition: all .15s ease-out;
    -o-transition: all .15s ease-out;
    transition: all .15s ease-out;
  }
  
  .main-navigation ul li a:after {
    content: "";
    width: 0%;
    height: 2px;
    background: #EB5E5E;
    position: absolute;
    bottom: 12px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transition: all .15s ease-out;
    -moz-transition: all .15s ease-out;
    -ms-transition: all .15s ease-out;
    -o-transition: all .15s ease-out;
    transition: all .15s ease-out;
    box-sizing: border-box;
  }
  
  .main-navigation ul li a:hover:after {
    content: "";
    width: 100%;
    height: 2px;
    background: #EB5E5E;
    position: absolute;
    bottom: 12px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transition: all .15s ease-out;
    -moz-transition: all .15s ease-out;
    -ms-transition: all .15s ease-out;
    -o-transition: all .15s ease-out;
    transition: all .15s ease-out;
    box-sizing: border-box;
  }
  
  .page-header{
    position: absolute;
    top: 210px;
    left: 40px;
    margin-top: 10px;
  }
  
  .breadcrumb-navigation {
      background-color: #f9eff0;
      display: flex;
      align-items: center;
      height: 28px;
      color: #978c8c;
      border-top: 1px solid #f8cacc;
  }
  .breadcrumb li, .breadcrumb li a {
    font-size: 1.25rem;
    color: #444;
  }
  .breadcrumb-item + .breadcrumb-item::before {
    color: #eb5e5e;
  }
  
  
  
  /* Styles brought over from the main PL site */
  .about-partners {
    background:#F6F7F7;
    padding:80px 0;
    position:relative;
    z-index:4
  }
  .about-partners h2 {
    font-weight: bold;
    padding-bottom: 24px;
  }
  @media only screen and (max-width: 768px) {
    .about-partners {
      padding:40px 0
    }
  }
  .about-partners .partner-col {
    float:left;
    width:18.4%;
    vertical-align:top;
    margin:0 2% 2% 0
  }
  @media only screen and (max-width: 768px) {
    .about-partners .partner-col {
      width:48%;
      margin:0 0 2% 0
    }
  }
  .about-partners .partner-col:nth-child(5n+5) {
    margin:0 0 2% 0
  }
  @media only screen and (max-width: 768px) {
    .about-partners .partner-col:nth-child(2n+2) {
      float:right
    }
  }
  .about-partners .partner-col .partner-logo {
    border-radius:10px;
    -webkit-border-radius:10px;
    -moz-border-radius:10px;
    height:100px;
    background:#FFF;
    padding:15px 25px
  }
  @media only screen and (max-width: 568px) {
    .about-partners .partner-col .partner-logo {
      height:70px
    }
  }
  .about-partners .partner-col .partner-logo img {
    width:100%;
    height:100%;
    display:block;
    object-fit:contain;
    mix-blend-mode:multiply
  }
  .about-partners .partner-col:last-of-type .partner-logo {
    margin:0
  }
  .about-location {
    background:#F6F7F7;
    padding:60px 0 50px;
    position:relative;
    z-index:4
  }
  .about-location .address {
    padding:0 80px 0 0
  }
  @media only screen and (max-width: 568px) {
    .about-location .address {
      padding:0 0 50px
    }
  }
  .about-location .address h4 {
    margin:0
  }
  .about-location .address p:last-of-type {
    color:#181818
  }
  .about-location .address .address-link {
    font-size:16px;
    font-size:1.6rem;
    line-height:1.25
  }
  .about-location .address .address-link a {
    color:#181818;
    text-decoration:none;
    padding:0 20px 0 0;
    background-size:7px;
    text-transform:uppercase;
    font-weight:700
  }
  .about-location .address .address-link a:hover {
    color:#EB5E5E
  }
  .about-location iframe {
    width:100%;
    border-radius:20px;
    -webkit-border-radius:20px;
    -moz-border-radius:20px
  }
  
  footer {
    background:#FFF
  }
  footer .footer-nav {
    padding:50px 0
  }
  footer .footer-nav .container {
    position:relative
  }
  footer .footer-nav .container:before {
    content:"";
    position:absolute;
    top:-50px;
    left:50%;
    width:calc(100% - 30px);
    height:1px;
    background:#D9D9D9;
    transform:translateX(-50%)
  }
  footer .footer-nav img {
    margin:0 0 20px;
    height:75px !important;
    max-height:75px !important
  }
  footer .footer-nav p {
    font-size:1.1rem;
    line-height:22px
  }
  @media only screen and (max-width: 568px) {
    footer .footer-nav h4 {
      margin:0 0 10px
    }
  }
  @media only screen and (max-width: 568px) {
    footer .footer-nav .footer-links {
      margin:0 0 40px
    }
  }
  footer .footer-nav .footer-links ul {
    margin:0;
    padding:0;
    list-style: none;
  }
  footer .footer-nav .footer-links ul li a {
    font-size:1.1rem;
    line-height:22px;
    color:#4C4C4C;
    padding:5px 0;
    display:block;
    -webkit-transition:all .25s ease-out;
    -moz-transition:all .25s ease-out;
    -ms-transition:all .25s ease-out;
    -o-transition:all .25s ease-out;
    transition:all .25s ease-out
  }
  footer .footer-nav .footer-links ul li a:hover {
    color:#EB5E5E;
    text-decoration:none
  }
  footer .footer-end {
    padding:20px 0
  }
  footer .footer-end .container {
    position:relative
  }
  footer .footer-end .container:before {
    content:"";
    position:absolute;
    top:-20px;
    left:50%;
    width:calc(100% - 30px);
    height:1px;
    background:#D9D9D9;
    transform:translateX(-50%)
  }
  footer .footer-end nav ul {
    margin:0;
  }
  footer .footer-end nav ul li {
    display:inline-block;
    margin:0 25px 0 0;
  }
  footer .footer-end nav ul li:last-of-type {
    margin:0;
  }
  footer .footer-end nav ul li a {
    color:#666;
  }
  footer .footer-end ul.socials {
    margin:0;
    padding:0 2rem 0 0;
  }
  footer .footer-end ul.socials li {
    display:inline-block;
    margin:0 0 0 20px;
  }
  footer .footer-end ul.socials li a {
    color:#4C4C4C;
    font-size:30px;
    font-size:3rem;
    -webkit-transition:all .25s ease-out;
    -moz-transition:all .25s ease-out;
    -ms-transition:all .25s ease-out;
    -o-transition:all .25s ease-out;
    transition:all .25s ease-out;
  }
  footer .footer-end ul.socials li a:hover {
    color:#000;
  }
  .about-partners {
    clear: both;
  }
  
button.btn-plab {
  font-size: 1.6rem;
  border: 2px solid #EB5E5E;
  border-radius: 999em;
  padding: 10px 20px;
  background-color: white;

  i.fas {
    opacity: 70%;
    margin-left: 5px;
    font-size: 90%;
  }
}
button.btn-plab:hover {
  background-color: rgba(235, 94, 94, 0.3);
}

table.table {
  margin-bottom: 2rem;
}


.svg-icon {
    width: 0.9em;
    height: 0.9em;
    vertical-align: -0.125em;
}
