/* Zahn Wilmersdorf — design tokens */
:root {
  --zw-color-primary: #e74922;
  --zw-color-primary-hover: #d83e17;
  --zw-color-primary-active: #ca3a16;
  --zw-color-text: #555555;
  --zw-color-heading: #2a2a2a;
  --zw-color-heading-muted: #adadad;
  --zw-color-h3: #444444;
  --zw-color-h4: #555555;
  --zw-color-bg-grau: #eaeaea;
  --zw-color-bg-hellgrau: #f5f5f5;
  --zw-color-bg-blau: #d7f0f5;
  --zw-color-bg-beige: #dbd4cc;
  --zw-color-bg-white: #ffffff;
  --zw-color-border: #e0e0e0;
  --zw-font-body: 'Open Sans', sans-serif;
  --zw-font-heading: 'Raleway', sans-serif;
  --zw-container-max: 1920px;
  --zw-container-padding: 30px;
  --zw-radius-button: 10px;
}

* { box-sizing: border-box; }
html { font: 300 16px/22px var(--zw-font-body); color: var(--zw-color-text); background: var(--zw-color-bg-white); }
body { margin: 0; }
a { color: var(--zw-color-primary); text-decoration: none; cursor: pointer; }
a:hover { color: var(--zw-color-primary); text-decoration: none; }

h1, h2, h3, h4, h5, h6 { margin: 0 0 15px 0; font-family: var(--zw-font-heading); }

/* Heading top margin — only when preceded by another element, matches client */
* + h1, * + h2, * + h3, * + h4, * + h5, * + h6 { margin-top: 25px; }

h1 { font-size: 32px; line-height: 36px; font-weight: 900; text-transform: uppercase; color: var(--zw-color-heading-muted); }
h2 { font-size: 28px; line-height: 32px; font-weight: 900; text-transform: uppercase; color: var(--zw-color-heading-muted); }
h3 { font-size: 22px; line-height: 28px; font-weight: 300; font-family: var(--zw-font-body); color: var(--zw-color-h3); }
h4 { font-size: 18px; line-height: 22px; font-weight: bold; text-transform: none; font-family: var(--zw-font-body); color: var(--zw-color-h4); }

p { margin: 0 0 15px 0; font-size: 16px; line-height: 22px; }

/* Strong text — matches client's explicit bold weight */
strong, b { font-weight: 700; }

@media (min-width: 768px) {
  h1 { font-size: 36px; line-height: 40px; }
  h2 { font-size: 30px; line-height: 34px; }
  h3 { font-size: 24px; line-height: 28px; }
  h4 { font-size: 18px; line-height: 22px; }
  p  { font-size: 16px; line-height: 22px; }
}

@media (min-width: 1200px) {
  h1 { font-size: 48px; line-height: 58px; }
  h2 { font-size: 50px; line-height: 52px; }
  h3 { font-size: 32px; line-height: 42px; }
  h4 { font-size: 20px; line-height: 30px; }
  p  { font-size: 20px; line-height: 28px; }
}

@media (min-width: 1290px) {
  h1 { font-size: 56px; line-height: 58px; }
}

.zw-container { max-width: var(--zw-container-max); margin: 0 auto; padding: 0 var(--zw-container-padding); box-sizing: border-box; }
@media (min-width: 1220px) { .zw-container { padding: 0 40px; } }
@media (min-width: 1290px) { .zw-container { padding: 0 100px; } }
@media (min-width: 1520px) { .zw-container { padding: 0 200px; } }

.zw-button { display: inline-block; box-sizing: border-box; padding: 0 12px; min-height: 44px; line-height: 44px; font-size: 16px; font-family: var(--zw-font-body); text-align: center; text-decoration: none; color: var(--zw-color-text); background: transparent; border: 2px solid var(--zw-color-border); border-radius: var(--zw-radius-button); cursor: pointer; transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease; }
.zw-button:hover, .zw-button:focus { color: var(--zw-color-primary); border-color: var(--zw-color-primary); }
.zw-button--primary { background-color: var(--zw-color-primary); color: #ffffff; border-color: transparent; }
.zw-button--primary:hover, .zw-button--primary:focus { background-color: var(--zw-color-primary-hover); color: #ffffff; border-color: transparent; }
.zw-button--primary:active { background-color: var(--zw-color-primary-active); }

/* Long links wrap instead of breaking layout */
a {
	overflow-wrap: break-word;
	word-break: break-word;
}

/* CTA strip — orange bar above footer, global (matches client's #tm-bottom-i) */
.zw-cta {
	background-color: var(--zw-color-primary);
	text-align: center;
	color: #ffffff;
	padding-top: 30px;
	padding-bottom: 30px;
}

.zw-cta-text {
	color: #ffffff;
}

.zw-cta-text p {
	margin: 0;
	color: #ffffff;
}

.zw-cta-text strong {
	font-weight: 700;
}

@media (min-width: 768px) {
	.zw-cta {
		padding-top: 55px;
		padding-bottom: 55px;
	}
}

@media (min-width: 1220px) {
	.zw-cta .zw-container {
		padding-left: 400px;
		padding-right: 400px;
	}
}

.zw-bg-grau     { background-color: var(--zw-color-bg-grau); }
.zw-bg-hellgrau { background-color: var(--zw-color-bg-hellgrau); }
.zw-bg-blau     { background-color: var(--zw-color-bg-blau); }
.zw-bg-beige    { background-color: var(--zw-color-bg-beige); }
.zw-bg-weiss    { background-color: var(--zw-color-bg-white); }

.zw-legal-content {
	padding-top: 30px;
	padding-bottom: 30px;
}

@media (min-width: 768px) {
	.zw-legal-content {
		padding-top: 55px;
		padding-bottom: 55px;
	}
}








/*******************************/
/********** HEADER *************/
/*******************************/

main {
	padding-top: 100px;
}

@media (max-width: 1200px) {
	main {
		padding-top: 70px;
	}
}


@media (max-width: 767px) {
	main {
		padding-top: 86px;
	}
}

.zw-header {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	background-color: #ffffff;
	z-index: 9999;
}

.zw-header-top {
	position: relative;
	max-width: 1920px;
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	padding: 10px 50px 10px 15px;
}

.zw-logo {
	position: static;
	display: flex;
	align-items: center;
	flex: 1 1 auto;
}

.zw-logo img {
	display: block;
	height: auto;
}

.zw-header-actions {
	position: static;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 15px;
	width: 100%;
	order: 3;
	margin-top: 10px;
}

.zw-header-phone {
	display: flex;
	align-items: center;
	gap: 6px;
	color: var(--zw-color-primary);
	font-weight: 700;
	white-space: nowrap;
}

.zw-header-phone .zw-icon {
	stroke: var(--zw-color-primary);
}

.zw-header .zw-button {
	padding: 0 12px;
	min-height: 30px;
	line-height: 30px;
	font-size: 16px;
	border-radius: 10px;
	border: 2px solid #e0e0e0;
}

.zw-header .zw-button--primary {
	border-color: transparent;
}

.zw-nav-toggle {
	position: absolute;
	top: 10px;
	right: 15px;
	bottom: auto;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 5px;
	background: none;
	border: none;
	cursor: pointer;
	padding: 10px;
	z-index: 2;
}

.zw-nav-toggle span {
	display: block;
	width: 24px;
	height: 2px;
	background-color: #555555;
}

/* Rightmost menu item(s) — submenu opens leftward instead of overflowing the viewport */
.zw-nav-menu > li:last-child > .sub-menu,
.zw-nav-menu > li:nth-last-child(2) > .sub-menu {
	left: auto;
	right: 0;
}

.zw-header-actions {
	position: absolute;
	top: 0;
	right: 20px;
	bottom: 0;
	width: auto;
	margin-top: 0;
	order: 0;
}



@media (min-width: 768px) {
	.zw-header-top {
		flex-wrap: nowrap;
		height: 70px;
		padding: 0;
	}

	.zw-logo {
		position: absolute;
		top: 10px;
		left: 15px;
		bottom: 0;
	}

	.zw-logo img {
		max-width: 100%;
	}

	.zw-nav-toggle {
		top: 0;
		bottom: 0;
	}
}

/* Second row — desktop nav menu, right-aligned, thin weight */
.zw-header-bottom {
	display: none;
	position: relative;
	z-index: 501;
}

.zw-nav-menu {
	display: flex;
	justify-content: flex-end;
	list-style: none;
	margin: 0 60px 0 0;
	padding: 0 15px;
	gap: 20px;
}

.zw-nav-menu > li {
	position: relative;
}

.zw-nav-menu > li > a {
	display: block;
	padding: 15px 0;
	color: #555555;
	font-weight: 300;
	text-decoration: none;
}

.zw-nav-menu > li:hover > a,
.zw-nav-menu > li.current-menu-item > a,
.zw-nav-menu > li.current-menu-ancestor > a {
	color: var(--zw-color-primary);
}

.zw-nav-menu > li.current-menu-item > a,
.zw-nav-menu > li.current-menu-ancestor > a {
	font-weight: bold;
}

.zw-nav-menu .sub-menu {
	position: absolute;
	top: 100%;
	left: 0;
	min-width: 240px;
	background-color: #ffffff;
	list-style: none;
	margin: 0;
	padding: 20px;
	opacity: 0;
	visibility: hidden;
	transform: translateY(-10px);
	transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s ease;
	z-index: 502;
}

.zw-nav-menu > li:hover > .sub-menu {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.zw-nav-menu .sub-menu li {
	position: relative;
}

.zw-nav-menu .sub-menu a {
	display: block;
	padding: 8px 0;
	color: var(--zw-color-primary);
	text-decoration: none;
	white-space: nowrap;
}

.zw-nav-menu .sub-menu li.current-menu-item > a,
.zw-nav-menu .sub-menu a:hover {
	background-color: var(--zw-color-primary);
	color: #ffffff;
	padding-left: 10px;
	padding-right: 10px;
	margin-left: -10px;
}

.zw-nav-menu .sub-menu .sub-menu {
	position: static;
	opacity: 1;
	visibility: visible;
	transform: none;
	padding: 0 0 0 15px;
	margin-top: 5px;
}

@media (min-width: 1200px) {
	.zw-header-bottom {
		display: block;
	}

	.zw-nav-toggle {
		display: none;
	}
}

/* Overlay — half-screen band under the header, smooth reveal */
.zw-nav-overlay {
	position: fixed;
	top: 74px;
	left: 0;
	width: 100%;
	height: 50vh;
	background-color: rgba(255, 255, 255, 0.85);
	z-index: 450;
	opacity: 0;
	visibility: hidden;
	transform: translateY(-20px);
	transition: opacity 0.35s ease, transform 0.35s ease, visibility 0.35s ease;
	pointer-events: none;
}

.zw-nav-overlay.is-active {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.zw-offcanvas {
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	width: 320px;
	max-width: 85vw;
	background-color: #ffffff;
	box-shadow: none;
	z-index: 600;
	overflow-y: auto;
	padding: 20px;
	transform: translateX(100%);
	transition: transform 0.3s ease;
}

.zw-offcanvas.is-open {
	transform: translateX(0);
	box-shadow: -10px 0 30px rgba(0, 0, 0, 0.15);
}


.zw-offcanvas-header {
	margin-bottom: 20px;
}

.zw-offcanvas-top-link {
	display: block;
	color: var(--zw-color-primary);
	font-weight: 600;
	text-decoration: none;
	margin-bottom: 15px;
}

.zw-offcanvas-menu {
	list-style: none;
	margin: 0;
	padding: 0;
}

.zw-offcanvas-menu > li > a {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 12px 0;
	color: var(--zw-color-primary);
	font-weight: 600;
	text-decoration: none;
	border-top: 1px solid #eeeeee;
}

.zw-offcanvas-menu li.zw-has-children > a::after {
	content: "";
	width: 8px;
	height: 8px;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: rotate(-45deg);
	transition: transform 0.25s ease;
	margin-left: 10px;
	flex-shrink: 0;
}

.zw-offcanvas-menu li.is-active > a::after {
	transform: rotate(45deg);
}

.zw-offcanvas-menu li.is-active > a {
	background-color: var(--zw-color-primary);
	color: #ffffff;
	padding-left: 10px;
	padding-right: 10px;
}

.zw-offcanvas-menu .sub-menu {
	display: none;
	list-style: none;
	margin: 0;
	padding: 10px 0 10px 15px;
}

.zw-offcanvas-menu li.is-active > .sub-menu,
.zw-offcanvas-menu li.is-active .sub-menu {
	display: block;
}

.zw-offcanvas-menu .sub-menu a {
	display: block;
	padding: 8px 0;
	color: #555555;
	text-decoration: none;
}

.zw-offcanvas-menu .sub-menu .sub-menu {
	padding-left: 15px;
}

.zw-nav-menu > li > a,
.zw-nav-menu .sub-menu a {
	font-size: 17px;
}

/* Desktop Navigation Hover Fix */

@media (min-width: 1200px) {
	.zw-nav-menu > li:hover {
		z-index: 1000;
	}

	.zw-nav-menu > li:hover > .sub-menu {
		z-index: 1001;
	}

	.zw-nav-menu > li:not(:hover) > .sub-menu {
		opacity: 0;
		visibility: hidden;
		transform: translateY(-10px);
		pointer-events: none;
	}

	.zw-nav-menu > li:hover > .sub-menu {
		opacity: 1;
		visibility: visible;
		transform: translateY(0);
		pointer-events: auto;
	}
}

@media (min-width: 1200px) {
	.zw-offcanvas {
		display: none;
	}
}

@media (max-width: 1200px) {
	.zw-header-actions {
		right: 80px;
	}
	
	.zw-logo {
		top: 0;
	}
	
	.zw-logo img {
		max-width: 190px;
	}
	
	.zw-nav-menu > li > a,
	.zw-nav-menu .sub-menu a {
		font-size: 16px;
	}
}

@media (max-width: 767px) {
	.zw-logo {
		padding: 15px;
	}
	
	.zw-header-top {
		padding: 0;
	}
	
	.zw-btn-optional {
		display: none;
	}
	
	.zw-nav-toggle {
		top: 17px;
	}
}



/*******************************/
/********** FOOTER *************/
/*******************************/
.zw-icon-row {
	display: inline-flex;
	align-items: center;
	gap: 6px;
}

.zw-icon {
	display: block;
	width: 16px;
	height: 16px;
	flex-shrink: 0;
	fill: none;
	stroke: #555555;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.zw-footer-logo {
	padding-top: 30px;
	padding-bottom: 30px;
}

.zw-footer-logo-inner {
	text-align: center;
}

.zw-footer-logo-inner img {
	max-width: 100%;
	height: auto;
}

.zw-footer-logo-inner p {
	color: #555555;
}

@media (min-width: 768px) {
	.zw-footer-logo {
		padding-top: 55px;
		padding-bottom: 55px;
	}
}

.zw-contact-form {
	margin: 40px 20px;
}

.zw-contact {
	background-color: #f4f4f4;
	padding-top: 30px;
	padding-bottom: 30px;
}

.zw-contact-grid {
	display: flex;
	flex-wrap: wrap;
	gap: 40px;
}

.zw-contact-col--left {
	flex: 1 1 100%;
}

.zw-contact-col--right {
	flex: 1 1 100%;
}

.zw-contact h4 {
	display: flex;
	align-items: center;
	gap: 8px;
}

.zw-contact-hours p {
	margin: 0 0 10px 0;
}

@media (min-width: 768px) {
	.zw-contact {
		padding-top: 55px;
		padding-bottom: 55px;
	}

	.zw-contact-col--left {
		flex: 0 0 calc(33.333% - 20px);
	}

	.zw-contact-col--right {
		flex: 0 0 calc(66.666% - 20px);
	}
}

/* Footer callback form — CF7 styling matches client's BA Forms values */
.zw-form-row {
	display: grid;
	grid-template-columns: 1fr;
	gap: 20px;
	margin-bottom: 20px;
}

.zw-form-col label {
	display: block;
	font-size: 13px;
	color: #333333;
	margin-bottom: 6px;
}

.zw-form-col input[type="text"],
.zw-form-col input[type="tel"],
.zw-form-col input[type="email"],
.zw-form-col select {
	width: 100%;
	background-color: #ffffff;
	border: 1px solid transparent;
	border-radius: 2px;
	padding: 20px 15px;
	font-size: 13px;
	font-weight: 700;
	color: #999999;
	box-sizing: border-box;
}

.zw-form-col--full {
	grid-column: 1 / -1;
}

@media (min-width: 768px) {
	.zw-form-row {
		grid-template-columns: repeat(3, 1fr);
	}
}

.zw-contact-form-button {
    display: inline-block;
}

.zw-contact-form .zw-submit-btn {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    box-sizing: border-box;
    margin: 0;
    padding: 20px 60px;
    border: none;
    border-radius: 3px;
    background-color: #02ADEA;
    color: #ffffff;
    font-family: inherit;
    font-size: 14px;
    line-height: 18px;
    cursor: pointer;
    transition: background-color 0.3s ease;
}

.zw-contact-form .zw-submit-btn:hover {
    background-color: #02ADEA;
}

.zw-contact-form .zw-submit-btn__icon {
    position: absolute;
    inset: 0;
    z-index: 5;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0;
    transform: translateX(-100%);
    transition: transform 0.3s ease;
}

.zw-contact-form .zw-submit-btn__icon svg {
    display: block;
}

.zw-contact-form .zw-submit-btn__text {
    position: relative;
    z-index: 5;
	display: inline-block;
    white-space: nowrap;
    transition: transform 0.3s ease;
}

.zw-contact-form .zw-submit-btn:hover .zw-submit-btn__text {
    transform: translateX(230%);
}

.zw-contact-form .zw-submit-btn:hover .zw-submit-btn__icon {
    transform: translateX(0);
}

/* Calendar icon inside date field */
.zw-datepicker-wrap {
	position: relative;
	display: block;
}

.zw-datepicker-wrap .wpcf7-form-control-wrap {
	display: block;
	width: 100%;
	margin-bottom: 0;
}

.zw-datepicker-wrap::before {
	content: "";
	position: absolute;
	top: 18px;
	left: 15px;
	width: 18px;
	height: 18px;
	z-index: 2;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23999999' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2'/%3E%3Cline x1='16' y1='2' x2='16' y2='6'/%3E%3Cline x1='8' y1='2' x2='8' y2='6'/%3E%3Cline x1='3' y1='10' x2='21' y2='10'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-size: contain;
	pointer-events: none;
}

.zw-datepicker-wrap input {
	position: relative;
	z-index: 1;
	padding-left: 42px !important;
}

/* FOOTER BOTTOM */
/* Fixed call button — mobile/tablet only, matches client's .meto-fix-tel */
.zw-fixed-tel {
	position: fixed;
	bottom: 20px;
	right: 20px;
	z-index: 100;
}

.zw-fixed-tel a {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 55px;
	width: 55px;
	border-radius: 50%;
	background-color: var(--zw-color-primary);
	border: 2px solid #ffffff;
}

.zw-fixed-tel .zw-icon {
	width: 24px;
	height: 24px;
	stroke: #ffffff;
}

/* Locks page scroll while the mobile offcanvas menu is open (iOS-safe) */
body.zw-no-scroll {
	position: fixed;
	width: 100%;
	overflow: hidden;
}

/* Dedicated overlay behind the mobile offcanvas menu */
.zw-offcanvas-overlay {
	position: fixed;
	inset: 0;
	background-color: rgba(0, 0, 0, 0.4);
	z-index: 550;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.3s ease, visibility 0.3s ease;
}

.zw-offcanvas-overlay.is-active {
	opacity: 1;
	visibility: visible;
}

@media (min-width: 960px) {
	.zw-fixed-tel {
		display: none;
	}
}

@media (max-width: 767px) {
	.zw-contact-form {
		margin: 20px 0;
	}
	
	.zw-header-actions {
		position: static;
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 15px;
		flex-basis: 100%;
		order: 3;
		padding: 10px 15px;
		background-color: #ddd;
	}
}

.zw-footer {
	padding-top: 20px;
	padding-bottom: 20px;
}

.zw-footer p {
	color: #555555;
	margin: 0;
}
.zw-legal-content,
.zw-contact,
.zw-cta {
	hyphens: auto;
}

/* Form Validation */

.zw-contact-form .wpcf7-form-control.wpcf7-not-valid {
	border-color: #E74922;
}

.zw-contact-form input.wpcf7-not-valid,
.zw-contact-form select.wpcf7-not-valid,
.zw-contact-form textarea.wpcf7-not-valid {
	border-color: #E74922;
}

.zw-contact-form .wpcf7-not-valid-tip {
	display: inline-block;
	margin-top: 10px;
	padding: 15px;
	background-color: #E74922;
	color: #ffffff;
}

/* new */
/* Content Helpers */

.zw-text-primary {
	color: var(--zw-color-primary);
}

/* Contact Page */

.zw-contact-page-grid {
	display: flex;
	flex-wrap: wrap;
	margin-left: -30px;
}

.zw-contact-page-col {
	width: 100%;
	padding-left: 30px;
}

.zw-contact-page-details {
	display: flex;
	flex-direction: column;
}

.zw-contact-page-detail {
	display: block;
}

.zw-contact-page-book-button {
	min-height: 30px;
	line-height: 30px;
	font-size: 20px;
}

.zw-contact-page-spacer {
	height: 15px;
}

@media (min-width: 768px) {
	.zw-contact-page-col {
		width: 50%;
	}
}

@media (min-width: 1220px) {
	.zw-contact-page-grid {
		margin-left: -40px;
	}

	.zw-contact-page-col {
		padding-left: 40px;
	}
}

@media (max-width: 589px) {
	.zw-contact-page-book-button {
		font-size: 16px;
	}
}

/* Legal Hero Content */

.zw-legal-hero {
	position: relative;
}

.zw-legal-hero-content {
	position: absolute;
	z-index: 10;
	top: 23%;
	left: 14.5%;
	width: 31%;
}

.zw-legal-hero-content h2 {
	margin: 0 0 15px 0;
	color: #E74922;
	font-family: var(--zw-font-heading);
	font-size: 50px;
	line-height: 52px;
	font-weight: 900;
	text-transform: uppercase;
}

.zw-legal-hero-content p {
	margin: 0;
	color: #555555;
	font-size: 20px;
	line-height: 28px;
}

@media (max-width: 1200px) {
	.zw-legal-hero-content {
		display: none;
	}
}

/*** 404 Page ***/

.zw-error-page {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 100vh;
	padding: 30px;
	text-align: center;
}

.zw-error-page__inner {
	width: 100%;
}

.zw-error-page__icon {
	position: relative;
	width: 215px;
	height: 215px;
	margin: 0 auto 30px;
	border: 18px solid #555555;
	border-radius: 50%;
}

.zw-error-page__eye {
	position: absolute;
	top: 36px;
	width: 36px;
	height: 36px;
	background-color: #555555;
	border-radius: 50%;
}

.zw-error-page__eye--left {
	left: 36px;
}

.zw-error-page__eye--right {
	right: 36px;
}

.zw-error-page__mouth {
	position: absolute;
	left: 50%;
	bottom: 31px;
	width: 86px;
	height: 48px;
	border: 17px solid #555555;
	border-bottom: 0;
	border-radius: 86px 86px 0 0;
	transform: translateX(-50%);
}

.zw-error-page__headline {
	margin: 0;
	color: #2a2a2a;
	font-family: var(--zw-font-heading);
	font-size: 100px;
	line-height: 100px;
	font-weight: 900;
}

.zw-error-page__title {
	margin: 0 0 15px;
	color: #444444;
	font-family: var(--zw-font-body);
	font-size: 28px;
	line-height: 36px;
	font-weight: 300;
	text-transform: uppercase;
}

.zw-error-page__text {
	margin: 0;
}

@media (max-width: 767px) {
	.zw-error-page {
		padding: 30px;
	}

	.zw-error-page__icon {
		width: 160px;
		height: 160px;
		margin-bottom: 20px;
		border-width: 13px;
	}

	.zw-error-page__eye {
		top: 27px;
		width: 27px;
		height: 27px;
	}

	.zw-error-page__eye--left {
		left: 27px;
	}

	.zw-error-page__eye--right {
		right: 27px;
	}

	.zw-error-page__mouth {
		bottom: 23px;
		width: 64px;
		height: 36px;
		border-width: 13px;
		border-bottom: 0;
	}

	.zw-error-page__headline {
		font-size: 72px;
		line-height: 72px;
	}

	.zw-error-page__title {
		font-size: 22px;
		line-height: 28px;
	}
}

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

/* Mobile Offcanvas Layer Fix */

@media (max-width: 1199px) {

	.zw-header {
		z-index: 9999;
	}

	.zw-offcanvas-overlay {
		top: var(--zw-overlay-top, 70px);
		z-index: 10000;
	}

	.zw-offcanvas {
		z-index: 10001;
	}
}

/* Homepage Hero Slider */

.zw-home-hero {
	position: relative;
	width: 100%;
	overflow: hidden;
}

.zw-home-hero__slider {
	position: relative;
	width: 100%;
	height: 1162px;
}

.zw-home-hero__slide {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity 0.6s ease, visibility 0.6s ease;
}

.zw-home-hero__slide.is-active {
	z-index: 1;
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}

.zw-home-hero__media {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}

.zw-home-hero__image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.zw-home-hero__image--mobile {
	display: none;
}

/* Homepage Hero Content */

.zw-home-hero__content {
	position: absolute;
	inset: 0;
	z-index: 2;
	display: flex;
	align-items: center;
	opacity: 0;
	transform: translateY(12px);
	pointer-events: none;
	transition: opacity 0.5s ease 0.15s;
}

.zw-home-hero__slide.is-active .zw-home-hero__content {
	opacity: 1;
}

.zw-home-hero__content .zw-container {
	width: 100%;
}

.zw-home-hero__title {
	max-width: 700px;
	margin: 0 0 25px;
	color: #E74922;
	font-family: "Raleway", sans-serif;
	font-size: 56px;
	font-weight: 900;
	line-height: 58px;
	text-transform: uppercase;
}

.zw-home-hero__subtitle {
	max-width: 700px;
	margin: 0 0 20px;
	color: #555555;
	font-size: 24px;
	font-weight: 700;
	line-height: 30px;
}

.zw-home-hero__link {
	display: inline;
	color: #555555;
	font-size: 20px;
	font-weight: 300;
	line-height: 28px;
	text-decoration: underline;
	pointer-events: auto;
}

.zw-home-hero__link:hover,
.zw-home-hero__link:focus {
	color: #555555;
	text-decoration: underline;
}

/* Orange Content */

.zw-home-hero__slide--orange .zw-home-hero__title {
	color: #E74922;
}

.zw-home-hero__slide--orange .zw-home-hero__subtitle {
	color: #555555;
}

.zw-home-hero__slide--orange .zw-home-hero__link {
	color: #555555;
}

.zw-home-hero__slide--orange .zw-home-hero__link:hover,
.zw-home-hero__slide--orange .zw-home-hero__link:focus {
	color: #555555;
}

/* Orange Content + Orange Link */

.zw-home-hero__slide--orange-link .zw-home-hero__title {
	color: #E74922;
}

.zw-home-hero__slide--orange-link .zw-home-hero__subtitle {
	color: #555555;
}

.zw-home-hero__slide--orange-link .zw-home-hero__link {
	color: #E74922;
}

.zw-home-hero__slide--orange-link .zw-home-hero__link:hover,
.zw-home-hero__slide--orange-link .zw-home-hero__link:focus {
	color: #E74922;
}

/* White Content */

.zw-home-hero__slide--white .zw-home-hero__title,
.zw-home-hero__slide--white .zw-home-hero__subtitle,
.zw-home-hero__slide--white .zw-home-hero__link {
	color: #ffffff;
}

.zw-home-hero__slide--white .zw-home-hero__link:hover,
.zw-home-hero__slide--white .zw-home-hero__link:focus {
	color: #ffffff;
}

/* Homepage Hero Arrows */

.zw-home-hero__arrow {
	position: absolute;
	top: 50%;
	z-index: 5;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background-color: #ffffff;
	color: #555555;
	font-size: 22px;
	font-weight: 300;
	line-height: 1;
	opacity: 0;
	visibility: hidden;
	cursor: pointer;
	transform: translateY(-50%);
	transition: opacity 0.2s ease, visibility 0.2s ease;
}

.zw-home-hero__arrow--prev {
	left: 0;
}

.zw-home-hero__arrow--next {
	right: 0;
}

.zw-home-hero:hover .zw-home-hero__arrow {
	opacity: 1;
	visibility: visible;
}

.zw-home-hero__arrow:hover,
.zw-home-hero__arrow:focus {
	background-color: #ffffff;
	color: #555555;
}

/* Homepage Hero Dots */

.zw-home-hero__dots {
	position: absolute;
	left: 50%;
	bottom: 35px;
	z-index: 5;
	display: flex;
	align-items: center;
	gap: 14px;
	transform: translateX(-50%);
}

.zw-home-hero__dot {
	width: 14px;
	height: 14px;
	margin: 0;
	padding: 0;
	border: 2px solid #ffffff;
	border-radius: 50%;
	background-color: transparent;
	opacity: 0.65;
	cursor: pointer;
	transition: opacity 0.2s ease, background-color 0.2s ease;
}

.zw-home-hero__dot:hover,
.zw-home-hero__dot:focus {
	border-color: #ffffff;
	background-color: transparent;
	opacity: 1;
}

.zw-home-hero__dot.is-active {
	border-color: #ffffff;
	background-color: #ffffff;
	opacity: 1;
}

.zw-home-hero__subtitle--mobile {
	display: none;
}

/* Homepage Hero Mobile */

@media (max-width: 767px) {
	
	.zw-home-hero__subtitle--desktop {
		display: none;
	}

	.zw-home-hero__subtitle--mobile {
		display: block;
	}

	body .zw-home-hero {
		background-color: #EFEFEF !important;
	}

	.zw-home-hero__slider {
		position: relative;
		height: calc(
			420px +
			var(--zw-home-hero-mobile-content-height, 0px) +
			65px
		);
		background-color: #EFEFEF;
	}

	.zw-home-hero__slide {
		position: absolute;
		inset: 0;
		display: block;
		width: 100%;
		height: 100%;
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
		transition:
			opacity 0.6s ease,
			visibility 0.6s ease;
	}

	.zw-home-hero__slide.is-active {
		z-index: 1;
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
	}

	.zw-home-hero__media {
		position: relative;
		width: 100%;
		height: 420px;
		overflow: hidden;
	}

	.zw-home-hero__image--desktop {
		display: none;
	}

	.zw-home-hero__image--mobile {
		display: block;
		width: 100%;
		height: 100%;
		object-fit: cover;
	}

	.zw-home-hero__content {
		position: relative;
		inset: auto;
		display: block;
		min-height: var(--zw-home-hero-mobile-content-height, auto);
		box-sizing: border-box;
		padding: 30px 0 0;
		background-color: #EFEFEF !important;
		opacity: 0;
		transition: opacity 0.45s ease 0.12s;
	}

	.zw-home-hero__content .zw-container {
		background-color: #EFEFEF !important;
	}

	.zw-home-hero__slide.is-active .zw-home-hero__content {
		opacity: 1;
	}

	.zw-home-hero__title,
	.zw-home-hero__slide--orange .zw-home-hero__title,
	.zw-home-hero__slide--orange-link .zw-home-hero__title,
	.zw-home-hero__slide--white .zw-home-hero__title {
		max-width: none;
		margin: 0 0 20px;
		color: #ADADAD;
		font-size: 32px;
		line-height: 36px;
	}

	.zw-home-hero__subtitle,
	.zw-home-hero__slide--orange .zw-home-hero__subtitle,
	.zw-home-hero__slide--orange-link .zw-home-hero__subtitle,
	.zw-home-hero__slide--white .zw-home-hero__subtitle {
		max-width: none;
		margin: 0;
		color: #555555;
		font-size: 16px;
		font-weight: 300;
		line-height: 22px;
	}

	.zw-home-hero__link {
		display: none;
	}

	.zw-home-hero__arrow {
		display: none;
	}

	.zw-home-hero__dots {
		position: absolute;
		left: 50%;
		bottom: 25px;
		z-index: 5;
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 14px;
		margin: 0;
		padding: 0;
		transform: translateX(-50%);
	}

	.zw-home-hero__dot {
		width: 14px;
		height: 14px;
		margin: 0;
		padding: 0;
		border: 2px solid #555555;
		border-radius: 50%;
		background-color: transparent;
		opacity: 1;
		cursor: pointer;
	}

	.zw-home-hero__dot:hover,
	.zw-home-hero__dot:focus {
		border-color: #555555;
		background-color: transparent;
		opacity: 1;
	}

	.zw-home-hero__dot.is-active {
		border-color: #E74922;
		background-color: #E74922;
	}

}


/* Homepage Welcome Section */

.zw-home-welcome {
	padding: 55px 0;
	background-color: #ffffff;
}

.zw-home-welcome__layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 260px;
	gap: 40px;
	align-items: start;
}

.zw-home-welcome__heading {
	margin: 0 0 25px;
	color: #ADADAD;
}

.zw-home-welcome__heading span {
	color: #E74922;
}

.zw-home-welcome__intro {
	margin: 0 0 20px;
	color: #555555;
}

.zw-home-welcome__text-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 40px;
}

.zw-home-welcome__text p {
	margin-top: 0;
}

.zw-home-welcome__text p:last-child {
	margin-bottom: 0;
}

.zw-home-welcome__link {
	color: #E74922;
}

/* Homepage News */

.zw-home-welcome__news-title {
	margin: 0 0 15px;
	color: #555555;
}

.zw-home-welcome__news-item {
	display: block;
	width: 100%;
	margin: 0 0 10px;
	color: #ffffff;
	text-decoration: none;
}

.zw-home-welcome__news-item:last-child {
	margin-bottom: 0;
}

.zw-home-welcome__news-item img {
	display: block;
	width: 100%;
	height: auto;
}

.zw-home-welcome__news-item span {
	display: block;
	margin-top: 8px;
	padding: 7px 10px;
	border-radius: 10px;
	background-color: #E74922;
	color: #ffffff;
	font-size: 20px;
	font-weight: 300;
	line-height: 28px;
	text-align: center;
}

.zw-home-welcome__news-item:hover,
.zw-home-welcome__news-item:focus {
	color: #ffffff;
	text-decoration: none;
}

.zw-home-welcome__news-item:hover span,
.zw-home-welcome__news-item:focus span {
	background-color: #E74922;
	color: #ffffff;
}

.zw-home-welcome__link {
	color: #E74922;
	text-decoration: none;
}

.zw-home-welcome__link:hover,
.zw-home-welcome__link:focus {
	color: #E74922;
	text-decoration: none;
}

@media (max-width: 1199px) {

	.zw-home-welcome__layout {
		grid-template-columns: minmax(0, 1fr) 220px;
		gap: 30px;
	}

	.zw-home-welcome__text-grid {
		gap: 30px;
	}

}


@media (max-width: 767px) {

	.zw-home-welcome {
		padding: 30px 0;
	}

	.zw-home-welcome__layout {
		display: block;
	}

	.zw-home-welcome__text-grid {
		display: block;
	}

	.zw-home-welcome__text + .zw-home-welcome__text {
		margin-top: 30px;
	}

	.zw-home-welcome__news {
		margin-top: 30px;
	}

	.zw-home-welcome__news-item {
		margin-bottom: 20px;
	}

	.zw-home-welcome__news-item span {
		font-size: 16px;
		line-height: 22px;
	}

}

/* Homepage Feature Slider */

.zw-home-feature-slider {
	position: relative;
	width: 100%;
	padding: 55px 0;
	background-color: #ffffff;
}

.zw-home-feature-slider__track {
	position: relative;
	width: 100%;
	height: 850px;
	overflow: hidden;
}

.zw-home-feature-slider__slide {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity 0.6s ease, visibility 0.6s ease;
}

.zw-home-feature-slider__slide.is-active {
	z-index: 1;
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}

.zw-home-feature-slider__media {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}

.zw-home-feature-slider__image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.zw-home-feature-slider__image--mobile {
	display: none;
}

/* Content */

.zw-home-feature-slider__content {
	position: absolute;
	inset: 0;
	z-index: 2;
	display: flex;
	align-items: center;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.5s ease 0.15s;
}

.zw-home-feature-slider__slide.is-active .zw-home-feature-slider__content {
	opacity: 1;
}

.zw-home-feature-slider__content-inner {
	width: 100%;
	max-width: 500px;
	pointer-events: auto;
}

.zw-home-feature-slider__slide--left .zw-home-feature-slider__content-inner {
	margin-right: auto;
	margin-left: 145px;
}

.zw-home-feature-slider__slide--right .zw-home-feature-slider__content-inner {
	margin-right: 50px;
	margin-left: auto;
}

.zw-home-feature-slider__title {
	margin: 0 0 20px;
}

.zw-home-feature-slider__subtitle {
	margin: 0 0 5px;
}

.zw-home-feature-slider__link {
	text-decoration: underline;
}

/* Orange Content */

.zw-home-feature-slider__slide--orange .zw-home-feature-slider__title {
	color: #E74922;
}

.zw-home-feature-slider__slide--orange .zw-home-feature-slider__subtitle,
.zw-home-feature-slider__slide--orange .zw-home-feature-slider__link {
	color: #555555;
}

.zw-home-feature-slider__slide--orange .zw-home-feature-slider__link:hover,
.zw-home-feature-slider__slide--orange .zw-home-feature-slider__link:focus {
	color: #555555;
}

/* White Content */

.zw-home-feature-slider__slide--white .zw-home-feature-slider__title,
.zw-home-feature-slider__slide--white .zw-home-feature-slider__subtitle,
.zw-home-feature-slider__slide--white .zw-home-feature-slider__link {
	color: #ffffff;
}

.zw-home-feature-slider__slide--white .zw-home-feature-slider__link:hover,
.zw-home-feature-slider__slide--white .zw-home-feature-slider__link:focus {
	color: #ffffff;
}

/* Arrows */

.zw-home-feature-slider__arrow {
	position: absolute;
	top: 50%;
	z-index: 5;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background-color: #ffffff;
	color: #555555;
	font-size: 22px;
	font-weight: 300;
	line-height: 1;
	opacity: 0;
	visibility: hidden;
	cursor: pointer;
	transform: translateY(-50%);
	transition: opacity 0.2s ease, visibility 0.2s ease;
}

.zw-home-feature-slider__arrow--prev {
	left: 0;
}

.zw-home-feature-slider__arrow--next {
	right: 0;
}

.zw-home-feature-slider__track:hover .zw-home-feature-slider__arrow {
	opacity: 1;
	visibility: visible;
}

.zw-home-feature-slider__arrow:hover,
.zw-home-feature-slider__arrow:focus {
	background-color: #ffffff;
	color: #555555;
}

/* Dots Hidden on Desktop */

.zw-home-feature-slider__dots {
	display: none;
}

/* Homepage Feature Slider Mobile */

@media (max-width: 767px) {

	.zw-home-feature-slider {
		padding: 30px 0;
		background-color: #ffffff;
	}

	.zw-home-feature-slider__track {
		position: relative;
		width: 100%;
		height: calc(
			var(--zw-home-feature-mobile-image-height, 0px) +
			var(--zw-home-feature-mobile-content-height, 0px)
		);
		overflow: hidden;
	}

	.zw-home-feature-slider__slide {
		position: absolute;
		inset: 0;
		display: block;
		width: 100%;
		height: 100%;
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
		transition:
			opacity 0.6s ease,
			visibility 0.6s ease;
	}

	.zw-home-feature-slider__slide.is-active {
		z-index: 1;
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
	}

	.zw-home-feature-slider__media {
		position: relative;
		inset: auto;
		width: 100%;
		height: var(--zw-home-feature-mobile-image-height, auto);
		overflow: hidden;
	}

	.zw-home-feature-slider__image--desktop {
		display: none;
	}

	.zw-home-feature-slider__image--mobile {
		display: block;
		width: 100%;
		height: 100%;
		object-fit: cover;
	}

	.zw-home-feature-slider__content {
		position: relative;
		inset: auto;
		display: block;
		min-height: var(--zw-home-feature-mobile-content-height, auto);
		box-sizing: border-box;
		padding: 30px 0 0;
		background-color: #ffffff;
		opacity: 0;
		transition: opacity 0.45s ease 0.12s;
	}

	.zw-home-feature-slider__slide.is-active .zw-home-feature-slider__content {
		opacity: 1;
	}

	.zw-home-feature-slider__content-inner {
		width: 100%;
		max-width: none;
		margin: 0;
		padding: 0;
	}

	.zw-home-feature-slider__slide--left .zw-home-feature-slider__content-inner,
	.zw-home-feature-slider__slide--right .zw-home-feature-slider__content-inner {
		margin: 0;
	}

	.zw-home-feature-slider__title {
		margin: 0 0 20px;
	}

	.zw-home-feature-slider__subtitle {
		margin: 0 0 5px;
		color: #555555 !important;
	}

	.zw-home-feature-slider__link {
		color: #E74922 !important;
		text-decoration: none;
	}

	.zw-home-feature-slider__link:hover,
	.zw-home-feature-slider__link:focus {
		color: #E74922 !important;
		text-decoration: none;
	}

	.zw-home-feature-slider__slide--mobile-gray .zw-home-feature-slider__title {
		color: #ADADAD;
	}

	.zw-home-feature-slider__slide--mobile-orange .zw-home-feature-slider__title {
		color: #E74922;
	}

	.zw-home-feature-slider__arrow {
		display: none;
	}

	.zw-home-feature-slider__dots {
		position: relative;
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 14px;
		margin-top: 40px;
		padding-bottom: 25px;
	}

	.zw-home-feature-slider__dot {
		width: 14px;
		height: 14px;
		margin: 0;
		padding: 0;
		border: 2px solid #555555;
		border-radius: 50%;
		background-color: transparent;
		opacity: 1;
		cursor: pointer;
	}

	.zw-home-feature-slider__dot:hover,
	.zw-home-feature-slider__dot:focus {
		border-color: #555555;
		background-color: transparent;
	}

	.zw-home-feature-slider__dot.is-active {
		border-color: #E74922;
		background-color: #E74922;
	}

}

/* Homepage Service Tiles */

.zw-home-services {
	padding: 55px 0;
	background-color: #ffffff;
}

.zw-home-services__heading {
	margin: 0 0 15px;
	color: #ADADAD;
}

.zw-home-services__grid {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 70px 60px;
	padding: 50px;
	background-color: #ADADAD;
}

.zw-home-services__item {
	display: flex;
	flex-direction: column;
	align-items: center;
	color: #555555;
	text-decoration: none;
}

.zw-home-services__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 200px;
	height: 200px;
	border-radius: 50%;
	background-color: rgba(255, 255, 255, 0.12);
}

.zw-home-services__icon img {
	display: block;
	max-width: 100%;
	max-height: 100%;
	width: auto;
	height: auto;
}

.zw-home-services__label {
	display: block;
	width: 100%;
	max-width: 200px;
	margin-top: 10px;
	padding: 6px 12px;
	box-sizing: border-box;
	border-radius: 10px;
	background-color: #ffffff;
	color: #555555;
	font-size: 20px;
	font-weight: 300;
	line-height: 28px;
	text-align: center;
	white-space: nowrap;
}

.zw-home-services__item:hover,
.zw-home-services__item:focus {
	color: #555555;
	text-decoration: none;
}

.zw-home-services__item:hover .zw-home-services__label,
.zw-home-services__item:focus .zw-home-services__label {
	background-color: #ffffff;
	color: #555555;
}

/* Homepage Service Tiles Tablet */

@media (max-width: 1199px) {

	.zw-home-services__grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 50px 30px;
		padding: 40px;
	}

	.zw-home-services__icon {
		width: 160px;
		height: 160px;
	}

	.zw-home-services__label {
		max-width: 160px;
		font-size: 16px;
		line-height: 22px;
	}

}

/* Homepage Service Tiles Mobile */

@media (max-width: 767px) {

	.zw-home-services {
		padding: 30px 0;
	}

	.zw-home-services__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 30px 20px;
		padding: 30px 20px;
	}

	.zw-home-services__icon {
		width: 120px;
		height: 120px;
	}

	.zw-home-services__label {
		max-width: 120px;
		margin-top: 8px;
		padding: 5px 8px;
		font-size: 14px;
		line-height: 22px;
	}

}

@media (max-width: 340px) {
	.zw-home-services__label {
		font-size: 12px;
	}
}

/* Philosophy Dentists Section */

.zw-philosophy-dentists-grid {
	display: flex;
	flex-wrap: wrap;
	margin-left: -30px;
}

.zw-philosophy-dentists-grid__item {
	width: 100%;
	padding-left: 30px;
	margin-bottom: 30px;
}

.zw-philosophy-dentists-grid__item img {
	display: block;
	max-width: 100%;
	height: auto;
}

.zw-content-button {
	min-height: 30px;
	line-height: 30px;
	font-size: 16px;
}

@media (min-width: 768px) {

	.zw-philosophy-dentists-grid__item {
		width: 33.333333%;
	}

}

@media (min-width: 1220px) {
	
	.zw-content-button {
        font-size: 20px;
    }

	.zw-philosophy-dentists-grid {
		margin-left: -40px;
	}

	.zw-philosophy-dentists-grid__item {
		padding-left: 40px;
	}
}

/* Homepage Testimonials */

.zw-home-testimonials {
	padding: 55px 0;
	background-color: #dbd4cc;
}

.zw-home-testimonials__title {
	margin: 0 0 15px;
	color: #E74922;
}

.zw-home-testimonials__subtitle {
	margin: 0 0 70px;
	color: #555555;
}

.zw-home-testimonials__slider {
	position: relative;
}

.zw-home-testimonials__track {
	position: relative;
	width: 100%;
}

.zw-home-testimonials__slide {
	position: absolute;
	inset: 0;
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-template-rows: auto auto;
	align-items: start;
	column-gap: 70px;
	width: 100%;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity 0.6s ease, visibility 0.6s ease;
}

.zw-home-testimonials__slide.is-active {
	z-index: 1;
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}

.zw-home-testimonials__media {
	grid-column: 1;
	grid-row: 1;
	width: 100%;
}

.zw-home-testimonials__image {
	display: block;
	width: 100%;
	height: auto;
}

.zw-home-testimonials__content {
	grid-column: 2;
	grid-row: 1 / span 2;
	padding-top: 10px;
}

.zw-home-testimonials__content p {
	margin: 0;
}

.zw-home-testimonials__dots {
	grid-column: 1;
	grid-row: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 14px;
	margin-top: 15px;
}

.zw-home-testimonials__dot {
	width: 14px;
	height: 14px;
	margin: 0;
	padding: 0;
	border: 2px solid #555555;
	border-radius: 50%;
	background-color: transparent;
	cursor: pointer;
}

.zw-home-testimonials__dot:hover,
.zw-home-testimonials__dot:focus {
	border-color: #E74922;
	background-color: transparent;
}

.zw-home-testimonials__dot.is-active {
	border-color: #E74922;
	background-color: #E74922;
}

/* Homepage Testimonials Mobile */

@media (max-width: 767px) {

	.zw-home-testimonials {
		padding: 30px 0;
	}

	.zw-home-testimonials__subtitle {
		margin-bottom: 40px;
	}

	.zw-home-testimonials__slide {
		display: block;
	}

	.zw-home-testimonials__media {
		width: 100%;
	}

	.zw-home-testimonials__dots {
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 14px;
		width: 100%;
		margin-top: 15px;
	}

	.zw-home-testimonials__content {
		padding-top: 30px;
	}

}

/* Legal Contact */

.zw-legal-contact .zw-icon-row {
	display: inline-flex;
	align-items: center;
	gap: 8px;
}

.zw-legal-contact .zw-icon {
	width: 16px;
	height: 16px;
	fill: none;
	stroke: currentColor;
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
}