/*
    Main site styles
    @since v0.1.0
    @version v0.23.2

    Please put mobile only/default styles in this file. 
    Any changes for larger screens should be made in responsive.css.
*/

/*
 * Custom Variables
 */

:root {
    --section-padding: 5rem;
    --gap-size: 2rem;
    --ui-size: 1rem;
    --transition-type: ease;
    --transition-speed: .3s;
    --transition-delay: .3s;
    --default-link-colour: var(--main-colour, #222);
    --border-radius: 2rem;
    --bs-border-radius: 2rem;
    --bs-heading-color: inherit;
    --bs-body-color: inherit;
    --bs-primary-rgb: var(--main-colour-rgb);
    --white: #ffffff;
	--upw-primary-color: var(--main-colour, #222);
    --upw-secondary-color: color: #17b85e;
}


* {
    box-sizing: border-box;
}

html {
    font-size: 12pt;
    scroll-behavior: smooth;
}

body {
    color:var(--main-colour, #333);
    max-width: 100%;
    width:100%;
    font-family: 'Satoshi-Variable', sans-serif;
    text-align: center;
}

img {
    max-width: 100%;
    height:auto;
}

/*
 * Typography
 */

h1,
h2,
h3,
h4 {
    text-wrap: balance;
    margin-bottom: 1rem;
}

h1, h2 {
    font-weight: 900;
}

h3, h4 {
    font-weight: 400;
}

a {
    transition: all var(--transition-type) var(--transition-speed);
    color: var(--default-link-colour);
    text-decoration: none;
}

.title {
    text-wrap: balance;
}

.strong,
.title-strong h1,
.title-strong h2,
.title-strong h3,
.title-strong h4 {
    font-weight: 900;
}

.mc-field-group input {
    color: #000;
}



.colour-main {
    color: var(--main-colour);
}

.colour-secondary {
    color: var(--secondary-colour);
}

/*
 * Buttons
 */ 

a.button,
li.button > a,
a.custom-button,
li.custom-button > a,
input.input.button, 
button {
    --_paddingY: calc(var(--ui-size) / 2);
    --_paddingX: calc(var(--ui-size) * 2);
    display:inline-block;
    padding: var(--_paddingY) var(--_paddingX);
    font-weight: bold;
    border-radius: var(--border-radius);
    transition: all var(--transition-type) var(--transition-speed);
}

li.button > a {
    line-height: initial;
    display: inline-block;
}

a.button-primary,
button.button-primary,
input.button-primary,
li.button-primary > a,
a.custom-button,
li.custom-button > a,
button {
    background: rgba(var(--main-colour-rgb), 1);
    border:solid 2px var(--main-colour);
    color:#fff;
}

a.button-primary:hover,
button.button-primary:hover,
input.button-primary:hover,
li.button-primary > a:hover,
a.custom-button:hover,
li.custom-button > a:hover,
button {
    background: rgba(var(--main-colour-rgb), .8);
}

a.button:has(i),
li.button > a:has(i) {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: calc(var(--ui-size) / 2);
}

a.button-icon {
    position: relative;
}

a.button-icon:after,
li.button-icon i {
    padding: var(--_paddingY, .25rem) var(--ui-size);
    position: absolute;
    border-radius: inherit;
    right: 0;
    top: 50%;
    box-sizing: border-box;
    transform: translate(1rem, -50%);
    opacity: 0;
    transition: all var(--transition-type) var(--transition-speed);
    z-index: 2;
    pointer-events: none;
}

a.button-icon:after {
    content: "\f054";
    font-family: "Font Awesome 6 Free";
    font-weight: bold;
}

a.button-icon:hover, 
a.button-icon:focus,
li.button-icon > a:hover,
li.button-icon > a:focus {
    padding-left: calc(var(--_paddingX) / 2);
    padding-right: calc(var(--_paddingX) * 1.5);
}

a.button-icon:hover:after, 
a.button-icon:focus:after,
li.button-icon > a:hover i,
li.button-icon > a:focus i {
    transform: translate(0, -50%);
    opacity: 1;
}

a.button-secondary,
li.button-secondary > a,
input.button-secondary {
    border:solid 2px var(--secondary-colour);
    background: rgba(var(--secondary-colour-rgb), 1);
    color: #fff;
}

a.invert,
li.invert > a {
    border-color:#fff;
    color:#fff;
}

a.button-secondary:hover,
li.button-secondary > a:hover,
input.button-secondary:hover {
    background: rgba(var(--secondary-colour-rgb), .8);
    color:#fff;
}

a.button-secondary.alt {
    background:transparent;
    border-color: var(--secondary-colour);
    color: var(--secondary-colour);
}

a.button-secondary.alt:hover {
    background: rgba(var(--secondary-colour-rgb), .8);
    color: #fff;
}

/* .card .button {
    border-radius: calc(var(--border-radius) / 2);
} */

/*
 * General
 */

.review-wrapper {
  padding: 15px;
  background: #f9f9f9;
  border-radius: 10px;
}

.site-wrapper {
    position:relative;
    max-width: 100%;
}

.tagline{
    background-color: var(--main-colour);
}

.social {
    align-items: center;
    justify-content: center;
    font-size:1.5rem;
}

.transparent {
    background:transparent;
}

.relative {
    position: relative;
}

.rounded,
picture.rounded > img {
    border-radius: var(--border-radius);
    overflow: hidden;
}

.flex-1 {
    flex:1;
}

picture {
    display: block;
    overflow: hidden;
}

picture img {
    display: block;
}

picture.cover img {
    height: 100%;
    width: 100%;
    object-fit: cover;
    object-position: center;
}

picture.contain img {
    height: 100%;
    width: 100%;
    object-fit: contain;
    object-position: center;
}

.bg-overlay-dark:before {
    content:"";
    position: absolute;
    inset: 0;
    background:rgba(0,0,0, .4);
    z-index: -1;
}

.bg-image {
    position: absolute;
    inset:0;
    z-index: -2;
}

.bg-image img {
    display: block;
    width: 100%;
    height:100%;
    object-fit: cover;
    object-position: center;
}

iframe {
    display: block;
    width:100%;
}

iframe.aspect-ratio-16-9 {
    height: auto;
    aspect-ratio: 16/9;
}

.map iframe {
    max-height: 20rem;
}

.bg-light,
section:has(.wpcf7) {
    --bs-bg-opacity: 1;
    background-color: rgba(var(--bs-light-rgb),var(--bs-bg-opacity))!important;
}

.bg-color-primary,
.bg-colour-primary {
    background-color: var(--main-colour);
}

.bg-color-secondary,
.bg-colour-secondary {
    color: #fff;
    background-color: var(--secondary-colour);
}

.bg-color-secondary a:not(.button),
.bg-colour-secondary a:not(.button) {
    color:#fff;
}

.bg-color-theme-light,
.bg-colour-theme-light {
    background-color: var(--light-colour);
}

.underline:after {
    display: block;
    content: "";
    background: var(--main-colour);
    width: 5rem;
    height: 0.25rem;
    border-radius: var(--border-radius);
    margin: 1rem auto 0;
}

.text-center .underline:after {
    margin: 1rem auto 0;
}

.bg-h-gradient {
    background: linear-gradient(90deg, var(--main-colour) 0%, var(--secondary-colour) 100%);
}

.bg-primary {
    background:var(--main-colour);
}

.bg-primary-faded {
    background: rgba(var(--main-colour-rgb), .1);
}

.bg-primary-dark {
    background:var(--main-dark-colour) !important;
}

.bg-secondary {
    background: var(--secondary-colour);
}

.bg-secondary-faded {
    background: rgba(var(--secondary-colour-rgb), .2);
}

.even-bg-primary-faded > div:nth-of-type(2n) {
    background: rgba(var(--primary-colour-rgb), .1);
}

.even-bg-secondary-faded > div:nth-of-type(2n) {
    background: rgba(var(--secondary-colour-rgb), .2);
}

.text-primary-dark,
.button.text-primary-dark {
    color: var(--main-dark-colour);
}

.border-primary-dark,
.button.border-primary-dark {
    border-color: var(--main-dark-colour);
}

.noListStyle {
    list-style: none;
    padding-left: 0;
}

.align-items-stretch > * {
    height: inherit;
}

.row-gap-6 {
    row-gap: 6rem;
}

.row-gap-8 {
    row-gap: 8rem;
}

.row-gap-section-padding {
    row-gap: var(--section-padding);
}

.pb-6 {
    padding-bottom: 6rem !important;
}

.pt-6 {
    padding-top: 6rem !important;
}

.py-6 {
    padding-block: 6rem !important;
}

/*
 * Forms
 */

form div {
    position:relative;
    flex-wrap:wrap;
}

form .order-full div {
    flex:1 0 200px;
    margin-top: 0;
}

label {
    display: block;
    padding: calc(var(--ui-size) / 2) var(--ui-size);
}

/* label:not(:has(:not([type="checkbox"]):not([type="radio"])))
{
    background: #fff;
    top: -1rem;
    z-index: 1;
    left: calc(var(--ui-size) / 2);
} */

select {
    appearance:none;
    -webkit-appearance: none;
    background: #fff;
}

input:not(input[type="radio"], input[type="checkbox"]),
select,
textarea,
.wpcf7-date {
    width:100%;
    max-width: 100%;
    padding: calc(var(--ui-size)) calc(var(--ui-size) * 2);
    border-radius: var(--border-radius);
    border: solid thin transparent;
    margin-bottom: var(--ui-size);
    transition: all var(--transition-type) var(--transition-speed);
}

input:not(input[type="radio"], input[type="checkbox"]):focus-visible,
select:focus-visible,
textarea:focus-visible,
input:not(input[type="radio"], input[type="checkbox"]):focus,
select:focus,
textarea:focus {
    border: solid thin var(--secondary-colour);
}

.order-full input:not(input[type="radio"], input[type="checkbox"]),
.order-full select,
.order-full textarea,
.wpcf7-form-control-wrap {
    display:block;
    width:100%;
}

.wpcf7-date {
    appearance: none;
    background: #fff;
}

select {
    padding-right:unset;
}

.wpcf7-spinner {
    position: absolute;
}

input:focus {
    font-size:1rem;
}

.wpcf7-list-item {
    display:block;
    margin:0;
}

.wpcf7-form-control-signature-wrap {
    border-radius: var(--border-radius);
    border:solid thin var(--secondary-colour);
    margin-bottom:2rem;
}

/*
 * Animations
 */

@keyframes animate-logo {
    0% {
        opacity:0;
        transform:translateX(-5vw);
    }
    100% {
        opacity: 1;
        transform:translateX(0);
    }
}

@keyframes slide-left-fade-in {
    from {
        opacity: 0;
        transform: translateX(-10vw);
    }
}

@keyframes slide-up-fade-in {
    from {
        opacity: 0;
        transform: translateY(5vh);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@media (prefers-reduced-motion: no-preference) {
    .animate {
        opacity: 0;
        transform: translateY(0);
    }

    .animate-logo img {
        animation-delay: var(--transition-delay); 
        animation-name: animate-logo;
        animation-timing-function: var(--transition-type);
        animation-duration: calc(var(--transition-speed) * 5);
        animation-iteration-count: 1;
        animation-fill-mode: forwards;
    }

    .slide-left-fade-in {
        view-timeline-name: --item-timeline;
        animation: slide-left-fade-in both;
        animation-timeline: --item-timeline;
        animation-range: contain 0% contain 50%;
    }
    .slide-up {
        animation-name: slide-up-fade-in;
        animation-timing-function: var(--transition-type);
        animation-duration: calc(var(--transition-speed) * 5);
        animation-iteration-count: 1;
        animation-fill-mode: forwards;
    }
} 

/*
 * Tabs
 */

.nav-link {
    font-weight: bold;
    color:#333;
    background: var(--secondary-colour);
}

.nav-link:hover,
.nav-link:focus {
    color:var(--main-colour);
}

.nav-pills .nav-link.active {
    background: var(--main-colour);
    color:#222;
}

.nav-pills .nav-link.active:hover {
    cursor: default;
}

/*
 * Navigation
 */
 
 nav ul {
    padding-left:0;
    margin-bottom: 0;
}

nav li {
    list-style:none;
}

nav a {
    text-decoration: none;
    display:block;
}

/*
 * Header
 */

header {
    transition: all var(--transition-type) var(--transition-speed);
    z-index: 10;
}

header h2 {
    margin:0;
}

.logo {
    padding-block: calc(var(--ui-size) / 2);
    transition: all var(--transition-type) var(--transition-speed);
    max-width: 200px;
}

header:has(button[aria-expanded="true"]) .logo {
    background: transparent;
    filter:grayscale(1) brightness(10);
}

header nav > ul {
    display:flex;
    align-items: center;
    transition: all var(--transition-type) var(--transition-speed);
}

header:has(button[aria-expanded="true"]) nav > ul {
    padding-bottom: var(--ui-size);
}

header nav .navbar-collapse {
    align-items: stretch;
}

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

header nav a {
    font-weight: bold;
    padding:1rem;
    color: #fff;
}

header {
    background: var(--main-dark-colour, #333);
}

header nav li.current-menu-item:not(.button) > a {
    color:var(--light-colour);
}

header:has(button[aria-expanded="true"]) {
    background: var(--main-dark-colour);
}

header:has(button[aria-expanded="true"]) a {
    color:#fff;
}

header:has(button[aria-expanded="true"]) nav li.current-menu-item:not(.button) > a {
    color: #eee;
}

header nav .menu-item-has-children > a:after {
    content:"\f054";
    font-family: var(--fa-style-family,"Font Awesome 6 Free");
    font-weight: bold;
    position: absolute;
    right:.5rem;
    transform:rotate(0deg);
    transition: all var(--transition-type) var(--transition-speed);
}

header nav .menu-item-has-children.open > a:after,
header nav .menu-item-has-children:focus > a:after {
    transform:rotate(90deg);
}

header nav .menu-item-has-children > .sub-menu {
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    transition: all var(--transition-type) var(--transition-speed);
}

header nav .menu-item-has-children.open > .sub-menu {
    max-height:100svh;
    opacity: 1;
}

.navbar-toggler-icon {
    --burger-height: 5px;
    background-image: none!important;
    width: 40px;
    margin: 20px 0;
    position: relative;
    transition: all 0.35s ease-out;
    transform-origin: center;
}

.navbar-toggler-icon::before {
    display: block;
    content: "";
    position: relative;
    top: -15px;
    transition: all 0.15s ease-out;/*taken down to hide quicker*/
    transform-origin: center;
}

.navbar-toggler-icon::after {
    display: block;
    content: "";
    position: relative;
    top: 10px;
    transition: all 0.35s ease-out;
    transform-origin: center;
}

.navbar-toggler-icon,
.navbar-toggler-icon:before,
.navbar-toggler-icon:after {
    background-color: var(--light-colour);
    height: var(--burger-height);
    border-radius: var(--burger-height);
}

header:has(button[aria-expanded="true"]) .navbar-toggler-icon,
header:has(button[aria-expanded="true"]) .navbar-toggler-icon:before,
header:has(button[aria-expanded="true"]) .navbar-toggler-icon:after {
    background: #eee;
}

.navbar-toggler:not(.collapsed) .navbar-toggler-icon {
    transform: rotate(45deg);
}

.navbar-toggler:not(.collapsed) .navbar-toggler-icon::before {
    opacity: 0;
}

.navbar-toggler:not(.collapsed) .navbar-toggler-icon::after {
    transform: rotate(-90deg) translateX(15px);
}

/*
 * Hero Section
 */

 .hero {
    min-height: 70svh;
 }

.hero[data-overlay="true"]:before {
    background: var(--_overlay);
}

header:has(:not(button[aria-expanded="true"])) + .pull-top .hero {
    padding-top: calc(var(--section-padding) + var(--ui-size));
}

.swiper {
    position:relative;
    height:auto;
    isolation: isolate;
    z-index: 1;
}

.swiper .swiper-slide {
    height:auto;
}

.slide-content-wrapper,
.hero-content-wrapper {
    min-height: 50vh;
    padding: 5rem 0;
    height:100%;
    gap:1rem;
}

.slide-content-wrapper:before,
.hero-content-wrapper:before {
    content: " ";
    position: absolute;
    inset: 0;
    background:rgba(0,0,0,.7);
    z-index: -1;
}

.slide-content,
.slide-buttons {
    position: relative;
    z-index: 10;
}

.slide-content {
    color:#fff;
    margin-inline: var(--gap-size);
}

.slide-content h2,
.slide-content h3,
.slide-content p,
.slide-buttons > a {
    opacity: 0;
}

.slide-content h2,
.slide-content h3,
.slide-content p {
    transition: all var(--transition-type) var(--transition-speed);
}


.slide-content h2,
.slide-content h3,
.slide-content p {
    transform:translateX(-2rem);
}

.slide-buttons > a {
    transform:translateY(2rem);
}

.slide-content h3 {
    font-size:1rem;
    transition-delay: calc(var(--transition-delay) + .7s);
}

.slide-content h2 {
    transition-delay: calc(var(--transition-delay) + .8s);
}

.slide-content p {
    transition-delay: calc((var(--transition-delay) + .9s));
}

.slide-buttons > a:first-child {
    transition: all var(--transition-type) var(--transition-speed),
                opacity var(--transition-type) var(--transition-speed) calc((var(--transition-delay) + 1s)),
                transform var(--transition-type) var(--transition-speed) calc((var(--transition-delay) + 1s));
}

.slide-buttons > a:last-child {
    transition: all var(--transition-type) var(--transition-speed),
                opacity var(--transition-type) var(--transition-speed) calc((var(--transition-delay) + 1.1s)),
                transform var(--transition-type) var(--transition-speed) calc((var(--transition-delay) + 1.1s));}

.swiper-slide-active .slide-content h2,
.swiper-slide-active .slide-content h3,
.swiper-slide-active .slide-content p,
.swiper-slide-active .slide-buttons > a {
    transform:translateY(0);
    opacity: 1;
}

.slide-content > *:last-child {
    margin-bottom:0;
}

.swiper-button-prev,
.swiper-button-next
{
    position: absolute;
    top: 50%;
    z-index: 10;
    font-size: 2rem;
    transform: translateY(100vh);
    opacity: 0;
    color: #fff;
    transition: all var(--transition-type) var(--transition-speed);
}

.swiper:hover .swiper-button-prev,
.swiper:hover .swiper-button-next
{
    transform:translateY(-50%);
    opacity:1;
}

.swiper-button-prev {
    left:1rem;
}

.swiper-button-next {
    right:1rem;
}

#breadcrumbs {
    margin-bottom:0;
}

#breadcrumbs a {
    font-weight: bold;
    color:var(--light-colour);
}

section[data-colour="true"] h1, 
section[data-colour="true"] p {
    color: var(--_colour, #fff);
}

section[data-colour="true"] a:not(.button) {
    text-decoration: underline;
    color: var(--_colour, #fff);
}

section[data-overlay="true"] {
    position: relative;
}

section[data-overlay="true"] picture:before {
    content:"";
    position: absolute;
    inset: 0;
    background: var(--_overlay);
}
section[data-overlay="true"] .container {
    position: relative;
    z-index: 1;
}

.banner {
    min-height: 30svh;
}

.banner:has(.bg-image) a:not(.button) {
    color: #fff;
    text-decoration: underline;
}

.header-image {
    max-height: 30svh;
    overflow: hidden;
}

.single-service .banner picture {
    max-height: 30svh;
}

.single-service .banner img {
    object-fit: cover;
    object-position: center;
}

.accent {
    bottom: -1px;
    pointer-events: none;
}

.accent svg {
    display:block;
    width:100%;
}

.accent[data-fill] path {
    fill: var(--_fill, #eee);
}

/*
 * Main Content
 */

main {
    transition: all var(--transition-type) var(--transition-speed);
}

main.pull-top {
    margin-top: var(--header-height, -95px);
}

header:has(button[aria-expanded="true"]) + main.pull-top {
    margin-top: 0;
}

main > section,
.section-padding {
    padding-block: var(--section-padding);
    position:relative;
}

section:not(.hero, .bg-light, .banner, [data-bg="true"]) + 
section:not(.bg-light, .banner, [data-bg="true"]) {
    padding-top: 0;
}

section[data-bg="true"] {
    background: var(--_background, #333);
}

section[data-colour="true"] {
    color: var(--_colour, #fff);
}

.noPad {
    padding:0;
}

.row > * {
    padding-right: calc(var(--bs-gutter-x) * 1);
    padding-left: calc(var(--bs-gutter-x) * 1);
}

/*
 * Owl Carousel
 */

 .row.owl-carousel {
    display: none;
    width: calc(100% - var(--bs-gutter-x) );
 }

 .owl-carousel.align-items-center .owl-stage {
    display:flex;
    align-items: center;
}

.owl-carousel.align-items-center .owl-stage img {
    width: auto;
}

/*
 * Logos
 */

.logos[data-overlay="true"]:before {
    z-index: 10;
    pointer-events: none;
}
/*
.logo-img img {
    transition: all var(--transition-type) var(--transition-speed);
    filter: sepia(1) hue-rotate(150deg) saturate(1.1);
    opacity: .75;
}*/
/*
.logo-img:hover img,
.logo-img:focus img {
    filter: sepia(0) hue-rotate(0deg) saturate(1);
    opacity: 1;
} */

/*
 * Cards
 */

.card-wrapper {
    display:flex;
    gap: var(--gap-size);
    isolation: isolate;
    margin-inline: var(--gap-size);
}

.row.card-wrapper {
    margin-inline: calc(var(--gap-size) / 2 );
    align-items:stretch;
}

.row.card-wrapper:before,
.row.card-wrapper:after {
    content: unset;
}

.row.card-wrapper > .card {
    height:inherit;
}

.card-wrapper.noGap {
    gap:0;
}

.card-wrapper.noGap > div {
    padding-inline: 0;
}

.card {
    padding:0;
    border-radius: var(--border-radius);
    border-color: transparent;
    box-shadow: 0 1.25rem 1rem 0.25rem rgba(var(--main-colour-rgb),0.05);
    transform:scale(1);
    z-index: 1;
    transition:all var(--transition-type) var(--transition-speed);
}

.card.noShadow {
    box-shadow: unset;
}

.card.noBorder {
    border: unset;
}

.card-block {
    border-radius:0;
}
.card-block:nth-child(2n) {
    background:rgba(0,0,0,.4);
}
.card-block:nth-child(2n + 1) {
    background:rgba(0,0,0,.5);
}
.card-block:nth-child(4n) {
    background:rgba(0,0,0,.6);
}
.card-block:nth-child(4n + 1) {
    background:rgba(0,0,0,.7);
}

.zoom .card:hover {
    z-index: 10;
    transform: scale(1.05);
    box-shadow: 0 0 2rem rgba(0,0,0, .1);
}

.card picture {
    display: block;
    max-height: 15rem;
    overflow: hidden;
    border-radius: var(--border-radius) var(--border-radius) 0 0;
}

.card picture img {
    object-fit: cover;
    object-position: contain;
    width: 100%;
    height:100%;
}

.card-wrapper .title {
    font-size:1.2rem;
    margin-bottom:0;
}

.card-content {
    padding:2rem;
    text-align: left;
}

.reveal .card-wrapper > div {
    overflow: hidden;
}

.reveal .card-wrapper .card-content {
    transform: translateY(calc(100% - 4rem));
    height: 100%;
    background: rgba(var(--secondary-colour-rgb), .8);
    transition:all var(--transition-type) var(--transition-speed);
}

.reveal .card-wrapper .header {
    transform: translateY(-1rem);
    transition:all var(--transition-type) var(--transition-speed);
}

.reveal .card-wrapper > div:hover .card-content,
.reveal .card-wrapper > div:focus .card-content,
.reveal .card-wrapper > div:focus-within .card-content,
.reveal .card-wrapper > div:hover .header,
.reveal .card-wrapper > div:focus .header,
.reveal .card-wrapper > div:focus-within .header {
    transform: translateY(0);
}

.card .header,
.card-block .header {
    display:flex;
    gap: var(--gap-size);
}

.card .header {
    align-items: center;
}

.card-block .header {
    align-items:flex-start;
}

.card-content p {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;  
    overflow: hidden;
}

.card-content .noClamp,
.noClamp .card-content p {
    display:block;
    -webkit-line-clamp: unset;
    -webkit-box-orient: unset;  
}

.icon-button {
    display: flex;
    background: var(--main-colour);
    aspect-ratio: 1;
    border-radius: 100%;
    justify-content: center;
    align-items: center;
    color: #fff;
    width: 5rem;
    font-size:2rem;
    line-height: 1;
}

.icon-top {
    position:absolute;
    padding:.75rem;
    left:50%;
    transform:translateX(-50%);
    top:-1.5rem;
}

.icon-top + .card-content {
    padding-top:3rem;
}

/*
 * Testimonials
 */

.owl-item {
    padding: 1rem;
}

.testimonial .fa-quote-left {
    font-size: 6rem;
    position: absolute;
    z-index: -1;
    color: var(--main-colour);
    opacity: .05;
    top: 0;
    left: 1rem;
}

.testimonial .card-content .footer img {
    width:auto;
}

/*
 * Footer
 */

footer {
    background: var(--main-dark-colour);
    color: var(--white);
}

footer .footer-bottom {
    background: #19283d;
}

footer .container {
    padding-block:3rem;
}

footer .flex {
    gap: calc(var(--gap-size) / 2);
}

footer ul {
    margin:0;
    padding:0;
}

footer li {
    list-style:none;
    padding-block: 0.25rem;
}

footer li a {
    display:inline-block;
}

footer a {
    color: var(--light-colour);
}

footer a:hover {
    color:var(--secondary-colour);
}

.footer-logo {
    margin: 0 auto 1rem;
}

footer .opening-times li {
    font-weight: 700;
}

footer .opening-times li span {
    font-weight: 400;
}

.terms-menu {
    justify-content: center;
}

/* Ivory Search fixes */
.is-search-icon {
    padding-top: 3px!important;
}

/*Branches Page*/

.branch-content h3, .blog-content h3, .tile-content h3 {
    padding-bottom: 0;
    margin-bottom:1rem;
}
.branchTile, .vaccinationTile {
    margin-bottom: 70px;
    box-shadow: 0 0 10px 0 #e3e3e3;
    border-radius: .75rem;
    overflow: hidden;
}
.branchTile .featured-image img, .vaccinationTile .featured-image img {
    object-fit: cover;
}
.branchTile .branch-content, .tile-content {
    padding:2rem;
}

.branchTile .branch-content p:last-of-type,
.tile-content p:last-of-type,
.blog-content p:last-of-type {
    margin-bottom: 0;
}
.branchTile .cta-block, .blogTile .cta-block, .vaccinationTile .cta-block {
    padding: 0 2rem 2rem;
}

/*Branch Page*/

.branchPage .right-sidebar{
    margin-bottom: 40px;
    box-shadow: 0 0 10px 0 #e1e1e1;
    border-radius: 0.75rem;
    overflow: hidden;
    padding: 20px 15px;
}

.branchPage .left-area, .branchPage .right-area{
    margin-bottom: 40px;
    box-shadow: 0 0 10px 0 #e1e1e1;
    border-radius: 0.75rem;
    overflow: hidden;
    padding: 20px 15px;
}

.branchPage h3 {
    margin-bottom:1rem;
}

.branchPage li {
    list-style:none;
}
.branchPage .map-embed {
    padding: 0;
}
.branchPage .map-embed iframe {
    width: 100%;
}
.right-sidebar{
    margin-bottom: 40px;
    box-shadow: 0 0 10px 0 #e1e1e1;
    border-radius: 0.75rem;
    overflow: hidden;
    padding: 20px 15px;
}

.vaccinationList {
    list-style-type: none;
}

.vaccinationList h4 {
    color: var(--main-colour);
    font-size: 1.2rem;
    border-bottom: 1px solid;
    border-color: #e6e6e6;
    padding: 10px 0px;
}

.vaccinationList h4:hover {
    color: var(--secondary-colour);
}
.branch-map iframe {
    height:30vh;
    width: 100%;
}

footer {
    color: #ddd!important;
}
footer[data-footer-bg] {
    background: var(--footer-bg-colour, #333)!important;
}

footer[data-heading-colour] *:is(h1,h2,h3,h4,h5) {
    color: var(--footer-heading-colour, var(--main-color, #fff))!important;
}

footer[data-text-colour] {
    color: var(--footer-text-colour, #fff)!important;
}

footer[data-link-colour] *:is(a, i) {
    color: var(--footer-link-colour, var(--main-color, #fff))!important;
}


section[data-header-cta-colour] *:is(h1,h2,h3,h4,h5), section[data-header-cta-colour] *:is(p) {
    color: var(--header-cta-colour, var(--main-color, #fff))!important;
}


/**********Bottom footer***********/

footer section.footer-bottom{
    color: var(--footer-bottom-text-colour, #fff)!important;
	background: var(--footer-bottom-bg-colour, #333)!important;
}


footer[data-bottom-text-colour] *:is(h1,h2,h3,h4,h5,p,li) {
    color: var(--footer-bottom-text-colour, var(--main-color, #fff))!important;
}

footer section.footer-bottom[data-bottom-link-colour] *:is(a, i) {
    color: var(--footer-bottom-link-colour, #fff)!important;
}

footer section.footer-bottom[data-bottom-link-hover-colour] a:hover {
    color: var(--footer-bottom-link-hover-colour, var(--main-color, #fff))!important;
}


.scroll-up-btn {
    background-color: var(--theme-secondary-color) !important;
}
.scroll-up-btn {
    width: 50px;
    height: 50px;
    border: 2px solid #ffffff;
    -webkit-border-radius: 25px;
    -moz-border-radius: 25px;
    border-radius: 25px;
    position: fixed;
    bottom: 44px;
    right: 64px;
    display: none;
    background-color: #e5d8e9;
    text-align: center;
    line-height: 46px;
    font-size: 24px;
}
.scroll-up-btn i {
    color: #ffffff;
}

.content-width iframe {
    margin: 20px 0;
}

.right-sidebar{width:100%}
.right-area {
    width: 100%;
}
/*
.single .content-width .button.button-secondary.button-icon{
display: flex;
 width: fit-content;
 margin-top: 20px;
}*/



#scrollBtn{display: flex;
padding: 0px;
align-items: center;
justify-content: center;}

ul#menu-main {
    margin-top: 0px;
}

.row {
    width: auto!important;
}

@media (min-width:992px)
{
.split{position: relative;}	
.split picture{
    position: absolute;
    left: 50%;
    width: 50%;
    float: right;
    top: 0px;
    bottom: 0px;
}	

.split picture{
left: 50% !important;
}
.split .flex-lg-row-reverse  picture{
left:0% !important;
}

.split .flex-lg-row-reverse .section-padding{
padding-left:80px !important;
}
	
}
.left-section .thumbnail img{border-radius: 15px;}

.right-section .is-title a{color:rgb(131 12 188 / 80%);font-weight: 900;font-size: .875em;}
.right-section .is-search-content .is-ajax-result-description{color:#020134}

.branch {
    margin-bottom: 20px;
    position: relative;
    border-bottom: 1px solid #80808038;
	padding-bottom: 10px;
	
}
.branch h3{font-size: 21px;}

.single-post .container.content-width *:is(h1,h2,h3,h4,h5,h6) {margin-top: 1rem;}

.banner picture:before{
        content: "";
        position: absolute;
        inset: 0;
        --_overlay: linear-gradient(270deg, rgba(255,255,255,0.4) 50%, rgba(18,146,202,0.6) 75%, rgba(19,160,74,1) 100%);
        --_overlay: #00000085;
         background: var(--_overlay);
}

ul.vaccinationList {
    padding: 0px;
}
.right-sidebar {
    padding: 20px;
}
.right-sidebar h3 {
    font-weight: bold;
}

.branchPage h3, .branchPage p, .branchPage li, .branchPage a, .branchPage i, .branchPage ul{color:#020134;} 

.branch-map iframe {
    height: 200vh;
    width: 100%;
}

.content-width h2, .content-width h3, .content-width h4, .content-width h5, .content-width h6{margin: 15px 0;}
.content-width p, .content-width .col-12 {    color: #020134;}
.bookly-form{
    margin-top: 20px !important;
    float: left;
    width: 100%;
}

.banner h1{color:#fff;}

.single-service .banner picture {
    max-height: 50svh;
}

/*.pharmacy-first .banner p{color:#fff!important;}*/
/*
.branchPage ul li {
    display: block;
    list-style-type: disc!important;
    margin-block-start: 1em;
    margin-block-end: 1em;
    margin-inline-start: 0px;
    margin-inline-end: 0px;
    padding-inline-start: 40px;
    unicode-bidi: isolate;
}
branchPage ol li  {
    display: block;
    list-style-type: decimal!important;
    margin-block-start: 1em;
    margin-block-end: 1em;
    margin-inline-start: 0px;
    margin-inline-end: 0px;
    padding-inline-start: 40px;
    unicode-bidi: isolate;
}
*/

/*.banner .container p{color:#fff;} */

header nav .login-register > a:after{content: " ";}

.scroll-up-btn i {
    color: #19cf6a;
}
#scrollBtn {
    border: 2px solid #19cf6a;
}

#conditions.container-conditions {
    background: #13bfb10d;
}


.icon-wrapper {
    position: absolute;
    width: 8rem;
    aspect-ratio: 1;
    background: #fff!important;
    border-radius: 100%;
    left: 50%;
    top: 0;
    transform: translate(-50%, -50%);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 2;
    border: solid thin var(--dark_blue);
    transition: all ease .3s;
    overflow: hidden;
    background: var(--white);
    transform: translate(-50%, calc(-50% - .5rem));
    border: 1px solid #830cbc !important;
}


.pm-shadow {

box-shadow: 0 0 1rem rgb(40 66 51 / 10%), 0.1!important;
}

#contact h3.heading{
    font-weight: bold;
    margin-bottom: 30px;
}

#pmLoginModal .modal-body .upw__button, form#register-modal-form #submitRegister {
    background: #712fb0 !important;
    margin-top: 10px;
    color: #fff !important;
}
.modal-content.registering {margin-top: 10%;}


.left-area ul, ul.opening-times {
    list-style: none;
    padding: 0px;
}

.branch-map p{margin-bottom: 0px!important;}

footer .opening-times li {
    font-weight: normal!important; 
}


.bg-theme-style-2 {
    background: #13bfb10d !important;
}
.pb-100 {
    padding: 100px 0 !important;
}

.vaccinationList li h4{margin-bottom:0px;}

.branchPage li {
    list-style: inherit!important;
}

.content-width p a{color: rgba(var(--main-colour-rgb), 1);}
.content-width p a.button-primary{color: #fff;}

.single-service section.service-content{padding-top: 2rem;}

dl, ol, ul {
    margin-top: 1rem;
    margin-bottom: 1rem;
}

p .button-secondary{color:#fff;}
.banner-cta .button{margin-right:40px;}

.upw__sidebar ul.upw_menu li a {
    color: #830cbc;
}

.bookly-btn {
    background: #17b85e!important;
}

.bookly-form .picker__frame * {
    color: #000 !important;
}

.bookly-form .bookly-schedule-date, .bookly-form .bookly-columnizer .bookly-day {
    background: #712fb0;
}

    .bookly-columnizer .bookly-hour:hover .bookly-hour-icon span {
        background: #712fb0;border: 2px solid #712fb0;
}

.bookly-columnizer .bookly-hour:hover {
        border: 2px solid #712fb0;
    }
	
.bookly-checkbox-group > input[type='checkbox']:not(:checked) + label > i {
    border: 1px solid #712fb0;
}	
	
@media (hover) {
    .bookly-columnizer .bookly-hour:hover {
        border: 2px solid #712fb0!important;
    }
}	
	
.branch .branch-name a h3 {
    font-size: 18px;
    color: #020134;
    font-weight: 500;
}	
	
.logos picture img{
    border-radius: var(--border-radius) !important;
}	
	
.services  a.button, .services li.button > a, .services a.custom-button, .services li.custom-button > a, .services input.input.button, .services button {
    padding: 15px!important;
}
	
.services a.text-center.button.button-primary.button-icon{padding: 15px!important;}	

ol, ul {
    list-style: inherit;
}

@media (min-width: 1200px) {
    .container, .container-lg, .container-md, .container-sm, .container-xl {
        max-width: 1260px;
    }
	
	.h3, h3 {
        font-size: 1.35rem;
    }
	
	.h4, h4 {
        font-size: 1.25rem;
    }
	
	.branch-content {
    min-height: 155px !important;
}
ul.opening-times li {
    line-height: 37px;
}	

header.position-sticky.desktop-sticky .animate-logo img{width:120px}

header.position-sticky.desktop-sticky.transparent .animate-logo img {
        width: 160px;
    }
header.position-sticky.desktop-sticky.transparent .logo {
        padding-block: 0px;
    }	


#menu-quick-links li.menu-my-account, #menu-quick-links li.menu-logout, #menu-quick-links li.login-register{display:none;}

.testimonils .owl-carousel.align-items-center .owl-stage img {
    width: 100px;
}

/*******update main menu********/

.testimonial-content span { color:#020134;}

.page-template-prescription .banner .banner-cta .button {     margin-right: 0px;}
.banner img.nhs-logo{margin: 0 auto;    margin-top: 20px;}

header.position-sticky.desktop-sticky nav ul li.mcta-1 a{
    background: rgba(var(--main-colour-rgb), .8);
    border-radius: 50px;padding: 10px 1rem;
    margin-right: 10px;
}

header.position-sticky.desktop-sticky nav ul li.menu-my-account a, header.position-sticky.desktop-sticky nav ul li.login-register a, header.position-sticky.desktop-sticky nav ul li.menu-logout a{
	 background: var(--upw-primary-color);
    border-radius: 50px;
	padding: 10px 1rem;
    margin-right: 10px;
	
}
li.menu-item.menu-item-has-children.upw.login-register a{padding-right:1rem!important;}


header.position-sticky.desktop-sticky nav ul li.login-register a, header.position-sticky.desktop-sticky nav ul li.menu-my-account a, header.position-sticky.desktop-sticky nav ul li.mcta-1 a, header.position-sticky.desktop-sticky nav ul li.menu-logout a{
    color:#fff;
}
}

@media (max-width: 991px) {

main.pull-top {
    margin-top: 0px;
}
.banner picture.bg-image {
        left: 0;
    }
	
.logo {
    max-width: 100px;
}	

nav.h-100.d-lg-flex.navbar.navbar-expand-lg {
    height: 0px!important;
    padding: 0px!important;
}

ul#menu-main {
    background: #fff;
    color: #17b85e;
    margin-top: 0px;
}

ul#menu-main li a {
    color: #17b85e;
    border-bottom: 1px solid #80808040;
}

header:has(button[aria-expanded="true"]) .navbar-toggler-icon, header:has(button[aria-expanded="true"]) .navbar-toggler-icon:before, header:has(button[aria-expanded="true"]) .navbar-toggler-icon:after {
    background: green;
}
header:has(button[aria-expanded="true"]) .logo {
    filter: inherit;
}

.mobile-menu-open .navbar-toggler-icon {
        transform: translate3d(0, 0px, 0) rotate(45deg)!important;
    }


}

@media (max-width: 767px) {

img.nhs-logo {
    margin-top: 15px;
}
.banner-cta .button {
    margin-right: 0px;
}
.tagline{display:none;}

section.post-meta.pt-6.pb-6 {
    display: none;
}
section.post-content {  padding-top: 6rem !important;}

section.post-content p{
    text-align: left;
}

.order-2 {
    order: inherit!important;
}

header nav .menu-item-has-children > a:after {
    margin-right: 10px;
}


}

@media (hover) {
    .bookly-columnizer .bookly-hour:hover .bookly-hour-icon {
        background: none;
        border: 2px solid #712fb0!important;
    }
}

@media (max-width:767px)
{
#contact .container .row-gap-4{
display: flex !important;
}
#contact .container .row-gap-4  .col-12.col-lg-6:first-child{
order:2
}
#contact .container .row-gap-4  .col-12.col-lg-6:nth-child(2){
order:1
}
}

@media (max-width: 991px) {
    ul#menu-main li a {
        text-align: left;
    }
	
header nav .menu-item-has-children > .sub-menu {
    margin: 0px;
    padding: 0px;
}	

header nav .menu-item-has-children > a:after {
    content: "";}
	
ul#menu-main li {border-top: 1px solid #dbeefd;	}
	
	
ul#menu-main li a {
    display: block;
    width: 90%;
    padding: 1em 5%;
    margin: 0;
    text-align: left;
    color: #677294;
    border-top: none;
    text-decoration: none;
}	
	
#menu-main li a.mean-expand {
    width: 10%!important;
}
#menu-main li a.mean-expand {
    margin-top: 3px;
    height: 100%;
    padding: 12px !important;
    text-align: right;
    position: absolute;
    right: 10px;
    top: 0;
    z-index: 2;
    font-weight: 700;
    background: 0 0;
    border: none !important;font-size: 21px;text-align: center
}	

ul#menu-main li a {
        border-bottom: none;
}

ul.sub-menu {
    margin-left: 20px !important;
}

.upw.login-register a.mean-expand{display:none!important;}

ul#menu-main {
        padding-bottom: 0px;
    }
}
#register-modal-form .upw-form-control[type=file]{
    height: 50px;
}
.upw__main .upw__header ul li a{
    padding: 0 10px !important;
}