/*
  Theme Name:   Packed House (HTML5 Boilerplate v8.0.0)
  Theme URI:    https://html5boilerplate.com/
  Description:  Packed House Custom (HTML5 Boilerplate v8.0.0 Theme)
  Author:       Packed House
  Author URI:   https://packed.hosue
  Version:      1.0.0
  License: GNU General Public License v2 or later
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
  Text Domain:  HTML5 Boilerplate
  GitHub Theme URI: h5bp/main.css#readme
*/

/*! HTML5 Boilerplate v8.0.0 | MIT License | https://html5boilerplate.com/ */

/* main.css 3.0.0 | MIT License | https://github.com/h5bp/main.css#readme */
/*
 * What follows is the result of much research on cross-browser styling.
 * Credit left inline and big thanks to Nicolas Gallagher, Jonathan Neal,
 * Kroc Camen, and the H5BP dev community and team.
 */

/* ==========================================================================
   Base styles: opinionated defaults
   ========================================================================== */


html {
  color: #222;
  font-size: 1em;
  line-height: 1.4;
  scroll-behavior: smooth;
}

/*
 * Remove text-shadow in selection highlight:
 * https://twitter.com/miketaylr/status/12228805301
 *
 * Customize the background color to match your design.
 */

::-moz-selection {
  background: #b3d4fc;
  text-shadow: none;
}

::selection {
  background: #b3d4fc;
  text-shadow: none;
}

/*
 * A better looking default horizontal rule
 */

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0;
  padding: 0;
}

/*
 * Remove the gap between audio, canvas, iframes,
 * images, videos and the bottom of their containers:
 * https://github.com/h5bp/html5-boilerplate/issues/440
 */

audio,
canvas,
iframe,
img,
svg,
video {
  vertical-align: middle;
}

/*
 * Remove default fieldset styles.
 */

fieldset {
  border: 0;
  margin: 0;
  padding: 0;
}

/*
 * Allow only vertical resizing of textareas.
 */

textarea {
  resize: vertical;
}

/* ==========================================================================
   Author's custom styles
   ========================================================================== */

/* ==========================================================================
   Helper classes
   ========================================================================== */

/*
 * Hide visually and from screen readers
 */

.hidden,
[hidden] {
  display: none !important;
}

/*
 * Hide only visually, but have it available for screen readers:
 * https://snook.ca/archives/html_and_css/hiding-content-for-accessibility
 *
 * 1. For long content, line feeds are not interpreted as spaces and small width
 *    causes content to wrap 1 word per line:
 *    https://medium.com/@jessebeach/beware-smushed-off-screen-accessible-text-5952a4c2cbfe
 */

.visually-hidden {
  border: 0;
  clip: rect(0, 0, 0, 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  white-space: nowrap;
  width: 1px;
  /* 1 */
}

/*
 * Extends the .visually-hidden class to allow the element
 * to be focusable when navigated to via the keyboard:
 * https://www.drupal.org/node/897638
 */

.visually-hidden.focusable:active,
.visually-hidden.focusable:focus {
  clip: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  position: static;
  white-space: inherit;
  width: auto;
}

/*
 * Hide visually and from screen readers, but maintain layout
 */

.invisible {
  visibility: hidden;
}

/*
 * Clearfix: contain floats
 *
 * The use of `table` rather than `block` is only necessary if using
 * `::before` to contain the top-margins of child elements.
 */

.clearfix::before,
.clearfix::after {
  content: "";
  display: table;
}

.clearfix::after {
  clear: both;
}


/* ==========================================================================
   Print styles.
   Inlined to avoid the additional HTTP request:
   https://www.phpied.com/delay-loading-your-print-css/
   ========================================================================== */

@media print {
  *,
  *::before,
  *::after {
    background: #fff !important;
    color: #061412 !important;
    /* Black prints faster */
    box-shadow: none !important;
    text-shadow: none !important;
  }

  a,
  a:visited {
    text-decoration: underline;
  }

  a[href]::after {
    content: " (" attr(href) ")";
  }

  abbr[title]::after {
    content: " (" attr(title) ")";
  }

  /*
   * Don't show links that are fragment identifiers,
   * or use the `javascript:` pseudo protocol
   */
  a[href^="#"]::after,
  a[href^="javascript:"]::after {
    content: "";
  }

  pre {
    white-space: pre-wrap !important;
  }

  pre,
  blockquote {
    border: 1px solid #999;
    page-break-inside: avoid;
  }

  tr,
  img {
    page-break-inside: avoid;
  }

  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3;
  }

  h2,
  h3 {
    page-break-after: avoid;
  }
}



:root {
  --blue: #0089B4;

}

::selection {
  background: rgba(0,0,0,0.4);
}

#wpadminbar{
  display:none;
}
.grid{
  width: 1440px;
  position: fixed;
  opacity: 1;
  top: 0;
  right: 0;
  bottom: 0;
  left:0px;
  background: transparent url(/wp-content/themes/fitzwilliamclinic/img/grid.png) top left no-repeat;
  background-size: contain;
  background-repeat: repeat;
  z-index: 10;
  pointer-events: none;
  opacity: 0.4;
  display:none;
}

  script[src*='.test'] ~ .grid {
      display: block;
  }


img.lazyload:not([src]) {
  visibility: hidden;
}
/* fade image in after load */
.lazyload,
.lazyloading {
	opacity: 0;
}
.lazyloaded {
  transition: opacity 300ms;
	opacity: 1;
}


.btn.reveal{
    transition:0.8s opacity ease, 0.2s border-color ease-out, 0.2s background ease-out, 0.6s all ease-out;
}

.reveal{
  position: relative;
  transform: translateY(150px);
  opacity: 0;
  transition: 0.8s opacity ease, 0.6s all ease-out;

}

.reveal.up{
  transform: translateY(-150px) translateX(0);
  opacity: 0;

}

.reveal.left{
  transform: translateY(0) translateX(-100px);
  opacity: 0;

}
.reveal.right{
  transform: translateY(0) translateX(150px);
  opacity: 0;

}


.reveal.active{
  transform: translateY(0) translateX(0);
  opacity: 1;
}
.reveal.fade{
  transform: translateY(0);
  transition: 1.8s all ease;
}




html, body{
  margin:0 !important;
  padding:0;
}
body{
  background:#FBFBFB;
  color:#061412;
      -webkit-font-smoothing: antialiased;

  font-family: "Poppins", sans-serif;
  font-weight: 400;
  overscroll-behavior-y:none;
}
body.home:before{
  content:'';
  position:absolute;
  height:0;
  padding-bottom:calc(100% * 9/12);
  background: rgba(110,143,146,0.05);
  width:calc(100% * 9/12);
  border-radius:50%;
  top:calc(-100% * 2/12);
  left:calc(-100% * 2/12);
  z-index:-1;
}

body a{
  color:#9B1C3E;
  text-decoration:underline;

}
input{
  font-family: "Poppins", sans-serif;

}

h1,h2,h3,h4,h5,h6{
  font-weight: 600;
  font-style: normal;

  padding:0;
  margin:1em 0 0.5em;
}
h1 strong,h2 strong,h3 strong,h4 strong,h5 strong,h6 strong{
  font-weight:inherit;
}
h1 {
    font-size: 1.8em;
}
h2 {
    font-size: 1.5em;
}
h3 {
    font-size: 1.3em;
}
h4 {
    font-size: 1.1em;
}
p, ul, ol{
  font-size:18px;
  line-height:24px;
  margin:0 0 12px 0;
}
ul li, ol li {
  margin-bottom:6px;
}
.outer-container > .container ul,
.outer-container > .container ol{
  margin-left:20px;
  margin-bottom:28px;
  padding-left:0;
}
.outer-container > .container ul ul,
.outer-container > .container ol ul{
    margin:14px 15px;
}


.btn,
.wp-block-button__link,
.wpcf7 .wpcf7-submit{
  font-size:18px;
  line-height:18px;
  text-decoration:none;
  font-weight:600;
  padding:19px 20px 14px;
  display:inline-block;
  border:1px solid #9B1C3E;
  position:relative;
  min-width:160px;
  text-align:center;
  overflow:hidden;
  border-radius:3px;
  background:#9B1C3E;
  color:#fff;
  -webkit-appearance: none;
  transition:all 0.2s ease-out;
}
.btn:hover{
  background:#7C1632;
  border-color:#7C1632;
}
.btn.btn-secondary{
  background-color:#6E8F92;
  border-color:#6E8F92;
}
.btn.btn-secondary:hover{
  background-color:#587275;
  border-color:#587275;
}



.pill{
  background: rgba(155,28,62,0.1);
  color:#061412;
  border-radius: 3px;
  padding:10px;
  display:inline-block;
  font-size:14px;
  line-height:18px;
  text-decoration:none;
  transition:all 0.2s ease-in;
  -webkit-font-smoothing: antialiased;
}
a.pill:hover{
  background: rgba(155,28,62,0.3);

}




header.true{
  height: 120px;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  background:transparent;
  transition:background 0.4s ease-out;
  z-index: 4;
  align-items:center;
  background:transparent;
  display:flex;


}
header.true.fade-in{
  background:#FBFBFB;
  box-shadow:0 0 20px rgba(0,0,0,0.2);

}
header.true .header-container{
  max-width:1700px;
  margin:0 auto;
  display: flex;
  flex-direction:row;
  justify-content: flex-end;
  width: 100%;
  align-items:center;
}

header.true h1 {
  margin:10px 0 0 0;
  padding:0;
  flex-grow:2;
}
.logohead a{
  width:183px;
  height:59px;
  display:block;
  text-indent:-9999px;
  background-image:url('img/logos/fitzwilliam-clinic-logo.svg');
  background-position:center center;
  background-size:contain;
  background-repeat:no-repeat;

}


.menu-toggle{
  display:none;
}

header.true nav > ul{
  display:flex;
  flex-direction:row;
  flex-wrap:no-wrap;
  list-style-type:none;
  margin:0;
  padding:0;
}

header.true nav > ul > li{
  overflow:hidden;
  border-right:1px solid #4B4D51;
}
header.true nav > ul > li:last-child,
header.true nav > ul > li:nth-last-child(2)
{
  overflow:visible;
  border-right:0;
}
header.true nav > ul > li > a{
  color:#061412;
  font-size:21px;
  line-height:24px;
  font-weight:600;
  display:block;
  padding:12px 15px 8px;
  text-decoration:none;
  position:relative;


}

header.true nav > ul > li.current_page_item > a:after,
header.true nav > ul > li.current_page_parent > a:after{
  content:"";
  position:absolute;
  background: #9B1C3E;
  width: calc(100% - 30px);
  bottom: -5px;
  height: 3px;
  left: 15px;
  animation: werehere 0.2s ease-in forwards 1;
  animation-delay: 0.7s;

}
header.true nav > ul > li.current_page_item:last-child > a:after{
  display:none;

}


@keyframes werehere {
  0% {
    bottom:-5px;
  }
  100% {
    bottom: 0;
  }

}


header.true nav > ul li ul{
  position:absolute;
  background:#FBFBFB;
  top:100px;
  width:auto;
  opacity:0;
  visibility:hidden;
  -webkit-transition: opacity 300ms, visibility 300ms;
  transition: opacity 300ms, visibility 300ms;
  gap:0;
  margin:0 0 0 10px;
  list-style-type:none;
  padding:0;
  border-top:1px solid #061412;
  box-shadow:0 5px 5px rgba(0,0,0,0.2);

}
header.true nav > ul li:hover ul{
  opacity:1;
  visibility:visible;
}


header.true nav > ul li ul li{
  margin:0;
  padding:0;
}
header.true nav > ul li ul li:first-child a{
  padding-top:10px
}
header.true nav > ul li ul li:last-child a{
  padding-bottom:10px
}

header.true nav > ul li ul li a{
  color: #061412;
  padding: 5px 15px;
  text-decoration: none;
  display: flex;
  gap: 7px;
  font-size: 16px;
  text-transform: uppercase;
  font-weight: 500;
}
header.true nav > ul li ul li a:hover{
  text-decoration:underline;
}



header.true nav > ul li:hover ul{

}





.head{
  margin:0;
  padding:0 0 60px;
  display:flex;
  flex-direction:row;
  flex-wrap:wrap;
  position:relative;

  overflow:hidden;
  align-items:center;
  border-bottom:0;
  padding:0 0 30px;
  justify-content: space-between;

}
.home .head{
  padding:0 0 60px;
  border-bottom:2px solid #4B4D51;
}

.head .text{
  flex:0 0 calc(100% * 6 / 12 - 40px);
  padding-top:20px;

}
.page-template-page-procedures .head .text{
  flex:0 0 calc(100% * 9 / 12 - 40px);
}


.home .head{
  min-height:19vw; /* Experimental */
}



.head .text h2{
  font-weight:500;
  font-size: 14px;
  color: #4B4D51;
  line-height: 18px;
  margin:0;
}
.head .text h3,
.head .text h1{
  font-weight:600;
  font-size: 36px;
  color: #9B1C3E;
  line-height: 40px;
  margin:0;
  letter-spacing:-0.01em;

  font-size: 2.3vw;
  line-height: 1.15em;
}

.head .image{
  z-index:-1;
  /*background:#061412;
  margin-left:calc(-100% * 1/12);
  */
  flex:0 0 calc(100% * 6/12);

  position:relative;
  height:0;
  padding-bottom:calc(100% * 6/12 * 0.66);

}
.head .image img{
  position:absolute;
  width:100%;
  height:100%;
  object-fit:cover;
}



.team-building {
    display: flex;
    flex-direction: row;
    gap:15px;
    margin:60px 0;
    align-items:center;
}
.team-building.wrap{
  align-items:start;
  width:100%;
  margin:0 0 60px;
}
.container.wide + .team-building,
.container.full + .team-building
{
  border-top:2px solid #4B4D51;
  padding-top:60px;
  margin-top:0;
}

.team-building .title {
    flex:0 0 calc(25% - 10px);
    text-align:right;
    padding-right:10px;
    box-sizing:border-box;


}
.team-building .title h4 {
  font-size: 36px;
  line-height: 36px;
  font-weight:600;
  margin:0;
}
.team-building .title h1 {
  font-size:2.4em;
  line-height:1em;
}
.team-building .title h4 a{
  text-decoration:none;
  color: #9B1C3E;

}
.team-building .title p{
  margin:12px 0;
  font-size: 18px;
  line-height: 21px;
}
.team-building .consultants {
    flex:0 0 calc(75% - 5px);
    gap:15px;
    display: flex;
    flex-wrap: nowrap;
    overflow: auto;
    padding-bottom:20px;

}
.team-building.wrap .consultants{
  flex-wrap:wrap;
  flex:0 0 100%;

}
.single-procedure .team-building {
  align-items:flex-start;
}
.single-procedure .team-building .title{
  padding-top:9%;
}
.single-procedure .team-building .consultants{
  flex-wrap:wrap;
}

.team-building .consultants .consultant{
    flex: 0 0 calc((100% / 3) - 10px);
    /* overflow: hidden; */
    text-decoration:none;
    text-align:center;
    box-sizing:border-box;
    color:#061412;
  border: 1px solid rgba(75,77,81,0.2);
  border: 1px solid rgba(75,77,81,0.1);
  box-shadow: 0 0 10px 0 rgba(0,0,0,0.04);
  transition:all 0.1s ease-in;
  position:relative;
  padding-bottom:20px;
  overflow:hidden;
}
.team-building .consultants .consultant:after{
  content:"Read More";
  color:#9B1C3E;
  font-size:14px;
  line-height:14px;
  font-weight:500;
  letter-spacing:0.01em;
  position:absolute;
    bottom:15px;
  left:50%;
  transform:translateX(-50%) translateY(100%);
  opacity:0;
  transition:all 0.2s ease-in;
}

.team-building .consultants .consultant:hover {
        background:rgba(110,143,146,0.12);
}
.team-building .consultants .consultant:hover:after {
  transform:translateX(-50%) translateY(0);
  opacity:1;
}

.team-building.wrap .consultants .consultant{
  flex:0 0 calc((100% / 4) - 11.5px);
}

.team-building .consultants .consultant picture{
  width:70%;
  margin:7.5% 15%;
  border-radius:50%;
  overflow:hidden;
  height:0;
  padding-bottom:70%;
  position:relative;
  display:block;
  background:#4B4D51;
  transition:all 0.3s ease-in;

}
.team-building .consultants .consultant:hover picture{
        transform:scale(1.02);

}

.team-building .consultants .consultant img{
    width:100%;
    height:100%;
    object-fit:cover;
    position:absolute;
    top:0;
    left:0;
}
.team-building .consultants .consultant h5{

font-size: 21px;
line-height:24px;
font-weight:600;
letter-spacing: -0.01em;
margin:0 15px 12px;
}
.team-building .consultants .consultant h5 .postnominal{
  font-size:18px;
  font-weight:400;
  display:block;
}
.team-building .consultants .consultant p{
  font-size: 14px;
  line-height: 18px;
  border-top:1px solid rgba(75,77,81,0.4);
  margin:0 7.5% 7.5%;
  padding:12px 5px 0;
}





.associated-procedures {
    display: flex;
    flex-direction: column;
    align-items:flex-start;
    gap:25px;
    margin:60px 0;
    width: 100%;
}
.associated-procedures.wrap{
  align-items:start;
}
.container.wide + .associated-procedures{
  border-top:2px solid #4B4D51;
  padding-top:60px;
  margin-top:0;
}

.associated-procedures h3{
  font-size: 2.25em;
  line-height: 1em;
  font-weight: 600;
  letter-spacing: -0.01em;
  margin: 0;
  color: #9B1C3E;

}
.associated-procedures .areas {
    flex: 0 0 100%;
    gap:15px;
    display: flex;
    flex-wrap: nowrap;
    overflow: auto;
    padding-bottom:20px;
    width: 100%;
    flex-wrap:wrap;
}
.associated-procedures.wrap .areas{
  flex-wrap:wrap;
}

.associated-procedures .areas .area{
    flex: 0 0 calc(50% - 7.5px);
    text-decoration:none;
    text-align: left;
    box-sizing:border-box;
    color:#061412;
    border: 1px solid rgba(75,77,81,0.1);
    box-shadow: 0 0 10px 0 rgba(0,0,0,0.04);
    transition:all 0.1s ease-in;
    position:relative;

    display:flex;
    flex-direction:row;
}

.associated-procedures .areas .area .text {
  padding:20px;
}
.associated-procedures .areas .area .image{
  flex:0 0 calc(20% - 14px);
}

.associated-procedures .areas .area picture,
.parent-procedure .area picture{
  width:100%;
  overflow:hidden;
  height:0;
  padding-bottom:36%;
  position:relative;
  display:block;
  background:#4B4D51;

  height:100%;
  padding:0;
}
.area img{
    width:100%;
    height:100%;
    object-fit:cover;
    position:absolute;
    top:0;
    left:0;
}
.associated-procedures .areas .area h4{
  font-size: 24px;
  line-height: 24px;
  color:#061412;
  font-weight: 600;
  letter-spacing: -0.01em;
  margin: 0;

}
.associated-procedures .areas .area h5.pill{
  font-size: 14px;
  line-height: 14px;
  font-weight: 600;
  letter-spacing: -0.01em;
  margin: 9px 6px 0 0;
  background:rgba(155,28,62,0.05);
  font-weight:500;
  padding:0;

}
.associated-procedures .areas .area h5.pill:hover{
  background:rgba(155,28,62,0.10);

}
.associated-procedures .areas .area h5.pill a{
  text-decoration:none;
  padding:10px;
  display:block;
}
.parent-procedure .associated-procedures .areas .area h4{
  font-size: 21px;
  line-height: 24px;
  color:#061412;
  font-weight: 600;
  letter-spacing: -0.01em;
  margin: 20px 15px 0px;
  color: #9B1C3E;

}

.parent-procedure .area h4{
    font-size: 1.5em;
    line-height: 1em;
    font-weight: 600;
    letter-spacing: -0.01em;
    margin: 20px 15px 0px;
    color: #9B1C3E;
}
.associated-procedures .areas .area p,
.parent-procedure .area p{
  font-size: 16px;
  line-height: 21px;
  margin: 0;
  padding: 6px 15px 0;
}
.associated-procedures .areas .area .btn{

  float:right;
  margin:15px;
}


.page-template-page-procedures .head{
  z-index:3;
}

.parent-procedure {
    display: flex;
    flex-direction: row;
    gap:0 15px;
    margin:0 0 80px;
    align-items:start;
    flex-wrap:wrap;
}

.parent-procedure .title{
  flex:0 0 100%;
  border-bottom:1px solid #4B4D51;

}
.parent-procedure .title h3{
  font-weight: 600;
  font-size: 30px;
  line-height: 36px;
  margin: 0 0 5px 0;
  letter-spacing: -0.01em;
}
.parent-procedure .associated-procedures{
  margin-top:15px;
  flex:1 0 calc(66%);
}
.parent-procedure > .area {
    flex:0 0 calc(25% - 10px);
    flex:0 0 calc(33% - 7.5px);

    box-sizing:border-box;
    order:2;
    margin-top:15px


}
.parent-procedure .associated-procedures .areas .area{
  flex:0 0 calc((100% / 3) - 10px);
  flex:0 0 calc((100% / 2) - 8px);

  padding-bottom:40px;
  display:unset;
}

.parent-procedure .area picture{
  padding-bottom:100%;
}
.parent-procedure .area h4{
  font-size:1.88em;
  margin: 20px 0 0px;
}
.parent-procedure > .area p{
  padding: 6px 0 0;
  font-size:16px;
  line-height:21px;
}
.parent-procedure .associated-procedures .area p{
  font-size:14px;
  line-height:18px;
  margin-top:2px;

  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 5; /* number of lines to show */
  line-clamp: 5;
  -webkit-box-orient: vertical;


}

.parent-procedure .associated-procedures .area .read-more{
  color:#9B1C3E;
  font-size:14px;
  line-height:14px;
  font-weight:500;
  letter-spacing:0.01em;
  position:absolute;
    bottom:15px;
  left:50%;
  transform:translateX(-50%) translateY(100%);
  opacity:0;
  transition:all 0.2s ease-in;
}

.parent-procedure .associated-procedures .area:hover {
        background:rgba(110,143,146,0.12);
}
.parent-procedure .associated-procedures .area:hover .read-more {
  transform:translateX(-50%) translateY(0);
  opacity:1;
}




.videos{
  display:flex;
  gap:15px;
  width:100%;
  overflow:auto;
  padding-bottom:20px;
}
.videos > div{
  flex:0 0 40%;
}
.videos .wp-block-group.video-embed .bb_iawr + .wp-block-group{
  width:100%;
}


/* width */
div::-webkit-scrollbar {
  height: 10px;
}

/* Track */
div::-webkit-scrollbar-track {
  background: #f1f1f1;
  border-radius:20px;
  width:10px;

}

/* Handle */
div::-webkit-scrollbar-thumb {
  background: #6E8F92;
  border-radius:20px;

}

/* Handle on hover */
div::-webkit-scrollbar-thumb:hover {
  background: #587275;
}




.outer-container{
  margin:0 40px;
  border-width:0 1px;
  max-width:1700px;
  margin:0 auto;
}

.container{
  margin:0;
  padding:0;

}
.container.tight{
  margin:2% auto;
}
.outer-container > .container{
  display:flow-root;
}
.outer-container > .container.wide{
    margin:0;
    /*overflow:hidden;*/
}

.outer-container > .container.wide[id^='post-'],
.outer-container > .container.wide[id^='post-'] + .container.wide{
  padding:0 calc(100% * 1 / 12) 80px;
  overflow:visible;
}

.outer-container > .container.full[id^='post-']{
  margin:0;
}
header.true + .outer-container{
  margin-top:150px;
  /*min-height:calc(100vh - 710px);*/
}

.generic-text{
  border-bottom: 1px solid #061412;
  margin: 50px 0 30px calc(100% * 1 / 12);
  background:#FBFBFB;
  z-index: 1;
  position: relative;
}

.generic-text h1{
  letter-spacing: -0.02em;
  font-size: 72px;
  line-height: 72px;
  font-weight: 600;
  margin: 10px 0 20px;
}
.generic-text h1 .expanse{
}

.generic-text p.byline{
  font-size: 24px;
  line-height: 30px;

/*  font-size: 30px;
  line-height: 30px;
*/
  margin:0;
  padding-bottom:12px;

}


.wpcf7{

}
.wpcf7 input,
.wpcf7 select,
.wpcf7 textarea{
    font-family:"Poppins", sans-serif;
    background:transparent;
    padding:15px;
    font-size:18px;
    line-height:18px;
    border:1px solid rgba(251,251,251,0.5);
    border-radius:2px;
    color:#fff;
    display:block;
    width:100%;
    margin:0 0 20px 0;
    box-sizing:border-box;
}
.wpcf7 input{
    padding:10px 15px;
}

.wpcf7 select{
  appearance: none;
  background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right 1rem center;
  background-size: 1em;
  font-size:14px;

}
.wpcf7 select option{
  color:#000;
}
.wpcf7 input::placeholder,
.wpcf7 textarea::placeholder {
  letter-spacing:0.03em;
  font-size:14px;
  color:#fff;
  opacity:0.8;
}



.wpcf7 br{
  display:none;

}
.wpcf7 label{
  display:none;
}
.wpcf7 label.needed{
  display:block;
  font-size: 14px;

}
.wpcf7 .wpcf7-not-valid-tip{
  font-size: 14px;
  margin-top:-18px;
  color:pink;
}
.wpcf7 .wpcf7-submit{
  width:50%;
  box-sizing:content-box;
  float:right;
}
.wpcf7 form.invalid .wpcf7-response-output{
  border-color:pink;
  padding: 20px;
  margin: 0;
}

.full-bleed-panel{
  display:flex;
  border-bottom:2px solid #061412;
  padding:60px 0;
  gap:15px;
  flex-direction:row;
}
.full-bleed-panel > .image{
  background:#061412;
  flex:0 0 calc(100% * 6/12 - 7.5px);
  position:relative;

}
.full-bleed-panel > .image img{
  position:absolute;
  width:100%;
  height:100%;
  object-fit:cover;
}

.full-bleed-panel > .text{
  flex:0 0 calc(100% * 5/12 - 7.5px);
   font-size:24px;
   line-height:28px;
   padding-bottom:5vw;
   padding:0 15px 5vw;

}
.full-bleed-panel > .text h3,
.full-bleed-panel > .text h2 {
  font-weight: 600;
  font-size: 36px;
  line-height: 40px;
  color: #9B1C3E;
  margin:0.5em 0 0.1em;
}


/*
.full-bleed-panel > .text a.btn{
  margin:20px 0;
}
*/

.full-bleed-panel > .text h3 a,
.full-bleed-panel > .text h2 a{
  text-decoration:none;

}
.full-bleed-panel > .text p{
  margin:0;

}
.full-bleed-panel.left{
  flex-direction:row-reverse;
  border-top:2px solid #061412;
  border-bottom:0;
}
.full-bleed-panel.left > .image{
  flex:0 0 calc(100% * 6/12 - 7.5px);

}

.full-bleed-panel.left > .text{
  display: flex;
  flex-direction: column;
  align-items: start;
  flex: 0 0 calc(100%* 6 / 12 - 7.5px);
  padding: 0 0 5vw;

}

.the-process{
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  flex: 0 0 calc(100%* 7 / 6 - 7.5px);
  margin:30px calc(-100%* 1 / 6) 0 0;
  z-index: 2;
  align-items:flex-start;
}

.process-steps{
  display:flex;
  flex-direction:column;
  gap:15px;
  flex: 0 0 51%;
}

.process-steps .step{
  border: 1px solid rgba(75,77,81,0.2);
  box-shadow: 0 0 10px 0 rgba(0,0,0,0.04);
  padding:10px 20px 10px 10px;
  display:flex;
  gap:15px;
  border-radius:3px;


}
.process-steps .step .image{
  background: #6E8F92;
  display: inline-block;
  width: 72px;
  height: 72px;
  display: flex;
  border-radius:3px;
}
.process-steps .step .image img{
  flex: 0 0 40%;
  width: auto;
  height: auto;
  margin: 30%;
}
.process-steps .step .text{
  margin-bottom:5px;
}
.process-steps .step .text h4{
  font-size: 16px;
  color: #9B1C3E;
  line-height: 16px;
  margin:0.6em 0 0.4em;

}
.process-steps .step .text p{
  font-size:14px;
  line-height:16px;
  margin-right:10%;
}

.process-outcome{
  flex: 0 0 calc(100%* 3 / 7 - 10px);
  border: 1px solid rgba(75, 77, 81, 0.2);
  box-shadow: 0 0 10px 0 rgba(0,0,0,0.04);
  background: #FBFBFB;
  border-radius: 3px;
  padding: 3%;
  box-sizing: border-box;
}
.process-outcome p{
  font-size:14px;
  line-height:20px;

}




.page h1.entry-title,
.page h2.entry-title{
  font-size: 5em;
  line-height: 0.9em;
  padding:1em 0 0.3em;
  margin:0;
  font-weight:700;

}


.page .image.featured{
  float:left;
  background:#2d2d2d;
  width:calc((100% * 5 / 12) + 9px);
  position:relative;
  height:0;
  padding-bottom:calc((100% * 5 / 12) + 9px);
  margin-bottom:40px;
  margin:0 60px 0 0;
}
.page .outer-container > .container.wide[id^='post-'] .image.featured{
  margin-left: calc(-100% * 1 / 10 + -11px);
  width: calc((100% * 5 / 10) + 19px);
  padding-bottom: calc((100% * 5 / 10) + 19px);
  margin-right:0;
}


/*pretty cool but pretty weird.
.container.wide > .image.featured ~ *:not(div.wp-block-media-text):not(div.wp-block-columns) {
    padding-left:calc(100% * 11 / 24 + 15px);
    padding-right:calc(100% * 2 / 24);
}
*/
.page .image.featured img{
  position:absolute;
  width:100%;
  height:100%;
  object-fit:cover;


}

.container.wide > .image.featured ~ .wp-block-buttons{
  display:block;

}
.outer-container > .container:not(.wide) .wp-block-gallery{

  margin:60px calc(-100% * 1 / 8);
}

.outer-container > .container:not(.wide) h2 + .wp-block-gallery{
  margin-top:0;
}

.page .outer-container > .container.wide[id^='post-'] .wp-block-gallery{
  clear:both;
  padding:0;
  padding:40px 0;
}


.outer-container > .container .wp-block-gallery.has-nested-images.columns-default figure.wp-block-image:not(#individual-image){
  height:0;
  padding-bottom:calc(33.33% - var(--wp--style--unstable-gallery-gap, 16px)*.66667);
}
.outer-container > .container .wp-block-gallery.has-nested-images.columns-default figure.wp-block-image:not(#individual-image) img{
  position:absolute;
  top:0;
  left:0;
}
.outer-container > .container .wp-block-gallery .wp-block-image a{
  position:absolute;
  top:0;
  right:0;
  bottom:0;
  left:0;
}

.wp-block-media-text{
  clear:both;
  padding:40px 0;
  border-top:1px solid #061412;
  grid-template-columns: calc((100% * 7/12) - 11px) 1fr;

}

.wp-block-media-text.is-image-fill{
  padding:0;
}
.wp-block-media-text.is-image-fill .wp-block-media-text__media{
  height:100%;
  padding:0;
  background-image:none !important;
}
.wp-block-media-text.is-image-fill .wp-block-media-text__media img{
  width: 100%;
  height: 100%;
  clip: unset;
  margin: 0;
  object-fit: cover;

}
.wp-block-media-text.is-image-fill .wp-block-media-text__content{
  padding:10%;
}
.page .outer-container > .container.wide[id^='post-'] .wp-block-media-text{
  margin:0 calc(-100% * 1 / 10 - 11px);
}
.page .outer-container > .container.wide[id^='post-'] p + .wp-block-media-text,
.page .outer-container > .container.wide[id^='post-'] ul + .wp-block-media-text,
.page .outer-container > .container.wide[id^='post-'] .wp-block-buttons + .wp-block-media-text{
  margin-top:60px;
}

.wp-block-media-text.dark-media{
  background:#061412;
  color:#fff;
}
.wp-block-media-text.dark-media .btn,
.wp-block-media-text.dark-media .wp-block-button__link{
  border-color:#fff;
  color:#fff;
  background:transparent;
}
.wp-block-media-text.dark-media .btn:before,
.wp-block-media-text.dark-media .btn:after,
.wp-block-media-text.dark-media .wp-block-button__link:before,
.wp-block-media-text.dark-media .wp-block-button__link:after{
  border-color:rgba(255,255,255,0.4);
}

.wp-block-media-text.has-media-on-the-right{
  grid-template-columns: 1fr calc((100% * 7/12) - 11px);

}


.wp-block-media-text.has-media-on-the-right{
  grid-template-columns: 1fr calc((100% * 7/12) - 11px);

}
.wp-block-media-text__media{
  height:0;
  padding-bottom: 67%;
  overflow:hidden;
  position:relative;
}
.wp-block-media-text__media img{
  position:absolute;
  width:100%;
  height:100%;
  object-fit:cover;
}
.wp-block-media-text__content h2{
  font-size: 5.5em;
  line-height: 0.9em;
  margin:0 0 0.3em;
}











.text-left{
  border:5px solid rgba(var(--blue-rgb),0.2);
  border-width:5px 0;
  margin:0 0 2%;
  position:relative;
  padding:0 0 5% 0;
  overflow:hidden;
}

.text-left .container .text{

  width:calc(70% - 10px);
}
.text-left .container .text h4{
  font-size:36px;
  line-height:36px;
  font-weight:700;
  margin:0 0 28px;
}
.text-left .image{
  position:absolute;
  right:0;
  top:0;
  width:25%;
  height:100%;

}
.text-left .image img{
  width:100%;
  height:100%;
  object-fit: cover;
}

.text-block-list-item{
  border: 1px solid rgba(255,255,255,0.3);
  border-width: 1px 0;
  position:relative;
  overflow:hidden;
}
.text-block-list-item + .text-block-list-item{
  border-top:0;
  margin-bottom:-1px;
}
.text-block-list-item .container{
  margin:4% 0 5%;
  min-height: 20vw;
  align-items: center;
  display: flex;
}
.text-block-list-item .container .text{
  width:100%;
}
.text-block-list-item .container .text h4{
  font-size:36px;
  line-height:36px;
  font-weight:700;
  margin:0 0 28px;
}
.text-block-list-item .container .text h2{
  font-size:48px;
  line-height:48px;
  font-weight:700;
  margin:0 0 28px;
}

.text-block-list-item .image{
  position:absolute;
  right:0;
  top:0;
  width: calc(50% - 10px);
  height:100%;

  max-height:60vh;
}
.text-block-list-item .image figure,
.text-block-list-item .image figure picture{
  position:absolute;
  top:0;
  right:0;
  bottom:0;
  left:0;
}
.text-block-list-item .image img{
  width:100%;
  height:100%;
  object-fit: cover;
}



footer.site-footer{
  font-size:16px;
  line-height:24px;
  position:relative;
  background:transparent;
  border-top:2px solid #4B4D51;
}
footer.site-footer .container{
  display:flex;
  flex-direction:row;
  margin:0 auto;
  max-width:1700px;
}
footer.site-footer .text .id{
  flex: 0 0 calc(100% * 6 / 12 - 12px);
  margin-right:15px;
  display:flex;
  flex-direction:row;
  gap:15px;
  justify-content: space-between;
}

footer.site-footer .text .address{
  flex: 0 0 calc(100% * 6 / 12 - 12px);
  margin-right:15px;
}

footer.site-footer .logohead{
  margin:0;
  padding:0;
}
footer.site-footer .logohead a{
  width:183px;
  height:59px;
}

footer.site-footer .text .address > p{
  margin:0 0 12px;
  display:block;
}
footer.site-footer .text .address > p a{
  color:#061412;
  text-decoration:none;
}
footer.site-footer .text .address > p a:hover{
  color:#9B1C3E;
}


footer.site-footer .text .footer-nav{
  flex: 0 0 calc(100% * 2 / 12 - 13px);
  margin-right:15px;

}
footer.site-footer .text .footer-nav h5{
  font-size:30px;
  line-height:30px;
  margin:30px 0 12px 0;
  padding:0;
  font-weight:700;
}
footer.site-footer .text .footer-nav h5 a{
  text-decoration:none;
}
footer.site-footer .text .footer-nav h5 a:hover{
  text-decoration:underline;
}
footer.site-footer .text .footer-nav ul{
  list-style-type:none;
  margin:0;
  padding:0;
}
footer.site-footer .text .footer-nav ul ul{
  padding-left:20px;
}
footer.site-footer .text .footer-nav ul a{
  font-size:16px;
  line-height:16px;
  text-decoration:none;
  display:block;
  padding:6px 10px 6px 0;
  font-weight:600;
  color:#061412;
}
footer.site-footer .text .footer-nav ul a:hover{
  text-decoration:underline;
}

footer.site-footer .text .footer-nav ul a[href^="mailto:"]
{
  text-transform:lowercase;
  white-space: nowrap;
}


footer.site-footer .text .footer-nav ul.social{
	margin:0;
	padding:0;
	display:flex;
	list-style-type:none;
  flex-wrap:wrap;
}
footer.site-footer .text .footer-nav ul.social li{
	margin:0 5px 0 0;
	padding:0;

}
footer.site-footer .text .footer-nav ul.social li a{
  width: 30px;
  height: 30px;
  text-indent: -999px;
  display: block;
  overflow: hidden;
  background-size: 30px;
  background-repeat: no-repeat;
  background-position: center center;
}
footer.site-footer .text .footer-nav ul.social li.facebook a{
	 background-image:url('/wp-content/themes/fitzwilliamclinic/img/facebook-f.svg');
   background-size: 17px;

}
footer.site-footer .text .footer-nav ul.social li.tiktok a{
	 background-image:url('/wp-content/themes/fitzwilliamclinic/img/tiktok.svg')
}
footer.site-footer .text .footer-nav ul.social li.instagram a{
	 background-image:url('/wp-content/themes/fitzwilliamclinic/img/black-instagram-icon.svg');
}
footer.site-footer .text .footer-nav ul.social li.linkedin a{
	 background-image:url('/wp-content/themes/fitzwilliamclinic/img/linkedin-in.svg');
   background-size: 27px;

}

footer.site-footer .footer-logos{
  flex: 0 0 33%;
  align-items: baseline;
  gap: 28px 10%;
  align-self: flex-start;
  display: flex;
  flex-wrap: wrap;
  justify-content:center;

}

footer.site-footer .footer-logos a {
    flex: 0 0 31%;
    display: block;
}
footer.site-footer .footer-logos a img{
    width:80%;
}
footer.site-footer .footer-logos a:nth-child(1) img{
  width:70%;
}
footer.site-footer .footer-logos a:nth-child(2) img{
  width:100%;
}
footer.site-footer .footer-logos a:nth-child(3) img{
  width:90%;
}
footer.site-footer .footer-logos a:nth-child(4) img{
  width:60%;
}


footer.site-footer .text{
  flex:0 0 100%;
  display:flex;
  padding:40px 0;
}






.container.split {
  display: grid;
  grid-template-columns: calc(50% - 7.5px) calc(50% - 7.5px);
  grid-template-rows:[row1-start] 1fr [row1-end row2-start] 100% [row2-end];
  grid-template-areas: " a b "
                       " a d "
                       " e ." ;
  grid-gap:0 15px;
  align-items:flex-start;
  overflow:visible;
}
.container.split .text-content{

    grid-area:a;
    padding-right:10%;
}
.container.split .text-content .header{
  padding:36px 0 24px;
  margin:24px 0;
  position:relative;
}
.container.split.procedure .text-content .header{

  padding:36px 0 12px;
  margin:24px 0 0;
}
.container.split .text-content .header:before{
  content:" ";
  background:#f4f4f4;
  position:absolute;
  z-index:-1;
  left:-200%;
  right:-50%;
  top:0;
  bottom:0;
}
/*
.container.split.procedure .text-content .header + .wp-block-table{
  margin-top:-24px;
}
*/

.container.split .text-content .header h1{

  font-size: 36px;
  line-height:48px;
  font-weight:600;
  letter-spacing: -0.01em;
  margin:0 0 6px;
  color:#9B1C3E;
}
.container.split .text-content .header h1 .postnominal{
  font-size:18px;
  line-height:18px;
  font-weight:400;
  display:block;
  color:#061412;
  padding-bottom:6px;
}


.container.split .image{
    grid-area:b;
    position:relative;
    z-index:1;
}
.container.split .image.map{
  height:0;
  padding-bottom:100%;
  background-color:#f4f4f4;

}
.container.split .image picture{
  display:block;
  position:relative;
  height:0;
  padding-bottom:100%;
  width:100%;
  background-color:#f4f4f4;
  background-color:#4B4D51;


}
.container.split .image picture + picture{
  margin-top:15px;
  display:block;
  width:100%;
  height:auto;
  padding:0;
}
.container.split .image picture + picture img{
  position:relative;
  width:100%;
  height:auto;
  object-fit:unset;
}


.container.split .image img{
    width:100%;
    height:100%;
    position:absolute;
    object-fit: cover;
}

.container.split .contact-specific {
    grid-area:d;
    background:#4B4D51;
    color:#fff;
    padding:0 30px 24px;
}

.container.split .contact-specific h2{
  font-size:30px;
  line-height:30px;
  margin:48px 0 0;
  padding-right: 20%;
}
.container.split.procedure .contact-specific h2{
  padding-right:0;
}
.container.split .contact-specific h2 + p{
  font-size:16px;
  line-height:21px;
  margin-bottom:24px;
  margin-top:6px;
  padding-right: 20%;

}
.container.split.procedure .contact-specific h2 + p{
  padding:0;

}

.container.split .associated-procedures{
  grid-area: e;
  grid-column: 1 / 3;
  grid-row: 3;
}


.outer-container > .container ul.procedure-breadcrumb {
    margin: 0;
    padding: 0;
    /* display: inline; */
    font-weight:600;
    padding: 18px 0;
    position:relative;
    font-size: 16px;
    line-height: 16px;
}
.outer-container > .container ul.procedure-breadcrumb:before {
    content: " ";
    background: rgba(162,187,178,0.05);
    top:0;
    bottom:0;
    left:-100%;
    right:-100%;
    position: absolute;
    z-index: -1;
    border-bottom: 2px solid #A2BBB2;
}

.outer-container > .container ul.procedure-breadcrumb li{
    display:inline;
}
.outer-container > .container ul.procedure-breadcrumb li a{
    text-decoration:none;
    color:#061412;
}


.outer-container > .container.wide.consultant.procedure[id^='post-']{
  padding:0 0 80px;
}
.container.split.procedure .text-content{
  padding-right: calc(100%* 1 / 12);
  padding-left: calc(100%* 2 / 12 + 1px);
  padding-left: calc(100%* 1 / 12 + 1px);
  margin-bottom:40px;

}
.container.split.procedure .image{
  width:calc(100% + 40px);
  /*padding-bottom:calc(100% + 40px);*/
}
.container.split.procedure .contact-specific{
  padding:0 calc(30px + 100% * 3 / 12) 24px 30px;
  width:calc(100% + 40px);
  box-sizing: border-box;
  margin-bottom:40px;
}
.container.split.procedure .text-content .header:before{
  display:none;
}

.container.split .text-content :is(h1, h2, h3, h4, h5, h6)
{
  color:#9B1C3E;
}


/*no image default pages */
.container.split.no-split {
  grid-template-areas: "a";
  grid-template-columns: calc(100%);


}
.container.split.no-split .text-content .header:before{
  right:calc(-10% - 40px);
}
.container.split.no-split .text-content{
  padding-right:0;
}



.wp-block-group.video-embed{
  gap:0;

}
p + .wp-block-group.video-embed,
ul + .wp-block-group.video-embed{
  margin-top:30px;
}

.wp-block-group.video-embed .bb_iawr + .wp-block-group{
  background: rgba(75, 77, 81, 0.05) !important;
  margin: 0 0 10px;
  padding: 20px 10% 20px 15px;
  font-size: 16px;
  line-height: 18px;

}
.wp-block-group.video-embed .bb_iawr + .wp-block-group h4{
  font-size: 21px;
  line-height: 24px;
  font-weight: 600;
  letter-spacing: -0.01em;
  margin: 0 0 3px;
  color: #9B1C3E;
}
.wp-block-group.video-embed .bb_iawr + .wp-block-group h4 a{
  text-decoration:none;
}

.wp-block-group.video-embed .bb_iawr + .wp-block-group p{
margin: 0;
font-size: 14px;
line-height: 18px;

}





:target {
  margin-top: -150px;
  position: relative;
}
:target > div:first-child{
  overflow:hidden;
  position:relative;
}
:target > div:first-child :before {
  content: '';
  display: block;
  height:      -150px;
  margin-top: 150px;
  visibility: hidden;
}



.procedure-outline table {
  border-collapse: collapse;
  border: 0 !important;
  font-size:16px;
  line-height:18px;
  margin:0 0 12px;
}
.procedure-outline table td, .procedure-outline table th{
  border:0;
}

.procedure-outline tr{
  border: 0;
  border-bottom: 1px solid rgba(75,77,81,0.6);
}
.procedure-outline tr:last-child{
  border-bottom:0;
}
.procedure-outline tr td{
  width:60%;
  padding:14px 0;
  vertical-align:top;
}
.procedure-outline tr td + td{
  text-align:right;
  font-weight: 600;
  width: 40%;
}


.procedures-full-list{
  transform: translateX(calc(-100% + 50px));
  position: absolute;
  top: 150px;
  transition: all 0.2s linear;
  height: calc(100vh - 150px);
  width:450px;
}
.procedures-full-list > ul{
    /*transform: translateX(calc(-100vw + 55px));*/
    background: #9B1C3E;
    width: 400px;
    top:0;
    position:absolute;
    height:100%;
    padding-top: 24px;
    z-index: 2;
    overflow: auto;
    left: 0;
    display: block;
    list-style: none;
    margin: 0;
    padding-left: 0;
    z-index: 4;
}
.procedures-full-list.toggled{
  transform:none;
  transition:all 0.2s ease-in;

}

.procedures-full-list .menu-toggle{
  display: flex;
  flex-direction: column;
  border: 0;
  background: #A2BBB2;
  font-size: 40px;
  overflow: hidden;
  padding: 0 13px;
  width: 50px;
  height: 50px;
  transition: all 0.2s linear;
  justify-content: center;
  gap: 5px;
  position: absolute;
  top: 0;
  right: 0;
  z-index: 999;
}

.procedures-full-list .menu-toggle span {
  background: #fff;
  border-radius: 3px;
  height: 3px;
  margin: 0;
  transition: .4s cubic-bezier(0.68, -0.6, 0.32, 1.6);
}

.procedures-full-list .menu-toggle span:nth-of-type(1) {
    width: 100%;
}

.procedures-full-list .menu-toggle span:nth-of-type(2) {
    width: 100%;
}

.procedures-full-list .menu-toggle span:nth-of-type(3) {
    width: 100%;
}

.procedures-full-list.toggled .menu-toggle span:nth-of-type(1) {
    transform-origin: bottom;
    transform: rotatez(45deg) translate(5px,5px);
}

.procedures-full-list.toggled .menu-toggle span:nth-of-type(2) {
    transform-origin: top;
    transform: rotatez(-45deg)
}

.procedures-full-list.toggled .menu-toggle span:nth-of-type(3) {
    transform-origin: bottom;
    width: 50%;
    transform: translate(12px,-4px) rotatez(45deg);
    opacity:0;
}

.procedures-full-list .menu-toggle:focus{
  outline: none;

}




.procedures-full-list ul{
  list-style-type:none;
  margin:0;
  padding:0
}
.procedures-full-list ul li {
  position: relative;
}

.procedures-full-list ul > li a {
  text-decoration:none;
  display: block;
  color: #fff;
  font-weight: 500;
  padding: 18px 20px;
  position: relative;
  border-bottom: 1px solid rgba(255,255,255,0.06);
  margin: 0 10px;

}
.procedures-full-list ul li ul{
  position:relative;
  top:unset;
  opacity:1;
  visibility:visible;
  background:transparent;
  margin-left:20px;
}
.procedures-full-list ul li ul li a{
  color:#fff;
  padding:10px 15px;
}




html .gdpr-cookie-notice{
  font-family:inherit;
  background:#222;
  gap:10px;


}

html .gdpr-cookie-notice a{
  color:#fff;
}
html .gdpr-cookie-notice-nav-item{

}
html .gdpr-cookie-notice .gdpr-cookie-notice-nav-item{
  text-decoration: none;
  text-transform: uppercase;
  font-weight: 500;
  background: #fff;
  color: #061412;
  line-height: unset !important;
  height: unset;
  padding: 14px 15px 12px;
}
html .gdpr-cookie-notice .gdpr-cookie-notice-description{
  font-size:18px;
  line-height:22px;
}
.gdpr-cookie-notice-loaded .gdpr-cookie-notice:before{
}
html.gdpr-cookie-notice-loaded{
  margin: 0;
  height: unset;
  overflow: unset;
}

/*consent overwrite*/
@media screen and (min-width: 768px){
  body .gdpr-cookie-notice{
    top:50%;
    left:50%;
    bottom:unset;
    right:unset;
    transform:translate(-50%,-50%);
    flex-direction:column;

    opacity:0;
    visibility:hidden;
    -webkit-transition: opacity 300ms, visibility 300ms;
    transition: opacity 300ms, visibility 300ms;
    gap:20px;

  }
  .gdpr-cookie-notice-loaded body .gdpr-cookie-notice{
    opacity:1;
    visibility:visible;
    transform:translate(-50%,-50%);

  }
  .gdpr-cookie-notice-loaded body .gdpr-cookie-notice:before{
    left: -100vw;
        right: -100vw;
        bottom: -100vw;
        top: -100vw;
  }

}
@media screen and (max-width: 768px){
  html .gdpr-cookie-notice .gdpr-cookie-notice-description{
    font-size:16px;
    line-height:20px;
  }

}


@media screen and (max-width: 1780px) {
  .outer-container{
    margin:0 40px;
  }
  header.true .header-container{
    margin:0 40px;
  }
  footer.site-footer .container{
    margin:0 40px;
  }
}


@media screen and (min-width: 1700px) {
  .head .text h3, .head .text h1{
    font-size:36px;
    line-height:40px;
  }
}


@media screen and (max-width: 1400px) {

  footer.site-footer .text{

  }
  footer.site-footer .text .address{
  }
  footer.site-footer .logohead a{
    width:150px;
    margin-left:0;
  }
  footer.site-footer .text .footer-nav{

  }
  footer.site-footer .text .address > p{
    font-size:18px;
    line-height:21px;
  }
}

@media screen and (min-width: 1151px) {

  header.true nav > ul > li:last-child > a{
    font-size: 18px;
    line-height: 18px;
    text-decoration: none;
    font-weight: 600;
    padding: 19px 20px 14px;
    display: inline-block;
    border: 1px solid #9B1C3E;
    position: relative;
    min-width: 160px;
    text-align: center;
    border-radius: 3px;
    background: #9B1C3E;
    color: #fff;
    -webkit-appearance: none;
    transition: all 0.2s ease-out;
    margin:-5px 0 -5px 20px;
  }

}
@media screen and (max-width: 1150px) {

  .menu-toggle{
    display: flex;
    flex-direction: column;
    border: 0;
    background:#A2BBB2;
    font-size: 40px;
    overflow: hidden;
    padding: 0 16px;
    width: 60px;
    height: 60px;
    transition: all 0.2s ease-in;
    justify-content: center;
    gap: 5px;
  }

  .menu-toggle span {
    background: #fff;
    border-radius: 3px;
    height: 3px;
    margin: 0;
    transition: .4s cubic-bezier(0.68, -0.6, 0.32, 1.6);
  }

  .menu-toggle span:nth-of-type(1) {
      width: 100%;
  }

  .menu-toggle span:nth-of-type(2) {
      width: 100%;
  }

  .menu-toggle span:nth-of-type(3) {
      width: 100%;
  }

  .toggled .menu-toggle span:nth-of-type(1) {
      transform-origin: bottom;
      transform: rotatez(45deg) translate(5px,5px);
  }

  .toggled .menu-toggle span:nth-of-type(2) {
      transform-origin: top;
      transform: rotatez(-45deg)
  }

  .toggled .menu-toggle span:nth-of-type(3) {
      transform-origin: bottom;
      width: 50%;
      transform: translate(12px,-4px) rotatez(45deg);
      opacity:0;
  }

  .menu-toggle:focus{
    outline: none;

  }

  .outer-container{
  }
  header.true nav > ul{
    position:fixed;
    transform:translateX(calc(100vw - 66px));
    transition:all 0.2s ease-in;
    background:#9B1C3E;
    height:100vh;
    width: calc(100vw - 66px);
    padding-top: 24px;
    z-index: 2;
    overflow:auto;
    right:0;
    top:0;
    display: block;
    list-style: none;
    margin: 0;
    padding-left: 0;

  }
  header.true nav.main-navigation.toggled > ul{
    transform:none;
    transition:all 0.2s ease-out;

  }

  header.true nav.main-navigation.toggled .menu-toggle{
    transform:translateX(calc(-100vw + 66px));
    transition:all 0.2s ease-out;

  }



  header.true nav > ul li {
    position: relative;
  }

  header.true nav > ul > li a {
    display: block;
    text-decoration: none;
    color: #fff;
    font-weight: 500;
    padding: 18px 20px;
    position: relative;
    border-bottom: 1px solid rgba(255,255,255,0.06);
    margin: 0 10px;

  }
  header.true nav > ul li ul{
    position:relative;
    top:unset;
    opacity:1;
    visibility:visible;
    background:transparent;
    margin-left:20px;
  }
  header.true nav > ul li ul li a{
    color:#fff;
    padding:10px 15px;
  }

  header.true{
    height:60px;
    flex-direction:row;
    border-bottom:1px solid rgba(75,77,81,0.2);
  }
  header.true .header-container{
    margin:0;
  }

  header.true h1{
    margin:0;
  }
  .logohead a{
    width: 110px;
    height: 35px;
    margin: 0 0 0 15px;
  }

  header.true + .outer-container{
    margin-top:60px;
  }


  .home .head{
    padding:30px 0;
  }

  .outer-container > .container.wide[id^='post-'],
  .outer-container > .container.wide[id^='post-'] + .container.wide{
      padding:0;
  }

  .team-building{
    flex-wrap:wrap;
  }
  .team-building .title{
    flex:0 0 100%;
    text-align:left;
  }
  .team-building .consultants{
    flex:0 0 100%;
    max-width:100%;
  }

  .procedures-full-list{
    top:60px;
  }


}

@media screen and (max-width: 1280px) {


  .outer-container > .container.wide[id^='post-'],
    .outer-container > .container.wide[id^='post-'] + .container.wide{
      padding:0 0 80px;
      overflow:visible;
    }


    footer.site-footer .text .address{
      flex:0 0 calc(100% * 7 / 12 - 12px);
    }
    header.true nav > ul > li:last-child > a{
      min-width:140px;
      margin:-5px 0 -5px 10px;
    }
    header.true nav > ul > li > a{
      font-size:20px;
    }
    .head .text{
      flex:0 0 calc(100% * 8 / 12 );
    }
    .home .head .text{
      flex:0 0 calc(100% * 6 / 12 - 40px);
    }


}


@media screen and (max-width: 1000px) {

  .outer-container > .container{
    margin:0 15px;
  }
  .outer-container > .container.wide[id^='post-']{
    padding:0 0 30px;
  }
  .page .outer-container > .container.wide[id^='post-'] .wp-block-media-text{
    margin:0;
  }
  .page .outer-container > .container.wide[id^='post-'] p + .wp-block-media-text{
    margin-top:30px;
  }
  /*
  .container.wide > .image.featured ~ *:not(div.wp-block-media-text):not(div.wp-block-columns) {
    padding:0 15px;
  }
  .container.wide[id^='post-'] > *:not(div.wp-block-media-text):not(div.wp-block-columns):not(.image.featured) {
    padding-left:15px;
    padding-right:15px;
  }
  */

    p, ul, ol {
        font-size: 16px;
        line-height: 21px;
        margin: 0 0 12px 0;
    }

    .btn, .wp-block-button__link{
      min-width:auto;
      padding:14px 30px 11px;
      font-size:14px;
      line-height:14px;
    }
    .pill{
      font-size:12px;
      line-height:14px;
    }






    body.home:before{
      width: 100%;
      padding-bottom: 100%;
      left: -35%;
      top: -20%;
    }



    .team-building{
      flex-direction:column;
      text-align:left;
      margin:30px 0;
      align-items:flex-start;
    }
    .container.wide + .team-building,
    .container.full + .team-building{
      border-top: 1px solid #4B4D51;
      padding-top: 30px;
    }

    .team-building.wrap{
      width: calc(100% - 30px);
      margin: 0 15px;
    }
    .team-building .title{
      text-align:left;
    }
    .team-building .title h4{
      font-size: 21px;
      line-height: 24px;
    }
    .team-building .title p{
      font-size:14px;
      line-height:18px;
      margin:6px 0;
    }
    .team-building .title .btn{
      display:none;
    }

    body.not(.single-procedure) .team-building .consultants{
      margin:0 -40px;
      max-width:calc(100% + 80px);
    }
    body.not(.single-procedure) .team-building .consultants .consultant:first-child{
      margin-left:40px;
    }
    .team-building .consultants .consultant:last-child{
      margin-right:40px;
    }

    .team-building .consultants .consultant{
      flex:0 0 calc((100% / 3.5) - 10px);
    }


    .team-building .consultants .consultant h5{
      font-size:18px;
      line-height:21px;
    }
    .team-building.wrap .consultants .consultant .text-holder{
      margin:25px 15px 15px 0;
    }
    .team-building.wrap .consultants .consultant h5{
      margin:0 0 12px;

    }
    .team-building.wrap .consultants .consultant p{
      margin:0;
      padding:12px 0 0;

    }
    .team-building .consultants .consultant h5 .postnominal{
      font-size:16px;
    }
    .team-building .consultants .consultant p{
      font-size:12px;
      line-height:16px;
    }

    .team-building.wrap .consultants .consultant:first-child,
    .team-building.wrap .consultants .consultant:last-child{
      margin:0;
    }

    .team-building.wrap .consultants .consultant:after{
      display:none;
    }

    .team-building.wrap .consultants .consultant .text-holder:after{
      content: "Read More";
          color: #9B1C3E;
          font-size: 12px;
          line-height: 12px;
          font-weight: 500;
          letter-spacing: 0.01em;
    }

    .parent-procedure{
      flex-wrap:wrap;
      gap:0;
      margin:0;
      position:relative;
    }
    .parent-procedure .title{
      border-bottom: 0;
      background: rgba(255, 255, 255, 0.7);
      z-index: 2;
      flex: 0 0 60%;
      padding: 15px;
      position: absolute;
      bottom: calc(100% - 47vw);
      width: 60%;
    }
    .parent-procedure .title h3{
      font-size: 24px;
      line-height: 24px;
      margin:5px 0;
    }
    .parent-procedure > .area{
      flex:0 0 100%;
      padding:0 15px;
      order:-1;
      margin-top: 0;
    }
    .parent-procedure .area picture{
      margin:0 -15px;
      width:calc(100% + 30px);
      padding-bottom:50%;
    }
    .parent-procedure .area h4{
      font-size: 21px;
      margin: 20px 0 0px;
      line-height: 24px;
    }
    .parent-procedure > .area p{
      font-size: 14px;
      line-height: 18px;
    }
    .associated-procedures{
      margin:0 15px 20px;
      width:calc(100% - 30px);
      gap:15px;

    }
    .parent-procedure .associated-procedures{
      margin-top:0;
    }
    .associated-procedures h3{
      font-size:24px;
      line-height:30px;
    }
    .associated-procedures .areas{
      gap:10px;
    }
    .associated-procedures .areas .area{
      flex:0 0 calc(100%);
    }
    .associated-procedures .areas .area .text{
      padding:10px;
    }

    .parent-procedure .associated-procedures .areas .area{
      flex: 0 0 calc(100% - 15px);
      margin: 0;
      box-shadow: none;
      padding-bottom: 15px;
      border-width: 1px 0 0 0;
      overflow: auto;
    }

    .associated-procedures .areas .area .image{
      display:none;
    }
    .associated-procedures .areas .area h5.pill{
      margin:7px 0px 0 0;
    }
    .associated-procedures .areas .area h4{
      font-size: 18px;
      line-height: 21px;
      margin:0 0 6px 0;
    }
    .parent-procedure .associated-procedures .area p{
      font-size: 14px;
      line-height: 16px;
      margin-top: 0px;
    }
    .parent-procedure .associated-procedures .area .read-more{
      display: inline;
      position: relative;
      transform: none;
      left: unset;
      bottom: unset;
      margin-left: 15px;
      opacity:1;
    }
    .generic-text{
      width: auto;
      margin: 0;
      padding: 25px 15px 10px;
    }

    .generic-text h1{
      font-size:36px;
      line-height:1em;
      margin: 0 0 6px 0;
    }
    .generic-text p.byline{
      font-size: 21px;
      line-height: 24px;
      margin: 0;
    }

    /*Don't want this at allll on mobile*/
    .procedures-full-list{
      display:none;
    }
    .container.split.procedure .text-content{
      padding-left:0;
    }
    .container.split.procedure .text-content .header{
      margin:0;
    }


    .videos > div{
      flex:0 0 80%;
    }
    .videos .wp-block-group.video-embed{
      margin:0;
    }
    .videos .wp-block-group.video-embed:first-child{
      margin-left:15px;
    }
    .associated-videos h3{
      margin:0 15px 5px;

    }



    .wpcf7 input,
    .wpcf7 select,
    .wpcf7 textarea{
      margin:0 0 20px 0;
      padding:12px;
    }
    .wpcf7{
      width:100%;
    }
    .wpcf7 .wpcf7-not-valid-tip{
      margin-top:-15px;
    }

    .page .image.featured,
    .page .outer-container > .container.wide[id^='post-'] .image.featured{
      width: 100%;
      padding-bottom: 70%;
      margin-left:0;
      margin-bottom:15px;

    }
    .image.featured ~ *:not(div){
      padding-left:15px;
      padding-right:15px;
    }
    .page h1.entry-title,
    .page h2.entry-title{
      font-size: 36px;
      line-height: 1em;
      margin-bottom: 15px;
      padding: 20px 0px 0;
    }

    .wp-block-media-text{
      padding:0;
      margin-top:30px;
    }

    .wp-block-media-text .wp-block-media-text__content,
    .wp-block-media-text.is-image-fill .wp-block-media-text__content{
      padding:40px 15px 0;
    }
    .wp-block-media-text__content h2{
      font-size:36px;
      line-height:1em;
      font-weight:700;
    }
    .wp-block-media-text .wp-block-media-text__content .wp-block-buttons{
      margin:20px 0;
    }
    .text-block-list-item .container .text{
      width:100%;
    }
    .text-block-list-item .container .text h2{
      font-size: 30px;
      line-height: 30px;
      font-weight: 700;
      margin: 0 0 14px;
    }
    .text-block-list-item .container .text p{
      font-size: 16px;
      line-height: 21px;
      margin: 0 0 6px 0;
    }
    .full-bleed-panel > .text a.btn{
      margin:0;
    }
    .text-block-list-item .image{
      position: relative;
      width: 100%;
      height: 100%;
    }


    .outer-container > .container:not(.wide) .wp-block-gallery{
      margin:20px -15px;
    }




    .procedure-outline tr{
      display: flex;
      flex-direction: column;
    }
    .procedure-outline tr td{
      width:100%;
      padding:9px 0 4px;
    }
    .procedure-outline tr td + td{
      width: 100%;
      text-align: left;
      padding: 0 0 10px;
    }





    footer.site-footer{
      border-top:2px solid #4B4D51;
    }

    footer.site-footer .container{
      flex-direction:column;
      padding:0;
      margin:0;
      max-width:unset;

    }
    footer.site-footer .text{
      flex-direction: row;
      flex-wrap: wrap;
      padding:20px 0;
      gap:20px;

    }
    footer.site-footer .text .id{
      flex:0 0 calc(60% - 20px);
      flex-direction:column;
      margin:0;
    }
      footer.site-footer .logohead{
      margin-bottom:15px;
    }
    footer.site-footer .logohead a{
      width: 153px;
      height: 49px;
      margin-left:15px;
    }

    footer.site-footer .text .address{
      flex: 0 0 calc(100% - 30px);
      display: flex;
      gap: 0px;
      flex-direction: column;
      margin: 0 15px;
    }
    footer.site-footer .text .address > p{
      margin:0 0 12px 0;
      font-size: 14px;
      line-height: 18px;
    }

    footer.site-footer .text .footer-nav{
      flex:0 0 calc(40% - 20px);
      margin:0;
    }
    footer.site-footer .text > .footer-nav{
      position:relative;
    }
    footer.site-footer .text .footer-nav:before{
      content: "";
        position: absolute;
        width: 1px;
        background:#4B4D51;
        top: -20px;
        left: -15px;
        bottom: -20px;
    }
    footer.site-footer .text .footer-nav h5{
      margin:30px 0 12px 0;
    }
    footer.site-footer .text .footer-nav ul a{
      font-size:14px;
      line-height:14px;
    }

    footer.site-footer .footer-logos{
      padding: 30px 15px;
      flex: 0 0 calc(100% - 30px);
      border-top: 1px solid #4B4D51;
    }
    footer.site-footer .footer-logos a{
      flex:0 0 17%;
    }


  html .gdpr-cookie-notice{
    padding:20px 15px;
  }

}
@media screen and (max-width: 800px) {



  .outer-container{
    border:0;
    margin:0;
    width:100%;
  }
  .outer-container >  .container{
      padding:0 0px;
    }

    .head{
      width:100%;
      flex-direction: column;
      align-items:flex-start;
      padding:30px 0 15px;
    }
    .home .head{
      padding:20px 0 15px;
      min-height:unset;
      border-width:1px;
    }
    .head .text{
      margin: 0 15px;
      padding:0;
      flex: 0 0 auto;
      /*width: 80%;*/
    }
    .head .image{
      flex: 0 0 auto;
      margin: 15px 0 0 0;
      padding-bottom: 66%;
      width:100%;
      background:transparent;
    }
    .head .text h2{
      font-size:12px;
      line-height:14px;
      max-width:80%
    }
    .head .text h3,
    .head .text h1{
      font-size:30px;
      line-height:36px;
      margin:6px 0 0 0
    }
    .home .head .text h3,
    .home .head .text h1{
      font-size:18px;
      line-height:24px;
    }

    .full-bleed-panel,
    .full-bleed-panel.left{
      flex-direction:column-reverse;
      padding:15px 0;
      border-width:1px;
    }

    .full-bleed-panel > .text,
    .full-bleed-panel.left > .text{
      font-size: 16px;
      line-height: 18px;
      margin: 0 0 6px 0;
      flex:0 0 100%;
      width:100%;
      padding:0 15px;
      box-sizing:border-box;
    }
    .full-bleed-panel > .text h3, .full-bleed-panel > .text h2{
      margin: 24px 0 12px;
      padding: 0;
      font-size: 21px;
      line-height: 24px;
    }
    .full-bleed-panel > .text p{
      width:auto;
    }

    .full-bleed-panel.left > .image{
      margin-top:-10%;
      z-index:-1;
    }

    .full-bleed-panel.left > .text{
      text-align:left;
      display:inline;
    }
    .full-bleed-panel.left > .text h3{
      margin:20px 0 6px 0;
    }
    .full-bleed-panel > .image{
      flex: 0 0 auto;
      min-height: unset;
      width: 100%;
      height: 0;
      padding-bottom: 60%;
    }

    .the-process{
      flex-direction:column;
      gap:15px;
      margin:20px 0 0 0;
    }
    .process-steps{
      width:100%;
    }
  .outer-container > .container.split{
    display:flex;
    flex-wrap:wrap;
    margin:60px 0 0;
  }
  .container.split .image{
    flex:0 0 100%;
    order:1;

  }
  .container.split .image picture{
    padding-bottom:66%;
  }
  .container.consultant.split .image picture{
    padding-bottom:100%;
  }

  .container.split .image picture + picture{
    display:none;
  }

  .container.split .text-content,
  .container.split.procedure .text-content{
    margin:0 15px;
    padding:0 0 24px;
    order:2;
    width:100%;

  }
  .page-template-page-contact .container.split .text-content{
    order:1;
  }
  .container.split .text-content .header{
    margin: 0 0 12px;
    padding: 24px 0 12px;
  }
  .container.split.procedure .text-content .header{
    margin:0;
    padding:24px 0 0;
  }
  .container.split .text-content .header:before{
    left:-15px;
    right:-15px;
  }
  .container.split .text-content .header h1{
    font-size:30px;
    line-height: 36px;
  }
  .container.split .text-content .header h1 .postnominal{
    font-size:16px;
    line-height:16px;
  }

  .container.split .contact-specific,
  .container.split.procedure .contact-specific{
    padding:0 15px 24px;
    order:3;
    margin:0;
  }

  .container.split .contact-specific h2{
    font-size: 18px;
    line-height: 24px;
    margin: 24px 0 0;
    padding-right:0;
  }
  .container.split .contact-specific h2 + p{
    font-size:14px;
    line-height:18px;
    padding-right:0;
  }

  .outer-container > .container ul.procedure-breadcrumb:before{
    left: -15px;
    right: -15px;
  }

  .wp-block-group.video-embed{
    margin:0 -15px;
  }
  .wp-block-group.video-embed .bb_iawr + .wp-block-group{
    margin-bottom:0;
  }

  .team-building .consultants{
    width: 100%;
    flex: 0 0 auto;
    margin:0;
  }
  .single-procedure   .team-building .consultants{
    flex-wrap:nowrap;
  }
  .team-building .consultants .consultant{
    flex: 0 0 60%;
  }

  .team-building.wrap .consultants .consultant{
    flex:0 0 100%;
    gap:15px;
    text-align:left;
    display:flex;
  }

  .team-building .consultants .consultant:first-child{
    margin-left:15px;
  }
  .team-building .consultants .consultant:last-child{
    margin-right:15px;
  }

  .team-building.wrap .consultants .consultant picture{
    flex: 0 0 33%;
    margin:15px 0 15px 15px;
    padding-bottom:33%;
  }
  .team-building .title{
    padding:0 15px;
  }



}


@media screen and (max-width: 600px) {
  footer.site-footer .footer-logos a{
    flex:0 0 40%
  }
}


@media screen and (max-width: 410px) {
  footer.site-footer .text .id{
    flex:0 0 100%;
    text-align:center;
  }
  footer.site-footer .logohead a{
    margin:0 auto;
  }
  footer.site-footer .text .footer-nav{
    flex:0 0 100%;
    text-align:center;
  }
}
