/*
Theme Name: Main
Description: Het hoofdthema voor de website
Author: Geert van der Heide
Author URI: http://www.geertvanderheide.nl
*/


/* ----------------------------------------------------------------------------------------- */
/* ----- Custom properties ----------------------------------------------------------------- */
/* ----------------------------------------------------------------------------------------- */

:root {
  --color-text:           #333;
  --color-text-light:     #888;
  --color-dark-gray:      #555;
  --color-light-gray:     #f4f4f4;
  --color-link:           #86bc25;
  --color-border:         #e0e0e0;
  --color-border-dark:    #ccc;
  --color-bg-light:       #f0f5e8;
  
  --color-button:         var(--color-link);
  --color-button-lighter: #94d226;
  --color-button-darker:  #649014;
  
  --length-xs:            0.5rem;
  --length-s:             1rem;
  --length-m:             1.5rem;
  --length-l:             2rem;
  --length-xl:            3rem;
  --length-title-top:     6rem;
  --gutter-site:          var(--length-l);
  --gutter-grids:         1rem;
  
  --border-width:         1px;
  --border-radius-s:      0.3rem;
  --border-radius-m:      var(--length-xs);
  --border-radius-l:      var(--length-s);
}


/* ----------------------------------------------------------------------------------------- */
/* ----- Fonts ----------------------------------------------------------------------------- */
/* ----------------------------------------------------------------------------------------- */

@font-face {
  font-family: "Museo Sans";
  src: url("/wp-content/themes/main/fonts/museosans-500.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-stretch: normal;
  unicode-range: U+0020-00FE;
  font-display: swap;
}

@font-face {
  font-family: "Museo Sans";
  src: url("/wp-content/themes/main/fonts/museosans-500italic.woff2") format("woff2");
  font-weight: 400;
  font-style: italic;
  font-stretch: normal;
  unicode-range: U+0020-00FE;
  font-display: swap;
}

@font-face {
  font-family: "Museo Sans";
  src: url("/wp-content/themes/main/fonts/museosans-900.woff2") format("woff2");
  font-weight: bold;
  font-style: normal;
  font-stretch: normal;
  unicode-range: U+0020-00FE;
  font-display: swap;
}


/* ----------------------------------------------------------------------------------------- */
/* ----- Overrides and resets -------------------------------------------------------------- */
/* ----------------------------------------------------------------------------------------- */

*, *::after, *::before { box-sizing: border-box; }

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

html {
  overflow-y: scroll;
  -webkit-text-size-adjust: 100%;
}

body, form, p, ul, ol, li, table, h1, h2, h3, h4, h5, h6, figure, iframe, blockquote, dl, dt, dd { margin: 0; }

h1 a, h2 a, h3 a, h4 a, h5 a, h6 a { text-decoration: none; }
h1 a:hover, h2 a:hover, h3 a:hover, h4 a:hover, h5 a:hover, h6 a:hover { text-decoration: underline; }

ul {
  padding: 0;
  list-style: none;
}

img,
svg {
  display: block;
  max-width: 100%;
  height: auto;
}

a img { border: 0; }

input[type="search"] {
  -webkit-appearance: textfield;
  outline-offset: -2px;
}

input[type="search"]::-webkit-search-decoration,
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-results-button,
input[type="search"]::-webkit-search-results-decoration {
  display: none;
  -webkit-appearance: none;
}

button,
input[type="button"],
input[type="submit"],
input[type="text"],
input[type="search"],
input[type="password"],
input[type="tel"],
input[type="email"],
input[type="number"],
input[type="url"],
textarea {
  display: block;
  margin: 0;
  border-radius: 0;
  -webkit-appearance: none;
  outline: 0;
}

button,
[type="button"],
[type="reset"],
[type="submit"] {
  border: 0;
  cursor: pointer;
  -webkit-appearance: button;
}

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button { height: auto; }

::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit;
}

iframe {
  display: block;
  border: 0;
  box-sizing: content-box;
}

table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  border: 0;
}

embed, iframe, object { max-width: 100%; }
abbr { text-decoration: none; }
address { font-style: normal; }
sub, sup { font-size: 0.6em; }

#wpadminbar { position: fixed !important; }


/* ----------------------------------------------------------------------------------------- */
/* ----- Global styles and typography ------------------------------------------------------ */
/* ----------------------------------------------------------------------------------------- */

/* Fonts and font-sizes */

html, button, input, select, textarea {
  font-family: "Museo Sans", sans-serif;
  color: var(--color-text);
}

html {
  font-size: 20px;
  line-height: 1.47368421;
}

body,
.has-normal-font-size,
.has-regular-font-size,
button, input, select, textarea { font-size: 0.95rem; }

.text-small,
.has-small-font-size,
figcaption,
blockquote cite,
.nf-field-description,
.main-nav .sub-menu { font-size: 0.8rem; }

/* Text and link colors */

a,
.a,
.color,
.text-light a:hover,
.site-footer-dark.text-white a:hover,
figcaption a:hover,
.grid li a.inner:hover h2,
.grid li a.inner:hover h3,
.grid li a.inner:hover h4 { color: var(--color-link); }

a, .button, .grid li a.inner * { transition: color 0.15s, background 0.15s, border-color 0.15s, box-shadow 0.15s, transform 0.15s, filter 0.15s; }

.a {
  text-decoration: underline;
  cursor: pointer;
}

.text-light,
.text-light a,
figcaption,
figcaption a { color: var(--color-text-light); }

.text-white,
.text-white a { color: #fff; }

/* Headings */

.size-h1, .size-h2, .size-h3 { font-weight: bold; }

h1, .size-h1 {
  margin-bottom: 1.6rem;
  font-size: 2.4rem;
  line-height: 1.2;
}

h2, .size-h2 {
  margin-bottom: 1.2rem;
  font-size: 1.6rem;
  line-height: 1.3;
}

h3, .size-h3 {
  margin-bottom: 0.8rem;
  font-size: 1.2rem;
  line-height: 1.4;
}

h4, h5, h6, .size-h4 {
  margin-bottom: 0.4rem;
  font-size: 0.95rem;
  line-height: 1.4;
}

/* Headings: underlined */

h1,
.size-h1,
h2:not(.size-h3):not(.size-h4),
.size-h2 {
  position: relative;
  padding-bottom: 0.8rem;
}

h1::after,
.size-h1::after,
h2:not(.size-h3):not(.size-h4)::after,
.size-h2::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 6rem;
  height: 0.3rem;
  border-radius: 0.15rem;
  background: var(--color-link);
}

.text-center h1::after,
.text-center .size-h1::after,
.text-center h2:not(.size-h3):not(.size-h4)::after,
.text-center .size-h2::after,
h1.text-center::after,
.size-h1.text-center::after,
h2.text-center:not(.size-h3):not(.size-h4)::after,
.size-h2.text-center::after {
  left: 50%;
  margin-left: -3rem;
}

/* Spacing */

p,
.margin-bottom,
.formatted ul:not(.grid-inner),
.formatted ol,
.formatted table,
.formatted blockquote,
.formatted .wp-block-buttons,
div.nf-form-cont .nf-form-fields-required { margin-bottom: var(--length-m); }

.formatted :last-child:not(.wp-block-button):not(.nf-field-container):not(h1) { margin-bottom: 0 !important; }

p:empty { display: none; }

/* Lists */

.formatted ul:not(.grid-inner) li,
.main-nav .sub-menu .sub-menu li { padding-left: 1rem; }

.formatted ul:not(.grid-inner) li:not(:last-child),
.main-nav .sub-menu .sub-menu li:not(:last-child) { margin-bottom: 0.6rem; }

.formatted ul:not(.grid-inner) li::before,
.main-nav .sub-menu .sub-menu li::before,
.link-arrow::after {
  content: "";
  float: left;
  width: 0.4rem;
  height: 0.6rem;
  margin: 0.4rem 0 0 -1rem;
  background: url("images/arrow-white.svg") no-repeat 0 0;
  background-size: contain;
  filter: brightness(0) saturate(100%) invert(69%) sepia(62%) saturate(521%) hue-rotate(35deg) brightness(86%) contrast(93%);
}

.text-white:not(.site-footer-dark) .formatted ul:not(.grid-inner) li::before,
.text-white.formatted ul:not(.grid-inner) li::before,
.formatted .text-white ul:not(.grid-inner) li::before,
.text-white .link-arrow::after { filter: none; }

.formatted.text-small ul:not(.grid-inner) li,
.formatted .text-small ul:not(.grid-inner) li,
.has-small-font-size ul:not(.grid-inner) li,
.main-nav .sub-menu .sub-menu li { padding-left: 0.8rem; }

.formatted.text-small ul:not(.grid-inner) li::before,
.formatted .text-small ul:not(.grid-inner) li::before,
.has-small-font-size ul:not(.grid-inner) li::before,
.main-nav .sub-menu .sub-menu li::before,
.text-small .link-arrow::after,
.has-small-font-size .link-arrow::after {
  width: 0.3rem;
  height: 0.4rem;
}

.formatted.text-small ul:not(.grid-inner) li::before,
.formatted .text-small ul:not(.grid-inner) li::before,
.has-small-font-size ul:not(.grid-inner) li::before,
.main-nav .sub-menu .sub-menu li::before { margin: 0.4rem 0 0 -0.8rem; }

.formatted ol { padding: 0; }
.formatted ol li { margin: 0 0 0.6rem 1.5rem; }

/* Tables */

.wp-block-table thead { border: 0 none; }

td, th,
.wp-block-table td,
.wp-block-table th {
  padding: 0.5rem;
  vertical-align: top;
}

table:not(.table-alternating) td,
table:not(.table-alternating) th,
.wp-block-table table:not(.table-alternating) td,
.wp-block-table table:not(.table-alternating) th {
  border: 0 none;
  border-bottom: var(--border-width) solid var(--color-border);
}

th,
.wp-block-table th { text-align: left; }

th.has-text-align-center,
.wp-block-table th.has-text-align-center { text-align: center; }

th.has-text-align-right,
.wp-block-table th.has-text-align-right { text-align: right; }

table:not(.table-alternating) td:first-child,
table:not(.table-alternating) th:first-child,
.wp-block-table table:not(.table-alternating) td:first-child,
.wp-block-table table:not(.table-alternating) th:first-child { padding-left: 0; }

table:not(.table-alternating) td:last-child,
table:not(.table-alternating) th:last-child,
.wp-block-table table:not(.table-alternating) td:last-child,
.wp-block-table table:not(.table-alternating) th:last-child { padding-right: 0; }

table.table-alternating tr:nth-child(odd),
.wp-block-table table.table-alternating tr:nth-child(odd) { background: var(--color-light-gray); }

/* Labels */

.label {
  padding: 0.25rem 0.6rem;
  color: #fff;
  background: var(--color-text);
  font-weight: bold;
  line-height: 1.2rem;
}

.label.status-beschikbaar { background: var(--color-link); }

/* Utilities */

.no-wrap     { white-space: nowrap; }
.no-margin   { margin: 0 !important; }
.margin-top  { margin-top: var(--length-m); }
.text-center { text-align: center; }
.text-right  { text-align: right; }
.cleared     { clear: both; }

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

hr, .wp-block-separator {
  clear: both;
  height: 0;
  border: var(--border-width) solid var(--color-border);
  border-width: 0 0 var(--border-width) 0;
}

.infobox {
  padding: var(--length-s) var(--length-m);
  border-radius: var(--length-xs);
  background: var(--color-bg-light);
}

.infobox p { margin-bottom: var(--length-xs); }

.rating {
  width: 2.4rem;
  padding: 0.65rem 0.4rem 0.55rem 0.4rem;
  border-radius: 50%;
  font-weight: bold;
  font-size: 1rem;
  line-height: 1.2rem;
  text-align: center;
}


/* ----------------------------------------------------------------------------------------- */
/* ----- Common: Buttons and pagination ---------------------------------------------------- */
/* ----------------------------------------------------------------------------------------- */

.button,
.page-numbers a,
.page-numbers span.current,
.wp-block-button__link,
.wp-block-file a.wp-block-file__button,
.button-parent a {
  position: relative;
  display: inline-block;
  padding: var(--length-xs) var(--length-s);
  border: 2px solid transparent;
  border-radius: var(--border-radius-s);
  background: var(--color-button);
  font-size: 0.95rem;
  line-height: 1.2rem;
  font-weight: bold;
  color: #fff !important;
  text-decoration: none;
  text-align: center;
}

.button:hover,
.button-outline:hover,
.page-numbers a:hover,
.wp-block-button__link:hover,
.wp-block-file a.wp-block-file__button:hover,
.button-parent a:hover,
.button-outline-parent a:hover {
  background: var(--color-button-lighter) !important;
  box-shadow: 0px 4px 10px 3px rgba(134, 188, 37, 0.4);
}

.button:active,
.button[aria-expanded="true"],
.button-outline:active,
.page-numbers a:active,
.wp-block-button__link:active,
.wp-block-file a.wp-block-file__button:active,
.button-parent a:active,
.button-outline-parent a:active { background: var(--color-button-darker) !important; }

/* Outline buttons */

.button-outline,
.is-style-outline .wp-block-button__link,
.is-style-video-outline .wp-block-button__link,
.is-style-back-outline .wp-block-button__link,
.is-style-forward-outline .wp-block-button__link,
.page-numbers span.current,
.button-outline-parent a {
  background: transparent;
  border-color: var(--color-button);
  color: var(--color-button) !important;
}

.button-outline:hover,
.button-outline:active,
.is-style-outline .wp-block-button__link:hover,
.is-style-outline .wp-block-button__link:active,
.is-style-video-outline .wp-block-button__link:hover,
.is-style-video-outline .wp-block-button__link:active,
.is-style-back-outline .wp-block-button__link:hover,
.is-style-back-outline .wp-block-button__link:active,
.is-style-forward-outline .wp-block-button__link:hover,
.is-style-forward-outline .wp-block-button__link:active,
.button-outline-parent a:hover,
.button-outline-parent a:active {
  border-color: transparent;
  color: #fff !important;
}

/* Buttons with icons and text */

.button-icon-before::before,
.button-icon-after::after,
.button-icon-only::after,
.is-style-video .wp-block-button__link::before,
.is-style-video-outline .wp-block-button__link::before,
.is-style-back .wp-block-button__link::before,
.is-style-back-outline .wp-block-button__link::before,
.is-style-forward .wp-block-button__link::after,
.is-style-forward-outline .wp-block-button__link::after {
  content: "";
  display: inline-block;
  width: 1.2rem;
  height: 1.2rem;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  vertical-align: middle;
}

.button-icon-before::before,
.is-style-video .wp-block-button__link::before,
.is-style-video-outline .wp-block-button__link::before,
.is-style-back .wp-block-button__link::before,
.is-style-back-outline .wp-block-button__link::before { margin-right: 0.4rem; }

.button-icon-after::after,
.is-style-forward .wp-block-button__link::after,
.is-style-forward-outline .wp-block-button__link::after { margin-left: 0.4rem; }

/* Buttons with only an icon */

.button-icon-only {
  width: 2.4rem;
  height: 2.4rem;
  overflow: hidden;
  padding: 0;
  text-align: left;
  text-indent: -300px;
}

.button-icon-only::after {
  position: absolute;
  left: 25%;
  top: 25%;
}

/* Icons: Search (icon only) */

.button-search::after, /* White */
.button-search.button-outline:hover::after,
.button-search.button-outline:active::after { background-image: url("images/search-white.svg"); }

.button-search.button-outline::after /* Color */ { filter: brightness(0) saturate(100%) invert(69%) sepia(62%) saturate(521%) hue-rotate(35deg) brightness(86%) contrast(93%); }

/* Icons: Call (icon only) */

.button-call::after, /* White */
.button-call.button-outline:hover::after,
.button-call.button-outline:active::after { background-image: url("images/call-white.svg"); }

.button-call.button-outline::after /* Color */ { filter: brightness(0) saturate(100%) invert(69%) sepia(62%) saturate(521%) hue-rotate(35deg) brightness(86%) contrast(93%); }

/* Icons: Mobile navigation (icon only) */

.button-mobile-nav::after, /* White */
.button-mobile-nav.button-outline:hover::after,
.button-mobile-nav.button-outline:active::after,
.button-mobile-nav.button-outline[aria-expanded="true"]::after { background-image: url("images/menu-white.svg"); }

.button-mobile-nav.button-outline::after /* Color */ { filter: brightness(0) saturate(100%) invert(69%) sepia(62%) saturate(521%) hue-rotate(35deg) brightness(86%) contrast(93%); }

/* Icons: Video (icon before) */

.button-video::before, /* White */
.button-video.button-outline:hover::before,
.button-video.button-outline:active::before,
.is-style-video .wp-block-button__link::before,
.is-style-video-outline .wp-block-button__link:hover::before,
.is-style-video-outline .wp-block-button__link:active::before { background-image: url("images/video-white.svg"); }

.button-video.button-outline::before, /* Color */
.is-style-video-outline .wp-block-button__link::before { filter: brightness(0) saturate(100%) invert(69%) sepia(62%) saturate(521%) hue-rotate(35deg) brightness(86%) contrast(93%); }

/* Icons: Back (icon before) and Forward (icon after) */

.button-back::before, /* Size */
.is-style-back .wp-block-button__link::before,
.is-style-back-outline .wp-block-button__link::before,
.button-forward::after,
.is-style-forward .wp-block-button__link::after,
.is-style-forward-outline .wp-block-button__link::after {
  width: 0.45rem;
  height: 0.7rem;
  vertical-align: -3%;
}

.button-back::before, /* Rotation */
.is-style-back .wp-block-button__link::before,
.is-style-back-outline .wp-block-button__link::before { transform: scale(-1, 1); }

.button-back::before, /* Back: white */
.button-back.button-outline:hover::before,
.button-back.button-outline:active::before,
.is-style-back .wp-block-button__link::before,
.is-style-back-outline .wp-block-button__link:hover::before,
.is-style-back-outline .wp-block-button__link:active::before,
.button-back.button-outline.button-white::before,
.button-forward::after, /* Forward: white */
.button-forward.button-outline:hover::after,
.button-forward.button-outline:active::after,
.is-style-forward .wp-block-button__link::after,
.is-style-forward-outline .wp-block-button__link:hover::after,
.is-style-forward-outline .wp-block-button__link:active::after,
.button-forward.button-outline.button-white::after {
  background-image: url("images/arrow-white.svg");
  filter: none;
}

.button-back.button-outline::before, /* Back: color */ 
.is-style-back-outline .wp-block-button__link::before,
.button-back.button-white::before,
.button-back.button-white:hover::before,
.button-back.button-white:active::before,
.button-back.button-outline.button-white:hover::before,
.button-back.button-outline.button-white:active::before,
.button-forward.button-outline::after, /* Forward: color */
.is-style-forward-outline .wp-block-button__link::after,
.button-forward.button-white::after,
.button-forward.button-white:hover::after,
.button-forward.button-white:active::after,
.button-forward.button-outline.button-white:hover::after,
.button-forward.button-outline.button-white:active::after { filter: brightness(0) saturate(100%) invert(69%) sepia(62%) saturate(521%) hue-rotate(35deg) brightness(86%) contrast(93%); }

/* White buttons */

.button-white,
.button-white:hover,
.button-white:active,
.button-white.button-outline:hover,
.button-white.button-outline:active {
  border-color: #fff;
  background: #fff !important;
  color: var(--color-button) !important;
}

.button-white.button-outline {
  border-color: #fff;
  background: transparent !important;
  color: #fff !important;
}

/* Pagination */

.pagination,
.pagination ul.page-numbers {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}

.pagination {
  -webkit-justify-content: center;
  justify-content: center;
}

.page-numbers li { margin: 0 0.3rem 0.3rem 0.3rem; }

.page-numbers a,
.page-numbers span.current {
  padding-left: 0;
  padding-right: 0;
  width: 2.4rem;
  text-align: center;
}

.page-numbers .dots {
  display: block;
  padding: 0 0.2rem; 
  line-height: 2.4rem;
}

/* Link with arrow */

.link-arrow::after {
  float: none;
  display: inline-block;
  margin: 0 0 0 0.3rem;
}


/* ----------------------------------------------------------------------------------------- */
/* ----- Common: Forms --------------------------------------------------------------------- */
/* ----------------------------------------------------------------------------------------- */

/* Form fields */

input[type="text"],
input[type="search"],
input[type="password"],
input[type="tel"],
input[type="email"],
input[type="url"],
input[type="number"],
select,
textarea {
  width: 100%;
  padding: var(--length-xs);
  border: var(--border-width) solid var(--color-border-dark);
  border-radius: var(--border-radius-s);
  background-color: #fff;
  font-size: 0.95rem;
  line-height: 1.2rem;
  vertical-align: baseline;
  box-shadow: inset 0 0.1rem 0.1rem 0 rgba(0, 0, 0, 0.1);
}

input[type="text"]:focus,
input[type="search"]:focus,
input[type="password"]:focus,
input[type="tel"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="number"]:focus,
select:focus,
textarea:focus { border-color: var(--color-link); }

.nf-error .ninja-forms-field { border: var(--border-width) solid #d88888 !important; }

textarea {
  height: 7.5rem;
  overflow: auto;
}

/* Form layout */

div.nf-form-cont {
  padding: var(--length-m) var(--gutter-site);
  border-radius: var(--border-radius-m);
  background: var(--color-bg-light);
}

div.nf-form-cont .nf-field-container {
  position: relative;
  margin-bottom: var(--length-s);
}

div.nf-form-cont .submit-container {
  margin-bottom: 0;
  padding-top: 0.6rem;
}

div.nf-form-cont .field-wrap { display: block; }

.property-filters label,
div.nf-form-cont .nf-field-label {
  display: block;
  margin: 0 0 0.3rem 0;
  padding: 0;
  font-weight: bold;
  text-align: left;
}

div.nf-form-cont .nf-field-label label { display: block; }
div.nf-form-cont .list-container .nf-field-label { padding: 0; }

div.nf-form-cont .nf-form-fields-required,
div.nf-form-cont .ninja-forms-req-symbol { display: none; }

div.nf-form-cont .nf-field-element {
  display: block;
  width: auto;
}

div.nf-form-cont .submit-container { text-align: right; }

.formatted div.nf-form-cont .list-wrap ul { margin-bottom: 0; }

.formatted div.nf-form-cont .list-wrap ul li {
  padding: 0 !important;
  margin: 0 !important;
}

.formatted div.nf-form-cont .list-wrap ul li:not(:first-child) { margin-top: 0.4rem !important; }
.formatted div.nf-form-cont .list-wrap ul li::before { display: none; }
.formatted div.nf-form-cont .list-wrap input { margin-left: 0; }

div.nf-form-cont .nf-field-description { padding-left: 0.5rem; }
div.nf-form-cont .nf-field-description p { margin: 0.3rem 0 0 0; }
div.nf-form-cont .nf-field-description p::before { content: "↳ "; }

div.nf-form-cont .nf-after-field { margin-left: 0; }
div.nf-form-cont .nf-input-limit { margin-top: 0; }
div.nf-form-cont .nf-input-limit:not(:empty) { margin-top: 0.25rem; }

div.nf-form-cont .nf-error-wrap:not(:empty) {
  position: absolute;
  bottom: -1.25rem;
  right: -0.3rem;
  z-index: 100;
  background: #da3e3e;
  border-radius: 3px;
  padding: 0.15rem 0.4rem;
  font-size: 0.6rem;
  line-height: 0.9rem;
  color: #fff;
  white-space: nowrap;
}

div.nf-form-cont .nf-error-wrap:not(:empty)::after {
  content: "";
  position: absolute;
  left: 0.75rem;
  bottom: 1.2rem;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 4px 5px 4px;
  border-color: transparent transparent #da3e3e transparent;
}

div.nf-form-cont .nf-after-field .nf-error-msg {
  margin-right: 0;
  color: #fff;
}

.nf-form-hp {
  position: absolute;
  visibility: hidden;
}

/* Messages */

.message,
div.nf-form-cont .nf-error-field-errors,
.nf-response-msg:not(:empty) {
  position: relative;
  margin: 1rem 0 0 0;
  padding: var(--length-xs) var(--length-s);
  border: var(--border-width) solid #88c9f0;
  border-radius: var(--length-xs);
  background: #e6f6ff;
  color: inherit;
}

.message-success,
.nf-response-msg:not(:empty) {
  border-color: #9ae68b;
  background-color: #e7ffe3;
}

.message-error,
div.nf-form-cont .nf-error-field-errors {
  border-color: #efba00;
  background-color: #fff7db;
}


/* ----------------------------------------------------------------------------------------- */
/* ----- Layout: General ------------------------------------------------------------------- */
/* ----------------------------------------------------------------------------------------- */

/* Main block spacing */

.wide,
.wp-block-group {
  padding-left: var(--gutter-site);
  padding-right: var(--gutter-site);
}

.wide .wide,
.wide .wp-block-group {
  width: calc(100% + (var(--gutter-site) * 2));
  margin-left: calc(var(--gutter-site) * -1);
  margin-right: calc(var(--gutter-site) * -1);
}

.formatted > hr:not(:last-child),
.formatted > [class*="wp-block-"]:not(.wp-block-buttons):not(:last-child),
.post-list:not(:last-child) { margin-bottom: var(--length-l); }

.formatted > h2:not(:first-child),
.formatted > h3:not(:first-child),
.formatted > h3:not(:first-child),
.formatted > hr:not(:first-child),
.formatted > [class*="wp-block-"]:not(:first-child):not(.wp-block-buttons),
.grid:not(:first-child) { margin-top: var(--length-l); }

/* Main block sizes and positioning */

.content, .center { position: relative; }
.content { z-index: 20; }

.center,
.grid,
.post-list,
.pagination,
hr,
.formatted p,
.formatted h2,
.formatted h3,
.formatted h4,
.formatted h5,
.formatted h6,
.formatted ol,
.formatted ul:not(.grid-inner):not(.footer-nav),
.formatted .wp-block-image,
.formatted .wp-block-buttons,
.formatted .wp-block-file,
.formatted blockquote,
.formatted div.nf-form-cont,
.formatted .wp-block-columns,
.formatted .wp-block-table,
.formatted .wp-block-embed,
.message-no-results {
  max-width: 59rem;
  margin-left: auto;
  margin-right: auto;
}

.center-narrow,
.post-list,
.post-list + .pagination,
hr,
.formatted p,
.formatted h2,
.formatted h3,
.formatted h4,
.formatted h5,
.formatted h6,
.formatted ol,
.formatted ul:not(.grid-inner):not(.footer-nav),
.formatted .wp-block-buttons,
.formatted .wp-block-file,
.formatted blockquote,
.formatted div.nf-form-cont,
.formatted .wp-block-columns.is-style-narrow,
.formatted .wp-block-table.is-style-narrow,
.formatted .wp-block-embed.is-style-narrow,
.message-no-results { max-width: 42rem; }

.main-content {
  padding-top: var(--length-l);
  padding-bottom: var(--length-l);
}


/* ----------------------------------------------------------------------------------------- */
/* ----- Layout: Header -------------------------------------------------------------------- */
/* ----------------------------------------------------------------------------------------- */

.site-header {
  position: relative;
  background: #fff;
  box-shadow: 0 0.1rem 0.3rem 0 rgba(0, 0, 0, 0.1);
  z-index: 50;
}

.site-header .site-header-inner {
  height: 5.5rem;
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: flex-start;
  align-items: flex-start;
}

.site-header .logo {
  width: 18.6rem;
  height: 11.6rem;
  margin: 0 auto -6.1rem -2.1rem;
}

.site-header .header-right > nav {
  float: right;
  clear: right;
}

.button-mobile { display: none; }
.site-header .button { margin-left: 1.5rem; }

/* Top navigation */

.top-nav {
  margin-top: var(--length-xs);
  font-size: 0.9rem;
}

.top-nav > ul {
  display: -webkit-flex;
  display: flex;
}

.top-nav > ul > li:not(:first-child) { margin-left: var(--length-m); }

.top-nav > ul > li > a { text-decoration: none;}
.top-nav > ul > li > a:hover { text-decoration: underline; }

.top-nav > ul > li > a[href^="tel"]::before,
.top-nav > ul > li > a[href^="mailto"]::before {
  content: "";
  display: inline-block;
  width: 1rem;
  height: 1rem;
  margin-right: 0.4rem;
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: contain;
  vertical-align: -25%;
  filter: brightness(0) saturate(100%) invert(69%) sepia(62%) saturate(521%) hue-rotate(35deg) brightness(86%) contrast(93%);
}

.top-nav > ul > li > a[href^="tel"]::before {
  background-image: url("images/call-white.svg");
  vertical-align: -15%;
}

.top-nav > ul > li > a[href^="mailto"]::before { background-image: url("images/mail-white.svg"); }

/* Main navigation */

.nav-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  pointer-events: none;
  background: rgba(0, 0, 0, 0.85);
  opacity: 0;
  z-index: 40;
  will-change: opacity;
  transition: opacity 0.3s ease-in-out;
}

.nav-overlay.active {
  opacity: 0.8;
  pointer-events: auto;
}

.main-nav {
  position: absolute;
  bottom: 0;
  right: 0;
}

.main-nav > ul {
  display: -webkit-flex;
  display: flex;
}

.main-nav > ul > li { position: relative; }
.main-nav > ul > li:not(:first-child) { margin-left: var(--length-m); }

.main-nav > ul > li > a {
  display: block;
  padding: 1rem 0 0.8rem 0;
  font-size: 1rem;
  font-weight: bold;
  text-decoration: none;
  color: var(--color-dark-gray);
}

.main-nav > ul > li:hover > a,
.main-nav > ul > li.current-menu-item > a,
.main-nav > ul > li.current-page-ancestor > a,
.main-nav > ul > li.current-menu-ancestor > a { color: var(--color-link); }

.main-nav > ul > li.current-menu-item > a::before,
.main-nav > ul > li.current-page-ancestor > a::before,
.main-nav > ul > li.current-menu-ancestor > a::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 0.2rem;
  border-radius: 0.15rem 0.15rem 0 0;
  background: var(--color-dark-gray);
}

.main-nav > ul > li.menu-item-has-children > a::after {
  content: "";
  display: inline-block;
  width: 0.55rem;
  height: 0.35rem;
  margin-left: 0.4rem;
  background: url("images/arrow-down-green.svg") no-repeat 0 0;
  background-size: contain;
  vertical-align: middle;
}

/* Main navigation: sub menus */

.main-nav > ul > li > .sub-menu {
  position: absolute;
  left: 0;
  top: -40rem;
  width: 10rem;
  padding: 1rem 1rem 0.2rem 1rem;
  border-radius: var(--border-radius-s);
  background: #fff;
  box-shadow: 0 0.1rem 0.4rem 0 rgba(0, 0, 0, 0.2);
}

.main-nav > ul > li.current-menu-item > .sub-menu,
.main-nav > ul > li.current-menu-parent > .sub-menu,
.main-nav > ul > li.current-menu-ancestor > .sub-menu { border-top-left-radius: 0; }

.main-nav > ul > li:hover > .sub-menu { top: 100%; }

.main-nav > ul > li > .sub-menu > li { margin-bottom: 0.8rem; }

.main-nav .sub-menu a {
  color: var(--color-link);
  text-decoration: none;
}

.main-nav .sub-menu a:hover { text-decoration: underline; }

.main-nav > ul > li > .sub-menu > li > a { font-weight: bold; }

/* Main navigation: sub sub menus */

.main-nav .sub-menu .sub-menu { margin-top: 0.2rem; }
.main-nav .sub-menu .sub-menu li a { color: var(--color-text); }
.main-nav .sub-menu .sub-menu li a:hover { color: var(--color-link); }

/* Main navigation: large dropdown */

.main-nav > ul > li.has-large-dropdown > .sub-menu {
  width: 28rem;
  padding-left: var(--length-s);
  padding-right: var(--length-s);
}

.main-nav > ul > li.has-large-dropdown > .sub-menu > li {
  float: left;
  width: 13rem;
  padding: 0 var(--length-xs);
}

/* Mobile navigation (MMenu Light, see bottom) */

.site-header #mobile-nav { display: none; }


/* ----------------------------------------------------------------------------------------- */
/* ----- Layout: Title area ---------------------------------------------------------------- */
/* ----------------------------------------------------------------------------------------- */

.main-title {
  padding-top: var(--length-title-top);
  padding-bottom: var(--length-l);
  background: var(--color-link) url("images/pattern.png") no-repeat center center;
  background-size: cover;
}

.main-title h1 { padding-bottom: 0; }
.main-title:not(.intro-home):not(.intro-property) h1 { margin-bottom: 0; }
.main-title h1::after { display: none; }

.main-title .text > *:not(h1),
.main-title .text h1 span { text-shadow: 0 0 var(--length-s) rgba(0, 0, 0, 0.3); }

.breadcrumbs { margin-bottom: var(--length-xs); }
.breadcrumbs.levels-1 { display: none; }

.breadcrumbs a {
  font-weight: bold;
  text-decoration: none;
}

.breadcrumbs a:hover { text-decoration: underline; }

.breadcrumbs .sep {
  display: inline-block;
  width: 0.3rem;
  height: 0.45rem;
  overflow: hidden;
  margin: 0 0.2rem;
  background: url("images/arrow-white.svg") no-repeat 0 0;
  background-size: contain;
  text-indent: -300px;
  vertical-align: middle;
}


/* ----------------------------------------------------------------------------------------- */
/* ----- Layout: Footer -------------------------------------------------------------------- */
/* ----------------------------------------------------------------------------------------- */

.site-footer {
  border-top: var(--border-width) solid var(--color-border);
  background: #fff;
}

.site-footer-top-inner,
.site-footer-middle-inner,
.site-footer-bottom-inner {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}

.site-footer-top-inner {
  padding-top: var(--length-s);
  padding-bottom: var(--length-s);
  -webkit-align-items: center;
  align-items: center;
}

.site-footer-top .hallmarks,
.site-footer-top .social {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}

.site-footer-top .hallmarks li:not(:last-child),
.site-footer-top .social li:not(:last-child) { margin-right: 1.8rem; }

.site-footer-top .hallmarks li {
  margin-top: 0.3rem;
  margin-bottom: 0.3rem;
}

.site-footer-top .hallmarks li a { display: block; }

.site-footer-top .hallmarks li.item-nvm a   { width: 1.6rem; }
.site-footer-top .hallmarks li.item-nrvt a  { width: 1.9rem; }
.site-footer-top .hallmarks li.item-vc a    { width: 7.4rem; }
.site-footer-top .hallmarks li.item-nwwi a  { width: 5rem; }
.site-footer-top .hallmarks li.item-funda a { width: 5.8rem; }

.site-footer-top .social li a {
  position: relative;
  display: block;
  width: 2.8rem;
  height: 2.8rem;
  overflow: hidden;
  border-radius: 50%;
  background: var(--color-button);
  text-indent: -600px;
}

.site-footer-top .social li a:hover {
  background-color: var(--color-button-lighter);
  box-shadow: 0px 4px 10px 3px rgba(134, 188, 37, 0.4);
}

.site-footer-top .social li a:active { background-color: var(--color-button-darker); }

.site-footer-top .social li a::after {
  content: "";
  position: absolute;
  left: 0.65rem;
  top: 0.65rem;
  width: 1.5rem;
  height: 1.5rem;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

.site-footer-top .social li a[href*="facebook"]::after { background-image: url("images/facebook-white.svg"); }
.site-footer-top .social li a[href*="instagram"]::after { background-image: url("images/instagram-white.svg"); }
.site-footer-top .social li a[href*="linkedin"]::after { background-image: url("images/linkedin-white.svg"); }

.site-footer-dark {
  position: relative;
  background: #555;
}

.site-footer-dark::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  background: url("images/pattern.png") no-repeat center center;
  background-size: cover;
  opacity: 0.3;
}

.site-footer-middle,
.site-footer-bottom { position: relative; }

.site-footer-middle-inner { padding-top: var(--length-m); }

.site-footer-middle .widget {
  width: 30.508474576%;
  margin-bottom: var(--length-m);
}

.site-footer-middle .widget ul { margin: 0; }
.site-footer-middle .widget img { margin: 0 auto 0.8rem auto; }
.site-footer-middle .widget:nth-child(2) { text-align: center; }
.site-footer-middle .widget:nth-child(2) p:not(:last-child) { margin-bottom: var(--length-xs); }
.site-footer-middle .widget:nth-child(3) { text-align: right; }

.site-footer-middle .widget:nth-child(3) p {
  margin: 0;
  line-height: 2rem;
}

.site-footer-bottom { border-top: var(--border-width) solid rgba(255, 255, 255, 0.3); }
.site-footer-bottom-inner { padding: var(--length-s) 0; }

.site-footer-bottom,
.site-footer-bottom a { color: var(--color-border-dark); }

.site-footer-bottom a:hover { color: var(--color-link); }

.copyright {
  margin: 0;
  order: -1;
}

.copyright a { white-space: nowrap; }

.footer-nav li { display: inline; }

.footer-nav li:not(:first-child)::before {
  content: "|";
  padding: 0 0.4rem 0 0.3rem;
}

.footer-nav li a { white-space: nowrap; }


/* ----------------------------------------------------------------------------------------- */
/* ----- Grids / Lists / Archive pages ----------------------------------------------------- */
/* ----------------------------------------------------------------------------------------- */

.grid-inner {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 0 calc(var(--gutter-grids) * -1);
}

.grid .grid-item { padding: 0 var(--gutter-grids) calc(var(--gutter-grids) * 2) var(--gutter-grids); }

.grid-2-col .grid-item { width: 50%; }
.grid-3-col .grid-item { width: 33.33333333%; }
.grid-4-col .grid-item { width: 25%; }

.grid .grid-item .inner {
  position: relative;
  display: block;
  height: 100%;
  margin: 0 auto;
  border-radius: var(--border-radius-m);
  background: #fff;
  box-shadow: 0 0 2.5rem 0 rgba(0, 0, 0, 0.1);
  text-decoration: none;
  color: inherit;
}

.grid.grid-2-col .grid-item .inner { max-width: 570px; }
.grid.grid-3-col .grid-item .inner { max-width: 366px; }
.grid.grid-4-col .grid-item .inner { max-width: 265px; }

.grid .grid-item:not(.grid-item-brochure) img {
  width: 100%;
  border-radius: var(--border-radius-m) var(--border-radius-m) 0 0;
}

.grid .grid-item .text { padding: var(--length-s) var(--length-m); }
.grid .grid-item .text :last-child { margin-bottom: 0; }

/* Grid item labels */

.grid .thumbnail { position: relative; }

.grid .thumbnail .label {
  position: absolute;
  left: 0;
}

.grid .thumbnail .label.label-status {
  bottom: 0;
  border-radius: 0 var(--border-radius-m) 0 0;
}

.grid .thumbnail .label.label-open-house {
  top: 0;
  border-radius: var(--border-radius-m) 0 var(--border-radius-m) 0;
}

/* Properties grid */

.grid.grid-properties .grid-item:not(.item-sold) .inner { padding-bottom: 1.2rem; }
.grid.grid-properties .grid-item .size-h3 { margin-bottom: 0 !important; }
.grid.grid-properties .grid-item .item-details-short { margin-bottom: 0.6rem; }

.grid.grid-properties .grid-item .item-details-short span:not(:last-child)::after {
  content: " |";
  margin: 0 0.2rem 0 0.2rem;
  color: var(--color-border);
}

.grid.grid-properties .grid-item .price {
  position: absolute;
  left: var(--length-m);
  bottom: var(--length-s);
}

/* Image gallery grid */

.formatted > .grid-gallery + h2,
.formatted > .grid-gallery + h3,
.formatted > .grid-gallery + h3,
.formatted > .grid-gallery + [class*="wp-block-"],
.formatted > .grid-gallery + .grid { margin-top: 0; }

.grid.grid-gallery .grid-item .inner::after {
  content: "";
  position: absolute;
  right: 0.3rem;
  bottom: 0.3rem;
  width: 1.2rem;
  height: 1.2rem;
  border-radius: 50%;
  background: var(--color-link) url("images/plus-white.svg") no-repeat center center;
  background-size: 33.33333333%;
}

.grid.grid-gallery .grid-item img,
.grid.grid-child-pages-image .grid-item img {
  max-height: 170px;
  margin: 0 auto;
  border-radius: var(--border-radius-s);
}

.grid.grid-gallery .grid-item-brochure span {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 0.3rem var(--length-s);
  border-radius: 0 0 var(--border-radius-m) var(--border-radius-m);
  background: var(--color-text);
  line-height: 1.2rem;
}

/* Sub pages grid, image style */

.grid.is-style-image .grid-item .text {
  position: absolute;
  left: 0;
  bottom: 0;
  right: 0;
  padding: var(--length-s) var(--length-m);
  border-radius: 0 0 0.3rem 0.3rem;
  background: linear-gradient(to bottom, rgba(0,0,0,0) 0%, rgba(0,0,0,0.66) 100%);
  text-align: left;
  color: #fff;
}

.grid.is-style-image .grid-item .text h3 {
  margin: 0;
  color: #fff !important;
}

.grid.is-style-image .grid-item .text .excerpt { display: none; }

/* Notices grid */

.grid.grid-notices .grid-item .inner { border-left: var(--border-radius-s) solid var(--color-link); }
.grid.grid-notices .grid-item .text { padding: var(--length-m); }

/* Reviews grid */

.grid.grid-reviews .grid-item .text {
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: flex-start;
  align-items: flex-start;
}

.grid.grid-reviews .grid-item .text .rating {
  flex: 0 0 2.4rem;
  margin: 0 var(--length-s) var(--length-s) 0;
  background: var(--color-link);
  color: #fff;
}

.grid.grid-reviews .grid-item .text p:not(:last-child) { margin-bottom: 1rem; }

/* Empty grids / lists */

.message-no-results {
  margin-bottom: var(--length-l);
  text-align: center;
}


/* ----------------------------------------------------------------------------------------- */
/* ----- Properties: Archive --------------------------------------------------------------- */
/* ----------------------------------------------------------------------------------------- */

.main-title.intro-properties-archive { padding-bottom: 4rem; }

.main-title.intro-properties-archive .link-clear {
  margin-left: 1rem;
  font-size: 0.95rem;
  text-decoration: underline;
}

.main-title.intro-properties-archive .link-clear::before {
  content: "";
  display: inline-block;
  width: 0.7rem;
  height: 0.7rem;
  overflow: hidden;
  margin-right: 0.4rem;
  background: url("data:image/svg+xml,images/cross-white.svg") no-repeat 0 0;
  background-size: contain;
}

.property-filters {
  position: relative;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  max-width: 38.6rem;
  margin-top: -3rem;
  padding: var(--length-s) calc(var(--length-m) + 3.5rem) var(--length-s) var(--length-m);
  border-radius: var(--border-radius-m);
  background: #fff;
  box-shadow: 0px 0.5rem 2.5rem 0px rgba(0, 0, 0, 0.1);
}

.property-filters .search-field { width: 48%; }
.property-filters .search-field label { line-height: 1.2rem; }
.property-filters .search-field select { height: 2.4rem; }

.property-filters .button {
  position: absolute;
  right: var(--length-m);
  bottom: var(--length-s);
}


/* ----------------------------------------------------------------------------------------- */
/* ----- Properties: Single ---------------------------------------------------------------- */
/* ----------------------------------------------------------------------------------------- */

.main-title.intro-property .main-title-inner,
.main-title.intro-property .property-details-short,
.property-price-and-buttons .property-price-and-buttons-inner,
.property-price-and-buttons .property-price-bar,
.property-price-and-buttons .property-media-buttons,
.property-details-wrapper {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}

.main-title.intro-property .main-title-inner > *,
.property-price-and-buttons .property-price-and-buttons-inner > *,
.property-details-wrapper > * { width: 50% }

.main-title.intro-property .main-title-inner > .text,
.property-price-and-buttons .property-price-bar,
.property-details-wrapper .property-description { padding-right: var(--length-m); }

.price-rent-suffix { font-weight: normal; }

.property-details-wrapper .property-specs { padding-left: var(--length-m); }

/* Intro: short details, main image, price and media buttons */

.main-title.intro-property { padding-bottom: 0; }

.main-title.intro-property h1 { font-size: 2.2rem; }

.main-title.intro-property h1 span {
  display: block;
  margin-top: 0.3rem;
  font-size: 0.95rem;
  line-height: 1.47368421;
  font-weight: normal;
}

.main-title.intro-property .property-details-short { padding-bottom: calc(var(--length-m) - 0.25rem); }

.main-title.intro-property .property-details-short dt,
.main-title.intro-property .property-details-short dd { padding: 0.25rem 0; }

.main-title.intro-property .property-details-short dt {
  width: 35%;
  padding-right: var(--length-xs);
  font-weight: bold;
}

.main-title.intro-property .property-details-short dd { width: 65%; }

.main-title.intro-property .main-image {
  position: relative;
  display: block;
  margin-top: calc(var(--length-title-top) * -1);
  background: var(--color-dark-gray);
  text-decoration: none;
}

.main-title.intro-property .main-image .label {
  position: absolute;
  right: 0.8rem;
  bottom: 0.8rem;
  margin: 0;
  border-radius: var(--border-radius-m);
}

.property-price-and-buttons .property-price-bar {
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  padding-top: calc(var(--length-s) + 0.2rem);
}

.property-price-and-buttons .property-price-bar .price { font-size: 1.2rem; }

.property-price-and-buttons .property-media-buttons {
  padding: var(--length-s) var(--length-m);
  border-radius: 0 0 var(--border-radius-m) var(--border-radius-m);
  background: var(--color-dark-gray);
}

.property-price-and-buttons .property-media-buttons li:not(:last-child) { margin-right: var(--length-m); }

.property-price-and-buttons .property-media-buttons li a {
  display: block;
  font-weight: bold;
  text-decoration: none;
  line-height: 1.6rem;
}

.property-price-and-buttons .property-media-buttons li a:hover { text-decoration: underline; }

.property-price-and-buttons .property-media-buttons li a::before {
  content: "";
  display: inline-block;
  width: 1.2rem;
  height: 1.2rem;
  margin-right: 0.4rem;
  background: no-repeat 0 center;
  background-size: contain;
  vertical-align: -20%;
}

.property-price-and-buttons .property-media-buttons li.item-images a::before    { background-image: url("images/camera-green.svg"); }
.property-price-and-buttons .property-media-buttons li.item-video a::before     { background-image: url("images/play-green.svg"); }
.property-price-and-buttons .property-media-buttons li.item-floorplan a::before { background-image: url("images/floorplan-green.svg"); }

/* Full description and specs */

.property-details-wrapper { margin-bottom: var(--length-l); }

.property-description-wrapper {
  position: relative;
  overflow: hidden;
  margin-bottom: 10px;
}

.property-description-wrapper:not(.open):after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 150px;
  background: linear-gradient(rgba(255, 255, 255, 0), rgba(255, 255, 255, 1));
}

.property-description-wrapper.open { height: auto !important; }

.property-description-toggle {
  padding: 0;
  background: none;
  color: var(--color-link);
  text-decoration: underline;
}

.property-description-toggle:before {
  content: "+";
  display: inline-block;
  margin-right: 0.25rem;
  font-weight: bold;
}

/* Contact banner */

.banner-contact {
  position: relative;
  max-width: 59rem;
  margin: 5rem auto 0 auto;
  padding: 1.2rem 24.5rem 1.2rem 1.5rem;
  border-radius: var(--border-radius-l);
  background-image: url("images/pattern.png"), linear-gradient(to right, #7ca320 0%, #86bc25 100%);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  text-shadow: 0 0 var(--length-s) rgba(0, 0, 0, 0.3);
}

.banner-contact::after {
  content: "";
  position: absolute;
  right: -0.6rem;
  bottom: 0;
  width: 19.1rem;
  height: 15.25rem;
  background: url("images/cta-25-2.png") no-repeat right bottom;
  background-size: contain;
}

.banner-contact :is(h2, p, ul) { max-width: none !important; }

.banner-contact a { font-weight: bold; }


/* ----------------------------------------------------------------------------------------- */
/* ----- Content pages and blocks ---------------------------------------------------------- */
/* ----------------------------------------------------------------------------------------- */

/* Columns */

.wp-block-column:not(:first-child) { margin-top: var(--length-m); }

@media (min-width: 599px) {
  .wp-block-column:not(:first-child):not(:only-child) { margin: 0 0 0 var(--length-l) !important; }
}

@media (min-width: 600px) and (max-width: 781px) {
  .wp-block-column:not(:only-child) {
    flex-basis: calc(50% - calc(var(--length-l) / 2)) !important;
    flex-grow: 0;
  }
}

/* Buttons */

.wp-block-buttons .wp-block-button { margin: 0.4rem 0.5rem 0.4rem 0; }

.formatted .button + .button,
.grid.grid-notices .grid-item .text .button + .button { margin-left: var(--length-xs); }

/* Images */

.wp-block-image img { margin: 0 auto; }
.wp-block-image:not(.no-rounding) img { border-radius: var(--border-radius-m); }

.formatted .wp-block-image .alignleft,
.formatted .wp-block-image .alignright {
  display: block;
  float: none;
  margin: 0;
}

.wp-block-image figcaption {
  margin: var(--length-xs) 0 0 0;
  text-align: center;
}

/* Embeds */

.formatted .wp-block-embed {
  border-radius: var(--border-radius-s);
  overflow: hidden;
}

/* Blockquote */

blockquote {
  padding: var(--length-s) var(--length-m);
  border-left: var(--border-radius-s) solid var(--color-link);
  border-radius: var(--border-radius-s);
  background: var(--color-bg-light);
}

blockquote p { margin: 0; }
blockquote p:not(:last-child) { margin-bottom: var(--length-xs); }

blockquote cite {
  font-weight: bold;
  font-style: normal;
}

/* File download */

.wp-block-file {
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: flex-start;
  align-items: flex-start;
  -webkit-justify-content: space-between;
  justify-content: space-between;
}

.wp-block-file a:not([class]) {
  font-weight: bold;
  text-decoration: none;
  color: var(--color-text-light);
}

.wp-block-file a:not([class]):hover {
  text-decoration: underline;
  color: var(--color-link);
}

/* Group */

.wp-block-group.is-style-background {
  padding-top: var(--length-l);
  padding-bottom: var(--length-l);
  background-color: var(--color-bg-light);
}


/* ----------------------------------------------------------------------------------------- */
/* ----- Home page ------------------------------------------------------------------------- */
/* ----------------------------------------------------------------------------------------- */

.home-content-wrapper {
  position: relative;
  max-width: 1920px;
  margin: 0 auto;
  border-bottom: var(--border-width) solid var(--color-border);
}

/* Intro */

.main-title.intro-home {
  position: relative;
  z-index: 50;
  padding-bottom: 7rem;
}

.home-image-right {
  position: absolute;
  right: 0;
  top: 0;
  width: 41.04166666%;
}

.main-title.intro-home .text { width: calc(15vw + 38%); }

.main-title.intro-home .text ul {
  -webkit-perspective: 1;
  column-count: 2;
  column-gap: 1rem;
}

.main-title.intro-home .text li { overflow: hidden; }

/* Home navigation */

.nav-home {
  position: relative;
  z-index: 70;
}

.nav-home-inner {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  max-width: 46rem;
  margin: -4rem auto 0 auto;
  border-radius: var(--border-radius-l);
  background: #fff;
  box-shadow: 0px 0.5rem 2.5rem 0px rgba(0, 0, 0, 0.1);
}

.nav-home-inner li {
  position: relative;
  width: 25%;
  text-align: center;
}

.nav-home-inner li:not(:last-child)::after {
  content: "";
  display: block;
  position: absolute;
  right: 0;
  top: 1rem;
  bottom: 1rem;
  width: 0;
  border-left: var(--border-width) solid var(--color-border);
}

.nav-home-inner li a {
  position: relative;
  display: block;
  padding: 1.6rem 0.6rem;
  color: var(--color-text);
  text-decoration: none;
  line-height: 1.5rem;
  transition: transform 0.2s, box-shadow 0.2s;
  border-radius: var(--border-radius-m);
  background: #fff;
}

.nav-home-inner li a:hover {
  transform: scale(1.2);
  box-shadow: 0px 0.5rem 2.5rem 0px rgba(0, 0, 0, 0.2);
  z-index: 10;
  color: var(--color-link);
  font-weight: bold;
}

.nav-home-inner li a::before {
  content: "";
  display: block;
  width: 2.8rem;
  height: 2.8rem;
  margin: 0 auto 0.5rem auto;
  background-repeat: no-repeat;
  background-position: 0 center;
  background-size: contain;
}

.nav-home-inner li a[href*="/verkoop/"]::before { background-image: url("images/sale-green.svg"); }
.nav-home-inner li a[href*="/aankoop/"]::before { background-image: url("images/buy-green.svg"); }
.nav-home-inner li a[href*="/taxatie/"]::before { background-image: url("images/taxation-green.svg"); }
.nav-home-inner li a[href*="/woningen/"]::before { background-image: url("images/houses-green.svg"); width: 3rem; }

/* Middle text */

.home-middle {
  min-height: 20rem;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: flex-end;
  justify-content: flex-end;
  -webkit-align-items: center;
  align-items: center;
}

.home-middle .text {
  width: calc(15vw + 42%);
}

.home-image-left {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 36.77083333%;
  z-index: 60;
}

/* Recent properties */

.has-button-right { position: relative; }

.has-button-right > h2 { padding-right: 10rem; }

.has-button-right > .button {
  position: absolute;
  right: 0;
  top: 0;
}

.properties-home { margin-bottom: var(--length-xl); }

.properties-home li:nth-child(4) { display: none; }

/* Reviews */

.reviews-home.has-button-right h2 { padding-right: 13.5rem; }

.review-summary {
  position: relative;
  margin-bottom: var(--length-l);
  padding: var(--length-s) var(--length-m);
  border-radius: var(--border-radius-l);
  background: var(--color-link);
  line-height: 2.4rem;
  font-weight: bold;
}

.review-summary .rating {
  display: inline-block;
  vertical-align: middle;
  margin-left: 0.3rem;
  background: #fff;
  color: var(--color-link);
}


/* ----------------------------------------------------------------------------------------- */
/* ----- Responsive design (media queries) ------------------------------------------------- */
/* ----------------------------------------------------------------------------------------- */

@-ms-viewport { width: device-width; }

@media screen and (max-width: 1299px) {
  /* Typography */
  
  html { font-size: 18px; }
}

@media screen and (max-width: 1119px) {
  /* Typography */
  
  h1, .size-h1 {
    margin-bottom: 1.4rem;
    font-size: 2rem;
  }
  
  h2, .size-h2 {
    margin-bottom: 1rem;
    font-size: 1.33333333rem;
    line-height: 1.2;
  }
}

@media screen and (max-width: 999px) {
  :root {
    --length-title-top: 3rem;
    --gutter-grids: 0.6rem;
  }
  
  /* Header */
  
  .site-header .site-header-inner { height: 4.4rem; }
  
  .site-header .logo {
    width: 12rem;
    height: 7.48rem;
    margin: 0 auto 0 -1rem;
  }
  
  .main-nav,
  .top-nav { display: none; }
  
  .header-right {
    display: -webkit-flex;
    display: flex;
    margin-top: 1rem;
  }
  
  .button-mobile { display: block; }
  .site-header .button { margin-left: 1rem; }
  
  /* Home page */
  
  .main-title.intro-home { padding-bottom: 6rem; }
  
  .home-image-right { width: 260px; }
  
  .main-title.intro-home .text { width: calc(100% - 260px); }
  
  .main-title.intro-home .text .title-home-wrapper {
    display: -webkit-flex;
    display: flex;
    align-items: center;
    min-height: 9rem;
    margin-bottom: 1.4rem;
  }
  
  .main-title.intro-home .text .title-home-wrapper h1 { margin-bottom: 0; }
  
  .main-title.intro-home .text ul {
    max-width: none;
    width: calc(100% + 260px);
  }
}

@media screen and (max-width: 939px) {
  /* Footer */
  
  .site-footer-bottom-inner { display: block; }
  
  .copyright,
  .footer-nav { text-align: center; }
  
  .copyright { margin-bottom: 0; }
  .footer-nav { margin-bottom: var(--length-m); }
}

@media screen and (max-width: 909px) {
  /* Footer */
  
  .site-footer-middle .widget { width: calc(50% - 1rem); }
  
  .site-footer-middle .widget:nth-child(2) {
    width: 100%;
    order: 99;
  }
  
  .site-footer-middle .widget:nth-child(2) .textwidget {
    position: relative;
    padding-left: calc(50% + 1rem);
  }
  
  .site-footer-middle .widget:nth-child(2) .textwidget p,
  .site-footer-middle .widget:nth-child(3) { text-align: left; }
  
  .site-footer-middle .widget:nth-child(2) .textwidget p:first-child {
    position: absolute;
    left: 0;
    top: 0;
    margin: 0;
    width: calc(50% - 1rem);
  }
  
  .site-footer-middle .widget img {
    max-width: 10rem;
    margin: 0;
  }
}

@media screen and (max-width: 859px) {
  /* Footer */
  
  .site-footer-top .hallmarks,
  .site-footer-top .social { width: 100%; }
  
  .site-footer-top .hallmarks { margin-bottom: var(--length-l); }
}

@media screen and (min-width: 783px) and (max-width: 869px) {
  /* Properties: Single */
  
  .main-title.intro-property .property-details-short,
  .main-title.intro-property .property-details-short .property-area-short-label,
  .main-title.intro-property .property-details-short .property-area-short-value { display: block; }
  
  .main-title.intro-property .property-details-short dt,
  .main-title.intro-property .property-details-short dd { display: none; }
  
  .main-title.intro-property .property-details-short .property-area-short-label,
  .main-title.intro-property .property-details-short .property-area-short-value {
    width: auto;
    padding: 0;
  }
}

@media screen and (max-width: 782px) {
  /* Grids */
  
  .grid-3-col .grid-item { width: 50%; }
  .grid-4-col .grid-item { width: 33.33333333%; }
  
  /* Properties: Single */
  
  .main-title.intro-property .main-title-inner > *,
  .property-price-and-buttons .property-price-and-buttons-inner > *,
  .property-details-wrapper > * { width: 100%; }
  
  .main-title.intro-property .main-title-inner > .text,
  .property-price-and-buttons .property-price-bar,
  .property-details-wrapper .property-description { padding-right: 0; }
    
  .main-title.intro-property .main-image {
    order: -1;
    width: calc(100% + (2 * var(--gutter-site)));
    margin: calc(var(--length-title-top) * -1) calc(var(--gutter-site) * -1) var(--length-l) calc(var(--gutter-site) * -1);
  }
  
  .property-price-and-buttons .property-price-and-buttons-inner { display: block; }
  
  .property-price-and-buttons .property-price-bar { margin-bottom: var(--length-m); }
  
  .property-price-and-buttons .property-media-buttons {
    border-radius: var(--border-radius-m);
    background: var(--color-light-gray);
  }
  
  .property-price-and-buttons .property-media-buttons li a {
    color: var(--color-text);
    font-weight: normal;
  }
  
  .property-price-and-buttons .property-media-buttons li a:hover { color: var(--color-link); }
  
  .property-details-wrapper .property-specs {
    padding-left: 0;
    margin-top: var(--length-l);
  }
  
  /* Home page */
  
  .properties-home li:nth-child(4) { display: block; }
}

@media screen and (max-width: 759px) {
  /* Call to Action */
  
  .banner-contact {
    margin-top: 2rem;
    padding-right: calc(40% + 1rem);
  }
  
  .banner-contact::after {
    width: 40%;
    height: 10.6rem;
  }
}

@media screen and (max-width: 729px) {
  /* Home page */
  
  .grid-reviews .grid-item { width: 100%; }
}

@media screen and (max-width: 699px) {
  :root {
    --length-s:  0.75rem;
    --length-m:  1.2rem;
    --length-l:  1.5rem;
    --length-xl: 2rem;
  }
}

@media screen and (max-width: 639px) {
  /* Home page */
  
  .main-title.intro-home { padding-top: 64%; }
  
  .home-image-right {
    width: calc(100% + 1px);
    height: 0;
    overflow: hidden;
    padding-bottom: 60%;
  }
  
  .home-image-right mask,
  .home-image-left { display: none; }
  
  .main-title.intro-home .text,
  .main-title.intro-home .text ul { width: 100%; }
  
  .main-title.intro-home .text .title-home-wrapper { min-height: 0; }
  
  .main-title.intro-home .text ul { columns: auto; }
  
  .nav-home-inner li { width: 50%; }
  .nav-home-inner li a:hover { transform: scale(1.1); }
  
  .home-middle { min-height: 0; }
  .home-middle .text { width: 100%; }
  
  .review-summary {
    padding-right: calc(var(--length-m) + 3.5rem);
    line-height: 1.2rem;
    min-height: 3.8rem;
  }
  
  .review-summary .rating {
    position: absolute;
    right: var(--length-m);
    top: var(--length-s);
    margin: 0;
  }
}

@media screen and (max-width: 589px) {
  /* Footer */
  
  .site-footer-middle .widget { width: 100%; }
  
  .site-footer-middle .widget:nth-child(2) .textwidget { padding: 0; }
  
  .site-footer-middle .widget:nth-child(2) .textwidget p:first-child {
    position: static;
    width: 100%;
    margin-bottom: 1rem;
  }
  
  .copyright,
  .footer-nav { text-align: left; }
}

@media screen and (max-width: 509px) {
  /* Properties: archive */
  
  .property-filters .search-field { width: 100%; }
  
  .property-filters .search-field:not(:last-of-type) { margin-bottom: 1rem; }
}

@media screen and (max-width: 489px) {
  /* Call to Action */
  
  .banner-contact { padding-right: 1.5rem; }
  .banner-contact::after { display: none; }
}

@media screen and (max-width: 479px) {
  /* Typography */
  
  h1, .size-h1 { font-size: 1.8rem; }
  h2, .size-h2 { font-size: 1.2rem; }
  
  /* Grids */
  
  .grid-2-col .grid-item,
  .grid-3-col .grid-item { width: 100%; }
  
  .grid-4-col .grid-item { width: 50%; }
  
  /* Home page */
  
  .properties-home li:nth-child(4) { display: none; }
  
  .reviews-home.has-button-right h2 { padding-right: 0; }
  
  .reviews-home.has-button-right > .button {
    position: static;
    width: 100%;
  }
}

@media screen and (max-width: 399px) {
  :root {
    --gutter-site: 1rem;
  }
  
  /* Home page */
  
  .properties-home.has-button-right h2 { padding-right: 0; }
  
  .properties-home.has-button-right > .button {
    position: static;
    width: 100%;
  }
}

@media screen and (max-width: 359px) {
  /* Typography */
  
  html {
    font-size: 16px;
    line-height: 1.5;
  }
}


/* ----------------------------------------------------------------------------------------- */
/* ----- Clears ---------------------------------------------------------------------------- */
/* ----------------------------------------------------------------------------------------- */

.clear::after {
  content: ".";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
  overflow: hidden;
}


/* ----------------------------------------------------------------------------------------- */
/* ----- Minified third party CSS ---------------------------------------------------------- */
/* ----------------------------------------------------------------------------------------- */

/* Swipebox v1.3.0 - github.com/brutaldesign/swipebox */
html.swipebox-html.swipebox-touch{overflow:hidden!important}#swipebox-overlay img{border:none!important}#swipebox-overlay{width:100%;height:100%;position:fixed;top:0;left:0;z-index:99999!important;overflow:hidden;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}#swipebox-container{position:relative;width:100%;height:100%}#swipebox-slider{-webkit-transition:-webkit-transform .4s ease;transition:transform .4s ease;height:100%;left:0;top:0;width:100%;white-space:nowrap;position:absolute;display:none;cursor:pointer}#swipebox-slider .slide{height:100%;width:100%;line-height:1px;text-align:center;display:inline-block}#swipebox-slider .slide::before{content:"";display:inline-block;height:50%;width:1px;margin-right:-1px}#swipebox-slider .slide .swipebox-inline-container,#swipebox-slider .slide .swipebox-video-container,#swipebox-slider .slide img{display:inline-block;max-height:100%;max-width:100%;margin:0;padding:0;width:auto;height:auto;vertical-align:middle}#swipebox-slider .slide .swipebox-video-container{background:0 0;max-width:1140px;max-height:100%;width:100%;padding:5%;-webkit-box-sizing:border-box;box-sizing:border-box}#swipebox-slider .slide .swipebox-video-container .swipebox-video{width:100%;height:0;padding-bottom:56.25%;overflow:hidden;position:relative}#swipebox-slider .slide .swipebox-video-container .swipebox-video iframe{width:100%!important;height:100%!important;position:absolute;top:0;left:0}#swipebox-slider .slide-loading{background:url(images/swipebox/loader.gif) center center no-repeat}#swipebox-bottom-bar,#swipebox-top-bar{-webkit-transition:.5s;transition:.5s;position:absolute;left:0;z-index:999;height:50px;width:100%}#swipebox-bottom-bar{bottom:-50px}#swipebox-bottom-bar.visible-bars{-webkit-transform:translate3d(0,-50px,0);transform:translate3d(0,-50px,0)}#swipebox-top-bar{top:-50px}#swipebox-top-bar.visible-bars{-webkit-transform:translate3d(0,50px,0);transform:translate3d(0,50px,0)}#swipebox-title{display:block;width:100%;text-align:center}#swipebox-close,#swipebox-next,#swipebox-prev{background-image:url(images/swipebox/icons.png);background-repeat:no-repeat;border:none!important;text-decoration:none!important;cursor:pointer;width:50px;height:50px;top:0}#swipebox-arrows{display:block;margin:0 auto;width:100%;height:50px}#swipebox-prev{background-position:-32px 13px;float:left}#swipebox-next{background-position:-78px 13px;float:right}#swipebox-close{top:0;right:0;position:absolute;z-index:9999;background-position:15px 12px}.swipebox-no-close-button #swipebox-close{display:none}#swipebox-next.disabled,#swipebox-prev.disabled{opacity:.3}.swipebox-no-touch #swipebox-overlay.rightSpring #swipebox-slider{-webkit-animation:rightSpring .3s;animation:rightSpring .3s}.swipebox-no-touch #swipebox-overlay.leftSpring #swipebox-slider{-webkit-animation:leftSpring .3s;animation:leftSpring .3s}.swipebox-touch #swipebox-container::after,.swipebox-touch #swipebox-container::before{-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transition:all .3s ease;transition:all .3s ease;content:' ';position:absolute;z-index:999;top:0;height:100%;width:20px;opacity:0}.swipebox-touch #swipebox-container::before{left:0;-webkit-box-shadow:inset 10px 0 10px -8px #656565;box-shadow:inset 10px 0 10px -8px #656565}.swipebox-touch #swipebox-container::after{right:0;-webkit-box-shadow:inset -10px 0 10px -8px #656565;box-shadow:inset -10px 0 10px -8px #656565}.swipebox-touch #swipebox-overlay.leftSpringTouch #swipebox-container::before,.swipebox-touch #swipebox-overlay.rightSpringTouch #swipebox-container::after{opacity:1}@-webkit-keyframes rightSpring{0%{left:0}50%{left:-30px}100%{left:0}}@keyframes rightSpring{0%{left:0}50%{left:-30px}100%{left:0}}@-webkit-keyframes leftSpring{0%{left:0}50%{left:30px}100%{left:0}}@keyframes leftSpring{0%{left:0}50%{left:30px}100%{left:0}}@media screen and (min-width:800px){#swipebox-close{right:10px}#swipebox-arrows{width:92%;max-width:800px}}#swipebox-overlay{background:rgba(0, 0, 0, 0.85)}#swipebox-bottom-bar,#swipebox-top-bar{text-shadow:1px 1px 1px #000;background:#000;opacity:.95}#swipebox-top-bar{color:#fff!important;font-size:15px;line-height:43px;font-family:Helvetica,Arial,sans-serif}

div#swipebox-bottom-bar {
  bottom: 0 !important;
  transform: none !important;
}

/* Mmenu Light */

:root{--mm-ocd-width:80%;--mm-ocd-min-width:200px;--mm-ocd-max-width:440px}body.mm-ocd-opened{overflow-y:hidden;-ms-scroll-chaining:none;overscroll-behavior:none}.mm-ocd{position:fixed;top:0;right:0;bottom:100%;left:0;z-index:9999;overflow:hidden;-ms-scroll-chaining:none;overscroll-behavior:contain;background:rgba(0,0,0,0);-webkit-transition-property:bottom,background-color;-o-transition-property:bottom,background-color;transition-property:bottom,background-color;-webkit-transition-duration:0s,.3s;-o-transition-duration:0s,.3s;transition-duration:0s,.3s;-webkit-transition-timing-function:ease;-o-transition-timing-function:ease;transition-timing-function:ease;-webkit-transition-delay:.45s,.15s;-o-transition-delay:.45s,.15s;transition-delay:.45s,.15s}.mm-ocd--open{bottom:0;background:rgba(0,0,0,.25);-webkit-transition-delay:0s;-o-transition-delay:0s;transition-delay:0s}.mm-ocd__content{position:absolute;top:0;bottom:0;z-index:2;width:80%;width:var(--mm-ocd-width);min-width:200px;min-width:var(--mm-ocd-min-width);max-width:440px;max-width:var(--mm-ocd-max-width);background:#fff;-webkit-transition-property:-webkit-transform;transition-property:-webkit-transform;-o-transition-property:transform;transition-property:transform;transition-property:transform,-webkit-transform;-webkit-transition-duration:.3s;-o-transition-duration:.3s;transition-duration:.3s;-webkit-transition-timing-function:ease;-o-transition-timing-function:ease;transition-timing-function:ease}.mm-ocd--left .mm-ocd__content{left:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}.mm-ocd--right .mm-ocd__content{right:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}.mm-ocd--open .mm-ocd__content{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.mm-ocd__backdrop{position:absolute;top:0;bottom:0;z-index:3;width:calc(100% - 80%);width:calc(100% - var(--mm-ocd-width));min-width:calc(100% - 440px);min-width:calc(100% - var(--mm-ocd-max-width));max-width:calc(100% - 200px);max-width:calc(100% - var(--mm-ocd-min-width));background:rgba(3,2,1,0)}.mm-ocd--left .mm-ocd__backdrop{right:0}.mm-ocd--right .mm-ocd__backdrop{left:0}.mm-spn,.mm-spn a,.mm-spn li,.mm-spn span,.mm-spn ul{display:block;padding:0;margin:0;-webkit-box-sizing:border-box;box-sizing:border-box}:root{--mm-spn-item-height:50px;--mm-spn-item-indent:20px;--mm-spn-line-height:24px}.mm-spn{width:100%;height:100%;-webkit-tap-highlight-color:transparent;-webkit-overflow-scrolling:touch;overflow:hidden;-webkit-clip-path:inset(0 0 0 0);clip-path:inset(0 0 0 0);-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)}.mm-spn ul{-webkit-overflow-scrolling:touch;position:fixed;top:0;left:100%;bottom:0;z-index:2;width:130%;padding-right:30%;line-height:24px;line-height:var(--mm-spn-line-height);overflow:visible;overflow-y:auto;background:inherit;-webkit-transition:left .3s ease 0s;-o-transition:left .3s ease 0s;transition:left .3s ease 0s;cursor:default}.mm-spn ul:after{content:"";display:block;height:50px;height:var(--mm-spn-item-height)}.mm-spn>ul{left:0}.mm-spn ul.mm-spn--open{left:0}.mm-spn ul.mm-spn--parent{left:-30%;overflow-y:hidden}.mm-spn li{position:relative;background:inherit;cursor:pointer}.mm-spn li:before{content:"";display:block;position:absolute;top:25px;top:calc(var(--mm-spn-item-height)/ 2);right:25px;right:calc(var(--mm-spn-item-height)/ 2);z-index:0;width:10px;height:10px;border-top:2px solid;border-right:2px solid;-webkit-transform:rotate(45deg) translate(0,-50%);-ms-transform:rotate(45deg) translate(0,-50%);transform:rotate(45deg) translate(0,-50%);opacity:.4}.mm-spn li:after{content:"";display:block;margin-left:20px;margin-left:var(--mm-spn-item-indent);border-top:1px solid;opacity:.15}.mm-spn a,.mm-spn span{position:relative;z-index:1;padding:13px 20px;padding:calc((var(--mm-spn-item-height) - var(--mm-spn-line-height))/ 2) var(--mm-spn-item-indent)}.mm-spn a{background:inherit;color:inherit;text-decoration:none}.mm-spn a:not(:last-child){width:calc(100% - 50px);width:calc(100% - var(--mm-spn-item-height))}.mm-spn a:not(:last-child):after{content:"";display:block;position:absolute;top:0;right:0;bottom:0;border-right:1px solid;opacity:.15}.mm-spn span{background:0 0}.mm-spn.mm-spn--navbar{cursor:pointer}.mm-spn.mm-spn--navbar:before{content:'';display:block;position:absolute;top:25px;top:calc(var(--mm-spn-item-height)/ 2);left:20px;left:var(--mm-spn-item-indent);width:10px;height:10px;margin-top:2px;border-top:2px solid;border-left:2px solid;-webkit-transform:rotate(-45deg) translate(50%,-50%);-ms-transform:rotate(-45deg) translate(50%,-50%);transform:rotate(-45deg) translate(50%,-50%);opacity:.4}.mm-spn.mm-spn--navbar.mm-spn--main{cursor:default}.mm-spn.mm-spn--navbar.mm-spn--main:before{content:none;display:none}.mm-spn.mm-spn--navbar:after{content:attr(data-mm-spn-title);display:block;position:absolute;top:0;left:0;right:0;height:50px;height:var(--mm-spn-item-height);padding:0 40px;padding:0 calc(var(--mm-spn-item-indent) * 2);line-height:50px;line-height:var(--mm-spn-item-height);opacity:.4;text-align:center;overflow:hidden;white-space:nowrap;-o-text-overflow:ellipsis;text-overflow:ellipsis}.mm-spn.mm-spn--navbar.mm-spn--main:after{padding-left:20px;padding-left:var(--mm-spn-item-indent)}.mm-spn.mm-spn--navbar ul{top:51px;top:calc(var(--mm-spn-item-height) + 1px)}.mm-spn.mm-spn--navbar ul:before{content:'';display:block;position:fixed;top:inherit;z-index:2;width:100%;border-top:1px solid currentColor;opacity:.15}.mm-spn.mm-spn--light{color:#444;background:#f3f3f3}.mm-spn.mm-spn--dark{color:#ddd;background:#333}.mm-spn.mm-spn--vertical{overflow-y:auto}.mm-spn.mm-spn--vertical ul{width:100%;padding-right:0;position:static}.mm-spn.mm-spn--vertical ul ul{display:none;padding-left:20px;padding-left:var(--mm-spn-item-indent)}.mm-spn.mm-spn--vertical ul ul:after{height:25px;height:calc(var(--mm-spn-item-height)/ 2)}.mm-spn.mm-spn--vertical ul.mm-spn--open{display:block}.mm-spn.mm-spn--vertical li.mm-spn--open:before{-webkit-transform:rotate(135deg) translate(-50%,0);-ms-transform:rotate(135deg) translate(-50%,0);transform:rotate(135deg) translate(-50%,0)}.mm-spn.mm-spn--vertical ul ul li:last-child:after{content:none;display:none}

.admin-bar .mm-ocd { top: 32px; }

@media screen and (max-width: 782px) {
  .admin-bar .mm-ocd { top: 46px; }
}

.mm-ocd--open { background: rgba(0, 0, 0, 0.85); }

.mm-spn a,
.mm-spn span {
  padding-left: 20px;
  font-weight: bold;
}

.mm-spn a:not(:last-child)::after {
  opacity: 1;
  border-color: var(--color-border);
}

.mm-spn li::after { margin-left: 0; }

.mm-spn li::before,
.mm-spn.mm-spn--navbar::before {
  opacity: 1;
  border-color: var(--color-link);
}

.mm-spn a { color: var(--color-link); }