/* GENERATED by tools/build.py - do not edit.
   Sources, in order: normalize.css, webflow.css, styles.css, custom.css
   Edit those and re-run the script. */

/* ---- normalize.css ---- */
/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */
/**
 * 1. Set default font family to sans-serif.
 * 2. Prevent iOS and IE text size adjust after device orientation change,
 *    without disabling user zoom.
 */
html {
  font-family: sans-serif;
  /* 1 */
  -ms-text-size-adjust: 100%;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
}
/**
 * Remove default margin.
 */
body {
  margin: 0;
}
/* HTML5 display definitions
   ========================================================================== */
/**
 * Correct `block` display not defined for any HTML5 element in IE 8/9.
 * Correct `block` display not defined for `details` or `summary` in IE 10/11
 * and Firefox.
 * Correct `block` display not defined for `main` in IE 11.
 */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
  display: block;
}
/**
 * 1. Correct `inline-block` display not defined in IE 8/9.
 * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
 */
audio,
canvas,
progress,
video {
  display: inline-block;
  /* 1 */
  vertical-align: baseline;
  /* 2 */
}
/**
 * Prevent modern browsers from displaying `audio` without controls.
 * Remove excess height in iOS 5 devices.
 */
audio:not([controls]) {
  display: none;
  height: 0;
}
/**
 * Address `[hidden]` styling not present in IE 8/9/10.
 * Hide the `template` element in IE 8/9/10/11, Safari, and Firefox < 22.
 */
[hidden],
template {
  display: none;
}
/* Links
   ========================================================================== */
/**
 * Remove the gray background color from active links in IE 10.
 */
a {
  background-color: transparent;
}
/**
 * Improve readability of focused elements when they are also in an
 * active/hover state.
 */
a:active,
a:hover {
  outline: 0;
}
/* Text-level semantics
   ========================================================================== */
/**
 * Address styling not present in IE 8/9/10/11, Safari, and Chrome.
 */
abbr[title] {
  border-bottom: 1px dotted;
}
/**
 * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
 */
b,
strong {
  font-weight: bold;
}
/**
 * Address styling not present in Safari and Chrome.
 */
dfn {
  font-style: italic;
}
/**
 * Address variable `h1` font-size and margin within `section` and `article`
 * contexts in Firefox 4+, Safari, and Chrome.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}
/**
 * Address styling not present in IE 8/9.
 */
mark {
  background: #ff0;
  color: #000;
}
/**
 * Address inconsistent and variable font size in all browsers.
 */
small {
  font-size: 80%;
}
/**
 * Prevent `sub` and `sup` affecting `line-height` in all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}
sup {
  top: -0.5em;
}
sub {
  bottom: -0.25em;
}
/* Embedded content
   ========================================================================== */
/**
 * Remove border when inside `a` element in IE 8/9/10.
 */
img {
  border: 0;
}
/**
 * Correct overflow not hidden in IE 9/10/11.
 */
svg:not(:root) {
  overflow: hidden;
}
/* Grouping content
   ========================================================================== */
/**
 * Address margin not present in IE 8/9 and Safari.
 */
figure {
  margin: 1em 40px;
}
/**
 * Address differences between Firefox and other browsers.
 */
hr {
  box-sizing: content-box;
  height: 0;
}
/**
 * Contain overflow in all browsers.
 */
pre {
  overflow: auto;
}
/**
 * Address odd `em`-unit font size rendering in all browsers.
 */
code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  font-size: 1em;
}
/* Forms
   ========================================================================== */
/**
 * Known limitation: by default, Chrome and Safari on OS X allow very limited
 * styling of `select`, unless a `border` property is set.
 */
/**
 * 1. Correct color not being inherited.
 *    Known issue: affects color of disabled elements.
 * 2. Correct font properties not being inherited.
 * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
 */
button,
input,
optgroup,
select,
textarea {
  color: inherit;
  /* 1 */
  font: inherit;
  /* 2 */
  margin: 0;
  /* 3 */
}
/**
 * Address `overflow` set to `hidden` in IE 8/9/10/11.
 */
button {
  overflow: visible;
}
/**
 * Address inconsistent `text-transform` inheritance for `button` and `select`.
 * All other form control elements do not inherit `text-transform` values.
 * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
 * Correct `select` style inheritance in Firefox.
 */
button,
select {
  text-transform: none;
}
/**
 * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
 *    and `video` controls.
 * 2. Correct inability to style clickable `input` types in iOS.
 * 3. Improve usability and consistency of cursor style between image-type
 *    `input` and others.
 * 4. CUSTOM FOR WEBFLOW: Removed the input[type="submit"] selector to reduce
 *    specificity and defer to the .w-button selector
 */
button,
html input[type="button"],
input[type="reset"] {
  -webkit-appearance: button;
  /* 2 */
  cursor: pointer;
  /* 3 */
}
/**
 * Re-set default cursor for disabled elements.
 */
button[disabled],
html input[disabled] {
  cursor: default;
}
/**
 * Remove inner padding and border in Firefox 4+.
 */
button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}
/**
 * Address Firefox 4+ setting `line-height` on `input` using `!important` in
 * the UA stylesheet.
 */
input {
  line-height: normal;
}
/**
 * It's recommended that you don't attempt to style these elements.
 * Firefox's implementation doesn't respect box-sizing, padding, or width.
 *
 * 1. Address box sizing set to `content-box` in IE 8/9/10.
 * 2. Remove excess padding in IE 8/9/10.
 */
input[type='checkbox'],
input[type='radio'] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */
}
/**
 * Fix the cursor style for Chrome's increment/decrement buttons. For certain
 * `font-size` values of the `input`, it causes the cursor style of the
 * decrement button to change from `default` to `text`.
 */
input[type='number']::-webkit-inner-spin-button,
input[type='number']::-webkit-outer-spin-button {
  height: auto;
}
/**
 * 1. CUSTOM FOR WEBFLOW: changed from `textfield` to `none` to normalize iOS rounded input
 * 2. CUSTOM FOR WEBFLOW: box-sizing: content-box rule removed
 *    (similar to normalize.css >=4.0.0)
 */
input[type='search'] {
  -webkit-appearance: none;
  /* 1 */
}
/**
 * Remove inner padding and search cancel button in Safari and Chrome on OS X.
 * Safari (but not Chrome) clips the cancel button when the search input has
 * padding (and `textfield` appearance).
 */
input[type='search']::-webkit-search-cancel-button,
input[type='search']::-webkit-search-decoration {
  -webkit-appearance: none;
}
/**
 * Define consistent border, margin, and padding.
 */
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}
/**
 * 1. Correct `color` not being inherited in IE 8/9/10/11.
 * 2. Remove padding so people aren't caught out if they zero out fieldsets.
 */
legend {
  border: 0;
  /* 1 */
  padding: 0;
  /* 2 */
}
/**
 * Remove default vertical scrollbar in IE 8/9/10/11.
 */
textarea {
  overflow: auto;
}
/**
 * Don't inherit the `font-weight` (applied by a rule above).
 * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
 */
optgroup {
  font-weight: bold;
}
/* Tables
   ========================================================================== */
/**
 * Remove most spacing between table cells.
 */
table {
  border-collapse: collapse;
  border-spacing: 0;
}
td,
th {
  padding: 0;
}

/* ---- webflow.css ---- */
@font-face {
  font-family: 'webflow-icons';
  src: url("data:application/x-font-ttf;charset=utf-8;base64,AAEAAAALAIAAAwAwT1MvMg8SBiUAAAC8AAAAYGNtYXDpP+a4AAABHAAAAFxnYXNwAAAAEAAAAXgAAAAIZ2x5ZmhS2XEAAAGAAAADHGhlYWQTFw3HAAAEnAAAADZoaGVhCXYFgQAABNQAAAAkaG10eCe4A1oAAAT4AAAAMGxvY2EDtALGAAAFKAAAABptYXhwABAAPgAABUQAAAAgbmFtZSoCsMsAAAVkAAABznBvc3QAAwAAAAAHNAAAACAAAwP4AZAABQAAApkCzAAAAI8CmQLMAAAB6wAzAQkAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAABAAADpAwPA/8AAQAPAAEAAAAABAAAAAAAAAAAAAAAgAAAAAAADAAAAAwAAABwAAQADAAAAHAADAAEAAAAcAAQAQAAAAAwACAACAAQAAQAg5gPpA//9//8AAAAAACDmAOkA//3//wAB/+MaBBcIAAMAAQAAAAAAAAAAAAAAAAABAAH//wAPAAEAAAAAAAAAAAACAAA3OQEAAAAAAQAAAAAAAAAAAAIAADc5AQAAAAABAAAAAAAAAAAAAgAANzkBAAAAAAEBIAAAAyADgAAFAAAJAQcJARcDIP5AQAGA/oBAAcABwED+gP6AQAABAOAAAALgA4AABQAAEwEXCQEH4AHAQP6AAYBAAcABwED+gP6AQAAAAwDAAOADQALAAA8AHwAvAAABISIGHQEUFjMhMjY9ATQmByEiBh0BFBYzITI2PQE0JgchIgYdARQWMyEyNj0BNCYDIP3ADRMTDQJADRMTDf3ADRMTDQJADRMTDf3ADRMTDQJADRMTAsATDSANExMNIA0TwBMNIA0TEw0gDRPAEw0gDRMTDSANEwAAAAABAJ0AtAOBApUABQAACQIHCQEDJP7r/upcAXEBcgKU/usBFVz+fAGEAAAAAAL//f+9BAMDwwAEAAkAABcBJwEXAwE3AQdpA5ps/GZsbAOabPxmbEMDmmz8ZmwDmvxmbAOabAAAAgAA/8AEAAPAAB0AOwAABSInLgEnJjU0Nz4BNzYzMTIXHgEXFhUUBw4BBwYjNTI3PgE3NjU0Jy4BJyYjMSIHDgEHBhUUFx4BFxYzAgBqXV6LKCgoKIteXWpqXV6LKCgoKIteXWpVSktvICEhIG9LSlVVSktvICEhIG9LSlVAKCiLXl1qal1eiygoKCiLXl1qal1eiygoZiEgb0tKVVVKS28gISEgb0tKVVVKS28gIQABAAABwAIAA8AAEgAAEzQ3PgE3NjMxFSIHDgEHBhUxIwAoKIteXWpVSktvICFmAcBqXV6LKChmISBvS0pVAAAAAgAA/8AFtgPAADIAOgAAARYXHgEXFhUUBw4BBwYHIxUhIicuAScmNTQ3PgE3NjMxOAExNDc+ATc2MzIXHgEXFhcVATMJATMVMzUEjD83NlAXFxYXTjU1PQL8kz01Nk8XFxcXTzY1PSIjd1BQWlJJSXInJw3+mdv+2/7c25MCUQYcHFg5OUA/ODlXHBwIAhcXTzY1PTw1Nk8XF1tQUHcjIhwcYUNDTgL+3QFt/pOTkwABAAAAAQAAmM7nP18PPPUACwQAAAAAANciZKUAAAAA1yJkpf/9/70FtgPDAAAACAACAAAAAAAAAAEAAAPA/8AAAAW3//3//QW2AAEAAAAAAAAAAAAAAAAAAAAMBAAAAAAAAAAAAAAAAgAAAAQAASAEAADgBAAAwAQAAJ0EAP/9BAAAAAQAAAAFtwAAAAAAAAAKABQAHgAyAEYAjACiAL4BFgE2AY4AAAABAAAADAA8AAMAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAADgCuAAEAAAAAAAEADQAAAAEAAAAAAAIABwCWAAEAAAAAAAMADQBIAAEAAAAAAAQADQCrAAEAAAAAAAUACwAnAAEAAAAAAAYADQBvAAEAAAAAAAoAGgDSAAMAAQQJAAEAGgANAAMAAQQJAAIADgCdAAMAAQQJAAMAGgBVAAMAAQQJAAQAGgC4AAMAAQQJAAUAFgAyAAMAAQQJAAYAGgB8AAMAAQQJAAoANADsd2ViZmxvdy1pY29ucwB3AGUAYgBmAGwAbwB3AC0AaQBjAG8AbgBzVmVyc2lvbiAxLjAAVgBlAHIAcwBpAG8AbgAgADEALgAwd2ViZmxvdy1pY29ucwB3AGUAYgBmAGwAbwB3AC0AaQBjAG8AbgBzd2ViZmxvdy1pY29ucwB3AGUAYgBmAGwAbwB3AC0AaQBjAG8AbgBzUmVndWxhcgBSAGUAZwB1AGwAYQByd2ViZmxvdy1pY29ucwB3AGUAYgBmAGwAbwB3AC0AaQBjAG8AbgBzRm9udCBnZW5lcmF0ZWQgYnkgSWNvTW9vbi4ARgBvAG4AdAAgAGcAZQBuAGUAcgBhAHQAZQBkACAAYgB5ACAASQBjAG8ATQBvAG8AbgAuAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==") format('truetype');
  font-weight: normal;
  font-style: normal;
}
[class^="w-icon-"],
[class*=" w-icon-"] {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: 'webflow-icons' !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.w-icon-slider-right:before {
  content: "\e600";
}
.w-icon-slider-left:before {
  content: "\e601";
}
.w-icon-nav-menu:before {
  content: "\e602";
}
.w-icon-arrow-down:before,
.w-icon-dropdown-toggle:before {
  content: "\e603";
}
.w-icon-file-upload-remove:before {
  content: "\e900";
}
.w-icon-file-upload-icon:before {
  content: "\e903";
}
* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
html {
  height: 100%;
}
body {
  margin: 0;
  min-height: 100%;
  background-color: #fff;
  font-family: Arial, sans-serif;
  font-size: 14px;
  line-height: 20px;
  color: #333;
}
img {
  max-width: 100%;
  vertical-align: middle;
  display: inline-block;
}
html.w-mod-touch * {
  background-attachment: scroll !important;
}
.w-block {
  display: block;
}
.w-inline-block {
  max-width: 100%;
  display: inline-block;
}
.w-clearfix:before,
.w-clearfix:after {
  content: " ";
  display: table;
  grid-column-start: 1;
  grid-row-start: 1;
  grid-column-end: 2;
  grid-row-end: 2;
}
.w-clearfix:after {
  clear: both;
}
.w-hidden {
  display: none;
}
.w-button {
  display: inline-block;
  padding: 9px 15px;
  background-color: #3898EC;
  color: white;
  border: 0;
  line-height: inherit;
  text-decoration: none;
  cursor: pointer;
  border-radius: 0;
}
input.w-button {
  -webkit-appearance: button;
}
html[data-w-dynpage] [data-w-cloak] {
  color: transparent !important;
}
.w-code-block {
  margin: unset;
}
pre.w-code-block code {
  all: inherit;
}
.w-optimization {
  display: contents;
}
.w-webflow-badge,
.w-webflow-badge > img {
  box-sizing: unset;
  width: unset;
  height: unset;
  max-height: unset;
  max-width: unset;
  min-height: unset;
  min-width: unset;
  margin: unset;
  padding: unset;
  float: unset;
  clear: unset;
  border: unset;
  border-radius: unset;
  background: unset;
  background-image: unset;
  background-position: unset;
  background-size: unset;
  background-repeat: unset;
  background-origin: unset;
  background-clip: unset;
  background-attachment: unset;
  background-color: unset;
  box-shadow: unset;
  transform: unset;
  transition: unset;
  direction: unset;
  font-family: unset;
  font-weight: unset;
  color: unset;
  font-size: unset;
  line-height: unset;
  font-style: unset;
  font-variant: unset;
  text-align: unset;
  letter-spacing: unset;
  text-decoration: unset;
  text-indent: unset;
  text-transform: unset;
  list-style-type: unset;
  text-shadow: unset;
  vertical-align: unset;
  cursor: unset;
  white-space: unset;
  word-break: unset;
  word-spacing: unset;
  word-wrap: unset;
}
.w-webflow-badge {
  position: fixed !important;
  display: inline-block !important;
  visibility: visible !important;
  opacity: 1 !important;
  z-index: 2147483647 !important;
  top: auto !important;
  right: 12px !important;
  bottom: 12px !important;
  left: auto !important;
  color: #aaadb0 !important;
  background-color: #fff !important;
  border-radius: 3px !important;
  padding: 6px !important;
  font-size: 12px !important;
  line-height: 14px !important;
  text-decoration: none !important;
  transform: none !important;
  margin: 0 !important;
  width: auto !important;
  height: auto !important;
  overflow: unset !important;
  white-space: nowrap;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.1), 0px 1px 3px rgba(0, 0, 0, 0.1);
  cursor: pointer;
}
.w-webflow-badge > img {
  position: unset;
  display: inline-block !important;
  visibility: unset !important;
  opacity: 1 !important;
  vertical-align: middle !important;
}
h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: bold;
  margin-bottom: 10px;
}
h1 {
  font-size: 38px;
  line-height: 44px;
  margin-top: 20px;
}
h2 {
  font-size: 32px;
  line-height: 36px;
  margin-top: 20px;
}
h3 {
  font-size: 24px;
  line-height: 30px;
  margin-top: 20px;
}
h4 {
  font-size: 18px;
  line-height: 24px;
  margin-top: 10px;
}
h5 {
  font-size: 14px;
  line-height: 20px;
  margin-top: 10px;
}
h6 {
  font-size: 12px;
  line-height: 18px;
  margin-top: 10px;
}
p {
  margin-top: 0;
  margin-bottom: 10px;
}
blockquote {
  margin: 0 0 10px 0;
  padding: 10px 20px;
  border-left: 5px solid #E2E2E2;
  font-size: 18px;
  line-height: 22px;
}
figure {
  margin: 0;
  margin-bottom: 10px;
}
figcaption {
  margin-top: 5px;
  text-align: center;
}
ul,
ol {
  margin-top: 0px;
  margin-bottom: 10px;
  padding-left: 40px;
}
.w-list-unstyled {
  padding-left: 0;
  list-style: none;
}
.w-embed:before,
.w-embed:after {
  content: " ";
  display: table;
  grid-column-start: 1;
  grid-row-start: 1;
  grid-column-end: 2;
  grid-row-end: 2;
}
.w-embed:after {
  clear: both;
}
.w-video {
  width: 100%;
  position: relative;
  padding: 0;
}
.w-video iframe,
.w-video object,
.w-video embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: none;
}
fieldset {
  padding: 0;
  margin: 0;
  border: 0;
}
button,
[type='button'],
[type='reset'] {
  border: 0;
  cursor: pointer;
  -webkit-appearance: button;
}
.w-form {
  margin: 0 0 15px;
}
.w-form-done {
  display: none;
  padding: 20px;
  text-align: center;
  background-color: #dddddd;
}
.w-form-fail {
  display: none;
  margin-top: 10px;
  padding: 10px;
  background-color: #ffdede;
}
label {
  display: block;
  margin-bottom: 5px;
  font-weight: bold;
}
.w-input,
.w-select {
  display: block;
  width: 100%;
  height: 38px;
  padding: 8px 12px;
  margin-bottom: 10px;
  font-size: 14px;
  line-height: 1.42857143;
  color: #333333;
  vertical-align: middle;
  background-color: #ffffff;
  border: 1px solid #cccccc;
}
.w-input::placeholder,
.w-select::placeholder {
  color: #999;
}
.w-input:focus,
.w-select:focus {
  border-color: #3898EC;
  outline: 0;
}
.w-input[disabled],
.w-select[disabled],
.w-input[readonly],
.w-select[readonly],
fieldset[disabled] .w-input,
fieldset[disabled] .w-select {
  cursor: not-allowed;
}
.w-input[disabled]:not(.w-input-disabled),
.w-select[disabled]:not(.w-input-disabled),
.w-input[readonly],
.w-select[readonly],
fieldset[disabled]:not(.w-input-disabled) .w-input,
fieldset[disabled]:not(.w-input-disabled) .w-select {
  background-color: #eeeeee;
}
textarea.w-input,
textarea.w-select {
  height: auto;
}
.w-select {
  background-color: #f3f3f3;
}
.w-select[multiple] {
  height: auto;
}
.w-form-label {
  display: inline-block;
  cursor: pointer;
  font-weight: normal;
  margin-bottom: 0px;
}
.w-radio {
  display: block;
  margin-bottom: 5px;
  padding-left: 20px;
}
.w-radio:before,
.w-radio:after {
  content: " ";
  display: table;
  grid-column-start: 1;
  grid-row-start: 1;
  grid-column-end: 2;
  grid-row-end: 2;
}
.w-radio:after {
  clear: both;
}
.w-radio-input {
  margin: 4px 0 0;
  line-height: normal;
  float: left;
  margin-left: -20px;
}
.w-radio-input {
  margin-top: 3px;
}
.w-file-upload {
  display: block;
  margin-bottom: 10px;
}
.w-file-upload-input {
  width: 0.1px;
  height: 0.1px;
  opacity: 0;
  overflow: hidden;
  position: absolute;
  z-index: -100;
}
.w-file-upload-default,
.w-file-upload-uploading,
.w-file-upload-success {
  display: inline-block;
  color: #333333;
}
.w-file-upload-error {
  display: block;
  margin-top: 10px;
}
.w-file-upload-default.w-hidden,
.w-file-upload-uploading.w-hidden,
.w-file-upload-error.w-hidden,
.w-file-upload-success.w-hidden {
  display: none;
}
.w-file-upload-uploading-btn {
  display: flex;
  font-size: 14px;
  font-weight: normal;
  cursor: pointer;
  margin: 0;
  padding: 8px 12px;
  border: 1px solid #cccccc;
  background-color: #fafafa;
}
.w-file-upload-file {
  display: flex;
  flex-grow: 1;
  justify-content: space-between;
  margin: 0;
  padding: 8px 9px 8px 11px;
  border: 1px solid #cccccc;
  background-color: #fafafa;
}
.w-file-upload-file-name {
  font-size: 14px;
  font-weight: normal;
  display: block;
}
.w-file-remove-link {
  margin-top: 3px;
  margin-left: 10px;
  width: auto;
  height: auto;
  padding: 3px;
  display: block;
  cursor: pointer;
}
.w-icon-file-upload-remove {
  margin: auto;
  font-size: 10px;
}
.w-file-upload-error-msg {
  display: inline-block;
  color: #ea384c;
  padding: 2px 0;
}
.w-file-upload-info {
  display: inline-block;
  line-height: 38px;
  padding: 0 12px;
}
.w-file-upload-label {
  display: inline-block;
  font-size: 14px;
  font-weight: normal;
  cursor: pointer;
  margin: 0;
  padding: 8px 12px;
  border: 1px solid #cccccc;
  background-color: #fafafa;
}
.w-icon-file-upload-icon,
.w-icon-file-upload-uploading {
  display: inline-block;
  margin-right: 8px;
  width: 20px;
}
.w-icon-file-upload-uploading {
  height: 20px;
}
.w-container {
  margin-left: auto;
  margin-right: auto;
  max-width: 940px;
}
.w-container:before,
.w-container:after {
  content: " ";
  display: table;
  grid-column-start: 1;
  grid-row-start: 1;
  grid-column-end: 2;
  grid-row-end: 2;
}
.w-container:after {
  clear: both;
}
.w-container .w-row {
  margin-left: -10px;
  margin-right: -10px;
}
.w-row:before,
.w-row:after {
  content: " ";
  display: table;
  grid-column-start: 1;
  grid-row-start: 1;
  grid-column-end: 2;
  grid-row-end: 2;
}
.w-row:after {
  clear: both;
}
.w-row .w-row {
  margin-left: 0;
  margin-right: 0;
}
.w-col {
  position: relative;
  float: left;
  width: 100%;
  min-height: 1px;
  padding-left: 10px;
  padding-right: 10px;
}
.w-col .w-col {
  padding-left: 0;
  padding-right: 0;
}
.w-col-1 {
  width: 8.33333333%;
}
.w-col-2 {
  width: 16.66666667%;
}
.w-col-3 {
  width: 25%;
}
.w-col-4 {
  width: 33.33333333%;
}
.w-col-5 {
  width: 41.66666667%;
}
.w-col-6 {
  width: 50%;
}
.w-col-7 {
  width: 58.33333333%;
}
.w-col-8 {
  width: 66.66666667%;
}
.w-col-9 {
  width: 75%;
}
.w-col-10 {
  width: 83.33333333%;
}
.w-col-11 {
  width: 91.66666667%;
}
.w-col-12 {
  width: 100%;
}
.w-hidden-main {
  display: none !important;
}
@media screen and (max-width: 991px) {
  .w-container {
    max-width: 728px;
  }
  .w-hidden-main {
    display: inherit !important;
  }
  .w-hidden-medium {
    display: none !important;
  }
  .w-col-medium-1 {
    width: 8.33333333%;
  }
  .w-col-medium-2 {
    width: 16.66666667%;
  }
  .w-col-medium-3 {
    width: 25%;
  }
  .w-col-medium-4 {
    width: 33.33333333%;
  }
  .w-col-medium-5 {
    width: 41.66666667%;
  }
  .w-col-medium-6 {
    width: 50%;
  }
  .w-col-medium-7 {
    width: 58.33333333%;
  }
  .w-col-medium-8 {
    width: 66.66666667%;
  }
  .w-col-medium-9 {
    width: 75%;
  }
  .w-col-medium-10 {
    width: 83.33333333%;
  }
  .w-col-medium-11 {
    width: 91.66666667%;
  }
  .w-col-medium-12 {
    width: 100%;
  }
  .w-col-stack {
    width: 100%;
    left: auto;
    right: auto;
  }
}
@media screen and (max-width: 767px) {
  .w-hidden-main {
    display: inherit !important;
  }
  .w-hidden-medium {
    display: inherit !important;
  }
  .w-hidden-small {
    display: none !important;
  }
  .w-row,
  .w-container .w-row {
    margin-left: 0;
    margin-right: 0;
  }
  .w-col {
    width: 100%;
    left: auto;
    right: auto;
  }
  .w-col-small-1 {
    width: 8.33333333%;
  }
  .w-col-small-2 {
    width: 16.66666667%;
  }
  .w-col-small-3 {
    width: 25%;
  }
  .w-col-small-4 {
    width: 33.33333333%;
  }
  .w-col-small-5 {
    width: 41.66666667%;
  }
  .w-col-small-6 {
    width: 50%;
  }
  .w-col-small-7 {
    width: 58.33333333%;
  }
  .w-col-small-8 {
    width: 66.66666667%;
  }
  .w-col-small-9 {
    width: 75%;
  }
  .w-col-small-10 {
    width: 83.33333333%;
  }
  .w-col-small-11 {
    width: 91.66666667%;
  }
  .w-col-small-12 {
    width: 100%;
  }
}
@media screen and (max-width: 479px) {
  .w-container {
    max-width: none;
  }
  .w-hidden-main {
    display: inherit !important;
  }
  .w-hidden-medium {
    display: inherit !important;
  }
  .w-hidden-small {
    display: inherit !important;
  }
  .w-hidden-tiny {
    display: none !important;
  }
  .w-col {
    width: 100%;
  }
  .w-col-tiny-1 {
    width: 8.33333333%;
  }
  .w-col-tiny-2 {
    width: 16.66666667%;
  }
  .w-col-tiny-3 {
    width: 25%;
  }
  .w-col-tiny-4 {
    width: 33.33333333%;
  }
  .w-col-tiny-5 {
    width: 41.66666667%;
  }
  .w-col-tiny-6 {
    width: 50%;
  }
  .w-col-tiny-7 {
    width: 58.33333333%;
  }
  .w-col-tiny-8 {
    width: 66.66666667%;
  }
  .w-col-tiny-9 {
    width: 75%;
  }
  .w-col-tiny-10 {
    width: 83.33333333%;
  }
  .w-col-tiny-11 {
    width: 91.66666667%;
  }
  .w-col-tiny-12 {
    width: 100%;
  }
}
.w-widget {
  position: relative;
}
.w-widget-map {
  width: 100%;
  height: 400px;
}
.w-widget-map label {
  width: auto;
  display: inline;
}
.w-widget-map img {
  max-width: inherit;
}
.w-widget-map .gm-style-iw {
  text-align: center;
}
.w-widget-map .gm-style-iw > button {
  display: none !important;
}
.w-widget-twitter {
  overflow: hidden;
}
.w-widget-twitter-count-shim {
  display: inline-block;
  vertical-align: top;
  position: relative;
  width: 28px;
  height: 20px;
  text-align: center;
  background: white;
  border: #758696 solid 1px;
  border-radius: 3px;
}
.w-widget-twitter-count-shim * {
  pointer-events: none;
  user-select: none;
}
.w-widget-twitter-count-shim .w-widget-twitter-count-inner {
  position: relative;
  font-size: 15px;
  line-height: 12px;
  text-align: center;
  color: #999;
  font-family: serif;
}
.w-widget-twitter-count-shim .w-widget-twitter-count-clear {
  position: relative;
  display: block;
}
.w-widget-twitter-count-shim.w--large {
  width: 36px;
  height: 28px;
}
.w-widget-twitter-count-shim.w--large .w-widget-twitter-count-inner {
  font-size: 18px;
  line-height: 18px;
}
.w-widget-twitter-count-shim:not(.w--vertical) {
  margin-left: 5px;
  margin-right: 8px;
}
.w-widget-twitter-count-shim:not(.w--vertical).w--large {
  margin-left: 6px;
}
.w-widget-twitter-count-shim:not(.w--vertical):before,
.w-widget-twitter-count-shim:not(.w--vertical):after {
  top: 50%;
  left: 0;
  border: solid transparent;
  content: ' ';
  height: 0;
  width: 0;
  position: absolute;
  pointer-events: none;
}
.w-widget-twitter-count-shim:not(.w--vertical):before {
  border-color: rgba(117, 134, 150, 0);
  border-right-color: #5d6c7b;
  border-width: 4px;
  margin-left: -9px;
  margin-top: -4px;
}
.w-widget-twitter-count-shim:not(.w--vertical).w--large:before {
  border-width: 5px;
  margin-left: -10px;
  margin-top: -5px;
}
.w-widget-twitter-count-shim:not(.w--vertical):after {
  border-color: rgba(255, 255, 255, 0);
  border-right-color: white;
  border-width: 4px;
  margin-left: -8px;
  margin-top: -4px;
}
.w-widget-twitter-count-shim:not(.w--vertical).w--large:after {
  border-width: 5px;
  margin-left: -9px;
  margin-top: -5px;
}
.w-widget-twitter-count-shim.w--vertical {
  width: 61px;
  height: 33px;
  margin-bottom: 8px;
}
.w-widget-twitter-count-shim.w--vertical:before,
.w-widget-twitter-count-shim.w--vertical:after {
  top: 100%;
  left: 50%;
  border: solid transparent;
  content: ' ';
  height: 0;
  width: 0;
  position: absolute;
  pointer-events: none;
}
.w-widget-twitter-count-shim.w--vertical:before {
  border-color: rgba(117, 134, 150, 0);
  border-top-color: #5d6c7b;
  border-width: 5px;
  margin-left: -5px;
}
.w-widget-twitter-count-shim.w--vertical:after {
  border-color: rgba(255, 255, 255, 0);
  border-top-color: white;
  border-width: 4px;
  margin-left: -4px;
}
.w-widget-twitter-count-shim.w--vertical .w-widget-twitter-count-inner {
  font-size: 18px;
  line-height: 22px;
}
.w-widget-twitter-count-shim.w--vertical.w--large {
  width: 76px;
}
.w-background-video {
  position: relative;
  overflow: hidden;
  height: 500px;
  color: white;
}
.w-background-video > video {
  background-size: cover;
  background-position: 50% 50%;
  position: absolute;
  margin: auto;
  width: 100%;
  height: 100%;
  right: -100%;
  bottom: -100%;
  top: -100%;
  left: -100%;
  object-fit: cover;
  z-index: -100;
}
.w-background-video > video::-webkit-media-controls-start-playback-button {
  display: none !important;
  -webkit-appearance: none;
}
.w-background-video--control {
  position: absolute;
  bottom: 1em;
  right: 1em;
  background-color: transparent;
  padding: 0;
}
.w-background-video--control > [hidden] {
  display: none !important;
}
.w-slider {
  position: relative;
  height: 300px;
  text-align: center;
  background: #dddddd;
  clear: both;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  tap-highlight-color: rgba(0, 0, 0, 0);
}
.w-slider-mask {
  position: relative;
  display: block;
  overflow: hidden;
  z-index: 1;
  left: 0;
  right: 0;
  height: 100%;
  white-space: nowrap;
}
.w-slide {
  position: relative;
  display: inline-block;
  vertical-align: top;
  width: 100%;
  height: 100%;
  white-space: normal;
  text-align: left;
}
.w-slider-nav {
  position: absolute;
  z-index: 2;
  top: auto;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  padding-top: 10px;
  height: 40px;
  text-align: center;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  tap-highlight-color: rgba(0, 0, 0, 0);
}
.w-slider-nav.w-round > div {
  border-radius: 100%;
}
.w-slider-nav.w-num > div {
  width: auto;
  height: auto;
  padding: 0.2em 0.5em;
  font-size: inherit;
  line-height: inherit;
}
.w-slider-nav.w-shadow > div {
  box-shadow: 0 0 3px rgba(51, 51, 51, 0.4);
}
.w-slider-nav-invert {
  color: #fff;
}
.w-slider-nav-invert > div {
  background-color: rgba(34, 34, 34, 0.4);
}
.w-slider-nav-invert > div.w-active {
  background-color: #222;
}
.w-slider-dot {
  position: relative;
  display: inline-block;
  width: 1em;
  height: 1em;
  background-color: rgba(255, 255, 255, 0.4);
  cursor: pointer;
  margin: 0 3px 0.5em;
  transition: background-color 100ms, color 100ms;
}
.w-slider-dot.w-active {
  background-color: #fff;
}
.w-slider-dot:focus {
  outline: none;
  box-shadow: 0px 0px 0px 2px #fff;
}
.w-slider-dot:focus.w-active {
  box-shadow: none;
}
.w-slider-arrow-left,
.w-slider-arrow-right {
  position: absolute;
  width: 80px;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  cursor: pointer;
  overflow: hidden;
  color: white;
  font-size: 40px;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  tap-highlight-color: rgba(0, 0, 0, 0);
  user-select: none;
}
.w-slider-arrow-left [class^='w-icon-'],
.w-slider-arrow-right [class^='w-icon-'],
.w-slider-arrow-left [class*=' w-icon-'],
.w-slider-arrow-right [class*=' w-icon-'] {
  position: absolute;
}
.w-slider-arrow-left:focus,
.w-slider-arrow-right:focus {
  outline: 0;
}
.w-slider-arrow-left {
  z-index: 3;
  right: auto;
}
.w-slider-arrow-right {
  z-index: 4;
  left: auto;
}
.w-icon-slider-left,
.w-icon-slider-right {
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  width: 1em;
  height: 1em;
}
.w-slider-aria-label {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}
.w-slider-force-show {
  display: block !important;
}
.w-dropdown {
  display: inline-block;
  position: relative;
  text-align: left;
  margin-left: auto;
  margin-right: auto;
  z-index: 900;
}
.w-dropdown-btn,
.w-dropdown-toggle,
.w-dropdown-link {
  position: relative;
  vertical-align: top;
  text-decoration: none;
  color: #222222;
  padding: 20px;
  text-align: left;
  margin-left: auto;
  margin-right: auto;
  white-space: nowrap;
}
.w-dropdown-toggle {
  user-select: none;
  display: inline-block;
  cursor: pointer;
  padding-right: 40px;
}
.w-dropdown-toggle:focus {
  outline: 0;
}
.w-icon-dropdown-toggle {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  margin-right: 20px;
  width: 1em;
  height: 1em;
}
.w-dropdown-list {
  position: absolute;
  background: #dddddd;
  display: none;
  min-width: 100%;
}
.w-dropdown-list.w--open {
  display: block;
}
.w-dropdown-link {
  padding: 10px 20px;
  display: block;
  color: #222222;
}
.w-dropdown-link.w--current {
  color: #0082f3;
}
.w-dropdown-link:focus {
  outline: 0;
}
@media screen and (max-width: 767px) {
  .w-nav-brand {
    padding-left: 10px;
  }
}
/**
 * ## Note
 * Safari (on both iOS and OS X) does not handle viewport units (vh, vw) well.
 * For example percentage units do not work on descendants of elements that
 * have any dimensions expressed in viewport units. It also doesn’t handle them at
 * all in `calc()`.
 */
/**
 * Wrapper around all lightbox elements
 *
 * 1. Since the lightbox can receive focus, IE also gives it an outline.
 * 2. Fixes flickering on Chrome when a transition is in progress
 *    underneath the lightbox.
 */
.w-lightbox-backdrop {
  cursor: auto;
  font-style: normal;
  letter-spacing: normal;
  list-style: disc;
  text-indent: 0;
  text-shadow: none;
  text-transform: none;
  visibility: visible;
  white-space: normal;
  word-break: normal;
  word-spacing: normal;
  word-wrap: normal;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  color: #fff;
  font-family: "Helvetica Neue", Helvetica, Ubuntu, "Segoe UI", Verdana, sans-serif;
  font-size: 17px;
  line-height: 1.2;
  font-weight: 300;
  text-align: center;
  background: rgba(0, 0, 0, 0.9);
  z-index: 2000;
  outline: 0;
  /* 1 */
  opacity: 0;
  -webkit-user-select: none;
  -moz-user-select: none;
  -webkit-tap-highlight-color: transparent;
  -webkit-transform: translate(0, 0);
  /* 2 */
}
/**
 * Neat trick to bind the rubberband effect to our canvas instead of the whole
 * document on iOS. It also prevents a bug that causes the document underneath to scroll.
 */
.w-lightbox-backdrop,
.w-lightbox-container {
  height: 100%;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}
.w-lightbox-content {
  position: relative;
  height: 100vh;
  overflow: hidden;
}
.w-lightbox-view {
  position: absolute;
  width: 100vw;
  height: 100vh;
  opacity: 0;
}
.w-lightbox-view:before {
  content: "";
  height: 100vh;
}
/* .w-lightbox-content */
.w-lightbox-group,
.w-lightbox-group .w-lightbox-view,
.w-lightbox-group .w-lightbox-view:before {
  height: 86vh;
}
.w-lightbox-frame,
.w-lightbox-view:before {
  display: inline-block;
  vertical-align: middle;
}
/*
 * 1. Remove default margin set by user-agent on the <figure> element.
 */
.w-lightbox-figure {
  position: relative;
  margin: 0;
  /* 1 */
}
.w-lightbox-group .w-lightbox-figure {
  cursor: pointer;
}
/**
 * IE adds image dimensions as width and height attributes on the IMG tag,
 * but we need both width and height to be set to auto to enable scaling.
 */
.w-lightbox-img {
  width: auto;
  height: auto;
  max-width: none;
}
/**
 * 1. Reset if style is set by user on "All Images"
 */
.w-lightbox-image {
  display: block;
  float: none;
  /* 1 */
  max-width: 100vw;
  max-height: 100vh;
}
.w-lightbox-group .w-lightbox-image {
  max-height: 86vh;
}
.w-lightbox-caption {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  padding: 0.5em 1em;
  background: rgba(0, 0, 0, 0.4);
  text-align: left;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}
.w-lightbox-embed {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.w-lightbox-control {
  position: absolute;
  top: 0;
  width: 4em;
  background-size: 24px;
  background-repeat: no-repeat;
  background-position: center;
  cursor: pointer;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.w-lightbox-left {
  display: none;
  bottom: 0;
  left: 0;
  /* <svg xmlns="http://www.w3.org/2000/svg" viewBox="-20 0 24 40" width="24" height="40"><g transform="rotate(45)"><path d="m0 0h5v23h23v5h-28z" opacity=".4"/><path d="m1 1h3v23h23v3h-26z" fill="#fff"/></g></svg> */
  background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9Ii0yMCAwIDI0IDQwIiB3aWR0aD0iMjQiIGhlaWdodD0iNDAiPjxnIHRyYW5zZm9ybT0icm90YXRlKDQ1KSI+PHBhdGggZD0ibTAgMGg1djIzaDIzdjVoLTI4eiIgb3BhY2l0eT0iLjQiLz48cGF0aCBkPSJtMSAxaDN2MjNoMjN2M2gtMjZ6IiBmaWxsPSIjZmZmIi8+PC9nPjwvc3ZnPg==");
}
.w-lightbox-right {
  display: none;
  right: 0;
  bottom: 0;
  /* <svg xmlns="http://www.w3.org/2000/svg" viewBox="-4 0 24 40" width="24" height="40"><g transform="rotate(45)"><path d="m0-0h28v28h-5v-23h-23z" opacity=".4"/><path d="m1 1h26v26h-3v-23h-23z" fill="#fff"/></g></svg> */
  background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9Ii00IDAgMjQgNDAiIHdpZHRoPSIyNCIgaGVpZ2h0PSI0MCI+PGcgdHJhbnNmb3JtPSJyb3RhdGUoNDUpIj48cGF0aCBkPSJtMC0waDI4djI4aC01di0yM2gtMjN6IiBvcGFjaXR5PSIuNCIvPjxwYXRoIGQ9Im0xIDFoMjZ2MjZoLTN2LTIzaC0yM3oiIGZpbGw9IiNmZmYiLz48L2c+PC9zdmc+");
}
/*
 * Without specifying the with and height inside the SVG, all versions of IE render the icon too small.
 * The bug does not seem to manifest itself if the elements are tall enough such as the above arrows.
 * (http://stackoverflow.com/questions/16092114/background-size-differs-in-internet-explorer)
 */
.w-lightbox-close {
  right: 0;
  height: 2.6em;
  /* <svg xmlns="http://www.w3.org/2000/svg" viewBox="-4 0 18 17" width="18" height="17"><g transform="rotate(45)"><path d="m0 0h7v-7h5v7h7v5h-7v7h-5v-7h-7z" opacity=".4"/><path d="m1 1h7v-7h3v7h7v3h-7v7h-3v-7h-7z" fill="#fff"/></g></svg> */
  background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9Ii00IDAgMTggMTciIHdpZHRoPSIxOCIgaGVpZ2h0PSIxNyI+PGcgdHJhbnNmb3JtPSJyb3RhdGUoNDUpIj48cGF0aCBkPSJtMCAwaDd2LTdoNXY3aDd2NWgtN3Y3aC01di03aC03eiIgb3BhY2l0eT0iLjQiLz48cGF0aCBkPSJtMSAxaDd2LTdoM3Y3aDd2M2gtN3Y3aC0zdi03aC03eiIgZmlsbD0iI2ZmZiIvPjwvZz48L3N2Zz4=");
  background-size: 18px;
}
/**
 * 1. All IE versions add extra space at the bottom without this.
 */
.w-lightbox-strip {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 0 1vh;
  line-height: 0;
  /* 1 */
  white-space: nowrap;
  overflow-x: auto;
  overflow-y: hidden;
}
/*
 * 1. We use content-box to avoid having to do `width: calc(10vh + 2vw)`
 *    which doesn’t work in Safari anyway.
 * 2. Chrome renders images pixelated when switching to GPU. Making sure
 *    the parent is also rendered on the GPU (by setting translate3d for
 *    example) fixes this behavior.
 */
.w-lightbox-item {
  display: inline-block;
  width: 10vh;
  padding: 2vh 1vh;
  box-sizing: content-box;
  /* 1 */
  cursor: pointer;
  -webkit-transform: translate3d(0, 0, 0);
  /* 2 */
}
.w-lightbox-active {
  opacity: 0.3;
}
.w-lightbox-thumbnail {
  position: relative;
  height: 10vh;
  background: #222;
  overflow: hidden;
}
.w-lightbox-thumbnail-image {
  position: absolute;
  top: 0;
  left: 0;
}
.w-lightbox-thumbnail .w-lightbox-tall {
  top: 50%;
  width: 100%;
  -webkit-transform: translate(0, -50%);
  transform: translate(0, -50%);
}
.w-lightbox-thumbnail .w-lightbox-wide {
  left: 50%;
  height: 100%;
  -webkit-transform: translate(-50%, 0);
  transform: translate(-50%, 0);
}
/*
 * Spinner
 *
 * Absolute pixel values are used to avoid rounding errors that would cause
 * the white spinning element to be misaligned with the track.
 */
.w-lightbox-spinner {
  position: absolute;
  top: 50%;
  left: 50%;
  box-sizing: border-box;
  width: 40px;
  height: 40px;
  margin-top: -20px;
  margin-left: -20px;
  border: 5px solid rgba(0, 0, 0, 0.4);
  border-radius: 50%;
  -webkit-animation: spin 0.8s infinite linear;
  animation: spin 0.8s infinite linear;
}
.w-lightbox-spinner:after {
  content: "";
  position: absolute;
  top: -4px;
  right: -4px;
  bottom: -4px;
  left: -4px;
  border: 3px solid transparent;
  border-bottom-color: #fff;
  border-radius: 50%;
}
/*
 * Utility classes
 */
.w-lightbox-hide {
  display: none;
}
.w-lightbox-noscroll {
  overflow: hidden;
}
@media (min-width: 768px) {
  .w-lightbox-content {
    height: 96vh;
    margin-top: 2vh;
  }
  .w-lightbox-view,
  .w-lightbox-view:before {
    height: 96vh;
  }
  /* .w-lightbox-content */
  .w-lightbox-group,
  .w-lightbox-group .w-lightbox-view,
  .w-lightbox-group .w-lightbox-view:before {
    height: 84vh;
  }
  .w-lightbox-image {
    max-width: 96vw;
    max-height: 96vh;
  }
  .w-lightbox-group .w-lightbox-image {
    max-width: 82.3vw;
    max-height: 84vh;
  }
  .w-lightbox-left,
  .w-lightbox-right {
    display: block;
    opacity: 0.5;
  }
  .w-lightbox-close {
    opacity: 0.8;
  }
  .w-lightbox-control:hover {
    opacity: 1;
  }
}
.w-lightbox-inactive,
.w-lightbox-inactive:hover {
  opacity: 0;
}
.w-richtext:before,
.w-richtext:after {
  content: " ";
  display: table;
  grid-column-start: 1;
  grid-row-start: 1;
  grid-column-end: 2;
  grid-row-end: 2;
}
.w-richtext:after {
  clear: both;
}
.w-richtext[contenteditable="true"]:before,
.w-richtext[contenteditable="true"]:after {
  white-space: initial;
}
.w-richtext ol,
.w-richtext ul {
  overflow: hidden;
}
.w-richtext .w-richtext-figure-selected.w-richtext-figure-type-video div:after,
.w-richtext .w-richtext-figure-selected[data-rt-type="video"] div:after {
  outline: 2px solid #2895f7;
}
.w-richtext .w-richtext-figure-selected.w-richtext-figure-type-image div,
.w-richtext .w-richtext-figure-selected[data-rt-type="image"] div {
  outline: 2px solid #2895f7;
}
.w-richtext figure.w-richtext-figure-type-video > div:after,
.w-richtext figure[data-rt-type="video"] > div:after {
  content: '';
  position: absolute;
  display: none;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
}
.w-richtext figure {
  position: relative;
  max-width: 60%;
}
.w-richtext figure > div:before {
  cursor: default!important;
}
.w-richtext figure img {
  width: 100%;
}
.w-richtext figure figcaption.w-richtext-figcaption-placeholder {
  opacity: 0.6;
}
.w-richtext figure div {
  /* fix incorrectly sized selection border in the data manager */
  font-size: 0px;
  color: transparent;
}
.w-richtext figure.w-richtext-figure-type-image,
.w-richtext figure[data-rt-type="image"] {
  display: table;
}
.w-richtext figure.w-richtext-figure-type-image > div,
.w-richtext figure[data-rt-type="image"] > div {
  display: inline-block;
}
.w-richtext figure.w-richtext-figure-type-image > figcaption,
.w-richtext figure[data-rt-type="image"] > figcaption {
  display: table-caption;
  caption-side: bottom;
}
.w-richtext figure.w-richtext-figure-type-video,
.w-richtext figure[data-rt-type="video"] {
  width: 60%;
  height: 0;
}
.w-richtext figure.w-richtext-figure-type-video iframe,
.w-richtext figure[data-rt-type="video"] iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.w-richtext figure.w-richtext-figure-type-video > div,
.w-richtext figure[data-rt-type="video"] > div {
  width: 100%;
}
.w-richtext figure.w-richtext-align-center {
  margin-right: auto;
  margin-left: auto;
  clear: both;
}
.w-richtext figure.w-richtext-align-center.w-richtext-figure-type-image > div,
.w-richtext figure.w-richtext-align-center[data-rt-type="image"] > div {
  max-width: 100%;
}
.w-richtext figure.w-richtext-align-normal {
  clear: both;
}
.w-richtext figure.w-richtext-align-fullwidth {
  width: 100%;
  max-width: 100%;
  text-align: center;
  clear: both;
  display: block;
  margin-right: auto;
  margin-left: auto;
}
.w-richtext figure.w-richtext-align-fullwidth > div {
  display: inline-block;
  /* padding-bottom is used for aspect ratios in video figures
      we want the div to inherit that so hover/selection borders in the designer-canvas
      fit right*/
  padding-bottom: inherit;
}
.w-richtext figure.w-richtext-align-fullwidth > figcaption {
  display: block;
}
.w-richtext figure.w-richtext-align-floatleft {
  float: left;
  margin-right: 15px;
  clear: none;
}
.w-richtext figure.w-richtext-align-floatright {
  float: right;
  margin-left: 15px;
  clear: none;
}
.w-nav {
  position: relative;
  background: #dddddd;
  z-index: 1000;
}
.w-nav:before,
.w-nav:after {
  content: " ";
  display: table;
  grid-column-start: 1;
  grid-row-start: 1;
  grid-column-end: 2;
  grid-row-end: 2;
}
.w-nav:after {
  clear: both;
}
.w-nav-brand {
  position: relative;
  float: left;
  text-decoration: none;
  color: #333333;
}
.w-nav-link {
  position: relative;
  display: inline-block;
  vertical-align: top;
  text-decoration: none;
  color: #222222;
  padding: 20px;
  text-align: left;
  margin-left: auto;
  margin-right: auto;
}
.w-nav-link.w--current {
  color: #0082f3;
}
.w-nav-menu {
  position: relative;
  float: right;
}
[data-nav-menu-open] {
  display: block !important;
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  background: #C8C8C8;
  text-align: center;
  overflow: visible;
  min-width: 200px;
}
.w--nav-link-open {
  display: block;
  position: relative;
}
.w-nav-overlay {
  position: absolute;
  overflow: hidden;
  display: none;
  top: 100%;
  left: 0;
  right: 0;
  width: 100%;
}
.w-nav-overlay [data-nav-menu-open] {
  top: 0;
}
.w-nav[data-animation='over-left'] .w-nav-overlay {
  width: auto;
}
.w-nav[data-animation='over-left'] .w-nav-overlay,
.w-nav[data-animation='over-left'] [data-nav-menu-open] {
  right: auto;
  z-index: 1;
  top: 0;
}
.w-nav[data-animation='over-right'] .w-nav-overlay {
  width: auto;
}
.w-nav[data-animation='over-right'] .w-nav-overlay,
.w-nav[data-animation='over-right'] [data-nav-menu-open] {
  left: auto;
  z-index: 1;
  top: 0;
}
.w-nav-button {
  position: relative;
  float: right;
  padding: 18px;
  font-size: 24px;
  display: none;
  cursor: pointer;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  tap-highlight-color: rgba(0, 0, 0, 0);
  user-select: none;
}
.w-nav-button:focus {
  outline: 0;
}
.w-nav-button.w--open {
  background-color: #C8C8C8;
  color: white;
}
.w-nav[data-collapse='all'] .w-nav-menu {
  display: none;
}
.w-nav[data-collapse='all'] .w-nav-button {
  display: block;
}
.w--nav-dropdown-open {
  display: block;
}
.w--nav-dropdown-toggle-open {
  display: block;
}
.w--nav-dropdown-list-open {
  position: static;
}
@media screen and (max-width: 991px) {
  .w-nav[data-collapse='medium'] .w-nav-menu {
    display: none;
  }
  .w-nav[data-collapse='medium'] .w-nav-button {
    display: block;
  }
}
@media screen and (max-width: 767px) {
  .w-nav[data-collapse='small'] .w-nav-menu {
    display: none;
  }
  .w-nav[data-collapse='small'] .w-nav-button {
    display: block;
  }
  .w-nav-brand {
    padding-left: 10px;
  }
}
@media screen and (max-width: 479px) {
  .w-nav[data-collapse='tiny'] .w-nav-menu {
    display: none;
  }
  .w-nav[data-collapse='tiny'] .w-nav-button {
    display: block;
  }
}
.w-tabs {
  position: relative;
}
.w-tabs:before,
.w-tabs:after {
  content: " ";
  display: table;
  grid-column-start: 1;
  grid-row-start: 1;
  grid-column-end: 2;
  grid-row-end: 2;
}
.w-tabs:after {
  clear: both;
}
.w-tab-menu {
  position: relative;
}
.w-tab-link {
  position: relative;
  display: inline-block;
  vertical-align: top;
  text-decoration: none;
  padding: 9px 30px;
  text-align: left;
  cursor: pointer;
  color: #222222;
  background-color: #dddddd;
}
.w-tab-link.w--current {
  background-color: #C8C8C8;
}
.w-tab-link:focus {
  outline: 0;
}
.w-tab-content {
  position: relative;
  display: block;
  overflow: hidden;
}
.w-tab-pane {
  position: relative;
  display: none;
}
.w--tab-active {
  display: block;
}
@media screen and (max-width: 479px) {
  .w-tab-link {
    display: block;
  }
}
.w-ix-emptyfix:after {
  content: "";
}
@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
.w-dyn-empty {
  padding: 10px;
  background-color: #dddddd;
}
.w-dyn-hide {
  display: none !important;
}
.w-dyn-bind-empty {
  display: none !important;
}
.w-condition-invisible {
  display: none !important;
}
.wf-layout-layout {
  display: grid;
}

/* ---- styles.css ---- */
@font-face {
  font-family: Mulish Subset;
  src: url('../fonts/Mulish-Regular-subset.woff2') format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: Mulish Subset;
  src: url('../fonts/Mulish-Italic-subset.woff2') format("woff2");
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: Mulish Subset;
  src: url('../fonts/Mulish-SemiBold-subset.woff2') format("woff2");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: Mulish Subset;
  src: url('../fonts/Mulish-Bold-subset.woff2') format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: Moisette;
  src: url('../fonts/Moisette-Italic-subset.woff2') format("woff2");
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: Moisette;
  src: url('../fonts/Moisette-Regular-subset.woff2') format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

:root {
  --_theme---background: var(--swatch--white);
  --_text-style---font-family: var(--_typography---font--primary-family);
  --_theme---text: var(--swatch--neutral-950);
  --_text-style---font-size: var(--_typography---font-size--text-main);
  --_text-style---line-height: var(--_typography---line-height--1-5);
  --_text-style---font-weight: var(--_typography---font--primary-regular);
  --_text-style---letter-spacing: var(--_typography---letter-spacing--0em);
  --_theme---heading-brand: var(--swatch--brand-700);
  --_theme---accent: var(--swatch--gold-main);
  --_typography---font--heading-regular: 400;
  --_typography---line-height--1-1: 1.1;
  --_typography---line-height--1-3: 1.3;
  --_typography---font-size--text-large: var(--size--1-25rem);
  --_typography---font-size--text-main: var(--size--1rem);
  --container--main: 90rem;
  --size--6rem: 6rem;
  --container--small: 90rem;
  --radius--large: 1rem;
  --_spacing---space--4: var(--size--1rem);
  --site--gutter: 1rem;
  --_spacing---space--5: var(--size--1-5rem);
  --_spacing---space--6: var(--size--2rem);
  --_typography---font--primary-family: "Mulish Subset", Verdana, sans-serif;
  --_typography---font--primary-bold: 700;
  --_typography---letter-spacing--0-03em: .03em;
  --swatch--transparent: transparent;
  --border-width--main: .094rem;
  --_theme---border: var(--swatch--gold-light);
  --size--3rem: 3rem;
  --size--0-75rem: .75rem;
  --size--1-25rem: 1.25rem;
  --_theme---button-primary--border: var(--swatch--brand-700);
  --_theme---button-primary--background: var(--swatch--brand-700);
  --_theme---button-primary--text: white;
  --_theme---button-primary--border-hover: var(--swatch--brand-main-600);
  --_theme---button-primary--background-hover: var(--swatch--brand-main-600);
  --_theme---button-primary--text-hover: var(--swatch--white);
  --size--0-5rem: .5rem;
  --size--2rem: 2rem;
  --_spacing---content-space--eyebrow-margin: var(--_spacing---space--5);
  --_theme---eyebrow: var(--swatch--brand-700);
  --_spacing---space--3: var(--size--0-75rem);
  --_spacing---section-space--none: var(--size--0rem);
  --_spacing---section-space--small: var(--size--5rem);
  --_spacing---section-space--main: var(--size--7rem);
  --_spacing---section-space--large: var(--size--10rem);
  --site--margin: 0px;
  --size--1-5rem: 1.5rem;
  --_theme---heading-brand-alt: var(--swatch--gold-main);
  --_spacing---space--8: var(--size--4rem);
  --_typography---font-size--h2: var(--size--3-5rem);
  --radius--medium: .5rem;
  --size--0-375rem: .375rem;
  --swatch--beige: #fcf7ef;
  --size--8rem: 8rem;
  --size--0-25rem: .25rem;
  --size--1rem: 1rem;
  --_spacing---space--2: var(--size--0-5rem);
  --size--0-125rem: .125rem;
  --size--10rem: 10rem;
  --column-width--5: 0px;
  --column-width--10: 0px;
  --_typography---font-size--text-small: .875rem;
  --_typography---font--primary-regular: 400;
  --_typography---letter-spacing--0-08em: .08em;
  --_typography---font--primary-semibold: 600;
  --size--4rem: 4rem;
  --column-width--1: 0px;
  --_spacing---space--7: var(--size--3rem);
  --_typography---font--heading-family: Moisette, Georgia, sans-serif;
  --_typography---font-size--h1: var(--size--5rem);
  --size--9rem: 9rem;
  --radius--round: 100vw;
  --swatch--brand-50: #eff7ff;
  --swatch--brand-100: #e2f0ff;
  --column-width--6: 0px;
  --border-width--small: .07rem;
  --column-width--3: 0px;
  --column-width--4: 0px;
  --size--0rem: 0rem;
  --_spacing---space--1: var(--size--0rem);
  --swatch--white: white;
  --_typography---font-size--h4: var(--size--2rem);
  --swatch--gold-light: #dac597;
  --radius--small: .25rem;
  --_theme---button-secondary--border: var(--swatch--brand-main-600);
  --_theme---button-secondary--text: var(--swatch--brand-800);
  --_theme---button-secondary--border-hover: var(--swatch--brand-700);
  --_theme---button-secondary--background-hover: #1d426f0d;
  --swatch--gold-main: #b89963;
  --swatch--gold-500: #a5824d;
  --swatch--neutral-800: #474543;
  --swatch--brand-700: #1e4d86;
  --_typography---font-size--h3: var(--size--3rem);
  --_typography---line-height--1-2: 1.2;
  --_typography---letter-spacing--0-02em: -.02em;
  --_text-style---text-transform: var(--_typography---text-transform--none);
  --_text-style---margin-top: var(--_spacing---space--4);
  --_text-style---margin-bottom: var(--_spacing---space--4);
  --_alignment---flex: var(--align--flex-start);
  --_alignment---text: var(--align--text-left);
  --_text-style---size: 0px;
  --site--width: 90rem;
  --site--column-count: 12;
  --focus--width: .125rem;
  --focus--offset-inner: -.125rem;
  --focus--offset-outer: .1875rem;
  --swatch--brand-800: #1d426f;
  --swatch--brand-main-600: #2460a5;
  --swatch--brand-400: #5997d7;
  --swatch--gold-800: #5f4434;
  --swatch--white-faded: #fffc;
  --swatch--neutral-950: #272725;
  --swatch--neutral-600: #605d5a;
  --swatch--neutral-400: #979491;
  --_theme---button-secondary--background: var(--swatch--transparent);
  --_theme---button-secondary--text-hover: var(--swatch--white);
  --_spacing---content-space--button-margin: var(--_spacing---space--6);
  --_spacing---content-space--button-group-gap: var(--_spacing---space--2);
  --container--full: 90rem;
  --size--2-5rem: 2.5rem;
  --size--3-5rem: 3.5rem;
  --size--4-5rem: 4.5rem;
  --size--5rem: 5rem;
  --size--5-5rem: 5.5rem;
  --size--6-5rem: 6.5rem;
  --size--7rem: 7rem;
  --size--7-5rem: 7.5rem;
  --size--8-5rem: 8.5rem;
  --size--9-5rem: 9.5rem;
  --size--11rem: 11rem;
  --size--12rem: 12rem;
  --size--13rem: 13rem;
  --size--14rem: 14rem;
  --size--15rem: 15rem;
  --size--16rem: 16rem;
  --_typography---letter-spacing--0em: 0em;
  --_typography---line-height--1: 1;
  --_typography---line-height--1-5: 1.5;
  --_typography---font-size--h6: var(--size--1rem);
  --_typography---font-size--h5: var(--size--1-5rem);
  --_typography---font-size--display: var(--size--6rem);
  --column-width--2: 0px;
  --column-width--7: 0px;
  --column-width--8: 0px;
  --column-width--9: 0px;
  --column-width--11: 0px;
  --column-width--12: 0px;
  --column-margin--0: 0px;
  --column-margin--1: 1px;
  --column-margin--2: 2px;
  --column-margin--3: 3px;
  --column-margin--4: 4px;
  --column-margin--5: 5px;
  --column-margin--6: 6px;
  --column-margin--7: 7px;
  --column-margin--8: 8px;
  --column-margin--9: 9px;
  --column-margin--10: 10px;
  --column-margin--11: 11px;
  --column-margin--12: 12px;
  --align--flex-start: 0px;
  --align--flex-center: 0px;
  --align--flex-end: 0px;
  --align--text-left: 0px;
  --align--text-center: 0px;
  --align--text-right: 0px;
  --_typography---text-transform--none: 0px;
  --_typography---text-transform--uppercase: 0px;
  --_typography---text-transform--capitalize: 0px;
  --_typography---text-transform--lowercase: 0px;
  --_typography---font-size--text-xlarge\<deleted\|variable-942911e8-1950-672a-2532-4099746b1251\>: var(--size--1-5rem);
}

.w-layout-grid {
  grid-row-gap: 16px;
  grid-column-gap: 16px;
  grid-template-rows: auto auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  display: grid;
}

body {
  background-color: var(--_theme---background);
  font-family: var(--_text-style---font-family);
  color: var(--_theme---text);
  font-size: var(--_text-style---font-size);
  line-height: var(--_text-style---line-height);
  font-weight: var(--_text-style---font-weight);
  letter-spacing: var(--_text-style---letter-spacing);
}

h1 {
  color: var(--_theme---heading-brand);
}

h2 {
  color: var(--_theme---heading-brand);
  line-height: var(--_text-style---line-height);
}

h3, h4, h5 {
  color: var(--_theme---heading-brand);
}

p {
  text-wrap: balance;
}

a {
  color: var(--_theme---accent);
  outline-width: var(--focus--width);
  outline-offset: var(--focus--offset-outer);
  text-decoration: none;
}

ul, ol {
  margin-bottom: 0;
  padding-left: 0;
  list-style: "";
}

img {
  object-fit: cover;
  width: 100%;
  max-width: 100%;
  height: 100%;
}

em {
  vertical-align: baseline;
  font-style: italic;
}

blockquote {
  border-style: none;
  padding: 0;
}

.u-theme-light {
  background-color: var(--_theme---background);
  color: var(--_theme---text);
  --_theme---background: var(--swatch--white);
  --_theme---text: var(--swatch--neutral-950);
  --_theme---heading-brand: var(--swatch--brand-700);
  --_theme---accent: var(--swatch--gold-main);
  --_theme---border: var(--swatch--gold-light);
  --_theme---button-primary--border: var(--swatch--brand-700);
  --_theme---button-primary--background: var(--swatch--brand-700);
  --_theme---button-primary--text: white;
  --_theme---button-primary--border-hover: var(--swatch--brand-main-600);
  --_theme---button-primary--background-hover: var(--swatch--brand-main-600);
  --_theme---button-primary--text-hover: var(--swatch--white);
  --_theme---eyebrow: var(--swatch--brand-700);
  --_theme---heading-brand-alt: var(--swatch--gold-main);
  --_theme---button-secondary--border: var(--swatch--brand-main-600);
  --_theme---button-secondary--text: var(--swatch--brand-800);
  --_theme---button-secondary--border-hover: var(--swatch--brand-700);
  --_theme---button-secondary--background-hover: #1d426f0d;
  --_theme---button-secondary--background: var(--swatch--transparent);
  --_theme---button-secondary--text-hover: var(--swatch--white);
}

.u-theme-dark {
  background-color: var(--_theme---background);
  color: var(--_theme---text);
  --_theme---background: var(--swatch--brand-700);
  --_theme---text: var(--swatch--white);
  --_theme---heading-brand: var(--swatch--white);
  --_theme---accent: var(--swatch--beige);
  --_theme---border: var(--swatch--neutral-600);
  --_theme---button-primary--border: var(--swatch--white);
  --_theme---button-primary--background: var(--swatch--white);
  --_theme---button-primary--text: var(--swatch--gold-500);
  --_theme---button-primary--border-hover: var(--swatch--white-faded);
  --_theme---button-primary--background-hover: var(--swatch--white-faded);
  --_theme---button-primary--text-hover: var(--swatch--gold-800);
  --_theme---eyebrow: var(--swatch--neutral-600);
  --_theme---heading-brand-alt: var(--swatch--white);
  --_theme---button-secondary--border: var(--swatch--gold-light);
  --_theme---button-secondary--text: var(--swatch--white);
  --_theme---button-secondary--border-hover: var(--swatch--white);
  --_theme---button-secondary--background-hover: var(--swatch--white);
  --_theme---button-secondary--background: var(--swatch--transparent);
  --_theme---button-secondary--text-hover: var(--swatch--brand-700);
}

.u-text-style-display {
  font-family: var(--_text-style---font-family);
  font-size: var(--_text-style---font-size);
  line-height: var(--_text-style---line-height);
  font-weight: var(--_typography---font--heading-regular);
  letter-spacing: var(--_text-style---letter-spacing);
  --_text-style---font-family: var(--_typography---font--heading-family);
  --_text-style---font-size: var(--_typography---font-size--display);
  --_text-style---line-height: var(--_typography---line-height--1);
  --_text-style---font-weight: var(--_typography---font--heading-regular);
  --_text-style---letter-spacing: var(--_typography---letter-spacing--0-02em);
  --_text-style---text-transform: var(--_typography---text-transform--none);
  --_text-style---margin-top: var(--_spacing---space--7);
  --_text-style---margin-bottom: var(--_spacing---space--5);
  --_text-style---size: 0px;
  text-wrap: balance;
  text-transform: var(--_text-style---text-transform);
  display: flow-root;
}

.u-text-style-h1 {
  font-family: var(--_text-style---font-family);
  font-size: var(--_text-style---font-size);
  line-height: var(--_text-style---line-height);
  font-weight: var(--_text-style---font-weight);
  letter-spacing: var(--_text-style---letter-spacing);
  --_text-style---font-family: var(--_typography---font--heading-family);
  --_text-style---font-size: var(--_typography---font-size--h1);
  --_text-style---line-height: var(--_typography---line-height--1);
  --_text-style---font-weight: var(--_typography---font--primary-regular);
  --_text-style---letter-spacing: var(--_typography---letter-spacing--0-02em);
  --_text-style---text-transform: var(--_typography---text-transform--none);
  --_text-style---margin-top: var(--_spacing---space--7);
  --_text-style---margin-bottom: var(--_spacing---space--5);
  --_text-style---size: 0px;
  text-wrap: balance;
  text-transform: var(--_text-style---text-transform);
  display: flow-root;
}

.u-text-style-h2 {
  font-family: var(--_text-style---font-family);
  font-size: var(--_text-style---font-size);
  line-height: var(--_text-style---line-height);
  font-weight: var(--_text-style---font-weight);
  letter-spacing: var(--_text-style---letter-spacing);
  --_text-style---font-family: var(--_typography---font--heading-family);
  --_text-style---font-size: var(--_typography---font-size--h2);
  --_text-style---line-height: var(--_typography---line-height--1-1);
  --_text-style---font-weight: var(--_typography---font--primary-regular);
  --_text-style---letter-spacing: var(--_typography---letter-spacing--0-02em);
  --_text-style---text-transform: var(--_typography---text-transform--none);
  --_text-style---margin-top: var(--_spacing---space--7);
  --_text-style---margin-bottom: var(--_spacing---space--5);
  --_text-style---size: 0px;
  text-wrap: balance;
  text-transform: var(--_text-style---text-transform);
  display: flow-root;
}

.u-text-style-h2.u-mt-6 {
  line-height: var(--_typography---line-height--1-1);
}

.u-text-style-h3 {
  font-family: var(--_text-style---font-family);
  font-size: var(--_text-style---font-size);
  line-height: var(--_text-style---line-height);
  font-weight: var(--_text-style---font-weight);
  letter-spacing: var(--_text-style---letter-spacing);
  --_text-style---font-family: var(--_typography---font--heading-family);
  --_text-style---font-size: var(--_typography---font-size--h3);
  --_text-style---line-height: var(--_typography---line-height--1-3);
  --_text-style---font-weight: var(--_typography---font--primary-regular);
  --_text-style---letter-spacing: var(--_typography---letter-spacing--0-02em);
  --_text-style---text-transform: var(--_typography---text-transform--none);
  --_text-style---margin-top: var(--_spacing---space--7);
  --_text-style---margin-bottom: var(--_spacing---space--4);
  --_text-style---size: 0px;
  text-wrap: balance;
  text-transform: var(--_text-style---text-transform);
  display: flow-root;
}

.u-text-style-h4 {
  font-family: var(--_text-style---font-family);
  font-size: var(--_text-style---font-size);
  line-height: var(--_typography---line-height--1-3);
  font-weight: var(--_text-style---font-weight);
  letter-spacing: var(--_text-style---letter-spacing);
  --_text-style---font-family: var(--_typography---font--heading-family);
  --_text-style---font-size: var(--_typography---font-size--h4);
  --_text-style---line-height: var(--_typography---line-height--1-3);
  --_text-style---font-weight: var(--_typography---font--primary-regular);
  --_text-style---letter-spacing: var(--_typography---letter-spacing--0em);
  --_text-style---text-transform: var(--_typography---text-transform--none);
  --_text-style---margin-top: var(--_spacing---space--7);
  --_text-style---margin-bottom: var(--_spacing---space--4);
  --_text-style---size: 0px;
  text-wrap: balance;
  text-transform: var(--_text-style---text-transform);
  display: flow-root;
}

.u-text-style-h5 {
  font-family: var(--_text-style---font-family);
  font-size: var(--_text-style---font-size);
  line-height: var(--_text-style---line-height);
  font-weight: var(--_text-style---font-weight);
  letter-spacing: var(--_text-style---letter-spacing);
  --_text-style---font-family: var(--_typography---font--primary-family);
  --_text-style---font-size: var(--_typography---font-size--h5);
  --_text-style---line-height: var(--_typography---line-height--1-3);
  --_text-style---font-weight: var(--_typography---font--primary-regular);
  --_text-style---letter-spacing: var(--_typography---letter-spacing--0em);
  --_text-style---text-transform: var(--_typography---text-transform--none);
  --_text-style---margin-top: var(--_spacing---space--7);
  --_text-style---margin-bottom: var(--_spacing---space--4);
  --_text-style---size: 0px;
  text-wrap: balance;
  text-transform: var(--_text-style---text-transform);
  display: flow-root;
}

.u-text-style-large {
  font-family: var(--_text-style---font-family);
  font-size: var(--_typography---font-size--text-large);
  line-height: var(--_text-style---line-height);
  font-weight: var(--_text-style---font-weight);
  letter-spacing: var(--_text-style---letter-spacing);
  --_text-style---font-family: var(--_typography---font--primary-family);
  --_text-style---font-size: var(--_typography---font-size--text-large);
  --_text-style---line-height: var(--_typography---line-height--1-5);
  --_text-style---font-weight: var(--_typography---font--primary-regular);
  --_text-style---letter-spacing: var(--_typography---letter-spacing--0em);
  --_text-style---text-transform: var(--_typography---text-transform--none);
  --_text-style---margin-top: var(--_spacing---space--4);
  --_text-style---margin-bottom: var(--_spacing---space--4);
  --_text-style---size: 0px;
  text-wrap: pretty;
  text-transform: var(--_text-style---text-transform);
  display: flow-root;
}

.u-text-style-main {
  font-family: var(--_text-style---font-family);
  font-size: var(--_typography---font-size--text-main);
  line-height: var(--_text-style---line-height);
  font-weight: var(--_text-style---font-weight);
  letter-spacing: var(--_text-style---letter-spacing);
  --_text-style---font-family: var(--_typography---font--primary-family);
  --_text-style---font-size: var(--_typography---font-size--text-main);
  --_text-style---line-height: var(--_typography---line-height--1-5);
  --_text-style---font-weight: var(--_typography---font--primary-regular);
  --_text-style---letter-spacing: var(--_typography---letter-spacing--0em);
  --_text-style---text-transform: var(--_typography---text-transform--none);
  --_text-style---margin-top: var(--_spacing---space--4);
  --_text-style---margin-bottom: var(--_spacing---space--4);
  --_text-style---size: 0px;
  text-wrap: pretty;
  text-transform: var(--_text-style---text-transform);
  display: flow-root;
}

.u-text-style-small {
  font-family: var(--_text-style---font-family);
  font-size: var(--_text-style---font-size);
  line-height: var(--_text-style---line-height);
  font-weight: var(--_text-style---font-weight);
  letter-spacing: var(--_text-style---letter-spacing);
  --_text-style---font-family: var(--_typography---font--primary-family);
  --_text-style---font-size: var(--_typography---font-size--text-small);
  --_text-style---line-height: var(--_typography---line-height--1-3);
  --_text-style---font-weight: var(--_typography---font--primary-regular);
  --_text-style---letter-spacing: var(--_typography---letter-spacing--0em);
  --_text-style---text-transform: var(--_typography---text-transform--none);
  --_text-style---margin-top: var(--_spacing---space--4);
  --_text-style---margin-bottom: var(--_spacing---space--4);
  --_text-style---size: 0px;
  text-wrap: pretty;
  text-transform: var(--_text-style---text-transform);
  display: flow-root;
}

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

.u-container.u-section-layout-gap-8 {
  grid-column-gap: var(--size--6rem);
  grid-row-gap: var(--size--6rem);
  justify-content: flex-start;
  align-items: stretch;
}

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

.u-sr-only {
  white-space: nowrap;
  clip: rect(0, 0, 0, 0);
  border-width: 0;
  width: 1px;
  height: 1px;
  margin-left: auto;
  margin-right: auto;
  padding: 0;
  position: absolute;
  inset: 0% 0% auto;
  overflow: hidden;
}

.u-visual-wrap {
  aspect-ratio: 1;
  border-radius: var(--radius--large);
  width: 100%;
  position: relative;
  overflow: hidden;
}

.u-line-clamp-1 {
  display: -webkit-box;
  overflow: hidden;
}

.u-hflex-left-top {
  flex-flow: row;
  place-content: flex-start;
  align-items: flex-start;
  display: flex;
}

.u-hflex-between-center {
  flex-flow: row;
  place-content: center space-between;
  align-items: center;
  display: flex;
}

.u-vflex-left-between {
  flex-flow: column;
  place-content: flex-start space-between;
  align-items: flex-start;
  display: flex;
}

.u-vflex-center-top {
  grid-column-gap: var(--_spacing---space--4);
  grid-row-gap: var(--_spacing---space--4);
  flex-flow: column;
  place-content: center flex-start;
  align-items: center;
  display: flex;
}

.u-vflex-center-center {
  flex-flow: column;
  place-content: center;
  align-items: center;
  display: flex;
}

.u-vflex-center-bottom {
  flex-flow: column;
  place-content: center flex-end;
  align-items: center;
  display: flex;
}

.u-vflex-right-top {
  flex-flow: column;
  place-content: flex-end flex-start;
  align-items: flex-end;
  display: flex;
}

.u-vflex-stretch-between {
  flex-flow: column;
  justify-content: space-between;
  align-items: stretch;
  display: flex;
}

.u-grid-custom {
  grid-column-gap: var(--site--gutter);
  grid-row-gap: var(--site--gutter);
  grid-template-rows: auto;
  grid-auto-columns: minmax(0, 1fr);
  grid-template-columns: var(--grid-1);
  display: grid;
}

.u-grid-autofit {
  grid-column-gap: var(--site--gutter);
  grid-row-gap: var(--site--gutter);
  grid-template-rows: auto;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr));
  grid-auto-columns: minmax(0, 1fr);
  display: grid;
}

.u-grid-autofill {
  grid-column-gap: var(--site--gutter);
  grid-row-gap: var(--site--gutter);
  grid-template-rows: auto;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 13rem), 1fr));
  grid-auto-columns: minmax(0, 1fr);
  display: grid;
}

.u-grid-column-2 {
  grid-column-gap: var(--site--gutter);
  grid-row-gap: var(--site--gutter);
  grid-template-rows: auto;
  grid-auto-columns: minmax(0, 1fr);
  grid-template-columns: var(--grid-2);
  display: grid;
}

.u-grid-column-4 {
  grid-column-gap: var(--site--gutter);
  grid-row-gap: var(--site--gutter);
  grid-template-rows: auto;
  grid-auto-columns: minmax(0, 1fr);
  grid-template-columns: var(--grid-4);
  display: grid;
}

.u-grid-desktop, .u-grid-tablet {
  grid-column-gap: var(--site--gutter);
  grid-row-gap: var(--site--gutter);
  grid-template-rows: auto;
  grid-auto-columns: minmax(0, 1fr);
  grid-template-columns: var(--grid-main);
  display: grid;
}

.u-align-self-end {
  align-self: flex-end;
}

.u-gap-gutter {
  grid-column-gap: var(--site--gutter);
  grid-row-gap: var(--site--gutter);
}

.u-gap-4 {
  grid-column-gap: var(--_spacing---space--4);
  grid-row-gap: var(--_spacing---space--4);
}

.u-gap-5 {
  grid-column-gap: var(--_spacing---space--5);
  grid-row-gap: var(--_spacing---space--5);
}

.u-mt-4 {
  margin-top: var(--_spacing---space--4);
}

.u-mt-6 {
  margin-top: var(--_spacing---space--6);
}

.u-mb-6 {
  margin-bottom: var(--_spacing---space--6);
}

.u-weight-bold {
  font-family: var(--_typography---font--primary-family);
  font-weight: var(--_typography---font--primary-bold);
}

.u-column-2 {
  grid-column: auto / span 2;
}

.u-column-3 {
  grid-column: auto / span 3;
}

.u-column-4 {
  grid-column: auto / span 4;
}

.u-column-5 {
  grid-column: auto / span 5;
}

.u-column-6 {
  grid-column: auto / span 6;
}

.u-column-7 {
  grid-column: auto / span 7;
}

.u-text-align-center {
  text-align: center;
}

.u-text-transform-uppercase {
  letter-spacing: var(--_typography---letter-spacing--0-03em);
  text-transform: uppercase;
}

.u-zindex-1 {
  z-index: 1;
  position: relative;
}

.u-position-sticky {
  position: sticky;
  top: 0;
}

.u-cover-absolute {
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0%;
}

.hero_placeholder_wrap {
  background-image: url('../images/Dental_Clinic_Waiting_Room_Hero-1.webp');
  background-position: 50%;
  background-size: cover;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  min-height: 100svh;
  display: flex;
}

.hero_placeholder_wrap.u-theme-dark {
  background-color: var(--swatch--transparent);
  border-radius: 0;
}

.form_main_field_wrap {
  text-align: left;
  width: 100%;
}

.form_main_error_wrap {
  border: var(--border-width--main) solid var(--_theme---border);
  background-color: #0000;
  margin-top: 0;
  padding: .8rem 1.4rem;
}

.form_main_field_input {
  height: var(--size--3rem);
  border-top: 0 solid #000;
  border-bottom-style: solid;
  border-right: 0 solid #000;
  border-bottom-width: var(--border-width--main);
  border-bottom-color: var(--_theme---border);
  font-family: var(--_text-style---font-family);
  font-size: var(--_text-style---font-size);
  line-height: var(--_text-style---line-height);
  font-weight: var(--_text-style---font-weight);
  letter-spacing: var(--_text-style---letter-spacing);
  --_text-style---font-family: var(--_typography---font--primary-family);
  --_text-style---font-size: var(--_typography---font-size--text-large);
  --_text-style---line-height: var(--_typography---line-height--1-5);
  --_text-style---font-weight: var(--_typography---font--primary-regular);
  --_text-style---letter-spacing: var(--_typography---letter-spacing--0em);
  --_text-style---text-transform: var(--_typography---text-transform--none);
  --_text-style---margin-top: var(--_spacing---space--4);
  --_text-style---margin-bottom: var(--_spacing---space--4);
  --_text-style---size: 0px;
  color: inherit;
  text-transform: var(--_text-style---text-transform);
  background-color: #0000;
  border-left: 0 solid #000;
  border-radius: 0;
  margin-bottom: 0;
  padding: 0;
}

.form_main_field_input:focus {
  border-bottom-color: var(--_theme---text);
}

.form_main_field_input::placeholder {
  color: color-mix(in srgb, var(--theme--text) 60%, transparent);
}

.btn_main_wrap {
  padding: var(--size--0-75rem) var(--size--1-25rem);
  border: var(--border-width--main) solid var(--_theme---button-primary--border);
  background-color: var(--_theme---button-primary--background);
  color: var(--_theme---button-primary--text);
  vertical-align: middle;
  ---mode--collection-8527ce3f-b0ac-c719-bfe1-e5f32af64e3f: base;
  border-radius: .25rem;
  line-height: 1;
  transition: border-color .2s, color .2s, background-color .2s;
  display: inline-block;
  position: relative;
}

.btn_main_wrap:hover {
  border-color: var(--_theme---button-primary--border-hover);
  background-color: var(--_theme---button-primary--background-hover);
  color: var(--_theme---button-primary--text-hover);
}

.page_wrap {
  flex-flow: column;
  min-height: 100svh;
  display: flex;
  overflow: clip;
}

.page_main {
  border-bottom-left-radius: var(--size--2rem);
  border-bottom-right-radius: var(--size--2rem);
  flex-flow: column;
  flex: 1;
  display: flex;
}

.page_code_wrap {
  position: fixed;
  inset: 0% 0% auto;
}

.hero_utility-page_wrap {
  text-align: center;
}

.hero_utility-page_contain.u-container {
  align-content: center;
  min-height: 100vh;
}

.hero_utility-page_content {
  grid-column-gap: var(--_spacing---space--6);
  grid-row-gap: var(--_spacing---space--6);
  flex-flow: column;
  justify-content: flex-start;
  align-items: center;
  margin-left: auto;
  margin-right: auto;
  display: flex;
}

.hero_placeholder_contain {
  padding-top: var(--size--2rem);
  padding-bottom: var(--size--2rem);
  grid-column-gap: var(--_spacing---space--5);
  grid-row-gap: var(--_spacing---space--5);
  flex-flow: column;
  flex: 1;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  display: flex;
  position: relative;
}

.styleguide_guide_wrap {
  z-index: 2000;
  pointer-events: none;
  display: block;
  position: fixed;
  inset: 0% 0% auto;
  overflow: hidden;
}

.styleguide_guide_layout.u-grid-custom {
  grid-template-columns: var(--grid-main);
}

.styleguide_guide_column {
  color: #8a8a8a80;
  background-color: #9292920f;
  height: 100vh;
  padding-top: .6rem;
  padding-bottom: .6rem;
}

.g_eyebrow_wrap {
  margin-bottom: var(--_spacing---content-space--eyebrow-margin);
  color: var(--_theme---eyebrow);
  text-align: inherit;
}

.g_eyebrow_marker {
  width: var(--size--2rem);
  background-color: currentColor;
  flex: none;
  height: .06rem;
  padding-bottom: 0;
  padding-right: 0;
  display: inline-block;
}

.g_eyebrow_text {
  color: var(--_theme---eyebrow);
  margin-top: 0;
  margin-bottom: 0;
  display: inline-block;
}

.g_visual_background {
  opacity: .1;
  background-color: currentColor;
}

.g_visual_overlay {
  background-color: #000;
}

.hero_utility-page_text {
  padding-right: var(--size--0-5rem);
  padding-left: var(--size--0-5rem);
}

.g_clickable_wrap {
  z-index: 3;
  border-radius: inherit;
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0%;
}

.g_clickable_link {
  border-radius: inherit;
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  inset: 0%;
}

.g_clickable_btn {
  border-radius: inherit;
  width: 100%;
  height: 100%;
  display: none;
  position: absolute;
  inset: 0%;
}

.g_eyebrow_layout {
  grid-column-gap: var(--_spacing---space--3);
  grid-row-gap: var(--_spacing---space--3);
  color: var(--_theme---eyebrow);
  vertical-align: baseline;
  align-items: center;
  display: inline-flex;
}

.g_svg {
  aspect-ratio: 1;
  width: 100%;
  height: 100%;
  min-height: 1rem;
}

.g_section_space {
  height: var(--_spacing---section-space--none);
}

.g_section_space:where(.w-variant-d422cbd0-f212-c815-68df-63414354c21d) {
  height: var(--_spacing---section-space--small);
  min-width: 1px;
}

.g_section_space:where(.w-variant-60a7ad7d-02b0-6682-95a5-2218e6fd1490) {
  height: var(--_spacing---section-space--main);
}

.g_section_space:where(.w-variant-8cc18b30-4618-8767-0111-f6abfe45aaa3) {
  height: var(--_spacing---section-space--large);
}

.g_section_space:where(.w-variant-41fc0c0a-cac3-53c9-9802-6a916e3fb342) {
  height: var(--site--margin);
}

.g_divide_line {
  width: var(--size--3rem);
  margin: var(--size--1-5rem) auto;
  border-top: var(--border-width--main) solid var(--_theme---text);
  opacity: .7;
}

.u-heading-color-alt {
  color: var(--_theme---heading-brand-alt);
}

.quote_content {
  grid-column-gap: var(--_spacing---space--8);
  grid-row-gap: var(--_spacing---space--8);
  flex-flow: column;
  justify-content: space-between;
  align-items: flex-start;
  display: flex;
}

.motto_title, .motto_title.u-text-style-display {
  max-width: 13ch;
}

.motto_title.u-text-style-display em {
  color: var(--_theme---heading-brand-alt);
  font-size: .85em;
  font-weight: inherit;
}

.motto_title em {
  color: var(--_theme---heading-brand-alt);
  font-size: .9em;
}

.equipment_card {
  border-radius: var(--radius--medium);
  flex: 1;
  width: 100%;
  min-width: 20rem;
  min-height: 25rem;
  position: relative;
  overflow: clip;
}

.equipment_cards_wrap {
  grid-column-gap: var(--site--gutter);
  grid-row-gap: var(--site--gutter);
  flex-flow: wrap;
  grid-column: auto / span 9;
  grid-template-rows: 1fr 1fr;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  display: grid;
}

.equipment_card_content {
  z-index: 2;
  padding: var(--_spacing---space--4) var(--_spacing---space--6) var(--_spacing---space--4) var(--_spacing---space--4);
  grid-column-gap: 16px;
  grid-row-gap: 16px;
  flex-flow: column;
  grid-template-rows: 1fr 1fr;
  grid-template-columns: 1fr;
  grid-auto-columns: 1fr;
  justify-content: flex-end;
  place-items: end stretch;
  width: 100%;
  max-width: 100%;
  height: 100%;
  display: grid;
}

.g_visual_overlay_gradient {
  background-image: linear-gradient(#fff0 50%, #252525db);
}

.g_visual_overlay_gradient.u-cover-absolute {
  z-index: -1;
}

.card {
  padding: var(--_spacing---space--5);
  grid-column-gap: var(--size--2rem);
  grid-row-gap: var(--size--2rem);
  border: 1px solid var(--_theme---border);
  border-radius: var(--radius--large);
  background-color: var(--swatch--beige);
  flex-flow: column;
  justify-content: space-between;
  align-items: flex-start;
  display: flex;
}

.u-lightblue-bg {
  background-color: #e2f0ff;
}

.u-lightgold-bg {
  background-color: var(--swatch--beige);
}

.u-section-layout-gap-8 {
  grid-column-gap: var(--size--8rem);
  grid-row-gap: var(--size--8rem);
  flex-flow: column;
  justify-content: flex-start;
  align-items: stretch;
  display: flex;
}

.services_row {
  padding: var(--size--2rem) var(--size--1-5rem);
  grid-column-gap: var(--size--0-25rem);
  grid-row-gap: var(--size--0-25rem);
  border-bottom: var(--border-width--main) solid var(--_theme---border);
  justify-content: space-between;
  align-items: center;
  display: flex;
}

.faq_card_title {
  text-wrap: balance;
  line-height: 1.3;
}

.faq_card_wrap {
  border-radius: var(--radius--medium);
  background-color: var(--_theme---background);
  grid-template-rows: auto auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  width: 100%;
}

.faq_card_icon {
  width: var(--size--1rem);
  color: var(--_theme---border);
  flex: none;
  transition: transform .2s;
}

.faq_card_svg {
  display: block;
}

.faq_card_text {
  color: var(--_theme---text);
  text-wrap: pretty;
  max-width: 80ch;
}

.faq_card_toggle {
  grid-column-gap: 1rem;
  grid-row-gap: 1rem;
  border-radius: inherit;
  justify-content: space-between;
  align-items: center;
  display: flex;
  position: relative;
}

.faq_card_checkbox {
  z-index: 2;
  cursor: pointer;
  border-radius: inherit;
  -webkit-appearance: none;
  appearance: none;
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0%;
}

.faq_card_padding {
  padding: 1.6rem;
}

.faq_card_padding.is-top-zero {
  padding-top: 0;
}

.faq_card_content {
  grid-template-rows: 0fr;
  grid-template-columns: minmax(0, 1fr);
  grid-auto-columns: 1fr;
  transition-property: all;
  transition-duration: .4s;
  transition-timing-function: ease;
  display: grid;
}

.faq_card_clip {
  overflow: hidden;
}

.faq_column {
  justify-content: flex-start;
  align-items: center;
}

.card_title {
  font-weight: var(--_typography---font--primary-bold);
  letter-spacing: var(--_typography---letter-spacing--0-03em);
  text-transform: uppercase;
}

.marquee_panel {
  grid-column-gap: var(--size--1-25rem);
  grid-row-gap: var(--size--1-25rem);
  flex: none;
  justify-content: flex-start;
  align-items: center;
  animation-duration: 8s;
  display: flex;
}

.services_image.u-visual-wrap {
  aspect-ratio: 3 / 2;
  border-radius: var(--radius--medium);
}

.services-label {
  z-index: 1;
  padding-top: var(--size--0-5rem);
  padding-right: var(--size--1-25rem);
  padding-bottom: var(--size--0-5rem);
  padding-left: var(--size--1-25rem);
  border-top-left-radius: var(--radius--medium);
  border-top-right-radius: var(--radius--medium);
  border-bottom-left-radius: var(--radius--medium);
  border-bottom-right-radius: var(--radius--medium);
  background-color: var(--swatch--beige);
  text-align: center;
  text-wrap: pretty;
  font-size: calc(var(--_typography---font-size--text-main) * .9);
  width: 90%;
  margin-top: -2rem;
  margin-left: auto;
  margin-right: auto;
  line-height: 1.4;
  position: relative;
}

.slider01_slide {
  width: 100%;
  margin-right: 2rem;
}

.text-size-medium {
  font-size: calc(var(--_typography---font-size--text-main) * .9);
}

.slider01_mask {
  width: 33%;
  overflow: visible;
}

.testimonial20_arrow-icon {
  color: var(--_theme---accent);
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 1rem;
  height: 1rem;
  display: flex;
}

.testimonial-card_stars-wrap {
  height: var(--size--1-25rem);
  margin-bottom: var(--_spacing---space--2);
  grid-column-gap: var(--size--0-125rem);
  grid-row-gap: var(--size--0-125rem);
  color: var(--_theme---border);
  display: flex;
}

.slider_arrow {
  border: var(--border-width--main) solid var(--_theme---border);
  border-radius: 100%;
  justify-content: center;
  align-items: center;
  width: 3rem;
  height: 3rem;
  transition: background-color .3s ease-out;
  display: flex;
  inset: auto 0% 0% auto;
}

.slider_arrow:hover {
  background-color: #f7efe0;
}

.slider_arrow.is-left {
  right: 4rem;
}

.slider01_comp {
  background-color: #0000;
  height: auto;
  padding-bottom: 5rem;
  position: relative;
}

.testimonial-person_item {
  grid-column-gap: var(--_spacing---space--4);
  grid-row-gap: var(--_spacing---space--4);
  text-align: left;
  align-items: center;
  margin-top: auto;
  display: flex;
}

.u-text-semibold {
  font-weight: 600;
}

.testimonial-person_img {
  object-fit: cover;
  border-radius: 100%;
  width: 3rem;
  min-width: 3rem;
  height: 3rem;
  min-height: 3rem;
}

.slider_pagination {
  height: 1.75rem;
  font-size: .5rem;
  inset: auto auto 0% 0%;
}

.testimonial-card1_item {
  padding: var(--size--1-5rem);
  grid-column-gap: var(--_spacing---space--6);
  grid-row-gap: var(--_spacing---space--6);
  border-radius: var(--radius--large);
  background-color: var(--_theme---background);
  flex-flow: column;
  justify-content: flex-start;
  align-items: flex-start;
  width: 100%;
  display: flex;
  box-shadow: 2px 2px 20px #9c98981a;
}

.services_rows_wrap.u-column-7 {
  grid-column-start: 6;
}

.u-text-brand {
  color: var(--_theme---heading-brand);
}

.u-icon-3rem {
  width: var(--size--3rem);
  height: var(--size--3rem);
  aspect-ratio: 1;
}

.process_vertical_divider {
  height: var(--size--10rem);
  margin: var(--_spacing---space--5);
  background-color: #eeddb9c9;
  width: 2px;
}

._3_steps_heading {
  color: var(--_theme---heading-brand);
}

._3_steps_text {
  max-width: var(--column-width--5);
  text-wrap: balance;
}

._3_steps_icon {
  width: var(--size--3rem);
  height: var(--size--3rem);
  margin-bottom: var(--_spacing---space--2);
  color: #ebddbf;
}

.testimonial_text {
  font-size: 1.1rem;
}

.u-marble-bg {
  background-color: #ffffffba;
  background-image: linear-gradient(#ffffffe6, #ffffffe6), url('../images/Marble-Background.webp');
  background-position: 0 0, 0 0;
  background-size: auto, cover;
  background-attachment: scroll, fixed;
}

.section {
  flex: 1;
}

.footer_text_titles {
  opacity: .8;
  font-family: var(--_typography---font--primary-family);
  font-size: var(--_typography---font-size--text-small);
  font-style: normal;
  font-weight: var(--_typography---font--primary-regular);
  letter-spacing: var(--_typography---letter-spacing--0-08em);
  text-transform: uppercase;
}

.footer_text_titles.is-link {
  font-weight: var(--_typography---font--primary-semibold);
  transition: opacity .2s;
}

.footer_text_titles.is-link:hover {
  opacity: 1;
}

.footer_wrap {
  position: sticky;
  bottom: 0;
}

.footer_wrap.u-theme-dark {
  z-index: 0;
}

.footer_layout.u-grid-tablet {
  grid-row-gap: var(--_spacing---space--8);
}

.u-opacity-80 {
  opacity: .8;
}

.footer_column_right {
  grid-column-gap: var(--size--2rem);
  grid-row-gap: var(--size--2rem);
  text-align: right;
  flex-flow: column;
  justify-content: space-between;
  align-items: flex-end;
  display: flex;
}

.clinic_info_list {
  grid-column-gap: var(--size--4rem);
  grid-row-gap: var(--size--1rem);
  flex-flow: wrap;
  grid-template-rows: auto auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  justify-content: space-between;
  align-items: flex-start;
  min-width: 15rem;
  display: flex;
}

.header_visual {
  background-image: linear-gradient(#ffffffd9, #ffffffd9), url('../images/Marble-Background.webp');
  background-position: 0 0, 50%;
  background-size: auto, auto;
  background-attachment: scroll, fixed;
  width: 100%;
  max-width: 100%;
  min-height: 18rem;
}

.header_visual.u-vflex-center-center {
  background-size: auto, cover;
}

.page_title {
  padding-top: var(--_spacing---space--7);
  font-family: var(--_typography---font--heading-family);
  color: var(--_theme---heading-brand-alt);
  font-size: var(--_typography---font-size--h1);
}

.doctor_wrap {
  grid-column-gap: var(--size--3rem);
  grid-row-gap: var(--size--9rem);
  grid-template-rows: auto auto;
  grid-template-columns: .75fr 1fr;
  grid-auto-columns: 1fr;
  grid-auto-flow: row;
  place-content: start center;
  align-items: flex-start;
  display: grid;
}

.u-visual-wrap-landscape {
  aspect-ratio: 2;
  border-radius: var(--radius--large);
  width: 100%;
  position: relative;
  overflow: hidden;
}

.doctor_stats {
  color: var(--_theme---heading-brand);
  flex: 1;
  max-width: 16rem;
}

.thumbnail.u-visual-wrap {
  border-radius: var(--radius--round);
  width: 5rem;
}

.tab_link {
  padding: var(--_spacing---space--3) var(--_spacing---space--5);
  color: var(--_theme---heading-brand);
  font-size: var(--_typography---font-size--text-large);
  white-space: normal;
  max-width: 90%;
  margin-bottom: 0;
  margin-left: 0;
  margin-right: 0;
  text-decoration: none;
}

.tab_link:hover {
  border-radius: var(--radius--medium);
  background-color: var(--swatch--brand-50);
}

.tab_link.w--current {
  border-radius: var(--radius--medium);
  background-color: var(--swatch--brand-100);
  font-weight: var(--_typography---font--primary-semibold);
}

.tab_content_wrap {
  max-width: var(--column-width--6);
}

.tab_content_box {
  padding-top: var(--_spacing---space--8);
  padding-bottom: var(--_spacing---space--8);
  border-bottom: var(--border-width--small) solid var(--_theme---border);
  text-align: left;
}

.tab_content_box.is-last {
  border-bottom-style: none;
}

.tab_side_menu_wrap {
  width: var(--column-width--3);
  text-align: left;
  background-color: #fff;
  flex: none;
}

.tab_side_menu_wrap.u-position-sticky {
  padding-top: var(--_spacing---space--8);
  flex-flow: column;
  display: flex;
}

.transport_icon {
  padding: var(--size--0-75rem);
  border: var(--border-width--main) solid var(--_theme---border);
  border-radius: var(--radius--round);
  background-color: var(--swatch--white);
  flex: none;
  width: 4rem;
  height: 4rem;
}

.transport_wrap.u-grid-autofit {
  flex: 1;
  grid-template-rows: 1fr;
  grid-auto-rows: 1fr;
}

.u-width-column-3 {
  width: var(--column-width--3);
  flex: none;
}

.contact_image.u-visual-wrap {
  aspect-ratio: auto;
  height: 100%;
}

.map_wrap {
  aspect-ratio: 3 / 2;
  border-radius: var(--radius--large);
  overflow: hidden;
}

.map_wrap.u-column-6 {
  grid-column-start: 7;
}

.u-white-bg {
  background-color: var(--swatch--white);
}

.doctor_image {
  padding: var(--size--3rem) var(--size--3rem) var(--size--0rem);
  border-radius: var(--radius--large);
  filter: drop-shadow(0 2px 5px #bbb7a980);
  object-fit: cover;
  object-position: 50% 0%;
  background-color: #fff;
  margin-left: auto;
  margin-right: auto;
  overflow: hidden;
}

.social_link_text {
  font-family: var(--_typography---font--heading-family);
  color: var(--_theme---heading-brand);
  font-size: var(--_typography---font-size--h4);
  vertical-align: baseline;
  cursor: pointer;
  font-style: italic;
  font-weight: 400;
  transition: all .3s cubic-bezier(.645, .045, .355, 1);
}

.social_link_text:hover {
  color: var(--_theme---heading-brand-alt);
}

.is-link:hover {
  opacity: .8;
}

.icon_text_wrapp {
  grid-column-gap: var(--size--0-75rem);
  grid-row-gap: var(--size--0-75rem);
  color: var(--_theme---accent);
  flex-flow: row;
  justify-content: center;
  align-items: center;
  display: inline-flex;
}

.quote_sparkle_large {
  width: 8em;
  display: flex;
}

.hero_contact_details {
  font-size: calc(var(--_typography---font-size--text-main) * .9);
}

.quote_contain.u-container {
  flex: 1;
}

.quote_layout.u-grid-autofit {
  grid-column-gap: var(--size--4rem);
  grid-row-gap: var(--size--1rem);
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 23rem), 1fr));
}

.global_button_link {
  grid-column-gap: var(--_spacing---space--3);
  grid-row-gap: var(--_spacing---space--3);
  text-align: right;
  text-underline-offset: 1.5px;
  cursor: pointer;
  transform-style: preserve-3d;
  justify-content: flex-end;
  align-self: flex-end;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  transition: all .2s;
  display: flex;
}

.global_button_link:hover {
  grid-column-gap: var(--_spacing---space--4);
  grid-row-gap: var(--_spacing---space--4);
  opacity: .8;
  transform: scale3d(1none, 1none, 1none);
  color: var(--_theme---heading-brand);
}

.u-svg-wrap-1-5-em {
  aspect-ratio: 1;
  vertical-align: baseline;
  width: 1.25em;
  display: flex;
}

.arrow_button_link.u-svg-wrap-1-5-em:hover {
  transform: rotate(0);
}

._404_vertical_divider {
  width: var(--border-width--main);
  background-color: var(--swatch--gold-light);
  opacity: .8;
  flex: none;
  height: 1em;
}

.clinic_info_wrap {
  -webkit-backdrop-filter: blur(5px);
  backdrop-filter: blur(5px);
  background-color: #38352f33;
  justify-content: space-between;
  align-items: flex-start;
  width: 100%;
}

.tab_rich_text p {
  margin-top: var(--size--0-75rem);
}

.u-text-nowrap {
  white-space: nowrap;
}

.icon-embed-small {
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 2rem;
  height: 2rem;
  display: flex;
}

.nav_bar_logo-svg {
  aspect-ratio: 8;
  color: var(--_theme---accent);
  max-width: 100%;
  height: 1.5rem;
  position: relative;
}

.spacer-medium {
  width: 100%;
  padding-top: 2rem;
}

.spacer-xsmall {
  width: 100%;
  padding-top: 1rem;
}

.gallery_list {
  column-count: 2;
  column-gap: 2rem;
}

.gallery_lightbox-link {
  margin-bottom: var(--_spacing---space--5);
  width: 100%;
}

.gallery_image {
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.gallery_image-wrapper {
  border-radius: .5rem;
  width: 100%;
  overflow: hidden;
}

.gallery_image3 {
  aspect-ratio: 16 / 9;
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.gallery_contain {
  padding-top: var(--_spacing---section-space--large);
  padding-bottom: var(--_spacing---section-space--large);
}

.spacer-medium {
  padding-top: var(--_spacing---space--5);
  width: 100%;
}

.button-group {
  grid-column-gap: 1rem;
  grid-row-gap: 1rem;
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: center;
  display: inline-flex;
}

.button {
  grid-column-gap: .5rem;
  grid-row-gap: .5rem;
  border: 1px solid var(--_theme---button-primary--background);
  border-radius: var(--radius--small);
  background-color: var(--_theme---button-primary--background);
  color: var(--_theme---button-primary--text);
  text-align: center;
  text-transform: none;
  justify-content: center;
  align-items: center;
  padding: .5rem 1rem;
  font-weight: 600;
  text-decoration: none;
  transition: border-color .2s, background-color .2s;
  display: flex;
}

.button:hover {
  border-color: var(--_theme---button-primary--border-hover);
  background-color: var(--_theme---button-primary--background-hover);
  color: var(--_theme---button-primary--text-hover);
}

.button.is-secondary {
  border-color: var(--_theme---button-secondary--border);
  color: var(--_theme---button-secondary--text);
  background-color: #0000;
}

.button.is-secondary:hover {
  border-color: var(--_theme---button-secondary--border-hover);
  background-color: var(--_theme---button-secondary--background-hover);
}

.button.is-secondary.is-hero {
  font-size: calc(var(--_typography---font-size--text-main) * .9);
  padding-top: .25rem;
  padding-bottom: .25rem;
}

.button.is-gold {
  border-color: var(--swatch--gold-main);
  background-color: var(--swatch--gold-main);
  color: var(--swatch--white);
}

.button.is-gold:hover {
  border-color: var(--swatch--gold-500);
  background-color: var(--swatch--gold-500);
}

.services_arrow_icon {
  width: var(--size--1-5rem);
  height: var(--size--1-5rem);
  color: var(--_theme---accent);
  flex: none;
  transform: rotate(0);
}

.spacer-huge {
  width: 100%;
  padding-top: 6rem;
}

.spacer-tiny {
  width: 100%;
  padding-top: .25rem;
}

.spacer-xhuge {
  width: 100%;
  padding-top: 7rem;
}

.spacer-xlarge {
  width: 100%;
  padding-top: 4rem;
}

.spacer-large {
  padding-top: var(--_spacing---space--7);
  width: 100%;
}

.spacer-xxsmall {
  width: 100%;
  padding-top: .5rem;
}

.u-text-white {
  color: var(--swatch--white);
}

.u-no-border {
  border: 0 solid #000;
}

.max-width-small {
  max-width: 30rem;
}

.spacer-small {
  width: 100%;
  padding-top: 1rem;
}

.footer3_legal-list {
  grid-column-gap: 1.5rem;
  grid-row-gap: 0rem;
  white-space: normal;
  grid-template-rows: auto;
  grid-template-columns: max-content;
  grid-auto-columns: max-content;
  grid-auto-flow: column;
  justify-content: flex-end;
  align-items: flex-start;
  display: flex;
}

.max-width-large {
  max-width: 64rem;
}

.spacer-xsmall {
  padding-top: var(--_spacing---space--3);
  width: 100%;
}

.max-width-medium {
  max-width: 35rem;
}

.cta-footer_content {
  grid-column-gap: 5rem;
  grid-row-gap: var(--_spacing---space--8);
  grid-template-rows: auto;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  grid-auto-columns: minmax(0, 1fr);
  align-items: center;
  display: grid;
}

.spacer-small {
  padding-top: var(--_spacing---space--4);
  width: 100%;
}

.cta-footer_image-wrapper {
  border-radius: 1rem;
  overflow: hidden;
}

.cta-footer_image {
  aspect-ratio: 16 / 9;
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.cta_content-bottom-right {
  grid-column-gap: 5rem;
  grid-row-gap: var(--_spacing---space--5);
  grid-template-rows: auto;
  grid-template-columns: minmax(0, 1fr) max-content;
  grid-auto-columns: minmax(0, 1fr);
  place-items: end stretch;
  display: grid;
}

.cta_content-bottom-right.max-width-large {
  align-content: center;
}

.social_list_wrap {
  grid-column-gap: var(--size--2rem);
  grid-row-gap: var(--size--2rem);
  white-space: normal;
  grid-template-rows: auto;
  grid-template-columns: max-content;
  grid-auto-columns: max-content;
  grid-auto-flow: column;
  place-items: start;
  display: flex;
}

.footer3_social-link {
  cursor: pointer;
  align-items: center;
  font-size: 14px;
  text-decoration: none;
  transition: all .3s cubic-bezier(.645, .045, .355, 1);
  display: flex;
}

.footer3_social-link:hover {
  color: var(--_theme---heading-brand);
}

.icon-embed-xsmall {
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 1.5rem;
  height: 1.5rem;
  display: flex;
}

.u-opacity-40 {
  opacity: .4;
}

.phone_icon_wrap {
  right: var(--size--2rem);
  bottom: var(--size--2rem);
  z-index: 100;
  padding: var(--size--0-5rem);
  border-radius: var(--radius--round);
  background-color: #1e4d86e6;
  display: none;
  position: fixed;
  box-shadow: 0 2px 5px #0003;
}

.nav_1_banner_close_svg {
  width: 100%;
  overflow: visible !important;
}

.nav_1_btn_wrap {
  z-index: 2;
  flex: none;
  width: 2rem;
  padding: 0;
  outline-width: var(--focus--width) !important;
  outline-color: var(--_theme---text) !important;
  outline-offset: var(--focus--offset-inner) !important;
}

.nav_1_btn_wrap.w--open {
  color: inherit;
  background-color: #0000;
}

.nav_1_menu_backdrop {
  z-index: 0;
  opacity: 0;
  pointer-events: none;
  background-color: #27272580;
  width: 100%;
  height: 100vh;
  display: block;
  position: absolute;
  inset: 0%;
}

.nav_1_btn_layout {
  justify-content: center;
  align-items: center;
  gap: var(--nav_1--hamburger-gap);
  flex-flow: column;
  width: 100%;
  height: 100%;
  display: flex;
  position: relative;
}

.nav_1_component {
  z-index: 1000;
  position: fixed;
  inset: 0% 0% auto;
  container-type: inline-size;
}

.nav_1_menu_contain {
  padding-top: .75rem;
  padding-bottom: 4rem;
}

.nav_1_banner_link {
  grid-column-gap: .5rem;
  grid-column-start: 2;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  display: flex;
  outline-offset: var(--focus--offset-inner) !important;
  outline-color: var(--_theme---background) !important;
}

.nav_1_dropdown_mega_layout {
  grid-column-gap: 2rem;
  grid-row-gap: 2rem;
}

.nav_1_dropdown_mega_layout.is-desktop {
  grid-column-gap: 1rem;
  grid-row-gap: 2rem;
  grid-template-rows: auto;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 10rem), 1fr));
  grid-auto-columns: minmax(0, 1fr);
  display: grid;
}

.nav_1_dropdown_link {
  z-index: 2;
  padding-top: var(--size--0-375rem);
  padding-right: 0;
  padding-bottom: var(--size--0-375rem);
  padding-left: var(--size--0-25rem);
  grid-column-gap: .5rem;
  cursor: pointer;
  color: inherit;
  font-size: var(--_typography---font-size--text-main);
  flex: 1;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  display: flex;
  position: relative;
  outline-offset: var(--focus--offset-inner) !important;
}

.nav_1_dropdown_link.is-desktop {
  padding-top: var(--size--0-75rem);
  padding-bottom: var(--size--0-75rem);
  padding-left: calc(var(--_spacing---space--6) / 2);
  padding-right: calc(var(--_spacing---space--6) / 2);
  font-size: inherit;
  border-bottom: .094rem solid #dac597;
}

.nav_1_dropdown_mega_scroll {
  position: relative;
}

.nav_1_dropdown_mega_scroll.is-desktop {
  max-height: calc(100svh - var(--nav_1--height-total)  - 1rem);
  overflow: hidden auto;
  margin-top: var(--nav_1--height) !important;
}

.nav_1_links_svg {
  flex: none;
  width: .7rem;
  margin-left: auto;
  transition-property: transform;
  transition-duration: .2s;
  transition-timing-function: ease;
  overflow: visible !important;
}

.nav_1_btn_line {
  background-color: var(--_theme---heading-brand);
  height: var(--nav_1--hamburger-thickness);
  flex: none;
  width: 100%;
  transition-property: all;
  transition-duration: .2s;
  transition-timing-function: ease;
}

.nav_1_banner_text.u-line-clamp-1 {
  color: var(--_theme---button-primary--text);
}

.nav_1_links_component {
  grid-column-gap: .75rem;
  flex-flow: column;
  flex: 1;
  display: flex;
}

.nav_1_contain {
  grid-column-gap: .75rem;
  height: var(--nav_1--height);
  justify-content: space-between;
  align-items: center;
  margin-left: 5%;
  margin-right: 5%;
  padding-top: 0;
  padding-bottom: 0;
  display: flex;
  position: static;
}

.nav_1_mobile_contain {
  z-index: 2;
  grid-column-gap: .75rem;
  height: var(--nav_1--height);
  justify-content: space-between;
  padding: 0 5%;
  display: flex;
  position: relative;
}

.nav_1_banner_close_wrap {
  outline-offset: -.125rem;
  flex: none;
  justify-content: center;
  align-items: center;
  width: 100%;
  padding: 0;
  display: flex;
  outline-color: var(--_theme---background) !important;
}

.nav_1_dropdown_component {
  z-index: unset;
  width: 100%;
  height: 100%;
  margin-left: 0;
  margin-right: 0;
  position: static;
}

.nav_1_links_link {
  z-index: 2;
  grid-column-gap: .5rem;
  color: var(--swatch--neutral-800);
  font-size: var(--_typography---font-size--text-large);
  cursor: pointer;
  flex: 1;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  padding: .5rem 0;
  display: flex;
  position: relative;
  outline-offset: var(--focus--offset-inner) !important;
}

.nav_1_links_link.w--current {
  color: var(--swatch--brand-700);
  white-space: nowrap;
  word-break: keep-all;
}

.nav_1_links_link.is-desktop {
  padding: 0px var(--size--1-5rem);
  font-size: var(--_typography---font-size--text-main);
  text-align: center;
  height: 100%;
  transition: all .3s;
}

.nav_1_links_link.is-desktop:hover {
  color: #1e4d86;
}

.nav_1_links_link.is-desktop.w--current {
  color: var(--swatch--brand-700);
  font-weight: 600;
}

.nav_bar_logo-svg {
  aspect-ratio: 8;
  max-width: 100%;
  transition: all .3s cubic-bezier(.645, .045, .355, 1);
  position: relative;
}

.nav_bar_logo-svg:hover {
  color: var(--_theme---button-primary--background-hover);
}

.nav_1_wrap {
  z-index: 1;
  background-color: #fff;
  position: relative;
}

.nav_1_wrap.is-desktop {
  background-color: #fff0;
  display: none;
}

.nav_1_buttons_item {
  z-index: 2;
  text-align: center;
  flex-flow: column;
  justify-content: center;
  align-items: flex-start;
  display: flex;
  position: relative;
}

.nav_1_logo_wrap {
  z-index: 2;
  grid-column-gap: var(--size--1rem);
  grid-row-gap: var(--size--1rem);
  aspect-ratio: 8;
  outline-offset: -.125rem;
  justify-content: flex-start;
  align-items: center;
  min-width: 13rem;
  display: flex;
  position: relative;
}

.nav_1_links_text {
  white-space: nowrap;
  word-break: keep-all;
}

.nav_1_links_text:hover {
  color: var(--swatch--brand-700);
}

.nav_1_dropdown_mega_content {
  position: relative;
}

.nav_1_dropdown_mega_content.is-desktop {
  background-color: #fff;
}

.nav_1_dropdown_backdrop {
  z-index: 0;
  opacity: 0;
  pointer-events: none;
  background-color: #27272580;
  width: 100%;
  height: 100vh;
  display: none;
  position: absolute;
  inset: 0%;
}

.nav_1_dropdown_mega_wrap {
  z-index: 1;
  background-color: #0000;
  width: 100%;
  position: relative;
  inset: 0% auto auto 0%;
}

.nav_1_dropdown_mega_wrap.is-desktop {
  position: absolute;
}

.nav_1_desktop_layout {
  z-index: 1;
  flex: 1;
  display: flex;
}

.nav_1_dropdown_text {
  transition: opacity .1s;
}

.nav_1_links_wrap {
  flex: 1;
}

.nav_1_links_wrap.is-desktop {
  flex-flow: row;
  justify-content: center;
  align-items: stretch;
  display: flex;
}

.nav_1_menu_scroll {
  max-height: calc(100svh - var(--nav_1--height-total));
  overflow: hidden auto;
}

.nav_1_links_locales_hide {
  display: block;
}

.nav_1_banner_embed {
  display: none;
}

.nav_1_dropdown_main_wrap {
  background-color: #0000;
  min-width: 0;
  position: relative;
}

.nav_1_dropdown_main_wrap.is-desktop {
  width: 10rem;
  padding-top: 0;
  position: absolute;
}

.nav_1_banner_contain {
  grid-column-gap: 1rem;
  grid-template-rows: auto;
  grid-template-columns: minmax(1.1rem, 1.1rem) minmax(0, 1fr) minmax(1.1rem, 1.1rem);
  grid-auto-columns: 1fr;
  width: 100%;
  max-width: 90rem;
  height: 100%;
  margin-left: auto;
  margin-right: auto;
  display: grid;
}

.nav_1_dropdown_mega_contain {
  width: 100%;
  max-width: 90rem;
  margin-left: auto;
  margin-right: auto;
  position: relative;
}

.nav_1_dropdown_mega_contain.is-desktop {
  padding-top: 3rem;
  padding-bottom: 4rem;
}

.nav_1_screen-reader-text {
  white-space: nowrap;
  clip: rect(0, 0, 0, 0);
  border-width: 0;
  width: 1px;
  height: 1px;
  margin-left: auto;
  margin-right: auto;
  padding: 0;
  position: absolute;
  inset: 0% 0% auto;
  overflow: hidden;
}

.nav_1_actions_wrap {
  padding-top: var(--size--1rem);
  padding-bottom: var(--size--1rem);
  grid-column-gap: var(--size--2rem);
  grid-row-gap: var(--size--2rem);
  flex-flow: wrap;
  flex: none;
  justify-content: space-between;
  align-items: center;
  display: flex;
}

.nav_1_actions_wrap.is-desktop {
  flex-flow: row;
  justify-content: flex-end;
  align-items: stretch;
  min-width: 13rem;
}

.nav_1_banner_wrap {
  z-index: 1;
  background-color: var(--_theme---button-primary--background);
  font-size: var(--_typography---font-size--text-small);
  height: var(--nav_1--banner-height);
  position: relative;
}

.nav_1_menu_wrap {
  text-align: left;
  padding-top: var(--nav_1--height);
  background-color: #fff;
  top: 0;
  transform: none !important;
}

.nav_1_dropdown_main_scroll.is-desktop {
  max-height: calc(100svh - var(--nav_1--height-total)  - 1rem);
  background-color: #fff;
  position: relative;
  overflow-x: hidden;
  overflow-y: auto !important;
}

.hero_motto {
  opacity: .9;
  letter-spacing: .06em;
}

.icon_text_wrap_motto {
  grid-column-gap: var(--size--1rem);
  grid-row-gap: var(--size--1rem);
  color: var(--_theme---accent);
  flex-flow: row;
  justify-content: flex-start;
  align-items: center;
  display: inline-flex;
}

.icon-height-xsmall {
  aspect-ratio: 1;
  height: 1.25em;
}

.services_left-col {
  width: 90%;
  position: sticky;
  top: 0;
}

.navbar_bg_color {
  background-color: var(--swatch--transparent);
  transition: background-color .3s;
}

.navbar_bg_color.scrolled {
  background-color: var(--swatch--white);
}

.u-text-style-main-0-9 {
  --_text-style---font-family: var(--_typography---font--primary-family);
  --_text-style---font-size: var(--_typography---font-size--text-main);
  --_text-style---line-height: var(--_typography---line-height--1-5);
  --_text-style---font-weight: var(--_typography---font--primary-regular);
  --_text-style---letter-spacing: var(--_typography---letter-spacing--0em);
  --_text-style---text-transform: var(--_typography---text-transform--none);
  --_text-style---margin-top: var(--_spacing---space--4);
  --_text-style---margin-bottom: var(--_spacing---space--4);
  --_text-style---size: 0px;
  font-size: calc(var(--_typography---font-size--text-main) * .9);
}

.spacer-xxlarge {
  width: 100%;
  padding-top: 5rem;
}

.our_motto_component {
  text-align: center;
}

.our_motto_image-wrapper2 {
  border-radius: var(--radius--medium);
  width: 100%;
  margin-top: 15%;
  margin-bottom: 15%;
  overflow: hidden;
}

.our_motto_image-group {
  grid-column-gap: var(--_spacing---space--5);
  grid-row-gap: var(--_spacing---space--5);
  grid-template-rows: auto;
  grid-template-columns: .4fr minmax(0, 1fr) .4fr;
  grid-auto-columns: minmax(0, 1fr);
  align-items: end;
  display: grid;
}

.our_motto_image-wrapper3, .our_motto_image-wrapper1 {
  border-radius: var(--radius--medium);
  width: 100%;
  overflow: hidden;
}

.our_motto_content-wrapper {
  grid-column-gap: var(--size--1-25rem);
  grid-row-gap: var(--size--1-25rem);
  flex-flow: column;
  justify-content: center;
  align-items: center;
  display: flex;
}

.our_motto_image3 {
  aspect-ratio: 3 / 4;
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.our_motto_image2 {
  aspect-ratio: 3 / 2;
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.our_motto_image1 {
  aspect-ratio: 1;
  object-fit: cover;
  object-position: 70% 100%;
  width: 100%;
  height: 100%;
}

.our_motto_contain {
  padding-top: var(--_spacing---section-space--large);
  padding-bottom: var(--_spacing---section-space--large);
}

.hero_heading {
  text-align: center;
}

.hero_sub-title {
  font-family: var(--_typography---font--primary-family);
  font-weight: var(--_typography---font--primary-bold);
  letter-spacing: .15em;
  text-transform: uppercase;
}

.pr-1-5rem {
  padding-right: var(--size--1-5rem);
}

.positioned {
  object-fit: cover;
  object-position: 50% 0%;
  height: 100%;
}

.equipment_card_image {
  z-index: -1;
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0%;
}

.marquee-wrapp {
  padding-top: var(--_spacing---space--4);
  padding-bottom: var(--_spacing---space--4);
  grid-column-gap: var(--size--1-25rem);
  grid-row-gap: var(--size--1-25rem);
  font-family: var(--_text-style---font-family);
  color: var(--_theme---heading-brand);
  font-size: var(--_text-style---font-size);
  line-height: var(--_typography---line-height--1-3);
  --_text-style---font-family: var(--_typography---font--heading-family);
  --_text-style---font-size: var(--_typography---font-size--h4);
  --_text-style---line-height: var(--_typography---line-height--1-3);
  --_text-style---font-weight: var(--_typography---font--primary-regular);
  --_text-style---letter-spacing: var(--_typography---letter-spacing--0em);
  --_text-style---text-transform: var(--_typography---text-transform--none);
  --_text-style---margin-top: var(--_spacing---space--7);
  --_text-style---margin-bottom: var(--_spacing---space--4);
  --_text-style---size: 0px;
  background-color: #e2f0ff;
  flex-flow: row;
  place-content: center flex-start;
  align-items: center;
  display: flex;
}

.quote_image_wrap {
  aspect-ratio: 3.5 / 4;
  border-radius: var(--radius--large);
  overflow: hidden;
}

.motto_text {
  font-family: var(--_text-style---font-family);
  color: var(--_theme---heading-brand);
  font-size: var(--_typography---font-size--text-large);
  line-height: var(--_text-style---line-height);
  --_text-style---font-family: var(--_typography---font--primary-family);
  --_text-style---font-size: var(--_typography---font-size--text-large);
  --_text-style---line-height: var(--_typography---line-height--1-5);
  --_text-style---font-weight: var(--_typography---font--primary-regular);
  --_text-style---letter-spacing: var(--_typography---letter-spacing--0em);
  --_text-style---text-transform: var(--_typography---text-transform--none);
  --_text-style---margin-top: var(--_spacing---space--4);
  --_text-style---margin-bottom: var(--_spacing---space--4);
  --_text-style---size: 0px;
  text-wrap: balance;
  max-width: 30rem;
}

.hero_utility-links {
  grid-column-gap: var(--size--1rem);
  grid-row-gap: var(--size--1rem);
  flex-flow: wrap;
  place-content: center;
  align-items: center;
  display: flex;
}

.quote_text {
  font-family: var(--_typography---font--heading-family);
  color: var(--_theme---heading-brand-alt);
  font-size: var(--_typography---font-size--h3);
  line-height: var(--_typography---line-height--1-2);
  letter-spacing: var(--_typography---letter-spacing--0-02em);
  text-align: left;
}

.services_text {
  grid-column-gap: var(--size--1-5rem);
  grid-row-gap: var(--size--1-5rem);
  flex-flow: row;
  place-content: flex-start;
  align-items: flex-start;
  display: flex;
}

@media screen and (max-width: 991px) {
  .u-grid-column-4 {
    grid-template-columns: var(--grid-2);
  }

  .u-grid-desktop {
    flex-flow: column;
    display: flex;
  }

  .g_eyebrow_wrap.u-width-column-3 {
    width: 100%;
  }

  .g_eyebrow_marker {
    height: .05rem;
  }

  .quote_content {
    grid-column-gap: var(--_spacing---space--4);
    grid-row-gap: var(--_spacing---space--4);
    justify-content: space-between;
    align-items: center;
  }

  .equipment_cards_wrap {
    flex-flow: column;
    grid-template-rows: 1fr 1fr 1fr;
    grid-template-columns: 1fr;
  }

  .services_row {
    padding: var(--size--1-25rem) var(--size--0-75rem);
  }

  .services-label {
    padding: var(--size--0-375rem) var(--size--0-75rem);
    width: 95%;
  }

  .slider01_mask {
    width: 50%;
  }

  .slider01_comp {
    padding-left: 0;
    padding-right: 0;
  }

  .testimonial-card1_item {
    padding: var(--size--1-25rem);
    justify-content: flex-start;
    align-items: flex-start;
  }

  ._3_steps_text {
    max-width: var(--column-width--10);
  }

  .footer_layout.u-grid-tablet {
    grid-column-gap: var(--_spacing---space--6);
  }

  .clinic_info_list {
    justify-content: center;
    align-items: flex-start;
  }

  .header_visual.u-vflex-center-center {
    min-height: 12rem;
  }

  .doctor_wrap {
    grid-column-gap: var(--size--2rem);
  }

  .tab_link {
    padding: var(--_spacing---space--3);
    font-size: var(--_typography---font-size--text-main);
    white-space: normal;
    flex-flow: wrap;
    max-width: 100%;
    overflow: visible;
  }

  .tab_link.w--current {
    padding-top: var(--_spacing---space--2);
    padding-bottom: var(--_spacing---space--2);
  }

  .tab_content_wrap {
    max-width: 100%;
  }

  .tab_content_wrap.u-column-6 {
    grid-column-end: span 8;
  }

  .tab_side_menu_wrap {
    width: var(--column-width--4);
  }

  .tab_menu.u-column-4 {
    grid-column-start: 1;
  }

  .transport_cards_wrap.u-hflex-left-top.u-gap-gutter {
    grid-column-gap: var(--size--0rem);
    grid-row-gap: var(--size--0rem);
    flex-flow: column;
  }

  .spacer-huge {
    padding-top: 5rem;
  }

  .spacer-xhuge {
    padding-top: 6rem;
  }

  .spacer-xlarge {
    padding-top: 3.5rem;
  }

  .spacer-large {
    padding-top: 2.5rem;
  }

  .cta-footer_content {
    grid-row-gap: var(--_spacing---space--8);
    grid-template-columns: minmax(0, 1fr);
    grid-auto-flow: row;
    min-height: auto;
  }

  .cta-footer_content-left {
    text-align: center;
  }

  .cta_content-bottom-right {
    grid-column-gap: var(--_spacing---space--7);
  }

  .phone_icon_wrap {
    display: block;
  }

  .nav_1_btn_wrap.w--open {
    color: inherit;
    background-color: #c8c8c800;
  }

  .nav_1_btn_line {
    height: .125rem;
  }

  .section_title-left.u-column-6 {
    grid-column-end: span 5;
  }

  .services_left-col {
    width: 100%;
  }

  .section_title-right.u-column-6 {
    grid-column-end: span 7;
  }

  .spacer-xxlarge {
    padding-top: var(--_spacing---space--8);
  }

  .u-hide-tablet {
    display: none;
  }

  .quote_image_wrap {
    aspect-ratio: 3 / 2;
  }

  .quote_text {
    text-align: center;
  }
}

@media screen and (max-width: 767px) {
  .u-text-style-h3.u-text-brand {
    order: -1;
  }

  .u-grid-column-2, .u-grid-column-4 {
    grid-template-columns: var(--grid-1);
  }

  .u-grid-tablet {
    flex-flow: column;
    display: flex;
  }

  .equipment_card {
    min-width: 10rem;
    min-height: 10rem;
  }

  .text-size-medium {
    font-size: 1rem;
  }

  .slider01_mask {
    width: 80%;
  }

  .slider_arrow.is-left {
    right: 3.5rem;
  }

  .testimonial-person_item {
    width: 100%;
  }

  .footer_wrap.u-theme-dark {
    --_alignment---flex: var(--align--flex-center);
    --_alignment---text: var(--align--text-center);
  }

  .footer_column_right.u-column-2 {
    flex-flow: wrap;
  }

  .clinic_info_list {
    padding-left: var(--column-width--1);
    justify-content: flex-start;
    align-items: flex-start;
  }

  .doctor_wrap {
    grid-row-gap: var(--size--3rem);
    grid-template-columns: 1fr;
  }

  .tab_link {
    padding: var(--_spacing---space--4) var(--_spacing---space--6);
  }

  .tab_content_wrap {
    max-width: var(--container--main);
    margin-left: auto;
    margin-right: auto;
  }

  .tab_content_box {
    margin-bottom: 30px;
  }

  .tab_side_menu_wrap {
    grid-column-gap: var(--site--gutter);
    grid-row-gap: var(--_spacing---space--2);
    flex-flow: wrap;
    justify-content: flex-start;
    align-items: flex-start;
    width: 100%;
    display: flex;
  }

  .tab_side_menu_wrap.u-position-sticky {
    padding-top: var(--size--0rem);
    grid-column-gap: var(--_spacing---space--4);
    grid-row-gap: var(--_spacing---space--1);
    flex-flow: wrap;
    justify-content: space-between;
    align-items: flex-start;
    width: 100%;
    display: none;
  }

  .tab_menu.u-column-4 {
    position: sticky;
  }

  .transport_text {
    font-size: var(--_typography---font-size--text-small);
  }

  .transport_wrap.u-grid-autofit {
    grid-template-rows: auto;
  }

  .transport_cards_wrap.u-hflex-left-top {
    flex-flow: column;
  }

  .contact_image.u-visual-wrap {
    aspect-ratio: 3 / 2;
  }

  .doctor_image {
    object-fit: contain;
    width: 100%;
    max-width: 18rem;
  }

  .gallery_list {
    column-count: 1;
    column-gap: 1.5rem;
  }

  .gallery_lightbox-link {
    margin-bottom: var(--_spacing---space--4);
  }

  .spacer-medium {
    padding-top: var(--_spacing---space--4);
  }

  .services_arrow_icon {
    width: var(--size--1-25rem);
    height: var(--size--1-25rem);
  }

  .spacer-huge {
    padding-top: 3.5rem;
  }

  .spacer-xhuge {
    padding-top: 4rem;
  }

  .spacer-xlarge {
    padding-top: 2.5rem;
  }

  .spacer-large {
    padding-top: 2rem;
  }

  .footer3_legal-list {
    grid-column-gap: 0rem;
    grid-row-gap: 1rem;
    flex-flow: column;
    grid-auto-flow: row;
  }

  .spacer-xsmall {
    padding-top: var(--_spacing---space--2);
  }

  .cta-footer_content {
    grid-row-gap: var(--_spacing---space--7);
  }

  .spacer-small {
    padding-top: var(--_spacing---space--3);
  }

  .dentist_name.u-text-style-h4 {
    text-align: center;
  }

  .cta_content-bottom-right {
    grid-column-gap: var(--_spacing---space--4);
    grid-row-gap: var(--_spacing---space--4);
    flex-direction: column;
    grid-template-columns: minmax(0, 1fr);
    justify-content: flex-start;
    align-items: flex-start;
  }

  .spacer-xxlarge {
    padding-top: var(--_spacing---space--7);
  }

  .our_motto_image-group {
    margin-top: var(--_spacing---space--7);
  }
}

@media screen and (max-width: 479px) {
  .btn_main_wrap {
    padding: var(--size--0-5rem) var(--size--1-25rem);
    border-radius: .25rem;
  }

  .motto_title.u-text-style-display {
    font-size: 2.5rem;
  }

  .motto_title.u-text-style-display em {
    font-size: var(--_typography---font-size--h2);
  }

  .equipment_card {
    min-height: 18rem;
  }

  .equipment_card_content {
    padding-top: var(--size--0-375rem);
    padding-right: var(--size--0-75rem);
    padding-left: var(--size--0-75rem);
  }

  .services_row {
    padding: var(--size--1rem) var(--size--0-25rem);
  }

  .slider01_slide {
    margin-right: 1rem;
  }

  .slider01_mask {
    width: 95%;
  }

  .testimonial-card1_item {
    padding-right: var(--size--1rem);
    padding-left: var(--size--1rem);
  }

  .process_vertical_divider {
    height: var(--size--6rem);
  }

  ._3_steps_text {
    max-width: none;
  }

  .transport_wrap.u-grid-autofit {
    grid-auto-rows: auto;
  }

  .doctor_image {
    padding-top: var(--size--1-5rem);
    padding-right: var(--size--1-5rem);
    padding-left: var(--size--1-5rem);
    width: 100%;
  }

  ._404_vertical_divider {
    display: none;
  }

  .cta-footer_content {
    grid-template-columns: minmax(0, 1fr);
  }

  .cta_content-bottom-right {
    grid-row-gap: var(--_spacing---space--4);
  }

  .nav_bar_logo-svg {
    display: none;
  }

  .nav_1_wrap.is-mobile {
    background-color: var(--swatch--transparent);
  }

  .our_motto_component {
    text-align: center;
  }

  .our_motto_image-wrapper2 {
    margin-top: 0%;
    margin-bottom: 0%;
  }

  .our_motto_image-group {
    grid-column-gap: 0rem;
    grid-row-gap: 0rem;
    grid-template-columns: minmax(0, 1fr);
    grid-auto-rows: min-content;
    margin-top: 0;
  }

  .our_motto_content-wrapper {
    grid-column-gap: var(--size--0-75rem);
    grid-row-gap: var(--size--0-75rem);
    text-align: center;
  }

  .our_motto_image3 {
    display: none;
  }

  .our_motto_image2 {
    margin-top: 0%;
    margin-bottom: 0%;
  }

  .our_motto_image1 {
    display: none;
  }

  .quote_image_wrap {
    aspect-ratio: 1;
  }

  .services_text {
    grid-column-gap: var(--size--0-5rem);
    grid-row-gap: var(--size--0-5rem);
  }
}

#w-node-_4f674185-2f3d-e41a-b875-e3fe4bb886cc-74c228fc {
  align-self: start;
}

#w-node-_041f6f84-bdf5-a452-d356-881f42dca801-74c228fc {
  grid-area: span 1 / span 2 / span 1 / span 2;
}

#w-node-ecd8b38f-efea-38f6-b3d1-a2d410ac9fcf-74c228fc {
  grid-area: span 1 / span 5 / span 1 / span 5;
}

#w-node-_1bcc51f9-296a-c5bf-c77f-d618830b2e95-74c229b6 {
  grid-area: span 1 / span 1 / span 1 / span 1;
}

@media screen and (max-width: 991px) {
  #w-node-_041f6f84-bdf5-a452-d356-881f42dca801-74c228fc {
    grid-column: span 1 / span 1;
  }
}








/* ---- custom.css ---- */

/* Variable Mulish ------------------------------------------------
   Replaces the Regular/SemiBold/Bold statics (55.2 KB across three files)
   with one 42 KB file covering the whole 200-1000 weight axis.

   The real payoff is that font-weight becomes an animatable axis, so the nav
   hover can genuinely tween rather than snapping between two files. */
@font-face {
  font-family: 'Mulish Variable';
  src: url('../fonts/Mulish-Variable-subset.woff2') format('woff2');
  font-weight: 200 1000;
  font-style: normal;
  font-display: swap;
}

/* Declared under its own family rather than reusing 'Mulish Subset': when a
   variable face and static faces share a family name, browsers do not agree
   on which wins, and here the statics did. Pointing the token at the new
   family is unambiguous.

   'Mulish Subset' is deliberately NOT in this stack. Leaving it there cost a
   download on every visit: the page renders a few characters no text font
   carries (an emoji, a heart, nbsp), and to discover that 'Mulish Subset'
   does not carry them either, the browser has to fetch it first. Font
   coverage is not knowable without the file, short of declaring
   unicode-range on every face. So the static was downloaded, contributed
   nothing, and the characters fell through to the system font anyway.

   Dropping it is only safe because the variable subset is now a strict
   superset of all four static faces (re-cut from the full Mulish variable
   source, 356 codepoints, verified: zero printable characters in the statics
   are missing from it). Nothing on the site renders italic Mulish, and every
   weight in use (400/500/600/700) sits inside the axis. */
:root {
  --_typography---font--primary-family: 'Mulish Variable', Verdana, sans-serif;
}
/* ---------------------------------------------------------------
   Custom additions on top of the Webflow export.
   Loaded after styles.css, so it wins on equal specificity.
   --------------------------------------------------------------- */

/* SuperDoc online booking button -------------------------------- */
.superdoc_button {
  white-space: nowrap;
}

/* Reuses the site's own arrow (the one in the services rows and
   arrow_button_link), including its translate-on-hover behaviour. */
.superdoc_arrow {
  width: 1.05em;
  height: 1.05em;
  flex: none;
  transition: transform 200ms ease;
}

@media (hover: hover) and (pointer: fine) {
  .superdoc_button:hover .superdoc_arrow {
    transform: translateX(4px);
  }
}

/* The desktop nav row only has ~185px to spare beside the links,
   so it uses the short label. */
.superdoc_button.is-hero {
  gap: 0.4rem;
  padding-left: 0.85rem;
  padding-right: 0.85rem;
}

/* Mobile menu: booking button spans the menu width */
.nav_1_buttons_item.is-superdoc .superdoc_button {
  width: 100%;
}

/* Footer booking button --------------------------------------------
   The gold sits badly on the navy footer (3.77:1 against the background,
   and only 2.7:1 for its own white label). Light blue on navy text reads
   as a button, lifts off the navy, and measures 8.8:1 both ways. */
.footer_wrap .superdoc_button.is-footer {
  align-self: flex-start;
  margin-top: 0.25rem;
  margin-bottom: var(--size--2rem, 2rem);
  background-color: var(--swatch--brand-100);
  border-color: var(--swatch--brand-100);
  color: var(--swatch--brand-800);
}

@media (hover: hover) and (pointer: fine) {
  .footer_wrap .superdoc_button.is-footer:hover {
    background-color: var(--swatch--white);
    border-color: var(--swatch--white);
    color: var(--swatch--brand-800);
  }
}

/* Nav weights ----------------------------------------------------
   Links rest at 500, hover moves colour only, and the current page is 600.
   Because hover no longer changes weight, the row cannot reflow while the
   pointer moves across it.
   The ::after still reserves the 600 width on every link, for a different
   reason: the heavier current-page link would otherwise be wider than its
   neighbours and shift them, so nav items would land in slightly different
   places from page to page. Reserving the wide measure everywhere pins them. */
.nav_1_links_link > div[data-text]::after {
  content: attr(data-text);
  display: block;
  height: 0;
  overflow: hidden;
  visibility: hidden;
  pointer-events: none;
  user-select: none;
  font-weight: 600;
}

.nav_1_links_link {
  font-weight: 500;
  transition: color 300ms ease;
}

/* Webflow only sets 600 on .is-desktop.w--current; the mobile menu needs it
   too, so the active page reads the same in both. */
.nav_1_links_link.w--current {
  font-weight: 600;
}

/* Equipment grid ------------------------------------------------
   A 4th card (GBT Machine) was added. The Medit scanner card used to span
   the full second row because there were only three cards; with four they
   form a balanced 2x2, so that span is released. */
#w-node-_041f6f84-bdf5-a452-d356-881f42dca801-74c228fc {
  grid-area: span 1 / span 1 / span 1 / span 1;
}

@media screen and (max-width: 991px) {
  .equipment_cards_wrap {
    grid-template-rows: auto;
  }
}

/* Hero title ----------------------------------------------------
   The display token (clamp(3.5rem, 2.892rem + 3.04vw, 5.625rem) = 56->90px)
   is shared with the "от семейство за семейства" motto, so the hero is
   scaled on its own here rather than by editing the token.
   New curve keeps the 56px floor and raises the cap to 108px, reaching it
   at ~1440px viewport. At 1400px this is ~106px (was ~89px). */
.hero_heading.u-text-style-display {
  font-size: clamp(3.5rem, 2.5714rem + 4.643vw, 6.75rem);
}

/* Floating call button over a dark background ---------------------
   Mirrors the footer booking button: light blue fill, navy glyph.
   Toggled by js/custom.js, which reads what is painted underneath. */
.phone_icon_wrap {
  transition: background-color 250ms ease;
}

.phone_icon_wrap.is-on-dark {
  background-color: #e2f0ffe6;
}

.phone_icon_wrap .icon-embed-xsmall {
  transition: color 250ms ease;
}

.phone_icon_wrap.is-on-dark .icon-embed-xsmall {
  color: var(--swatch--brand-800);
}

/* Call CTA is hidden unless js/custom.js confirms the clinic is open */
.is-callhours {
  display: none;
}

.is-callhours.is-open-now {
  display: block;
}

/* Touch devices: undo hover states that would otherwise stick after a tap.
   These live in the Webflow export and its inline page styles, where a tapped
   services row stays scaled up and a tapped nav link stays recoloured until
   something else is touched. */
@media (hover: none) {
  .services_row:hover {
    transform: none;
    background-color: transparent;
  }

  .services_row:hover .arrow_icon {
    transform: none;
  }

  .nav_1_links_link.is-desktop:hover {
    color: var(--swatch--neutral-800);
  }
}

/* Hero semantics -------------------------------------------------
   The hero used <h1>Дентална клиника</h1> + <h2>Семейна усмивка</h2>, and the
   address/phone/hours lines were <h2> as well, which put five headings in the
   hero and left the brand name out of the h1. They are now a <p> + <h1> + <p>.
   As <h2> the contact lines inherited the heading colour (white in the dark
   theme); as <p> they inherit the theme text colour, so it is restored here to
   keep the hero pixel-identical. */
.hero_contact_details {
  color: var(--_theme---heading-brand);
}

/* Navy button variant (used by the CTA section booking button).
   White on brand-700 measures 8.53:1. */
.button.is-navy {
  background-color: var(--swatch--brand-700);
  border-color: var(--swatch--brand-700);
  color: var(--swatch--white);
}

@media (hover: hover) and (pointer: fine) {
  .button.is-navy:hover {
    background-color: var(--swatch--brand-800);
    border-color: var(--swatch--brand-800);
    color: var(--swatch--white);
  }
}

/* Navbar proportions ---------------------------------------------
   --nav_1--height is set on :root by the nav component's own inline
   <style>, which sits in the body and so outranks this file at :root.
   Setting it on .nav_1_component instead keeps it inside the cascade. */
.nav_1_component {
  --nav_1--height: 4.75rem;
}

.nav_bar_logo-svg {
  height: 1.85rem;
}

/* The Услуги chevron read slightly heavy next to the larger logo */
.nav_1_links_svg {
  width: 0.55rem;
}

/* Button label sits 0.5px low next to the arrow ------------------
   The span and the SVG are both centred exactly by the flex box, but the
   text's line box carries descender space the glyphs here do not use, so its
   ink centre lands ~0.03em below the arrow's. Nudged optically; transform so
   nothing in the layout moves. */
.superdoc_button > span {
  display: block;
  transform: translateY(-0.03em);
}

/* Button corners: 8px -------------------------------------------
   Buttons move from the small radius (4px) to the medium one (8px), rather
   than redefining what "small" means. --radius--small had exactly one
   consumer, .button, so either route changes only buttons. Repointing the
   component keeps the ramp four distinct steps (4 / 8 / 16 / round); setting
   small to 0.5rem would have made it a duplicate of medium and quietly
   deleted a step from the scale. It also puts buttons on the radius the rest
   of the site already uses: medium has eleven other consumers.

   .superdoc_button and the map button all carry .button too, so this one
   selector covers every button on the site. */
.button {
  border-radius: var(--radius--medium);
}

/* Hero title on mobile: floor raised 56px -> 64px. The curve still reaches
   108px at ~1440px; below ~492px it now rests on the higher floor. */
.hero_heading.u-text-style-display {
  font-size: clamp(4rem, 2.5714rem + 4.643vw, 6.75rem);
}

/* GBT certificate section ----------------------------------------
   Square product shot cropped into the unit at source, so cover fills the
   square wrapper edge to edge and the machine reads at the same scale it did
   on the previous card image. */
.gbt_visual img {
  object-fit: cover;
  object-position: 50% 50%;
}

/* Match the gap the team section uses between a doctor's photo and their
   text (--size--3rem), instead of the 12-column grid's default 16px. */
#gbt .u-grid-tablet {
  grid-column-gap: var(--size--3rem);
  grid-row-gap: var(--size--3rem);
}

/* Image takes 5 of the 12 columns and the card starts at 7, so column 6 is
   left empty and reads as a grid-aligned gutter between them. */
#gbt .gbt_body {
  grid-column: 7 / span 6;
}

@media screen and (max-width: 991px) {
  #gbt .gbt_body {
    grid-column: auto / span 12;
  }
}

#gbt .card ul {
  margin: 0;
  padding-left: 1.15rem;
  list-style: disc outside;
}

#gbt .card li {
  margin-bottom: 0.4rem;
  padding-left: 0.15rem;
}

#gbt .card li::marker {
  color: var(--swatch--gold-main);
}

/* Map placeholder --------------------------------------------------
   Styled to sit in the same box the iframe occupied, so swapping one for the
   other on click does not shift the page. .map_wrap is aspect-ratio 3/2 but
   its inner Webflow embed wrappers have auto height, so both the facade and
   the iframe need to be told to fill it. */
.map_wrap .w-embed,
.map_wrap .w-iframe {
  width: 100%;
  height: 100%;
}

.map_wrap iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}
/* Ghost buttons: no underline ------------------------------------
   The Webflow export underlines .global_button_link ("Всички услуги",
   "За нас и клиниката"). Hover already signals these are interactive three
   other ways: the colour shifts, opacity drops, and the gap between label
   and arrow opens up. The underline on top of that reads as a plain text
   link rather than a button. */
.global_button_link {
  text-decoration: none;
}

/* Brand gold, darkened for contrast --------------------------------
   #b89963 measured 2.70:1 on white and 2.53:1 on the cream section
   background, so the pull quotes and the italic emphasis in headings both
   missed the 3:1 minimum for large text. #a5814d is the same hue family,
   eight points darker in lightness, and measures 3.59:1 on white and
   3.37:1 on cream.

   It also helps where gold is a background rather than text: the white
   label on a gold button goes from 2.70:1 to 3.59:1.

   Overridden here rather than edited in styles.css. Same :root specificity,
   and custom.css loads later, so this wins. Nothing sets the token inline. */
:root {
  --swatch--gold-main: #a5814d;
}

/* Booking buttons in page content hug their label -----------------
   .button is display:flex, which makes it a block-level flex container, so
   in a plain block wrapper it stretches to the full column width. On the
   contact page the button is the only child of an unclassed div inside
   .contact_content, so it spanned the whole column. Elsewhere it sits in a
   .button-group that is itself inline-flex, which is why this only showed up
   there.

   Scoped to .page_main, which holds the page content but not the nav or the
   footer, so the is-hero, mobile-menu and is-footer variants keep the widths
   their own rules give them. fit-content still caps at the available width,
   so a long label cannot overflow a narrow column. */
.page_main .superdoc_button {
  width: fit-content;
}

/* Consent banner and the gated map placeholder --------------------
   The banner is a bottom bar rather than a modal: it must not cover the
   content someone came for, and blocking a clinic's address behind an
   overlay would be worse than the problem it solves. */
.consent_banner {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1000;
  background-color: var(--swatch--white);
  border-top: 1px solid var(--_theme---border);
  box-shadow: 0 -4px 24px rgba(39, 39, 37, 0.1);
  padding: var(--size--1rem) var(--site--gutter);
}

.consent_banner_inner {
  max-width: var(--container--main);
  margin: 0 auto;
  display: flex;
  align-items: center;
  gap: var(--size--1-5rem);
  flex-wrap: wrap;
}

.consent_banner_text {
  flex: 1 1 22rem;
  margin: 0;
}

.consent_banner_link {
  color: var(--swatch--brand-700);
  text-decoration: underline;
}

/* Both choices sit side by side at the same size. Refusing has to be as
   easy as agreeing, or the consent is not worth collecting. */
.consent_banner_actions {
  display: flex;
  gap: var(--size--0-75rem, 0.75rem);
  flex: 0 0 auto;
}

.consent_banner_actions .button {
  white-space: nowrap;
}

/* One step down the type scale from the default button: text-main (1rem)
   to text-small (0.875rem), with the padding trimmed to match. Mirrors how
   the export already expresses a smaller button on .is-secondary.is-hero. */
.button.is-small {
  font-size: var(--_typography---font-size--text-small);
  padding: 0.375rem 0.75rem;
}

.button.is-ghost {
  background-color: transparent;
  border-color: var(--swatch--brand-700);
  color: var(--swatch--brand-700);
}

@media (hover: hover) and (pointer: fine) {
  .button.is-ghost:hover {
    background-color: var(--swatch--brand-50);
  }
}

@media screen and (max-width: 479px) {
  .consent_banner_actions {
    width: 100%;
  }

  .consent_banner_actions .button {
    flex: 1;
    justify-content: center;
  }
}

/* Stands in for the map until consent is given, and carries the address so
   the page still answers "where are you" without loading anything. */
.map_consent {
  width: 100%;
  height: 100%;
  min-height: 100%;
  border-radius: var(--radius--large);
  background-color: var(--swatch--brand-50);
  border: 1px solid var(--_theme---border);
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: var(--size--2rem);
}

.map_consent_inner {
  max-width: 22rem;
}

.map_consent_note {
  margin: 0;
  opacity: 0.8;
}

.map_consent_link {
  color: var(--swatch--brand-700);
  text-decoration: underline;
}
