:root {
    --huntergreen: #003a24;
    --huntergreenrgb: 0, 58, 36;
    --faun: #dfdfdf;
    --sage: #b4c8aa;
    --lemon: #fffb96;
    --pebble: #a5998f;

    --base:              #003a24;
    --bg-blend:          screen;
    --blur:              0px;
    --fg-blend:          darken;
    --foreground:        #dfdfdf;
    --opacity:           1;
    --spacing:           1%;
}

body {
    font-family: Poppins, -apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
    font-size: clamp(1.1rem, 0.957rem + 0.381vw, 1.3rem);
    background-color: var(--faun);
    color: var(--huntergreen);
}

header, nav.navbar, .d- flex, .navbar-collapse {
    background-color: transparent ! important;
}

.navbar .d-flex {
    justify-content: end;
}

.headerfront {
    min-height: 50rem;
    background-image: url(../images/bg/bg1.webp);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    background-color: var(--huntergreen);
}



.headernotfront {
    min-height: 12rem;
    background-image: url(../images/bg/bg1.webp);
    background-repeat: no-repeat;
    background-position: top center;
    background-size: cover;
    margin-bottom: 3rem;
}

.headernotfront {

}

.contentcontainer {
    margin-bottom: 3rem;
}

.contentcontainer a {
    color: var(--huntergreen);
    font-weight: 600;
}

.contentcontainer a:hover {
    color: var(--pebble);
}

a {
    text-decoration: none;
}

.br {
    border: 1px solid red;
}

.logo {
    width: 100% ! important;
    max-width: 250px;
    margin: 2rem 0 0 2rem;
}

h1 {
    font-weight: 600;
    font-size: clamp(2.2rem, 1.557rem + 1.714vw, 3.1rem);
    margin-bottom: 2rem;
    color: var(--huntergreen);
}

.fph1 {
    color: #fff;
    padding: 15rem 0 0 5rem;
}

.h1changer {
    color: var(--lemon);
}

.strong {
    font-weight: 600;
}

.ityped-cursor {
    opacity: 1;
    -webkit-animation: blink 0.5s infinite;
    -moz-animation: blink 0.5s infinite;
    animation: blink 0.5s infinite;
    animation-direction: alternate;
}

@keyframes 
blink {  100% {
    opacity: 0;
    }
}
@-webkit-keyframes 
blink {  100% {
     opacity: 0;
    }
}
@-moz-keyframes 
blink {  100% {
     opacity: 0;
    }
}

.navbar-nav {
    margin-top: 3rem;
}

.navbar-nav a {
    color: #fff;
    font-weight: 600;
    text-align: right;
}

.navbar-nav a:hover {
    color: var(--lemon);
}

.navbar-toggler, .navbar-toggler:active, .navbar-toggler:focus {
    border: none;
    box-shadow: none;
    padding: 1rem 0 0 0;
}

.navbar-nav .nav-link.active {
    color: var(--lemon);
    border-bottom: 2px solid #fff;
}

.ham {
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
    transition: transform 400ms;
    -moz-user-select: none;
    -webkit-user-select: none;
    -ms-user-select: none;
    user-select: none;
}
.hamRotate.active {
    transform: rotate(45deg);
}
.line {
    fill: none;
    transition: stroke-dasharray 400ms, stroke-dashoffset 400ms;
    stroke: #fff;
    stroke-width: 5.5;
    stroke-linecap: round;
}
.ham8 .top {
    stroke-dasharray: 40 160;
}
.ham8 .middle {
    stroke-dasharray: 40 142;
    transform-origin: 50%;
    transition: transform 400ms;
}
.ham8 .bottom {
    stroke-dasharray: 40 85;
    transform-origin: 50%;
    transition: transform 400ms, stroke-dashoffset 400ms;
}
.ham8.active .top {
    stroke-dashoffset: -64px;
}
.ham8.active .middle {
    //stroke-dashoffset: -20px;
    transform: rotate(90deg);
}
.ham8.active .bottom {
    stroke-dashoffset: -64px;
}

a {
    transition: color 0.14s ease-in;
}

.big-front {
    padding: 7rem 0;
    font-size: clamp(2rem, 1.286rem + 1.905vw, 3rem);
    font-weight: 600;
}

.big-front-huntergreen {
    background-color: var(--huntergreen);
    color: var(--faun);
}

.big-front-huntergreen p {
    margin: 0 ! important;
    padding-left: 3rem;
    padding-bottom: 0;
    padding-top: 0;
    line-height: 1.5;
    border-left: 7px solid var(--lemon);
    box-sizing: border-box;
    opacity: 0.93;
}

.front-office {
    background-color: var(--sage);
    color: #fff;
    padding: 0;
    margin: 0;
}

.front-office * {
    color: var(--huntergreen);
}

.front-office .container {
    max-width: 100%;
}

.front-office .row > div {
    padding: 0;
    margin: 0;
}

.front-office h2 {
    font-size: clamp(1.7rem, 0.986rem + 1.905vw, 2.7rem);
    letter-spacing: 7px;
    font-weight: 600;
    margin-bottom: 1.7rem;
}

.front-office p {
    margin-bottom: 1.7rem;
}

.fakeyfront {
    padding: 5rem 4rem ! important;
}

.front-officebg {
    background-image: url(../images/uns/offices1.webp);
    background-size: cover;
    background-position: center;
}

.teamfront source, .teamfront img {
    max-width: 100%;
    height: auto;
}

.smflink {
    text-transform: uppercase;
    text-decoration: none;
    font-size: 1rem;
    color: var(--huntergreen);
    font-weight: 600;
    display: block;
    margin-bottom: 2rem;
}

.smflink:hover {
    color: var(--lemon);
}

.ib {
    display: inline-block;
}

.four-lots {
    background-color: var(--faun);
}

.four-lots-unit {
    padding-top: 8.3rem;
    background-position: top center;
    background-repeat: no-repeat;
    background-size: 91px;
    text-align: center;
    color: var(--huntergreen);
    padding-bottom: 2rem;
}

.bowler-animation  {
    animation: bowlerAnimation forwards 0.7s ease-in-out;
}

@keyframes bowlerAnimation {
    from { background-size: 91px; }
    to { background-size: 111px; }
}


.four-lots-unit h2 {
    text-transform: uppercase;
    letter-spacing: 0;
    font-weight: 600;
    font-size: clamp(1.2rem, 0.843rem + 0.952vw, 1.7rem);
    margin-bottom: 1.5rem;
}

.four-lots-unit span {
    display: block;
}

.four-lots-commerciallyfocused {
    background-image: url(../images/icons/commerciallyfocused.webp);
}

.four-lots-flexibledelivery {
    background-image: url(../images/icons/flexibledelivery.webp);
}

.four-lots-riskdriven {
    background-image: url(../images/icons/riskdriven.webp);
}

.four-lots-futureproofing {
    background-image: url(../images/icons/futureproofing.webp);
}

.padfront {
    padding: 5rem 0 3rem 0
}

.front-people {
    background-color: var(--huntergreen);
    padding: 0;
    margin: 0;
}

.front-people * {
    color: var(--faun);
}

.front-people .container {
    max-width: 100%;
}

.front-people .row > div {
    padding: 0;
    margin: 0;
}

.front-people h2, .aboutpeople h2 {
    font-size: clamp(1.7rem, 0.986rem + 1.905vw, 2.7rem);
    letter-spacing: 2px;
    font-weight: 600;
    margin-bottom: 0;
    text-transform: uppercase;
}

.front-people p {
    margin-bottom: 1.7rem;
}

.front-people .front-letters, .aboutpeople h3 {
    color: var(--pebble);
}

.centre-bg {
    background-size: cover;
    background-position: center;
}
.front-emmabg {
    background-image: url(../images/people/emma-knight-strong.webp);
}

.front-brigbg {
    background-image: url(../images/people/brigette-reid.webp);

}

.blemon-left div {
    border-left: 7px solid var(--lemon);
    padding-left: 3rem;
    text-align: left;
}

.blemon-right div {
    border-right: 7px solid var(--lemon);
    padding-right: 3rem;
    text-align: right;
}

.front-people .smflink:hover {
    color: var(--lemon);
}

.mhpeople {
    min-height: 31rem;
    display: flex;
    align-items: center;
    justify-content: center;
}

.aboutpeople {
    margin-top: 3rem;
    margin-bottom: 3rem;
}

.aboutpeople h2 {
    margin-bottom: 1rem;
}

.aboutpeople h3 {
    color: rgba(0, 0, 0, 0.6);
    font-size: clamp(1rem, 0.714rem + 0.762vw, 1.4rem);
}

.aboutpeople img {
    max-width: 95%;
    height: auto;
    margin-top: 1rem;
    margin-bottom: 1rem;
}

.leftbar {
    border-left: 5px solid var(--lemon);
    padding-left: 2rem;
}

.dletters {
    padding-left: 2rem;
    list-style-position: outside;
}

.dletters li {
    padding-bottom: 0.23rem;
}

.dletters li::marker {
    color: var(--lemon);
    font-size: 2rem;
    margin-right: 5rem;
    display: block;
    content: "☰ ";
}






.facto {
    font-size: 2rem;
    font-weight: 600;
    width: 6.5rem;
    height: 6.5rem;
    margin: 0 auto 2rem;
    display: flex;
    padding: 1rem;
    background-color: var(--huntergreen);
    color: var(--faun);
    border-radius: 50%;
    line-height: 100%;
    align-items: center;
    justify-content: center;
    
}

.molio {
    display: none ! important;
}

.three-lots-unit sup a {
    color: red;
}

.num {
    display: inline-block;
}

.three-lots-unit {
    padding-top: 0;
    text-align: center;
    color: var(--huntergreen);
}

.big-front-huntergreen-cafe {
    background-color: var(--huntergreen);
    background-image: url(../images/bg/bg2.webp);
    color: var(--faun);
}

.big-front-huntergreen-cafe span {
    display: block;
}

.big-front-huntergreen-cafe p {
    margin: 0 ! important;
    padding-left: 3rem;
    padding-bottom: 0;
    padding-top: 0;
    line-height: 1.5;
    border-left: 7px solid var(--lemon);
    box-sizing: border-box;
}

.page-contact {
    background-color: var(--faun);
    padding: 5rem 0;
}

form input[type="text"], form textarea.form-textarea {
    padding: 1rem;
    font-size: clamp(1.3rem, 1.014rem + 0.762vw, 1.7rem);
}

.button--primary {
    padding: 1rem 2rem;
    background-color: var(--sage);
    color: var(--huntergreen);
    border: 0;
    font-size: clamp(1.3rem, 1.014rem + 0.762vw, 1.7rem);
}

.button--primary:hover {
    background-color: var(--huntergreen);
    color: var(--sage);
}

.viewsygrid a {
    color: var(--huntergreen);
}

.viewsygrid {
    margin-bottom: 2rem;
}

.viewsygrid .viewsyimg {
    overflow: hidden;
    height: auto;
}

.viewsygrid .viewsyimg a {
    display: block;
    overflow: hidden;
    height: auto;
}

.viewsygrid .viewsyimg img {
    overflow: hidden;
    height: auto;
    transition:transform .23s ease-in-out;
    max-width: 100%;
    padding: 0;
    display: block;
    width: 100%;
}

.viewsygrid a:hover img {
    transform:scale(1.1);
}

.viewsygrid .viewsylink a {
    display: block;
    margin-top: 1rem;
}

.viewsygrid .viewsylink a:hover {
    color: var(--lemon);
}

li.testimonialsrow, .testimonialone a {
    list-style: none;
    margin-left: 0;
    padding-left: 79px;
    margin-bottom: 3.2rem;
    background-image: url(../images/icons/speech1.webp);
    background-position: top 7px left;
    background-repeat: no-repeat;
}

li.testimonialsrow .views-field-title, .testimonialone a  .views-field-title {
    font-weight: bold;
    margin-top: 0;
}

li.testimonialsrow .views-field-body p {
    margin-bottom: 0.23rem;
}

.testimonialone {
    background-color: var(--huntergreen);
    padding-top: 3rem;
    padding-bottom: 0rem;
}

.testimonialone a {
    color: var(--faun);
    display: block;
}

.testimonialone a:hover {
    color: var(--lemon);
}

.testim {
    max-width: 100%;
    height: auto;
}

.nodenormalimage {
    width: 100%;
    margin: 1rem 0 3rem;
}

.page-node-type-article ol li {
    margin-bottom: 1rem;
}

.page-node-type-article ol li::marker {
    font-weight: bold;
}

.people-row {
    margin-bottom: 1.7rem;
}

.staff-card__quals {
    font-size: .9rem;
    opacity: .5;
}


.ui-widget {
    font-family: inherit !important;
}

.ui-widget-overlay {
    background-color: var(--sage);
    will-change: opacity;
}

.ui-widget-content {
    border: 0 !important;
    font-size: 1rem;
}

.ui-dialog.ui-widget {
  max-width: 720px;
  width: calc(100% - 2rem) !important;
  background-color: var(--faun);
  box-shadow: 7px 7px 5px rgba(var(--huntergreenrgb), .4);
  will-change: opacity, transform;
}

.ui-dialog .ui-dialog-content {
  padding: 1.5rem 2rem;
}

.ui-dialog .ui-dialog-titlebar {
    border: 0;
    background-color: var(--huntergreen);
    display: flex;
    align-items: center;
    display: none;

}

.ui-dialog .ui-dialog-content {
    position: relative;
}

html.people-modal-open, html.people-modal-open body {
  overflow: hidden;
}

a.staff-card__link + .ajax-progress, a.staff-card__photo + .ajax-progress {
  display: none !important;
}

.people-modal__close {
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 10;
  font-size: 2.7rem !important;
  line-height: 1;
  background: transparent;
  border: 0;
  cursor: pointer !important;
  transition: all .2s ease;
  &:hover {
    transform: scale(1.1);
  }
}

.person-modal > h2 {
    font-size: 2rem;
    font-weight: 600;
    margin-right: 2rem;
}

.ui-dialog-titlebar-close {
    filter: invert(100%);
    box-shadow: none !important;
    opacity: 1 !important;
    padding: 0 1rem 0 0 !important;
    transition: all .2s ease;
    &:hover {
        transform: scale(1.1);
    }
}

.ui-dialog .field--name-field-qualifications {
    font-size: 1.2rem;
    margin: .3rem 0 1.6rem 0;
    opacity: .7;
}



footer {
    background-color: var(--huntergreen);
    color: var(--faun);
}

footer .logo-footer {
    max-width: 170px;
    margin-bottom: 2rem;
}

footer .logo-footer {
    filter: brightness(0) saturate(100%) invert(95%) sepia(8%) saturate(746%) hue-rotate(47deg) brightness(85%) contrast(84%);
}

footer .logo-footer:hover {
    filter: brightness(0) saturate(100%) invert(89%) sepia(5%) saturate(2772%) hue-rotate(4deg) brightness(110%) contrast(101%);
}

footer .footer-nav {
    display: flex;
    justify-content: flex-end;
}

footer .footer-nav ul {
    padding: 0;

}

footer .footer-nav li {
    list-style: none;
    text-align: right;
}

footer .footer-nav li a {
    color: #fff;
    font-weight: 600;
    text-decoration: none;
}

footer .footer-nav li a:hover {
    color: var(--lemon);
}

footer .footer-social {
    text-align: center;
}

footer .footer-social ul {
   padding: 0;
}

footer .footer-social li {
   list-style: none;
   display: inline;
}

footer .footer-social a {
     filter: invert(1);
     margin: 0 0.3rem 1rem 0.3rem;
     text-transform: none;
     display: inline;
}

footer .footer-social a img {
   max-width: 37px;
}

footer .footer-social a {
    filter: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(3684%) hue-rotate(248deg) brightness(119%) contrast(75%);
}


footer .footer-social a:hover {
    filter: brightness(0) saturate(100%) invert(89%) sepia(5%) saturate(2772%) hue-rotate(4deg) brightness(110%) contrast(101%);
}

.flink {
    color: #de7aa1;
    font-weight: 600;
    text-decoration: none;
}

.flink:hover {
    color: #8da3a7;
}

.flink .underflink {
    border-bottom: 5px solid #8da3a7;
    line-height: 100%;
    padding-bottom: 0;
    display: inline-block;
}

@media (max-width:991px) {
    .navbar-nav {
        margin-top: 0;
    }
    .d-flex {
        display: block ! important;
    }
    .navbar-toggler {
        margin-top: 11px;
        width: 100%;
        text-align: right;
    }
    .molio {
        display: inline-block ! important;
    }
    .ink2-1, .ink2-2, .ink2-3 {
        display: none ! important;
    }
}

@media (min-width:830px) {
    .headerfront {
        animation: animateBg forwards 3s ease-in-out;
    }
    @keyframes animateBg{
        from { background-size: 120% auto; }
        to { background-size: 100% auto; }
    }
}

@media (max-width:767px) {
    footer .footer-social, footer .footer-nav {
        text-align: left;
        justify-content: flex-start;
        margin-top: 1rem;
    }
    footer .footer-nav li {
        text-align: left;
    }
}

@media (max-width:575px) {
    .navbar .d-flex {
        justify-content: start;
    }
    .fph1 {
        padding: 8rem 0 0 5rem;
    }
    .navbar-nav a {
        text-align: left;
    }

html {
    scroll-behavior: smooth;
}












