/* cmsms stylesheet: WEBSITE - HTML Reset modified: Tuesday, April 29, 2025 11:00:49 PM */
/* html5reset.css - 01/11/2011 */

/* apply a natural box layout model to all elements, but allowing components to change */
html {
  box-sizing: border-box;
}
*, *:before, *:after {
  box-sizing: inherit;
}
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    font-size: 100%;
    vertical-align: baseline;
    background: transparent;
}

h1 {
 text-wrap: balance;
}

h2, h3, h4, h5, h6 {
 text-wrap: pretty;
}

p, li {
 text-wrap: pretty;
}

body {
    line-height: 1;
}

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

nav ul {
    list-style: none;
}

blockquote, q {
    quotes: none;
}

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

a {
    margin: 0;
    padding: 0;
    font-size: 100%;
    vertical-align: baseline;
    background: transparent;
}

/* change colours to suit your needs */
ins {
    background-color: #ff9;
    color: #000;
    text-decoration: none;
}

/* change colours to suit your needs */
mark {
    background-color: #ff9;
    color: #000; 
    font-style: italic;
    font-weight: bold;
}

del {
    text-decoration:  line-through;
}

abbr[title], dfn[title] {
    border-bottom: 1px dotted;
    cursor: help;
}

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

/* change border colour to suit your needs */
hr {
    display: block;
    height: 1px;
    border: 0;   
    border-top: 1px solid #cccccc;
    margin: 1em 0;
    padding: 0;
}

input, select {
    vertical-align: middle;
}

#EUcookieBanner .content p.button {
 background: #000066 !important;
 text-align: center;
}
/* cmsms stylesheet: WEBSITE - Main Stylesheet modified: Monday, September 8, 2025 4:18:09 PM */
/* New CSS code will go here */
/* [1] ===== FONTS AND VARIABLES ===== [1] */
:root {
  --font-base: 106.25%;
  --font-family: 'Poppins', Arial, Helvetica, sans-serif;
  --font-scale: 1.25;
  --container-max: 1200px;
  --container-padding: 24px;
  --space-xs: 0.5rem;
  --space-sm: 1rem;
  --space-md: 2rem;
  --space-lg: 3rem;
  --space-xl: 4rem;

  --text-xs: 0.5rem;
  --text-sm: 0.75rem; clamp(0.60rem, 1vw + 0.5rem, 0.82rem); /* 10px → 14px */
  --text-md: clamp(0.71rem, 1vw + 0.6rem, 0.94rem); /* 12px → 16px */
  --text-lg: clamp(0.82rem, 1.2vw + 0.7rem, 1.06rem); /* 14px → ~18px */
  --text-xl: clamp(0.88rem, 1.5vw + 0.8rem, 1.29rem); /* 15px → 22px */
  --text-xxl: clamp(1.29rem, 2vw + 1rem, 1.53rem); /* 22px → 26px */
  --text-xxxl: clamp(1.06rem, 1.5vw + 0.8rem, 1.76rem); /* 18px → 30px */

  --text-12: 12px;
  --text-14: 14px;
  --text-16: 16px;
  --text-18: 18px;
  --text-20: 20px;
  --text-22: 22px;
  --text-24: 24px;
  --text-26: 26px;
  --text-30: 30px;
  --text-32: 32px;
  --text-34: 34px;

  --headings: rgb(6,28,93);
  --text: rgb(6,28,93);
  --link: rgb(6,28,93); /* primary blue */
  --linkhover: rgb(153,153,153);
  --footerheadings: rgba(188, 190, 194, 1);
  --footertext: rgba(129, 129, 129, 1);
  --footerlink: rgba(129, 129, 129, 1); 
  --bgcolour1: rgb(6,28,93); /* primary blue */
  --bgcolour2: rgb(206,234,247); /* secondary blue */
  --bgcolour3: rgb(255,130,16); /* primary orange */
  --bgcolour4: rgb(255,238,214); /* secondary orange */
  --bgcolour5: rgb(224,224,224); /* primary grey */
  --bgcolour6: rgb(245,245,245); /* secondary grey */
  --button: rgba(6,28,93); /* primary blue */
  --buttonhover: rgba(206,234,247);
  --buttontext: rgb(255,255,255);
  --primarybutton: rgb(255,255,255); /* white */
  --primarybuttonhover: rgba(255,238,214);
  --primarybuttontext: rgb(6,28,93);
  --primarybuttonborder: rgb(6,28,93);
  --primarybuttonborderhover: rgb(255,130,16);
  --invert: rgb(255,255,255); /* white */
}

*:focus-visible {
  outline: 2px solid rgb(6,28,93);
}

html {
 font-family: ;
 font-size: var(--font-scale); /* base */
 scroll-behavior: smooth;
 scroll-padding-top: 200px;
 -webkit-tap-highlight-color: rgba(255,255,255,.1);
}
body {
 background: rgb(255,255,255);
 font-size: 1rem;
 line-height: 1.6;
 font-family: var(--font-family);
}

/* [2] ===== HEADINGS ===== [2] */
h1, h2, h3, h4, h5, h6, .contactform legend {
 color: var(--headings);
}
h1 {
 font-size: clamp(1.29rem, 2vw + 1rem, 1.53rem); /* 22px → 26px */
 line-height: 1.1;
 font-weight: 700;
}
h2, .contactform legend {
 font-size: clamp(0.88rem, 1.5vw + 0.8rem, 1.29rem); /* 15px → 22px */
 line-height: 1.2;
 font-weight: 600;
}
h3 {
 font-size: clamp(0.82rem, 1.2vw + 0.7rem, 1.06rem); /* 14px → ~18px */
 line-height: 1.3;
 font-weight: 600;
}
h4 {
  font-size: clamp(1rem, 2vw, 1.25rem); /* ~16–20px */
  line-height: 1.4;
  font-weight: 600;
}

h5 {
  font-size: clamp(0.95rem, 1.5vw, 1.1rem); /* ~15–17.5px */
  line-height: 1.4;
  font-weight: 600;
}

h6 {
  font-size: clamp(0.9rem, 1vw, 1rem); /* ~14.5–16px */
  line-height: 1.4;
  font-weight: 600;
}
/* homepage sizes are slightly larger */
.homepage h1 {
/*  font-size: clamp(1.56rem, 1.5vw + 1rem, 1.76rem);  26px → 30px */
  font-size: 30px;
  font-weight: 600;
  margin-bottom: 1rem;
}
.homepage h2 {
/*  font-size: clamp(1.18rem, 1.2vw + 1rem, 1.29rem);  20px → 22px */
/*  font-size: clamp(1.06rem, 1.5vw + 0.8rem, 1.76rem);  18px → 30px */
  font-size: 20px;
}
.homepage h3 {
  font-size: clamp(1.06rem, 1vw + 0.9rem, 1.18rem); /* ~18px → ~20px */
}
.homepage p {
  font-size: clamp(0.82rem, 0.5vw + 0.7rem, 0.82rem); /* 14px fixed */
}
/* END OF HEADINGS ===== */

/* [3] ===== TYPOGRAPHY ===== [3] */
p, ol, ul, dl, address {
 font-size: clamp(0.71rem, 1vw + 0.6rem, 0.94rem); /* 12px → 16px */
 line-height: 1.6;
 color: var(--text);
 font-weight: 400;
}
strong {
 font-weight: 700;
}
p {
 hyphens: none;
 -webkit-hyphens: none;
}
p.nomargin {
 margin: 0;
}
.capital {
 text-transform: capitalize;
}
.upper {
 text-transform: uppercase;
}
.lower {
 text-transform: lowercase;
}
ul, ol {
 margin: 0 0 1em 20px;
 padding: 0 0 0 15px;
}
li ul, li ol {
 margin: 0;
 font-size: 100%;
}

a:link, a:visited {
 color: var(--link);
 transition: .25s;
}

a:hover, a:visited:hover {
 color: var(--linkhover);
 transition: .75s;
}

dl, dd {
 margin-bottom: 1.5;
}
dt {
 font-weight: normal;
}
b, strong {
 font-weight: 700;
}
hr {
 display: block;
 margin: 1.5 0;
 padding: 0;
 height: 1px;
 border: 0;
 border-top: 1px solid rgb(204,204,204);
}
.eeeeeeeezy-hr {
 width 100%;
 height: auto;
}

blockquote {
 border: 1px solid rgb(204,204,204);
 padding: 20px 20px 0 20px;
 margin: 40px 0;
}
blockquote p {
 color: rgb(102,102,102);
 font-weight: 700;
}

sub, sup {
 font-size: 65%;
 font-style: italic;
}
sup {
 vertical-align: top;
}

.button,
a.button,
input[type='submit'],
.contactform input[type='submit'],
.primarybutton,
.bluebutton,
label.faqfilterbutton {
  background: var(--button);
  color: var(--buttontext);
  padding: 0.75rem 1.5rem;
  font-weight: 500;
  font-size: 0.825rem;
  line-height: 1;
  font-family: 'Poppins', sans-serif;
  text-align: center;
  text-transform: capitalize;
  text-decoration: none;
  border: 2px solid var(--button);
  border-radius: 26px; /* Modify as needed for redesign */
  cursor: pointer;
  display: inline-block;
  min-width: 205px;
  transition: 0.25s ease;
  white-space: nowrap;
}

input[type='submit'] {
 min-width: 135px;
}

.button-front {
 margin: 0;
 z-index: 5;
}

@media screen and (min-width:768px) {
 .button,
 a.button,
 input[type='submit'],
 .contactform input[type='submit'],
 .conformity input[type='submit'],
 .primarybutton,
 .bluebutton,
 label.faqfilterbutton { 
  min-width: 165px;
 }
}
button:hover, .button:hover, a.button:hover, input[type='submit']:hover,
button:visited:hover, .button:visited:hover, input[type='submit']:visited:hover{
  background: white;
  color: var(--button);
  transition: .10s;
}
.primarybutton {
 background-color: var(--primarybutton) !important;
 color: var(--primarybuttontext) !important;
 border: 2px solid var(--primarybuttonborder) !important;
 font-weight: 600;
 text-align: center;
}
.primarybutton:hover {
 background-color: var(--primarybuttonhover) !important;
 border: 2px solid var(--primarybuttonborderhover) !important;
 color: var(--primarybuttontext) !important;
}
.bluebutton {
 background-color: var(--bgcolour1) !important;
 border: 2px solid var(--bgcolour1) !important;
}
div.button-container,
div.button-summary {
 width: auto;
 text-align: center;
 padding: 0;
 margin: 1em;
 text-decoration: none;
}

div.button-summary {
 text-align: right;
}

table {
 font-size: 1em;
 line-height: 1.5;
 color: rgba(0,0,0,1);
 font-family: 'Poppins', Arial, Helvetica, helve, sans-serif;
 width: 100%;
 margin-bottom: 10px;
}
table p {
 margin: 0;
}

tr:nth-of-type(odd) {
 background: rgba(0,0,0,.025);
}

th {
 font-weight: 700;
 border-bottom: 1px solid rgb(0,0,0);
 background: rgba(0,0,0,.05);
 vertical-align: bottom;
}

th, td {
 padding: 10px;
 text-align: left;
}

td:nth-of-type(1) {
 font-weight: 700;
}

/* END OF TYPOGRAPHY ===== */

/* [4] ===== ELEMENTS ===== [4] */

/* fade in elements */
.hideme {
    opacity: 0;
    transform: translateY(20px);
    visibility: hidden;
    transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}
.hideme.is-visible {
    opacity: 1;
    transform: none;
    visibility: visible;
}
.delay1 { transition-delay: 0.1s }
.delay2 { transition-delay: 0.2s }
.delay3 { transition-delay: 0.3s }
.delay4 { transition-delay: 0.4s }
.delay5 { transition-delay: 0.5s }
.delay6 { transition-delay: 0.6s }

.skiptomain,
.skiptonav,
.offscreen {
 position:absolute;
 left:-10000px;
 top:auto;
 width:1px;
 height:1px;
 overflow:hidden;
}
.hidden {
 visibility: hidden;
}
section, header, footer {
 max-width: 100%;
 overflow-x: hidden;
}
section {
  content-visibility: auto;
  contain-intrinsic-size: auto 500px;
  margin-block: var(--space-lg);
}
section#hero-splash-general,
section#hero-splash,
#service-intro,
#guide {
  margin-block: 0; 
}

@media screen and (min-width:768px) {
 section#hero-splash {
  aspect-ratio: 2.85 / 1;
  max-width: 1920px;
  margin: 0 auto;
 }
}
.centered {
 display: flex;
 flex-direction: column;
 align-items: center;
 text-align: center;
}
.center {
 text-align: center;
}
.left {
 text-align: left;
}
.right {
 text-align: right;
}
.invert h1,
.invert h2,
.invert h3,
.invert h4,
.invert h5,
.invert h6,
.invert p {
 color: white;
}
.curves {
 border-radius: 14px;
}
@media screen and (min-width:640px) {
 .curves {
  border-radius: 28px;
 }
}
.container_1column,
.container,
.container600,
.container900,
.container1000,
.container1200,
.container1350,
.flexcontainer{
 margin-block: clamp(10px, 5vh, 50px);
 margin-inline: auto;
 width: clamp(300px, 95vw, 1200px);
}
footer .flexcontainer {
 width: 95vw;
}
.container_1column {
 max-width: 1200px;
}
.container600 {
 max-width: 600px;
}
.container900 {
 max-width: 900px;
}
.container1000 {
 max-width: 1000px;
}
.container1200 {
 max-width: 1200px;
}
.container1350 {
 max-width: 1350px;
}
.nested-container {
 width: 100%;
 margin:0 auto;
}
section .item {
 width: 100%;
 margin: .5% 1%;
 padding: clamp(10px,1em,25px);
}

img {
 width: 100%;
 height: auto;
}
.taxeezy-eename {
 font-weight: 800;
 text-transform: lowercase;
 letter-spacing: -3px;
 position:relative;
}
.taxeezy-ee1,
.taxeezy-ee2 {
 font-weight: 600;
 font-family: 'Poppins';
 font-size: 115%;
 transform: rotate(-10deg);
 letter-spacing: -4px;
 display: inline-block;
 text-transform: lowercase;
}
.taxeezy-ee1 {
 letter-spacing: -3px;
}
.taxeezy-ee2 {
 letter-spacing: -2px;
 position:relative;
 top: 2px;
}
.taxeezy-eename2 {
 letter-spacing: -2px;
 position:relative;
}
.taxeezy-ee3,
.taxeezy-ee4 {
 font-weight: 500;
 font-family: 'Poppins';
 font-size: 115%;
 transform: rotate(-10deg);
 letter-spacing: -4px;
 display: inline-block;
 text-transform: lowercase;
}
.taxeezy-ee3 {
 letter-spacing: -3px;
}
.taxeezy-ee4 {
 letter-spacing: -2px;
 position:relative;
 top: 2px;
}
/* WhatsApp Link */
.whatsapp_icon_link {
 cursor: pointer;
 display: block;
 position: fixed;
 width: 75px;
 height: 75px;
 bottom: 15px;
 right: 15px;
 z-index: 99999;
 background-color: #ceeaf7; /* taxeezy light blue */
 background-color: #25d366; /* whatsapp light green */
 background-color: white;
 border-radius: 50px;
 filter: opacity(90%);
}
.whatsapp_icon_link img {
 /* filter: invert(100%) sepia(0%) saturate(7500%) hue-rotate(171deg) brightness(102%) contrast(103%); white */
 /* filter: invert(9%) sepia(78%) saturate(2934%) hue-rotate(222deg) brightness(92%) contrast(105%); dark blue */
 filter: invert(64%) sepia(17%) saturate(1850%) hue-rotate(89deg) brightness(100%) contrast(88%); /* whatsapp light green */
}
.whatsapp_icon_link:hover {
 background-color: white;
 filter: opacity(100%);
 transform: scale(1.05);
}
/* end of WhatsApp Link */

.dropshadow-block {
  border-radius: 13px;
  padding: 1em;
  /* box-shadow: 0px 9px 5.9px 2px #8E8E8E1A; */
  box-shadow: 0px 9px 10px 10px #8E8E8E1A;
}
.dropshadow {
 /* box-shadow: 0px 9px 5.9px 2px #8E8E8E1A; */
  box-shadow: 0px 9px 10px 10px #8E8E8E1A;
}

@media screen and (min-width: 640px) {
 .dropshadow-block {
   border-radius: 24px;
 }
}


/* Flexbox & Grid reusable items */
.flexcontainer {
 display: flex;
}
.flexrow {
 display: flex;
 flex-direction: row;
}
.flexcolumn {
 display: flex;
 flex-direction: column;
}
.flexcenter {
 align-items: center;
}
.flexwrap {
 flex-wrap: wrap;
}
.valignmiddle {
 align-items: center;
}
.valigntop {
 align-items: flex-start;
}
.valignbottom {
 align-items: flex-end;
}
.smalltextlink {
 font-weight: 300;
 font-size: var(--text-sm);
 margin-bottom: var(--space-sm);
}

/* [5] ===== HEADER ===== [5] */
header {
 background: white;
 position: sticky;
 top: 0;
 z-index:10;
/*  height: 80px; */
 height: 50px;
 border-bottom: 1px solid #efefef;
 display: flex;
 justify-content: space-between;
 align-items: center;
 flex-wrap: wrap;
 overflow: visible;
 max-width: 1920px;
 margin-inline: auto;
}
nav {
 /* margin-top: 20px; */
}
#logo {
 position:relative;
 z-index:1;
 width: 50vw;
 max-width: 160px;
 height: auto;
 margin: 0;
 float:left;
 margin-left: 10px;
}

@media screen and (min-width: 580px) {
 #logo{
  width: 200px;
  margin-left: 20px;
  top: 0;
 }
}
@media screen and (min-width: 1024px) {
 #logo{
  top: -4px;
 }
}
/* END OF HEADER CONTENT ===== */

/* [6] ===== NAVIGATION ===== [6] */
/* --- Main Menu --- */
@media screen and (max-width: 1023px) {
#menuToggle {
 display: block;
 position: fixed;
 top: 70px;
 right: 25px;
 z-index: 1; 
 -webkit-user-select: none;
 user-select: none;
}
@media screen and (max-width: 1023px) {
 #menuToggle {
  top: 70px;
 }
 html:not([data-scroll='0']) #menuToggle {
   /* top: 8px; */
   top: 14px;
 }
}
#menuToggle a {
 text-decoration: none; 
 color: #232323; 
 transition: color 0.3s ease;
}
#menuToggle a:hover {
 color: rgb(0,0,0);
}
#menuToggle input {
 display: block;
 width: 60px;
 height: 60px;
 position: absolute;
 top: -20px; 
 right: 0; 
 cursor: pointer;  
 opacity: 0; /* hide this */
 z-index: 2; /* and place it over the hamburger */  
 -webkit-touch-callout: none;
}

/* * Just a quick hamburger */
#menuToggle span {
 display: block;
/* width: 50px;
 height: 6px;
 margin-bottom: 9px; */
 width: 35px;
 height: 4px;
 margin-bottom: 4px;
 position: relative;
 background: rgb(0,0,0); /* burger line color */
 border-radius: 3px;
 z-index: 1;  
 transform-origin: 0 -2px;  
 transition: transform 0.5s cubic-bezier(0.77,0.2,0.05,1.0),
 background 0.5s cubic-bezier(0.77,0.2,0.05,1.0),
 opacity 0.55s ease;
}
#menuToggle span:first-child {
 transform-origin: 0% 0%;
}
#menuToggle span:nth-last-child(2) {
 transform-origin: 0% 100%;
}
/*  * Transform all the slices of hamburger * into a crossmark. */
#menuToggle input:checked ~ span {
 opacity: 1;
 transform: rotate(45deg) translate(-2px, -1px);
 transform: rotate(45deg) translate(0, 0);
 background: rgb(51,51,51); /* v.dark grey cross */
}
/* * But let's hide the middle one. */
#menuToggle input:checked ~ span:nth-last-child(3) {
 opacity: 0;
 transform: rotate(0deg) scale(0.2, 0.2);
}
/* * Oh yeah and the last one should go the other direction */
#menuToggle input:checked ~ span:nth-last-child(2) {
/*  transform: rotate(-45deg) translate(-3px, 0); */
 transform: rotate(-45deg) translate(-6px, 3px);
}

/* * Make this absolute positioned * at the top left of the screen */
#menu {
 position: absolute;
 right:0;
 width: 50vw;
 height: 100vh;
 height: calc(100vh + 100px);
 overflow-x: hidden;
 overflow-y: auto;
/* margin: -100px -25px 0 0;
 padding: 125px 50px;
 margin: 14px -25px 0 0;
 padding: 0 25px 100px 0; */
        margin: -120px -25px 0 0;
        padding: 125px 50px 125px 0;
 background: rgba(244,244,244,.98);
 list-style-type: none;
 -webkit-font-smoothing: antialiased;
 /* to stop flickering of text in safari */  
 transform-origin: 0% 0%;
 transform: translate(200%, 0); 
 transition: transform 0.5s cubic-bezier(0.77,0.2,0.05,1.0);
}

/* ===  menu options format */
#menu .wrapper {
 height: auto;
 overflow-x: hidden;
 overflow-y: auto;
}

#menu ul li {
 font-size: 21px;
 border-bottom: 1px solid #cdcdcd;
 cursor: pointer;
 padding: 10px 0;
 margin: 0;
}

/* #menu li.subsection::after {
 content: "+";
} */

#menu li:hover {
 color: rgb(0,0,0);
}

#menu ul li a {
 display: block;
}
#menu ul li ul {
 padding:0;
}
#menu ul li ul li {
 border: 0;
}
#menu ul li ul li a{
 display: block;
 padding: 5px 0;
 margin: 0;
 background: unset;
 color: unset;
 font-size: 16px;
 font-weight: normal;
}
#menu li.login,
#menu li.sign-up {
 border-bottom: 0;
 background-color: var(--button);
/* padding: 20px 10px;*/
 padding: 10px;
 text-align: center;
}
#menu li.login {
 margin-top: 10px;
 background-color: var(--primarybutton);
 border: 2px solid var(--button);
 font-weight: bold;
}
#menu li.sign-up a {
 color: var(--buttontext);
}
#menu li.login a {
 color: var(--primarybuttontext);
}
/* === end of menu options format */

/* * And let's slide it in from the left */
#menuToggle input:checked ~ div {
 transform: none;
}
}

@media screen and (max-width: 640px) {
#menu {
 width: 100vw;
}
#menu ul li {
 font-size: 18px;
 font-weight: bold;
}
#menu li ul li div {
 display: none; /* hide 3rd level */
}
}

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

/*.subsection ul.hide {
 display: block;
} can probably be removed */

#menuToggle input {
 display: none;
}

#menu {
 position: relative;
 right: 10px;
/* margin: 8px 0; */
 margin: 4px 0;
 padding: 0;
}

#menu ul,
#menu .wrapper {
 margin: 0;
 padding: 0;
}

#menu ul > li {
/* amend */ font-size: 14px;
 cursor: pointer;
 margin: 0;
 padding: 0;
 float: left;
 font-family: sans-serif;
}
#menu li div > ul,
#menu li > ul {
 position: absolute;
 left 0;
/* display: none; */
 visibility: hidden;
 opacity: 0;
 -webkit-box-shadow: 0px 10px 15px 0px rgba(0,0,0,0.15); 
 box-shadow: 0px 10px 15px 0px rgba(0,0,0,0.15);
 transition: .3s; 
}

#menu li:hover div > ul,
#menu li:hover > ul,
#menu li:focus-within div > ul,
#menu li:focus-within > ul {
/* display: block; */
 visibility: visible;
 opacity: 1;
 border-top: 2px solid var(--bgcolour2);
 background: rgb(204,204,204);
 transition: opacity .1s;
}

#menu li ul li {
 float: left;
 clear: left;
 margin: 0;
 padding: 0;
}

/* hide third level */
#menu li ul li div {
 display: none;
}

#menu li div,
#menu li a:link,
#menu li a:visited {
 display: block;
 padding: 8px 11px;
 color: black;
 text-decoration: none;
}

#menu li div:hover,
#menu li a:hover,
#menu li a:visited:hover {
 color: var(--bgcolour1);
}

 #menu li.login a:link,
 #menu li.login a:visited,
 #menu li.sign-up a:link,
 #menu li.sign-up a:visited {
  background: var(--button);
  color: var(--buttontext) !important;
  border: 2px solid var(--button);
  border-radius: 50px;
  padding: 5px 10px;
/*  margin: -2px 5px; */
  margin: 2.5px 5px;
  text-align: center;
  min-width: 115px;
/*  filter: drop-shadow(1px 1px 1px #999); */
  transition: .25s;
 }
 #menu li.login a:link,
 #menu li.login a:visited {
  background: var(--primarybutton);
  color: var(--primarybuttontext) !important;
  border: 2px solid var(--primarybuttontext);
  font-weight: bold;
 }
 #menu li.login a:hover,
 #menu li.login a:visited:hover,
 #menu li.sign-up a:hover,
 #menu li.sign-up a:visited:hover {
  background: white;
  color: var(--button) !important;
  border: 2px solid var(--button);
  transition: .10s;
 }
 #menu li.login a:hover,
 #menu li.login a:visited:hover {
  background: var(--primarybuttonhover);
  color: var(--button) !important;
  border: 2px solid var(--button);
 }
 #menu li li a:link,
 #menu li li a:visited{
  width: 250px;
  background: rgba(244,244,244,1);
  text-decoration: none; 
 }
 #menu li li a:hover,
 #menu li li a:visited:hover{
  background: var(--background1);
  color: var(--bgcolour1);
  text-decoration: none;
 }
}

@media screen and (min-width: 1600px) {
 #menu li div,
 #menu li a:link,
 #menu li a:visited {
  padding: 8px 20px;
 }
 #menu li li a:link,
 #menu li li a:visited {
  width: 325px;
 }
}

/* END OF NAVIGATION ===== */

/* [7] ===== HOMEPAGE ===== [7] */
/* See homepage css file */


/* [8] ===== FOOTER ===== [8] */
/* accreditations */
#homepage-accreditations img {
 max-width: 200px;
}
#homepage-accreditations .flexrow {
 justify-content: space-around;
}
#homepage-accreditations .item {
 width: 31%;
 display: flex;
 justify-content: center;
}

/* --- partners carousel --- */
#Homepage-partners .slick-track {
 top: 0;
}
/* --- end of partners carousel --- */
footer {

}
footer .flexcontainer {
 flex-wrap: wrap;
 flex-direction: row;
 justify-content: space-between;
 margin-top: 50px;
}
footer .item {
 width: 100%;
 height: auto;
 margin: 1%;
 text-align: center;
}
footer .item-1 {
 display: flex;
 flex-direction: column;
 justify-content: space-between;
}
footer .mobile {
 flex: 1;
 width: 100%;
 display: none;
}
footer .desktop {
 display block;
}
footer .item-5 {
 border-top: 1px solid var(--footertext);
 padding-top: var(--space-sm);
 flex: 1;
 width: 100%;
}
@media screen and (min-width: 1024px) {
 footer .item {
  width: 23%;
  text-align: left;
 }
}

footer h4 {
 color: var(--footerheadings);
 margin: 0;
 margin-bottom: 1em;
}
footer img.footer-logo,
footer svg.footer-logo {
 width: 100%;
 max-width: 200px;
 height: auto;
 margin-bottom: 1em;
}
footer svg.footer-logo path {
 fill: var(--headings);
}
footer p.contact-social-media img,
footer p.contact-social-media svg {
 height: 35px;
 margin-right: 1em;
}
footer p.contact-social-media svg path {
 fill: var(--footerheadings);
}
footer p {
 color: var(--footertext);
 font-size: 12px;
}
footer a:link, footer a:visited {
 color: var(--footerlink);
 display: inline-block;
}
footer a:hover, footer a:visited:hover {
 color: var(--link);
}
footer ul {
 margin: 0;
 padding: 0;
 list-style: none;
}
footer li {
 margin-top: .5em;
}
footer li a:link,
footer li a:visited {
 display: block;
 text-decoration: none;
 padding-block: 0;
}

/* Mobile reordering */
@media screen and (max-width: 1023px) {
 footer h4 {
  margin: 0;
  margin-top: 1em;
 }
  footer .item-1 {
    display: flex;
    flex-direction: column;
  }
  footer .logo-wrap {
    order: -1;
  }
  footer .push-to-bottom {
    order: 99;
    margin-top: auto; /* Pushes it to bottom if there's space */
  }
  footer .mobile {
    display: flex;
    flex-direction: column;
    flex: auto;
    margin-top: var(--space-md);
    border-top: 1px solid var(--footertext);
    padding-top: var(--space-md);
  }
  footer .desktop {
   display: none;
  }
  footer .item-5 {
    order: 100;
    border-top: 0;
    display: flex;
    flex-direction: column;
    flex: auto;
  }
}


/* END OF FOOTER ===== */


/* [9] ===== SITE SECTIONS ===== [9] */

/* --- general content pages --- */
.text-content h1,
.text-content h2,
.text-content h3,
.text-content h4,
.text-content h5,
.text-content h6 {
  margin-top: var(--space-md);
  margin-bottom: var(--space-sm);
}

.text-content p {
  margin-bottom: 1.5rem;
  line-height: 1.6;
}
/* --- General Page Headers --- */
#hero-splash-general .hero-container {
  position: relative;
/*  height: clamp(350px, 50vh, 540px); */
  height: clamp(350px, 45vh, 450px);
  overflow: hidden;
}
#hero-splash-general .hero-content {
 z-index: 3;
 color: white;
 width: 100%;
 height: 100%;
 display: flex;
 justify-content: center;
 align-items: center;
}
.hero-eeeezy {
 position: absolute;
 z-index: 1;
 width: 95vw;
 left: 2.5vw;
 bottom: 0;
}

@media screen and (min-width:960px) {
.hero-eeeezy {
  width: 50%;
  left: 25%;
 }
}
.team-headerpic {
 width: 75%;
}
#team-summary {
 display: none;
}
/* --- End of General Page Headers --- */


/* --- New About Pages Content --- */
#accreditations-page img {
 width: 300px;
 height: auto;
}
/* --- End of About Pages Content --- */


/* --- New Services Page Content --- */
.hero-container {
  position: relative;
  height: clamp(375px, 35vh, 375px);
  overflow: hidden;
}
@media screen and (min-width:768px) {
 .hero-container {
  /* height: clamp(450px, 45vh, 450px); */
  height: 100%;
 }
}
.hero-background {
  position: absolute;
  inset: 0;
  background-image: url('{$headerhero}');
  background-color: var(--bgcolour1);
  background-size: cover;
  background-position: center;
  z-index: 1;
}
.hero-gradient {
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, transparent 50%, #061c5d 100%);
  z-index: 2;
  pointer-events: none; /* ensures it doesn't block interaction */
}
.hero-content {
  position: absolute;
  bottom: 40px;
  z-index: 3;
  color: white;
  padding: 0 2rem;
  margin: 0 auto;
  width: 100%;
}
.hero-content h1,
.hero-content h2,
.hero-content p{
 text-align: center;
 margin: 0;
 line-height: 1.25em;
 color: var(--invert);
 font-size: var(--text-lg);
}
.hero-content a {
 color: white;
}
.hero-content a:hover {
 color: var(--linkhover);
}
@media screen and (min-width: 768px) {
.hero-content h1 {
 font-size: var(--text-xxxl);
 }
}
.hero-content p{
 margin-top: 1em;
}
.hero-content a{
 margin: 1em 0;
}

/* --- service intro --- */
#service-intro .container {
 margin-block: clamp(10px, 3vh, 50px);
}

#service-intro p{
 text-align: center;
 color: var(--invert);
}
#service-intro {
 background-color: var(--bgcolour1);
 margin-top: -1px /* hide random white line appearing between the coloured elements in chrome browser */
}
.price {
 font-size: 1.5rem;
 font-weight: 600;
}
.strapline {
 margin: 0;
}
@media screen and (min-width: 768px) {
 .price {
  font-size: 3rem;
 }
 .strapline {
  font-size: 1.5rem;
 }
}
#service-intro.flexrow {
 vertical-align: center;
 align-items: center;
}
.flexwrap {
 flex-wrap: wrap;
}
.gap2 {
 gap: 2%;
}
.row3 {
 width: 100%;
}
.padding2222 {
 padding: 0.85rem 0;
 border-bottom: 1px solid var(--bgcolour2);
 margin: 0 1.5rem;
}
#service-intro .row3 p {
 text-align: left;
 line-height: 1.2rem;
 font-weight: 300;
 font-size: 12px;
}
#service-intro .padding2222:last-of-type {
 border-bottom: 0;
}
@media screen and (min-width: 768px) {
 #service-intro .row3 p {
  border-bottom: 0;
  font-size: unset;
  line-height: 1.5rem;
 }
 .padding2222 {
  padding: 0.85rem 2rem;
  border-bottom: 0;
  margin: 0;
 }
}


/* --- CUSTOMISED FOR BLOCK --- */
.list-row h2,
.list-row p {
  margin: 0;
}
.list-row-item4 {
 width: 100%;
}
.list-row .flexcolumn {
  flex-wrap: wrap;
  align-items: flex-start;
  padding: 2.5em 1em;
}
.list-row img {
 height: 30px;
 width: auto;
 border-left: 2px solid var(--bgcolour3);
 padding-left: 1rem;
 margin-bottom: 2px;
}
.list-row h3 {
 font-size: var(--text-sm);
 padding-top: 1rem;
 border-left: 2px solid var(--bgcolour1);
 padding-left: 1rem;
 text-transform: capitalize;
}
.timeline-extra-info .button {
 margin-bottom: 1rem;
}
.timeline-extra-info h2 {
 font-size: 32px;
 margin-block: 1rem;
}
@media screen and (min-width: 768px) {
 .list-row h3 {
  font-size: var(--text-lg);
 }
}
@media screen and (min-width: 360px) {
 .list-row-item4 {
  width: 48%;
 }
}
@media screen and (min-width: 768px) {
 #customised-for p {
  font-family: Poppins;
  font-weight: 300;
  font-size: 16px;
  line-height: 120%;
  letter-spacing: 0px;
 }
 #customised-for h2 {
  font-family: Poppins;
  font-weight: 600;
  font-size: 22px;
  line-height: 120%;
  letter-spacing: 0px;
  margin-block: 1rem 2rem;
 }
 #customised-for .button {
  margin-top: 1rem;
 }
 .timeline-extra-info p.start-free {
  font-weight: 300;
  font-size: 16px;
  line-height: 120%;
  letter-spacing: 0px;
  text-decoration: underline;
 }
 .timeline-extra-info .button {
  margin-bottom: 1rem;
 }
 .row3 {
  width: 32%;
 }
 .list-row-item4 {
  width: 25%;
 }
 .padding2222 {
  padding: 2em;
 }
}


/* --- swiping items --- */
#customised-for .scroll-container {
  display: flex;
  overflow-x: auto;
  gap: 1rem;
  padding-bottom: 1rem;
  scrollbar-width: none;
}
#customised-for .scroll-item {
  flex: 0 0 calc(35% + 1rem); /* shows ~2.5 items */
  scroll-snap-align: start;
  padding-block: var(--space-md);
  transition: transform 0.3s ease;
}
@media screen and (min-width: 768px) {
 #customised-for .scroll-item {
  flex: 0 0 auto;
  /* flex: 0 0 calc(21% + 1rem); */ /* shows ~4.5 items */
  scroll-padding-left: 2rem;
  margin-inline: 5rem;
 }
}
@media (pointer: coarse) {
  #customised-for .scroll-container {
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    cursor: grab;
  }
}


/* --- process stages --- */
.timeline-container {
  /*  position: relative;
  min-height: 850px;
  overflow-y: hidden; */
}
.stage {
  position: relative;
  margin: 0;
  display: flex;
  align-items: center;
}
.stage h2 {
 font-size: clamp(0.8em, 1vw + 1em, 1.4em);
 margin: 0;
 margin-bottom: .5em;
}
.stage p {
 /* font-size: 14px; */
 font-size: clamp(0.75em, 1.5vw, 0.9em);
}
.stage.left {
  justify-content: flex-start;
  flex-direction: row-reverse;
  justify-content: flex-end;
}
.stage.right {
  justify-content: flex-end;
}
.timeline {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: space-between;
}
.number {
  width: 87px;
  height: 87px;
  border-radius: 50%;
  background: white;
  text-align: center;
  line-height: 260%;
  font-size: 30px;
  font-weight: bold;
  color: var(--text);
  border: 5px solid #f1f1f1;
  aspect-ratio: 1 / 1;
}
.stage.right .number {
  transform: translateX(-40px);
}
.stage.left .number {
  transform: translateX(40px);
}
.connector {
  position: absolute;
  pointer-events: none;
  z-index: 0;
  opacity: 0;
  transform: scaleX(0);
  transition: transform 0.6s ease-out, opacity 0.6s ease-out;
}
.connector svg {
  width: 100%;
  height: 60%;
  transform-origin: left center;
}

.connector-1-2 {
 transform-origin: 0% 35% !important;
}
.connector:nth-of-type(1) svg {
 height: 60% !important;
 width: 90% !important;
}
.connector:nth-of-type(2) svg {
 height: 80% !important;
 width: 120% !important;
}
.connector:nth-of-type(3) svg {
 height: 70% !important;
 width: 85% !important;
}
.connector:nth-of-type(4) svg {
 height: 70% !important;
 width: 85% !important;
}
.connector:nth-of-type(5) svg {
 height: 70% !important;
 width: 85% !important;
}


.content {
 width: 35%;
}
.stage.left .content h2,
.stage.left .content p {
 text-align: right;
}
.stage.right .content h2,
.stage.right .content p {
 text-align: left;
}
.timeline-extra-info {
 margin-block: var(--space-lg);
}
.timeline-extra-info p:nth-of-type(2){
 margin-top: var(--space-sm);
}

@media screen and (max-width: 767px) {
  .timeline-container .stage {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 1rem;
    margin-bottom: 2.5rem;
  }

  .timeline-container .stage.left,
  .timeline-container .stage.right {
    flex-direction: row; /* override zigzag */
    text-align: left;
  }
  .stage.left .content h2,
  .stage.left .content p {
    text-align: left;
  }

  .stage h2 { 
   font-size: clamp(0.8em, 1vw + 1em, 1em);
  }

  .timeline-container .number {
    flex: 0 0 auto;
    font-size: clamp(1.75rem, 1.25vw + 0.8rem, 2rem);
  }
 .stage.right .number {
  transform: translateX(0);
 }
 .stage.left .number {
  transform: translateX(0);
 }
 .number {
  border: 6px solid #f1f1f1;
 }
 .timeline-container .content {
  flex: 1;
 }
 .connector-1-2 {
  transform-origin: 0% 35% !important;
 }
 .connector-2-3 {
  transform-origin: 3% 32% !important;
 }
 .connector-3-4 {
  transform-origin: 1% 35% !important;
 }
 .connector-4-5 {
  transform-origin: -6% 60% !important;
 }
 .connector:nth-of-type(1) svg {
  height: 60% !important;
  width: 90% !important;
 }
 .connector:nth-of-type(2) svg {
  height: 80% !important;
  width: 120% !important;
 }
 .connector:nth-of-type(3) svg {
  height: 70% !important;
  width: 85% !important;
 }
 .connector:nth-of-type(4) svg {
  height: 70% !important;
  width: 85% !important;
 }
 .connector:nth-of-type(5) svg {
  height: 70% !important;
  width: 85% !important;
 }
}

@media screen and (min-width: 768px) {
 .tax-connector-3-4 {
  transform-origin: 5% 50% !important;
  width: 150px !important;
 }
 .doc-connector-2-3 {
  transform-origin: 1% 46% !important;
  width: 120px !important;
 }
 .doc-connector-3-4 {
  transform-origin: 5% 50% !important;
  width: 140px !important;
 }
 .cgt-connector-2-3 {
  transform-origin: 1% 46% !important;
  width: 130px !important;
 }
 .cgt-connector-3-4 {
  transform-origin: 5% 65% !important;
  width: 130px !important;
 }
 .utr-connector-2-3 {
  transform-origin: 1% 50% !important;
  width: 140px !important;
 }
 .utr-connector-3-4 {
  transform-origin: 10% 40% !important;
  width: 150px !important;
 }
 .nrl-connector-2-3 {
  transform-origin: 2% 46% !important;
  width: 130px !important;
 }
 .nrl-connector-3-4 {
  transform-origin: 5% 45% !important;
  width: 150px !important;
 }
/* .cis-connector-1-2 {
  transform-origin: 1% 45% !important;
 } */
 .cis-connector-2-3 {
  transform-origin: 1% 50% !important;
  width: 120px !important;
 }
 .cis-connector-3-4 {
  transform-origin: 5% 50% !important;
  width: 135px !important;
 }
 #step1, #step2, #step3, #step4 {
  position: relative;
 }
 #step2.tax-step {
  top: -30px;
 }
 #step3.tax-step {
  top: -50px;
 }
 #step4.tax-step {
  top: -120px;
 }
 #step2.doc-step {
  top: -30px;
 }
 #step3.doc-step {
  top: -50px;
 }
 #step4.doc-step {
  top: -80px;
 }
 #step2.cgt-step {
  top: -40px;
 }
 #step3.cgt-step {
  top: -60px;
 }
 #step4.cgt-step {
  top: -130px;
 }
 #step2.utr-step {
  top: -10px;
 }
 #step3.utr-step {
  top: -20px;
 }
 #step4.utr-step {
  top: -110px;
 }
 #step2.nrl-step {
  top: -30px;
 }
 #step3.nrl-step {
  top: -50px;
 }
 #step4.nrl-step {
  top: -110px;
 }
 #step2.cis-step {
  top: -30px;
 }
 #step3.cis-step {
  top: -50px;
 }
 #step4.cis-step {
  top: -80px;
 }
 .tax-content4 {
  position: relative;
  top: 30px;
 }
 .cgt-content4 {
  position: relative;
  top: 60px;
 }
 .nrl-number4 {
  position: relative;
  top: -10px;
 }
 .nrl-content4 {
  position: relative;
  top: 50px;
 }
}


/* --- contact support universal block --- */
#service-support .flexrow {
 align-items: center;
 justify-content: space-between;
 flex-direction: column;
}
#service-support .flexrow p {
 margin: 0;
 font-size: clamp(1em, 2vw, 1.4em);
 font-weight: 600;
 line-height: 141%;
 padding: 1em;
 text-align: center;
}
#service-support {
 position: relative;
 overflow: visible;
}

@media screen and (min-width:768px) {
 #service-support {
  margin: 2.5em 0;
 }
 #service-support .flexrow {
  flex-direction: row;
 }
 #service-support .flexrow p {
  text-align: left;
  padding: 0 1em;
 }
 #service-support .image-wrapper {
   position: relative;
   z-index: 1;
   margin-top: -100px;
   margin-bottom: -100px;
   left: 60px;
 }
}
@media screen and (min-width:1024px) {
 #service-support .container {
  margin-block: 6vh;
 }
}


@media screen and (max-width: 767px) {
 #service-support img {
  position: absolute;
  top: 20px;
  right: -30px;
  width: 60vw;
  max-width: 300px;
  height: auto;
 }
 #service-support .row3 {
  width: 60%;
 }
 #service-support .flexrow {
  align-items: flex-start;
 }
 #service-support .flexrow p {
  text-align: left;
 }
}


/* --- faqs slider --- */
#service-faq h2 {
 font-size: 22px;
 line-height: 141%;
 letter-spacing: 0px;
}
#service-faq .slick-track {
padding-bottom: 75px;
}

#service-faq .dropshadow-block {
 margin-inline: 2em;
 min-height: 200px;
 display: flex;
 flex-direction: column;
 justify-content: center;
}

#service-faq .faq-carousel .faq-slide {
  display: grid !important;
  grid-template-columns: repeat(1, 1fr);
  gap: 2rem;
  height: auto;
}
@media screen and (min-width: 768px) {
 #service-faq .dropshadow-block {
  margin-inline: 0;
 }
 #service-faq .faq-carousel .faq-slide {
  grid-template-columns: repeat(2, 1fr);
 }
}

#service-faq .faq-carousel h4 {
  margin-bottom: var(--space-sm);
  font-size: var(--text-lg);
}
#service-faq .faq-carousel .faq-item div {
  font-size: 0.95rem;
  line-height: 1.5;
  display: -webkit-box;
  -webkit-line-clamp: 3; /* Limit to 3 lines */
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  transition: max-height .5s ease;
  max-height: 4.5em;
}
#service-faq .faq-carousel .faq-item div:hover,
#service-faq .faq-carousel .faq-item div:focus-within {
 display: block; /* switch from -webkit-box to block */
 overflow: visible;
 max-height: 1000px;
  transition: max-height .25s ease;
}
.clamped.open {
  -webkit-line-clamp: unset;
  overflow: visible;
  max-height: 1000px;
  padding-bottom: 1em;
}

#service-faq .slick-dots {
 position: relative !important;
}
#service-faq .slick-list {
 height: auto !important;
}
.faq-carousel.desktop-version {
 display: none;
}
.faq-carousel.mobile-version {
 display: block; 
}

.faq-carousel .slick-prev::before,
.faq-carousel .slick-next::before {
  content: '';
  display: block;
  width: 40px;
  height: 40px;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

.faq-carousel .slick-prev::before {
  background-image: url('/uploads/images/icons/20250503-arrow-circle-left.svg');
}

.faq-carousel .slick-next::before {
  background-image: url('/uploads/images/icons/20250503-arrow-circle-right.svg');
}


.faq-carousel .slick-prev,
.faq-carousel .slick-next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 10;
  width: 40px;
  height: 40px;
  cursor: pointer;
  opacity: 0.25;
}
.faq-carousel .slick-prev {
 left: 60px;
}
.faq-carousel .slick-next {
 right: 60px;
}


@media (min-width: 768px) {
 .faq-carousel.desktop-version {
  display: block;
 }
 .faq-carousel.mobile-version {
  display: none;
 }
 #service-faq .slick-track {
  padding-bottom: 75px;
 }
 .faq-carousel .slick-prev {
  left: 20px;
 }
 .faq-carousel .slick-next {
  right: 20px;
 }
}

@media screen and (max-width: 479px) {
  #service-faq .faq-carousel .faq-slide {
    grid-template-columns: 1fr;
  }
}

#service-set-apart .flexrow {
 display: flex;
 flex-direction: row-reverse;
 padding: 1rem;
 margin-bottom: 5rem;
} 
#service-set-apart img {
 width: 2rem;
 margin-left: 1rem;
}

@media screen and (min-width:768px) {
 #service-set-apart h2 {
  font-size: 22px;
  line-height: 141%;
  letter-spacing: 0px;
 }
 #service-set-apart .flexrow {
  padding: 2.5rem;
  margin-bottom: 5rem;
 }
}
/* End of Services */

/* --- FAQs & Tax Tables Section --- */
/* accordion */
#tax-tables .ui-accordion .ui-accordion-header,
#faqs .ui-accordion .ui-accordion-header {
 padding: 10px 0;
}
#tax-tables .ui-accordion .ui-accordion-header,
#faqs .ui-accordion .ui-accordion-header {
 padding: 20px 0;
 border-top: 1px solid #bbb;
}
#tax-tables .ui-corner-all,
#tax-tables .ui-corner-top,
#tax-tables .ui-corner-bottom,
#faqs .ui-corner-all,
#faqs .ui-corner-top,
#faqs .ui-corner-bottom {
 border-radius: 0;
}
#tax-tables .ui-state-default,
#faqs .ui-state-default {
 border :0;
 background: none;
 color: unset;
}

#tax-tables .ui-state-hover {
 color: var(--link);
} 

#tax-tables .ui-state-active,
#faqs .ui-state-active {
 border :0;
 background: none;
 color: var(--link);
}

#tax-tables .ui-widget-content,
#faqs .ui-widget-content {
 border: 0;
 background: none;
}
#tax-tables .ui-accordion .ui-accordion-content {
 padding: 15px;
}
#faqs .ui-accordion .ui-accordion-content {
 padding: 0 1.25rem;
}
.faq-section-heading {
 background-color: var(--bgcolour2);
 padding: 1em .5em;
}
#tax-tables .accordion h3,
#faqs .faqaccordion h4 {
 padding-left: 20px !important;
 text-transform: capitalize;
 font-weight: 500;
}
#tax-tables .accordion span,
#faqs .faqaccordion span {
 position: absolute;
 left: 0;
 top: 45%;
}
/* End of FAQs & Tax Tables Section ===== */

/* --- Taxeezy Guides Area + News Summary --- */ 
#tutor_search,
#guide_search {
 display: flex;
 justify-content: space-around;
 
}
#tutor_search input,
#guide_search input {
 padding: 1.25em;
}
#tutor_search input#guide-search,
#guide_search input#guide-search {
 min-width: 50vw;
 display: inline-block;
}

#guide-summary .container {
 display: flex;
 flex-flow: row wrap;
 -webkit-justify-content: center;
 justify-content: center;
}
#guide-summary h2 {
 text-align: center;
}
#guide-summary .item { 
 flex: 0 0 auto;
 margin-bottom: 1em;
 padding:0;
 width: 100%;
 height: auto;
 margin: 1%;
 overflow: hidden;
 /* set 'more' button to bottom of box */
 display: flex;
 flex-direction: column;
 justify-content: space-between;
}
#guide-summary .item {
 background-color: rgba(248,248,248,1) 
}
#guide-summary img {
 height: 20vh;
 max-height: 200px;
 min-height: 150px;
 width: 100%;
 object-fit: cover;
}
#guide-summary h4 {
 font-size: var(--text-lg);
 padding: var(--space-sm);
}
#guide-summary p {
 font-size: var(--text-md);
 line-height: 1.4em;
 max-height: calc(1.4em * 4);
 padding-inline: var(--space-sm);
  display: -webkit-box;
  -webkit-line-clamp: 3; /* Limit to 3 lines */
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}
@media screen and (min-width: 374px) {
 #guide-summary .item {
  width: 48%;
 }
}

@media screen and (min-width: 1150px) {
 #guide-summary .item {
  width: 23%;
 }
}

/* End of Taxeezy Guides Area + News Summary */ 

/* --- Tax Calculators --- */
#calculators{
 text-align: center;
}
#calculator-list {
 display: flex;
 flex-direction: row;
 flex-wrap: wrap;
}
#calculator-list .item {
 width: 100%;
 margin: 2% 0;
 
}
@media screen and (min-width: 260px) {
#calculator-list .item {
 width: 44%;
 margin: 3%;
}
}
@media screen and (min-width: 768px) {
#calculator-list .item {
 width: 20%;
 margin: 2%;
}
}

#calculators h3 {
 font-size: .95em;
 margin: 0;
}
#calculators .item {
 height: auto;
 padding: var(--space-sm);
}
@media screen and (min-width:1024px) {
 #calculators .item {
  height: auto;
  padding: var(--space-md);
 }
}

#calculators img {
 width: auto;
 height: 50px;
 /* padding: 35px 35px 15px 35px; */
}
#calculators a {
 text-decoration: none;
}
#calculators a:hover img,
#calculators a:hover h3 {
 filter: opacity(70%) saturate(150%);
}

.center {
  text-align: center;
}
.calculator {
 width: 100%;
}

@media screen and (orientation: landscape) {
 .calc-cis {
  min-height: 1000px;
 }
 .calc-gross-profit {
  min-height: 900px;
 }
 .calc-company-car {
  min-height: 1100px;
 }
 .calc-fuel-cost {
  min-height: 1300px;
 }
 .calc-apr {
  min-height: 650px;
 }
 .calc-loan {
  min-height: 1000px;
 }
 .calc-mortgage {
  min-height: 900px;
 }
 .calc-payslip {
  min-height: 1200px;
 }
 .calc-savings {
  min-height: 1050px;
 }
 .calc-property {
  min-height: 950px;
 }
 .calc-startup {
  min-height: 2150px;
 }
 .calc-vat {
  min-height: 800px;
 }
}

@media screen and (orientation: portrait) {
 .calc-cis {
  min-height: 1400px;
 }
 .calc-gross-profit {
  min-height: 1100px;
 }
 .calc-company-car {
  min-height: 1700px;
 }
 .calc-fuel-cost {
  min-height: 1800px;
 }
 .calc-apr {
  min-height: 800px;
 }
 .calc-loan {
  min-height: 1350px;
 }
 .calc-mortgage {
  min-height: 1200px;
 }
 .calc-payslip {
  min-height: 1450px;
 }
 .calc-savings {
  min-height: 1500px;
 }
 .calc-property {
  min-height: 1200px;
 }
 .calc-startup {
  min-height: 3650px;
 }
 .calc-vat {
  min-height: 950px;
 }
}
/* end of Tax Calculators */

/* ===== CONTACT PAGE SECTION ===== */
#contact-page .container {
 display: flex;
 flex-flow: row wrap;
 -webkit-justify-content: left;
 justify-content: left;
}

#contact-page .item {
  flex: 1;
  padding:0;
  margin: 1%;
}
#contact-page .double-item {
  flex: 2;
  margin: 1%;
}
.contactform input, .contactform textarea, .contactform select, .contactform select option, input[type='password'], #guide-search {
  border: 0;
  background: rgba(240,240,240,.5);
  padding: 1em;
  margin: 1em 0;
  width: auto;
  /* min-width: 30vw; */
  display: block;
  font-family: sans-serif;
  font-size: 1em;
}
input[type='password'] {
  padding: 0;
  background: transparent;
}
.contactform textarea {
 min-width: 70%;
 max-width: 90vw;
}
.contactform select{

}
.contactform span,
.contactform label {
 font-family: sans-serif;
 font-weight: bold;
}
.contactform span {
 display:inline-block;
 color: red;
 padding-bottom: 25px;
}
.contactform label {
 display:block;
 margin-top: 1.5em;
}
.contact-details h2 {
 text-align: left;
 margin: 0 0 10px 0;
}

.fb_invalid {
 color: red;
}
.error_message {
 display: none;
}

@media screen and (min-width: 799px) {
 #contact-page .item {
  flex: 1;
 }
}
/* END OF CONTACT PAGE SECTION ===== */


/* [10] ===== REPEAT BLOCKS ===== [10] */
/* --- taxeezy doctor promo block --- */
#taxeezy-doctor h2,
#taxeezy-doctor h3 {
font-family: Poppins;
font-weight: 700;
font-style: Bold;
font-size: 20px;
leading-trim: NONE;
line-height: 141%;
letter-spacing: -1px;
}
#taxeezy-doctor h3 {
 padding: .5rem 2rem;
}
#taxeezy-doctor p {
 font-weight: 400;
 font-size: 14px;
 leading-trim: NONE;
 line-height: 120%;
 letter-spacing: 0px;
 padding: 1rem 2rem;
}

@media screen and (min-width: 768px) {
 #taxeezy-doctor h2,
 #taxeezy-doctor h3 {
 font-size: 32px;
 }
 #taxeezy-doctor p {
  font-size: 18px;
 }
}
.colorblock {
 background-color: var(--bgcolour1);
 border-radius: 37px;
 margin: var(--space-xl) auto;
 padding: var(--space-xl) var(--space-sm);
}
.colorblock h2,
.colorblock h3,
.colorblock p {
 margin: 0;
 padding: 0;
 line-height: 1.5em;
}
.colorblock .button {
 margin: 2rem auto 0;
 background-color: var(--invert);
 color: var(--text);
}
.invert {
 color: var(--invert);
}
/* End of taxeezy doctor promo block */
/* cmsms stylesheet: WEBSITE - Slick Theme modified: Thursday, August 7, 2025 11:43:20 AM */
/* ===== SLICK THEME LAYOUT CSS ===== */
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
 -webkit-user-select: none;
 -moz-user-select: none;
 -ms-user-select: none;
 user-select: none;
 -webkit-touch-callout: none;
 -khtml-user-select: none;
 -ms-touch-action: pan-y;
 touch-action: pan-y;
 -webkit-tap-highlight-color: transparent;
}
.slick-list {
 position: relative;
 display: block;
 overflow: hidden;
 margin: 0;
 padding: 0;
}
.slick-list:focus {
 outline: none;
}
.slick-list.dragging {
 cursor: pointer;
 cursor: hand;
}
.slick-slider .slick-track,
.slick-slider .slick-list {
 -webkit-transform: translate3d(0, 0, 0);
 -moz-transform: translate3d(0, 0, 0);
 -ms-transform: translate3d(0, 0, 0);
 -o-transform: translate3d(0, 0, 0);
 transform: translate3d(0, 0, 0);
}
.slick-track {
 position: relative;
 top: 50px;
 left: 0;
 display: block;
 margin-left: auto;
 margin-right: auto;
}
.slick-track:before,
.slick-track:after {
 display: table;
 content: '';
}
.slick-track:after {
 clear: both;
}
.slick-loading .slick-track {
 visibility: hidden;
}
.slick-slide {
 display: none;
 float: left;
 /* height: 100%; */ /* knocked this out to allow my own css to size the images */
 min-height: 1px;
 margin: 0 25px;
}
[dir='rtl'] .slick-slide {
 float: right;
}
.slick-slide img {
 display: block;
}
.slick-slide.slick-loading img {
 display: none;
}
.slick-slide.dragging img {
 pointer-events: none;
}
.slick-initialized .slick-slide {
 display: block;
}
.slick-loading .slick-slide {
 visibility: hidden;
}
.slick-vertical .slick-slide {
 display: block;
 height: auto;
 border: 1px solid transparent;
}
.slick-arrow.slick-hidden {
 display: none;
}

/* ===== SLICK THEME CONTROLS CSS ===== */
@charset 'UTF-8';
/* Slider */
.slick-loading .slick-list{
 background: #fff url('https://taxeezy.co.uk/uploads/images/slick/ajax-loader.gif') center center no-repeat;
}

/* Arrows */
.slick-prev,
.slick-next{
 font-size: 0;
 line-height: 0;
 position: absolute;
 display: block;
 width: 0;
 height: 0;
 padding: 0;
 -webkit-transform: translate(0, -50%);
 -ms-transform: translate(0, -50%);
 transform: translate(0, -50%);
 cursor: pointer;
 color: transparent;
 border: none;
 outline: none;
 background: transparent;
 z-index: 1;
 opacity:.5;
}

.slick-prev:hover,
.slick-prev:focus,
.slick-next:hover,
.slick-next:focus{
 color: transparent;
 outline: none;
 background: transparent;
 opacity:1;
}
.slick-prev:hover:before,
.slick-prev:focus:before,
.slick-next:hover:before,
.slick-next:focus:before{
 color: rgba(153,153,153,.6);
}
.slick-prev.slick-disabled:before,
.slick-next.slick-disabled:before{
 color: rgba(153,153,153,.1);
}

.slick-prev:before,
.slick-next:before{
 font-family: 'slick';
 font-size: 34px;
 line-height: 1;
 color: #061c5d;
 -webkit-font-smoothing: antialiased;
 -moz-osx-font-smoothing: grayscale;
} 

.slick-prev{   
 left: 25px;
}
[dir='rtl'] .slick-prev{
 left: auto;    
 right: 25px;
}
.slick-prev:before{
    content: '←';
    font-weight: 900;
    background-color: transparent;
    padding: 25px;
    border-radius: 50px;
    color: #061c5d;
    position: absolute;
    right: 50px;
}
[dir='rtl'] .slick-prev:before{
 content: '→';
 font-family: "Font Awesome 5 Pro";
 font-weight: 900;
}

.slick-next{
 right: 25px;
}
[dir='rtl'] .slick-next{
 right: auto;
 left: 25px;
}
.slick-next:before{
 content: '→';
 font-weight: 900;
    background-color: transparent;
    padding: 25px;
    border-radius: 50px;
    color: #061c5d;
    position: absolute;
    left: 50px;
}
[dir='rtl'] .slick-next:before{
 content: '←';
 font-family: "Font Awesome 5 Pro";
 font-weight: 900;
}

/* Dots */
.slick-dotted.slick-slider{
 margin-bottom: 60px;
}

.slick-dots{
 position: absolute;
 display: block;
 width: 100%;
 padding: 0;
 margin: 0;
 list-style: none;
 text-align: center;
 z-index:0;
}
.slick-dots li{
 position: relative;
 display: inline-block;
 /* width: 50px;
 height: 50px;*/
 margin: 0 25px;
 padding: 0;
 cursor: pointer;
}
.slick-dots li button{
 font-size: 0;
 line-height: 0;
 display: block;
 width: 20px;
 height: 20px;
 padding: 5px;
 cursor: pointer;
 color: transparent;
 border: 0;
 outline: none;
 background: transparent;
}
.slick-dots li button:hover,
.slick-dots li button:focus{
 outline: none;
}
.slick-dots li button:hover:before,
.slick-dots li button:focus:before{
 opacity: 1;
}
.slick-dots li button:before{
 font-family: 'slick';
 font-size: 50px;
 line-height: 20px;
 position: absolute;
 top: 0;
 left: 0;
 width: 20px;
 height: 20px;
 content: '•';
 text-align: center;
 opacity: .25;
 color: black;
 -webkit-font-smoothing: antialiased;
 -moz-osx-font-smoothing: grayscale;
}
.slick-dots li.slick-active button:before{
 opacity: .75;
 color: black;
}

/* SLICK SLIDESHOW AMENDS */
#slideshow .slick-prev{   
 left: 10px;
 top: 50vh;
}
#slideshow .slick-next{   
 right: 10px;
 top: 50vh;
}
#slideshow .slick-dots{
 z-index:10;
 margin-top: -5vh;
}

/* SLICK CAROUSEL AMENDS */
#homepage-services-carousel .slick-prev{   
 left: 0;
 position: absolute;
 top: 50%;
 transform: translateY(-50%);
}
#homepage-services-carousel .slick-next{   
 position: absolute;
 right: 0;
 top: 50%;
 transform: translateY(-50%);
}
#homepage-services-carousel .slick-dots{
 margin-top: 35px;
}
/* cmsms stylesheet: WEBSITE - Print Stylesheet modified: Friday, March 15, 2024 9:43:26 AM */
@media only print{
body, .container, .container_1column {padding: 0; margin: 0 auto; color: #000; background-color: #fff}
section {display: inline}
h1, h2, h3, h4, h5, h6 {margin: 20px auto 10px auto}
/*img#logo {filter: invert(100%) hue-rotate(180deg) brightness(120%) contrast(150%);}  reverses a white logo to black for printing on pages */
img, #menu, nav, button, .button, a, #homepage-testimonials, p.smallprint a {display: none}
header a, header img, .testimonial-item img {display: block}
p.smallprint a {display: none}
header {position: relative; border-bottom: 1px solid black; margin-bottom: 20px}
#logo {position: absolute; top:0; left: 0}
#introsplash .flexcontainer {margin: 25px auto}
#introsplash {height:10px; min-height: unset}
#introsplash .item {min-height: unset}
#homepage-services .container, #why-us .container {display: unset}
#why-us .item, #why-us h4 {outline: 0; margin: 0}
.hideme {opacity:1}
}
