a,abbr,acronym,address,applet,b,big,blockquote,body,center,cite,code,dd,del,dfn,div,dl,dt,em,fieldset,font,form,h1,h2,h3,h4,h5,h6,html,i,iframe,ins,kbd,label,legend,object,p,pre,q,s,samp,small,span,strike,strong,sub,sup,tt,u,var {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    background: 0 0
}

img {
    margin: 0;
    padding: 0;
    outline: 0
}

body {
    line-height: 1
}

blockquote,q {
    quotes: none
}

blockquote:after,blockquote:before,q:after,q:before {
    content: '';
    content: none
}

:focus {
    outline: 0
}

ins {
    text-decoration: none
}

del {
    text-decoration: line-through
}

table {
    border-collapse: collapse;
    border-spacing: 0
}

img {
    border: 0
}

.clear {
    clear: both
}

.absolute {
    position: absolute
}

input,select,textarea {
    border-radius: 0;
    border: 1px solid #ccc;
    background: #fff;
    box-sizing: border-box
}

input,textarea {
    -webkit-appearance: none
}

:root {
    --font-size: 16px;
    --grey10: #F0F3F5;
    --grey20: #CEDBE2;
    --grey30: #C3CFD8;
    --grey40: #E5E8EA;
    --green-grad: linear-gradient(#5bbb88 0%, #e4fd52 100%);
    --navy: #032238;
    --dark-navy: #021522;
    --blue: #528DBC;
    --royal-blue: #046EC4;
    --orange: #E38A38;
    --purple: #8568D5;
    --red: #DA252A;
    --green: #5CB270;
    --cyan: #2FBEC2;
    --light-red: #FB2837;
    --light-green: #46C95A;
    --magenta: #E24DC5;
    --maroon: #AF1F6B;
    --primary-color: var(--navy);
    --secondary-color: var(--green);
    --cta-primary-btn-bg: linear-gradient(20deg, rgba(91,187,136,1) 30%, rgba(168,224,106,1) 80%, rgba(225,221,83,1) 100%);
    --cta-primary-btn-bg: linear-gradient(90deg, rgba(91,187,136,1) 0%, rgba(142,212,116,1) 50%, rgba(244,242,105,1) 100%);
    --cta-primary-btn-border: #5CB270;
    --btn-radius: 3em;
    --section-radius: 40px;
    --radius: 1em;
    --round: 5em;
    --card-radius: 20px;
    --card-light-bg: white;
    --card-light-text: var(--navy);
    --card-dark-bg: var(--navy);
    --card-dark-text: white;
    --card-padding: 2em;
    --header-height: 150px;
    --gap: 2em;
    --radius: 40px;
    --shadow: 0 0 20px rgba(3, 34, 56, .4);
    --red-grad: linear-gradient(0deg, rgba(180,9,55,1) 0%, rgba(218,37,42,1) 50%, rgba(240,15,93,1) 100%);
    --orange-grad: linear-gradient(0deg, rgba(255,41,26,1) 0%, rgba(255,100,20,1) 80%, rgba(255,150,34,1) 100%);
    --blue-grad: linear-gradient(0deg, rgba(10,80,122,1) 0%, rgba(11,32,55,1) 100%);
    --purple-grad: linear-gradient(0deg, rgba(87,26,184,1) 0%, rgba(166,40,206,1) 60%, rgba(240,77,179,1) 100%);
    --cyan-grad: linear-gradient(0deg, rgba(25,113,232,1) 0%, rgba(35,190,226,1) 80%, rgba(27,224,201,1) 100%);
    --green-dark-grad: linear-gradient(0deg, rgba(12,94,96,1) 0%, rgba(12,132,118,1) 60%, rgba(63,209,91,1) 100%);
    --input-radius: .5em;
    --input-border: var(--navy);
    --select-border: var(--navy);
    --select-focus: var(--green);
    --select-arrow: var(--select-border);
}

@font-face {
    font-family: 'Montserrat';
    src: url('/Montserrat-Variable.ttf') format('truetype-variations');
    font-weight: 100 900;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Montserrat';
    src: url('/Montserrat-Italic-Variable.ttf') format('truetype-variations');
    font-weight: 100 900;
    font-style: italic;
    font-display: swap;
}

* {
    padding: 0;
    margin: 0;
    box-sizing: border-box;
}

html {
    min-height: 100%;
}

body {
    display: grid;
    height: 100vh;
    font-family: 'Montserrat', arial, helvetica, sans-serif;
    font-size: var(--font-size);
    background: white;
    font-weight: 400;
    color: var(--navy);
    overflow-x: hidden;
}

section#menu {
    padding: 0;
}

section {
    padding: 4rem 0;
}

.textSection {
    position: relative;
}

.container {
    margin: auto;
    position: relative;
    width: 100%;
    padding: 0;
    max-width: 1800px;
    padding: 0 10px;
}

h1 {
    font-size: 80px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: -.05em;
    line-height: .9em;
}

h2 {
    font-size: 70px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: -3px;
    color: var(--navy);
    padding: 0;
}

h2.center {
    text-align: center;
}

h2.center span {
    text-align: center;
    margin: 0 auto;
}

h2 span {
    display: block;
    font-size: 40px;
    font-weight: 700;
    color: var(--green);
    font-family: Montserrat;
    letter-spacing: 0.12em;
    margin-bottom: .2em;
    line-height: 47px;
    text-align: left;
}

h2.style-two {
    font-size: 3rem;
}

h3 {
    padding-top: .8em;
    font-size: 50px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 2px;
    position: relative;
}

h4 {
    padding-top: .8em;
    font-size: 20px;
    font-weight: 700;
    position: relative;
}

h5 {
    padding-top: .8em;
    font-size: 20px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    position: relative;
}

p {
    font-family: Montserrat;
    font-weight: normal;
    font-size: 18px;
    line-height: 32px;
    text-align: left;
    color: inherit;
}

button {
    outline: 0;
    border: 0;
    padding: 0;
}

a {
    text-decoration: none;
    color: inherit;
}

main a {
    position: relative;
    color: inherit;
    text-decoration: none;
    font-weight: 700;
    color: var(--royal-blue);
    transition: all .3s ease;
}

main a:hover {
    color: var(--green);
}

main a:after {
    content: '';
    position: absolute;
    bottom: -2px;
    left: 0;
    display: block;
    width: 0;
    height: 2px;
    background: var(--green);
    transition: all .1s ease;
}

main a:hover:after {
    width: 100%;
}

ul {
    margin: 0;
    padding: 0;
}

ul li {
    margin: 0 0 .5em;
    padding: 0;
    list-style-type: none;
}

ol {
    margin: 0;
    padding: 0;
    list-style: none;
    counter-reset: counter;
}

ol li {
    padding: 0;
    list-style-type: ;
    counter-increment: counter;
    margin: 0 0 .8em;
}

ol li::before {
    content: counter(counter) ". ";
    color: inherit;
    font-weight: bold;
}

.siteContent ol li {
    position: relative;
    counter-increment: counter;
    margin: 0 0 .8em;
    padding-left: 32px;
    line-height: 1.2em;
}

.siteContent ol li:before {
    position: absolute;
    left: 0px;
}

.siteContent ol li a:after {
    display: none;
}

.siteContent li {
    font-size: 18px;
}

.siteContent ul li {
    font-weight: 500;
}

.siteContent ul li {
    position: relative;
    padding-left: 20px;
}

.siteContent ul li:before {
    content: '';
    display: inline-block;
    background: url(files/check.svg) no-repeat center center / contain;
    width: 12px;
    height: 12px;
    margin-right: .5em;
    color: var(--green);
    position: absolute;
    left: 0;
    top: 2px;
}

.grid-12 {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--gap);
    align-items: center;
}

.grid-6-6 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--gap);
    align-items: center;
}

.grid2 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--gap);
    align-items: center;
}

.grid-4-4-4 {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: var(--gap);
    align-items: center;
}

.grid-4-8 {
    display: grid;
    grid-template-columns: 1fr 2fr;
    gap: var(--gap);
}

.grid-8-4 {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: var(--gap);
    align-items: center;
}

.grid-3-9 {
    display: grid;
    grid-template-columns: 1fr 3fr;
    gap: var(--gap);
}

.grid-9-3 {
    display: grid;
    grid-template-columns: 3fr 1fr;
    gap: var(--gap);
}

.grid-2-10 {
    display: grid;
    grid-template-columns: 2fr 10fr;
    gap: var(--gap);
}

.grid-10-2 {
    display: grid;
    grid-template-columns: 10fr 2fr;
    gap: var(--gap);
}

.grid-9-3 {
    display: grid;
    grid-template-columns: 9fr 3fr;
    gap: var(--gap);
}

.grid-3-9 {
    display: grid;
    grid-template-columns: 3fr 9fr;
    gap: var(--gap);
}

.grid-3-3-3-3 {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: var(--gap);
}

.sub-btn-wrap {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-wrap: wrap;
    padding-top: 2em;
    display: grid;
    gap: 1em;
    max-width: 800px;
    position: relative;
    z-index: 1;
}

.sub-btn-wrap .cta-btn {
    min-width: 400px;
}

.sub-btn-wrap a:first-child {
    margin-right: 1em;
}

.cta-btn {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    z-index: 1;
    width: fit-content;
    font-weight: 700;
    background: white;
    color: var(--green);
    border-radius: var(--round);
    border: 2px solid var(--green);
    padding: .9em 1.6em;
    line-height: normal;
    font-size: 24px;
    overflow: hidden;
    transition: all .3s ease;
    cursor: pointer;
}

.cta-btn:hover {
    background: var(--green);
    color: white;
}

.cta-btn.primary {
    color: white;
    text-shadow: 1px 1px 4px var(--green);
    border-color: var(--cta-primary-btn-border);
    background: transparent;
    cursor: pointer;
}

.cta-btn.primary:before {
    content: '';
    display: block;
    width: 130%;
    height: 100%;
    box-shadow: 1px 1px 10px transparent;
    background: var(--cta-primary-btn-bg);
    background-size: 120%;
    position: absolute;
    left: 0%;
    transition: all .3s ease;
    z-index: -1;
    cursor: pointer;
}

.cta-btn.primary:hover:before {
    left: -28%;
}

.cta-btn.primary:hover {
    box-shadow: 1px 1px 10px rgb(var(--green), 20%);
}

.cta-btn.primary:hover .icon {
    transform: translateX(10px)
}

.cta-btn .icon {
    display: inline-block;
    margin-right: .8em;
    width: 30px;
    height: 30px;
    transform: translateX(0px);
    transition: all .3s ease;
    fill: var(--green);
}

.cta-btn.secondary:hover .icon {
    fill: white;
}

body.scroll-up,body.scroll-down {
    --header-height: 116px;
}

body.scroll-down {
    --header-height: 86px;
}

.scroll-down header .banner {
    padding: .5em 1em;
    height: 70px;
}

header .top-bar {
    transition: all .3s ease;
}

.scroll-up header .top-bar,.scroll-down header .top-bar {
    height: 8px;
    transition: all .3s ease;
}

.scroll-down header .top-bar *,.scroll-up header .top-bar * {
    transform: translateY(-50px);
    opacity: 0;
    transition: all .3s ease;
}

header {
    display: flex;
    flex-direction: column;
    width: 100%;
    position: fixed;
    height: var(--header-height);
    background: rgba(255,255,255,.8);
    z-index: 100;
    transition: all .2s ease;
}

header:before {
    content: '';
    width: 100%;
    height: 100%;
    height: var(--header-height);
    position: absolute;
    z-index: -1;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}

main {
    padding-top: var(--header-height);
}

header .logo {
    width: 100%;
    max-width: 250px;
    height: auto;
    margin: auto;
}

header .logo img {
    display: block;
    width: 100%;
}

header .banner {
    width: 100%;
    display: grid;
    grid-template-columns: 190px 1fr;
    gap: 2em;
    align-items: center;
    border-bottom: 1px solid rgba(0,0,0,.1);
    padding: 1em 1em;
    height: 100px;
    transition: all .3s ease;
}

header .banner .menu-wrap {
    display: grid;
    grid-template-columns: 1fr 200px;
    gap: .2em;
    width: 100%;
    max-width: 1200px;
    margin-left: auto;
}

header .banner .enquire {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    padding: .8em 1em;
    font-family: inherit;
    font-size: 14px;
    background: var(--red);
    border: 1px solid var(--light-red);
    border: none;
    color: white;
    border-radius: var(--round);
    text-transform: uppercase;
    overflow: hidden;
    transform: translateY(0);
    transition: all .3s ease;
}

header .banner .enquire:hover .icon {
    transform: translateX(-50px);
}

header .banner .enquire .icon {
    display: inline-block;
    margin-right: .5em;
    width: 20px;
    height: 20px;
    transition: all .3s ease;
}

header .banner .enquire:after {
    content: 'Click Here';
    display: flex;
    justify-content: center;
    align-items: center;
    background: var(--red-grad);
    width: 100%;
    height: 100%;
    position: absolute;
    border-radius: var(--round);
    transition: all .3s ease;
    transform: translateX(200px);
}

header .banner .enquire:hover:after {
    transform: translateX(0px);
}

header .top-bar {
    background: var(--navy);
    height: 50px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    color: white;
    padding: 8px 20px;
    transition: all .3s ease;
}

header .top-bar > div {
    transition: all .3s ease;
}

header .top-bar .phone {
    font-weight: 600;
    font-size: 1.2em;
}

header .top-bar .phone span {
    margin-right: .5em;
}

header .top-bar .btn-wrap {
    display: flex;
    justify-content: flex-end;
}

header .top-bar .btn-wrap .header-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid white;
    border-radius: var(--round);
    padding: .4em 1.6em;
    font-size: .9em;
    text-transform: uppercase;
    transition: all .3s ease;
}

header .top-bar .btn-wrap .header-btn:hover {
    background: var(--green);
}

header .top-bar .promo {
    font-size: 1em;
    padding: .3em 1em;
    text-align: center;
    line-height: 1em;
}

header .top-bar .promo .promo-heading:before {
    content: 'Self-Updatable websites from only $995';
}

header .top-bar .promo .promo-heading {
    text-transform: uppercase;
    font-weight: 700;
}

header .top-bar .btn-wrap .header-btn .icon {
    display: inline-block;
    fill: var(--green);
    width: 18px;
    height: 18px;
    margin-right: .5em;
    transition: all .3s ease;
    transform: rotate(0deg);
}

header .top-bar .btn-wrap .header-btn.sign-in:hover .icon {
    transform: rotate(360deg);
}

header .top-bar .btn-wrap .header-btn.support:hover .icon {
    animation: ring 1s ease;
}

@keyframes ring {
    10%, 90% {
        transform: translate3d(-1px, 0, 0);
    }

    20%, 80% {
        transform: translate3d(2px, 0, 0);
    }

    30%, 50%, 70% {
        transform: translate3d(-3px, 0, 0);
    }

    40%, 60% {
        transform: translate3d(3px, 0, 0);
    }
}

header .top-bar .btn-wrap .header-btn .icon img {
    width: 100%;
    height: auto;
}

header .top-bar .btn-wrap .header-btn:first-child {
    margin-right: .5em;
}

#subBannerHome,#subBanner {
    display: flex;
    flex-direction: column;
    justify-items: center;
    padding: 5vh 5vw;
    overflow: hidden;
}

#subBannerHome .container,#subBanner .container {
    max-width: 100%;
    padding: 0 2em;
}

#subBannerHome h1 {
    font-size: 120px;
    font-size: 6.5vw;
    font-size: 6vw;
}

#subBannerHome h1 > span {
    font-size: 3.25rem !important;
    line-height: 1em !important;
    letter-spacing: .1rem;
    display: block;
}

#subBannerHome h2 {
    font-size: 100px;
    font-size: 5.5vw;
    color: var(--green);
}

#subBanner h1 {
    font-size: 100px;
    font-size: 4.5vw;
}

#subBanner h1.style-two {
    font-size: 3.2vw;
}

#subBanner h1.style-three {
    font-size: 2.75vw;
}

#subBanner h2 {
    font-size: 60px;
    font-size: 2.6vw;
    font-weight: 700;
    color: var(--green);
    margin-top: .3em;
    letter-spacing: 1px;
    padding: 0;
}

#subBanner h2.style-two {
    font-size: 1.8vw;
}

#subBanner h3 {
    font-size: 60px;
    font-size: 2.6vw;
    color: var(--green);
}

#subBannerHome .content {
    position: relative;
}

#subBannerHome .content__container {
    position: relative;
    max-height: 50px;
    height: 4.5vh;
    margin-top: 0;
    overflow: hidden;
}

#subBannerHome .list {
    position: absolute;
    list-style-type: none;
    left: 0;
    animation-name: flip;
    animation-duration: 20s;
    animation-iteration-count: infinite;
    margin-top: 0px;
}

#subBannerHome h3 {
    font-size: 2.5vw;
}

#subBanner {
    padding: 10vh 0;
    background: url('thumbnaillarge/Sub-Website_Design.png') no-repeat 90% 0% / contain;
}

#section1 {
    padding-top: 0;
}

.sub-image {
    display: flex;
    justify-content: center;
    align-items: center;
}

.sub-image img {
    width: 100%;
}

@keyframes flip {
    0%, 14.66% {
        transform: translateY(0%)
    }

    16.66%, 31.32% {
        transform: translateY(-25%)
    }

    33.32%,47.98% {
        transform: translateY(-50%)
    }

    49.98%,64.64% {
        transform: translateY(-75%)
    }

    66.64%,81.30% {
        transform: translateY(-50%)
    }

    83.30%,97.96% {
        transform: translateY(-25%)
    }
}

#section1 .textSection:before,#section9 .textSection:before {
    content: '';
    display: block;
    width: 75vw;
    height: calc(100% + 20px);
    background: var(--navy) url(thumbnaillarge/bg-dark-section.jpg) no-repeat bottom center / cover;
    position: absolute;
    right: 0;
    top: -10px;
    padding: 0;
    border-radius: 40px 0px 0px 40px;
}

#section1 h3 {
    font-size: 2em;
}

#section9 .textSection:before {
    width: 80vw;
    right: auto;
    left: 0;
    top: -10px;
    padding: 0;
    border-radius: 0px 40px 40px 0px;
}

.dark-section {
    display: flex;
    align-items: center;
    position: relative;
    color: white;
    border-radius: 40px 0 0 40px;
}

.dark-section.left {
    border-radius: 0px 40px 40px 0px;
}

.dark-section h2 {
    color: white;
}

.text-section {
    padding: 2em;
}

.dark-bg {
    position: relative;
}

.dark-bg h2 {
    color: white;
}

.dark-bg .text-wrap {
    color: white;
}

.dark-bg.left:before {
    right: auto;
    left: 0;
    border-radius: 0px 40px 40px 0px;
}

.featured-image {
    display: flex;
    justify-content: center;
    align-items: center;
    padding-left: 10%;
}

.featured-image img {
    width: 100%;
}

.feature-wrap {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 2em;
    padding: 2em;
    width: 100%;
}

.feature-wrap.feature-2x2 {
    grid-template-columns: 1fr 1fr;
}

.feature-wrap.feature-2x2.dark-card {
    max-width: 1200px;
    margin: auto;
}

.feature-wrap.linked a {
    position: absolute;
    z-index: 10;
    bottom: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 60px;
    width: 100%;
    text-align: center;
    color: white;
    font-size: .9em;
    font-weight: 700;
    text-transform: uppercase;
    transform: translateY(40px);
    transition: all .4s ease;
    opacity: 0;
}

.feature-wrap.linked .card:hover:after {
    height: 60px;
    box-shadow: var(--shadow);
}

.feature-wrap.linked .card:hover a {
    opacity: 1;
    transform: translateY(0px);
}

.card {
    display: flex;
    align-items: center;
    flex-direction: column;
    width: 100%;
    background: white;
    position: relative;
    border-radius: 1em;
    color: var(--card-light-text);
    padding: 20px;
    box-shadow: var(--shadow);
    transition: all .3s ease;
    overflow: hidden;
}

.card-icon {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    max-width: 145px;
    height: 120px;
    background: transparent;
    fill: var(--cyan);
}

.card-icon img,.card-icon svg {
    width: 100%;
    height: 100%;
}

.card-heading {
    font-weight: 900;
    font-size: 26px;
    text-transform: uppercase;
    letter-spacing: 0em;
    line-height: 29px;
    text-align: center;
    margin: 1em auto .8em;
}

.card-text {
    font-weight: normal;
    font-size: 16px;
    line-height: 32px;
    text-align: center;
}

.icon-left .card {
    display: grid;
    align-items: flex-start;
    gap: 10px;
    grid-template-columns: 1fr 3fr;
    grid-template-rows: 2fr 3fr;
    grid-template-areas: "icon heading" "not text";
    text-align: left;
}

.icon-left .card .card-heading {
    grid-area: heading;
    text-align: left;
    width: 100%;
    margin: auto 0 0;
    font-size: 2.8em;
    line-height: .9em;
    max-width: 400px;
}

.icon-left .card .card-icon {
    grid-area: icon;
}

.icon-left .card .card-text {
    width: 100%;
    grid-area: text;
    text-align: left;
    padding: .5em 2em 1em 0;
    line-height: 1.8em;
}

.services-wrap {
    display: grid;
    max-width: 1400px;
    margin: auto;
}

.feature-wrap .feature:after {
    content: '';
    width: 100%;
    height: 8px;
    background: var(--cyan);
    position: absolute;
    bottom: 0;
    left: 0;
    transition: all .3s ease;
}

.feature-wrap .feature:nth-child(n + 4) {
    transform: translateX(-50%);
}

.feature-wrap.feature-2x2 .feature:nth-child(n + 3) {
    transform: translateX(-50%);
}

.feature-wrap .feature:nth-child(n + 7) {
    transform: translateX(0em);
}

.feature-wrap.feature-2x2.dark-card .feature:nth-child(3),.feature-wrap.feature-2x2.dark-card .feature:nth-child(4) {
    transform: translateX(30%);
}

.feature-wrap.feature-2x2.dark-card .feature {
    transform: translateX(-30%);
    background: var(--card-dark-bg);
    color: var(--card-dark-text);
    padding: 2em 4em 3em;
    border-radius: 40px;
    transition: all .2s ease;
}

@media all and (max-width: 1660px) {
    .feature-wrap.feature-2x2.dark-card .feature, .feature-wrap.feature-2x2.dark-card .feature:nth-child(3), .feature-wrap.feature-2x2.dark-card .feature:nth-child(4), .feature-wrap.feature-2x2 .feature:nth-child(n + 3) {
        transform: translateX(0%);
    }

    .grid-2-10 {
        grid-template-columns: 1fr;
    }
}

.feature-wrap.dark-card .feature .card-text {
    font-weight: 400;
    font-size: 18px;
    line-height: 1.5em;
    text-align: center;
}

.feature-wrap.no-icon .feature {
    padding-top: 40px;
}

.feature-wrap .feature.cyan .card-icon {
    fill: var(--cyan);
}

.feature-wrap .feature.green .card-icon {
    fill: var(--green);
}

.feature-wrap .feature.blue .card-icon {
    fill: var(--blue);
}

.feature-wrap .feature.purple .card-icon {
    fill: var(--purple);
}

.feature-wrap .feature.orange .card-icon {
    fill: var(--orange);
}

.feature-wrap .feature.maroon .card-icon {
    fill: var(--maroon);
}

.feature-wrap .feature.light-green .card-icon {
    fill: var(--light-green);
}

.feature-wrap .feature.red {
    fill: var(--red);
}

.feature-wrap .feature.magenta {
    fill: var(--magenta);
}

.feature-wrap .feature.cyan:after {
    background: var(--cyan);
}

.feature-wrap .feature.green:after {
    background: var(--green);
}

.feature-wrap .feature.blue:after {
    background: var(--blue);
}

.feature-wrap .feature.purple:after {
    background: var(--purple);
}

.feature-wrap .feature.orange:after {
    background: var(--orange);
}

.feature-wrap .feature.maroon:after {
    background: var(--maroon);
}

.feature-wrap .feature.light-green:after {
    background: var(--light-green);
}

.feature-wrap .feature.red:after {
    background: var(--red);
}

.feature-wrap .feature.magenta:after {
    background: var(--magenta);
}

.feature-wrap.no-icon .feature.cyan .card-heading {
    color: var(--cyan);
}

.feature-wrap.no-icon .feature.green .card-heading {
    color: var(--green);
}

.feature-wrap.no-icon .feature.blue .card-heading {
    color: var(--blue);
}

.feature-wrap.no-icon .feature.purple .card-heading {
    color: var(--purple);
}

.feature-wrap.no-icon .feature.orange .card-heading {
    color: var(--orange);
}

.feature-wrap.no-icon .feature.maroon .card-heading {
    color: var(--maroon);
}

.feature-wrap.no-icon .feature.light-green .card-heading {
    color: var(--light-green);
}

.feature-wrap.no-icon .feature.red .card-heading {
    color: var(--red);
}

.feature-wrap.no-icon .feature.magenta .card-heading {
    color: var(--magenta);
}

.highlight-wrap {
    display: grid;
    grid-template-columns: repeat( auto-fill, minmax(50px, 1fr) );
    grid-template-columns: 1fr 1fr;
    gap: 2em 2em;
    margin: 2em 0 1em 0;
    max-width: 260px;
    font-weight: 700;
    font-size: 14px;
}

.highlight-wrap .highlight {
    display: flex;
    justify-content: center;
    flex-direction: column;
    text-align: center;
}

.highlight-wrap .highlight div:first-child {
    font-size: 30px;
    font-weight: 900;
    margin-bottom: .2em;
}

.highlight-wrap .highlight div.icon {
    width: 36px;
    height: auto;
    margin: 0 auto;
    fill: var(--navy);
}

.highlight-wrap .highlight div.icon img {
    width: 100%;
    height: auto;
}

.text-wrap {
    padding: 1em;
}

.text-wrap p {
    margin: 2em 0 0;
}

.text-wrap .space-left {
    padding-left: 30px;
    max-width: 700px;
}

.text-wrap .cta-btn {
    margin-top: 2em;
}

.text-wrap h4 {
    font-size: 1.2rem;
    text-transform: uppercase;
    margin: 2em 0 1em;
}

.text-wrap ul {
    font-weight: 500;
    font-size: 1.1em;
    margin: 1.2em 0 1em;
}

.text-wrap ul li {
    margin: 1em 0;
}

.image-gfx {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    z-index: 5;
    max-width: 800px;
    max-height: 800px;
    margin: auto;
    width: 100%;
    height: 100%;
}

.image-gfx + .text-wrap {
    margin-top: 150px;
}

.image-gfx img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.image-gfx:before {
    content: '';
    display: block;
    width: 540px;
    height: 540px;
    border-radius: calc( var(--radius) * 3);
    background: var(--grey20);
    opacity: .4;
    position: absolute;
    bottom: auto;
    right: 110px;
    transform: rotate(25deg);
    z-index: -2;
}

.image-gfx:after {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    max-width: 450px;
    max-height: 450px;
    border-radius: calc( var(--radius) * 3);
    background: url(files/blob-v1.svg) no-repeat center center / contain;
    opacity: 1;
    position: absolute;
    top 20%; left: 10%;
    transform: rotate(25deg);
    z-index: -2;
    animation: move-blob 30s ease-in-out infinite;
}

.image-gfx.rounded {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    z-index: 5;
    width: 100%;
    height: 100%;
    max-width: 800px;
    max-height: 800px;
    margin: auto;
}

.image-gfx.rounded img {
    width: 100%;
    height: auto;
}

.image-gfx.rounded:before {
    content: '';
    display: block;
    width: 75%;
    height: 75%;
    border-radius: 120px;
    background: var(--grey20);
    opacity: .4;
    position: absolute;
    bottom: 10%;
    left: 0%;
    transform-origin: center;
    transform: rotate(25deg);
    z-index: -2;
}

.image-gfx.rounded:after {
    content: '';
    display: block;
    width: 50vw;
    height: 50vw;
    max-width: 450px;
    max-height: 450px;
    border-radius: calc( var(--radius) * 3);
    background: url(files/blob-v1.svg) no-repeat center center / contain;
    opacity: 1;
    position: absolute;
    top 20%; left: 0%;
    transform: rotate(25deg);
    z-index: -2;
    animation: move-blob 20s ease-in-out infinite;
}

@keyframes move-blob {
    0% {
        transform: scale(1) translate(10px, -30px);
    }

    38% {
        transform: scale(0.8, 1) translate(80%, 30%) rotate(160deg);
    }

    40% {
        transform: scale(0.8, 1) translate(80%, 30%) rotate(160deg);
    }

    78% {
        transform: scale(1.3) translate(0vw, 20%) rotate(-20deg);
    }

    80% {
        transform: scale(1.3) translate(0vw, 20%) rotate(-20deg);
    }

    100% {
        transform: scale(1) translate(10px, -30px);
    }
}

.blob {
    position: absolute;
    top: 0;
    left: 0;
    fill: var(--green);
    width: 20vmax;
    z-index: -1;
    animation: move 10s ease-in-out infinite;
    transform-origin: 50% 50%;
}

@keyframes move {
    0% {
        transform: scale(1) translate(10px, -30px);
    }

    38% {
        transform: scale(0.8, 1) translate(80%, 30%) rotate(160deg);
    }

    40% {
        transform: scale(0.8, 1) translate(80%, 30%) rotate(160deg);
    }

    78% {
        transform: scale(1.3) translate(0vw, 50%) rotate(-20deg);
    }

    80% {
        transform: scale(1.3) translate(0vw, 50%) rotate(-20deg);
    }

    100% {
        transform: scale(1) translate(10px, -30px);
    }
}

.blob2 {
    display: block;
    position: absolute;
    width: 100px;
    height: 100px;
    top: 0;
    left: 0;
    background: var(--red);
    width: 20vmax;
    z-index: -1;
    animation: move 10s ease-in-out infinite;
    transform-origin: 50% 50%;
}

.recent-wrap {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    padding: 2em 0;
}

.recent-wrap .device {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    background: white;
    width: 100%;
    padding: 1em;
    border: 2px solid var(--grey20);
    border-radius: 20px;
    box-shadow: var(--shadow);
}

.recent-wrap .screen {
    width: 100%;
    border-radius: .5em;
    max-height: 500px;
    border: 1px solid rgba(0,0,0,.1);
    overflow-y: scroll;
}

.recent-wrap .screen img {
    width: 100%;
    height: 100%;
}

.recent-wrap .device.tablet {
    width: 100%;
    max-width: 610px;
    padding: 1em;
    transform: translateX(0%);
}

.recent-wrap .tablet .screen {
    max-height: 760px;
}

.recent-wrap .device.mobile {
    position: relative;
    z-index: 10;
    left: 0%;
    transform: translateX(10%);
    width: 100%;
    max-width: 320px;
}

.recent-wrap .mobile .screen {
    border-radius: .5em;
    max-height: 550px;
}

.review-wrap {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    align-items: center;
    gap: 2em;
    padding: 2em;
}

.review-wrap .card-review:nth-child(n+4) {
    transform: translateX(-50%);
}

.card-review {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    background: var(--card-light-bg);
    color: var(--card-light-text);
    border-radius: 1em;
    padding: 2em;
    text-align: left;
    position: relative;
    border: 2px solid var(--grey20);
    box-shadow: var(--shadow);
}

.card-review .card-name {
    font-size: 1.1em;
    font-weight: 700;
    color: var(--navy);
}

.card-review .card-google {
    display: block;
    position: absolute;
    top: -20px;
    right: -20px;
    background: white;
    height: 60px;
    width: 60px;
    border-radius: 50%;
    padding: 10px;
    border: 2px solid var(--grey20);
}

.card-review .card-stars {
    display: flex;
    margin: 1em 0;
}

.card-review .card-text {
    text-align: left;
}

.card-review .card-stars img {
    width: 100%;
    height: 20px;
}

.card-review .card-domain {
    margin: 1em 0 0;
    font-weight: 700;
    color: var(--grey30);
}

.pricing-banner-wrap {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 8rem 0;
}

.pricing-banner {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    padding: 3em .5em;
    background: var(--navy) url(thumbnaillarge/bg-dark-section.jpg) no-repeat top center / cover;
    color: white;
    width: 100%;
    max-width: 1600px;
    border-radius: var(--section-radius);
    margin: 0 auto;
    text-align: center;
}

.pricing-banner h3 {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 .5em;
    padding: 0;
    font-weight: 900;
    font-size: 6em;
    line-height: 1em;
    letter-spacing: -1px;
}

.pricing-banner h3 span {
    font-weight: 500;
    font-size: .6em;
    margin: 0 .6em;
}

.pricing-banner .cta-btn {
}

.pricing-banner-wrap .price-blob-wrap {
    position: absolute;
    z-index: -1;
    display: flex;
    justify-content: center;
    align-items: center;
}

.pricing-banner-wrap .price-blob-wrap:before,.pricing-banner-wrap .price-blob-wrap:after {
    content: '';
    position: absolute;
    right: 20%;
    z-index: -1;
    background: var(--grey10);
    width: 350px;
    height: 350px;
    border-radius: calc(var(--section-radius) * 2);
    transform: rotate(23deg);
}

.pricing-banner-wrap .price-blob-wrap:after {
    left: -10%;
    transform: rotate(-21deg);
}

.pricing-banner-wrap svg {
    width: 100%;
}

#section8 {
    position: relative;
    background: var(--grey10);
    padding: 2em;
}

#section8:before,#section8:after {
    content: '';
    display: block;
    background: var(--grey10);
    width: 100%;
    height: 100%;
    position: absolute;
    top: -20%;
    left: 0;
    z-index: -10;
}

#section8:after {
    top: auto;
    bottom: -40%;
}

#section8 .image-gfx:before,#section8 .image-gfx:after {
    display: none;
}

.question-wrap {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: var(--gap);
    width: 100%;
    max-width: 1800px;
    margin: 5em auto 2em;
}

.question-wrap .question {
    display: flex;
    flex-direction: column;
    justify-content: stretch;
    align-items: center;
    position: relative;
}

.question-wrap .question .text-wrap {
    background: white;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    width: 100%;
    position: relative;
    z-index: 10;
    padding: 2em 1.5em 1em;
    box-shadow: var(--shadow);
    border-radius: 1em;
    margin-top: 180px;
    text-align: left;
}

.question-wrap .question .text-wrap .question-heading {
    font-weight: 900;
    font-size: 30px;
    margin-bottom: .1em;
}

.question-wrap .question .text-wrap .question-subheading {
    font-weight: 700;
    font-size: 24px;
    margin-bottom: .8em;
}

.question-wrap .question .text-wrap p {
    padding: 0;
    margin: 0;
    font-size: 16px;
    line-height: 1.3em;
    min-height: 160px
}

.question-wrap .question .question-image {
    width: 104%;
    height: 220px;
    border-radius: 1em;
    box-shadow: var(--shadow);
    overflow: hidden;
    position: absolute;
    z-index: 1;
    top: 0;
}

.question-wrap .question .question-image img {
    height: 220px;
    width: 100%;
    object-fit: cover;
}

.question .question-link {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 1.6em 0 0;
    width: 100%;
    border-top: 1px solid var(--grey20);
    padding-top: 1em;
    font-weight: 700;
    color: var(--green);
    cursor: pointer;
}

.question .question-link:after {
    display: none;
}

.question .question-link:hover .arrow {
    transform: translateX(-100%) rotate(180deg);
}

.question .question-link .arrow {
    background: var(--cta-primary-btn-bg);
    width: 30px;
    height: 30px;
    display: inline-block;
    border-radius: 50%;
    padding: 5px;
    transform: translateX(0px) rotate(0);
    transition: all .3s ease;
}

.question .question-link .arrow img {
    width: 100%;
}

.blob-test {
    min-height: calc(100vh - 2rem);
    padding-top: 2rem;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: space-evenly;
    position: relative;
    overflow: hidden;
    z-index: -1;
}

.blob-test:before,.blob-test:after {
    content: "";
    width: 800px;
    height: 800px;
    position: absolute;
    background: var(--green-grad);
    left: 0px;
    top: 0px;
    animation: morph 15s linear infinite alternate,spin 20s linear infinite;
    z-index: 1;
    will-change: border-radius,transform;
    transform-origin: 55% 55%;
    pointer-events: none
}

.blob-test:after {
    width: 70vmin;
    height: 70vmin;
    left: auto;
    right: -10vmin;
    top: auto;
    bottom: 0;
    animation: morph 10s linear infinite alternate,spin 26s linear infinite reverse;
    transform-origin: 20% 20%
}

.blob-new {
    width: 400px;
    height: 400px;
    position: absolute;
    background: var(--green-grad);
    left: 10%;
    top: 10%;
    animation: morph 15s linear infinite alternate,spin 20s linear infinite;
    z-index: 1;
    will-change: border-radius,transform;
    transform-origin: 55% 55%;
    pointer-events: none;
    z-index: -1;
}

.blob-new:before {
    content: "";
    width: 0px;
    height: 0px;
    position: absolute;
    background: var(--green-grad);
    left: 0px;
    top: 0px;
    animation: morph 15s linear infinite alternate,spin 20s linear infinite;
    z-index: 1;
    will-change: border-radius,transform;
    transform-origin: 55% 55%;
    pointer-events: none;
}

@keyframes morph {
    0% {
        border-radius: 40% 60% 60% 40%/70% 30%
    }

    to {
        border-radius: 40% 60%
    }
}

@keyframes spin {
    to {
        transform: rotate(1turn)
    }
}

.rowLabel {
    display: block;
    position: relative;
    box-sizing: border-box;
    text-align: left;
    cursor: pointer;
    transition: 0.3s;
    color: white;
    font-size: 1.2rem;
    font-weight: 500;
    line-height: 1em;
    padding: 5px 5px 5px;
    margin: 0;
}

.rowLabel {
    color: inherit;
}

.enqRow {
    width: 100%;
    margin: 8px auto 8px;
}

input,select,textarea {
    background: #fff;
    color: var(--navy);
    border-radius: var(--input-radius);
    box-shadow: none;
    transition: 0.3s ease-out;
    width: 100%;
    outline: 0px solid rgba(255,255,255,.4);
    padding: 15px;
    line-height: normal;
    font-size: 16px;
    border: 2px solid var(--navy);
    font-family: inherit;
}

input:hover,textarea:hover,input:focus,textarea:focus {
    border-color: var(--green);
}

input[type="checkbox"] {
    -webkit-appearance: checkbox;
    width: 20px;
    height: 20px;
    outline: none;
    border: 2px solid red;
    cursor: pointer;
}

input[type="checkbox"]:hover {
    border-color: var(--green);
}

.checkbox-wrap {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    padding-left: 35px;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

.checkbox-wrap input {
    position: absolute;
    opacity: 0;
    cursor: pointer;
    height: 0;
    width: 0;
}

.checkmark {
    position: relative;
    top: 0;
    left: 0;
    height: 24px;
    width: 24px;
    margin-right: 1em;
    background-color: white;
    border: 2px solid var(--navy);
    transition: all .1s ease;
}

.checkbox-wrap:hover input ~ .checkmark {
    border-color: var(--green);
}

.checkbox-wrap input:checked ~ .checkmark {
    background-color: var(--navy);
}

.checkmark:after {
    content: "";
    position: absolute;
    display: none;
}

.checkbox-wrap input:checked ~ .checkmark:after {
    display: block;
}

.checkbox-wrap .checkmark:after {
    left: 6px;
    top: 2px;
    width: 5px;
    height: 10px;
    border: solid white;
    border-width: 0 3px 3px 0;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}

.radio-wrap {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    position: relative;
    padding-left: 10px;
    margin-bottom: 0px;
    line-height: 1em;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

.radio-wrap input {
    position: absolute;
    opacity: 0;
    cursor: pointer;
}

.radio-mark {
    position: absolute;
    top: 0;
    left: 0;
    position: relative;
    display: block;
    height: 24px;
    width: 24px;
    background-color: #eee;
    border-radius: 50%;
    margin-right: .5em;
}

.radio-wrap:hover input ~ .radio-mark {
    background-color: var(--green);
}

.radio-wrap input:checked ~ .radio-mark {
    background-color: var(--navy);
}

.radio-mark:after {
    content: "";
    position: absolute;
    display: none;
}

.radio-wrap input:checked ~ .radio-mark:after {
    display: block;
}

.radio-wrap .radio-mark:after {
    top: 8px;
    left: 8px;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: white;
}

.select-wrap select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-color: transparent;
    border: none;
    padding: 0 1em 0 0;
    margin: 0;
    width: 100%;
    font-family: inherit;
    font-size: inherit;
    cursor: inherit;
    line-height: inherit;
    z-index: 1;
    outline: none;
    padding: 0;
}

.select-wrap select::-ms-expand {
    display: none;
}

.select-wrap .select {
    display: grid;
    grid-template-areas: "select";
    align-items: center;
    position: relative;
    border: 2px solid var(--input-border);
    border-radius: var(--input-radius);
    cursor: pointer;
    line-height: 1em;
    background-color: #fff;
    transition: all .3s ease;
}

.select-wrap .select:hover,.select-wrap .select:focus {
    border-color: var(--green);
}

.select-wrap .select select, .select-wrap .select:after {
    grid-area: select;
}

.select-wrap .select:after {
    content: "";
    justify-self: end;
    width: 12px;
    height: 6px;
    background-color: var(--select-arrow);
    -webkit-clip-path: polygon(100% 0%, 0 0%, 50% 100%);
    clip-path: polygon(100% 0%, 0 0%, 50% 100%);
    position: relative;
    right: 12px;
    z-index: 1;
}

.primary-btn {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    z-index: 2;
    background: transparent;
    border-radius: var(--round);
    width: 100%;
    padding: .6em 1em;
    margin: calc(var(--space) / 3) auto;
    border: 2px solid var(--green);
    color: white;
    font-size: 1.6em;
    font-weight: 800;
    text-shadow: 1px 1px 4px rgba(0,0,0,.6);
    box-shadow: 1px 1px 10px transparent;
    outline: none;
    transition: all .3s ease;
    cursor: pointer;
    text-transform: uppercase;
    overflow: hidden;
    margin-top: .6em;
    margin-bottom: .5em;
}

.primary-btn:hover {
    box-shadow: 1px 1px 10px var(--green);
}

.primary-btn:before {
    content: '';
    display: block;
    width: 130%;
    height: 100%;
    background: var(--cta-primary-btn-bg);
    background-size: 120%;
    position: absolute;
    top: 0;
    left: 0%;
    transition: all .3s ease;
    z-index: -1;
}

.primary-btn:hover:before {
    left: -30%;
}

.privacy {
    width: 100%;
    max-width: 1000px;
    margin: 0 auto;
    padding: 1em;
}

#footer-enquiry {
    background: var(--grey);
    padding: 4em 6em 2em;
    border-radius: var(--radius);
}

#footer-enquiry h2 {
    text-align: center;
    margin-bottom: .2em;
}

#footer-enquiry .enqRow {
    width: 100%;
    margin: 8px auto 8px;
}

#footer-enquiry .enqRow span {
    font-size: .6em;
    text-transform: uppercase;
    margin-left: .5em;
}

#footer-enquiry .enqRow.states {
    text-align: left;
}

#footer-enquiry .rowLabel {
    display: block;
    position: relative;
    box-sizing: border-box;
    text-align: left;
    cursor: pointer;
    transition: 0.3s;
    color: white;
    font-size: 1.2rem;
    font-weight: 500;
    line-height: 1em;
    padding: 5px 5px 5px;
    margin: 0;
}

#footer-enquiry .enqRow .privacy {
    color: white;
    font-size: 1rem;
}

#footer-enquiry p {
    color: white;
    text-align: center;
    margin-bottom: 1em;
}

#footer-enquiry input,#footer-enquiry select,#footer-enquiry textarea {
    background: #fff;
    color: #333;
    border-radius: var(--input-radius);
    box-shadow: none;
    transition: 0.3s ease-out;
    width: 100%;
    outline: 0px solid rgba(255,255,255,.4);
    padding: 15px;
    line-height: normal;
    font-size: 16px;
    border: 2px solid transparent;
    font-family: inherit;
}

#footer-enquiry input:hover,#footer-enquiry textarea:hover,#footer-enquiry input:focus,#footer-enquiry textarea:focus {
    border-color: var(--green);
}

#footer-enquiry input.error,#footer-enquiry textarea.error,#footer-enquiry select.error {
    border-color: red;
}

#footer-enquiry textarea {
    min-height: 100px;
}

#footer-enquiry .states input[type="radio"] ~ label.radioButton {
    border: 1px solid rgba(255,255,255,.2);
    background: white;
    color: var(--navy);
    transition: 0.3s ease-out;
}

#footer-enquiry .states input {
    opacity: 0;
    position: absolute;
    z-index: -1;
    width: 0;
    height: 0;
    padding: 0;
    cursor: pointer;
}

#footer-enquiry input[type="radio"] ~ label.radioButton:hover {
    border: 1px solid var(--green);
    background: var(--green);
    color: white;
}

#footer-enquiry .states input:checked ~ label.radioButton {
    transform: translatey(0px);
    color: #fff;
    text-shadow: 1px 1px 4px rgba(0,0,0,.8);
    background: var(--cta-primary-btn-bg);
    border: 1px solid var(--green);
}

#footer-enquiry .states .grid {
    display: grid;
    grid-template-columns: repeat( auto-fit, minmax( 80px, 1fr) );
    gap: .5em;
}

#footer-enquiry .primary-btn {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    z-index: 2;
    background: transparent;
    border-radius: var(--round);
    width: 100%;
    padding: .6em 1em;
    margin: calc(var(--space) / 3) auto;
    border: 2px solid var(--green);
    color: white;
    font-size: 1.6em;
    font-weight: 800;
    text-shadow: 1px 1px 4px rgba(0,0,0,.6);
    box-shadow: 1px 1px 10px transparent;
    outline: none;
    transition: all .3s ease;
    cursor: pointer;
    text-transform: uppercase;
    overflow: hidden;
    margin-top: .6em;
    margin-bottom: .5em;
}

#footer-enquiry .primary-btn:hover {
    box-shadow: 1px 1px 10px var(--green);
}

#footer-enquiry .primary-btn:before {
    content: '';
    display: block;
    width: 130%;
    height: 100%;
    background: var(--cta-primary-btn-bg);
    background-size: 120%;
    position: absolute;
    top: 0;
    left: 0%;
    transition: all .3s ease;
    z-index: -1;
}

#footer-enquiry .primary-btn:hover:before {
    left: -30%;
}

#footer-enquiry .privacy {
    margin-top: .5em;
    text-align: center;
    font-size: .9em;
}

.selling-point-wrap {
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: 100%;
    transform: translateX(-8%);
}

.selling-point-wrap .selling:nth-child(2) {
    transform: translateX(8%);
}

.selling-point-wrap .selling:nth-child(2) .icon,.selling-point-wrap .selling:nth-child(2):before {
    background: var(--purple);
}

.selling-point-wrap .selling:nth-child(3) .icon,.selling-point-wrap .selling:nth-child(3):before {
    background: var(--orange);
}

.selling-point-wrap .selling {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    background: white;
    position: relative;
    box-shadow: var(--shadow);
    padding: 3.5em 2em 2em;
    border-radius: 1em;
    margin: 1em 0;
    max-width: 600px;
    color: var(--navy);
    overflow: hidden;
}

.selling-point-wrap .selling:before {
    content: '';
    display: block;
    width: 8px;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background: var(--cyan);
}

.selling-point-wrap .selling .selling-heading {
    font-size: 30px;
    font-weight: 900;
    text-transform: uppercase;
    margin-bottom: .4em;
    line-height: 1em;
}

.selling-point-wrap .selling .icon {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    position: absolute;
    top: 10px;
    right: 10px;
    background: var(--cyan);
    fill: white;
    padding: .5em;
}

.selling-point-wrap .selling p {
    max-width: 450px;
}

.footer-nav {
    margin: 0 auto;
    padding: 6rem 1rem;
    width: 100%;
    max-width: 1800px;
}

.link-group .link-heading {
    text-transform: uppercase;
    font-size: 26px;
    font-weight: 900;
    margin-bottom: .5em;
}

.link-group-wrap .link-group.social {
    margin-top: 2em;
}

.link-group ul {
    margin: 0;
    padding: 0;
}

.link-group ul li {
    padding: .5em 0;
    margin: 0;
    list-style-type: none;
}

.link-group ul li a:before {
    content: '';
    display: inline-block;
    background: url(files/chevron.svg) no-repeat center center / contain;
    width: 12px;
    height: 12px;
    margin-right: .5em;
    color: var(--green);
    transition: all .3s ease;
}

.link-group a {
    display: flex;
    align-items: center;
    font-weight: 700;
    color: var(--navy);
    text-decoration: none;
    transition: all .3s ease;
}

.link-group a:hover {
    color: var(--green);
}

.link-group ul li a:hover:before {
    transform: translateX(6px);
}

.link-group p {
    max-width: 340px;
}

.bottom-footer-link {
    padding: 10px;
}

.privacy-link {
    margin-right: auto;
}

.footer-phone,.footer-email {
    margin-top: 20px;
}

.footer-phone strong {
    margin-left: .5em;
    text-align: left;
}

.footer-phone p {
    display: flex;
    align-items: center;
}

.footer-social {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    margin: 1em 0;
}

.footer-social .icon {
    display: inline-block;
    width: 30px;
    height: 30px;
    margin-right: .5em;
}

.footer-social .icon img {
    width: 100%;
    height: 100%;
}

.link-group.sales .footer-phone {
    font-size: 30px;
    font-weight: 700;
}

.footer-running-man {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 600px;
    height: 600px;
    opacity: .05;
}

#footerBottom {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    width: 100%;
    padding: 2em;
    background: var(--navy);
    color: white;
}

#footerBottom .footer-logo {
    width: 100%;
    max-width: 150px;
    margin-left: auto;
}

.footer-bottom-bar {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.footer-bottom-bar .havealook {
    display: flex;
    justify-items: flex-end;
    align-items: flex-end;
    flex-wrap: wrap;
    font-size: .7em;
    color: rgba(255,255,255,.5);
    width: 40%;
    max-width: 200px;
    text-align: center;
    font-size: 0;
}

#footerBottom .footer-bottom-bar .havealook .footer-logo {
    display: flex;
    justify-content: center;
    align-items; center; width: 100%;
    max-width: 200px;
    margin-left: 0;
    margin-bottom: 1em;
}

.footer-bottom-bar .havealook .footer-logo img {
    display: block;
    width: 100%;
}

.grecaptcha-badge, .grecaptcha-logo {
    display: none !important;
}

#mobileMenu,#mobile-toggles,#mobile-buttons,#closeMenu,#openMenu {
    display: none;
}

.nav-toggle {
    display: none;
}

.nav-toggle {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-right: 2em;
    background: transparent;
    cursor: pointer;
}

.nav-toggle .menu-icon {
    width: 32px;
    height: 32px;
    position: relative;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    margin-right: .5em;
}

.nav-toggle .menu-name {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    text-transform: uppercase;
    transition: all .3s ease;
    font-weight: 700;
}

.nav-toggle .menu-icon .line {
    content: "";
    width: 100%;
    height: 4px;
    display: block;
    background: var(--navy);
    transition: all .3s ease;
    position: absolute;
}

.nav-toggle .menu-icon .line:first-child {
    bottom: 22px;
}

.nav-toggle .menu-icon .line:nth-child(2) {
    bottom: 14px;
    width: 80%
}

.nav-toggle .menu-icon .line:last-child {
    bottom: 6px;
}

.nav-toggle:hover .menu-icon .line {
    background: var(--green);
}

.nav-toggle:hover .menu-name {
    color: var(--green);
}

#menu.close #closeMenu {
    display: none;
}

#menu.open #closeMenu {
    display: flex;
}

#closeMenu {
    display: none;
    justify-content: flex-end;
    padding-right: 2em;
}

#menu.open #closeMenu {
    display: flex;
}

#closeMenu .close-icon {
    position: relative;
    top: 0;
    width: 14px;
    height: 14px;
    display: flex;
    justify-content: center;
    align-items: center;
    line-height: 1em;
    margin: 0 .5em 0 0;
}

#closeMenu .close-name {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    line-height: normal;
    transition: all .3s ease;
}

#closeMenu .close-name:after {
    content: 'Close Menu';
    display: block;
    line-height: normal;
    text-transform: uppercase;
    font-size: 12px;
    color: #fff;
    transition: all .3s ease;
}

#closeMenu .close-icon:before, #closeMenu .close-icon:after {
    content: "";
    width: 14px;
    height: 2px;
    display: block;
    background: #fff;
    position: absolute;
    top: calc(50% - 2px);
    left: 0;
    transform-origin: center;
    transition: all .3s ease;
}

#closeMenu .close-icon:before {
    transform: rotate(45deg)
}

#closeMenu .close-icon:after {
    transform: rotate(-45deg)
}

#closeMenu:hover .close-icon:before,#closeMenu:hover .close-icon:after {
    background: var(--green);
}

#closeMenu:hover .close-name:after {
    color: var(--green);
}

.nav-toggle.close {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    padding: .5em 1em;
    width: 100%;
    height: auto;
    cursor: pointer;
}

.nav-toggle.close:hover .close-icon:before,.nav-toggle.close:hover .close-icon:after {
    background: var(--green);
}

#close-nav-toggle {
    background: red;
}

#close-nav-toggle,#open-nav-toggle {
    display: none;
}

#menu {
    position: relative;
    width: 100%;
    display: flex;
    justify-content: flex-end;
    align-items: center;
}

#menu nav {
    width: 100%;
    margin: auto;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

#menu nav > ul {
    width: 100%;
    margin: auto;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

#menu nav > ul li {
    list-style: none;
    float: left;
    display: inline-block;
    margin: 0;
    flex-grow: 2;
    text-align: center;
    position: relative;
}

#menu nav ul li a {
    display: inline-block;
    text-decoration: none;
    width: 100%;
    padding: 0.7rem 0.4rem;
    box-sizing: border-box;
    border-bottom: 2px solid transparent;
    transition: all 0.3s ease;
    cursor: pointer;
    outline: 2px solid transparent;
    color: var(--text);
    font-size: 16px;
    text-transform: uppercase;
}

#menu nav ul li a:focus {
    outline: 2px solid var(--secondary);
}

#menu nav ul li a:before {
    display: none;
}

#menu nav li a:hover,#menu nav ul li.parent:hover > a {
    color: var(--green);
}

#menu nav li.current > a {
    color: var(--green);
}

#menu nav .parent > a:after {
    margin-left: 8px;
    display: inline-block;
    content: "";
    background: url(files/chevron.svg);
    width: 12px;
    height: 12px;
    transform: rotate(90deg);
}

#menu .subContainer {
    background: #082033;
    position: relative;
    z-index: 20;
    display: inline-block;
    padding: 10px 4px;
    width: 100%;
    margin-top: 20px;
    box-shadow: 1px 1px 10px #1d5071a6
}

#menu .subContainer:after {
    position: absolute;
    top: -8px;
    left: 30px;
    width: 0px;
    height: 0px;
    content: "";
    border-left: 10px solid transparent;
    border-right: 10px solid transparent;
    border-bottom: 10px solid #082033;
}

#menu nav .subContainer li.current a {
    color: var(--green);
}

#menu nav ul li ul {
    position: absolute;
    width: 100%;
    min-width: 240px;
    margin: 0;
    padding: 0;
    display: none;
    font-size: 16px;
    overflow: visible;
}

#menu nav ul .subContainer li {
    width: 100%;
    display: inline-block;
    text-align: left;
    color: rgba(255,255,255,0.8);
}

#menu nav ul .subContainer li a {
    padding: 10px 10px;
    color: inherit;
    font-size: 12px;
}

#menu nav ul .subContainer li a:hover {
    color: var(--green);
}

.faqs {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(400px, 1fr));
    gap: 10px;
    margin: 2em auto;
    width: 100%;
}

.faqs.long-answer {
    grid-template-columns: 1fr;
}

.faqs h3,.blogArticle .faqs h3 {
    font-size: 1.3rem;
    letter-spacing: -1px;
    padding: 0;
    margin: 0 0 .5em;
    width: 100%;
    word-break: break-word;
    white-space: break-spaces;
}

.faqs.long-answer p {
    margin: 0 0 1em;
}

.text-wrap ol.faqs li,.blogArticle ol.faqs li {
    display: flex;
    flex-direction: column;
    width: 100%;
    margin: 0;
    background: var(--grey10);
    border-radius: 10px;
    padding: 10px 10px 10px 40px;
}

.text-wrap ol.faqs li:before,.blogArticle ol.faqs li:before {
    left: 10px;
}

.text-wrap ol.faqs li span,.blogArticle ol.faqs li span {
    display: block;
    width: 100%;
    word-break: break-word;
    white-space: break-spaces;
}

@media (max-width: 500px) {
    .faqs {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 1400px) {
    :root {
        --header-height: 124px;
    }

    header .banner {
        grid-template-columns: 150px 1fr;
        height: auto;
    }

    header .banner .menu-wrap {
        margin: 0 auto;
    }

    #menu nav ul li a {
        font-size: .85em;
    }

    body.scroll-up {
        --header-height: 90px;
    }

    section {
        padding: 3rem 0;
    }

    .sub-btn-wrap .cta-btn {
        font-size: 20px;
        width: 300px;
    }

    h2 {
        font-size: 50px;
    }

    h2 span {
        font-size: 30px;
    }

    .image-gfx:before, .image-gfx.rounded:before {
        display: none;
    }

    .text-wrap.left {
        padding: 1em;
    }

    .feature-wrap, .review-wrap {
        grid-template-columns: repeat( auto-fit, minmax(350px, 1fr) );
        width: 100%;
    }

    .feature-wrap .feature:nth-child(n + 4), .review-wrap .card-review:nth-child(n + 4) {
        transform: translateX(0em);
    }

    .highlight-wrap {
        grid-template-columns: repeat( auto-fit, minmax(100px, 1fr) );
        max-width: none;
        padding: 0;
    }

    .text-wrap p {
        max-width: none;
    }

    .grid-4-8, .grid-8-4, .grid-9-3, .grid-3-9, .grid-9-3, .grid-2-10, .grid-10-2 {
        grid-template-columns: 1fr;
    }

    .grid-3-3-3-3 {
        grid-template-columns: 1fr 1fr;
        gap: calc(var(--gap) * 2);
    }

    #subBanner .grid-8-4 {
        grid-template-columns: 1fr 1fr;
    }

    .dark-section {
        padding: 0;
        border-radius: 0;
    }

    .dark-section.left {
        border-radius: 0;
    }

    .dark-section .feature {
        padding: 1em;
    }

    .pricing-banner-wrap {
        margin: 0;
        padding: 0;
    }

    .pricing-banner-wrap .price-blob-wrap {
        display: none;
    }

    .price-blob-wrap:before, .price-blob-wrap:after {
        display: none;
    }

    .pricing-banner h3 {
        font-size: 6vw;
    }

    .pricing-banner-wrap .cta-btn {
        margin-top: 1em;
    }

    .highlight-wrap .highlight div.icon {
        fill: white;
    }

    .image-gfx:after, .image-gfx.rounded:after {
        animation: none;
    }

    #section1 .textSection:before {
        width: 100%;
        border-radius: 0;
    }

    .question-wrap {
        display: flex;
        justify-content: center;
        align-items: stretch;
        flex-wrap: wrap;
    }

    .question-wrap .question {
        width: 40%;
    }

    .selling-point-wrap {
        display: grid;
        grid-template-columns: repeat( auto-fit, minmax(300px, 1fr) );
        gap: 1em;
        padding: 0 1em;
        transform: translateX(0);
        max-width: none;
    }

    .question-wrap .question .text-wrap p {
        min-height: 150px;
    }

    .selling-point-wrap .selling:nth-child(2) {
        transform: translateX(0);
    }

    #section9 .textSection:before {
        width: 100vw;
        border-radius: 0;
    }

    #section9 .container {
        padding: 4em 2em;
    }

    #section9 .dark-section div {
        width: 100%;
    }

    #footer-enquiry {
        width: 100%;
        padding: 1em 2em 1em;
    }
}

@media (max-width: 1000px) {
    .icon-left .card {
        grid-template-columns: 1fr;
        grid-template-rows: 1fr;
        grid-template-areas: "icon" "heading" "text";
    }

    .icon-left .card .card-icon {
        margin: 0 auto;
    }

    .icon-left .card .card-heading {
        max-width: none;
        text-align: center
    }

    .icon-left .card .card-text {
        padding: 1em 0;
        text-align: center;
    }
}

@media (min-width: 701px) and (max-width: 1200px) {
    :root {
        --header-height: 132px;
    }

    header .banner {
        grid-template-columns: 200px 1fr;
        height: auto;
    }

    header .banner .menu-wrap {
        display: flex;
        justify-content: flex-end;
        align-items: center;
        margin-left: auto;
    }

    header .top-bar .promo {
        display: none;
    }

    #closeMenu, #openMenu {
        display: flex;
    }

    #menu {
        display: inline-block;
        background: #021522;
        position: fixed;
        top: .5%;
        right: 0;
        width: 45%;
        height: 99%;
        overflow: scroll;
        z-index: 10000;
        border-radius: 20px 0 0 20px;
        padding-top: 20px;
        box-shadow: var(--shadow);
        opacity: 0;
        transform: translateX(100%);
        transition: transform .3s ease;
    }

    #menu.open {
        opacity: 1;
        box-shadow: var(--shadow);
        transform: translateX(10%);
    }

    #menu.close {
        opacity: 1;
        transform: translateX(100%);
    }

    #menu nav {
        display: inline-block;
        width: 100%;
        padding-top: 10px;
    }

    #menu nav > ul {
        flex-direction: column;
    }

    #menu li {
        list-style-type: none;
        text-transform: uppercase;
        color: #fff;
        margin: 0;
    }

    #menu nav ul li a, #menu li span {
        text-align: left;
        width: 100%;
        display: inline-block;
        padding: 1em 2em;
        border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    }

    #menu nav ul li a.current, #menu nav ul li a:hover, #menu nav ul li.parent span:hover {
        color: var(--green);
    }

    #menu .subContainer {
        background: #082033;
        position: relative;
        display: inline-block;
        padding: 0;
        margin: 0;
        box-shadow: none
    }

    #menu .subContainer:after {
        display: none;
    }

    #menu nav ul li ul {
        position: static;
    }

    #menu nav ul li ul {
        display: none;
        margin: 0;
        padding: 0;
        list-style: none;
        background: rgba(0, 0, 0, 0.2);
    }

    #menu nav ul .subContainer li a {
        padding-left: 5em;
        color: white;
    }

    #menu nav ul .subContainer li a:hover {
        color: var(--green);
    }

    #menu .parent span {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 1em;
        width: 100%;
        cursor: pointer;
    }

    #menu .parent > span:after {
        content: '';
        margin-left: 8px;
        line-height: 1em;
        display: inline-block;
        color: var(--green);
        background: url(files/chevron.svg);
        width: 14px;
        height: 14px;
        transform: rotate(90deg);
    }

    #menu .parent.clicked > span:after {
        transform: rotate(270deg);
    }
}

@media (max-width: 1000px) {
    .grid-6-6 {
        grid-template-columns: 1fr;
    }

    .sub-btn-wrap .cta-btn {
        font-size: 18px;
    }

    .icon-left .card .card-heading {
        font-size: 30px;
    }

    #footer-enquiry .grid-6-6 {
        grid-template-columns: 1fr 1fr;
        gap: 1em;
    }
}

@media (min-width: 701px) and (max-width: 1000px) {
    #footer-enquiry .grid-6-6 {
        grid-template-columns: 1fr;
        gap: 0;
    }
}

@media (min-width: 701px) and (max-width: 1000px) {
    main #subBanner {
        padding: 5vw 0 18vw;
        background-position: center bottom;
        background-size: 30%;
    }

    main #subBanner .grid-8-4 {
        grid-template-columns: 1fr;
    }

    main #subBanner h1, main #subBanner h2, main #subBanner h3 {
        text-align: center;
    }

    main #subBanner .sub-btn-wrap {
        justify-content: center;
        grid-template-columns: 1fr;
        max-width: none;
    }

    main #subBanner .sub-btn-wrap .cta-btn {
        margin: auto;
    }
}

@charset "UTF-8";.blogHome #subBanner,.blog #subBanner {
    display: none;
}

.blogHome #footerTop > .container {
    max-width: none;
    padding: 0 10px 0px 0px;
}

.blog #menu nav li.current > a {
    color: inherit;
}

.categorySection .container {
    display: grid;
    grid-template-columns: 300px 1fr;
    gap: calc(var(--gap) / 2);
}

.categorySection .sidebar {
    background: var(--navy);
    color: white;
    border-radius: 20px;
    padding: 1em;
    position: relative;
    z-index: 1;
}

.categorySection .sidebar a:after {
    display: none;
}

.articleStub {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(400px, 1fr));
    gap: calc(var(--gap) / 2);
    padding-top: 2rem;
}

.blogPost {
    width: 100%;
    padding: 1em;
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    border: 1px solid var(--grey10);
    border-radius: 10px;
    box-shadow: var(--shadow);
    cursor: pointer;
    transition: all .3s ease;
}

.blogPost:hover {
    transform: translateY(-5px);
}

.blogPost:hover .blogPostDetails a.blogBtn {
    background: var(--green);
}

.blogPost .blogPostDetails a.blogBtn {
    display: inline-block;
    background: white;
    border: 2px solid var(--cta-primary-btn-border);
    margin-top: 1em;
    padding: .5em 1em;
    border-radius: 3em;
    color: var(--green);
}

.blogPost .blogPostDetails a.blogBtn:after {
    display: none;
}

.blogPost .blogPostDetails a.blogBtn button {
    display: inline-block;
    background: none;
    border: none;
    padding: 0;
    color: inherit;
    border-radius: 0;
    text-transform: uppercase;
    font-weight: 500;
    font-size: .8em;
    letter-spacing: .05em;
}

.blogPost:hover a.blogBtn {
    color: white;
}

.blogPost .blogPostHero {
    width: 100%;
    max-width: none;
    height: 250px;
}

.blogPost .blogPostHero .image {
    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
    background-color: pink;
    display: block;
    width: 100%;
    height: 100%;
}

.blogPost .blogPostHero .image.noImage {
    background: #eee;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
}

.blogPost .blogPostHero .image.noImage:before {
    content: '\f03e';
    font-family: fontAwesome;
    font-size: 5.0em;
    display: block;
    margin: 0 auto;
    width: 100%;
    text-align: center;
    line-height: 1.0em;
    color: #eee;
}

.blogPost .blogPostHero .image.noImage:after {
    content: '';
    color: #eee;
    line-height: 1.0em;
    margin: -50px auto 0;
}

.blogPost .blogPostDetails {
    width: 100%;
    box-sizing: border-box;
    padding: 1em 0;
    transition: all .2s ease;
}

.blogPost .blogPostDetails .blogTitle {
    font-size: 1.3em;
    font-weight: 700;
    text-align: left;
    letter-spacing: -1px;
    line-height: 1.0em;
    padding: 0;
    margin: 0;
}

.blogPost .blogPostDetails .blogPublsihInfo {
    display: flex;
    line-height: 1.0em;
    padding: 0.5em 0 1em;
}

.blogPost .blogPostDetails .blogPostAuthor,.blogPost .blogPostDetails .blogPostDate {
    color: #8f999f;
    font-size: 0.8em;
    padding: 0;
    margin-right: 5px;
}

.blogPost .blogPostDetails .blogPostText {
    line-height: 1.4em;
    padding: 0.4em 0;
}

.blogArchive {
    width: 100%;
    margin: 1em auto 1em;
    padding: 0 0 1em;
    line-height: 1.4em;
    font-size: 0.9em;
    border-bottom: 1px solid rgba(255,255,255,.2);
}

.blogArchive:before {
    content: 'Previous Posts';
    display: block;
    font-size: 1.5em;
    color: white;
    margin: 0 0 10px;
    font-weight: 700;
    letter-spacing: -1px;
    text-transform: uppercase;
}

.blogArchive li {
    list-style-type: none;
    margin: .5em 0;
}

.blogArchive li a {
    display: block;
    width: 100%;
    text-decoration: none;
    font-weight: 300;
    padding: .1em;
    color: white;
}

.blogArchive li ul {
    margin: 0;
    padding: 0;
}

.blogArchive li ul li {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    font-size: 0.9em;
    padding: 0 0 0 .5em;
    margin: .2em 0;
}

.blogArchive li ul li:before {
    content: '';
    display: inline-block;
    background: url(files/chevron.svg) no-repeat center center / contain;
    width: 10px;
    height: 10px;
    margin-right: .5em;
    color: var(--green);
    transform: translateX(0px);
    transition: all .3s ease;
}

.blogArchive > li:hover > a:hover,.blogArchive li ul li:hover,.blogArchive li ul li:hover:before {
    color: var(--green);
}

.blogArchive li ul li:hover:before {
    transform: translateX(5px);
}

.blogMenu {
    width: 100%;
    margin: 1em auto;
}

.blogMenu .categoryMenu {
    margin: 0em auto 1em;
    padding: 0;
    line-height: 1.4em;
    font-size: 0.9em;
    font-weight: 500;
}

.blogMenu .categoryMenu:before {
    content: "Categories";
    display: block;
    font-size: 1.5em;
    color: white;
    margin: 0 0 10px;
    font-weight: 700;
    letter-spacing: -1px;
    text-transform: uppercase;
}

.blogMenu .categoryMenu li {
    width: 100%;
    list-style: none;
    margin: 0;
    font-size: .9em;
    font-weight: 300;
    padding: 0 0 0 .5em;
}

.blogMenu .categoryMenu li a {
    display: block;
    width: 100%;
    padding: .1em;
    margin: 1px 0;
    color: white;
    text-decoration: none;
    font-weight: 300;
    text-transform: initial;
}

.blogMenu .categoryMenu li a:before {
    content: '';
    display: inline-block;
    background: url(files/chevron.svg) no-repeat center center / contain;
    width: 10px;
    height: 10px;
    margin-right: .5em;
    color: var(--green);
    transform: translateX(0px);
    transition: all .3s ease;
}

.blogMenu .categoryMenu li:hover,.blogMenu .categoryMenu li a:hover:before,.blogMenu .categoryMenu li.current > a,.blogMenu .categoryMenu li:hover > a {
    color: var(--green);
}

.blogMenu .categoryMenu li:hover a:before {
    transform: translateX(5px);
}

.blogMenu .categoryMenu li:hover {
    background: transparent;
}

.blogArticle {
    position: relative;
    z-index: 2;
    background: white;
    width: 100%;
    padding: 1em;
    margin: 0;
    display: block;
    border: 1px solid var(--grey10);
    padding: 4em;
    border-radius: 20px;
    box-shadow: var(--shadow);
}

.blogArticle h1,.blogArticle h2 {
    margin: 0;
    padding: 0;
    line-height: 1.0em;
}

.blogArticle h1 {
    font-weight: 900;
    margin-bottom: .5em;
    text-align: left;
}

.blogArticle h2 {
    font-size: 1.8em;
    margin-bottom: .2em;
    letter-spacing: 0;
}

.blogArticle h3 {
    font-size: 1.5em;
    margin-bottom: .2em;
}

.blogArticle .blogArticleWrap {
    font-size: 1.0em;
    line-height: 1.4em;
}

.blogArticle .blogArticleWrap p {
    padding: 0;
}

.blogArticle .blogSubHead {
    margin: 0 0 0.5em 0;
    font-size: 0.9em;
}

.blogArticle .blogArticlePublish {
    font-size: 0.9em;
    margin: 0 0 1.0em 0;
    color: #8f999f;
}

.blogArticle .blogArticleWrap .blogPostHero {
    display: block;
    float: right;
    margin: 0em 0em 2em 2em;
    width: 100%;
    max-width: 600px;
    object-fit: contain;
}

.blogArticle .blogArticleWrap .blogPostHero img {
    width: 100%;
    object-fit: contain;
}

.blogArticle .blogArticleWrap .blogPostHero.noImage {
    display: none;
}

.blogArticleContent {
}

.blogArticle .blogNavigation {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    justify-content: flex-start;
    width: 100%;
    max-width: 250px;
    margin-bottom: 1em;
    font-size: 0.8em;
}

.blogArticle .blogNavigation a {
    padding: 0.2em;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    position: relative;
}

.blogArticle .blogNavigation a.next {
    text-align: right;
    justify-content: flex-end;
    padding-right: 1em;
}

.blogArticle .blogNavigation a.previous {
    padding-left: 1em;
}

.blogArticle .blogNavigation a.next:before {
    content: '\f105';
    content: '';
    margin-left: .2em;
    background: url('files/Chevron-Right.svg') no-repeat center center;
    background-size: contain;
    width: 12px;
    height: 12px;
    position: absolute;
    right: -5px;
}

.blogArticle .blogNavigation a.previous:before {
    content: '\f104';
    content: '';
    margin-right: 0em;
    background: url('files/Chevron-Left.svg') no-repeat center center;
    background-size: contain;
    width: 12px;
    height: 12px;
    position: absolute;
    left: -5px;
}

.blogArticle .blogNavigation a:after {
    display: none;
}

.blogArticle .blogCategoryWrap {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -ms-flex-align: center;
    align-items: center;
    margin: 1em 0 0;
    font-size: 0.8em;
}

.blogArticle .blogCategoryWrap:before {
    content: 'Categories:';
    margin: 0 .5em 0 0;
}

.blogArticle .blogCategoryWrap .articleCategory {
    display: inline-block;
    padding: .05em .5em;
    margin: 0 .1em;
    font-style: italic;
    border-radius: 0.2em;
    transition: all .3s ease;
}

.blogArticle .blogCategoryWrap .articleCategory:hover {
    text-decoration: none;
}

.blogArticle .blogArticlePublish {
    color: #62727b;
}

.itemPagination {
    margin-top: 1em;
}

.itemPagination .pagination {
    display: flex;
    justify-content: center;
    align-content: center;
    align-items: stretch;
}

.itemPagination .pagination a {
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--grey20);
    color: inherit;
    margin: 0 .1em;
    width: 40px;
    line-height: normal;
    padding: 6px 12px;
    border-radius: 5px;
    line-height: 1em;
}

.itemPagination .pagination a:after {
    display: none;
}

.itemPagination .pagination a.current,.itemPagination .pagination a:hover {
    background: var(--green);
    color: white;
}

.itemPagination .pagination a.prev:before {
    content: '';
    display: inline-block;
    background: url(files/chevron-left.svg) no-repeat center center / contain;
    width: 24px;
    height: 24px;
    transform: translateX(0px);
    transition: all .3s ease;
}

.itemPagination .pagination a.next:before {
    content: '';
    display: inline-block;
    background: url(files/chevron-right.svg) no-repeat center center / contain;
    width: 24px;
    height: 24px;
    transform: translateX(0px);
    transition: all .3s ease;
}

.blogPost:hover .blogPostDetails a.blogBtn button {
    color: inherit;
    text-decoration: none;
}

.blogPost:hover .blogPostDetails {
    background: inherit;
    cursor: pointer;
}

.blogArchive li ul li:hover {
    background: none;
}

.blogArchive li ul li:hover a {
    color: var(--green);
}

@media all and (max-width: 1100px) {
    .categorySection .container {
        grid-template-columns: 1fr;
    }

    .siteContent {
        order: 1;
    }

    .sidebar {
        order: 2;
    }

    .categorySection .sidebar {
        display: grid;
        grid-template-columns: 1fr 1fr;
        padding: 2em;
    }

    .blogArchive {
        border-bottom: none;
    }

    .blogArticle .blogArticleWrap .blogPostHero {
        max-width: none;
        float: none;
        width: 100%;
        margin: 1em auto;
    }

    .blogArticle h1 {
        font-size: 8vw;
    }
}

@media all and (max-width: 700px) {
    .blogNavigation {
        text-align: center;
    }

    .blogArticle .blogArticleWrap .blogPostHero {
        float: none;
        max-width: none;
        margin: 1em 0;
    }

    .blogArticle .blogArticleImages .container div {
        width: 49%;
    }

    .categorySection .container {
        -ms-flex-direction: column-reverse;
        flex-direction: column-reverse;
    }

    .blogArticle h1 {
        font-size: 2.8em;
        word-break: break-word;
        white-space: break-spaces;
    }

    .blogArticle {
        padding: 1em;
    }

    .blogPost .blogPostHero {
        width: 100%;
        max-width: none;
        max-height: none;
        min-height: 15em;
        margin: 0 0 1em;
    }

    .blogPost .blogPostDetails {
        width: 100%;
        padding: 0;
    }

    .articleStub {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 480px) {
    .categorySection .sidebar {
        grid-template-columns: 1fr;
    }

    .blogPost {
        width: 100%;
        border-radius: 0;
    }

    .categorySection .container {
        padding: 0;
    }
}

@media (min-width: 701px) and (max-width:1400px) {
}

@media (max-width: 700px) {
    @charset "UTF-8";
    :root {
        --header-height: 162px;
    }

    html, body, form, fieldset, p, div, h1, h2, h3, h4, h5, h6 {
        -webkit-text-size-adjust: none;
    }

    body {
        font-size: 16px;
        line-height: 1.5em;
    }

    p {
        font-size: 16px;
        line-height: 24px;
    }

    header .banner {
        padding: 1em;
        grid-template-columns: 1fr;
        height: 100%;
    }

    header .logo {
        max-width: 200px;
    }

    .scroll-down header {
        transform: translateY(0px);
        opacity: 1;
        background: rgba(255,255,255,0);
        height: 58px;
    }

    .scroll-down header .banner,.scroll-down header:before {
        transform: translateY(-180px);
        opacity: 0;
    }

    .scroll-up header .banner,.scroll-up header:before {
        transform: translateY(-180px);
        opacity: 0;
    }

    .scroll-up header {
        height: 58px;
        background: rgba(255,255,255,0);
    }

    h1,h2, #subBannerHome h2, #subBanner h1, #subBanner h1 span {
        font-size: 2.3em;
        max-width: 100%;
        margin-left: auto;
        margin-right: auto;
        line-height: 1em;
    }

    h2 {
        letter-spacing: -1px;
    }

    h2 span {
        font-size: 24px;
        line-height: 1.2em;
    }

    #subBanner .grid-8-4 {
        grid-template-columns: 1fr;
    }

    #subBanner h1 {
        text-align: center;
        font-size: 7vw !important;
    }

    #subBanner h2 {
        text-align: center;
        font-size: 5vw !important;
        margin-top: .5em;
    }

    #subBannerHome .container, #subBanner .container {
        padding: 0 1em;
    }

    #subBanner {
        background: none !important;
    }

    #subBannerHome h1 {
        font-size: 50px;
    }

    #subBannerHome h1 span {
        font-size: .7em !important;
        margin-bottom: 64px;
        margin-bottom: 4rem;
    }

    #subBannerHome h1 span br {
        display: none;
    }

    #subBannerHome h3 {
        font-size: 1em;
        margin-bottom: 64px;
        margin-bottom: 4rem;
    }

    #subBanner h3 {
        font-size: 1em;
        margin-bottom: 16px;
        margin-bottom: 1rem;
        text-align: center;
    }

    section {
        padding: 2rem 0;
    }

    #section1 .textSection:before {
        top: 0;
        height: 100%;
    }

    #section1 .textSection {
        padding: 2rem 0;
    }

    .sub-btn-wrap {
        grid-template-columns: 1fr;
        justify-content: center;
    }

    .sub-btn-wrap .cta-btn {
        font-size: 20px;
        margin: 0 auto;
    }

    .sub-btn-wrap a.cta-btn,.sub-btn-wrap div.cta-btn {
        width: 100%;
        min-width: unset;
        max-width: none;
        margin: .2em auto;
    }

    .cta-btn {
        font-size: 18px;
    }

    .image-gfx + .text-wrap {
        margin-top: 0px;
    }

    .image-gfx:before {
        display: none;
    }

    .image-gfx:after {
        display: none;
    }

    .image-gfx.rounded:before {
    }

    .image-gfx.rounded:after {
        width: 60vw;
        height: 60vw;
    }

    .text-wrap.left {
        padding: 0;
    }

    .text-wrap .space-left {
        padding-left: 0;
    }

    .outerWrap.menu-open {
        cursor: pointer;
    }

    .desktopHide {
        display: block !important;
    }

    .mobileHide {
        display: none !important;
    }

    #outerSidebar {
        display: none;
    }

    header .top-bar,#menu,.menu-wrap {
        display: none !important;
    }

    .pricing-banner-wrap {
        margin: 0;
    }

    .pricing-banner {
        border-radius: 1em;
        padding: 2em .5em;
    }

    .pricing-banner h3 {
        font-size: 8vw;
    }

    .pricing-banner .cta-btn {
        margin: 1em auto 0;
        padding: .5em 1em;
    }

    .pricing-banner-wrap .price-blob-wrap {
        display: none;
    }

    .grecaptcha-badge {
        display: none !important;
    }

    .grid-4-4-4,.grid-3-3-3-3,.grid-6-6 {
        grid-template-columns: 1fr;
        gap: var(--gap);
    }

    .feature-wrap, .review-wrap {
        grid-template-columns: 1fr;
        padding: 0;
    }

    .feature-wrap.feature-2x2 {
        grid-template-columns: 1fr;
    }

    .feature-wrap.feature-2x2.dark-card .feature {
        padding: 2em 1em 4em;
        border-radius: 20px;
    }

    .icon-left .card {
        grid-template-columns: 1fr;
    }

    .icon-left .card .card-heading {
        font-size: 2em;
    }

    #section9 .container {
        padding: 0;
    }

    #section9 .textSection {
        padding: 1em 0;
    }

    #section9 .textSection:before {
        top: 0;
        height: 100%;
    }

    #section9 .grid-8-4 {
        gap: 0;
    }

    #footer-enquiry {
        padding: 2em 1em;
    }

    #footer-enquiry .grid-6-6 {
        grid-template-columns: 1fr;
        gap: 0;
    }

    #footer-enquiry .rowLabel {
        font-size: 1rem;
    }

    .selling-point-wrap {
        gap: 1em;
        padding-bottom: 2em;
    }

    .selling-point-wrap .selling {
        margin: 0;
    }

    .footer-nav {
        padding: 2rem 1rem;
    }

    .bottom-footer-link {
        font-size: .8em;
        padding: 0;
        margin: 0 auto;
        order: 2;
    }

    .link-group ul li {
        padding: 0.3em 0;
    }

    #footerBottom p {
        text-align: center;
    }

    #footerBottom .footer-bottom-bar {
        display: grid;
        grid-template-columns: 1fr;
        gap: 1em;
        align-items: center;
        justify-content: center;
    }

    #footerBottom .copyright {
        margin: 0 auto;
        order: 2;
        font-size: .8em;
    }

    #footerBottom .footer-bottom-bar .havealook {
        margin: auto;
    }

    #footerBottom .footer-bottom-bar .havealook .footer-logo {
        margin: 0 auto .5em;
        order: -1;
    }

    #mobile-buttons {
        position: relative;
        z-index: 10;
        display: grid;
        grid-template-columns: repeat(4,1fr);
    }

    #mobile-buttons > * {
        display: flex;
        justify-content: center;
        align-items: center;
        flex-direction: column;
        flex-grow: 1;
        width: 100%;
        padding: .3em 0;
        text-align: center;
        box-shadow: none;
        border: 1px solid rgba(0,0,0,.2);
        background: var(--navy);
    }

    #mobile-buttons .icon {
        display: flex;
        justify-content: center;
        align-items: center;
        width: 24px;
        height: 24px;
    }

    #mobile-buttons .icon img {
        width: 100%;
        height: auto;
    }

    #mobile-buttons #navToggle .menu-name:after,#mobile-buttons a:after {
        display: block;
        line-height: normal;
        text-transform: uppercase;
        font-size: 12px;
        margin-top: .5em;
        color: #fff;
    }

    #mobile-buttons a.phone:after {
        content: "Phone";
    }

    #mobile-buttons a.enquiryButton:after {
        content: "Enquire";
    }

    #mobile-buttons #navToggle .menu-name:after {
        content: "Menu";
    }

    #mobile-buttons .instablog-btn:after {
        content: 'Prices';
    }

    #navToggle {
        color: #fff;
        cursor: pointer;
    }

    #navToggle .menu-icon {
        width: 24px;
        height: 24px;
        display: block;
        position: relative;
        transform: translateX(-6px);
    }

    #navToggle .menu-icon .line {
        content: "";
        width: 24px;
        height: 2px;
        display: block;
        background: #fff;
        position: absolute;
    }

    #navToggle .menu-icon .line:first-child {
        bottom: 16px;
    }

    #navToggle .menu-icon .line:nth-child(2) {
        bottom: 10px;
        width: 18px
    }

    #navToggle .menu-icon .line:last-child {
        bottom: 4px;
    }

    #mobile-buttons .phone, #mobile-buttons .enquiryButton {
        background: var(--red);
    }

    #mobileMenu .nav-toggle-mobile.close {
        position: relative;
        display: flex;
        align-items: center;
        justify-content: flex-end;
        padding: .5em 1em 0;
        width: 100%;
        height: auto;
        background: transparent;
        cursor: pointer;
    }

    #mobileMenu .close-icon {
        position: relative;
        top: 1px;
        width: 14px;
        height: 14px;
        display: flex;
        justify-content: center;
        align-items: center;
        margin: 0 .5em 0 0;
    }

    #mobileMenu .close-name {
        display: flex;
        justify-content: center;
        align-items: center;
        position: relative;
        line-height: normal;
        font-weight: 400;
        font-family: 'Montserrat', arial, helvetica, sans-serif;
    }

    #mobileMenu .close-name:after {
        content: 'Close Menu';
        display: block;
        line-height: normal;
        text-transform: uppercase;
        font-size: 12px;
        transition: all .3s ease;
        color: #fff;
    }

    #mobileMenu .close-icon:before, #mobileMenu .close-icon:after {
        content: "";
        width: 14px;
        height: 2px;
        display: block;
        background: #fff;
        position: absolute;
        top: calc(50% - 2px);
        left: 0;
        transform-origin: center;
        transition: all .3s ease;
    }

    #mobileMenu .close-icon:before {
        transform: rotate(45deg)
    }

    #mobileMenu .close-icon:after {
        transform: rotate(-45deg)
    }

    #mobileMenu .nav-toggle-mobile.close:hover .close-icon:before,#mobileMenu .nav-toggle-mobile.close:hover .close-icon:after {
        background: var(--green);
    }

    #mobileMenu .nav-toggle-mobile.close:hover .close-name:after {
        color: var(--green);
    }

    #navToggle .menu-icon,#navToggle .menu-name,#mobileMenu .close-icon,#mobileMenu .close-name {
        pointer-events: none;
    }

    .instablog-btn {
        cursor: pointer;
        transition: all .3s ease;
        transform: translateY(0px);
    }

    .instablog-btn .icon {
        width: 30px;
        height: 30px;
    }

    .instablog-btn .icon img {
        width: 100%;
    }

    #mobileMenu {
        display: inline-block;
        background: #021522;
        position: fixed;
        top: .5%;
        left: 0;
        width: 85%;
        height: 99%;
        border-radius: 0 20px 20px 0;
        z-index: 10000;
        overflow: scroll;
        padding-top: 10px;
        transform: translateX(-100%);
        transition: all .3s ease;
    }

    #mobileMenu.menu-open {
        left: 0;
        transform: translateX(0%);
        box-shadow: var(--shadow);
    }

    #mobileMenu nav {
        display: inline-block;
        width: 100%;
        padding-top: 10px;
    }

    #mobileMenu ul {
        padding: 0;
        margin: 0;
    }

    #mobileMenu li {
        list-style-type: none;
        text-transform: uppercase;
        color: #fff;
        margin: 0;
    }

    #mobileMenu li a,#mobileMenu li span {
        width: 100%;
        display: inline-block;
        padding: 1em;
        border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    }

    #mobileMenu .current,#mobileMenu li a:hover,#mobileMenu .parent span:hover {
        background: var(--green);
    }

    #mobileMenu li ul {
        display: none;
        margin: 0;
        padding: 0;
        list-style: none;
        background: rgba(0, 0, 0, 0.2);
    }

    #mobileMenu li ul a {
        padding-left: 40px;
    }

    #mobileMenu .parent span {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 1em;
        width: 100%;
        cursor: pointer;
    }

    #mobileMenu .parent > span:after {
        content: '';
        margin-left: 8px;
        line-height: 1em;
        display: inline-block;
        color: var(--green);
        background: url(files/chevron.svg);
        width: 14px;
        height: 14px;
        transform: rotate(90deg);
    }

    #mobileMenu .parent.clicked > span:after {
        transform: rotate(270deg);
    }

    @media (max-width: 389px) {
        #subBannerHome h1 {
            font-size: 45px;
        }

        #subBannerHome .container {
            padding: 0;
        }

        #section1 .textSection::before, #section3 .textSection::before, #section5 .textSection::before {
            width: 100% !important;
        }
    }

    @media (max-width: 350px) {
        #mobile-buttons #navToggle .menu-name:after, #mobile-buttons a:after {
            display: none !important;
        }

        #section {
            display: none;
        }

        #footer-enquiry .states .grid {
            grid-template-columns: 1fr;
        }

        #footer-enquiry h2 {
            font-size: 30px;
        }

        .selling-point-wrap {
            gap: 1em;
            display: none;
        }

        .selling-point-wrap .selling {
            margin: 0;
        }

        .selling-point-wrap .selling .icon {
            display: none;
        }

        .selling-point-wrap .selling .selling-heading {
            font-size: 20px;
        }

        .selling-point-wrap .selling {
            padding: 1em 1em 1em 1.5em;
        }

        .selling-point-wrap .selling p {
            font-size: 14px;
            line-height: 1.4em
        }
    }
}
