.wpcf7 .screen-reader-response {
	position: absolute;
	overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	width: 1px;
	margin: -1px;
	padding: 0;
	border: 0;
	word-wrap: normal !important;
	word-break: normal !important;
}

.wpcf7 .hidden-fields-container {
	display: none;
}

.wpcf7 form .wpcf7-response-output {
	margin: 2em 0.5em 1em;
	padding: 0.2em 1em;
	border: 2px solid #00a0d2; /* Blue */
}

.wpcf7 form.init .wpcf7-response-output,
.wpcf7 form.resetting .wpcf7-response-output,
.wpcf7 form.submitting .wpcf7-response-output {
	display: none;
}

.wpcf7 form.sent .wpcf7-response-output {
	border-color: #46b450; /* Green */
}

.wpcf7 form.failed .wpcf7-response-output,
.wpcf7 form.aborted .wpcf7-response-output {
	border-color: #dc3232; /* Red */
}

.wpcf7 form.spam .wpcf7-response-output {
	border-color: #f56e28; /* Orange */
}

.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output {
	border-color: #ffb900; /* Yellow */
}

.wpcf7-form-control-wrap {
	position: relative;
}

.wpcf7-not-valid-tip {
	color: #dc3232; /* Red */
	font-size: 1em;
	font-weight: normal;
	display: block;
}

.use-floating-validation-tip .wpcf7-not-valid-tip {
	position: relative;
	top: -2ex;
	left: 1em;
	z-index: 100;
	border: 1px solid #dc3232;
	background: #fff;
	padding: .2em .8em;
	width: 24em;
}

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

.wpcf7-list-item-label::before,
.wpcf7-list-item-label::after {
	content: " ";
}

.wpcf7-spinner {
	visibility: hidden;
	display: inline-block;
	background-color: #23282d; /* Dark Gray 800 */
	opacity: 0.75;
	width: 24px;
	height: 24px;
	border: none;
	border-radius: 100%;
	padding: 0;
	margin: 0 24px;
	position: relative;
}

form.submitting .wpcf7-spinner {
	visibility: visible;
}

.wpcf7-spinner::before {
	content: '';
	position: absolute;
	background-color: #fbfbfc; /* Light Gray 100 */
	top: 4px;
	left: 4px;
	width: 6px;
	height: 6px;
	border: none;
	border-radius: 100%;
	transform-origin: 8px 8px;
	animation-name: spin;
	animation-duration: 1000ms;
	animation-timing-function: linear;
	animation-iteration-count: infinite;
}

@media (prefers-reduced-motion: reduce) {
	.wpcf7-spinner::before {
		animation-name: blink;
		animation-duration: 2000ms;
	}
}

@keyframes spin {
	from {
		transform: rotate(0deg);
	}

	to {
		transform: rotate(360deg);
	}
}

@keyframes blink {
	from {
		opacity: 0;
	}

	50% {
		opacity: 1;
	}

	to {
		opacity: 0;
	}
}

.wpcf7 [inert] {
	opacity: 0.5;
}

.wpcf7 input[type="file"] {
	cursor: pointer;
}

.wpcf7 input[type="file"]:disabled {
	cursor: default;
}

.wpcf7 .wpcf7-submit:disabled {
	cursor: not-allowed;
}

.wpcf7 input[type="url"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"] {
	direction: ltr;
}

.wpcf7-reflection > output {
	display: list-item;
	list-style: none;
}

.wpcf7-reflection > output[hidden] {
	display: none;
}

@charset "UTF-8";
/* `XHTML, HTML4, HTML5 Reset
----------------------------------------------------------------------------------------------------*/
a,
abbr,
acronym,
address,
applet,
article,
aside,
audio,
b,
big,
blockquote,
body,
canvas,
caption,
center,
cite,
code,
dd,
del,
details,
dfn,
dialog,
div,
dl,
dt,
em,
embed,
fieldset,
figcaption,
figure,
font,
footer,
form,
h1,
h2,
h3,
h4,
h5,
h6,
header,
hgroup,
hr,
html,
i,
iframe,
img,
ins,
kbd,
label,
legend,
li,
main,
mark,
menu,
meter,
nav,
object,
ol,
output,
p,
pre,
progress,
q,
rp,
rt,
ruby,
s,
samp,
section,
small,
span,
strike,
strong,
sub,
summary,
sup,
table,
tbody,
td,
tfoot,
th,
thead,
time,
tr,
tt,
u,
ul,
var,
video,
xmp {
  border: 0;
  margin: 0;
  padding: 0;
  font-size: 100%;
}

html {
  height: 100%;
}

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

b,
strong {
  font-weight: bold;
}

img {
  color: transparent;
  font-size: 0;
  vertical-align: middle;
  -ms-interpolation-mode: bicubic;
}

ol,
ul {
  list-style: none;
}

li {
  display: list-item;
}

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

th,
td,
caption {
  font-weight: normal;
  vertical-align: top;
  text-align: left;
}

q {
  quotes: none;
}

q:before,
q:after {
  content: "";
  content: none;
}

sub,
sup,
small {
  font-size: 75%;
}

sub,
sup {
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

svg {
  overflow: hidden;
}

:root {
  --mb:1rem;
  --outer:20px;
  --rw:672px;
  --gutter:1%;
  --max-width:1500px;
  --text-maxwidth: 600px;
  --text-maxwidth-half: 500px;
  --vh: 100vh;
  --rat: 56.25%;
  --rec: 177.2%;
  --nav-height:80px;
  --padding:clamp(1.5rem, 4vw, 4rem);
  --paddinglarge:clamp(4rem, 6vw, 6rem);
  --paddingsmall:1rem;
  --border-radius:1.2rem;
  --border-radius-large:2.8rem;
  --border-radius-small:.5rem;
}

@media (min-width: 1000px) {
  :root {
    --outer:4vw;
    --mb:35px;
  }
}
@media (min-width: 1440px) {
  :root {
    --outer:5vw;
  }
}
@media (min-width: 1100px) {
  :root {
    --nav-height:100px;
  }
}
/*--------------------------------
	Media Queries
	used for outputting content either between media query tags
	example: basic usage
	.element {
		width: 50%;
		@include mq('tablet-small') {
			width: 20%;
		}
	}
	example: using max-width
	.element {
		width: 50%;
		@include mq('tablet-small', 'max') {
			width: 20%;
		}
	}
*/
/*--------------------------------
	Margin / Padding Quick Resets
	example: top & bottom margin set to $mb
	.element {
		@include push--ends;
	}
	example: left & right padding set to $mb--small
	.element {
		@include soft--sides($mb--small);
	}
*/
/*--------------------------------
	Helper mixins
*/
/*--------------------------------
	Form input placeholder text
	example:
	input,
	textarea {
		@include input-placeholder {
			color: $grey;
		}
	}
*/
/*--------------------------------
	Retina images
	example:
	.element {
		@include retina {
			background-image: url(https://www.virtualoffice-london.co.uk/wp-content/themes/virtually-2025/css/../img/background@2x.png);
		}
	}
*/
/*--------------------------------
	Content margins
	fore removing first/last child margins
	example: default
	.element {
		@include content-margins;
	}
	output:
	.element > *:first-child {
		margin-top: 0;
	}
	.element > *:last-child {
		margin-bottom: 0;
	}
	example: empty selector
	.element {
		@include content-margins('false');
	}
	output:
	.element:first-child {
		margin-top: 0;
	}
	.element:last-child {
		margin-bottom: 0;
	}
*/
/*--------------------------------
	CSS Triangle
	used for creating CSS only triangles
	example:
	.element {
		&::before {
			@include css-triangle(blue, down);
		}
	}
*/
/*--------------------------------
	Hide text
	example:
	.element {
		@include hide-text;
	}
*/
/*--------------------------------
	Responsive ratio
	Used for creating scalable elements that maintain the same ratio
	example:
	.element {
		@include responsive-ratio(400, 300);
	}
*/
/*--------------------------------
Font size
*/
/*
	.site-header {
    z-index: z('site-header');
}
*/
@font-face {
  font-family: "web-source";
  font-style: normal;
  font-weight: 400;
  src: url("https://www.virtualoffice-london.co.uk/wp-content/themes/virtually-2025/css/../fonts/source-sans-3-v15-latin-regular.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* poppins-italic - latin */
@font-face {
  font-family: "web-source";
  font-style: italic;
  font-weight: 400;
  src: url("https://www.virtualoffice-london.co.uk/wp-content/themes/virtually-2025/css/../fonts/source-sans-3-v15-latin-italic.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* poppins-700 - latin */
@font-face {
  font-family: "web-source";
  font-style: normal;
  font-weight: 700;
  src: url("https://www.virtualoffice-london.co.uk/wp-content/themes/virtually-2025/css/../fonts/source-sans-3-v15-latin-700.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* poppins-700italic - latin */
@font-face {
  font-family: "web-source";
  font-style: italic;
  font-weight: 700;
  src: url("https://www.virtualoffice-london.co.uk/wp-content/themes/virtually-2025/css/../fonts/source-sans-3-v15-latin-700italic.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
@font-face {
  font-family: "web-source";
  font-style: normal;
  font-weight: 800;
  src: url("https://www.virtualoffice-london.co.uk/wp-content/themes/virtually-2025/css/../fonts/source-sans-3-v15-latin-800.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
p {
  margin-bottom: 1rem;
}

h1 {
  font-size: clamp(3.75rem, 6.043956044vw + 0rem, 6.875rem);
  line-height: 1;
  font-weight: 800;
  letter-spacing: -0.07ch;
  text-wrap: balance;
}

h2 {
  font-size: 3rem;
  line-height: 1.1;
  font-weight: normal;
  text-wrap: balance;
}
@media (max-width: 519px) {
  h2 {
    font-size: 2rem;
    line-height: 1.1;
  }
}

h3 {
  font-size: 2.25rem;
  line-height: 1.2;
  font-weight: normal;
  text-wrap: balance;
}
@media (max-width: 519px) {
  h3 {
    font-size: 1.5rem;
    line-height: 1.2;
  }
}

h4 {
  font-family: "web-source", sans-serif;
  font-weight: normal;
  font-size: 1.25rem;
  line-height: 1.4;
  line-height: 1.3;
  text-wrap: pretty;
  font-weight: bold;
}

h5 {
  font-size: 1rem;
  line-height: 1.4;
  font-weight: bold;
}

.largefont {
  font-size: 2rem;
  line-height: 1.2;
}
@media (max-width: 519px) {
  .largefont {
    font-size: 1.625rem;
    line-height: 1.2;
  }
}

.smallfont {
  font-size: 1rem;
  line-height: 1.4;
}

blockquote > :last-child {
  margin-bottom: 0;
}
blockquote + figcaption {
  font-family: "web-source", sans-serif;
  font-weight: normal;
  font-size: 1.25rem;
  line-height: 1.4;
  line-height: 1.3;
  text-wrap: pretty;
  font-weight: bold;
  margin-top: var(--mb);
}

h1.title-404 {
  font-weight: bold;
  margin-bottom: 0;
  font-size: clamp(12.5rem, 12.5vw + 0rem, 32.5rem);
  line-height: 1;
}

.kicker {
  font-size: clamp(1.375rem, 1.6666666667vw + 0rem, 2rem);
  font-size: 1.75rem;
  line-height: 1.2;
  text-wrap: balance;
}
@media (max-width: 519px) {
  .kicker {
    font-size: 1.375rem;
    line-height: 1.2;
  }
}

* {
  -webkit-box-sizing: border-box; /* Safari/Chrome, other WebKit */
  -moz-box-sizing: border-box; /* Firefox, other Gecko */
  box-sizing: border-box;
  -webkit-tap-highlight-color: transparent;
}

html {
  scroll-behavior: smooth;
}

.screen-reader-text {
  display: none;
}

body {
  font-family: "web-source", sans-serif;
  font-weight: normal;
  font-size: 1.25rem;
  line-height: 1.4;
  line-height: 1.3;
  text-wrap: pretty;
  color: #475565;
  background-color: #ffffff;
}

main {
  overflow-x: clip;
  width: 100%;
  padding-top: calc(var(--nav-height) + 2rem);
}

section, header {
  position: relative;
  padding-left: var(--outer);
  padding-right: var(--outer);
}

.content {
  width: 100%;
  position: relative;
  margin-left: auto;
  margin-right: auto;
  max-width: var(--max-width);
}

hr {
  border-bottom: 1px solid #DEDEDE;
  margin-bottom: 1rem;
  margin-top: 1rem;
}

.image {
  display: block;
}
.image img {
  display: block;
  position: relative;
  width: 100%;
  height: auto;
}

.column-size-2 {
  -webkit-column-count: 2;
  -moz-column-count: 2;
  column-count: 2;
  column-gap: 5%;
}

.noscroll {
  overflow: hidden !important;
}

img[data-normal] {
  opacity: 0;
}

img, .lazy-image {
  -webkit-transition: opacity 1s 0.3s;
  -moz-transition: opacity 1s 0.3s;
  -o-transition: opacity 1s 0.3s;
  transition: opacity 1s 0.3s;
}

figure {
  overflow: visible;
  position: relative;
}
figure .image {
  width: 100%;
  margin-bottom: 40px;
}
figure.nocaption .image {
  margin-bottom: 0;
}
figure figcaption {
  position: absolute;
  bottom: 0px;
  width: 100%;
  text-align: center;
}
figure .image:hover {
  cursor: pointer;
}

a {
  color: #475565;
  text-decoration: none;
  transition: background-color 0.3s, color 0.3s, opacity 0.3s, transform 0.3s, fill 0.3s;
}

a:hover {
  text-decoration: none;
  color: #475565;
}

:focus {
  outline: none;
}

::-moz-focus-inner {
  border: 0;
}

.cta {
  font-size: 1rem;
  line-height: 2.6;
  font-weight: bold;
  letter-spacing: -0.01ch;
  color: #ffffff;
  border: 1px solid #475565;
  background-color: #475565;
  border-radius: var(--border-radius-small);
  padding: 0px 1.5rem;
  display: inline-block;
  text-align: center;
  height: auto;
  transition: color 0.3s, background-color 0.3s, border-color 0.3s;
  white-space: nowrap;
}
.cta:hover {
  color: #475565;
  border: 1px solid #6AE79D;
  background-color: #6AE79D;
}
@media (max-width: 520px) {
  .cta {
    width: 100%;
  }
}

.cta + .cta {
  font-size: 1rem;
  line-height: 2.6;
  font-weight: bold;
  letter-spacing: -0.01ch;
  color: #475565;
  border: 1px solid #475565;
  background-color: #ffffff;
  border-radius: var(--border-radius-small);
  padding: 0px 1.5rem;
  display: inline-block;
  text-align: center;
  height: auto;
  transition: color 0.3s, background-color 0.3s, border-color 0.3s;
  white-space: nowrap;
}
.cta + .cta:hover {
  color: #475565;
  border: 1px solid #6AE79D;
  background-color: #6AE79D;
}
@media (max-width: 520px) {
  .cta + .cta {
    width: 100%;
  }
}

.secondary:not(.cta) {
  color: #6AE79D;
  font-weight: bold;
  text-transform: uppercase;
  position: relative;
  padding-bottom: 5px;
}
.secondary:not(.cta)::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 4px;
  bottom: 0px;
  left: 0;
  background-color: #6AE79D;
}

.read-more {
  display: inline-block;
  border-bottom: 1px solid #475565;
  text-transform: none;
  transition: border-color, 0.3s;
}

/*----------------------------------------------------------------------------------------------------------------
                                    Forms
---------------------------------------------------------------------------------------------------------------*/
form {
  margin-bottom: var(--mb);
}
form p {
  position: relative;
}
form input {
  border: none;
  padding: 0;
  margin: 0;
  font-weight: 300;
}
form input[type=submit], form input[type=button] {
  appearance: none;
  margin-top: 0;
  font-size: 1rem;
  line-height: 2.6;
  font-weight: bold;
  letter-spacing: -0.01ch;
  color: #ffffff;
  border: 1px solid #475565;
  background-color: #475565;
  border-radius: var(--border-radius-small);
  padding: 0px 1.5rem;
  display: inline-block;
  text-align: center;
  height: auto;
  transition: color 0.3s, background-color 0.3s, border-color 0.3s;
  white-space: nowrap;
}
form input[type=submit]:hover, form input[type=button]:hover {
  color: #475565;
  border: 1px solid #6AE79D;
  background-color: #6AE79D;
}
@media (max-width: 520px) {
  form input[type=submit], form input[type=button] {
    width: 100%;
  }
}
form input[type=submit]:hover, form input[type=button]:hover {
  cursor: pointer;
}
form textarea {
  appearance: none;
  font-family: "web-source", sans-serif;
  font-weight: normal;
  font-size: 1.25rem;
  line-height: 1.4;
  line-height: 1.3;
  text-wrap: pretty;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 4ch;
  border: 1px solid #F3F8F3;
  width: 100%;
  border-radius: 0px;
  height: 200px;
}
form textarea::placeholder {
  color: transparent;
  transition: color 0.3s 0s;
}
form textarea:focus::placeholder {
  color: #aeaeae;
  transition: color 0.5s 0.1s;
}
form input[type=tel], form input[type=text], form input[type=search], form input[type=password], form input[type=email], form input[type=number] {
  border-radius: 0px;
  height: 60px;
  appearance: none;
  border: 1px solid #F3F8F3;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 1.5ch;
  width: 100%;
  font-family: "web-source", sans-serif;
  font-weight: normal;
  font-size: 1.25rem;
  line-height: 1.4;
  line-height: 1.3;
  text-wrap: pretty;
  color: #475565;
}
form input[type=tel]::placeholder, form input[type=text]::placeholder, form input[type=search]::placeholder, form input[type=password]::placeholder, form input[type=email]::placeholder, form input[type=number]::placeholder {
  color: transparent;
  transition: color 0.3s 0s;
}
form input[type=tel]:focus::placeholder, form input[type=text]:focus::placeholder, form input[type=search]:focus::placeholder, form input[type=password]:focus::placeholder, form input[type=email]:focus::placeholder, form input[type=number]:focus::placeholder {
  color: #aeaeae;
  transition: color 0.5s 0.1s;
}
form input[type=number] {
  min-width: inherit;
  padding-right: 5px;
}
form select {
  appearance: none;
  font-family: "web-source", sans-serif;
  font-weight: normal;
  font-size: 1.25rem;
  line-height: 1.4;
  line-height: 1.3;
  text-wrap: pretty;
  background-color: #ffffff;
  border-radius: 0px;
  border: 1px solid #F3F8F3;
  height: 60px;
  line-height: 60px;
  width: 100%;
  color: #475565;
  height: 60px;
  padding: 0 40px 0 1rem;
  background-image: url(https://www.virtualoffice-london.co.uk/wp-content/themes/virtually-2025/css/../images/svg/arrow-down-select.svg);
  background-repeat: no-repeat;
  background-position: right 25px center;
  background-size: 18px auto;
}
form textarea:focus, form input:focus, form select:focus {
  outline: none;
  border-color: #6AE79D;
}

form.wpcf7-form p:has(span > input) label,
form.wpcf7-form p:has(textarea) label {
  position: absolute;
  z-index: 2;
  padding-left: 20px;
  line-height: 60px;
  font-weight: normal;
  transition: transform 0.3s, color 0.3s;
  transform-origin: top left;
  color: #475565;
  top: 0;
  left: 0;
  pointer-events: none;
}
form.wpcf7-form p:has(span > input:focus) label,
form.wpcf7-form p:has(span > input:not(:placeholder-shown)) label {
  transform: scale(0.7) translate(5%, -20%);
  color: #475565;
}
form.wpcf7-form > p:has(textarea:focus) label, form.wpcf7-form > p:has(textarea:not(:placeholder-shown)) label {
  transform: scale(0.7) translate(0%, 0%);
  color: #475565;
}
form.wpcf7-form .wpcf7-not-valid:not(.wpcf7-radio) {
  border: 1px solid #B54A4A !important;
}
form.wpcf7-form .wpcf7-not-valid-tip {
  color: #B54A4A;
  font-size: clamp(1rem, 1.0416666667vw + 0rem, 1.75rem);
  line-height: 1.3;
  padding-top: 0.3rem;
}
form.wpcf7-form .wpcf7-radio label {
  position: relative;
  padding-left: 0;
  line-height: 20px;
}
form.wpcf7-form .wpcf7-radio label.focused {
  transform: scale(1) translate(0);
  color: #475565;
}
form.wpcf7-form div {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2%;
}
form.wpcf7-form .wpcf7-radio, form.wpcf7-form .wpcf7-checkbox, form.wpcf7-form .wpcf7-acceptance {
  margin-bottom: 1rem;
}
form.wpcf7-form .wpcf7-radio .wpcf7-list-item, form.wpcf7-form .wpcf7-checkbox .wpcf7-list-item, form.wpcf7-form .wpcf7-acceptance .wpcf7-list-item {
  margin-left: 0;
}
form.wpcf7-form .wpcf7-radio label, form.wpcf7-form .wpcf7-checkbox label, form.wpcf7-form .wpcf7-acceptance label {
  display: flex;
  align-items: center;
  color: #475565;
  position: relative;
  left: 0;
  font-family: "web-source", sans-serif;
  font-weight: normal;
  font-size: 1.25rem;
  line-height: 1.4;
  line-height: 1.3;
  text-wrap: pretty;
}
@media (hover: hover) {
  form.wpcf7-form .wpcf7-radio label:hover, form.wpcf7-form .wpcf7-checkbox label:hover, form.wpcf7-form .wpcf7-acceptance label:hover {
    cursor: pointer;
  }
}
form.wpcf7-form .wpcf7-radio label::before, form.wpcf7-form .wpcf7-checkbox label::before, form.wpcf7-form .wpcf7-acceptance label::before {
  content: "";
  min-width: 1.5rem;
  height: 1.5rem;
  border: 1px solid #475565;
}
form.wpcf7-form .wpcf7-radio .nf-field-element, form.wpcf7-form .wpcf7-checkbox .nf-field-element, form.wpcf7-form .wpcf7-acceptance .nf-field-element {
  display: none;
}
form.wpcf7-form .wpcf7-radio input, form.wpcf7-form .wpcf7-checkbox input, form.wpcf7-form .wpcf7-acceptance input {
  display: none;
}
form.wpcf7-form .wpcf7-checkbox, form.wpcf7-form .wpcf7-acceptance {
  display: flex;
  flex-direction: column;
  row-gap: 1rem;
}
form.wpcf7-form .wpcf7-checkbox label::before, form.wpcf7-form .wpcf7-acceptance label::before {
  content: "";
  margin-right: 10px;
  border-radius: 0.4rem;
}
form.wpcf7-form .wpcf7-checkbox label:has(input:checked)::before, form.wpcf7-form .wpcf7-acceptance label:has(input:checked)::before {
  background-image: url(https://www.virtualoffice-london.co.uk/wp-content/themes/virtually-2025/css/../images/svg/check.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: 50%;
  border-color: #6AE79D;
  background-color: #6AE79D;
}
form.wpcf7-form .wpcf7-radio {
  display: flex;
  flex-direction: column;
  row-gap: 1rem;
}
form.wpcf7-form .wpcf7-radio label::before {
  content: "";
  margin-right: 10px;
  border-radius: 2rem;
  background-color: #F3F8F3;
}
form.wpcf7-form .wpcf7-radio label:has(input:checked)::before {
  background-color: #6AE79D;
  box-shadow: inset 0 0 0px 6px #475565;
  border-color: #475565;
}
form.wpcf7-form p:has(.wpcf7-checkbox) > label,
form.wpcf7-form p:has(.wpcf7-radio) > label {
  display: block;
  font-weight: 600;
  margin-bottom: 1rem;
  margin-top: 2rem;
}
form.wpcf7-form p:has(span > input.wpcf7-range) label,
form.wpcf7-form p:has(span > input) label:has(.wpcf7-quiz-label),
form.wpcf7-form p:has(span input.wpcf7-quiz) label {
  position: relative;
  transform: scale(1) translate(0%, 0%);
  padding-left: 0;
  display: block;
}
form.wpcf7-form .wpcf7-file {
  padding: 0.5rem 0.5rem;
  border-radius: 0.6rem;
  background-color: rgba(71, 85, 101, 0.1);
  display: flex;
  min-width: 400px;
}
@media (max-width: 519px) {
  form.wpcf7-form .wpcf7-file {
    width: 100%;
  }
}
form.wpcf7-form .wpcf7-file::file-selector-button {
  margin-right: 1rem;
  font-size: 1rem;
  line-height: 2.6;
  font-weight: bold;
  letter-spacing: -0.01ch;
  color: #ffffff;
  border: 1px solid #475565;
  background-color: #475565;
  border-radius: var(--border-radius-small);
  padding: 0px 1.5rem;
  display: inline-block;
  text-align: center;
  height: auto;
  transition: color 0.3s, background-color 0.3s, border-color 0.3s;
  white-space: nowrap;
}
form.wpcf7-form .wpcf7-file::file-selector-button:hover {
  color: #475565;
  border: 1px solid #6AE79D;
  background-color: #6AE79D;
}
@media (max-width: 520px) {
  form.wpcf7-form .wpcf7-file::file-selector-button {
    width: 100%;
  }
}
@media (max-width: 519px) {
  form.wpcf7-form .wpcf7-file::file-selector-button {
    width: auto;
  }
}

.animated.infinite {
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
}

/*------------------------------------------------------------------------------------------------------------------------

								  Fade In   

--------------------------------------------------------------------------------------------------------------------------*/
@-webkit-keyframes fadeInKs {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes fadeInks {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@-webkit-keyframes fadeInUpKs {
  0% {
    opacity: 0;
    transform: translate3d(0, 60px, 0);
  }
  100% {
    opacity: 1;
    transform: translate3d(0, 0px, 0);
  }
}
@keyframes fadeInUpks {
  0% {
    opacity: 0;
    transform: translate3d(0, 60px, 0);
  }
  100% {
    opacity: 1;
    transform: translate3d(0, 0px, 0);
  }
}
@-webkit-keyframes fadeOutKs {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@keyframes fadeOutKs {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@-webkit-keyframes fadeOutLeftKs {
  0% {
    opacity: 1;
    transform: translateX(0);
  }
  100% {
    opacity: 0;
    transform: translateX(-30px);
  }
}
@keyframes fadeOutLeftKs {
  0% {
    opacity: 1;
    transform: translateX(0);
  }
  100% {
    opacity: 0;
    transform: translateX(-30px);
  }
}
@-webkit-keyframes fadeInRightKs {
  0% {
    opacity: 0;
    transform: translateX(50px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
@keyframes fadeInRightKs {
  0% {
    opacity: 0;
    transform: translateX(50px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
@-webkit-keyframes fadeOutRightKs {
  0% {
    opacity: 1;
    transform: translateX(0);
  }
  100% {
    opacity: 0;
    transform: translateX(30px);
  }
}
@keyframes fadeOutRightKS {
  0% {
    opacity: 1;
    transform: translateX(0);
  }
  100% {
    opacity: 0;
    transform: translateX(30px);
  }
}
@-webkit-keyframes fadeInLeftKs {
  0% {
    opacity: 0;
    transform: translateX(-50px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
@keyframes fadeInLeftKs {
  0% {
    opacity: 0;
    transform: translateX(-50px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
@-webkit-keyframes rotateKs {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(90deg);
  }
}
@keyframes rotateKs {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(90deg);
  }
}
.fade-in {
  -webkit-animation-duration: 0.5s;
  animation-duration: 0.5s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  animation-delay: 0.3s;
  -webkit-animation-delay: 0.3s;
  animation-timing-function: linear;
  -webkit-animation-timing-function: linear;
  -webkit-animation-name: fadeInKs;
  animation-name: fadeInKs;
}

.fade-in-up {
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  animation-delay: 0.1s;
  -webkit-animation-delay: 0.1s;
  animation-timing-function: ease;
  -webkit-animation-timing-function: ease;
  -webkit-animation-name: fadeInUpKs;
  animation-name: fadeInUpKs;
}

.fade-out {
  -webkit-animation-duration: 0.5s;
  animation-duration: 0.5s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  animation-delay: 0;
  -webkit-animation-delay: 0;
  animation-timing-function: linear;
  -webkit-animation-timing-function: linear;
  -webkit-animation-name: fadeOutKs;
  animation-name: fadeOutKs;
}

.video-holder iframe, .video-poster iframe, .modal-video-holder iframe {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  opacity: 0;
  transform: translate(-50%, -50%);
  transition: opacity 1s;
  background-color: transparent;
}
.video-holder iframe[data-ready=true], .video-poster iframe[data-ready=true], .modal-video-holder iframe[data-ready=true] {
  opacity: 1;
  visibility: visible;
}
.video-holder .close-video, .video-poster .close-video, .modal-video-holder .close-video {
  position: absolute;
  width: 40px;
  height: 40px;
  background-color: #6AE79D;
  z-index: 10;
  right: 5px;
  top: 5px;
  border-radius: 5px;
  background: #6AE79D url(https://www.virtualoffice-london.co.uk/wp-content/themes/virtually-2025/css/../images/svg/cross.svg) no-repeat center;
  background-size: 20px;
  font-size: 0;
  color: transparent;
}
.video-holder .close-video:hover, .video-poster .close-video:hover, .modal-video-holder .close-video:hover {
  cursor: pointer;
  opacity: 0.8;
}

.modal-video-holder {
  overflow: hidden;
  position: relative;
  width: 80%;
  background-color: black;
  box-shadow: 0px 3px 12px 0px rgba(0, 0, 0, 0.4);
}
.modal-video-holder img {
  position: absolute;
  min-width: 100%;
  min-height: 100%;
  object-fit: cover;
  top: 50%;
  left: 50%;
  -ms-transform: translate(-50%, -50%); /* IE 9 */
  -webkit-transform: translate(-50%, -50%); /* Chrome, Safari, Opera */
  transform: translate(-50%, -50%);
}
.modal-video-holder:after {
  content: "";
  display: block;
  padding-top: var(--rat);
  width: 0;
  float: left;
  position: relative;
}

.video-holder, .video-poster, .audio-holder {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 0;
  overflow: hidden;
  transition: opacity 1s 0s;
  overflow: hidden;
  position: relative;
  background-size: cover;
}
.video-holder img, .video-poster img, .audio-holder img {
  position: absolute;
  min-width: 100%;
  min-height: 100%;
  object-fit: cover;
  top: 50%;
  left: 50%;
  -ms-transform: translate(-50%, -50%); /* IE 9 */
  -webkit-transform: translate(-50%, -50%); /* Chrome, Safari, Opera */
  transform: translate(-50%, -50%);
}
.video-holder:after, .video-poster:after, .audio-holder:after {
  content: "";
  display: block;
  padding-top: var(--rat);
  width: 0;
  float: left;
  position: relative;
}
.video-holder .play-video, .video-holder .play-audio, .video-poster .play-video, .video-poster .play-audio, .audio-holder .play-video, .audio-holder .play-audio {
  position: absolute;
  width: 18%;
  display: block;
  max-width: 200px;
  border-radius: 50%;
  background-color: #6AE79D;
  z-index: 10;
  left: 50%;
  top: 50%;
  opacity: 0.9;
  transform: translate(-50%, -50%);
  background-image: url(https://www.virtualoffice-london.co.uk/wp-content/themes/virtually-2025/css/../images/svg/play.svg);
  background-repeat: no-repeat;
  background-position: 56% 50%;
  background-size: 30%;
  transition: opacity 0.3s, background-color 0.3s;
  box-shadow: 0px 3px 16px 0px rgba(0, 0, 0, 0.4);
}
.video-holder .play-video::after, .video-holder .play-audio::after, .video-poster .play-video::after, .video-poster .play-audio::after, .audio-holder .play-video::after, .audio-holder .play-audio::after {
  content: "";
  display: block;
  padding-top: 100%;
}
.video-holder .play-video:hover, .video-holder .play-video:active, .video-holder .play-audio:hover, .video-holder .play-audio:active, .video-poster .play-video:hover, .video-poster .play-video:active, .video-poster .play-audio:hover, .video-poster .play-audio:active, .audio-holder .play-video:hover, .audio-holder .play-video:active, .audio-holder .play-audio:hover, .audio-holder .play-audio:active {
  opacity: 1;
  background-color: #6AE79D;
  cursor: pointer;
}
.video-holder .play-audio, .video-poster .play-audio, .audio-holder .play-audio {
  background-image: url(https://www.virtualoffice-london.co.uk/wp-content/themes/virtually-2025/css/../images/svg/audio.svg);
  background-size: 35%;
  background-position: 50% 50%;
  left: 5%;
  top: 10%;
  transform: translate(0%, 0%);
}
.video-holder.show-video .play-video, .video-poster.show-video .play-video, .audio-holder.show-video .play-video {
  display: none;
}
.video-holder.show-video .close-video, .video-poster.show-video .close-video, .audio-holder.show-video .close-video {
  display: block;
  -webkit-animation-duration: 0.5s;
  animation-duration: 0.5s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  animation-delay: 0.3s;
  -webkit-animation-delay: 0.3s;
  animation-timing-function: linear;
  -webkit-animation-timing-function: linear;
  -webkit-animation-name: fadeInKs;
  animation-name: fadeInKs;
  pointer-events: all;
}
.video-modal {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 320;
  align-items: center;
  justify-content: center;
  opacity: 0;
  display: none;
}
.video-modal .shadow-close-video {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 0;
  background-color: rgba(0, 0, 0, 0.9);
}
.video-modal .shadow-close-video:hover {
  cursor: pointer;
}
.video-modal iframe {
  z-index: 1;
}
.video-modal .close-video {
  position: absolute;
  width: 40px;
  height: 40px;
  z-index: 10;
  right: 2vw;
  top: 2vw;
  border-radius: 5px;
  background: #6AE79D url(https://www.virtualoffice-london.co.uk/wp-content/themes/virtually-2025/css/../images/svg/cross.svg) no-repeat center;
  background-size: 20px;
}
.video-modal .close-video:hover {
  cursor: pointer;
  opacity: 0.8;
}
@media (max-width: 678px) {
  .video-modal .modal-video-holder {
    width: 100%;
  }
}

.video-playing, .audio-playing {
  overflow: hidden;
}
.video-playing .video-modal, .audio-playing .video-modal {
  display: flex;
  -webkit-animation-duration: 0.2s;
  animation-duration: 0.2s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  animation-delay: 0;
  -webkit-animation-delay: 0;
  animation-timing-function: linear;
  -webkit-animation-timing-function: linear;
  -webkit-animation-name: fadeInKs;
  animation-name: fadeInKs;
}

.audio-playing .modal-video-holder iframe {
  height: auto;
  opacity: 1;
  position: relative;
  left: auto;
  top: auto;
  transform: translate(0, 0);
}
.audio-playing .modal-video-holder {
  padding: 20px;
  border-radius: 10px;
}
.audio-playing .modal-video-holder::after {
  padding-top: 0%;
}

.video-holder .close-video {
  opacity: 0;
  pointer-events: none;
}

.touch .close-video {
  display: none !important;
}

.wp-caption-text, .gallery-caption {
  font-size: 1rem;
  line-height: 1.4;
}

.bypostauthor {
  font-size: 1rem;
  line-height: 1.4;
}

.alignright {
  float: right;
  margin-left: 2%;
  max-width: calc(100vw - 70px);
  height: auto;
  width: 49% !important;
}
.alignright img {
  width: 100%;
  height: auto;
}

.alignleft {
  float: left;
  margin-right: 2%;
  width: 49% !important;
  height: auto;
}
.alignleft img {
  width: 100%;
  height: auto;
}
.alignleft:first-of-type {
  margin-left: 0;
}

.alignleft + .alignleft {
  margin-right: 0;
}

.alignleft + .alignleft + h3, .alignleft + .alignleft + p, .alignleft + .alignleft + h2 {
  clear: both;
}

.aligncenter {
  clear: both;
  display: block;
  margin: 0.25rem/4 auto 1rem auto;
  max-width: 100%;
}
.aligncenter img {
  width: 100%;
  height: auto;
}

img.aligncenter {
  width: 100%;
  height: auto;
}

.alignnone {
  width: 100% !important;
  margin: calc(3 * var(--mb)) 0;
  max-width: 100%;
}
.alignnone img {
  width: 100%;
  height: auto;
}

img.alignnone {
  width: 100%;
  height: auto;
}

.wp-block-image {
  margin-bottom: var(--mb);
}
.wp-block-image figcaption {
  font-style: italic;
  margin-top: 0;
  line-height: 2rem;
  text-align: left;
  padding-left: 15px;
  padding-right: 15px;
}

/* WP admin bar */
#wpadminbar {
  opacity: 0;
  -webkit-transition: opacity 0.5s;
  -moz-transition: opacity 0.5s;
  -o-transition: opacity 0.5s;
  transition: opacity 0.5s;
}
#wpadminbar:hover {
  opacity: 1;
}

.site-footer {
  background-color: #475565;
  color: white;
  padding-left: var(--outer);
  padding-right: var(--outer);
  padding-top: var(--paddinglarge);
  padding-bottom: var(--paddinglarge);
}
.site-footer h4 {
  font-family: "Source Sans Pro", sans-serif;
  font-size: clamp(1rem, 0.9375vw + 0rem, 1.75rem);
  text-transform: uppercase;
  margin-bottom: 10px;
}
.site-footer .column a {
  color: white;
  display: block;
  font-size: 1rem;
  line-height: 1.4;
  padding: 0.3rem 0;
}
.site-footer .column a:hover, .site-footer .column a:active {
  text-decoration: underline;
}
.site-footer .addressses {
  display: grid;
  grid-template-columns: 1fr 1fr;
}
.site-footer .addressses address {
  font-style: normal;
  font-size: 1rem;
  line-height: 1.4;
}
.site-footer .addressses address:first-line {
  text-transform: uppercase;
  font-weight: bold;
}
.site-footer .terms {
  text-align: center;
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  row-gap: 0.5rem;
  color: white;
  font-size: 0.75rem;
  line-height: 1.4;
}
.site-footer .terms a {
  color: white;
}
.site-footer .terms a:hover, .site-footer .terms a:active {
  text-decoration: underline;
}
.site-footer .terms ul {
  display: flex;
}
.site-footer .terms li::after {
  content: "|";
  margin: 0 0.75rem;
}
.site-footer .terms li:last-child::after {
  display: none;
}
.site-footer .terms .terms-nav {
  margin-bottom: 1rem;
}
.site-footer .social-nav {
  display: flex;
  gap: 3%;
}
.site-footer .social-nav a {
  display: block;
  width: 32px;
  height: 32px;
  font-size: 0;
  color: transparent;
  border-radius: 20px;
}
.site-footer .social-nav a:hover {
  opacity: 0.6;
}
.site-footer .social-nav .facebook a {
  background-image: url(https://www.virtualoffice-london.co.uk/wp-content/themes/virtually-2025/css/../images/social/square-facebook.svg);
}
.site-footer .social-nav .linkedin a {
  background-image: url(https://www.virtualoffice-london.co.uk/wp-content/themes/virtually-2025/css/../images/social/square-linkedin.svg);
}
.site-footer .social-nav .instagram a {
  background-image: url(https://www.virtualoffice-london.co.uk/wp-content/themes/virtually-2025/css/../images/social/square-instagram.svg);
}
.site-footer .footer-logos {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2%;
}
.site-footer .footer-logos .image {
  width: 6%;
  min-width: 80px;
  overflow: hidden;
  position: relative;
}
.site-footer .footer-logos .image img {
  position: absolute;
  min-width: 100%;
  min-height: 100%;
  object-fit: cover;
  top: 50%;
  left: 50%;
  -ms-transform: translate(-50%, -50%); /* IE 9 */
  -webkit-transform: translate(-50%, -50%); /* Chrome, Safari, Opera */
  transform: translate(-50%, -50%);
}
.site-footer .footer-logos .image:after {
  content: "";
  display: block;
  padding-top: 100%;
  width: 0;
  float: left;
  position: relative;
}
.site-footer .footer-logos .image img {
  object-fit: contain;
}
@media (max-width: 677px) {
  .site-footer .column {
    margin-bottom: 1rem;
  }
  .site-footer .contact-details {
    margin-bottom: 1rem;
  }
  .site-footer .col-one ul, .site-footer .col-two ul {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
  .site-footer .terms {
    margin-top: 2rem;
  }
  .site-footer .footer-logos {
    margin-top: 2rem;
  }
  .site-footer .social-nav {
    justify-content: center;
  }
  .site-footer .smallprint {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }
  .site-footer .smallprint li::after {
    content: "";
    margin: 0;
  }
}
@media (min-width: 678px) {
  .site-footer .contact-details {
    margin-bottom: 1rem;
  }
  .site-footer .columns {
    display: grid;
    width: 100%;
    gap: 2%;
    grid-template-columns: 4fr 8fr;
    row-gap: 3rem;
    margin-bottom: 3rem;
  }
  .site-footer .nav-footer-two {
    display: grid;
    grid-template-columns: 0.8fr 1.2fr;
  }
  .site-footer .terms {
    margin-top: 2rem;
  }
}
@media (min-width: 1000px) {
  .site-footer .columns {
    display: grid;
    width: 100%;
    gap: 2%;
    grid-template-columns: 2.5fr 3.5fr 3fr 3fr;
    margin-bottom: 0rem;
  }
  .site-footer .nav-footer-two {
    display: grid;
    grid-template-columns: 0.8fr 1.2fr;
  }
}

.header {
  background-color: #ffffff;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 700px;
  padding-top: var(--padding);
  padding-bottom: var(--padding);
}
.header .full-logo {
  width: clamp(200px, 30vw, 300px);
  height: auto;
}
.header .kicker {
  font-weight: bold;
}
.header .kicker span {
  font-weight: normal;
}
.header h1 {
  margin-bottom: 2rem;
}
.header .copy {
  width: 100%;
  font-size: 2rem;
  line-height: 1.2;
}
@media (max-width: 519px) {
  .header .copy {
    font-size: 1.625rem;
    line-height: 1.2;
  }
}
.header .text {
  margin-bottom: 2rem;
}
.header .video-wrapper {
  overflow: hidden;
  position: relative;
  border-radius: var(--border-radius);
  overflow: visible;
  width: 100%;
}
.header .video-wrapper img {
  z-index: 1;
  border-radius: var(--border-radius);
}
.header .video-wrapper::after {
  position: absolute;
  content: "";
  width: 100%;
  top: 6%;
  left: 4%;
  height: 100%;
  background-color: #6AE79D;
  border-radius: var(--border-radius);
}
.header .video-holder {
  z-index: 1;
  border-radius: var(--border-radius);
}
.header .cta-links {
  display: flex;
  gap: 0.3rem;
}
@media (max-width: 678px) {
  .header {
    min-height: 500px;
  }
  .header .copy + * {
    display: none;
  }
  .header .content {
    display: flex;
    flex-direction: column;
    row-gap: 2rem;
  }
  .header .mobile-only {
    margin-bottom: 2rem;
  }
}
@media (min-width: 678px) {
  .header .mobile-only {
    display: none;
  }
  .header .content {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2%;
    align-items: center;
  }
  .header h1 {
    width: 110%;
  }
  .header .text {
    max-width: var(--text-maxwidth);
  }
}
.header--illustration, .header--home {
  padding-top: 1rem;
}
@media (min-width: 678px) {
  .header--illustration .content, .header--home .content {
    gap: 0%;
    align-items: center;
  }
  .header--illustration .image, .header--home .image {
    aspect-ratio: var(--aspect);
    aspect-ratio: 1;
    margin-left: 0%;
  }
  .header--illustration .image img, .header--home .image img {
    width: 110%;
    height: 110%;
    object-fit: contain;
    aspect-ratio: var(--aspect);
  }
}

.header--basic .image {
  overflow: hidden;
  position: relative;
  border-radius: var(--border-radius);
  overflow: visible;
  aspect-ratio: 1.6;
}
.header--basic .image img {
  z-index: 1;
  border-radius: var(--border-radius);
}
.header--basic .image::after {
  position: absolute;
  content: "";
  width: 100%;
  top: 6%;
  left: 4%;
  height: 100%;
  background-color: #6AE79D;
  border-radius: var(--border-radius);
}
.header--basic .image img {
  height: 100%;
  object-fit: cover;
}
@media (max-width: 677px) {
  .header--basic .image {
    margin-bottom: 1rem;
  }
  .header--basic:has(~ .sections .section--single-office) .image {
    display: none;
  }
}
@media (min-width: 678px) {
  .header--basic h1 {
    width: 100%;
  }
  .header--basic .content {
    align-items: start;
  }
}

.header--image-contained .image {
  width: 100%;
  overflow: hidden;
  position: relative;
}
.header--image-contained .image img {
  position: absolute;
  min-width: 100%;
  min-height: 100%;
  object-fit: cover;
  top: 50%;
  left: 50%;
  -ms-transform: translate(-50%, -50%); /* IE 9 */
  -webkit-transform: translate(-50%, -50%); /* Chrome, Safari, Opera */
  transform: translate(-50%, -50%);
}
.header--image-contained .image:after {
  content: "";
  display: block;
  padding-top: 50%;
  width: 0;
  float: left;
  position: relative;
}
.header--search + .sections > .child-content {
  padding-top: 0;
}

.header--video .content {
  row-gap: 2rem;
}

.header--default, .header--video {
  min-height: inherit;
  padding-bottom: 0rem;
}
.header--default h1, .header--video h1 {
  font-weight: 600;
  font-size: 2rem;
  line-height: 1.2;
}
@media (max-width: 519px) {
  .header--default h1, .header--video h1 {
    font-size: 1.625rem;
    line-height: 1.2;
  }
}
.header--default .content, .header--video .content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.single-post-title {
  font-weight: 600;
  font-size: 2rem;
  line-height: 1.2;
}
@media (max-width: 519px) {
  .single-post-title {
    font-size: 1.625rem;
    line-height: 1.2;
  }
}

.header--404 h1 {
  margin-bottom: 0rem;
  color: #6AE79D;
}
.header--404 h2 {
  margin-bottom: 2rem;
}
.header--404 p {
  font-family: "web-source", sans-serif;
  font-weight: normal;
  font-size: 1.25rem;
  line-height: 1.4;
  line-height: 1.3;
  text-wrap: pretty;
}
.header--404 p a:not(.cta) {
  text-decoration: underline;
  transition: text-decoration-color 0.3s;
  text-underline-offset: 0.3ch;
}
.header--404 p a:not(.cta):hover {
  text-decoration-color: transparent;
}
.header--404 p ul {
  margin-bottom: 1rem;
  margin-left: 3ch;
  list-style: none;
}
.header--404 p ul li::before {
  content: "";
  position: absolute;
  background-image: url(https://www.virtualoffice-london.co.uk/wp-content/themes/virtually-2025/css/../images/svg/tick.svg);
  display: inline-block;
  background-position: center;
  background-size: auto 1.2ch;
  background-repeat: no-repeat;
  width: 3ch;
  height: 1.6ch;
  color: #6AE79D;
  top: 0.5ch;
  left: -3.5ch;
}
.header--404 p ul > li {
  font-weight: bold;
  margin-bottom: 0.7em;
  position: relative;
}
.header--404 p ul > li:last-of-type {
  margin-bottom: 0;
}
.header--404 p ol {
  counter-reset: item;
  margin-left: 20px;
  margin-bottom: var(--mb);
}
.header--404 p ol li {
  list-style: none;
}
.header--404 p ol > li:before {
  position: absolute;
  content: counters(item, ".") ". ";
  counter-increment: item;
  left: -20px;
}
.header--404 p ol > li {
  margin-bottom: 0.7em;
  position: relative;
}
.header--404 p ol > li > ol > li > ol > li {
  padding-left: 50px;
}
.header--404 p ol > li:last-of-type {
  margin-bottom: 0;
}
.header--404 p ol li ul {
  margin-top: 0.5em;
}
.header--404 p h3, .header--404 p h4 {
  margin-bottom: 1rem;
}
.header--404 p * + p:has(strong),
.header--404 p * + p:has(.cta),
.header--404 p * + .cta {
  margin-top: 2rem;
}
.header--404 p table {
  width: 150%;
  max-width: calc(100vw - 2 * var(--outer));
  overflow: scroll;
  font-size: 1rem;
  line-height: 1.4;
  margin-bottom: 2rem;
}
.header--404 p table thead {
  background-color: #475565;
  color: #ffffff;
}
.header--404 p table td, .header--404 p table th {
  padding: 0.5rem 0.5rem;
  border: 1px solid #DEDEDE;
}
.header--404 p table ul {
  list-style: disc;
}
.header--404 p table ul > li::before {
  display: none;
}
.header--404 p table ul > li {
  display: list-item;
  font-weight: normal;
}
@media (max-width: 519px) {
  .header--404 p table {
    font-size: 0.6875rem;
    line-height: 1.4;
  }
}
@media (max-width: 677px) {
  .header--404 h1, .header--404 h2 {
    text-align: center;
  }
}

.header--single-post {
  min-height: inherit;
  padding-top: var(--padding);
  padding-bottom: var(--padding);
}
.header--single-post {
  padding-bottom: 4rem;
}
.header--single-post.header--illustration .content {
  align-items: flex-start;
}
.header--single-post .single-post-title {
  margin-bottom: 0.5rem;
  width: 100%;
  font-weight: 600;
  font-size: 2rem;
  line-height: 1.2;
}
@media (max-width: 519px) {
  .header--single-post .single-post-title {
    font-size: 1.625rem;
    line-height: 1.2;
  }
}
.header--single-post .single-post-title a:hover {
  color: #6AE79D;
}
.header--single-post .byline {
  font-size: 1rem;
  line-height: 1.4;
  margin-bottom: var(--mb);
  width: 100%;
}
.header--single-post .kicker {
  color: #475565;
  display: block;
  margin-bottom: 1rem;
  font-size: 1rem;
  line-height: 1.4;
  display: none;
}
.header--single-post .kicker:hover {
  color: #6AE79D;
}
@media (min-width: 1000px) {
  .header--single-post.header--basic .image {
    margin-bottom: 2rem;
  }
}
@media (min-width: 678px) {
  .header--single-post.header--illustration .image {
    aspect-ratio: 1.4;
  }
}

.blog .header--default {
  background-color: #F3F8F3;
}

.header--illustration.header--short {
  min-height: inherit;
  padding-bottom: 1rem;
}
.header--illustration.header--short .content {
  grid-template-columns: 16fr 5fr;
}
.header--illustration.header--short .image {
  aspect-ratio: 1.5;
}
.header--illustration.header--short .image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}

.header--search {
  min-height: inherit;
}
.header--search h1 {
  margin-bottom: 0.5rem;
}
.header--search .search-query {
  font-weight: bold;
}

.modal-video {
  position: fixed;
  width: 0;
  height: 0;
  overflow: hidden;
  top: 0;
  left: 0;
  pointer-events: none;
  align-items: center;
  justify-content: center;
  z-index: 3000;
  background-color: #6AE79D;
}
.modal-video .video-background {
  z-index: 1;
}
.modal-video .close-modal {
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  z-index: 20;
  color: transparent;
  width: 70px;
  height: 70px;
}
.modal-video .close-modal::after {
  content: "✕";
  position: absolute;
  top: 0;
  right: 0;
  text-align: center;
  font-size: 30px;
  line-height: 70px;
  z-index: 20;
  color: white;
  width: 70px;
  height: 70px;
}
.modal-video .close-modal:hover {
  opacity: 0.8;
  cursor: pointer;
}
.modal-video::after {
  width: 40px;
  height: 40px;
  content: "";
  display: block;
  position: absolute;
  z-index: 0;
  background-image: url(https://www.virtualoffice-london.co.uk/wp-content/themes/virtually-2025/css/../images/svg/tail-spin.svg);
  background-position: center;
  background-repeat: no-repeat;
}

.shadow {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.8);
  z-index: -1;
}
.shadow:hover {
  cursor: pointer;
}

.show-modal {
  overflow: hidden;
  display: flex;
  pointer-events: all;
  width: 100%;
  height: 100%;
}

.logo {
  display: block;
  z-index: 2;
  transition: opacity 0.3s;
  font-size: 0;
}
.logo svg {
  width: 100%;
  height: auto;
}
.logo svg * {
  fill: #475565;
}

.site-header {
  position: relative;
  width: 100%;
  z-index: 100;
}
.site-header .menu-item-has-children {
  position: relative;
}
.site-header .menu-item-has-children .dropdown-wrapper {
  padding-right: 26px;
  position: relative;
}
.site-header .menu-item-has-children span {
  position: absolute;
  right: 0;
  top: 0;
  height: 100%;
  width: 26px;
  transform-origin: center;
  transition: transform 0.3s;
  -webkit-animation-duration: 0.2s;
  animation-duration: 0.2s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  animation-delay: 0.3s;
  -webkit-animation-delay: 0.3s;
  animation-timing-function: linear;
  -webkit-animation-timing-function: linear;
  -webkit-animation-name: fadeInKs;
  animation-name: fadeInKs;
  display: flex;
  align-items: center;
  justify-content: center;
}
.site-header .menu-item-has-children span svg {
  width: 50%;
  height: auto;
}
.site-header .menu-item-has-children span svg path {
  fill: #475565;
}
.site-header .nav--toggle ul form {
  margin: 0;
}
.site-header .nav--toggle ul button {
  appearance: none;
  border: none;
  background-color: transparent;
  height: var(--nav-height);
}
.site-header .nav--toggle ul button:hover, .site-header .nav--toggle ul button:active {
  cursor: pointer;
}

.main-nav {
  transition: opacity 0.3s;
}

.promotion-bar {
  padding: 0 var(--outer);
  background-color: #6AE79D;
  height: 2rem;
  width: 100%;
  white-space: nowrap;
  overflow-x: scroll;
  text-align: center;
  font-size: 1rem;
  line-height: 2;
}
.promotion-bar::-webkit-scrollbar {
  display: none;
}
.promotion-bar a {
  font-weight: normal;
  text-decoration: underline;
}
.promotion-bar a:hover {
  text-decoration: none;
}
.promotion-bar:has(.bar-link) {
  padding: 0;
}
.promotion-bar a.bar-link {
  display: block;
  padding: 0 var(--outer);
  text-decoration: none;
}
.promotion-bar a.bar-link:hover {
  background-color: #F3F8F3;
}
.promotion-bar strong a {
  font-weight: 600;
}

/* -----------------------------------------------------------------------------------------------------------

												 DESKTOP 

------------------------------------------------------------------------------------------------------------- */
@media (min-width: 1100px) {
  .menu-button {
    right: 0px;
    top: calc(var(--nav-height) / 2 - 35px);
    z-index: 5;
  }
  .menu-button:hover, .menu-button:active {
    transform: scale(0.9);
  }
  .promotion-bar {
    position: fixed;
    top: var(--nav-height);
    width: 100%;
    left: 0;
    z-index: 20;
  }
  .site-header {
    background-color: #ffffff;
    position: fixed;
    top: 0;
  }
  .site-header .logo {
    height: 100%;
    display: flex;
    align-items: flex-start;
    padding-top: 0.3rem;
  }
  .site-header .logo svg {
    max-width: 300px;
  }
  .site-header .content {
    display: grid;
    grid-template-columns: 3fr 6fr 3fr;
    gap: 1%;
    height: var(--nav-height);
    font-family: "web-source", sans-serif;
    font-size: 1.125rem;
    line-height: 1.4;
  }
}
@media (min-width: 1100px) and (max-width: 1330px) {
  .site-header .content {
    font-size: 0.9375rem;
    line-height: 1.4;
  }
}
@media (min-width: 1100px) {
  .site-header nav > ul {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    width: 100%;
    height: 100%;
  }
  .site-header nav > ul li {
    position: relative;
  }
  .site-header nav > ul a {
    display: flex;
    align-items: center;
  }
  .site-header .nav--toggle ul {
    gap: 1rem;
  }
  .site-header .nav--toggle ul button {
    font-family: "web-source", sans-serif;
    font-size: 1.125rem;
    line-height: 1.4;
    height: var(--nav-height);
    transition: color 0.3s, box-shadow 0.3s;
  }
}
@media (min-width: 1100px) and (max-width: 1330px) {
  .site-header .nav--toggle ul button {
    font-size: 0.9375rem;
    line-height: 1.4;
  }
}
@media (min-width: 1100px) {
  .site-header .nav--toggle ul .active-nav {
    box-shadow: inset 0px -5px 0px 0px rgb(0, 0, 0);
  }
  .site-header .nav--toggle ul li:not(.active-nav) button:hover {
    color: #4dcf81;
  }
  .site-header .nav--contacts ul {
    gap: min(10%, 2rem);
    justify-content: flex-end;
  }
  .site-header .nav--contacts ul a {
    height: var(--nav-height);
  }
  .site-header .nav--contacts {
    padding-right: min(27%, 80px);
  }
  .site-header .nav--contacts a {
    height: var(--nav-height);
  }
  .site-header .nav--contacts a:hover {
    color: #4dcf81;
  }
  .site-header .nav--contacts .contact-phone {
    font-size: 0;
  }
  .site-header .nav--contacts .contact-phone svg {
    height: 2rem;
    width: 2rem;
  }
  .site-header .nav--contacts .signup a {
    font-size: 1rem;
    line-height: 2.6;
    font-weight: bold;
    letter-spacing: -0.01ch;
    color: #475565;
    border: 1px solid #6AE79D;
    background-color: #6AE79D;
    border-radius: var(--border-radius-small);
    padding: 0px 1.5rem;
    display: inline-block;
    text-align: center;
    height: auto;
    transition: color 0.3s, background-color 0.3s, border-color 0.3s;
    white-space: nowrap;
  }
  .site-header .nav--contacts .signup a:hover {
    color: #ffffff;
    border: 1px solid #475565;
    background-color: #475565;
  }
}
@media (min-width: 1100px) and (max-width: 520px) {
  .site-header .nav--contacts .signup a {
    width: 100%;
  }
}
@media (min-width: 1100px) {
  .site-header .nav--site-navigation > ul {
    position: relative;
    font-weight: bold;
    gap: 1rem;
    justify-content: center;
    /* --------------

    ////main or parent sub menu includen lnk styles

    /// ---------*/
  }
  .site-header .nav--site-navigation > ul > li a {
    height: var(--nav-height);
  }
  .site-header .nav--site-navigation > ul li:hover span path {
    fill: #4dcf81;
  }
  .site-header .nav--site-navigation > ul li:hover > a, .site-header .nav--site-navigation > ul li:hover > div > a {
    color: #4dcf81;
  }
  .site-header .nav--site-navigation > ul > .menu-item-has-children {
    padding-right: 30px;
  }
  .site-header .nav--site-navigation > ul > .menu-item-has-children .dropdown-wrapper {
    margin-right: -30px;
  }
  .site-header .nav--site-navigation > ul > li > .sub-menu {
    display: grid;
    grid-template-columns: 1fr;
    position: absolute;
    background-color: #F3F8F3;
    font-weight: normal;
    font-size: 1.25rem;
    line-height: 1.4;
    padding: 1rem 2rem;
    border-radius: 10px;
    max-height: calc(100vh - 100px);
    overflow: scroll;
    border: 1px solid #DEDEDE;
    transform: translateY(0px) translateX(-50%);
    opacity: 0;
    pointer-events: none;
    transition: transform 0.3s, opacity 0.3s;
    height: auto !important;
    top: 4rem;
    left: 50%;
    gap: 1rem;
    row-gap: 0;
  }
  .site-header .nav--site-navigation > ul > li > .sub-menu.columns-2 {
    grid-template-columns: repeat(2, 1fr);
    min-width: 400px;
  }
  .site-header .nav--site-navigation > ul > li > .sub-menu.columns-3 {
    grid-template-columns: repeat(3, 1fr);
    min-width: 400px;
  }
  .site-header .nav--site-navigation > ul > li > .sub-menu.columns-4 {
    grid-template-columns: repeat(4, 1fr);
    min-width: 400px;
  }
  .site-header .nav--site-navigation > ul > li > .sub-menu.columns-5 {
    grid-template-columns: repeat(5, 1fr);
    min-width: 400px;
  }
  .site-header .nav--site-navigation > ul > li > .sub-menu:has(a:hover) a {
    color: rgba(71, 85, 101, 0.7);
  }
  .site-header .nav--site-navigation > ul > li > .sub-menu:has(a:hover) a:hover {
    color: #000000;
  }
  .site-header .nav--site-navigation > ul > li > .sub-menu .menu-search {
    grid-column: 1/-1;
    padding: 0.5rem 0rem;
  }
  .site-header .nav--site-navigation > ul > li > .sub-menu > li {
    width: 100%;
  }
  .site-header .nav--site-navigation > ul > li > .sub-menu > li a {
    padding: 3px 0rem;
    height: auto;
  }
  .site-header .nav--site-navigation > ul > li > .sub-menu > li > ul > li a {
    font-size: 16px;
    min-width: 100px;
  }
  .site-header .nav--site-navigation > ul > li > .sub-menu a {
    color: #475565;
    display: block;
    white-space: nowrap;
  }
  .site-header .nav--site-navigation > ul > li > .sub-menu::before {
    content: "";
    width: 10px;
    height: 10px;
    position: absolute;
    display: block;
    top: -6px;
    left: calc(50% - 5px);
    background-color: #F3F8F3;
    transform: rotate(45deg);
    border-left: 1px solid #DEDEDE;
    border-top: 1px solid #DEDEDE;
  }
  .site-header .nav--side-nav {
    position: fixed;
    top: 0;
    right: 0;
    width: 30%;
    min-width: 700px;
    overflow: hidden;
    pointer-events: none;
    height: 0vh;
    padding: 0 var(--padding);
    transition: opacity 0.3s, transform 0.3s, height 0s 0.3s;
    background-color: #F3F8F3;
    display: flex;
    align-items: flex-start;
    flex-direction: column;
    justify-content: flex-start;
    transform: translateX(100%);
  }
  .site-header .nav--side-nav a:hover {
    color: #4dcf81;
  }
  .site-header .nav--side-nav ul.nav-list {
    font-size: 2rem;
    line-height: 1.4;
    padding: 4rem 0;
    line-height: min(9vh, 6rem);
    display: flex;
    align-items: flex-start;
    flex-direction: column;
    justify-content: flex-start;
  }
  .site-header .nav--side-nav ul.nav-list > li:not(:last-of-type) {
    width: 100%;
    border-bottom: 1px solid #DEDEDE;
  }
  .site-header .nav--side-nav .menu-button {
    right: var(--padding);
  }
  .site-header .nav--side-nav .menu-item-has-children {
    position: relative;
  }
  .site-header .nav--side-nav .menu-item-has-children .dropdown-wrapper {
    padding-right: 70px;
  }
  .site-header .nav--side-nav .menu-item-has-children span {
    width: 70px;
  }
  .site-header .nav--side-nav .menu-item-has-children span svg {
    width: 25%;
  }
  .site-header .nav--side-nav .menu-item-has-children span:hover {
    cursor: pointer;
  }
  .site-header .nav--side-nav .menu-item-has-children span:hover path {
    fill: #4dcf81;
  }
  .site-header .nav--side-nav .sub-menu {
    opacity: 0;
    pointer-events: none;
    height: 0px;
    overflow: hidden;
    padding: 0 2rem;
    margin: 0;
    transition: height 0.3s, opacity 0.3s;
    display: block;
  }
  .site-header .nav--side-nav .sub-menu li {
    font-family: "web-source", sans-serif;
    font-weight: normal;
    font-size: 1.25rem;
    line-height: 1.4;
    line-height: 1.3;
    text-wrap: pretty;
  }
  .site-header .nav--side-nav .sub-menu li:last-of-type {
    padding-bottom: 2rem;
  }
  .site-header .nav--side-nav .sub-menu a {
    display: block;
    height: 40px;
    line-height: 2;
  }
  .site-header li.menu-search {
    position: relative;
  }
  .site-header .js-submenu-filter {
    background-color: white;
    border-radius: var(--border-radius-small) var(--border-radius-small);
    border: 1px solid #DEDEDE;
    font-family: "web-source";
    width: 100%;
    height: 3rem;
    padding: 0 1rem;
    margin-bottom: 1rem;
  }
  .site-header .nav--site-navigation .js-submenu-results {
    position: absolute;
    z-index: 1;
    width: calc(100% - 4rem);
    width: 100%;
    top: 3rem;
    background-color: white;
    border-radius: 0 0 var(--border-radius-small) var(--border-radius-small);
    border: 1px solid #DEDEDE;
    border-top: none;
    overflow: hidden;
    padding: 0.5rem 0.5rem 0.5rem 0.5rem;
  }
  .site-header .nav--site-navigation .js-submenu-results > div.filter-item > a {
    font-size: 16px;
    padding: 0.25rem 0.5rem;
    border-radius: var(--border-radius-small);
    background-image: url(https://www.virtualoffice-london.co.uk/wp-content/themes/virtually-2025/css/../images/svg/arrow-right.svg);
    background-position: right 1em center;
    background-repeat: no-repeat;
    background-size: 7px auto;
  }
  .site-header .nav--site-navigation .js-submenu-results > div.filter-item > a:hover {
    background-color: #F3F8F3;
  }
  .site-header .sub-menu .invisible > a {
    opacity: 0;
    font-size: 16px;
    pointer-events: none;
  }
  .site-header .nav--site-navigation > ul > li > .sub-menu > li:has(.sub-menu) > a {
    pointer-events: none;
    font-weight: bold;
    font-size: 16px;
    color: #475565 !important;
  }
  .site-header .nav--site-navigation > ul > li > .sub-menu > .full-width {
    grid-column: 1/-1;
    text-align: right;
    border-top: 1px solid #DEDEDE;
    padding-top: 0.5rem;
    margin-top: 1rem;
  }
  .site-header .nav--site-navigation > ul > li > .sub-menu > .full-width::after {
    content: "";
    width: 3ch;
    aspect-ratio: 1.8;
    position: absolute;
    display: block;
    top: -20%;
    right: 5px;
    background-image: url(https://www.virtualoffice-london.co.uk/wp-content/themes/virtually-2025/css/../images/svg/flair.svg);
    background-size: contain;
  }
  .site-header .nav--site-navigation > ul > li > .sub-menu > .full-width a {
    font-size: 16px;
    padding-right: 1rem;
    background-image: url(https://www.virtualoffice-london.co.uk/wp-content/themes/virtually-2025/css/../images/svg/arrow-right.svg);
    background-position: right 0em center;
    background-repeat: no-repeat;
    background-size: 7px auto;
  }
  .nav--side-nav .show-dropdown + .sub-menu {
    opacity: 1;
    height: auto;
    pointer-events: all;
  }
  .nav--side-nav .show-dropdown span {
    transform: rotate(180deg);
  }
  .no-touch .nav--site-navigation > ul > .menu-item-has-children:hover > .sub-menu,
  .nav--site-navigation > ul > .menu-item-has-children .show-dropdown + .sub-menu {
    opacity: 1;
    height: auto !important;
    pointer-events: all;
    transform: translateY(10px) translateX(-50%);
  }
  .no-touch .nav--site-navigation > ul > .menu-item-has-children:hover span,
  .nav--site-navigation > ul > .menu-item-has-children .show-dropdown span {
    transform: rotate(180deg);
  }
  .menu-visible {
    overflow: hidden;
  }
  .menu-visible .site-header .nav--side-nav {
    opacity: 1;
    pointer-events: all;
    overflow: scroll;
    height: 100vh;
    transform: translateX(0);
    transition: opacity 0.3s, transform 0.3s, height 0s;
    z-index: 10;
  }
  .menu-visible .site-header::before {
    content: "";
    position: fixed;
    top: 0;
    left: 0;
    z-index: 3;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.3);
    -webkit-animation-duration: 0.3s;
    animation-duration: 0.3s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
    animation-delay: 0;
    -webkit-animation-delay: 0;
    animation-timing-function: linear;
    -webkit-animation-timing-function: linear;
    -webkit-animation-name: fadeInKs;
    animation-name: fadeInKs;
  }
}
/* -----------------------------------------------------------------------------------------------------------

												!Mobile

------------------------------------------------------------------------------------------------------------- */
@media (max-width: 1099px) {
  .promotion-bar {
    position: fixed;
    top: var(--nav-height);
    width: 100%;
    left: 0;
    z-index: 20;
  }
  .site-header {
    padding: 0;
    position: fixed;
  }
  .site-header .content {
    background-color: #ffffff;
    overflow: hidden;
    height: var(--nav-height);
    display: flex;
    flex-direction: column;
    padding-left: var(--outer);
    padding-right: var(--outer);
  }
  .site-header .content::after {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    width: 100%;
    height: 1px;
    top: var(--nav-height);
    background-color: rgba(71, 85, 101, 0.5);
    z-index: 4;
  }
  .site-header .logo {
    min-height: var(--nav-height);
    display: flex;
    align-items: center;
  }
  .site-header .logo svg {
    max-width: 250px;
    margin-top: -1rem;
  }
  .site-header .menu-button {
    z-index: 5;
    right: 0;
    top: 0;
    pointer-events: all;
  }
  .site-header nav > ul {
    display: flex;
    width: 100%;
    height: 100%;
  }
  .site-header nav > ul li {
    position: relative;
  }
  .site-header .nav--toggle {
    background-color: #ffffff;
    order: 1;
    position: absolute;
    z-index: 3;
    opacity: 0;
    pointer-events: none;
  }
  .site-header .nav--toggle ul {
    gap: 2rem;
  }
  .site-header .nav--toggle ul button {
    font-family: "web-source", sans-serif;
    font-weight: normal;
    font-size: 1.25rem;
    line-height: 1.4;
    line-height: 1.3;
    text-wrap: pretty;
    height: var(--nav-height);
    color: #475565;
    line-height: var(--nav-height);
  }
  .site-header .nav--toggle ul .active-nav {
    box-shadow: inset 0px -5px 0px 0px rgb(0, 0, 0);
  }
  .site-header .nav--site-navigation {
    background-color: #ffffff;
    order: 2;
    padding: 3rem 0 5rem 0;
  }
  .site-header .nav--site-navigation ul {
    flex-direction: column;
  }
  .site-header .nav--site-navigation > ul > li {
    border-bottom: 1px solid rgba(71, 85, 101, 0.5);
  }
  .site-header .nav--site-navigation a {
    font-size: 2rem;
    line-height: 2;
    display: block;
  }
}
@media (max-width: 1099px) and (max-width: 519px) {
  .site-header .nav--site-navigation a {
    font-size: 1.625rem;
    line-height: 2;
  }
}
@media (max-width: 1099px) {
  .site-header .nav--side-nav {
    background-color: #ffffff;
    order: 3;
    padding-bottom: 3rem;
  }
  .site-header .nav--side-nav ul {
    flex-direction: column;
  }
  .site-header .nav--side-nav > ul > li {
    border-bottom: 1px solid rgba(71, 85, 101, 0.5);
  }
  .site-header .nav--side-nav a {
    line-height: 2.8rem;
  }
  .site-header .nav--contacts {
    background-color: #ffffff;
    order: 4;
    margin-top: auto;
    padding-bottom: 3rem;
  }
  .site-header .nav--contacts ul {
    flex-direction: column;
    row-gap: 0.5rem;
  }
  .site-header .nav--contacts a {
    font-size: 1rem;
    line-height: 2.6;
    font-weight: bold;
    letter-spacing: -0.01ch;
    color: #ffffff;
    border: 1px solid #475565;
    background-color: #475565;
    border-radius: var(--border-radius-small);
    padding: 0px 1.5rem;
    display: inline-block;
    text-align: center;
    height: auto;
    transition: color 0.3s, background-color 0.3s, border-color 0.3s;
    white-space: nowrap;
    width: 100%;
  }
  .site-header .nav--contacts a:hover {
    color: #475565;
    border: 1px solid #6AE79D;
    background-color: #6AE79D;
  }
}
@media (max-width: 1099px) and (max-width: 520px) {
  .site-header .nav--contacts a {
    width: 100%;
  }
}
@media (max-width: 1099px) {
  .site-header .show-dropdown + .sub-menu {
    opacity: 1;
    pointer-events: all;
  }
  .site-header .show-dropdown span svg {
    transform: rotate(180deg);
  }
  .site-header .sub-menu {
    overflow: hidden;
    width: 100%;
    transition: height 0.3s, border-color 0.3s;
  }
  .site-header .sub-menu a {
    font-family: "web-source", sans-serif;
    font-weight: normal;
    font-size: 1.25rem;
    line-height: 1.4;
    line-height: 1.3;
    text-wrap: pretty;
    display: block;
    padding: 0.5rem 0;
  }
  .site-header .sub-menu li {
    margin: 0;
  }
  .site-header .menu-search {
    display: none;
  }
  .site-header .nav--site-navigation > ul > li > .sub-menu > li:has(.sub-menu) > a[href="#"] {
    display: none;
  }
  .site-header .sub-menu .invisible > a {
    display: none;
  }
  .site-header ul.ul--business-nav > li > .sub-menu > li:last-child {
    padding-bottom: 1rem;
  }
  .site-header .nav--site-navigation .dropdown-wrapper > a + span {
    width: 40px;
  }
  .site-header .nav--site-navigation .dropdown-wrapper > a + span::before {
    content: "";
    left: 0;
    width: 100%;
    height: calc(100% - 20px);
    top: 10px;
    position: absolute;
    background-color: #475565;
    border-radius: 5px;
    z-index: -1;
  }
  .site-header .nav--site-navigation .dropdown-wrapper > a + span svg {
    width: 30%;
  }
  .site-header .nav--site-navigation .dropdown-wrapper > a + span svg * {
    fill: white;
  }
  .site-header .dropdown-wrapper {
    padding-right: 40px;
  }
  .menu-visible, .keep-open {
    overflow: hidden;
  }
  .menu-visible .site-header .content, .keep-open .site-header .content {
    height: 100dvh;
    overflow: scroll;
  }
  .menu-visible .site-header .nav--toggle, .keep-open .site-header .nav--toggle {
    opacity: 1;
    pointer-events: all;
  }
  .menu-visible .site-header .content {
    -webkit-animation-duration: 0.2s;
    animation-duration: 0.2s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
    animation-delay: 0;
    -webkit-animation-delay: 0;
    animation-timing-function: linear;
    -webkit-animation-timing-function: linear;
    -webkit-animation-name: fadeInLeftKs;
    animation-name: fadeInLeftKs;
    animation-timing-function: ease-out;
  }
}
.menu-button {
  display: block;
  position: absolute;
  margin: 0;
  padding: 0;
  width: 70px;
  height: 70px;
  text-indent: 200%;
  text-align: left;
  font-size: 0;
  white-space: nowrap;
  overflow: hidden;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  box-shadow: none;
  border-radius: 0;
  border: none;
  cursor: pointer;
  background: transparent;
  overflow: visible;
  transform-origin: center;
  transition: transform 0.3s ease-out;
}
.menu-button:focus {
  outline: none;
  border: none;
}
.menu-button span {
  display: block;
  position: absolute;
  top: calc(70px / 2 - 2px);
  left: calc(50% - 30px / 2);
  width: 30px;
  height: 3px;
  background-color: #475565;
  -webkit-transition: background-color 0.1s linear 0s;
  -moz-transition: background-color 0.1s linear 0s;
  -o-transition: background-color 0.1s linear 0s;
  transition: background-color 0.1s linear 0s;
}
.menu-button span::before,
.menu-button span::after {
  position: absolute;
  display: block;
  left: 0%;
  width: 100%;
  height: 3px;
  background-color: #475565;
  content: "";
}
.menu-button span::before {
  top: -10px;
  -webkit-transition: top 0.15s linear 0.15s, transform 0.15s linear 0s;
  -moz-transition: top 0.15s linear 0.15s, transform 0.15s linear 0s;
  -o-transition: top 0.15s linear 0.15s, transform 0.15s linear 0s;
  transition: top 0.15s linear 0.15s, transform 0.15s linear 0s;
}
.menu-button span::after {
  bottom: -10px;
  -webkit-transition: bottom 0.15s linear 0.15s, transform 0.15s linear 0s;
  -moz-transition: bottom 0.15s linear 0.15s, transform 0.15s linear 0s;
  -o-transition: bottom 0.15s linear 0.15s, transform 0.15s linear 0s;
  transition: bottom 0.15s linear 0.15s, transform 0.15s linear 0s;
}

@media (min-width: 1100px) {
  .menu-visible .menu-button {
    transform: rotate(180deg);
  }
  .menu-visible .menu-button span {
    background-color: rgba(106, 231, 157, 0);
  }
  .menu-visible .menu-button span::before {
    top: 0px;
    -ms-transform: rotate(45deg); /* IE 9 */
    -webkit-transform: rotate(45deg); /* Chrome, Safari, Opera */
    transform: rotate(45deg);
    -webkit-transition: top 0.15s linear 0s, transform 0.15s linear 0.15s;
    -moz-transition: top 0.15s linear 0s, transform 0.15s linear 0.15s;
    -o-transition: top 0.15s linear 0s, transform 0.15s linear 0.15s;
    transition: top 0.15s linear 0s, transform 0.15s linear 0.15s;
  }
  .menu-visible .menu-button span::after {
    bottom: 0px;
    -ms-transform: rotate(-45deg); /* IE 9 */
    -webkit-transform: rotate(-45deg); /* Chrome, Safari, Opera */
    transform: rotate(-45deg);
    -webkit-transition: bottom 0.15s linear 0s, transform 0.15s linear 0.15s;
    -moz-transition: bottom 0.15s linear 0s, transform 0.15s linear 0.15s;
    -o-transition: bottom 0.15s linear 0s, transform 0.15s linear 0.15s;
    transition: bottom 0.15s linear 0s, transform 0.15s linear 0.15s;
  }
}
@media (max-width: 1099px) {
  .keep-open .menu-button, .menu-visible .menu-button {
    transform: rotate(180deg);
  }
  .keep-open .menu-button span, .menu-visible .menu-button span {
    background-color: rgba(106, 231, 157, 0);
  }
  .keep-open .menu-button span::before, .menu-visible .menu-button span::before {
    top: 0px;
    -ms-transform: rotate(45deg); /* IE 9 */
    -webkit-transform: rotate(45deg); /* Chrome, Safari, Opera */
    transform: rotate(45deg);
    -webkit-transition: top 0.15s linear 0s, transform 0.15s linear 0.15s;
    -moz-transition: top 0.15s linear 0s, transform 0.15s linear 0.15s;
    -o-transition: top 0.15s linear 0s, transform 0.15s linear 0.15s;
    transition: top 0.15s linear 0s, transform 0.15s linear 0.15s;
  }
  .keep-open .menu-button span::after, .menu-visible .menu-button span::after {
    bottom: 0px;
    -ms-transform: rotate(-45deg); /* IE 9 */
    -webkit-transform: rotate(-45deg); /* Chrome, Safari, Opera */
    transform: rotate(-45deg);
    -webkit-transition: bottom 0.15s linear 0s, transform 0.15s linear 0.15s;
    -moz-transition: bottom 0.15s linear 0s, transform 0.15s linear 0.15s;
    -o-transition: bottom 0.15s linear 0s, transform 0.15s linear 0.15s;
    transition: bottom 0.15s linear 0s, transform 0.15s linear 0.15s;
  }
}
#breadcrumbs {
  font-size: clamp(1rem, 1.0416666667vw + 0rem, 1.75rem);
  line-height: 1.3;
  padding-bottom: var(--padding);
  color: #475565;
  color: rgba(71, 85, 101, 0.5);
}
#breadcrumbs .breadcrumb_last {
  color: rgba(71, 85, 101, 0.8);
}
#breadcrumbs a {
  color: #475565;
}
#breadcrumbs a:hover {
  color: #6AE79D;
}

.portrait {
  width: 100%;
  aspect-ratio: var(--aspect);
  height: auto;
}

.landscape {
  height: auto;
  width: 100%;
}

.entry-search {
  margin-bottom: 0.5rem;
}
.entry-search .entry-link {
  padding: 1rem 1.5rem;
  background-color: #F3F8F3;
  display: block;
  box-shadow: 0px 3px 8px 0px rgba(0, 0, 0, 0);
  transition: background-color 0.3s, box-shadow 0.3s;
}
.entry-search .entry-link .entry-summary > :last-child {
  margin-bottom: 0;
}
.entry-search .entry-link:hover {
  box-shadow: 0px 6px 16px 0px rgba(0, 0, 0, 0.2);
  background-color: #6AE79D;
}
.entry-search h3 {
  margin-bottom: 10px;
}

.price-toggle {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  max-width: 300px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: var(--mb);
  z-index: 3;
}
.price-toggle .label {
  transition: opacity 0.3s;
  font-size: clamp(1.125rem, 1.25vw + 0rem, 1.625rem);
}
.price-toggle .label:hover {
  cursor: pointer;
}
.price-toggle .label-right {
  opacity: 0.4;
}
.price-toggle .label-left {
  opacity: 1;
}
.price-toggle .toggle-wrapper {
  width: 94px;
  height: 36px;
  border: 1px solid #F3F8F3;
  border-radius: 20px;
  position: relative;
  margin: 10px 10px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.price-toggle .toggle-button {
  width: 26px;
  height: 26px;
  background-color: #F3F8F3;
  background: linear-gradient(0deg, rgb(193, 120, 211) 0%, rgb(177, 103, 195) 100%);
  border-radius: 20px;
  position: absolute;
  left: 3px;
  box-shadow: 1px 1px 3px 0px rgba(0, 0, 0, 0.3);
  transition: transform 0.4s;
}

body:not(.yearly-pricing) .show-yearly {
  display: none !important;
}

.show-monthly {
  -webkit-animation-duration: 0.2s;
  animation-duration: 0.2s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  animation-delay: 0;
  -webkit-animation-delay: 0;
  animation-timing-function: linear;
  -webkit-animation-timing-function: linear;
  -webkit-animation-name: fadeInKs;
  animation-name: fadeInKs;
}

.yearly-pricing .show-yearly {
  -webkit-animation-duration: 0.2s;
  animation-duration: 0.2s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  animation-delay: 0;
  -webkit-animation-delay: 0;
  animation-timing-function: linear;
  -webkit-animation-timing-function: linear;
  -webkit-animation-name: fadeInKs;
  animation-name: fadeInKs;
}
.yearly-pricing .show-monthly {
  display: none !important;
}
.yearly-pricing .toggle-button {
  transform: translateX(59px);
}
.yearly-pricing .price-toggle .label-right {
  opacity: 1;
}
.yearly-pricing .price-toggle .label-left {
  opacity: 0.4;
}

.anchor-link {
  position: absolute;
  top: -155px;
  left: 0;
  width: 100%;
  display: block;
}

.touch .notouch-show {
  display: none;
}

.no-touch .touch-show {
  display: none;
}

.roundel {
  position: absolute;
  background-color: #6AE79D;
  top: 0;
  right: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: #475565;
  z-index: 2;
  width: clamp(90px, 6vw, 100px);
  height: clamp(90px, 6vw, 100px);
  border-radius: 70px;
  transform: translate(15px, -25%);
}
.roundel .price-reduced {
  font-size: 1rem;
  line-height: 1.4;
  margin-bottom: 0;
  display: inline-block;
  position: relative;
}
.roundel .price-reduced::after {
  content: "";
  position: absolute;
  top: 50%;
  left: -15%;
  width: 130%;
  height: 1px;
  background-color: white;
  transform: rotate(10deg);
}
.roundel .price-full {
  font-family: "Source Sans Pro", sans-serif;
  font-weight: bold;
  margin-bottom: 0;
  display: block;
  font-size: 1.125rem;
  line-height: 1.4;
}
.roundel .price-full span {
  font-size: 1.75rem;
  line-height: 1;
}
.roundel .monthly {
  font-family: "Source Sans Pro", sans-serif;
  font-size: 0.75rem;
  line-height: 1.4;
  margin-bottom: 0px;
}
.roundel .from {
  font-family: "Source Sans Pro", sans-serif;
  font-size: 0.9375rem;
  line-height: 1.4;
  font-weight: bolder;
}
@media (min-width: 1000px) {
  .roundel {
    left: auto;
    transform: translate(30px, -30%);
  }
}
@media (min-width: 1440px) {
  .roundel {
    left: auto;
    border-radius: 100px;
    transform: translate(20%, -50%);
  }
  .roundel .price-full {
    font-size: 1.25rem;
    line-height: 1;
  }
  .roundel .price-full em {
    letter-spacing: -1px;
  }
  .roundel .monthly {
    margin-bottom: 10px;
  }
}

.bg-white {
  background-color: #ffffff;
}

.bg-tint {
  background-color: #F3F8F3;
}

.bg-tint + .bg-tint:not(.section-testimonials) {
  padding-top: 0;
}

.copy > :last-child {
  margin-bottom: 0;
}

.child-content h1, .child-content h2 {
  font-family: "web-source", sans-serif;
  font-weight: normal;
  font-size: 1.25rem;
  line-height: 1.4;
  line-height: 1.3;
  text-wrap: pretty;
  font-weight: bold;
  margin-bottom: 1rem;
  font-weight: bold;
}
.child-content hr {
  margin-top: 2rem;
  margin-bottom: 2rem;
}
.child-content h3 {
  margin-bottom: 1rem;
}
.child-content p {
  margin-bottom: 1rem;
}
.child-content p + h1, .child-content p + h2, .child-content p + h3 {
  margin-top: 2rem;
}
.child-content ul {
  margin-bottom: 1rem;
  margin-left: 20px;
  list-style: none;
}
.child-content ul li::before {
  content: "•";
  position: absolute;
  color: #475565;
  padding-right: 0.5em;
  left: -20px;
}
.child-content ul > li {
  margin-bottom: 0.7em;
  position: relative;
}
.child-content ul > li:last-of-type {
  margin-bottom: 0;
}
.child-content ol {
  counter-reset: item;
  margin-top: 10px;
  margin-left: 20px;
}
.child-content ol li {
  display: block;
}
.child-content ol > li:before {
  content: counters(item, ".") ". ";
  counter-increment: item;
  position: absolute;
  left: -20px;
}
.child-content ol > li {
  margin-bottom: calc(var(--mb) / 2);
  position: relative;
}
.child-content ol > li > ol li {
  text-align: left;
  text-transform: none;
  font-weight: normal;
  margin-top: 0;
}
.child-content ol > li:before {
  font-weight: 500;
}
.child-content ol > li > ol > li > ol > li {
  padding-left: 50px;
}
.child-content ol li ul {
  margin-top: 10px;
}
.child-content * + .cta {
  margin-top: 2rem;
}
.child-content table {
  margin-bottom: var(--mb);
}
.child-content table td {
  padding: 5px 10px;
  border: 1px solid rgba(255, 255, 255, 0.2);
}

.pagination {
  padding-top: var(--padding);
  padding-bottom: var(--padding);
}
.pagination ul {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.3rem;
}
.pagination a, .pagination span {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  border: 1px solid #475565;
  border-radius: 0.2rem;
}
.pagination a:not(.prev):not(.next):hover {
  background-color: #6AE79D;
  border-color: #6AE79D;
}
.pagination span {
  opacity: 0.5;
  pointer-events: none;
}
.pagination span.current {
  opacity: 1;
  background-color: #6AE79D;
  border-color: #6AE79D;
  pointer-events: none;
}
.pagination .dots {
  border: none;
}
.pagination .prev, .pagination .next {
  border: none;
}

#feefologohere {
  margin-bottom: 1rem;
}

.section--map {
  padding-bottom: var(--padding);
}

#map {
  aspect-ratio: 2;
  width: 100%;
  background-color: #F3F8F3;
  border-radius: var(--border-radius);
}
@media (max-width: 519px) {
  #map {
    aspect-ratio: 1.2;
  }
}
@media (min-width: 1440px) {
  #map {
    aspect-ratio: 3;
  }
}

.office-anchor, .selector-anchor {
  position: absolute;
  top: -180px;
  left: 0;
  width: 100%;
  display: block;
}
@media (max-width: 520px) {
  .office-anchor, .selector-anchor {
    top: -80px;
  }
}

/**
 * Swiper 11.2.3
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * https://swiperjs.com
 *
 * Copyright 2014-2025 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: February 12, 2025
 */
/* FONT_START */
@font-face {
  font-family: "swiper-icons";
  src: url("data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA");
  font-weight: 400;
  font-style: normal;
}
/* FONT_END */
:root {
  --swiper-theme-color: #007aff;
  /*
  --swiper-preloader-color: var(--swiper-theme-color);
  --swiper-wrapper-transition-timing-function: initial;
  */
}

:host {
  position: relative;
  display: block;
  margin-left: auto;
  margin-right: auto;
  z-index: 1;
}

.swiper {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
  list-style: none;
  padding: 0;
  /* Fix of Webkit flickering */
  z-index: 1;
  display: block;
}

.swiper-vertical > .swiper-wrapper {
  flex-direction: column;
}

.swiper-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: flex;
  transition-property: transform;
  transition-timing-function: var(--swiper-wrapper-transition-timing-function, initial);
  box-sizing: content-box;
}

.swiper-android .swiper-slide,
.swiper-ios .swiper-slide,
.swiper-wrapper {
  transform: translate3d(0px, 0, 0);
}

.swiper-horizontal {
  touch-action: pan-y;
}

.swiper-vertical {
  touch-action: pan-x;
}

.swiper-slide {
  flex-shrink: 0;
  width: 100%;
  height: 100%;
  position: relative;
  transition-property: transform;
  display: block;
}

.swiper-slide-invisible-blank {
  visibility: hidden;
}

/* Auto Height */
.swiper-autoheight,
.swiper-autoheight .swiper-slide {
  height: auto;
}

.swiper-autoheight .swiper-wrapper {
  align-items: flex-start;
  transition-property: transform, height;
}

.swiper-backface-hidden .swiper-slide {
  transform: translateZ(0);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

/* 3D Effects */
.swiper-3d.swiper-css-mode .swiper-wrapper {
  perspective: 1200px;
}

.swiper-3d .swiper-wrapper {
  transform-style: preserve-3d;
}

.swiper-3d {
  perspective: 1200px;
}

.swiper-3d .swiper-slide,
.swiper-3d .swiper-cube-shadow {
  transform-style: preserve-3d;
}

/* CSS Mode */
.swiper-css-mode > .swiper-wrapper {
  overflow: auto;
  scrollbar-width: none;
  /* For Firefox */
  -ms-overflow-style: none;
  /* For Internet Explorer and Edge */
}

.swiper-css-mode > .swiper-wrapper::-webkit-scrollbar {
  display: none;
}

.swiper-css-mode > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: start start;
}

.swiper-css-mode.swiper-horizontal > .swiper-wrapper {
  scroll-snap-type: x mandatory;
}

.swiper-css-mode.swiper-vertical > .swiper-wrapper {
  scroll-snap-type: y mandatory;
}

.swiper-css-mode.swiper-free-mode > .swiper-wrapper {
  scroll-snap-type: none;
}

.swiper-css-mode.swiper-free-mode > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: none;
}

.swiper-css-mode.swiper-centered > .swiper-wrapper::before {
  content: "";
  flex-shrink: 0;
  order: 9999;
}

.swiper-css-mode.swiper-centered > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: center center;
  scroll-snap-stop: always;
}

.swiper-css-mode.swiper-centered.swiper-horizontal > .swiper-wrapper > .swiper-slide:first-child {
  margin-inline-start: var(--swiper-centered-offset-before);
}

.swiper-css-mode.swiper-centered.swiper-horizontal > .swiper-wrapper::before {
  height: 100%;
  min-height: 1px;
  width: var(--swiper-centered-offset-after);
}

.swiper-css-mode.swiper-centered.swiper-vertical > .swiper-wrapper > .swiper-slide:first-child {
  margin-block-start: var(--swiper-centered-offset-before);
}

.swiper-css-mode.swiper-centered.swiper-vertical > .swiper-wrapper::before {
  width: 100%;
  min-width: 1px;
  height: var(--swiper-centered-offset-after);
}

/* Slide styles start */
/* 3D Shadows */
.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top,
.swiper-3d .swiper-slide-shadow-bottom,
.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top,
.swiper-3d .swiper-slide-shadow-bottom {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 10;
}

.swiper-3d .swiper-slide-shadow {
  background: rgba(0, 0, 0, 0.15);
}

.swiper-3d .swiper-slide-shadow-left {
  background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-3d .swiper-slide-shadow-right {
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-3d .swiper-slide-shadow-top {
  background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-3d .swiper-slide-shadow-bottom {
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-lazy-preloader {
  width: 42px;
  height: 42px;
  position: absolute;
  left: 50%;
  top: 50%;
  margin-left: -21px;
  margin-top: -21px;
  z-index: 10;
  transform-origin: 50%;
  box-sizing: border-box;
  border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
  border-radius: 50%;
  border-top-color: transparent;
}

.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader,
.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader {
  animation: swiper-preloader-spin 1s infinite linear;
}

.swiper-lazy-preloader-white {
  --swiper-preloader-color: #fff;
}

.swiper-lazy-preloader-black {
  --swiper-preloader-color: #000;
}

@keyframes swiper-preloader-spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
/* Slide styles end */
.swiper-virtual .swiper-slide {
  -webkit-backface-visibility: hidden;
  transform: translateZ(0);
}

.swiper-virtual.swiper-css-mode .swiper-wrapper::after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
}

.swiper-virtual.swiper-css-mode.swiper-horizontal .swiper-wrapper::after {
  height: 1px;
  width: var(--swiper-virtual-size);
}

.swiper-virtual.swiper-css-mode.swiper-vertical .swiper-wrapper::after {
  width: 1px;
  height: var(--swiper-virtual-size);
}

:root {
  --swiper-navigation-size: 44px;
  /*
  --swiper-navigation-top-offset: 50%;
  --swiper-navigation-sides-offset: 10px;
  --swiper-navigation-color: var(--swiper-theme-color);
  */
}

.swiper-button-prev,
.swiper-button-next {
  position: absolute;
  top: var(--swiper-navigation-top-offset, 50%);
  width: calc(var(--swiper-navigation-size) / 44 * 27);
  height: var(--swiper-navigation-size);
  margin-top: calc(0px - var(--swiper-navigation-size) / 2);
  z-index: 10;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--swiper-navigation-color, var(--swiper-theme-color));
}

.swiper-button-prev.swiper-button-disabled,
.swiper-button-next.swiper-button-disabled {
  opacity: 0.35;
  cursor: auto;
  pointer-events: none;
}

.swiper-button-prev.swiper-button-hidden,
.swiper-button-next.swiper-button-hidden {
  opacity: 0;
  cursor: auto;
  pointer-events: none;
}

.swiper-navigation-disabled .swiper-button-prev,
.swiper-navigation-disabled .swiper-button-next {
  display: none !important;
}

.swiper-button-prev svg,
.swiper-button-next svg {
  width: 100%;
  height: 100%;
  object-fit: contain;
  transform-origin: center;
}

.swiper-rtl .swiper-button-prev svg,
.swiper-rtl .swiper-button-next svg {
  transform: rotate(180deg);
}

.swiper-button-prev,
.swiper-rtl .swiper-button-next {
  left: var(--swiper-navigation-sides-offset, 10px);
  right: auto;
}

.swiper-button-next,
.swiper-rtl .swiper-button-prev {
  right: var(--swiper-navigation-sides-offset, 10px);
  left: auto;
}

.swiper-button-lock {
  display: none;
}

/* Navigation font start */
.swiper-button-prev:after,
.swiper-button-next:after {
  font-family: swiper-icons;
  font-size: var(--swiper-navigation-size);
  text-transform: none !important;
  letter-spacing: 0;
  font-variant: initial;
  line-height: 1;
}

.swiper-button-prev:after,
.swiper-rtl .swiper-button-next:after {
  content: "prev";
}

.swiper-button-next,
.swiper-rtl .swiper-button-prev {
  right: var(--swiper-navigation-sides-offset, 10px);
  left: auto;
}

.swiper-button-next:after,
.swiper-rtl .swiper-button-prev:after {
  content: "next";
}

/* Navigation font end */
:root {
  /*
  --swiper-pagination-color: var(--swiper-theme-color);
  --swiper-pagination-left: auto;
  --swiper-pagination-right: 8px;
  --swiper-pagination-bottom: 8px;
  --swiper-pagination-top: auto;
  --swiper-pagination-fraction-color: inherit;
  --swiper-pagination-progressbar-bg-color: rgba(0,0,0,0.25);
  --swiper-pagination-progressbar-size: 4px;
  --swiper-pagination-bullet-size: 8px;
  --swiper-pagination-bullet-width: 8px;
  --swiper-pagination-bullet-height: 8px;
  --swiper-pagination-bullet-border-radius: 50%;
  --swiper-pagination-bullet-inactive-color: #000;
  --swiper-pagination-bullet-inactive-opacity: 0.2;
  --swiper-pagination-bullet-opacity: 1;
  --swiper-pagination-bullet-horizontal-gap: 4px;
  --swiper-pagination-bullet-vertical-gap: 6px;
  */
}

.swiper-pagination {
  position: absolute;
  text-align: center;
  transition: 300ms opacity;
  transform: translate3d(0, 0, 0);
  z-index: 10;
}

.swiper-pagination.swiper-pagination-hidden {
  opacity: 0;
}

.swiper-pagination-disabled > .swiper-pagination,
.swiper-pagination.swiper-pagination-disabled {
  display: none !important;
}

/* Common Styles */
.swiper-pagination-fraction,
.swiper-pagination-custom,
.swiper-horizontal > .swiper-pagination-bullets,
.swiper-pagination-bullets.swiper-pagination-horizontal {
  bottom: var(--swiper-pagination-bottom, 8px);
  top: var(--swiper-pagination-top, auto);
  left: 0;
  width: 100%;
}

/* Bullets */
.swiper-pagination-bullets-dynamic {
  overflow: hidden;
  font-size: 0;
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transform: scale(0.33);
  position: relative;
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active {
  transform: scale(1);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main {
  transform: scale(1);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev {
  transform: scale(0.66);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev {
  transform: scale(0.33);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next {
  transform: scale(0.66);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next {
  transform: scale(0.33);
}

.swiper-pagination-bullet {
  width: var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size, 8px));
  height: var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size, 8px));
  display: inline-block;
  border-radius: var(--swiper-pagination-bullet-border-radius, 50%);
  background: var(--swiper-pagination-bullet-inactive-color, #000);
  opacity: var(--swiper-pagination-bullet-inactive-opacity, 0.2);
}

button.swiper-pagination-bullet {
  border: none;
  margin: 0;
  padding: 0;
  box-shadow: none;
  -webkit-appearance: none;
  appearance: none;
}

.swiper-pagination-clickable .swiper-pagination-bullet {
  cursor: pointer;
}

.swiper-pagination-bullet:only-child {
  display: none !important;
}

.swiper-pagination-bullet-active {
  opacity: var(--swiper-pagination-bullet-opacity, 1);
  background: var(--swiper-pagination-color, var(--swiper-theme-color));
}

.swiper-vertical > .swiper-pagination-bullets,
.swiper-pagination-vertical.swiper-pagination-bullets {
  right: var(--swiper-pagination-right, 8px);
  left: var(--swiper-pagination-left, auto);
  top: 50%;
  transform: translate3d(0px, -50%, 0);
}

.swiper-vertical > .swiper-pagination-bullets .swiper-pagination-bullet,
.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet {
  margin: var(--swiper-pagination-bullet-vertical-gap, 6px) 0;
  display: block;
}

.swiper-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic,
.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  top: 50%;
  transform: translateY(-50%);
  width: 8px;
}

.swiper-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,
.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  display: inline-block;
  transition: 200ms transform, 200ms top;
}

.swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet,
.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 0 var(--swiper-pagination-bullet-horizontal-gap, 4px);
}

.swiper-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic,
.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  left: 50%;
  transform: translateX(-50%);
  white-space: nowrap;
}

.swiper-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,
.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transition: 200ms transform, 200ms left;
}

.swiper-horizontal.swiper-rtl > .swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transition: 200ms transform, 200ms right;
}

/* Fraction */
.swiper-pagination-fraction {
  color: var(--swiper-pagination-fraction-color, inherit);
}

/* Progress */
.swiper-pagination-progressbar {
  background: var(--swiper-pagination-progressbar-bg-color, rgba(0, 0, 0, 0.25));
  position: absolute;
}

.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  background: var(--swiper-pagination-color, var(--swiper-theme-color));
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  transform: scale(0);
  transform-origin: left top;
}

.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  transform-origin: right top;
}

.swiper-horizontal > .swiper-pagination-progressbar,
.swiper-pagination-progressbar.swiper-pagination-horizontal,
.swiper-vertical > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,
.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite {
  width: 100%;
  height: var(--swiper-pagination-progressbar-size, 4px);
  left: 0;
  top: 0;
}

.swiper-vertical > .swiper-pagination-progressbar,
.swiper-pagination-progressbar.swiper-pagination-vertical,
.swiper-horizontal > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,
.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite {
  width: var(--swiper-pagination-progressbar-size, 4px);
  height: 100%;
  left: 0;
  top: 0;
}

.swiper-pagination-lock {
  display: none;
}

:root {
  /*
  --swiper-scrollbar-border-radius: 10px;
  --swiper-scrollbar-top: auto;
  --swiper-scrollbar-bottom: 4px;
  --swiper-scrollbar-left: auto;
  --swiper-scrollbar-right: 4px;
  --swiper-scrollbar-sides-offset: 1%;
  --swiper-scrollbar-bg-color: rgba(0, 0, 0, 0.1);
  --swiper-scrollbar-drag-bg-color: rgba(0, 0, 0, 0.5);
  --swiper-scrollbar-size: 4px;
  */
}

.swiper-scrollbar {
  border-radius: var(--swiper-scrollbar-border-radius, 10px);
  position: relative;
  touch-action: none;
  background: var(--swiper-scrollbar-bg-color, rgba(0, 0, 0, 0.1));
}

.swiper-scrollbar-disabled > .swiper-scrollbar,
.swiper-scrollbar.swiper-scrollbar-disabled {
  display: none !important;
}

.swiper-horizontal > .swiper-scrollbar,
.swiper-scrollbar.swiper-scrollbar-horizontal {
  position: absolute;
  left: var(--swiper-scrollbar-sides-offset, 1%);
  bottom: var(--swiper-scrollbar-bottom, 4px);
  top: var(--swiper-scrollbar-top, auto);
  z-index: 50;
  height: var(--swiper-scrollbar-size, 4px);
  width: calc(100% - 2 * var(--swiper-scrollbar-sides-offset, 1%));
}

.swiper-vertical > .swiper-scrollbar,
.swiper-scrollbar.swiper-scrollbar-vertical {
  position: absolute;
  left: var(--swiper-scrollbar-left, auto);
  right: var(--swiper-scrollbar-right, 4px);
  top: var(--swiper-scrollbar-sides-offset, 1%);
  z-index: 50;
  width: var(--swiper-scrollbar-size, 4px);
  height: calc(100% - 2 * var(--swiper-scrollbar-sides-offset, 1%));
}

.swiper-scrollbar-drag {
  height: 100%;
  width: 100%;
  position: relative;
  background: var(--swiper-scrollbar-drag-bg-color, rgba(0, 0, 0, 0.5));
  border-radius: var(--swiper-scrollbar-border-radius, 10px);
  left: 0;
  top: 0;
}

.swiper-scrollbar-cursor-drag {
  cursor: move;
}

.swiper-scrollbar-lock {
  display: none;
}

/* Zoom container styles start */
.swiper-zoom-container {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
}

.swiper-zoom-container > img,
.swiper-zoom-container > svg,
.swiper-zoom-container > canvas {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}

/* Zoom container styles end */
.swiper-slide-zoomed {
  cursor: move;
  touch-action: none;
}

/* a11y */
.swiper .swiper-notification {
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
  opacity: 0;
  z-index: -1000;
}

.swiper-free-mode > .swiper-wrapper {
  transition-timing-function: ease-out;
  margin: 0 auto;
}

.swiper-grid > .swiper-wrapper {
  flex-wrap: wrap;
}

.swiper-grid-column > .swiper-wrapper {
  flex-wrap: wrap;
  flex-direction: column;
}

.swiper-fade.swiper-free-mode .swiper-slide {
  transition-timing-function: ease-out;
}

.swiper-fade .swiper-slide {
  pointer-events: none;
  transition-property: opacity;
}

.swiper-fade .swiper-slide .swiper-slide {
  pointer-events: none;
}

.swiper-fade .swiper-slide-active {
  pointer-events: auto;
}

.swiper-fade .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}

.swiper.swiper-cube {
  overflow: visible;
}

.swiper-cube .swiper-slide {
  pointer-events: none;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  z-index: 1;
  visibility: hidden;
  transform-origin: 0 0;
  width: 100%;
  height: 100%;
}

.swiper-cube .swiper-slide .swiper-slide {
  pointer-events: none;
}

.swiper-cube.swiper-rtl .swiper-slide {
  transform-origin: 100% 0;
}

.swiper-cube .swiper-slide-active,
.swiper-cube .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}

.swiper-cube .swiper-slide-active,
.swiper-cube .swiper-slide-next,
.swiper-cube .swiper-slide-prev {
  pointer-events: auto;
  visibility: visible;
}

.swiper-cube .swiper-cube-shadow {
  position: absolute;
  left: 0;
  bottom: 0px;
  width: 100%;
  height: 100%;
  opacity: 0.6;
  z-index: 0;
}

.swiper-cube .swiper-cube-shadow:before {
  content: "";
  background: #000;
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  right: 0;
  filter: blur(50px);
}

.swiper-cube .swiper-slide-next + .swiper-slide {
  pointer-events: auto;
  visibility: visible;
}

/* Cube slide shadows start */
.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-top,
.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-bottom,
.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-left,
.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-right {
  z-index: 0;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

/* Cube slide shadows end */
.swiper.swiper-flip {
  overflow: visible;
}

.swiper-flip .swiper-slide {
  pointer-events: none;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  z-index: 1;
}

.swiper-flip .swiper-slide .swiper-slide {
  pointer-events: none;
}

.swiper-flip .swiper-slide-active,
.swiper-flip .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}

/* Flip slide shadows start */
.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-top,
.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-bottom,
.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-left,
.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-right {
  z-index: 0;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

/* Flip slide shadows end */
.swiper-creative .swiper-slide {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  overflow: hidden;
  transition-property: transform, opacity, height;
}

.swiper.swiper-cards {
  overflow: visible;
}

.swiper-cards .swiper-slide {
  transform-origin: center bottom;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  overflow: hidden;
}

.section-intro {
  z-index: 1;
  padding-top: var(--padding);
  padding-bottom: var(--padding);
  background-color: #F3F8F3;
}
.section-intro.central {
  text-align: center;
}
.section-intro h2 {
  margin-bottom: 2rem;
}
.section-intro .copy a:not(.cta) {
  text-decoration: underline;
  transition: text-decoration-color 0.3s;
  text-underline-offset: 0.3ch;
}
.section-intro .copy a:not(.cta):hover {
  text-decoration-color: transparent;
}
.section-intro .copy ul {
  margin-bottom: 1rem;
  margin-left: 3ch;
  list-style: none;
}
.section-intro .copy ul li::before {
  content: "";
  position: absolute;
  background-image: url(https://www.virtualoffice-london.co.uk/wp-content/themes/virtually-2025/css/../images/svg/tick.svg);
  display: inline-block;
  background-position: center;
  background-size: auto 1.2ch;
  background-repeat: no-repeat;
  width: 3ch;
  height: 1.6ch;
  color: #6AE79D;
  top: 0.5ch;
  left: -3.5ch;
}
.section-intro .copy ul > li {
  font-weight: bold;
  margin-bottom: 0.7em;
  position: relative;
}
.section-intro .copy ul > li:last-of-type {
  margin-bottom: 0;
}
.section-intro .copy ol {
  counter-reset: item;
  margin-left: 20px;
  margin-bottom: var(--mb);
}
.section-intro .copy ol li {
  list-style: none;
}
.section-intro .copy ol > li:before {
  position: absolute;
  content: counters(item, ".") ". ";
  counter-increment: item;
  left: -20px;
}
.section-intro .copy ol > li {
  margin-bottom: 0.7em;
  position: relative;
}
.section-intro .copy ol > li > ol > li > ol > li {
  padding-left: 50px;
}
.section-intro .copy ol > li:last-of-type {
  margin-bottom: 0;
}
.section-intro .copy ol li ul {
  margin-top: 0.5em;
}
.section-intro .copy h3, .section-intro .copy h4 {
  margin-bottom: 1rem;
}
.section-intro .copy * + p:has(strong),
.section-intro .copy * + p:has(.cta),
.section-intro .copy * + .cta {
  margin-top: 2rem;
}
.section-intro .copy table {
  width: 150%;
  max-width: calc(100vw - 2 * var(--outer));
  overflow: scroll;
  font-size: 1rem;
  line-height: 1.4;
  margin-bottom: 2rem;
}
.section-intro .copy table thead {
  background-color: #475565;
  color: #ffffff;
}
.section-intro .copy table td, .section-intro .copy table th {
  padding: 0.5rem 0.5rem;
  border: 1px solid #DEDEDE;
}
.section-intro .copy table ul {
  list-style: disc;
}
.section-intro .copy table ul > li::before {
  display: none;
}
.section-intro .copy table ul > li {
  display: list-item;
  font-weight: normal;
}
@media (max-width: 519px) {
  .section-intro .copy table {
    font-size: 0.6875rem;
    line-height: 1.4;
  }
}
.section-intro .illy {
  position: absolute;
  top: -2rem;
  right: var(--outer);
  width: 39%;
  height: 100%;
  max-height: 600px;
}
.section-intro .illy img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
@media (max-width: 520px) {
  .section-intro.has-tile.bg-white {
    padding-bottom: 100px;
  }
  .section-intro .plan-tile .tile-caveat {
    padding: 10px 20px;
  }
  .section-intro .illy {
    display: none;
  }
  .section-intro .plan-tile {
    width: calc(100% + 20px);
    margin-left: 0px !important;
  }
}
@media (max-width: 678px) {
  .section-intro .illy {
    display: none;
  }
  .section-intro .call-us {
    display: none;
  }
}
@media (min-width: 520px) and (max-width: 1000px) {
  .section-intro .plan-tile {
    max-width: 350px;
    width: 100%;
    margin-left: auto !important;
    margin-left: auto;
    margin-right: auto;
  }
  .section-intro .plan-tile .cta {
    max-width: inherit;
  }
  .section-intro .tile-caveat {
    max-width: 350px;
  }
}
@media (min-width: 678px) {
  .section-intro .copy {
    width: 55%;
  }
  .section-intro .tile-holder {
    width: 42%;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    flex-direction: column;
  }
  .section-intro .tile-caveat {
    max-width: 350px;
  }
  .section-intro .plan-tile {
    position: relative;
    max-width: 350px;
    width: 100%;
    top: 0px;
    right: 0;
    box-shadow: 0px 3px 16px 0px rgba(0, 0, 0, 0.4);
  }
  .section-intro .plan-tile h3 {
    font-size: clamp(1.5rem, 1.875vw + 0rem, 3.375rem);
  }
  .section-intro .plan-tile .cta {
    display: none;
  }
  .section-intro.central h2 {
    width: 70%;
    margin-left: auto;
    margin-right: auto;
  }
  .section-intro.central .copy {
    width: 70%;
    margin-left: auto;
    margin-right: auto;
  }
}
@media (min-width: 1440px) {
  .section-intro .copy {
    width: 48%;
  }
}
@media (min-width: 2000px) {
  .section-intro .plan-tile {
    position: relative;
    max-width: inherit;
    width: auto;
    padding-left: 5%;
    padding-right: 5%;
  }
  .section-intro .tile-caveat {
    max-width: 450px;
  }
}

.section-intro.has-tile {
  /*   .plan-tile{
          //width:100%;
          .price-toggle{
            transform: translateY(-15px);
            margin-bottom: 0;
            .toggle-wrapper{
              height: 30px;
              width:70px;
            }
            .toggle-button{
              width:22px;
              height: 22px;
            }
            .label{
              @include smallfont;
            }
          }
          .price{
            margin-bottom: calc(.5 * var(--mb));
          }
          .cta{
            margin-top: 5px;
          }
        }
      .tile-holder{

        width:100%;
        display: flex;
        align-items: center;
        justify-content: center;
        position: relative;
        flex-direction: column;
  // } */
}
.section-intro.has-tile .intro-kicker svg {
  height: 2ch;
  width: auto;
}
.section-intro.has-tile h2 {
  margin-bottom: 1rem;
  font-family: "Source Sans Pro", sans-serif;
}
.section-intro.has-tile h2 hr {
  margin-top: calc(-1 * 1rem);
}
.section-intro.has-tile .tile-caveat {
  font-size: 0.6875rem;
  line-height: 1.4;
  text-align: center;
  background-color: rgba(255, 255, 255, 0.9);
  width: 100%;
  padding: 10px 15px;
  margin-top: 10px;
}
.section-intro.has-tile .tile-caveat p {
  margin-bottom: 5px;
}
.section-intro.has-tile .tile-caveat > :last-child {
  margin-bottom: 0;
}
@media (min-width: 678px) {
  .section-intro.has-tile .content {
    display: flex;
    justify-content: space-between;
  }
  .section-intro.has-tile .content .copy {
    margin-left: 0%;
    width: 65%;
  }
  .section-intro.has-tile .content .buy-buttons {
    width: 30%;
  }
  .section-intro.has-tile .content .buy-buttons .cta {
    min-width: inherit;
    width: 100%;
  }
  .section-intro.has-tile .tile-caveat {
    text-align: left;
  }
}
@media (min-width: 1000px) {
  .section-intro.has-tile .image {
    width: 26%;
    left: var(--outer);
    top: 0;
    right: auto;
    margin-top: 0;
  }
  .section-intro.has-tile .image img {
    transform: none;
    left: 0;
    width: 100%;
    object-fit: contain;
  }
  .section-intro.has-tile .content {
    display: flex;
    justify-content: space-between;
  }
  .section-intro.has-tile .content .copy {
    margin-left: 35%;
    width: 42%;
    margin-right: 6%;
  }
  .section-intro.has-tile .content .buy-buttons {
    width: 25%;
  }
}
@media (max-width: 1000px) {
  .section-intro.has-tile .illy {
    display: none;
  }
  .section-intro.has-tile .call-us {
    display: none;
  }
}

.section--form {
  padding-top: var(--padding);
  padding-bottom: var(--padding);
}

.section-text-image {
  position: relative;
  display: flex;
  align-items: center;
  padding-top: var(--padding);
  padding-bottom: var(--padding);
  min-height: 28vw;
}
.section-text-image h2 {
  margin-bottom: 2rem;
}
.section-text-image h2 + .intro {
  margin-top: -1rem;
}
.section-text-image .intro {
  margin-bottom: var(--mb);
  font-size: 2rem;
  line-height: 1.2;
}
@media (max-width: 519px) {
  .section-text-image .intro {
    font-size: 1.625rem;
    line-height: 1.2;
  }
}
.section-text-image .content {
  z-index: 1;
  display: flex;
  flex-direction: column;
  position: relative;
}
.section-text-image .video-holder, .section-text-image .image, .section-text-image .audio-holder {
  width: 100%;
}
.section-text-image .video-holder .video-poster, .section-text-image .image .video-poster, .section-text-image .audio-holder .video-poster {
  position: absolute;
}
.section-text-image .content > .image {
  overflow: hidden;
  position: relative;
  border-radius: var(--border-radius);
  overflow: visible;
  width: 95%;
  margin-bottom: 2rem;
}
.section-text-image .content > .image img {
  z-index: 1;
  border-radius: var(--border-radius);
}
.section-text-image .content > .image::after {
  position: absolute;
  content: "";
  width: 100%;
  top: 6%;
  left: 4%;
  height: 100%;
  background-color: #6AE79D;
  border-radius: var(--border-radius);
}
.section-text-image .content > .image img {
  object-fit: cover;
  aspect-ratio: 1.6;
}
.section-text-image .copy {
  display: flex;
  flex-direction: column;
}
.section-text-image .copy a:not(.cta) {
  text-decoration: underline;
  transition: text-decoration-color 0.3s;
  text-underline-offset: 0.3ch;
}
.section-text-image .copy a:not(.cta):hover {
  text-decoration-color: transparent;
}
.section-text-image .copy ul {
  margin-bottom: 1rem;
  margin-left: 3ch;
  list-style: none;
}
.section-text-image .copy ul li::before {
  content: "";
  position: absolute;
  background-image: url(https://www.virtualoffice-london.co.uk/wp-content/themes/virtually-2025/css/../images/svg/tick.svg);
  display: inline-block;
  background-position: center;
  background-size: auto 1.2ch;
  background-repeat: no-repeat;
  width: 3ch;
  height: 1.6ch;
  color: #6AE79D;
  top: 0.5ch;
  left: -3.5ch;
}
.section-text-image .copy ul > li {
  font-weight: bold;
  margin-bottom: 0.7em;
  position: relative;
}
.section-text-image .copy ul > li:last-of-type {
  margin-bottom: 0;
}
.section-text-image .copy ol {
  counter-reset: item;
  margin-left: 20px;
  margin-bottom: var(--mb);
}
.section-text-image .copy ol li {
  list-style: none;
}
.section-text-image .copy ol > li:before {
  position: absolute;
  content: counters(item, ".") ". ";
  counter-increment: item;
  left: -20px;
}
.section-text-image .copy ol > li {
  margin-bottom: 0.7em;
  position: relative;
}
.section-text-image .copy ol > li > ol > li > ol > li {
  padding-left: 50px;
}
.section-text-image .copy ol > li:last-of-type {
  margin-bottom: 0;
}
.section-text-image .copy ol li ul {
  margin-top: 0.5em;
}
.section-text-image .copy h3, .section-text-image .copy h4 {
  margin-bottom: 1rem;
}
.section-text-image .copy * + p:has(strong),
.section-text-image .copy * + p:has(.cta),
.section-text-image .copy * + .cta {
  margin-top: 2rem;
}
.section-text-image .copy table {
  width: 150%;
  max-width: calc(100vw - 2 * var(--outer));
  overflow: scroll;
  font-size: 1rem;
  line-height: 1.4;
  margin-bottom: 2rem;
}
.section-text-image .copy table thead {
  background-color: #475565;
  color: #ffffff;
}
.section-text-image .copy table td, .section-text-image .copy table th {
  padding: 0.5rem 0.5rem;
  border: 1px solid #DEDEDE;
}
.section-text-image .copy table ul {
  list-style: disc;
}
.section-text-image .copy table ul > li::before {
  display: none;
}
.section-text-image .copy table ul > li {
  display: list-item;
  font-weight: normal;
}
@media (max-width: 519px) {
  .section-text-image .copy table {
    font-size: 0.6875rem;
    line-height: 1.4;
  }
}
@media (max-width: 677px) {
  .section-text-image {
    display: block;
  }
  .section-text-image div + div {
    margin-top: 3rem;
  }
  .section-text-image .illy {
    width: 100%;
    position: relative;
  }
  .section-text-image .illy:after {
    content: "";
    display: block;
    padding-top: 80%;
    width: 0;
    float: left;
    position: relative;
  }
}
@media (max-width: 999px) {
  .section-text-image .content {
    row-gap: 2rem;
  }
  .section-text-image .content > .image {
    max-width: 700px;
  }
}
@media (min-width: 1000px) {
  .section-text-image .copy {
    width: 45%;
  }
  .section-text-image .copy > :last-child {
    margin-bottom: 0;
  }
  .section-text-image .content {
    align-items: center;
    justify-content: space-between;
    flex-direction: row;
  }
  .section-text-image .video-holder, .section-text-image .audio-holder {
    width: 48%;
  }
  .section-text-image .content > .image {
    width: 48%;
    margin-top: -2rem;
    margin-bottom: 2rem;
  }
  .section-text-image .illy {
    width: 50%;
    height: 100%;
    max-width: calc(var(--max-width)/2);
    position: absolute;
    z-index: 3;
  }
  .section-text-image .illy .image {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
  }
  .section-text-image .illy.top .image {
    top: 0%;
    transform: translateY(0%);
  }
  .section-text-image .illy:not(.bottom) .image {
    height: 106%;
  }
  .section-text-image .illy img {
    width: 100%;
    height: 100%;
    object-fit: contain;
  }
  .section-text-image .illy.bottom img {
    object-position: center bottom;
  }
  .section-text-image.align-right .illy {
    left: var(--outer);
  }
  .section-text-image.align-right .content {
    flex-direction: row-reverse;
  }
  .section-text-image.align-left .illy {
    right: var(--outer);
  }
}
@media (min-width: 1660px) {
  .section-text-image.align-left .illy {
    right: calc(50vw - var(--max-width) / 2);
  }
  .section-text-image.align-right .illy {
    left: calc(50vw - var(--max-width) / 2);
  }
}

.section-text-illustration {
  position: relative;
  display: flex;
  align-items: center;
  padding-top: var(--padding);
  padding-bottom: var(--padding);
}
.section-text-illustration h2 br {
  display: none;
}
.section-text-illustration .intro {
  font-weight: 600;
  margin-bottom: var(--mb);
}
.section-text-illustration h2 {
  margin-bottom: 2rem;
}
.section-text-illustration .content {
  display: flex;
  flex-direction: column;
  background-color: #F3F8F3;
  z-index: 1;
  height: 100%;
  padding: var(--padding) min(4%, 5rem);
}
.section-text-illustration .content a:not(.cta) {
  text-decoration: underline;
  transition: text-decoration-color 0.3s;
  text-underline-offset: 0.3ch;
}
.section-text-illustration .content a:not(.cta):hover {
  text-decoration-color: transparent;
}
.section-text-illustration .content ul {
  margin-bottom: 1rem;
  margin-left: 3ch;
  list-style: none;
}
.section-text-illustration .content ul li::before {
  content: "";
  position: absolute;
  background-image: url(https://www.virtualoffice-london.co.uk/wp-content/themes/virtually-2025/css/../images/svg/tick.svg);
  display: inline-block;
  background-position: center;
  background-size: auto 1.2ch;
  background-repeat: no-repeat;
  width: 3ch;
  height: 1.6ch;
  color: #6AE79D;
  top: 0.5ch;
  left: -3.5ch;
}
.section-text-illustration .content ul > li {
  font-weight: bold;
  margin-bottom: 0.7em;
  position: relative;
}
.section-text-illustration .content ul > li:last-of-type {
  margin-bottom: 0;
}
.section-text-illustration .content ol {
  counter-reset: item;
  margin-left: 20px;
  margin-bottom: var(--mb);
}
.section-text-illustration .content ol li {
  list-style: none;
}
.section-text-illustration .content ol > li:before {
  position: absolute;
  content: counters(item, ".") ". ";
  counter-increment: item;
  left: -20px;
}
.section-text-illustration .content ol > li {
  margin-bottom: 0.7em;
  position: relative;
}
.section-text-illustration .content ol > li > ol > li > ol > li {
  padding-left: 50px;
}
.section-text-illustration .content ol > li:last-of-type {
  margin-bottom: 0;
}
.section-text-illustration .content ol li ul {
  margin-top: 0.5em;
}
.section-text-illustration .content h3, .section-text-illustration .content h4 {
  margin-bottom: 1rem;
}
.section-text-illustration .content * + p:has(strong),
.section-text-illustration .content * + p:has(.cta),
.section-text-illustration .content * + .cta {
  margin-top: 2rem;
}
.section-text-illustration .content table {
  width: 150%;
  max-width: calc(100vw - 2 * var(--outer));
  overflow: scroll;
  font-size: 1rem;
  line-height: 1.4;
  margin-bottom: 2rem;
}
.section-text-illustration .content table thead {
  background-color: #475565;
  color: #ffffff;
}
.section-text-illustration .content table td, .section-text-illustration .content table th {
  padding: 0.5rem 0.5rem;
  border: 1px solid #DEDEDE;
}
.section-text-illustration .content table ul {
  list-style: disc;
}
.section-text-illustration .content table ul > li::before {
  display: none;
}
.section-text-illustration .content table ul > li {
  display: list-item;
  font-weight: normal;
}
@media (max-width: 519px) {
  .section-text-illustration .content table {
    font-size: 0.6875rem;
    line-height: 1.4;
  }
}
.section-text-illustration br + .cta {
  margin-top: var(--mb);
}
.section-text-illustration .text {
  max-width: var(--text-maxwidth-half);
}
.section-text-illustration .copy a:not(.cta) {
  text-decoration: underline;
  transition: text-decoration-color 0.3s;
  text-underline-offset: 0.3ch;
}
.section-text-illustration .copy a:not(.cta):hover {
  text-decoration-color: transparent;
}
.section-text-illustration .copy ul {
  margin-bottom: 1rem;
  margin-left: 3ch;
  list-style: none;
}
.section-text-illustration .copy ul li::before {
  content: "";
  position: absolute;
  background-image: url(https://www.virtualoffice-london.co.uk/wp-content/themes/virtually-2025/css/../images/svg/tick.svg);
  display: inline-block;
  background-position: center;
  background-size: auto 1.2ch;
  background-repeat: no-repeat;
  width: 3ch;
  height: 1.6ch;
  color: #6AE79D;
  top: 0.5ch;
  left: -3.5ch;
}
.section-text-illustration .copy ul > li {
  font-weight: bold;
  margin-bottom: 0.7em;
  position: relative;
}
.section-text-illustration .copy ul > li:last-of-type {
  margin-bottom: 0;
}
.section-text-illustration .copy ol {
  counter-reset: item;
  margin-left: 20px;
  margin-bottom: var(--mb);
}
.section-text-illustration .copy ol li {
  list-style: none;
}
.section-text-illustration .copy ol > li:before {
  position: absolute;
  content: counters(item, ".") ". ";
  counter-increment: item;
  left: -20px;
}
.section-text-illustration .copy ol > li {
  margin-bottom: 0.7em;
  position: relative;
}
.section-text-illustration .copy ol > li > ol > li > ol > li {
  padding-left: 50px;
}
.section-text-illustration .copy ol > li:last-of-type {
  margin-bottom: 0;
}
.section-text-illustration .copy ol li ul {
  margin-top: 0.5em;
}
.section-text-illustration .copy h3, .section-text-illustration .copy h4 {
  margin-bottom: 1rem;
}
.section-text-illustration .copy * + p:has(strong),
.section-text-illustration .copy * + p:has(.cta),
.section-text-illustration .copy * + .cta {
  margin-top: 2rem;
}
.section-text-illustration .copy table {
  width: 150%;
  max-width: calc(100vw - 2 * var(--outer));
  overflow: scroll;
  font-size: 1rem;
  line-height: 1.4;
  margin-bottom: 2rem;
}
.section-text-illustration .copy table thead {
  background-color: #475565;
  color: #ffffff;
}
.section-text-illustration .copy table td, .section-text-illustration .copy table th {
  padding: 0.5rem 0.5rem;
  border: 1px solid #DEDEDE;
}
.section-text-illustration .copy table ul {
  list-style: disc;
}
.section-text-illustration .copy table ul > li::before {
  display: none;
}
.section-text-illustration .copy table ul > li {
  display: list-item;
  font-weight: normal;
}
@media (max-width: 519px) {
  .section-text-illustration .copy table {
    font-size: 0.6875rem;
    line-height: 1.4;
  }
}
.section-text-illustration .illy-holder {
  z-index: 2;
  width: 100%;
}
.section-text-illustration .illy-holder .illy {
  width: 100%;
  height: 100%;
  max-width: var(--max-width);
  margin-left: auto;
  margin-right: auto;
  display: flex;
  position: relative;
}
.section-text-illustration .illy-holder .image {
  width: 100%;
  height: 100%;
}
.section-text-illustration .illy-holder img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
@media (max-width: 677px) {
  .section-text-illustration {
    display: flex;
    flex-direction: column;
    padding-bottom: 0;
  }
  .section-text-illustration .illy-holder {
    width: 100%;
    position: relative;
    background-color: #F3F8F3;
  }
  .section-text-illustration .illy-holder .illy {
    max-width: 380px;
  }
  .section-text-illustration .illy-holder .image img {
    max-height: 50vw;
    object-position: center;
  }
  .section-text-illustration .illy-holder .bottom .image {
    padding-bottom: 0;
  }
  .section-text-illustration .illy-holder .bottom .image img {
    object-position: center;
  }
}
@media (min-width: 678px) {
  .section-text-illustration .copy {
    width: 49%;
  }
  .section-text-illustration .content {
    align-items: center;
    justify-content: space-between;
    flex-direction: row;
    min-height: min(20vw, 1000px);
  }
  .section-text-illustration.right .content {
    flex-direction: row-reverse;
  }
  .section-text-illustration .illy-holder {
    position: absolute;
    padding-left: var(--outer);
    padding-right: var(--outer);
    left: 0;
    top: 0%;
    width: 100%;
    height: 100%;
    pointer-events: none;
  }
  .section-text-illustration .illy-holder .image {
    width: 50%;
  }
  .section-text-illustration .illy-holder .image img {
    padding-top: 5%;
    padding-bottom: 5%;
    object-position: center;
  }
  .section-text-illustration .illy-holder .bottom {
    top: auto;
    bottom: 0;
  }
  .section-text-illustration .illy-holder .bottom .image img {
    object-position: center bottom;
    padding-bottom: var(--padding);
  }
  .section-text-illustration.left .illy-holder .illy {
    justify-content: flex-end;
  }
}

.section-text {
  position: relative;
  display: flex;
  align-items: center;
  padding-top: var(--padding);
  padding-bottom: var(--padding);
}
.section-text h2 br {
  display: none;
}
.section-text h2 {
  margin-bottom: 1rem;
  font-weight: 600;
}
.section-text h3, .section-text h4, .section-text h5, .section-text h6 {
  margin-bottom: 1rem;
}
.section-text .copy {
  max-width: 900px;
}
.section-text .copy a:not(.cta) {
  text-decoration: underline;
  transition: text-decoration-color 0.3s;
  text-underline-offset: 0.3ch;
}
.section-text .copy a:not(.cta):hover {
  text-decoration-color: transparent;
}
.section-text .copy ul {
  margin-bottom: 1rem;
  margin-left: 3ch;
  list-style: none;
}
.section-text .copy ul li::before {
  content: "";
  position: absolute;
  background-image: url(https://www.virtualoffice-london.co.uk/wp-content/themes/virtually-2025/css/../images/svg/tick.svg);
  display: inline-block;
  background-position: center;
  background-size: auto 1.2ch;
  background-repeat: no-repeat;
  width: 3ch;
  height: 1.6ch;
  color: #6AE79D;
  top: 0.5ch;
  left: -3.5ch;
}
.section-text .copy ul > li {
  font-weight: bold;
  margin-bottom: 0.7em;
  position: relative;
}
.section-text .copy ul > li:last-of-type {
  margin-bottom: 0;
}
.section-text .copy ol {
  counter-reset: item;
  margin-left: 20px;
  margin-bottom: var(--mb);
}
.section-text .copy ol li {
  list-style: none;
}
.section-text .copy ol > li:before {
  position: absolute;
  content: counters(item, ".") ". ";
  counter-increment: item;
  left: -20px;
}
.section-text .copy ol > li {
  margin-bottom: 0.7em;
  position: relative;
}
.section-text .copy ol > li > ol > li > ol > li {
  padding-left: 50px;
}
.section-text .copy ol > li:last-of-type {
  margin-bottom: 0;
}
.section-text .copy ol li ul {
  margin-top: 0.5em;
}
.section-text .copy h3, .section-text .copy h4 {
  margin-bottom: 1rem;
}
.section-text .copy * + p:has(strong),
.section-text .copy * + p:has(.cta),
.section-text .copy * + .cta {
  margin-top: 2rem;
}
.section-text .copy table {
  width: 150%;
  max-width: calc(100vw - 2 * var(--outer));
  overflow: scroll;
  font-size: 1rem;
  line-height: 1.4;
  margin-bottom: 2rem;
}
.section-text .copy table thead {
  background-color: #475565;
  color: #ffffff;
}
.section-text .copy table td, .section-text .copy table th {
  padding: 0.5rem 0.5rem;
  border: 1px solid #DEDEDE;
}
.section-text .copy table ul {
  list-style: disc;
}
.section-text .copy table ul > li::before {
  display: none;
}
.section-text .copy table ul > li {
  display: list-item;
  font-weight: normal;
}
@media (max-width: 519px) {
  .section-text .copy table {
    font-size: 0.6875rem;
    line-height: 1.4;
  }
}
.section-text.align-centre .copy {
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}
.section-icons {
  padding-top: var(--padding);
  padding-bottom: var(--padding);
  position: relative;
  display: flex;
  align-items: center;
}
.section-icons h2 {
  text-align: center;
  margin-bottom: 1rem;
  font-size: 3rem;
  line-height: 1.1;
  font-weight: normal;
  text-wrap: balance;
}
@media (max-width: 519px) {
  .section-icons h2 {
    font-size: 2rem;
    line-height: 1.1;
  }
}
.section-icons p {
  text-align: center;
  font-size: 2rem;
  line-height: 1.2;
}
@media (max-width: 519px) {
  .section-icons p {
    font-size: 1.625rem;
    line-height: 1.2;
  }
}
.section-icons dl {
  display: flex;
  flex-wrap: wrap;
}
.section-icons dl div {
  position: relative;
  width: 49%;
  margin-right: 2%;
}
.section-icons dl div:nth-child(2n+2) {
  margin-right: 0;
}
.section-icons img {
  width: 100%;
  height: auto;
}
.section-icons dt {
  overflow: hidden;
  position: relative;
  width: 54%;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 20px;
}
.section-icons dt img {
  position: absolute;
  min-width: 100%;
  min-height: 100%;
  object-fit: cover;
  top: 50%;
  left: 50%;
  -ms-transform: translate(-50%, -50%); /* IE 9 */
  -webkit-transform: translate(-50%, -50%); /* Chrome, Safari, Opera */
  transform: translate(-50%, -50%);
}
.section-icons dt:after {
  content: "";
  display: block;
  padding-top: 100%;
  width: 0;
  float: left;
  position: relative;
}
.section-icons dd {
  text-align: center;
  font-size: clamp(1rem, 1.0416666667vw + 0rem, 1.75rem);
  line-height: 1.3;
}
.section-icons dd h3 {
  display: block;
  margin-bottom: 0.5rem;
  font-size: 1.5625rem;
  line-height: 1.4;
  text-transform: uppercase;
  font-weight: bold;
  text-wrap: balance;
  line-height: 1.2;
}
.section-icons.angled dl div::after {
  content: "";
  z-index: -1;
  background-color: var(--bg);
  position: absolute;
  width: 100%;
  padding-top: 100%;
  top: 0;
  left: 0;
  box-shadow: inset 0px 0px 0px 8px #DEDEDE;
  border-radius: 50%;
}
.section-icons.angled dt {
  width: 80%;
  margin-top: 10%;
  margin-bottom: calc(10% + 10px);
}
.section-icons.angled svg {
  width: 100%;
  height: auto;
}
.section-icons.angled svg path {
  fill: #6AE79D;
}
@media (max-width: 678px) {
  .section-icons dl div {
    margin-bottom: 10px;
  }
  .section-icons dd span {
    font-size: 0.875rem;
    line-height: 1.4;
  }
  .section-icons dd h3 {
    line-height: 1.1;
    font-family: "web-source", sans-serif;
    font-weight: normal;
    font-size: 1.25rem;
    line-height: 1.4;
    line-height: 1.3;
    text-wrap: pretty;
    font-weight: bold;
  }
  .section-icons .content {
    padding-bottom: 10vw;
  }
  .section-icons.angled dl div:nth-child(2), .section-icons.angled dl div:nth-child(4) {
    transform: translateY(20vw);
  }
}
@media (min-width: 678px) {
  .section-icons dl div {
    width: 22%;
  }
  .section-icons dl div:nth-child(n) {
    margin-right: 4%;
  }
  .section-icons dl div:nth-child(4n+4) {
    margin-right: 0;
  }
  .section-icons.angled dl div:nth-child(1) {
    margin-top: calc((1 - 1) * 8%);
  }
  .section-icons.angled dl div:nth-child(2) {
    margin-top: calc((2 - 1) * 8%);
  }
  .section-icons.angled dl div:nth-child(3) {
    margin-top: calc((3 - 1) * 8%);
  }
  .section-icons.angled dl div:nth-child(4) {
    margin-top: calc((4 - 1) * 8%);
  }
}
@media (min-width: 1440px) {
  .section-icons.angled dl div::after {
    box-shadow: inset 0px 0px 0px 11px #DEDEDE;
  }
  .section-icons dl div {
    width: 23%;
  }
  .section-icons dl div:nth-child(n) {
    margin-right: 2%;
  }
  .section-icons dl div:nth-child(4n+4) {
    margin-right: 0;
  }
  .section-icons dd span {
    margin-bottom: 12px;
  }
  .section-icons.angled dl div {
    width: 16%;
  }
  .section-icons.angled dl div:nth-child(n) {
    margin-right: 6.5%;
  }
  .section-icons.angled dl div:nth-child(1) {
    margin-left: 8%;
  }
}

.section-city-tiles {
  padding-top: var(--padding);
  padding-bottom: var(--padding);
}
.section-city-tiles ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 2%;
  row-gap: 5rem;
}
.section-city-tiles li a {
  position: relative;
  display: block;
}
.section-city-tiles .copy {
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}
.section-city-tiles .copy h2 {
  margin-bottom: 1rem;
  font-weight: bold;
  margin-left: auto;
  margin-right: auto;
}
.section-city-tiles .copy p {
  text-wrap: balance;
}
.section-city-tiles .image {
  overflow: hidden;
  border-radius: var(--border-radius);
  background-color: #DEDEDE;
}
.section-city-tiles .image img {
  aspect-ratio: 1.4;
  transition: transform 0.4s ease-out;
}
.section-city-tiles a:hover img {
  transform: scale(1.05);
}
.section-city-tiles .copy {
  margin-bottom: 4rem;
}
.section-city-tiles .text-panel {
  font-weight: 600;
  position: relative;
  line-height: 2rem;
  margin-top: 1rem;
  text-align: center;
  font-size: 1.5rem;
  line-height: 1.2;
}
@media (max-width: 519px) {
  .section-city-tiles .text-panel {
    font-size: 1.125rem;
    line-height: 1.2;
  }
}
.section-city-tiles .text-panel span {
  font-weight: normal;
  display: block;
}
.section-city-tiles .text-panel .rollover {
  display: none;
  background-color: #ffffff;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
}
.section-city-tiles .disabled {
  pointer-events: none;
  opacity: 0.6;
}
@media (min-width: 1440px) {
  .section-city-tiles .roundel {
    transform: translate(20%, -35%);
  }
}
@media (min-width: 678px) {
  .section-city-tiles ul li {
    width: 32%;
  }
}
@media (min-width: 1000px) {
  .section-city-tiles ul li {
    width: 23.5%;
  }
  .section-city-tiles.num-three ul li {
    width: 32%;
  }
}

/* -----------------------------------------------------------------------------------------------------------

												FAQS

------------------------------------------------------------------------------------------------------------- */
.section-faqs {
  padding-top: var(--padding);
  padding-bottom: var(--padding);
}
.section-faqs .content {
  z-index: 1;
}
.section-faqs h2 {
  font-weight: normal;
}
.section-faqs .image {
  position: absolute;
  height: auto;
  width: 26%;
  right: 0;
  top: 12rem;
  z-index: 2;
}
.section-faqs .cta {
  margin-top: 2rem;
}
@media (max-width: 1439px) {
  .section-faqs .image {
    display: none;
  }
}
@media (min-width: 1000px) {
  .section-faqs .concertina {
    width: 100%;
    min-width: 900px;
  }
}
@media (min-width: 1440px) {
  .section-faqs .concertina {
    width: 75%;
  }
}

.concertina {
  margin-top: 40px;
  text-align: left;
  z-index: 1;
  position: relative;
  z-index: 2;
}
.concertina article {
  overflow: hidden;
  position: relative;
  background-color: #ffffff;
  -webkit-transition: height 0.2s ease-out;
  -moz-transition: height 0.2s ease-out;
  -o-transition: height 0.2s ease-out;
  transition: height 0.2s ease-out;
  margin-bottom: 0.5rem;
}
.concertina article h3 {
  padding: 1rem 3rem 1rem 1.5rem;
  min-height: 70px;
  font-weight: normal;
  text-transform: none;
  margin-bottom: 0;
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  font-size: 1.5rem;
  line-height: 1.2;
}
@media (max-width: 519px) {
  .concertina article h3 {
    font-size: 1.125rem;
    line-height: 1.2;
  }
}
.concertina article h3 > :last-child {
  margin-bottom: 0;
}
.concertina article h3:after, .concertina article h3:before {
  content: "";
  line-height: 50px;
  width: 15px;
  height: 2px;
  text-align: center;
  display: block;
  position: absolute;
  top: calc(50% - 1px);
  transform-origin: center;
  background-color: #475565;
  transform-origin: center;
  transition: transform 0.3s;
  right: 10px;
}
.concertina article h3:after {
  -ms-transform: rotateZ(90deg); /* IE 9 */
  -webkit-transform: rotateZ(90deg); /* Chrome, Safari, Opera */
  transform: rotateZ(90deg);
}
.concertina article h3:hover, .concertina article h3:active {
  cursor: pointer;
  cursor: hand;
}
.concertina article .answer {
  position: absolute;
  -webkit-transition: transform 0.2s ease-in, opacity 0.2s;
  -moz-transition: transform 0.2s ease-in, opacity 0.2s;
  -o-transition: transform 0.2s ease-in, opacity 0.2s;
  transition: transform 0.2s ease-in, opacity 0.2s;
  width: 100%;
  padding: 0.5rem 4rem 2rem 1.5rem;
  opacity: 0;
  line-height: 1.5em;
}
.concertina article .answer > :last-child {
  margin-bottom: 0;
}
.concertina article .answer ul {
  margin-bottom: 1rem;
  margin-left: 20px;
  list-style: none;
}
.concertina article .answer ul li::before {
  content: "•";
  position: absolute;
  color: #475565;
  padding-right: 0.5em;
  left: -20px;
}
.concertina article .answer ul > li {
  margin-bottom: 0.7em;
  position: relative;
}
.concertina article .answer ul > li:last-of-type {
  margin-bottom: 0;
}
.concertina article .answer .buttons {
  margin-top: calc(3 * var(--mb));
}
.concertina article .answer .buttons p {
  margin-bottom: var(--mb);
}
.concertina article + h2 {
  margin-top: calc(2 * var(--mb));
}
.concertina article a {
  font-weight: normal;
  text-decoration: underline;
}
.concertina article a:hover {
  text-decoration: none;
}
.concertina article.open h3:after {
  -ms-transform: rotateZ(135deg); /* IE 9 */
  -webkit-transform: rotateZ(135deg); /* Chrome, Safari, Opera */
  transform: rotateZ(135deg);
}
.concertina article.open h3:before {
  -ms-transform: rotateZ(45deg); /* IE 9 */
  -webkit-transform: rotateZ(45deg); /* Chrome, Safari, Opera */
  transform: rotateZ(45deg);
}
.concertina article.open .answer {
  -ms-transform: translate3d(0, 0%, 0); /* IE 9 */
  -webkit-transform: translate3d(0, 0%, 0); /* Chrome, Safari, Opera */
  transform: translate3d(0, 0%, 0);
  -webkit-transition: transform 0.2s ease-out, opacity 0.5s;
  -moz-transition: transform 0.2s ease-out, opacity 0.5s;
  -o-transition: transform 0.2s ease-out, opacity 0.5s;
  transition: transform 0.2s ease-out, opacity 0.5s;
  opacity: 1;
}
.concertina .answer ul {
  margin-bottom: 1rem;
  margin-left: 20px;
  list-style: none;
}
.concertina .answer ul li::before {
  content: "•";
  position: absolute;
  color: #475565;
  padding-right: 0.5em;
  left: -20px;
}
.concertina .answer ul > li {
  margin-bottom: 0.7em;
  position: relative;
}
.concertina .answer ul > li:last-of-type {
  margin-bottom: 0;
}
.concertina .answer ol {
  counter-reset: item;
  margin-left: 20px;
  margin-bottom: var(--mb);
}
.concertina .answer ol li {
  list-style: none;
}
.concertina .answer ol > li:before {
  position: absolute;
  content: counters(item, ".") ". ";
  counter-increment: item;
  left: -20px;
}
.concertina .answer ol > li {
  margin-bottom: 0.7em;
  position: relative;
}
.concertina .answer ol > li > ol > li > ol > li {
  padding-left: 50px;
}
.concertina .answer ol > li:last-of-type {
  margin-bottom: 0;
}
.concertina .answer ol li ul {
  margin-top: 0.5em;
}
@media (max-width: 677px) {
  .concertina article {
    width: calc(100% + 20px);
    margin-left: -10px;
    margin-bottom: 10px;
  }
  .concertina article h3 {
    font-family: "web-source", sans-serif;
    font-weight: normal;
    font-size: 1.25rem;
    line-height: 1.4;
    line-height: 1.3;
    text-wrap: pretty;
  }
  .concertina article h3:after, .concertina article h3:before {
    right: 15px;
  }
}
@media (min-width: 678px) {
  .concertina {
    margin-top: 3rem;
  }
  .concertina article h3:after, .concertina article h3:before {
    right: 20px;
  }
}
@media (min-width: 1000px) {
  .concertina article h3 {
    min-height: 85px;
  }
  .concertina article h3:after, .concertina article h3:before {
    right: 30px;
  }
}

.bg-white .concertina article {
  background-color: #F3F8F3;
}

.section-sign-off {
  background-color: #F3F8F3;
  padding-top: var(--padding);
  padding-bottom: var(--padding);
}
@media (max-width: 677px) {
  .section-sign-off .copy {
    text-align: center;
    margin-bottom: 1rem;
  }
}
@media (min-width: 678px) {
  .section-sign-off .content {
    display: flex;
    align-items: center;
    z-index: 1;
    gap: 1rem;
    justify-content: center;
  }
}
.section-testimonials {
  padding-top: var(--padding);
  padding-bottom: var(--padding);
}
.section-testimonials .copy {
  text-align: center;
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 4rem;
}
.section-testimonials h2 {
  margin-bottom: 1rem;
}
.section-testimonials h2 + p {
  font-size: 2rem;
  line-height: 1.2;
}
@media (max-width: 519px) {
  .section-testimonials h2 + p {
    font-size: 1.625rem;
    line-height: 1.2;
  }
}
.section-testimonials .logo-carousel {
  position: relative;
}
.section-testimonials .arrows {
  display: flex;
  justify-content: space-between;
  position: absolute;
  width: 100%;
  top: 50%;
}
.section-testimonials .arrows div {
  height: 72px;
  width: 60px;
  border-radius: 50%;
  transition: background-color 0.3s;
}
.section-testimonials .arrows div svg {
  transition: fill 0.3s;
}
.section-testimonials .arrows div::after {
  display: none;
}
.section-testimonials .arrows div:first-of-type {
  transform: rotate(180deg);
}
@media (max-width: 677px) {
  .section-testimonials .arrows {
    top: 20vw;
  }
  .section-testimonials .arrows div {
    height: 40px;
    width: 40px;
  }
  .section-testimonials .arrows div:first-of-type {
    left: -10px;
  }
  .section-testimonials .arrows div:last-of-type {
    right: -10px;
  }
}
@media (max-width: 519px) {
  .section-testimonials .arrows div:first-of-type {
    left: -20px;
  }
  .section-testimonials .arrows div:last-of-type {
    right: -20px;
  }
}
.section-testimonials .testimonial {
  position: relative;
  display: flex;
  height: 100%;
  flex-direction: column;
}
.section-testimonials .swiper-slide {
  opacity: 0;
  transition: opacity 0.5s;
}
.section-testimonials .swiper-slide.swiper-slide-active {
  opacity: 1;
}

.testimonial--type-logo .testimonial .image {
  max-width: 300px;
  margin-left: auto;
  margin-right: auto;
  aspect-ratio: 1.6;
  border-radius: var(--border-radius);
  overflow: hidden;
}
.testimonial--type-logo .testimonial .image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.testimonial--type-logo .testimonial .image.empty {
  display: none;
}
.testimonial--type-logo .testimonial .quote {
  text-wrap: pretty;
  margin-bottom: 1rem;
  width: 75%;
  max-width: 800px;
  text-align: center;
  margin-left: auto;
  margin-right: auto;
  font-size: 2rem;
  line-height: 1.2;
}
@media (max-width: 519px) {
  .testimonial--type-logo .testimonial .quote {
    font-size: 1.625rem;
    line-height: 1.2;
  }
}
.testimonial--type-logo .testimonial .figcaption {
  margin-top: auto;
  font-weight: bold;
  text-align: center;
  margin-bottom: 1rem;
}
.testimonial--type-logo .testimonial .stars {
  text-align: center;
  color: gold;
}
.testimonial--type-logo .testimonial cite {
  display: block;
  font-style: normal;
}
.testimonial--type-logo .testimonial .copy {
  text-align: left;
}
.testimonial--type-logo .arrows div {
  background: transparent;
}
.testimonial--type-logo .arrows div svg {
  width: 50%;
  height: auto;
  fill: #6AE79D;
}
.testimonial--type-logo .arrows div:hover svg, .testimonial--type-logo .arrows div:active svg {
  fill: #475565;
}

.testimonial--type-headshot .testimonial .image {
  aspect-ratio: 0.8;
  border-radius: var(--border-radius);
  overflow: hidden;
}
.testimonial--type-headshot .testimonial .image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.testimonial--type-headshot .testimonial .quote {
  text-wrap: pretty;
  margin-bottom: 2rem;
  font-size: 2rem;
  line-height: 1.2;
}
@media (max-width: 519px) {
  .testimonial--type-headshot .testimonial .quote {
    font-size: 1.625rem;
    line-height: 1.2;
  }
}
.testimonial--type-headshot .testimonial .figcaption {
  margin-top: auto;
  font-weight: bold;
}
.testimonial--type-headshot .testimonial cite {
  display: block;
  font-style: normal;
}
.testimonial--type-headshot .testimonial .copy {
  text-align: left;
}
@media (max-width: 520px) {
  .testimonial--type-headshot .arrows div {
    height: 50px;
    width: 50px;
  }
  .testimonial--type-headshot .quote .image {
    max-width: 200px;
  }
}
@media (min-width: 678px) {
  .testimonial--type-headshot .testimonial .copy {
    font-size: 2rem;
    line-height: 1.2;
  }
}
@media (min-width: 678px) and (max-width: 519px) {
  .testimonial--type-headshot .testimonial .copy {
    font-size: 1.625rem;
    line-height: 1.2;
  }
}

.testimonial--type-logo .quote p:first-child::before {
  content: "“";
  display: inline-block;
  color: #6AE79D;
  font-size: clamp(3.75rem, 6.043956044vw + 0rem, 6.875rem);
  line-height: 1;
  font-weight: 800;
  letter-spacing: -0.07ch;
  text-wrap: balance;
  position: absolute;
  margin-left: -1.2ch;
  margin-top: -0.3ch;
}
.testimonial--type-logo .quote p:last-child::after {
  content: "”";
  display: inline-block;
  color: #6AE79D;
  font-size: clamp(3.75rem, 6.043956044vw + 0rem, 6.875rem);
  line-height: 1;
  font-weight: 800;
  letter-spacing: -0.07ch;
  text-wrap: balance;
  margin-left: 0.2ch;
  line-height: 0;
  transform: translateY(0.7ch);
}

.testimonial--type-headshot .quote p:first-child::before {
  content: "“";
  display: inline-block;
  margin-left: -0.7ch;
  margin-right: -0.3ch;
}
.testimonial--type-headshot .quote p:last-child::after {
  content: "”";
  display: inline-block;
}

.section-reviews {
  padding-top: var(--padding);
  padding-bottom: var(--padding);
}
.section-reviews .copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.section-reviews .copy h2 {
  font-size: 2rem;
  margin-bottom: 0;
}
.section-reviews .feefo-review-carousel-widget-service {
  display: grid;
  align-items: center;
}
@media (max-width: 677px) {
  .section-reviews .copy {
    text-align: center;
    margin-bottom: 2rem;
  }
}
@media (min-width: 678px) {
  .section-reviews .copy:has(+ .trustpilot-widget) h2 {
    padding-bottom: 2rem;
  }
  .section-reviews.has-text .content {
    display: grid;
    gap: 1%;
    grid-template-columns: 2fr 8fr;
  }
}

.section-table {
  padding-top: var(--padding);
  padding-bottom: var(--padding);
}
.section-table h2 {
  margin-bottom: 2rem;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}
.section-table .copy {
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}
.section-table .table-wrapper {
  display: flex;
  background-color: #ffffff;
  width: 100%;
  border-radius: var(--border-radius);
}
.section-table.bg-white .table-wrapper {
  background-color: #F3F8F3;
}
.section-table .column-entry {
  text-align: center;
  font-family: "Source Sans Pro", sans-serif;
  position: relative;
}
.section-table .column-entry.highlight {
  font-weight: bold;
  background-color: rgba(106, 231, 157, 0.2);
}
.section-table .column-entry.highlight .logo {
  background-color: #6AE79D;
}
.section-table .row {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 94px;
  user-select: none;
}
.section-table .intro {
  margin-bottom: var(--mb);
}
.section-table .logo {
  height: 94px;
  overflow: hidden;
  position: relative;
  mix-blend-mode: multiply;
}
.section-table .logo img {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  object-fit: contain;
  width: 70%;
  height: 90%;
}
.section-table span.icon {
  font-size: 2rem;
  line-height: 1.2;
}
@media (max-width: 519px) {
  .section-table span.icon {
    font-size: 1.625rem;
    line-height: 1.2;
  }
}
.section-table span.icon.tick {
  color: #20BF76;
}
.section-table span.icon.cross {
  color: #B54A4A;
}
.section-table .dt-button {
  display: none;
  position: absolute;
  min-width: 100%;
  text-align: center;
  white-space: nowrap;
  margin-top: 1rem;
}
.section-table .mb-button {
  width: 100%;
  margin-top: 1rem;
}
.section-table .swiper-button::after {
  display: none;
}
@media (max-width: 1000px) {
  .section-table .copy {
    margin-bottom: 2rem;
  }
  .section-table .row {
    line-height: 6rem;
  }
  .section-table .logo {
    height: 6rem;
  }
  .section-table .content-table {
    padding: 0;
  }
  .section-table .table-wrapper {
    flex-direction: column;
  }
  .section-table .column {
    display: flex;
    flex-wrap: wrap;
    border-bottom: 1px solid rgba(222, 222, 222, 0.8);
  }
  .section-table .column:last-of-type {
    border-bottom: none;
  }
  .section-table .column-one {
    text-align: center;
    font-weight: bold;
    font-size: 2rem;
    line-height: 1.2;
  }
}
@media (max-width: 1000px) and (max-width: 519px) {
  .section-table .column-one {
    font-size: 1.625rem;
    line-height: 1.2;
  }
}
@media (max-width: 1000px) {
  .section-table .column-one .row {
    width: 100%;
    line-height: 5rem;
  }
  .section-table .column-entry .row {
    width: 50%;
  }
  .section-table .logo {
    width: 50%;
  }
  .section-table .logo img {
    width: 50%;
    height: 90%;
  }
  .section-table .arrows {
    display: flex;
    justify-content: space-between;
    position: absolute;
    width: 100%;
    left: 0px;
    top: 2.2rem;
  }
  .section-table .arrows div {
    height: 50px;
    width: 50px;
    border-radius: var(--border-radius-small);
    background: transparent url(https://www.virtualoffice-london.co.uk/wp-content/themes/virtually-2025/css/../images/svg/arrow-right.svg) no-repeat 55% 50%;
    background-size: 27%;
    transition: background-color 0.3s;
  }
  .section-table .arrows div:first-of-type {
    transform: rotate(180deg);
  }
  .section-table .row {
    display: none;
  }
  .section-table .active-row {
    display: block;
    -webkit-animation-duration: 0.2s;
    animation-duration: 0.2s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
    animation-delay: 0.1s;
    -webkit-animation-delay: 0.1s;
    animation-timing-function: linear;
    -webkit-animation-timing-function: linear;
    -webkit-animation-name: fadeInKs;
    animation-name: fadeInKs;
  }
  .section-table .content-table[data-dir=prev] .column-one .active-row {
    -webkit-animation-duration: 0.3s;
    animation-duration: 0.3s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
    animation-delay: 0s;
    -webkit-animation-delay: 0s;
    animation-timing-function: linear;
    -webkit-animation-timing-function: linear;
    -webkit-animation-name: fadeInLeftKs;
    animation-name: fadeInLeftKs;
    animation-timing-function: ease-out;
  }
  .section-table .content-table[data-dir=next] .column-one .active-row {
    -webkit-animation-duration: 0.3s;
    animation-duration: 0.3s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
    animation-delay: 0s;
    -webkit-animation-delay: 0s;
    animation-timing-function: linear;
    -webkit-animation-timing-function: linear;
    -webkit-animation-name: fadeInRightKs;
    animation-name: fadeInRightKs;
    animation-timing-function: ease-out;
  }
  .section-table .content-table[data-disable=prev] .swiper-button-prev {
    opacity: 0.5;
    pointer-events: none;
  }
  .section-table .content-table[data-disable=next] .swiper-button-next {
    opacity: 0.5;
    pointer-events: none;
  }
}
@media (min-width: 1000px) {
  .section-table .table-wrapper {
    align-items: flex-end;
  }
  .section-table .copy {
    margin-bottom: 3rem;
  }
  .section-table .column-entry {
    flex: 1;
  }
  .section-table .column-one {
    flex: 2;
  }
  .section-table .column-one .row {
    margin-left: 30px;
    padding-left: 20px;
    padding-right: 10px;
  }
  .section-table .column:last-of-type {
    margin-right: 30px;
  }
  .section-table .row {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    line-height: 84px;
    border-bottom: 1px solid rgba(222, 222, 222, 0.6);
  }
  .section-table .row:last-of-type {
    border-bottom: none;
    padding-bottom: 20px;
  }
  .section-table .row:first-of-type {
    border-top: 2px solid #475565;
  }
  .section-table .logo {
    height: 148px;
    border-bottom: 2px solid #475565;
  }
  .section-table .dt-button {
    display: block;
  }
  .section-table .mb-button {
    display: none;
  }
  .section-table .has-link {
    margin-bottom: 4rem;
  }
}

.section-selector .price-toggle {
  transform: translateY(-20px);
}
.section-selector .offices, .section-selector .add-ons {
  display: flex;
  flex-direction: column;
  position: relative;
}
.section-selector .office-tile, .section-selector .add-on {
  position: relative;
  transition: box-shadow 0.3s, border-color 0.3s;
}
.section-selector .office-tile p, .section-selector .add-on p {
  margin-bottom: 0;
}
.section-selector .office-tile.addon-active, .section-selector .office-tile.office-active, .section-selector .add-on.addon-active, .section-selector .add-on.office-active {
  box-shadow: 0px 3px 12px 0px rgba(0, 0, 0, 0.4);
  border-color: #6AE79D;
}
.section-selector .add-on {
  border: 0.5rem solid #DEDEDE;
  box-shadow: 0px 3px 12px 0px rgba(0, 0, 0, 0);
}
.section-selector .add-on:hover {
  cursor: pointer;
  border-color: #6AE79D;
  box-shadow: 0px 3px 12px 0px rgba(0, 0, 0, 0.4);
}
.section-selector .add-on.addon-active {
  box-shadow: 0px 3px 12px 0px rgba(0, 0, 0, 0.4);
  border-color: #6AE79D;
}
.section-selector .office-tile {
  margin-bottom: 2rem;
}
.section-selector .office-tile .caveat {
  font-size: 0.875rem;
  line-height: 1.4;
}
.section-selector .office-tile .tile-bg-link {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: transparent;
  z-index: 20;
}
.section-selector .office-tile .buttons {
  position: relative;
  z-index: 21;
}
.section-selector .office-tile .buttons .cta {
  margin-top: 0.5rem;
}
.section-selector .office-tile .buttons .cta {
  width: 100%;
}
.section-selector .office-tile .image {
  border-radius: var(--border-radius);
}
.section-selector .image + .details {
  margin-top: 10px;
}
.section-selector .image img {
  filter: saturate(100%);
  transition: filter 0.3s;
}
.section-selector .image::before {
  content: "Select office";
  content: "";
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: 0;
  left: 0;
  color: white;
  z-index: 1;
  background-color: rgba(71, 85, 101, 0.7);
  opacity: 0;
  transition: opacity 0.3s;
  font-size: 1.5625rem;
  line-height: 1.4;
  text-transform: uppercase;
  font-weight: bold;
  text-wrap: balance;
}
.section-selector h3 {
  margin-bottom: 0.5rem;
}
.section-selector address {
  font-style: normal;
}
.section-selector .add-ons-holder {
  text-align: center;
  position: relative;
}
.section-selector .add-ons-holder h2 {
  text-align: center;
}
.section-selector .add-ons-holder .cta {
  margin-top: 30px;
}
.section-selector .add-ons-holder .add-ons {
  text-align: left;
}
.section-selector .add-ons-holder .price-toggle {
  transform: translateY(0);
  margin-bottom: 0;
}
.section-selector .add-on {
  display: flex;
  flex-direction: column;
}
.section-selector .add-on.office-specific {
  display: none;
}
.section-selector .add-on .copy {
  font-size: 1rem;
  line-height: 1.4;
}
.section-selector .add-on .copy h3 {
  font-size: clamp(1rem, 1.0416666667vw + 0rem, 1.75rem);
  line-height: 1.3;
  font-family: "Source Sans Pro", sans-serif;
  font-weight: bold;
}
.section-selector .add-on .price {
  font-family: "Source Sans Pro", sans-serif;
  font-size: 2.9375rem;
  line-height: 0.9;
  font-weight: bold;
  text-transform: uppercase;
  margin-top: 10px;
}
.section-selector .add-on .price span {
  font-weight: normal;
  font-size: 0.875rem;
  line-height: 1.4;
  margin-left: 0.5rem;
  white-space: nowrap;
}
.section-selector .office-anchor {
  top: -40vh;
}
.section-selector .unavailable {
  opacity: 0.5;
  pointer-events: none;
}
.section-selector .unavailable .roundel {
  display: none;
}
.section-selector .unavailable .image::before {
  content: "Currently Unavailable";
  opacity: 1;
}
@media (max-width: 520px) {
  .section-selector .add-ons-holder h2 {
    margin-top: 0;
    margin-bottom: 1.5rem;
  }
  .section-selector .image {
    overflow: hidden;
    position: relative;
  }
  .section-selector .image img {
    position: absolute;
    min-width: 100%;
    min-height: 100%;
    object-fit: cover;
    top: 50%;
    left: 50%;
    -ms-transform: translate(-50%, -50%); /* IE 9 */
    -webkit-transform: translate(-50%, -50%); /* Chrome, Safari, Opera */
    transform: translate(-50%, -50%);
  }
  .section-selector .image:after {
    content: "";
    display: block;
    padding-top: 70%;
    width: 0;
    float: left;
    position: relative;
  }
  .section-selector .add-on {
    padding: 10px 10px 0.5rem 10px;
    max-width: 600px;
    flex-direction: column;
    margin-bottom: 10px;
    border-width: 4px;
  }
  .section-selector .add-on .copy {
    padding-right: 0px;
    font-size: 0.875rem;
    line-height: 1.2;
  }
  .section-selector .add-on .price {
    margin-top: 0px;
    font-size: 1.75rem;
    line-height: 1.4;
  }
  .section-selector .add-on .price span {
    font-size: 0.6875rem;
    line-height: 1.4;
  }
}
@media (min-width: 520px) {
  .section-selector .add-ons {
    align-items: center;
  }
  .section-selector .image {
    overflow: hidden;
    position: relative;
  }
  .section-selector .image img {
    position: absolute;
    min-width: 100%;
    min-height: 100%;
    object-fit: cover;
    top: 50%;
    left: 50%;
    -ms-transform: translate(-50%, -50%); /* IE 9 */
    -webkit-transform: translate(-50%, -50%); /* Chrome, Safari, Opera */
    transform: translate(-50%, -50%);
  }
  .section-selector .image:after {
    content: "";
    display: block;
    padding-top: 80%;
    width: 0;
    float: left;
    position: relative;
  }
  .section-selector .image + .details {
    margin-top: 2.5rem;
  }
  .section-selector .add-on {
    padding: 20px 1.5rem;
    max-width: 600px;
    flex-direction: row;
    margin-bottom: 10px;
    width: 100%;
  }
  .section-selector .add-on .copy {
    padding-right: 20px;
  }
  .section-selector .add-on .price {
    margin-top: 0;
  }
  .section-selector .add-on .price span {
    display: block;
  }
}
@media (min-width: 678px) {
  .section-selector .office-tile {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
  }
  .section-selector .office-tile .image, .section-selector .office-tile .details {
    width: 48%;
    margin-bottom: 0;
  }
  .section-selector .office-tile .details {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
  }
  .section-selector .office-tile .details h3 {
    margin-bottom: calc(0.2 * var(--mb));
  }
  .section-selector .roundel {
    left: 0;
    transform: translate(-20%, -2.5rem);
  }
}
@media (min-width: 1000px) {
  .section-selector .price-toggle {
    transform: translateY(-40px);
  }
  .section-selector .offices {
    flex-direction: row;
    justify-content: center;
    flex-wrap: wrap;
    gap: 2%;
    row-gap: 60px;
  }
  .section-selector .office-tile {
    display: block;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
  }
  .section-selector .office-tile .image + .details {
    margin-top: calc(0.5 * var(--mb));
  }
  .section-selector .office-tile .image, .section-selector .office-tile .details {
    width: 100%;
  }
  .section-selector .office-tile .details {
    flex: 2;
  }
  .section-selector .office-tile {
    width: 34%;
  }
  .section-selector .add-ons {
    flex-direction: row;
    justify-content: space-between;
    flex-wrap: wrap;
    align-items: stretch;
  }
  .section-selector .add-on {
    padding: 20px 20px;
    width: 32%;
    flex-direction: column;
    margin-bottom: 20px;
  }
  .section-selector .add-on .price {
    margin-top: 10px;
  }
  .section-selector .add-on .price span {
    display: inline-block;
  }
  .section-selector .add-on .copy {
    padding-right: 0px;
  }
  .section-selector .num-4 .add-on {
    width: 40%;
    margin-left: 1%;
    margin-right: 1%;
  }
  .section-selector .num-4 .add-ons {
    justify-content: center;
  }
}
@media (min-width: 1440px) {
  .section-selector .office-tile {
    width: 23.5%;
  }
  .section-selector .add-on {
    padding: 2.5rem 20px;
    flex-direction: row;
    justify-content: space-between;
  }
  .section-selector .add-on .price {
    margin-top: 0;
    text-align: right;
  }
  .section-selector .add-on .price span {
    display: block;
  }
  .section-selector .add-on .copy {
    padding-right: 10px;
  }
  .section-selector .roundel {
    left: auto;
    transform: translate(20%, -50%);
  }
}

.no-touch .caveat, .touch .caveat {
  font-size: clamp(0.75rem, 0.8333333333vw + 0rem, 1.0625rem);
  margin-top: 0.5rem;
  display: flex;
  flex-direction: column;
  row-gap: 0.5rem;
}
.no-touch .caveat br, .touch .caveat br {
  display: none;
}
.no-touch .caveat img, .touch .caveat img {
  max-width: 280px;
  margin-left: auto;
  margin-right: auto;
  margin-top: 2rem;
}
.no-touch .orcall.touch-show, .touch .orcall.touch-show {
  text-align: center;
}
.no-touch .orcall.touch-show .cta, .touch .orcall.touch-show .cta {
  margin-top: 0.5rem;
}
@media (min-width: 678px) {
  .no-touch .orcall.touch-show, .touch .orcall.touch-show {
    display: none;
  }
}
.no-touch .orcall, .touch .orcall {
  text-align: center;
}
.no-touch .orcall .cta, .touch .orcall .cta {
  margin-bottom: 0.5rem;
}
.no-touch .orcall .caveat, .touch .orcall .caveat {
  margin-bottom: 0.2rem;
}
.no-touch .orcall a:not(.cta), .touch .orcall a:not(.cta) {
  font-weight: bold;
}
@media (max-width: 1000px) {
  .no-touch .orcall, .touch .orcall {
    margin-top: 0.5rem;
  }
}
@media (min-width: 1000px) {
  .no-touch .orcall, .touch .orcall {
    margin-top: 0.5rem;
  }
}
@media (min-width: 1920px) {
  .no-touch .orcall a:not(.cta), .touch .orcall a:not(.cta) {
    font-family: "web-source", sans-serif;
    font-weight: normal;
    font-size: 1.25rem;
    line-height: 1.4;
    line-height: 1.3;
    text-wrap: pretty;
    font-weight: bold;
  }
}
@media (max-width: 678px) {
  .no-touch .buy-now, .touch .buy-now {
    width: 100%;
  }
}
.section-video-list {
  padding-top: var(--padding);
  padding-bottom: var(--padding);
}
.section-video-list .video-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(500px, 100%), 1fr));
  row-gap: 2rem;
}
.section-video-list .entry-video h3 {
  margin-bottom: 1rem;
  text-transform: none;
  font-size: 2rem;
  line-height: 1.2;
}
@media (max-width: 519px) {
  .section-video-list .entry-video h3 {
    font-size: 1.625rem;
    line-height: 1.2;
  }
}
.section-video-list .entry-video .image, .section-video-list .entry-video .audio-holder, .section-video-list .entry-video .video-poster {
  border-radius: var(--border-radius);
  aspect-ratio: 16/9;
}
.section-video-list .entry-video .copy {
  padding-top: 0.5rem;
}
@media (max-width: 678px) {
  .section-video-list .cta {
    width: 100%;
  }
}
@media (min-width: 678px) {
  .section-video-list .entry-video {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: max(20px, 2%);
    align-items: start;
  }
  .section-video-list .entry-video .copy {
    font-size: clamp(1rem, 1.0416666667vw + 0rem, 1.75rem);
    line-height: 1.3;
  }
  .section-video-list .entry-video .copy h3 {
    margin-bottom: calc(var(--mb) / 4);
    margin-top: 0;
  }
  .section-video-list .entry-video .copy > :last-child {
    margin-bottom: 0;
  }
}

.section-reasons {
  padding-top: var(--padding);
  padding-bottom: var(--padding);
}
.section-reasons .copy {
  text-align: center;
  margin-bottom: 3rem;
  font-size: 2rem;
  line-height: 1.2;
}
@media (max-width: 519px) {
  .section-reasons .copy {
    font-size: 1.625rem;
    line-height: 1.2;
  }
}
.section-reasons h2 {
  margin-bottom: 2rem;
  font-weight: 600;
  text-align: center;
}
.section-reasons .reasons h3 {
  margin-bottom: 1rem;
}
.section-reasons .reason {
  margin-bottom: var(--mb);
  break-inside: avoid;
}
.section-reasons .logo {
  margin-bottom: 2rem;
  margin-left: auto;
  margin-right: auto;
}
.section-reasons .logo img {
  object-fit: contain;
}
@media (max-width: 678px) {
  .section-reasons .logo {
    width: min(70%, 400px);
  }
  .section-reasons .logo img {
    max-height: 120px;
  }
}
@media (min-width: 678px) {
  .section-reasons .logo {
    width: min(50%, 400px);
  }
  .section-reasons .logo img {
    max-height: 200px;
  }
  .section-reasons .reasons {
    column-count: 2;
    column-gap: 7%;
  }
}
@media (min-width: 1000px) {
  .section-reasons .copy {
    width: 70%;
    text-align: center;
    margin-left: auto;
    margin-right: auto;
    font-size: 2rem;
    line-height: 1.2;
    margin-bottom: 4rem;
  }
}
@media (min-width: 1000px) and (max-width: 519px) {
  .section-reasons .copy {
    font-size: 1.625rem;
    line-height: 1.2;
  }
}
@media (min-width: 1000px) {
  .section-reasons .copy p {
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
  }
  .section-reasons .reasons {
    width: 95%;
    column-count: 2;
    column-gap: 7%;
  }
}

.page-template-template_faqs .sections {
  display: flex;
  flex-direction: column;
  width: 100%;
  position: relative;
}
.page-template-template_faqs .sections .question-column, .page-template-template_faqs .sections .menu-column {
  width: 100%;
}
.page-template-template_faqs .sections .concertina {
  width: 100%;
}
.page-template-template_faqs .sections .menu ul a:hover, .page-template-template_faqs .sections .menu ul a:active {
  color: #4dcf81;
}
@media (max-width: 1000px) {
  .page-template-template_faqs .sections .question-column, .page-template-template_faqs .sections .menu-column {
    padding-left: var(--outer);
    padding-right: var(--outer);
  }
  .page-template-template_faqs .sections .menu h3 {
    width: 100%;
    background-color: #F3F8F3;
    color: white;
    padding: 20px 25px;
    font-size: 1.375rem;
    line-height: 1.4;
    font-weight: normal;
    position: relative;
  }
  .page-template-template_faqs .sections .menu h3::after {
    content: "+";
    position: absolute;
    right: 20px;
    font-size: 1.875rem;
    line-height: 0.9;
    transition: transform 0.3s;
  }
  .page-template-template_faqs .sections .menu ul {
    position: absolute;
    background-color: white;
    font-weight: normal;
    font-size: 1.25rem;
    line-height: 1.4;
    padding: 20px;
    min-width: calc(100% - 80px);
    border-radius: var(--border-radius-small);
    z-index: 2;
    filter: drop-shadow(0px -3px 5px rgba(0, 0, 0, 0.3));
    transform: translateY(0px);
    opacity: 0;
    pointer-events: none;
    transition: transform 0.3s, opacity 0.3s;
    height: auto !important;
  }
  .page-template-template_faqs .sections .menu ul a:hover {
    color: #6AE79D;
  }
  .page-template-template_faqs .sections .menu ul a {
    display: block;
    padding: 3px 0;
  }
  .page-template-template_faqs .sections .menu ul a:hover, .page-template-template_faqs .sections .menu ul a:active {
    color: #F3F8F3;
  }
  .page-template-template_faqs .sections .menu ul::before {
    content: "";
    width: 10px;
    height: 10px;
    position: absolute;
    display: block;
    top: -5px;
    left: calc(50% - 5px);
    background-color: white;
    transform: rotate(45deg);
  }
  .page-template-template_faqs .sections .menu h3.show-list + ul {
    opacity: 1;
    transform: translateY(15px);
    pointer-events: all;
  }
  .page-template-template_faqs .sections .menu h3.show-list::after {
    transform: rotate(45deg);
  }
}
@media (max-width: 678px) {
  .page-template-template_faqs .sections .menu h3 {
    width: 100%;
    background-color: #F3F8F3;
    color: white;
    padding: 15px 20px;
    font-size: 1.25rem;
    line-height: 1.4;
    font-weight: normal;
  }
}
@media (min-width: 1000px) {
  .page-template-template_faqs .sections {
    flex-direction: row;
    justify-content: space-between;
    padding-top: 60px;
  }
}
@media (min-width: 1000px) and (min-width: 960px) {
  .page-template-template_faqs .sections {
    padding-top: calc(120 / 1920 * 100vw);
  }
}
@media (min-width: 1000px) and (min-width: 3200px) {
  .page-template-template_faqs .sections {
    padding-top: 200px;
  }
}
@media (min-width: 1000px) {
  .page-template-template_faqs .sections .question-column {
    width: 70%;
  }
  .page-template-template_faqs .sections .menu-column {
    width: 30%;
  }
  .page-template-template_faqs .sections .section-faqs-section {
    margin-right: var(--outer);
    position: relative;
    padding-top: 0;
    padding-bottom: 60px;
  }
}
@media (min-width: 1000px) and (min-width: 960px) {
  .page-template-template_faqs .sections .section-faqs-section {
    padding-bottom: calc(120 / 1920 * 100vw);
  }
}
@media (min-width: 1000px) and (min-width: 3200px) {
  .page-template-template_faqs .sections .section-faqs-section {
    padding-bottom: 200px;
  }
}
@media (min-width: 1000px) {
  .page-template-template_faqs .sections .menu {
    display: inline-flex;
    flex-direction: column;
    padding-top: 1.5rem;
    width: 100%;
    border-radius: var(--border-radius-small);
    position: sticky;
    margin-left: var(--outer);
    top: 200px;
  }
  .page-template-template_faqs .sections .menu h4 {
    margin-bottom: 0.5rem;
  }
  .page-template-template_faqs .sections .menu a {
    font-size: clamp(1rem, 1.0416666667vw + 0rem, 1.75rem);
    line-height: 1.3;
    display: block;
    padding: 0.5rem 0;
  }
  .page-template-template_faqs .sections .anchor {
    position: absolute;
    top: -200px;
  }
}

.mosiac-section {
  padding-top: var(--padding);
  padding-bottom: var(--padding);
  padding-left: var(--outer);
  padding-right: var(--outer);
}
.mosiac-section + .mosiac-section {
  padding-top: 0;
}
.mosiac-section .content {
  display: flex;
  flex-direction: column;
}
.mosiac-section .panels {
  display: flex;
  flex-direction: column;
  position: relative;
}
.mosiac-section h2 {
  margin-bottom: 2rem;
}
.mosiac-section .image, .mosiac-section .illustration {
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  overflow: hidden;
  z-index: 0;
}
.mosiac-section .illustration img {
  object-fit: contain;
  height: 100%;
  width: 100%;
  padding: 5%;
}
.mosiac-section .image img {
  object-fit: cover;
  height: 100%;
  width: 100%;
}
.mosiac-section .panel {
  background-color: #F3F8F3;
  display: flex;
  align-items: center;
  flex-direction: column-reverse;
  justify-content: center;
  padding: 20px;
  position: relative;
}
.mosiac-section .panel .cta {
  margin-top: 0;
  z-index: 1;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.mosiac-section .two-panels .panel {
  aspect-ratio: 1.2;
}
.mosiac-section .text {
  padding: 7%;
  background-color: #F3F8F3;
}
@media (max-width: 1000px) {
  .mosiac-section .two-panels .panel {
    aspect-ratio: 2;
  }
  .mosiac-section .image, .mosiac-section .illustration {
    width: 50%;
  }
  .mosiac-section .text {
    padding-bottom: 0;
  }
}
@media (min-width: 1000px) {
  .mosiac-section .content {
    display: grid;
    grid-template-columns: 8fr 4fr;
  }
  .mosiac-section .text {
    height: 100%;
  }
  .mosiac-section.right .content {
    flex-direction: row-reverse;
  }
  .mosiac-section .panel {
    height: 100%;
  }
  .mosiac-section .two-panels .panel {
    height: 50%;
  }
}

.page-template-template_subpage .sections {
  padding-bottom: 60px;
}
@media (min-width: 960px) {
  .page-template-template_subpage .sections {
    padding-bottom: calc(120 / 1920 * 100vw);
  }
}
@media (min-width: 3200px) {
  .page-template-template_subpage .sections {
    padding-bottom: 200px;
  }
}

.section--post, .section--job {
  padding-bottom: var(--padding);
}
.section--post .pull-out, .section--job .pull-out {
  border-left: 4px solid #6AE79D;
  font-weight: bold;
  padding: 2% 5%;
  margin-bottom: calc(2 * var(--mb));
  margin-top: calc(1.5 * var(--mb));
  font-size: 2rem;
  line-height: 1.2;
}
@media (max-width: 519px) {
  .section--post .pull-out, .section--job .pull-out {
    font-size: 1.625rem;
    line-height: 1.2;
  }
}
.section--post .pull-out > :last-child, .section--job .pull-out > :last-child {
  margin-bottom: 0;
}
.section--post .share-bar .bar, .section--job .share-bar .bar {
  display: flex;
  margin-bottom: var(--mb);
}
.section--post .share-bar a, .section--job .share-bar a {
  width: 40px;
  height: 40px;
  display: block;
  border-radius: 50%;
  background-color: #475565;
  fill: #ffffff;
  margin-right: clamp(5px, 1.5vw, 10px);
}
.section--post .share-bar a:hover, .section--job .share-bar a:hover {
  background-color: #6AE79D;
  fill: #475565;
}
.section--post p, .section--job p {
  line-height: 1.4;
}
@media (min-width: 1000px) {
  .section--post.child-content .content, .section--job.child-content .content {
    display: flex;
    overflow: visible;
    gap: 3%;
    flex-wrap: wrap;
    height: 100%;
    align-items: flex-start;
  }
  .section--post .chapters, .section--job .chapters {
    overflow: visible;
    height: 100%;
    position: sticky;
    top: calc(var(--nav-height) + 60px);
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 2rem;
    width: 16%;
  }
  .section--post .chapters:has(> .nav--chapter-list), .section--job .chapters:has(> .nav--chapter-list) {
    min-width: 200px;
  }
  .section--post .share-bar .bar, .section--job .share-bar .bar {
    display: flex;
    flex-direction: column;
  }
  .section--post .share-bar a, .section--job .share-bar a {
    margin-bottom: 16px;
  }
  .section--post .copy, .section--job .copy {
    width: 66%;
  }
  .section--post .marketing, .section--job .marketing {
    padding: 40px 250px 40px 40px;
    width: calc(100% + 80px);
    margin-left: -40px;
    margin-bottom: calc(2 * var(--mb));
    margin-top: calc(1.5 * var(--mb));
  }
  .section--post .author .copy, .section--job .author .copy {
    width: 70%;
  }
}
.job-meta {
  font-size: clamp(1rem, 1.0416666667vw + 0rem, 1.75rem);
  line-height: 1.3;
}
.job-meta span {
  font-weight: bold;
  display: block;
  font-size: clamp(1rem, 1.0416666667vw + 0rem, 1.75rem);
  line-height: 1.3;
}
.job-meta li {
  font-size: 1rem;
  line-height: 1.4;
  padding-bottom: 0.5rem;
  padding-right: 1rem;
  margin-bottom: 1rem;
  border-bottom: 1px solid rgba(71, 85, 101, 0.2);
}
@media (min-width: 678px) {
  .job-meta {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0 0;
    width: 100%;
  }
}

.apply {
  margin-top: var(--mb);
}
.apply a {
  font-weight: bold;
  color: #6AE79D;
}
.section--prevnext {
  padding-top: 6rem;
  padding-bottom: 6rem;
}
.section--prevnext .navigation {
  display: flex;
  justify-content: space-between;
}
.section--prevnext .navigation a {
  min-width: 150px;
  font-size: 1rem;
  line-height: 2.6;
  font-weight: bold;
  letter-spacing: -0.01ch;
  color: #ffffff;
  border: 1px solid #475565;
  background-color: #475565;
  border-radius: var(--border-radius-small);
  padding: 0px 1.5rem;
  display: inline-block;
  text-align: center;
  height: auto;
  transition: color 0.3s, background-color 0.3s, border-color 0.3s;
  white-space: nowrap;
}
.section--prevnext .navigation a:hover {
  color: #475565;
  border: 1px solid #6AE79D;
  background-color: #6AE79D;
}
@media (max-width: 520px) {
  .section--prevnext .navigation a {
    width: 100%;
  }
}
.section--prevnext .navigation .disabled {
  opacity: 0.4;
  pointer-events: none;
}
@media (max-width: 678px) {
  .section--prevnext .navigation {
    padding-bottom: 20px;
  }
  .section--prevnext .navigation a, .section--prevnext .navigation span {
    min-width: 48%;
  }
  .section--prevnext .navigation span a {
    width: 100%;
  }
}
.section--author {
  padding-top: var(--padding);
  justify-content: space-between;
}
.section--author .content {
  display: flex;
  background-color: #F3F8F3;
  padding: 2rem var(--outer);
  gap: 2%;
  border-radius: var(--border-radius-small);
}
.section--author .headshot {
  width: 12rem;
  margin-top: -5rem;
  border-radius: 5rem;
  overflow: hidden;
}
.section--author .headshot img {
  width: 100%;
  height: auto;
}
.section--author .copy {
  padding: 0;
  margin: 0;
  max-width: var(--rw);
}
.section--author .copy h4 {
  margin-bottom: 1rem;
}
.section--author .copy p {
  margin-bottom: 0;
}
.section--author .copy .position {
  margin-bottom: 6px;
  font-weight: bold;
}

.section--related-posts {
  background-color: #F3F8F3;
  padding-top: var(--padding);
  padding-bottom: var(--padding);
}
.section--related-posts .copy {
  margin-bottom: 2rem;
  width: 100%;
}
.section--related-posts .copy h2 {
  font-weight: 600;
  margin-bottom: 4rem;
  font-size: 2rem;
  line-height: 1.2;
}
@media (max-width: 519px) {
  .section--related-posts .copy h2 {
    font-size: 1.625rem;
    line-height: 1.2;
  }
}
@media (min-width: 678px) {
  .section--related-posts .content {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 2%;
  }
}

.section--job {
  padding-bottom: 8rem;
}

.nav--chapter-list {
  background-color: #F3F8F3;
  display: inline-flex;
  flex-direction: column;
  padding: 1.5rem;
  border-radius: var(--border-radius-small);
  width: 100%;
}
.nav--chapter-list h4 {
  margin-bottom: 0.5rem;
}
.nav--chapter-list a {
  font-size: clamp(1rem, 1.0416666667vw + 0rem, 1.75rem);
  line-height: 1.3;
  display: block;
  padding: 0.5rem 0;
}

@media (max-width: 999px) {
  .chapters {
    display: flex;
    flex-direction: column-reverse;
    margin-bottom: 2rem;
  }
}
@media (min-width: 1000px) {
  .chapters {
    display: grid;
    grid-template-columns: 7fr 5fr;
  }
}
.entry {
  background-color: #ffffff;
  position: relative;
  width: 100%;
  border-radius: var(--border-radius);
  display: flex;
  flex-direction: column;
}
.entry .entry-content {
  padding: 1.5rem;
  display: flex;
  flex-direction: column;
  flex: 1;
}
.entry .kicker {
  color: #475565;
  display: block;
  margin-top: auto;
  font-size: clamp(1rem, 1.0416666667vw + 0rem, 1.75rem);
  line-height: 1.3;
  text-transform: uppercase;
}
.entry h3 {
  text-transform: none;
  font-weight: 600;
  margin-bottom: 1rem;
  font-size: 2rem;
  line-height: 1.2;
}
@media (max-width: 519px) {
  .entry h3 {
    font-size: 1.625rem;
    line-height: 1.2;
  }
}
.entry .read-more {
  font-size: 1rem;
  line-height: 2.6;
  font-weight: bold;
  letter-spacing: -0.01ch;
  color: #ffffff;
  border: 1px solid #475565;
  background-color: #475565;
  border-radius: var(--border-radius-small);
  padding: 0px 1.5rem;
  display: inline-block;
  text-align: center;
  height: auto;
  transition: color 0.3s, background-color 0.3s, border-color 0.3s;
  white-space: nowrap;
}
.entry .read-more:hover {
  color: #475565;
  border: 1px solid #6AE79D;
  background-color: #6AE79D;
}
@media (max-width: 520px) {
  .entry .read-more {
    width: 100%;
  }
}
.entry .read-more {
  display: none;
}
.entry.no-image .entry-thumb {
  background-color: rgba(71, 85, 101, 0.2);
  border-radius: var(--border-radius);
}
.entry .image {
  overflow: hidden;
  position: relative;
  border-radius: var(--border-radius);
  overflow: hidden;
}
.entry .image img {
  position: absolute;
  min-width: 100%;
  min-height: 100%;
  object-fit: cover;
  top: 50%;
  left: 50%;
  -ms-transform: translate(-50%, -50%); /* IE 9 */
  -webkit-transform: translate(-50%, -50%); /* Chrome, Safari, Opera */
  transform: translate(-50%, -50%);
}
.entry .image:after {
  content: "";
  display: block;
  padding-top: 62%;
  width: 0;
  float: left;
  position: relative;
}
.entry .image.illustration {
  overflow: hidden;
  position: relative;
  margin-top: -20px;
}
.entry .image.illustration img {
  position: absolute;
  min-width: 100%;
  min-height: 100%;
  object-fit: cover;
  top: 50%;
  left: 50%;
  -ms-transform: translate(-50%, -50%); /* IE 9 */
  -webkit-transform: translate(-50%, -50%); /* Chrome, Safari, Opera */
  transform: translate(-50%, -50%);
}
.entry .image.illustration:after {
  content: "";
  display: block;
  padding-top: calc(62% + 20px);
  width: 0;
  float: left;
  position: relative;
}
.entry .image.illustration img {
  object-fit: contain;
  width: 100%;
  object-position: center;
  height: 100%;
}

.section--post-list {
  background-color: #F3F8F3;
  padding-top: 5rem;
  padding-bottom: 5rem;
}
@media (max-width: 1439px) {
  .section--post-list {
    padding-top: 2rem;
    padding-bottom: 2rem;
  }
}

.post-list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(320px, 100%), 1fr));
  gap: 2%;
  row-gap: min(8vw, 5rem);
}

.latest-post {
  margin-bottom: 3rem;
}
@media (min-width: 678px) {
  .latest-post .entry {
    display: grid;
    grid-template-columns: 8fr 4fr;
    gap: 2%;
  }
  .latest-post .entry-content {
    padding: 0.5rem 0;
  }
  .latest-post .image {
    overflow: hidden;
    position: relative;
    border-radius: var(--border-radius);
    overflow: hidden;
    border: 1px solid #DEDEDE;
  }
  .latest-post .image img {
    position: absolute;
    min-width: 100%;
    min-height: 100%;
    object-fit: cover;
    top: 50%;
    left: 50%;
    -ms-transform: translate(-50%, -50%); /* IE 9 */
    -webkit-transform: translate(-50%, -50%); /* Chrome, Safari, Opera */
    transform: translate(-50%, -50%);
  }
  .latest-post .image:after {
    content: "";
    display: block;
    padding-top: 62%;
    width: 0;
    float: left;
    position: relative;
  }
  .latest-post .image.illustration {
    overflow: hidden;
    position: relative;
    margin-top: 0;
  }
  .latest-post .image.illustration img {
    position: absolute;
    min-width: 100%;
    min-height: 100%;
    object-fit: cover;
    top: 50%;
    left: 50%;
    -ms-transform: translate(-50%, -50%); /* IE 9 */
    -webkit-transform: translate(-50%, -50%); /* Chrome, Safari, Opera */
    transform: translate(-50%, -50%);
  }
  .latest-post .image.illustration:after {
    content: "";
    display: block;
    padding-top: 62%;
    width: 0;
    float: left;
    position: relative;
  }
  .latest-post .image.illustration img {
    object-fit: contain;
    width: 100%;
    object-position: center;
    height: 100%;
  }
}

.section--single-office {
  background-color: #F3F8F3;
  padding-top: var(--padding);
  padding-bottom: var(--padding);
}
.section--single-office .copy ul {
  margin-bottom: 1rem;
  margin-left: 3ch;
  list-style: none;
}
.section--single-office .copy ul li::before {
  content: "";
  position: absolute;
  background-image: url(https://www.virtualoffice-london.co.uk/wp-content/themes/virtually-2025/css/../images/svg/tick.svg);
  display: inline-block;
  background-position: center;
  background-size: auto 1.2ch;
  background-repeat: no-repeat;
  width: 3ch;
  height: 1.6ch;
  color: #6AE79D;
  top: 0.2ch;
  left: -3ch;
}
.section--single-office .copy ul > li {
  font-weight: bold;
  margin-bottom: 0.7em;
  position: relative;
  font-size: 1.5rem;
  line-height: 1.2;
}
@media (max-width: 519px) {
  .section--single-office .copy ul > li {
    font-size: 1.125rem;
    line-height: 1.2;
  }
}
.section--single-office .copy ul > li:last-of-type {
  margin-bottom: 0;
}
.section--single-office .office-text {
  display: flex;
  flex-direction: column;
}
.section--single-office .office-image {
  overflow: hidden;
  position: relative;
}
.section--single-office .office-image img {
  border-radius: var(--border-radius);
  width: 100%;
  height: 100%;
  object-fit: cover;
  aspect-ratio: 1.2;
}
.section--single-office .office-image .office_swiper {
  border-radius: var(--border-radius);
  overflow: hidden;
}
.section--single-office .office-image .swiper-slide .image {
  display: flex;
  height: 100%;
}
.section--single-office .office-image:has(.office_swiper) {
  padding-bottom: 40px;
}
.section--single-office .office-image:has(.office_swiper) .swiper-pagination {
  bottom: 5px;
}
.section--single-office .office-image:has(.office_swiper) .swiper-pagination .swiper-pagination-bullet-active {
  background-color: #6AE79D;
}
.section--single-office .office-image .arrows > div {
  font-size: 0;
  width: 30px;
  height: 30px;
  top: auto;
  bottom: 0px;
}
.section--single-office .office-image .arrows > div:after {
  display: none;
}
.section--single-office .office-image .arrows > div svg {
  fill: #475565;
  transition: fill 0.3s;
}
.section--single-office .office-image .arrows > div:first-of-type {
  transform: rotate(180deg);
}
.section--single-office .office-image .arrows > div:hover svg {
  fill: #6AE79D;
}
.section--single-office .office_swiper, .section--single-office .swiper-wrapper {
  height: 100%;
}
.section--single-office h2 {
  margin-bottom: 1rem;
  margin-top: 0rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid #DEDEDE;
  line-height: 1;
  color: #475565;
}
.section--single-office h2 hr {
  margin-top: -0.5rem;
}
.section--single-office hr {
  margin: 0.5rem 0;
  border-color: #DEDEDE;
}
.section--single-office h2 span {
  font-family: "web-source", sans-serif;
  font-weight: normal;
  font-size: 1.25rem;
  line-height: 1.4;
  line-height: 1.3;
  text-wrap: pretty;
}
.section--single-office .copy {
  border-bottom: 1px solid #DEDEDE;
}
.section--single-office .price-promo-text {
  font-style: italic;
  border-radius: 5px;
  display: block;
  text-align: left;
  padding: 0.5rem 0rem;
  font-size: 0.875rem;
  line-height: 1;
}
.section--single-office .partner-logo {
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
  gap: 1rem;
  padding-bottom: 1rem;
}
.section--single-office .partner-logo span {
  font-size: clamp(1rem, 1.0416666667vw + 0rem, 1.75rem);
  line-height: 1.3;
}
.section--single-office .partner-logo img {
  max-height: 60px;
  max-width: 250px;
  width: auto;
  object-fit: contain;
}
.section--single-office .partner-logo img.portrait {
  max-height: 80px;
  max-width: 250px;
  object-fit: contain;
}
@media (max-width: 999px) {
  .section--single-office .office-text {
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
  }
  .section--single-office .office-image {
    margin-bottom: 1rem;
  }
  .section--single-office .office-image:has(.office_swiper) {
    margin-bottom: 2rem;
  }
  .section--single-office .office-image .arrows > div {
    width: 25px;
    height: 25px;
  }
  .section--single-office .buy-buttons {
    margin-top: 0.5rem;
    padding-top: 0.5rem;
    grid-column-start: 2;
    grid-column-end: 3;
    text-align: center;
    width: 100%;
  }
  .section--single-office .orcall a {
    width: 100%;
  }
}
@media (min-width: 1000px) {
  .section--single-office .copy {
    padding-top: 0.5rem;
  }
  .section--single-office .office-text {
    display: grid;
    grid-template-columns: 4fr 8fr;
    align-items: start;
    gap: 2%;
    grid-template-columns: 4.3fr 5fr 2.7fr;
  }
  .section--single-office .buy-buttons {
    padding-top: 0.5rem;
    grid-column-start: 3;
    grid-column-end: 4;
    text-align: left;
  }
}
@media (min-width: 1320px) {
  .section--single-office .office-text {
    grid-template-columns: 4fr 6fr 2fr;
  }
  .section--single-office .image {
    margin-right: 2%;
  }
  .section--single-office .copy {
    margin-left: 2%;
    padding-right: 5%;
  }
}

.single--product .kicker span {
  font-weight: bold;
}

.kicker:has(img) span {
  position: relative;
  color: transparent;
}
.kicker:has(img) img {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  object-fit: contain;
}

.portal-logo-insert {
  display: inline-block;
  margin-left: 0.2ch;
}
.portal-logo-insert svg {
  height: 1.8ch;
  width: auto;
}
.portal-logo-insert svg path {
  fill: #475565;
}

.section--single-office .orcall .cta, .section-intro .orcall .cta {
  font-size: 1rem;
  line-height: 2.6;
  font-weight: bold;
  letter-spacing: -0.01ch;
  color: #ffffff;
  border: 1px solid #475565;
  background-color: #475565;
  border-radius: var(--border-radius-small);
  padding: 0px 1.5rem;
  display: inline-block;
  text-align: center;
  height: auto;
  transition: color 0.3s, background-color 0.3s, border-color 0.3s;
  white-space: nowrap;
}
.section--single-office .orcall .cta:hover, .section-intro .orcall .cta:hover {
  color: #475565;
  border: 1px solid #6AE79D;
  background-color: #6AE79D;
}
@media (max-width: 520px) {
  .section--single-office .orcall .cta, .section-intro .orcall .cta {
    width: 100%;
  }
}
.section--single-office .buy-buttons p, .section-intro .buy-buttons p {
  margin-bottom: 0;
}
.section--single-office .buy-buttons .from, .section-intro .buy-buttons .from {
  display: block;
}
.section--single-office .buy-buttons .price-full, .section-intro .buy-buttons .price-full {
  display: inline-block;
}
.section--single-office .buy-buttons .price-full span, .section-intro .buy-buttons .price-full span {
  padding-left: 0.07ch;
  font-size: 3rem;
  line-height: 1.1;
  font-weight: normal;
  text-wrap: balance;
}
@media (max-width: 519px) {
  .section--single-office .buy-buttons .price-full span, .section-intro .buy-buttons .price-full span {
    font-size: 2rem;
    line-height: 1.1;
  }
}
.section--single-office .buy-buttons .price-full span, .section-intro .buy-buttons .price-full span {
  font-weight: 700;
}
@media (min-width: 1000px) {
  .section--single-office .buy-buttons .cta, .section-intro .buy-buttons .cta {
    min-width: inherit;
    width: 100%;
  }
}

@media (max-width: 678px) {
  .section-intro .buy-buttons {
    text-align: center;
  }
}

.custom-marker {
  width: clamp(100px, 10vw, 200px);
  aspect-ratio: 0.96;
  display: block;
  position: absolute;
  background-image: url(https://www.virtualoffice-london.co.uk/wp-content/themes/virtually-2025/css/../images/svg/marker.svg);
  background-size: 100%;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  color: transparent !important;
  font-size: 0 !important;
  transform: translate(-50%, -100%);
}
.custom-marker::after {
  content: "";
  position: absolute;
  width: 42%;
  top: 24%;
  aspect-ratio: 1;
  background-color: #1a708a;
  border-radius: 50px;
  display: block;
  background-image: var(--marker-image);
  background-size: cover;
  background-position: center;
}

/* Tabs */
.office-tabs input[type=radio] {
  display: none;
}

.office-tabs {
  padding: 1rem 0;
}
.office-tabs > h3 {
  margin-bottom: 1rem;
}

.tab-panel img {
  object-fit: cover;
  border-radius: var(--border-radius);
}
.tab-panel h2, .tab-panel h3 {
  font-size: 2.25rem;
  line-height: 1.2;
  font-weight: normal;
  text-wrap: balance;
  border: none;
  margin-bottom: 1rem;
  padding: 0;
}
@media (max-width: 519px) {
  .tab-panel h2, .tab-panel h3 {
    font-size: 1.5rem;
    line-height: 1.2;
  }
}
.tab-panel ul {
  margin-bottom: 1rem;
  margin-left: 3ch;
  list-style: none;
}
.tab-panel ul li::before {
  content: "";
  position: absolute;
  background-image: url(https://www.virtualoffice-london.co.uk/wp-content/themes/virtually-2025/css/../images/svg/tick.svg);
  display: inline-block;
  background-position: center;
  background-size: auto 1.2ch;
  background-repeat: no-repeat;
  width: 3ch;
  height: 1.6ch;
  color: #6AE79D;
  top: 0.2ch;
  left: -3ch;
}
.tab-panel ul > li {
  font-weight: bold;
  margin-bottom: 0.7em;
  position: relative;
  font-size: 1.5rem;
  line-height: 1.2;
}
@media (max-width: 519px) {
  .tab-panel ul > li {
    font-size: 1.125rem;
    line-height: 1.2;
  }
}
.tab-panel ul > li:last-of-type {
  margin-bottom: 0;
}
.tab-panel ul li {
  font-weight: normal;
}

@media (max-width: 677px) {
  .tab-nav {
    z-index: 2;
    padding: 0.5rem 0;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.5rem;
    margin-top: 1rem;
    position: sticky;
    top: 110px;
    background-color: #F3F8F3;
  }
  .tab-nav label {
    display: block;
    color: #475565;
    padding: 0.3rem 0.5rem;
    border-radius: var(--border-radius-small);
    background-color: rgba(0, 0, 0, 0.05);
    font-weight: bold;
    font-size: clamp(1rem, 1.0416666667vw + 0rem, 1.75rem);
    line-height: 1.3;
  }
  .tab-nav label svg {
    display: none;
  }
  .tab-panel {
    display: none;
    padding: 0.8rem 0;
    gap: 1rem;
  }
  .tab-panel .wysiwyg {
    padding-top: 0.5rem;
  }
  .tab-panel img {
    aspect-ratio: 1.5;
  }
  #office_tab1:checked ~ .tab-nav label[for=office_tab1] {
    background-color: #6AE79D;
  }
  #office_tab1:checked ~ .tab-nav label[for=office_tab1] svg {
    fill: #6AE79D;
    transform: rotate(180deg);
  }
  #office_tab1:checked ~ .tab-panels #office_tab_content1 {
    display: grid;
  }
  #office_tab2:checked ~ .tab-nav label[for=office_tab2] {
    background-color: #6AE79D;
  }
  #office_tab2:checked ~ .tab-nav label[for=office_tab2] svg {
    fill: #6AE79D;
    transform: rotate(180deg);
  }
  #office_tab2:checked ~ .tab-panels #office_tab_content2 {
    display: grid;
  }
  #office_tab3:checked ~ .tab-nav label[for=office_tab3] {
    background-color: #6AE79D;
  }
  #office_tab3:checked ~ .tab-nav label[for=office_tab3] svg {
    fill: #6AE79D;
    transform: rotate(180deg);
  }
  #office_tab3:checked ~ .tab-panels #office_tab_content3 {
    display: grid;
  }
  #office_tab4:checked ~ .tab-nav label[for=office_tab4] {
    background-color: #6AE79D;
  }
  #office_tab4:checked ~ .tab-nav label[for=office_tab4] svg {
    fill: #6AE79D;
    transform: rotate(180deg);
  }
  #office_tab4:checked ~ .tab-panels #office_tab_content4 {
    display: grid;
  }
  #office_tab5:checked ~ .tab-nav label[for=office_tab5] {
    background-color: #6AE79D;
  }
  #office_tab5:checked ~ .tab-nav label[for=office_tab5] svg {
    fill: #6AE79D;
    transform: rotate(180deg);
  }
  #office_tab5:checked ~ .tab-panels #office_tab_content5 {
    display: grid;
  }
  #office_tab6:checked ~ .tab-nav label[for=office_tab6] {
    background-color: #6AE79D;
  }
  #office_tab6:checked ~ .tab-nav label[for=office_tab6] svg {
    fill: #6AE79D;
    transform: rotate(180deg);
  }
  #office_tab6:checked ~ .tab-panels #office_tab_content6 {
    display: grid;
  }
  #office_tab7:checked ~ .tab-nav label[for=office_tab7] {
    background-color: #6AE79D;
  }
  #office_tab7:checked ~ .tab-nav label[for=office_tab7] svg {
    fill: #6AE79D;
    transform: rotate(180deg);
  }
  #office_tab7:checked ~ .tab-panels #office_tab_content7 {
    display: grid;
  }
  #office_tab8:checked ~ .tab-nav label[for=office_tab8] {
    background-color: #6AE79D;
  }
  #office_tab8:checked ~ .tab-nav label[for=office_tab8] svg {
    fill: #6AE79D;
    transform: rotate(180deg);
  }
  #office_tab8:checked ~ .tab-panels #office_tab_content8 {
    display: grid;
  }
  #office_tab9:checked ~ .tab-nav label[for=office_tab9] {
    background-color: #6AE79D;
  }
  #office_tab9:checked ~ .tab-nav label[for=office_tab9] svg {
    fill: #6AE79D;
    transform: rotate(180deg);
  }
  #office_tab9:checked ~ .tab-panels #office_tab_content9 {
    display: grid;
  }
  #office_tab10:checked ~ .tab-nav label[for=office_tab10] {
    background-color: #6AE79D;
  }
  #office_tab10:checked ~ .tab-nav label[for=office_tab10] svg {
    fill: #6AE79D;
    transform: rotate(180deg);
  }
  #office_tab10:checked ~ .tab-panels #office_tab_content10 {
    display: grid;
  }
}
@media (min-width: 678px) {
  .tab-nav {
    padding: 1.5rem 0;
    display: flex;
    align-items: center;
    gap: 2rem;
    border-top: 1px solid #DEDEDE;
    border-bottom: 1px solid #DEDEDE;
    margin-top: 1rem;
  }
  .tab-nav label {
    display: inline-flex;
    align-items: baseline;
    color: #475565;
    gap: 0.8rem;
    font-weight: bold;
  }
  .tab-nav label svg {
    transition: transform 0.3s, color 0.3s;
  }
  .tab-panel {
    display: none;
    padding: 0.8rem 0;
    gap: 2rem;
  }
  .tab-panel:has(.image) {
    grid-template-columns: 2fr 5fr;
    align-items: start;
  }
  .tab-panel .wysiwyg {
    padding-top: 0.5rem;
  }
  .tab-panel img {
    aspect-ratio: 1.1;
  }
  #office_tab1:checked ~ .tab-nav label[for=office_tab1] {
    color: #6AE79D;
  }
  #office_tab1:checked ~ .tab-nav label[for=office_tab1] svg {
    fill: #6AE79D;
    transform: rotate(180deg);
  }
  #office_tab1:checked ~ .tab-panels #office_tab_content1 {
    display: grid;
  }
  #office_tab2:checked ~ .tab-nav label[for=office_tab2] {
    color: #6AE79D;
  }
  #office_tab2:checked ~ .tab-nav label[for=office_tab2] svg {
    fill: #6AE79D;
    transform: rotate(180deg);
  }
  #office_tab2:checked ~ .tab-panels #office_tab_content2 {
    display: grid;
  }
  #office_tab3:checked ~ .tab-nav label[for=office_tab3] {
    color: #6AE79D;
  }
  #office_tab3:checked ~ .tab-nav label[for=office_tab3] svg {
    fill: #6AE79D;
    transform: rotate(180deg);
  }
  #office_tab3:checked ~ .tab-panels #office_tab_content3 {
    display: grid;
  }
  #office_tab4:checked ~ .tab-nav label[for=office_tab4] {
    color: #6AE79D;
  }
  #office_tab4:checked ~ .tab-nav label[for=office_tab4] svg {
    fill: #6AE79D;
    transform: rotate(180deg);
  }
  #office_tab4:checked ~ .tab-panels #office_tab_content4 {
    display: grid;
  }
  #office_tab5:checked ~ .tab-nav label[for=office_tab5] {
    color: #6AE79D;
  }
  #office_tab5:checked ~ .tab-nav label[for=office_tab5] svg {
    fill: #6AE79D;
    transform: rotate(180deg);
  }
  #office_tab5:checked ~ .tab-panels #office_tab_content5 {
    display: grid;
  }
  #office_tab6:checked ~ .tab-nav label[for=office_tab6] {
    color: #6AE79D;
  }
  #office_tab6:checked ~ .tab-nav label[for=office_tab6] svg {
    fill: #6AE79D;
    transform: rotate(180deg);
  }
  #office_tab6:checked ~ .tab-panels #office_tab_content6 {
    display: grid;
  }
  #office_tab7:checked ~ .tab-nav label[for=office_tab7] {
    color: #6AE79D;
  }
  #office_tab7:checked ~ .tab-nav label[for=office_tab7] svg {
    fill: #6AE79D;
    transform: rotate(180deg);
  }
  #office_tab7:checked ~ .tab-panels #office_tab_content7 {
    display: grid;
  }
  #office_tab8:checked ~ .tab-nav label[for=office_tab8] {
    color: #6AE79D;
  }
  #office_tab8:checked ~ .tab-nav label[for=office_tab8] svg {
    fill: #6AE79D;
    transform: rotate(180deg);
  }
  #office_tab8:checked ~ .tab-panels #office_tab_content8 {
    display: grid;
  }
  #office_tab9:checked ~ .tab-nav label[for=office_tab9] {
    color: #6AE79D;
  }
  #office_tab9:checked ~ .tab-nav label[for=office_tab9] svg {
    fill: #6AE79D;
    transform: rotate(180deg);
  }
  #office_tab9:checked ~ .tab-panels #office_tab_content9 {
    display: grid;
  }
  #office_tab10:checked ~ .tab-nav label[for=office_tab10] {
    color: #6AE79D;
  }
  #office_tab10:checked ~ .tab-nav label[for=office_tab10] svg {
    fill: #6AE79D;
    transform: rotate(180deg);
  }
  #office_tab10:checked ~ .tab-panels #office_tab_content10 {
    display: grid;
  }
}
.post-section {
  margin-top: var(--mb);
  margin-bottom: var(--mb);
  position: relative;
}
.post-section .copy, .post-section h2, .post-section h3 {
  width: 100%;
}
@media (min-width: 678px) {
  .post-section.layout-left, .post-section.layout-right {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  .post-section.layout-right {
    flex-direction: row-reverse;
  }
  .post-section.size-half figure {
    width: 46%;
  }
  .post-section.size-half .copy {
    width: 49%;
  }
  .post-section.size-quarter figure {
    width: 25%;
  }
  .post-section.size-quarter .copy {
    width: 70%;
  }
}
@media (max-width: 677px) {
  .post-section figure {
    margin-bottom: 2rem;
    margin-top: 2rem;
  }
}

.section--office-map {
  padding-top: var(--padding);
  padding-bottom: var(--padding);
}
.section--office-map .office-pin {
  position: absolute;
  width: min(3.5rem, 100px);
  aspect-ratio: 0.65;
  overflow: hidden;
  background-repeat: no-repeat;
  transform: translateX(-50%) rotateZ(1.7deg);
  transform-origin: bottom center;
  filter: drop-shadow(0px 0px 4px rgba(0, 0, 0, 0.5));
}
.section--office-map .office-pin svg {
  width: auto;
  height: 100%;
  fill: #fff;
}
.section--office-map .office-pin svg .hover {
  fill: transparent;
  transition: fill 0.3s, stroke 0.3s;
  stroke: transparent;
  stroke-width: 8px;
}
.section--office-map .office-pin .image {
  position: absolute;
  border-radius: 50px;
  overflow: hidden;
  aspect-ratio: 1;
  width: 80%;
  left: 10%;
  top: 5%;
  height: auto;
}
.section--office-map .office-pin .image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.section--office-map .office-pin.active {
  z-index: 100;
  cursor: pointer;
}
.section--office-map .office-pin.active svg .hover {
  stroke: #6AE79D;
  fill: #6AE79D;
}
.section--office-map img {
  width: 100%;
  height: auto;
}
.section--office-map h2 {
  margin-bottom: 1rem;
}
.section--office-map .office-tile {
  position: relative;
}
.section--office-map .office-tile address {
  font-style: normal;
}
.section--office-map .office-tile .details {
  padding-left: 0.5rem;
}
.section--office-map .office-tile .details h3 {
  font-size: 2rem;
  line-height: 1.2;
}
@media (max-width: 519px) {
  .section--office-map .office-tile .details h3 {
    font-size: 1.625rem;
    line-height: 1.2;
  }
}
.section--office-map .office-tile .image {
  border-radius: var(--border-radius);
  overflow: hidden;
  aspect-ratio: 1.4;
  margin-bottom: 1rem;
}
.section--office-map .office-tile .image img {
  height: 100%;
  width: 100%;
  object-fit: cover;
}
.section--office-map .map-holder {
  margin: 3rem 0 0 0;
  width: 100%;
  max-width: 750px;
  position: relative;
  display: inline-flex;
  height: fit-content;
  transform: rotateZ(-1.7deg) translateY(-5%);
}
.section--office-map .checks {
  position: absolute;
  background-color: white;
}
@media (max-width: 999px) {
  .section--office-map {
    display: none;
  }
  .section--office-map .office-tiles {
    padding-top: 3rem;
    padding-bottom: 3rem;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2%;
    row-gap: 2rem;
  }
  .section--office-map .office-tiles .image {
    aspect-ratio: 1.5;
    margin-bottom: 1rem;
  }
  .section--office-map .col--map {
    display: none;
  }
}
@media (max-width: 519px) {
  .section--office-map .office-tiles {
    grid-template-columns: 1fr;
    gap: 2%;
    row-gap: 2rem;
  }
}
@media (min-width: 1000px) {
  .section--office-map .office-tile {
    position: relative;
    display: none;
    max-width: 400px;
  }
  .section--office-map .office-tile.show-office {
    display: block;
    -webkit-animation-duration: 0.3s;
    animation-duration: 0.3s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
    animation-delay: 0s;
    -webkit-animation-delay: 0s;
    animation-timing-function: linear;
    -webkit-animation-timing-function: linear;
    -webkit-animation-name: fadeInKs;
    animation-name: fadeInKs;
  }
  .section--office-map .office-tile .image {
    border-radius: var(--border-radius);
    overflow: hidden;
  }
  .section--office-map .col--map {
    width: 48%;
  }
  .section--office-map .col--offices {
    position: sticky;
    top: 140px;
    z-index: 1;
    height: auto;
    width: 48%;
    max-width: var(--text-maxwidth-half);
  }
  .section--office-map .office-tiles {
    margin-bottom: 0rem;
    margin-top: 4rem;
  }
  .section--office-map .content {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    gap: 4%;
  }
}
@media (min-width: 1440px) {
  .section--office-map .office-tile {
    max-width: 500px;
  }
  .section--office-map .content {
    gap: 2%;
  }
  .section--office-map .col--map {
    width: 54%;
  }
  .section--office-map .col--offices {
    width: 44%;
  }
}

.section--pricing {
  padding-top: var(--padding);
  padding-bottom: var(--padding);
  background-color: #F3F8F3;
}
.section--pricing .content-extras {
  margin-top: 3rem;
}
.section--pricing .content-extras .columns {
  margin-top: 1rem;
}
.section--pricing .columns {
  display: flex;
  gap: 2%;
  margin-top: 3rem;
}
.section--pricing .column--key {
  width: 35%;
  padding-top: 150px;
}
.section--pricing .column--key.column--key-extras {
  padding-top: 0;
}
.section--pricing .column--key p {
  line-height: 1.1;
  text-wrap: pretty;
}
.section--pricing h3.extras-title {
  width: 35%;
  font-size: clamp(1rem, 1.0416666667vw + 0rem, 1.75rem);
  line-height: 1.3;
  font-weight: bold;
  text-align: right;
  text-transform: uppercase;
}
.section--pricing h2 em,
.section--pricing h2 strong,
.section--pricing h2 b {
  color: #6AE79D;
  font-style: normal;
  font-weight: bold;
  display: inline-block;
  position: relative;
}
.section--pricing h2 em::after,
.section--pricing h2 strong::after,
.section--pricing h2 b::after {
  content: "";
  width: 3ch;
  aspect-ratio: 1.8;
  position: absolute;
  display: block;
  top: -70%;
  right: 0;
  background-image: url(https://www.virtualoffice-london.co.uk/wp-content/themes/virtually-2025/css/../images/svg/flair.svg);
  background-size: contain;
}
.section--pricing .column > * {
  display: block;
  height: 54px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: height 0.3s;
  overflow: hidden;
  margin-bottom: 0;
}
.section--pricing .column--key > * {
  justify-content: flex-end;
  text-align: right;
}
.section--pricing .column--product {
  flex: 1;
  max-width: 400px;
}
.section--pricing .column--product h3 {
  height: 100px;
  text-align: center;
  padding: 0 1rem;
  font-family: "web-source", sans-serif;
  font-weight: normal;
  font-size: 1.25rem;
  line-height: 1.4;
  line-height: 1.3;
  text-wrap: pretty;
  font-weight: bold;
  background-color: #ffffff;
  border: 1px solid #475565;
  border-bottom: 0;
  border-radius: var(--border-radius) var(--border-radius) 0 0;
}
.section--pricing .column--product span.icon {
  font-size: 2rem;
  line-height: 1.2;
}
@media (max-width: 519px) {
  .section--pricing .column--product span.icon {
    font-size: 1.625rem;
    line-height: 1.2;
  }
}
.section--pricing .column--product span.icon.tick {
  color: #6AE79D;
}
.section--pricing .column--product span.icon.cross {
  color: #B54A4A;
}
.section--pricing .column--extras {
  flex: 1;
  background-color: white;
  border-radius: var(--border-radius);
  padding: 0 1rem;
}
.section--pricing .column--extras div {
  display: flex;
  align-items: center;
  font-size: clamp(1rem, 1.0416666667vw + 0rem, 1.75rem);
  line-height: 1.3;
}
.section--pricing .column--extras div p {
  margin-bottom: 0;
}
.section--pricing .column--extras div strong {
  padding-left: 0.1ch;
  font-size: 1.5rem;
  line-height: 1.2;
}
@media (max-width: 519px) {
  .section--pricing .column--extras div strong {
    font-size: 1.125rem;
    line-height: 1.2;
  }
}
.section--pricing .column--extras div:not(:last-of-type) {
  border-bottom: 1px solid #DEDEDE;
}
.section--pricing .product-price {
  height: 150px;
  background-color: #ffffff;
  border: 1px solid #475565;
  border-top: 0;
  border-radius: 0 0 var(--border-radius) var(--border-radius);
  flex-direction: column;
  text-align: center;
  font-size: clamp(1rem, 1.0416666667vw + 0rem, 1.75rem);
  line-height: 1.3;
}
.section--pricing .product-price p {
  margin-bottom: 0;
}
.section--pricing .product-price strong {
  font-size: 3rem;
  line-height: 1.1;
  font-weight: normal;
  text-wrap: balance;
}
@media (max-width: 519px) {
  .section--pricing .product-price strong {
    font-size: 2rem;
    line-height: 1.1;
  }
}
.section--pricing .product-price strong {
  font-weight: bold;
}
.section--pricing .product-price .per {
  font-size: clamp(1rem, 1.0416666667vw + 0rem, 1.75rem);
  line-height: 1.3;
}
.section--pricing .product-has {
  width: 100%;
  padding: 0 1rem;
  border-left: 1px solid #475565;
  border-right: 1px solid #475565;
  background-color: #ffffff;
}
.section--pricing .product-has span {
  border-bottom: 1px solid #DEDEDE;
  display: flex;
  width: 100%;
  height: 100%;
  justify-content: center;
  align-items: center;
}
.section--pricing .save-bar {
  color: #ffffff;
  background-color: #475565;
  font-weight: bold;
  text-align: center;
  line-height: 1;
  padding: 0 0.5rem;
}
.section--pricing .price-toggle {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-right: 0;
}
.section--pricing .toggle {
  width: 5rem;
  height: 2rem;
  border-radius: 1rem;
  border: 2px solid #475565;
  background-color: #ffffff;
  position: relative;
  display: flex;
}
.section--pricing .toggle::before {
  content: "";
  position: absolute;
  width: 1.4rem;
  height: 1.4rem;
  background-color: #475565;
  border-radius: 1rem;
  top: 50%;
  left: calc(100% - 1.4rem - 2px);
  transform: translate(0, -50%);
  transition: transform 0.3s ease-out, left 0.3s ease-out;
}
.section--pricing .buy-button {
  margin-top: 1.5rem;
}
.section--pricing .buy-button .cta {
  width: calc(100% - 2rem);
}
.section--pricing .info-button {
  appearance: none;
  border-radius: 20px;
  background-color: transparent;
  border: 1px solid #475565;
  width: 1.5em;
  aspect-ratio: 1;
  margin-left: 0.5rem;
  transition: background-color 0.3s, border-color 0.3s, color 0.3s;
}
.section--pricing .info-button:hover {
  cursor: pointer;
  border-color: #6AE79D;
  color: #6AE79D;
}
@media (max-width: 999px) {
  .section--pricing .copy {
    display: flex;
    flex-direction: column;
    gap: 1rem;
  }
  .section--pricing h2 {
    width: 100%;
    text-align: center;
  }
  .section--pricing h3.extras-title {
    width: 100%;
    text-align: center;
  }
  .section--pricing .price-toggle {
    margin-left: auto;
    margin-right: auto;
  }
  .section--pricing .column--key {
    width: 80%;
    display: none;
    font-size: clamp(1rem, 1.0416666667vw + 0rem, 1.75rem);
    line-height: 1.3;
    position: absolute;
  }
  .section--pricing .column--key > * {
    justify-content: flex-start;
    text-align: left;
    padding-left: 1rem;
  }
  .section--pricing .column--product {
    width: 100%;
    flex: auto;
  }
  .section--pricing .column--product h3 {
    height: auto;
    padding: 1.2rem 1rem 1rem 1rem;
    width: 100%;
    position: relative;
    justify-content: flex-start;
  }
  .section--pricing .product-has span {
    justify-content: flex-end;
    width: 10%;
  }
  .section--pricing .product-has .mobile-only {
    font-size: 0.75rem;
    line-height: 1;
    width: 90%;
    height: 100%;
    border-bottom: 1px solid #DEDEDE;
    align-items: center;
    display: flex;
  }
  .section--pricing .product-has .mobile-only p {
    margin-bottom: 0;
  }
  .section--pricing .columns {
    flex-direction: column;
    align-items: center;
    row-gap: 0.6rem;
    margin-top: 1rem;
  }
  .section--pricing .product-price {
    height: auto;
    padding: 1rem 0;
    border-radius: 0;
    border-bottom: 0;
  }
  .section--pricing .product-price .show-annual,
  .section--pricing .product-price .show-month {
    display: flex;
    align-items: flex-end;
    gap: 0.3rem;
  }
  .section--pricing .product-price .show-annual br,
  .section--pricing .product-price .show-month br {
    display: none;
  }
  .section--pricing .product-price strong {
    display: inline-block;
    margin-bottom: -0.2rem;
  }
  .section--pricing .buy-button {
    margin-top: 0;
    background-color: #ffffff;
    border: 1px solid #475565;
    border-top: 0;
    padding-bottom: 1rem;
    height: auto;
    border-radius: 0 0 var(--border-radius) var(--border-radius);
  }
  .section--pricing .column--extras {
    width: 100%;
  }
  .section--pricing .column--extras .mobile-only {
    font-size: 0.75rem;
    line-height: 1;
    flex: 1;
  }
  .section--pricing .column--extras .row {
    width: 100%;
    justify-content: flex-start;
  }
  .section--pricing .info-button {
    font-size: 0.6875rem;
    line-height: 1.4;
    text-align: center;
    width: 1.4em;
    line-height: 0.9;
  }
  .section--pricing .mobile-open {
    position: absolute;
    height: 100%;
    aspect-ratio: 1;
    right: 0;
    top: 0;
    font-size: 0;
    color: transparent;
  }
  .section--pricing .mobile-open::after {
    content: "";
    position: absolute;
    display: block;
    height: 100%;
    width: 100%;
    background-image: url(https://www.virtualoffice-london.co.uk/wp-content/themes/virtually-2025/css/../images/svg/cross.svg);
    background-size: 22%;
    background-repeat: no-repeat;
    background-position: center;
    transform: rotate(0deg);
    transition: transform 0.3s ease-in-out;
  }
  .section--pricing .column--product:not(.open) .mobile-open::after {
    transform: rotate(45deg);
  }
  .section--pricing .column--product:not(.open) .product-has,
  .section--pricing .column--product:not(.open) .save-bar {
    height: 0;
  }
}
@media (min-width: 1000px) {
  .section--pricing {
    padding-top: clamp(0.75rem, 2vw, 2rem);
  }
  .section--pricing .mobile-only {
    display: none !important;
  }
  .section--pricing .copy {
    padding-top: clamp(0.75rem, 2vw, 2rem);
    padding-bottom: clamp(0.75rem, 2vw, 2rem);
    display: flex;
    gap: 2%;
    justify-content: space-between;
    position: sticky;
    top: calc(var(--nav-height) + 2rem);
    background-color: #F3F8F3;
    z-index: 2;
  }
}

.section--pricing.monthly-pricing .show-annual {
  display: none;
}
.section--pricing.monthly-pricing .toggle::before {
  left: 2px;
}
.section--pricing.monthly-pricing .label-monthly {
  opacity: 1;
}
.section--pricing.monthly-pricing .label-yearly {
  opacity: 0.6;
}
.section--pricing.monthly-pricing .product-has .show-month .icon {
  -webkit-animation-duration: 0.2s;
  animation-duration: 0.2s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  animation-delay: 0;
  -webkit-animation-delay: 0;
  animation-timing-function: linear;
  -webkit-animation-timing-function: linear;
  -webkit-animation-name: fadeInKs;
  animation-name: fadeInKs;
}

.section--pricing:not(.monthly-pricing) .show-month {
  display: none;
}
.section--pricing:not(.monthly-pricing) .label-yearly {
  opacity: 1;
}
.section--pricing:not(.monthly-pricing) .label-monthly {
  opacity: 0.6;
}
.section--pricing:not(.monthly-pricing) .product-has .show-annual .icon {
  -webkit-animation-duration: 0.2s;
  animation-duration: 0.2s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  animation-delay: 0;
  -webkit-animation-delay: 0;
  animation-timing-function: linear;
  -webkit-animation-timing-function: linear;
  -webkit-animation-name: fadeInKs;
  animation-name: fadeInKs;
}

[popover].information {
  overflow: visible;
  display: none;
}
[popover].information button {
  position: absolute;
  top: -0.7rem;
  right: -0.7rem;
  font-size: 1rem;
  border-radius: 2rem;
  aspect-ratio: 1;
  width: 2rem;
  border: none;
  transition: background-color 0.3s;
}
[popover].information button:hover {
  cursor: pointer;
  background-color: #6AE79D;
}
[popover].information p {
  font-size: 1rem;
  line-height: 1.4;
}
[popover].information:popover-open {
  padding: 1.5rem 2rem;
  border-radius: 0.5rem;
  border: none;
  width: clamp(300px, 60vw, 550px);
  height: fit-content;
  text-align: left;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  display: block;
  opacity: 1;
}
[popover].information:popover-open > :last-child {
  margin-bottom: 0;
}
[popover].information::backdrop {
  background: rgba(0, 0, 0, 0.8);
}

.section-statistics {
  position: relative;
  display: flex;
  align-items: center;
  padding-top: var(--padding);
  padding-bottom: var(--padding);
}
.section-statistics h2 br {
  display: none;
}
.section-statistics h2 {
  margin-bottom: 2rem;
}
.section-statistics .content {
  display: flex;
  flex-direction: column;
  background-color: #F3F8F3;
  z-index: 1;
  height: 100%;
  padding: var(--padding) min(4%, 5rem);
}
.section-statistics .content a:not(.cta) {
  text-decoration: underline;
  transition: text-decoration-color 0.3s;
  text-underline-offset: 0.3ch;
}
.section-statistics .content a:not(.cta):hover {
  text-decoration-color: transparent;
}
.section-statistics .content ul {
  margin-bottom: 1rem;
  margin-left: 3ch;
  list-style: none;
}
.section-statistics .content ul li::before {
  content: "";
  position: absolute;
  background-image: url(https://www.virtualoffice-london.co.uk/wp-content/themes/virtually-2025/css/../images/svg/tick.svg);
  display: inline-block;
  background-position: center;
  background-size: auto 1.2ch;
  background-repeat: no-repeat;
  width: 3ch;
  height: 1.6ch;
  color: #6AE79D;
  top: 0.5ch;
  left: -3.5ch;
}
.section-statistics .content ul > li {
  font-weight: bold;
  margin-bottom: 0.7em;
  position: relative;
}
.section-statistics .content ul > li:last-of-type {
  margin-bottom: 0;
}
.section-statistics .content ol {
  counter-reset: item;
  margin-left: 20px;
  margin-bottom: var(--mb);
}
.section-statistics .content ol li {
  list-style: none;
}
.section-statistics .content ol > li:before {
  position: absolute;
  content: counters(item, ".") ". ";
  counter-increment: item;
  left: -20px;
}
.section-statistics .content ol > li {
  margin-bottom: 0.7em;
  position: relative;
}
.section-statistics .content ol > li > ol > li > ol > li {
  padding-left: 50px;
}
.section-statistics .content ol > li:last-of-type {
  margin-bottom: 0;
}
.section-statistics .content ol li ul {
  margin-top: 0.5em;
}
.section-statistics .content h3, .section-statistics .content h4 {
  margin-bottom: 1rem;
}
.section-statistics .content * + p:has(strong),
.section-statistics .content * + p:has(.cta),
.section-statistics .content * + .cta {
  margin-top: 2rem;
}
.section-statistics .content table {
  width: 150%;
  max-width: calc(100vw - 2 * var(--outer));
  overflow: scroll;
  font-size: 1rem;
  line-height: 1.4;
  margin-bottom: 2rem;
}
.section-statistics .content table thead {
  background-color: #475565;
  color: #ffffff;
}
.section-statistics .content table td, .section-statistics .content table th {
  padding: 0.5rem 0.5rem;
  border: 1px solid #DEDEDE;
}
.section-statistics .content table ul {
  list-style: disc;
}
.section-statistics .content table ul > li::before {
  display: none;
}
.section-statistics .content table ul > li {
  display: list-item;
  font-weight: normal;
}
@media (max-width: 519px) {
  .section-statistics .content table {
    font-size: 0.6875rem;
    line-height: 1.4;
  }
}
.section-statistics.stat-bg-white .content {
  background-color: #ffffff;
}
.section-statistics br + .cta {
  margin-top: var(--mb);
}
.section-statistics .text {
  max-width: var(--text-maxwidth-half);
}
.section-statistics .copy a:not(.cta) {
  text-decoration: underline;
  transition: text-decoration-color 0.3s;
  text-underline-offset: 0.3ch;
}
.section-statistics .copy a:not(.cta):hover {
  text-decoration-color: transparent;
}
.section-statistics .copy ul {
  margin-bottom: 1rem;
  margin-left: 3ch;
  list-style: none;
}
.section-statistics .copy ul li::before {
  content: "";
  position: absolute;
  background-image: url(https://www.virtualoffice-london.co.uk/wp-content/themes/virtually-2025/css/../images/svg/tick.svg);
  display: inline-block;
  background-position: center;
  background-size: auto 1.2ch;
  background-repeat: no-repeat;
  width: 3ch;
  height: 1.6ch;
  color: #6AE79D;
  top: 0.5ch;
  left: -3.5ch;
}
.section-statistics .copy ul > li {
  font-weight: bold;
  margin-bottom: 0.7em;
  position: relative;
}
.section-statistics .copy ul > li:last-of-type {
  margin-bottom: 0;
}
.section-statistics .copy ol {
  counter-reset: item;
  margin-left: 20px;
  margin-bottom: var(--mb);
}
.section-statistics .copy ol li {
  list-style: none;
}
.section-statistics .copy ol > li:before {
  position: absolute;
  content: counters(item, ".") ". ";
  counter-increment: item;
  left: -20px;
}
.section-statistics .copy ol > li {
  margin-bottom: 0.7em;
  position: relative;
}
.section-statistics .copy ol > li > ol > li > ol > li {
  padding-left: 50px;
}
.section-statistics .copy ol > li:last-of-type {
  margin-bottom: 0;
}
.section-statistics .copy ol li ul {
  margin-top: 0.5em;
}
.section-statistics .copy h3, .section-statistics .copy h4 {
  margin-bottom: 1rem;
}
.section-statistics .copy * + p:has(strong),
.section-statistics .copy * + p:has(.cta),
.section-statistics .copy * + .cta {
  margin-top: 2rem;
}
.section-statistics .copy table {
  width: 150%;
  max-width: calc(100vw - 2 * var(--outer));
  overflow: scroll;
  font-size: 1rem;
  line-height: 1.4;
  margin-bottom: 2rem;
}
.section-statistics .copy table thead {
  background-color: #475565;
  color: #ffffff;
}
.section-statistics .copy table td, .section-statistics .copy table th {
  padding: 0.5rem 0.5rem;
  border: 1px solid #DEDEDE;
}
.section-statistics .copy table ul {
  list-style: disc;
}
.section-statistics .copy table ul > li::before {
  display: none;
}
.section-statistics .copy table ul > li {
  display: list-item;
  font-weight: normal;
}
@media (max-width: 519px) {
  .section-statistics .copy table {
    font-size: 0.6875rem;
    line-height: 1.4;
  }
}
.section-statistics .illy-holder {
  z-index: 2;
  width: 100%;
}
.section-statistics .illy-holder .illy {
  width: 100%;
  height: 100%;
  max-width: var(--max-width);
  margin-left: auto;
  margin-right: auto;
  display: flex;
  position: relative;
}
.section-statistics .illy-holder .image {
  width: 100%;
  height: 100%;
}
.section-statistics .illy-holder img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.section-statistics .stats-holder {
  display: grid;
  gap: 1rem;
  justify-content: center;
  position: relative;
}
.section-statistics .stats-holder .stat-item {
  border: 2px solid rgba(71, 85, 101, 0.6);
  padding: 1.5rem 1rem 1rem 1rem;
  border-radius: var(--border-radius);
  position: relative;
  background-color: #ffffff;
}
.section-statistics .stats-holder .stat-item .kicker, .section-statistics .stats-holder .stat-item .stat-text {
  display: block;
}
.section-statistics .stats-holder .stat-item .kicker {
  color: #475565;
  font-weight: normal;
  position: absolute;
  top: 0.5rem;
  left: 0;
  width: 100%;
  text-align: center;
  font-size: 1.25rem;
  line-height: 1.4;
  font-weight: bold;
}
.section-statistics .stats-holder .stat-item .stat {
  color: #6AE79D;
  position: relative;
  font-weight: bold;
  font-size: clamp(3.125rem, 5.5555555556vw + 0rem, 5rem);
}
.section-statistics .stats-holder .stat-item .prepend, .section-statistics .stats-holder .stat-item .append {
  color: #6AE79D;
  font-weight: bold;
  font-size: 2.0625rem;
  line-height: 1.4;
}
.section-statistics .stats-holder .stat-item .stat-text {
  font-weight: bold;
  text-align: center;
  margin-bottom: 0.5rem;
  margin-top: -0.5rem;
}
.section-statistics .stats-holder .stat-item .comma {
  font-size: 2rem;
  line-height: 1.2;
}
@media (max-width: 519px) {
  .section-statistics .stats-holder .stat-item .comma {
    font-size: 1.625rem;
    line-height: 1.2;
  }
}
.section-statistics .stats-holder .stat-item .stat-number {
  text-align: center;
}
@media (max-width: 999px) {
  .section-statistics {
    display: flex;
    flex-direction: column;
    padding-bottom: 0;
  }
  .section-statistics .content {
    row-gap: 2rem;
    flex-direction: column-reverse;
  }
  .section-statistics.type-none .content {
    flex-direction: column;
  }
  .section-statistics.type-none h2 {
    text-align: center;
  }
  .section-statistics .illy-holder {
    width: 100%;
    position: relative;
    background-color: #F3F8F3;
  }
  .section-statistics .illy-holder .illy {
    max-width: 380px;
  }
  .section-statistics .illy-holder .image img {
    max-height: 50vw;
    object-position: center;
  }
  .section-statistics .illy-holder .bottom .image {
    padding-bottom: 0;
  }
  .section-statistics .illy-holder .bottom .image img {
    object-position: center;
  }
}
@media (min-width: 1000px) {
  .section-statistics .copy {
    width: 40%;
  }
  .section-statistics .stats-holder {
    width: 49.5%;
  }
  .section-statistics.stats-num-3 .copy {
    width: 35%;
  }
  .section-statistics.stats-num-3 .stats-holder {
    width: 60%;
  }
  .section-statistics.type-none .content {
    flex-direction: column;
  }
  .section-statistics.type-none .stats-holder {
    width: 100%;
  }
  .section-statistics.type-none .stats-holder.num-3 {
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
  }
  .section-statistics.type-none .stats-holder.num-2 {
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
  }
  .section-statistics .content {
    align-items: center;
    justify-content: space-between;
    flex-direction: row;
    min-height: min(20vw, 1000px);
  }
  .section-statistics.align-right .content {
    flex-direction: row-reverse;
  }
  .section-statistics .illy-holder {
    position: absolute;
    padding-left: var(--outer);
    padding-right: var(--outer);
    left: 0;
    top: 0%;
    width: 100%;
    height: 100%;
    pointer-events: none;
  }
  .section-statistics .illy-holder .image {
    width: 50%;
  }
  .section-statistics .illy-holder .image img {
    padding-top: 5%;
    padding-bottom: 5%;
    object-position: center;
  }
  .section-statistics .illy-holder .bottom {
    top: auto;
    bottom: 0;
  }
  .section-statistics .illy-holder .bottom .image img {
    object-position: center bottom;
    padding-bottom: var(--padding);
  }
  .section-statistics.align-left .illy-holder .illy {
    justify-content: flex-end;
  }
}
@media (min-width: 678px) {
  .section-statistics .stats-holder {
    display: grid;
    gap: 1rem;
    justify-content: center;
    position: relative;
  }
  .section-statistics .stats-holder.num-2, .section-statistics .stats-holder.num-4 {
    grid-template-columns: 1fr 1fr;
  }
  .section-statistics .stats-holder.num-1 {
    grid-template-columns: 1fr;
  }
  .section-statistics .stats-holder.num-1 .stat-item {
    max-width: 340px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
  }
  .section-statistics .stats-holder.num-3 {
    grid-template-columns: 1fr 1fr 1fr;
  }
  .section-statistics.type-none .stats-holder.num-4 {
    grid-template-columns: 1fr 1fr 1fr 1fr;
  }
}
@media (max-width: 677px) {
  .section-statistics .stats-holder {
    display: grid;
    grid-template-columns: 1fr;
  }
  .section-statistics .content {
    row-gap: 2rem;
  }
  .section-statistics .stats-holder {
    display: flex;
    flex-direction: column;
  }
  .section-statistics .stat-item {
    max-width: 340px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
  }
}

.section--image-mosaic {
  position: relative;
  padding-top: var(--padding);
  padding-bottom: var(--padding);
}
.section--image-mosaic h2 br {
  display: none;
}
.section--image-mosaic h2 {
  margin-bottom: 2rem;
}
.section--image-mosaic .image-mosaic {
  display: flex;
  flex-direction: column;
  gap: 20px;
  margin-left: auto;
  margin-right: auto;
}
.section--image-mosaic .image-mosaic-row {
  display: grid;
  gap: var(--gutter);
}
.section--image-mosaic .image-mosaic-row.bottom {
  align-items: end;
}
.section--image-mosaic .image-mosaic-row.top {
  align-items: start;
}
.section--image-mosaic .image-mosaic-row img {
  border-radius: var(--border-radius);
}
@media (min-width: 1000px) {
  .section--image-mosaic .image-mosaic.width-short {
    max-width: 72%;
  }
}
@media (max-width: 677px) {
  .section--image-mosaic .image-mosaic-row img {
    border-radius: var(--border-radius-small);
  }
}

:root {
  --mb:1rem;
  --outer:20px;
  --rw:672px;
  --gutter:1%;
  --max-width:1500px;
  --text-maxwidth: 600px;
  --text-maxwidth-half: 500px;
  --vh: 100vh;
  --rat: 56.25%;
  --rec: 177.2%;
  --nav-height:80px;
  --padding:clamp(2rem, 4vw, 4rem);
  --paddinglarge:clamp(4rem, 6vw, 6rem);
  --paddingsmall:1rem;
  --border-radius:1.2rem;
  --border-radius-large:2.8rem;
  --border-radius-small:.5rem;
}

@media (min-width: 1000px) {
  :root {
    --outer:4vw;
    --mb:35px;
  }
}
@media (min-width: 1440px) {
  :root {
    --outer:5vw;
  }
}
@media (min-width: 1100px) {
  :root {
    --nav-height:100px;
  }
}
/*--------------------------------
	Media Queries
	used for outputting content either between media query tags
	example: basic usage
	.element {
		width: 50%;
		@include mq('tablet-small') {
			width: 20%;
		}
	}
	example: using max-width
	.element {
		width: 50%;
		@include mq('tablet-small', 'max') {
			width: 20%;
		}
	}
*/
/*--------------------------------
	Margin / Padding Quick Resets
	example: top & bottom margin set to $mb
	.element {
		@include push--ends;
	}
	example: left & right padding set to $mb--small
	.element {
		@include soft--sides($mb--small);
	}
*/
/*--------------------------------
	Helper mixins
*/
/*--------------------------------
	Form input placeholder text
	example:
	input,
	textarea {
		@include input-placeholder {
			color: $grey;
		}
	}
*/
/*--------------------------------
	Retina images
	example:
	.element {
		@include retina {
			background-image: url(https://www.virtualoffice-london.co.uk/wp-content/themes/virtually-city-2025/css/../img/background@2x.png);
		}
	}
*/
/*--------------------------------
	Content margins
	fore removing first/last child margins
	example: default
	.element {
		@include content-margins;
	}
	output:
	.element > *:first-child {
		margin-top: 0;
	}
	.element > *:last-child {
		margin-bottom: 0;
	}
	example: empty selector
	.element {
		@include content-margins('false');
	}
	output:
	.element:first-child {
		margin-top: 0;
	}
	.element:last-child {
		margin-bottom: 0;
	}
*/
/*--------------------------------
	CSS Triangle
	used for creating CSS only triangles
	example:
	.element {
		&::before {
			@include css-triangle(blue, down);
		}
	}
*/
/*--------------------------------
	Hide text
	example:
	.element {
		@include hide-text;
	}
*/
/*--------------------------------
	Responsive ratio
	Used for creating scalable elements that maintain the same ratio
	example:
	.element {
		@include responsive-ratio(400, 300);
	}
*/
/*--------------------------------
Font size
*/
/*
	.site-header {
    z-index: z('site-header');
}
*/
@font-face {
  font-family: "web-source";
  font-style: normal;
  font-weight: 400;
  src: url("https://www.virtualoffice-london.co.uk/wp-content/themes/virtually-city-2025/css/../fonts/source-sans-3-v15-latin-regular.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* poppins-italic - latin */
@font-face {
  font-family: "web-source";
  font-style: italic;
  font-weight: 400;
  src: url("https://www.virtualoffice-london.co.uk/wp-content/themes/virtually-city-2025/css/../fonts/source-sans-3-v15-latin-italic.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* poppins-700 - latin */
@font-face {
  font-family: "web-source";
  font-style: normal;
  font-weight: 700;
  src: url("https://www.virtualoffice-london.co.uk/wp-content/themes/virtually-city-2025/css/../fonts/source-sans-3-v15-latin-700.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* poppins-700italic - latin */
@font-face {
  font-family: "web-source";
  font-style: italic;
  font-weight: 700;
  src: url("https://www.virtualoffice-london.co.uk/wp-content/themes/virtually-city-2025/css/../fonts/source-sans-3-v15-latin-700italic.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
@font-face {
  font-family: "web-source";
  font-style: normal;
  font-weight: 800;
  src: url("https://www.virtualoffice-london.co.uk/wp-content/themes/virtually-city-2025/css/../fonts/source-sans-3-v15-latin-800.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
p {
  margin-bottom: 1rem;
}

h1 {
  font-size: clamp(3.75rem, 6.043956044vw + 0rem, 6.875rem);
  line-height: 1;
  font-weight: 800;
  letter-spacing: -0.07ch;
  text-wrap: balance;
}

h2 {
  font-size: 3rem;
  line-height: 1.1;
  font-weight: normal;
  text-wrap: balance;
}
@media (max-width: 519px) {
  h2 {
    font-size: 2rem;
    line-height: 1.1;
  }
}

h3 {
  text-wrap: balance;
}

h4 {
  font-family: "web-source", sans-serif;
  font-weight: normal;
  font-size: 1.25rem;
  line-height: 1.4;
  line-height: 1.3;
  text-wrap: pretty;
  font-weight: bold;
}

h5 {
  font-size: 1rem;
  line-height: 1.4;
  font-weight: bold;
}

.largefont {
  font-size: 2rem;
  line-height: 1.2;
}
@media (max-width: 519px) {
  .largefont {
    font-size: 1.625rem;
    line-height: 1.2;
  }
}

.smallfont {
  font-size: 1rem;
  line-height: 1.4;
}

blockquote > :last-child {
  margin-bottom: 0;
}
blockquote + figcaption {
  font-family: "web-source", sans-serif;
  font-weight: normal;
  font-size: 1.25rem;
  line-height: 1.4;
  line-height: 1.3;
  text-wrap: pretty;
  font-weight: bold;
  margin-top: var(--mb);
}

h1.title-404 {
  font-weight: normal;
  margin-bottom: calc(var(--mb) / 2);
  font-size: clamp(1.5rem, 15.625vw + 0rem, 32.5rem);
}

.kicker {
  font-size: clamp(1.375rem, 1.6666666667vw + 0rem, 2rem);
}

.site-header {
  height: var(--nav-height);
}
.site-header .logo {
  max-width: 70px;
  width: 11vw;
  min-width: 50px;
}

@media (min-width: 1100px) {
  .site-header .content {
    grid-template-columns: 1fr 1fr;
  }
}
.home .logo {
  opacity: 1;
}

.link-to-parent {
  position: absolute;
  height: 100%;
  display: flex;
  margin-left: 85px;
  top: 0;
  align-items: center;
}
.link-to-parent p {
  margin-bottom: 0;
  font-size: clamp(1rem, 1.25vw + 0rem, 1.5rem);
  line-height: 1.2em;
}
.link-to-parent a {
  font-weight: bold;
}
.link-to-parent a:hover {
  text-decoration: underline;
}
@media (max-width: 989px) {
  .link-to-parent {
    height: 85px;
    margin-left: 65px;
  }
}

.home .section-intro.central .copy {
  width: 80%;
}
@media (max-width: 678px) {
  .home .section-intro.central .copy {
    width: 100%;
  }
}
@media (min-width: 1000px) {
  .home .section-intro.central .copy {
    width: 60%;
  }
}

.menu-visible .menu-button {
  z-index: 10;
}
