/**
 * Swiper 11.1.4
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * https://swiperjs.com
 *
 * Copyright 2014-2024 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: May 30, 2024
 */

@font-face{font-family:swiper-icons;src:url('data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA');font-weight:400;font-style:normal}:root{--swiper-theme-color:#007aff}:host{position:relative;display:block;margin-left:auto;margin-right:auto;z-index:1}.swiper{margin-left:auto;margin-right:auto;position:relative;overflow:hidden;list-style:none;padding:0;z-index:1;display:block}.swiper-vertical>.swiper-wrapper{flex-direction:column}.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:flex;transition-property:transform;transition-timing-function:var(--swiper-wrapper-transition-timing-function,initial);box-sizing:content-box}.swiper-android .swiper-slide,.swiper-ios .swiper-slide,.swiper-wrapper{transform:translate3d(0px,0,0)}.swiper-horizontal{touch-action:pan-y}.swiper-vertical{touch-action:pan-x}.swiper-slide{flex-shrink:0;width:100%;height:100%;position:relative;transition-property:transform;display:block}.swiper-slide-invisible-blank{visibility:hidden}.swiper-autoheight,.swiper-autoheight .swiper-slide{height:auto}.swiper-autoheight .swiper-wrapper{align-items:flex-start;transition-property:transform,height}.swiper-backface-hidden .swiper-slide{transform:translateZ(0);backface-visibility:hidden}.swiper-3d.swiper-css-mode .swiper-wrapper{perspective:1200px}.swiper-3d .swiper-wrapper{transform-style:preserve-3d}.swiper-3d{perspective:1200px}.swiper-3d .swiper-cube-shadow,.swiper-3d .swiper-slide{transform-style:preserve-3d}.swiper-css-mode>.swiper-wrapper{overflow:auto;scrollbar-width:none;-ms-overflow-style:none}.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar{display:none}.swiper-css-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:start start}.swiper-css-mode.swiper-horizontal>.swiper-wrapper{scroll-snap-type:x mandatory}.swiper-css-mode.swiper-vertical>.swiper-wrapper{scroll-snap-type:y mandatory}.swiper-css-mode.swiper-free-mode>.swiper-wrapper{scroll-snap-type:none}.swiper-css-mode.swiper-free-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:none}.swiper-css-mode.swiper-centered>.swiper-wrapper::before{content:'';flex-shrink:0;order:9999}.swiper-css-mode.swiper-centered>.swiper-wrapper>.swiper-slide{scroll-snap-align:center center;scroll-snap-stop:always}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper::before{height:100%;min-height:1px;width:var(--swiper-centered-offset-after)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper::before{width:100%;min-width:1px;height:var(--swiper-centered-offset-after)}.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-bottom,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:10}.swiper-3d .swiper-slide-shadow{background:rgba(0,0,0,.15)}.swiper-3d .swiper-slide-shadow-left{background-image:linear-gradient(to left,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-3d .swiper-slide-shadow-right{background-image:linear-gradient(to right,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-3d .swiper-slide-shadow-top{background-image:linear-gradient(to top,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-3d .swiper-slide-shadow-bottom{background-image:linear-gradient(to bottom,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-lazy-preloader{width:42px;height:42px;position:absolute;left:50%;top:50%;margin-left:-21px;margin-top:-21px;z-index:10;transform-origin:50%;box-sizing:border-box;border:4px solid var(--swiper-preloader-color,var(--swiper-theme-color));border-radius:50%;border-top-color:transparent}.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader,.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader{animation:swiper-preloader-spin 1s infinite linear}.swiper-lazy-preloader-white{--swiper-preloader-color:#fff}.swiper-lazy-preloader-black{--swiper-preloader-color:#000}@keyframes swiper-preloader-spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}
.swiper-fade.swiper-free-mode .swiper-slide{transition-timing-function:ease-out}.swiper-fade .swiper-slide{pointer-events:none;transition-property:opacity}.swiper-fade .swiper-slide .swiper-slide{pointer-events:none}.swiper-fade .swiper-slide-active{pointer-events:auto}.swiper-fade .swiper-slide-active .swiper-slide-active{pointer-events:auto}
.swiper-pagination{position:absolute;text-align:center;transition:.3s opacity;transform:translate3d(0,0,0);z-index:10}.swiper-pagination.swiper-pagination-hidden{opacity:0}.swiper-pagination-disabled>.swiper-pagination,.swiper-pagination.swiper-pagination-disabled{display:none!important}.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-bullets.swiper-pagination-horizontal,.swiper-pagination-custom,.swiper-pagination-fraction{bottom:var(--swiper-pagination-bottom,8px);top:var(--swiper-pagination-top,auto);left:0;width:100%}.swiper-pagination-bullets-dynamic{overflow:hidden;font-size:0}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transform:scale(.33);position:relative}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev{transform:scale(.33)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next{transform:scale(.33)}.swiper-pagination-bullet{width:var(--swiper-pagination-bullet-width,var(--swiper-pagination-bullet-size,8px));height:var(--swiper-pagination-bullet-height,var(--swiper-pagination-bullet-size,8px));display:inline-block;border-radius:var(--swiper-pagination-bullet-border-radius,50%);background:var(--swiper-pagination-bullet-inactive-color,#000);opacity:var(--swiper-pagination-bullet-inactive-opacity, .2)}button.swiper-pagination-bullet{border:none;margin:0;padding:0;box-shadow:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.swiper-pagination-clickable .swiper-pagination-bullet{cursor:pointer}.swiper-pagination-bullet:only-child{display:none!important}.swiper-pagination-bullet-active{opacity:var(--swiper-pagination-bullet-opacity, 1);background:var(--swiper-pagination-color,var(--swiper-theme-color))}.swiper-pagination-vertical.swiper-pagination-bullets,.swiper-vertical>.swiper-pagination-bullets{right:var(--swiper-pagination-right,8px);left:var(--swiper-pagination-left,auto);top:50%;transform:translate3d(0px,-50%,0)}.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-vertical>.swiper-pagination-bullets .swiper-pagination-bullet{margin:var(--swiper-pagination-bullet-vertical-gap,6px) 0;display:block}.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{top:50%;transform:translateY(-50%);width:8px}.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{display:inline-block;transition:.2s transform,.2s top}.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet{margin:0 var(--swiper-pagination-bullet-horizontal-gap,4px)}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{left:50%;transform:translateX(-50%);white-space:nowrap}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s left}.swiper-horizontal.swiper-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s right}.swiper-pagination-fraction{color:var(--swiper-pagination-fraction-color,inherit)}.swiper-pagination-progressbar{background:var(--swiper-pagination-progressbar-bg-color,rgba(0,0,0,.25));position:absolute}.swiper-pagination-progressbar .swiper-pagination-progressbar-fill{background:var(--swiper-pagination-color,var(--swiper-theme-color));position:absolute;left:0;top:0;width:100%;height:100%;transform:scale(0);transform-origin:left top}.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill{transform-origin:right top}.swiper-horizontal>.swiper-pagination-progressbar,.swiper-pagination-progressbar.swiper-pagination-horizontal,.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite,.swiper-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite{width:100%;height:var(--swiper-pagination-progressbar-size,4px);left:0;top:0}.swiper-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-vertical,.swiper-vertical>.swiper-pagination-progressbar{width:var(--swiper-pagination-progressbar-size,4px);height:100%;left:0;top:0}.swiper-pagination-lock{display:none}
:root{--swiper-navigation-size:44px}.swiper-button-next,.swiper-button-prev{position:absolute;top:var(--swiper-navigation-top-offset,50%);width:calc(var(--swiper-navigation-size)/ 44 * 27);height:var(--swiper-navigation-size);margin-top:calc(0px - (var(--swiper-navigation-size)/ 2));z-index:10;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--swiper-navigation-color,var(--swiper-theme-color))}.swiper-button-next.swiper-button-disabled,.swiper-button-prev.swiper-button-disabled{opacity:.35;cursor:auto;pointer-events:none}.swiper-button-next.swiper-button-hidden,.swiper-button-prev.swiper-button-hidden{opacity:0;cursor:auto;pointer-events:none}.swiper-navigation-disabled .swiper-button-next,.swiper-navigation-disabled .swiper-button-prev{display:none!important}.swiper-button-next svg,.swiper-button-prev svg{width:100%;height:100%;-o-object-fit:contain;object-fit:contain;transform-origin:center}.swiper-rtl .swiper-button-next svg,.swiper-rtl .swiper-button-prev svg{transform:rotate(180deg)}.swiper-button-prev,.swiper-rtl .swiper-button-next{left:var(--swiper-navigation-sides-offset,10px);right:auto}.swiper-button-next,.swiper-rtl .swiper-button-prev{right:var(--swiper-navigation-sides-offset,10px);left:auto}.swiper-button-lock{display:none}.swiper-button-next:after,.swiper-button-prev:after{font-family:swiper-icons;font-size:var(--swiper-navigation-size);text-transform:none!important;letter-spacing:0;font-variant:initial;line-height:1}.swiper-button-prev:after,.swiper-rtl .swiper-button-next:after{content:'prev'}.swiper-button-next,.swiper-rtl .swiper-button-prev{right:var(--swiper-navigation-sides-offset,10px);left:auto}.swiper-button-next:after,.swiper-rtl .swiper-button-prev:after{content:'next'}
.swiper-zoom-container{width:100%;height:100%;display:flex;justify-content:center;align-items:center;text-align:center}.swiper-zoom-container>canvas,.swiper-zoom-container>img,.swiper-zoom-container>svg{max-width:100%;max-height:100%;-o-object-fit:contain;object-fit:contain}.swiper-slide-zoomed{cursor:move;touch-action:none}
/* Reset
 * from Kirby @ https://github.com/getkirby/starterkit/blob/master/assets/css/main.css
-------------------------------------------------- */
*,
*:before,
*:after {
  margin: 0;
  padding: 0;
  border: 0;
  box-sizing: border-box;
}

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

* {
  outline: none;
}

a,
a:focus {
  text-decoration: none;
  color: inherit;
}

a {
  outline: none;
}

a[href^=tel] {
  border: none;
}

img {
  display: block;
  max-width: 100%;
  width: 100%;
}

li {
  list-style-type: none;
}

input {
  border-radius: 0;
}

html {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  scroll-behavior: smooth;
}

.iframe-wrapper {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
}
.iframe-wrapper iframe {
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  max-width: 100%;
  width: 100%;
  height: 100%;
}

@-moz-document url-prefix() {
  fieldset {
    display: table-cell;
  }
}
html {
  font-size: 10px;
}

body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

button {
  border-radius: 0;
  border: none;
  margin: 0;
  padding: 0;
  width: auto;
  overflow: visible;
  background: transparent;
  /* inherit font & color from ancestor */
  color: inherit;
  font: inherit;
  /* Normalize `line-height`. Cannot be changed from `normal` in Firefox 4+. */
  line-height: normal;
  /* Corrects font smoothing for webkit */
  -webkit-font-smoothing: inherit;
  -moz-osx-font-smoothing: inherit;
  /* Corrects inability to style clickable `input` types in iOS */
  -webkit-appearance: none;
}

address {
  font-style: normal;
}

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

/* Breakpoints
* mainly from http://callmenick.com/post/maintainable-responsive-web-design-with-sass    
* usage: 
    @include break(0, sm) { // break 
    @include break(sm) { // use this for min width declarations
    @include break(sm, lg) { // use this for min and max-width declarations
-------------------------------------------------- */
/*
    Dimensions for easier responsive styling
*/
:root {
  --gutterInt: 20;
  --columnInt: 70;
  --pageWidthInt: 375;
  --gutter: calc(
    var(--gutterInt) / var(--pageWidthInt) * 100vw
  );
  --column: calc(
    var(--columnInt) / var(--pageWidthInt) * 100vw
  );
}
@media screen and (min-width: 48em) {
  :root {
    --gutterInt: 40;
    --columnInt: 65;
    --pageWidthInt: 1366;
  }
}

/* Gutters & Columns
-------------------------------------------------- */
.core {
  padding: 0 var(--gutter);
}
@media screen and (min-width: 48em) {
  .core {
    padding: 0 var(--column);
  }
}

/* Grays
-------------------------------------------------- */
.dark-green {
  color: hsl(140, 60%, 12.5%);
}

:root {
  --dark-green: hsl(140, 60%, 12.5%);
}

.dark-green-bg {
  background-color: hsl(140, 60%, 12.5%);
}

.dark-green-text {
  color: hsl(140, 60%, 12.5%);
}

.dark-green-arrows button {
  cursor: url("/assets/images/left-dark-green.png"), default;
}
.dark-green-arrows button + button {
  cursor: url("/assets/images/right-dark-green.png"), default;
}

.brick-red {
  color: hsl(7.92, 50.48%, 41.18%);
}

:root {
  --brick-red: hsl(7.92, 50.48%, 41.18%);
}

.brick-red-bg {
  background-color: hsl(7.92, 50.48%, 41.18%);
}

.brick-red-text {
  color: hsl(7.92, 50.48%, 41.18%);
}

.brick-red-arrows button {
  cursor: url("/assets/images/left-brick-red.png"), default;
}
.brick-red-arrows button + button {
  cursor: url("/assets/images/right-brick-red.png"), default;
}

.light-brick-red {
  color: hsl(7.92, 50.48%, 70.59%);
}

:root {
  --light-brick-red: hsl(7.92, 50.48%, 70.59%);
}

.light-brick-red-bg {
  background-color: hsl(7.92, 50.48%, 70.59%);
}

.light-brick-red-text {
  color: hsl(7.92, 50.48%, 70.59%);
}

.light-brick-red-arrows button {
  cursor: url("/assets/images/left-light-brick-red.png"), default;
}
.light-brick-red-arrows button + button {
  cursor: url("/assets/images/right-light-brick-red.png"), default;
}

.medium-gray {
  color: hsl(228, 5.93%, 50.39%);
}

:root {
  --medium-gray: hsl(228, 5.93%, 50.39%);
}

.medium-gray-bg {
  background-color: hsl(228, 5.93%, 50.39%);
}

.medium-gray-text {
  color: hsl(228, 5.93%, 50.39%);
}

.medium-gray-arrows button {
  cursor: url("/assets/images/left-medium-gray.png"), default;
}
.medium-gray-arrows button + button {
  cursor: url("/assets/images/right-medium-gray.png"), default;
}

.light-medium-gray {
  color: hsl(228, 5.93%, 75.39%);
}

:root {
  --light-medium-gray: hsl(228, 5.93%, 75.39%);
}

.light-medium-gray-bg {
  background-color: hsl(228, 5.93%, 75.39%);
}

.light-medium-gray-text {
  color: hsl(228, 5.93%, 75.39%);
}

.light-medium-gray-arrows button {
  cursor: url("/assets/images/left-light-medium-gray.png"), default;
}
.light-medium-gray-arrows button + button {
  cursor: url("/assets/images/right-light-medium-gray.png"), default;
}

.tan {
  color: hsl(24, 37%, 56%);
}

:root {
  --tan: hsl(24, 37%, 56%);
}

.tan-bg {
  background-color: hsl(24, 37%, 56%);
}

.tan-text {
  color: hsl(24, 37%, 56%);
}

.tan-arrows button {
  cursor: url("/assets/images/left-tan.png"), default;
}
.tan-arrows button + button {
  cursor: url("/assets/images/right-tan.png"), default;
}

.light-green {
  color: #d2d9ba;
}

:root {
  --light-green: #d2d9ba;
}

.light-green-bg {
  background-color: #d2d9ba;
}

.light-green-text {
  color: #d2d9ba;
}

.light-green-arrows button {
  cursor: url("/assets/images/left-light-green.png"), default;
}
.light-green-arrows button + button {
  cursor: url("/assets/images/right-light-green.png"), default;
}

.lighter-green {
  color: #d0daba;
}

:root {
  --lighter-green: #d0daba;
}

.lighter-green-bg {
  background-color: #d0daba;
}

.lighter-green-text {
  color: #d0daba;
}

.lighter-green-arrows button {
  cursor: url("/assets/images/left-lighter-green.png"), default;
}
.lighter-green-arrows button + button {
  cursor: url("/assets/images/right-lighter-green.png"), default;
}

.light-gray {
  color: hsl(0, 0%, 90.59%);
}

:root {
  --light-gray: hsl(0, 0%, 90.59%);
}

.light-gray-bg {
  background-color: hsl(0, 0%, 90.59%);
}

.light-gray-text {
  color: hsl(0, 0%, 90.59%);
}

.light-gray-arrows button {
  cursor: url("/assets/images/left-light-gray.png"), default;
}
.light-gray-arrows button + button {
  cursor: url("/assets/images/right-light-gray.png"), default;
}

.lighter-gray {
  color: #d2d3d4;
}

:root {
  --lighter-gray: #d2d3d4;
}

.lighter-gray-bg {
  background-color: #d2d3d4;
}

.lighter-gray-text {
  color: #d2d3d4;
}

.lighter-gray-arrows button {
  cursor: url("/assets/images/left-lighter-gray.png"), default;
}
.lighter-gray-arrows button + button {
  cursor: url("/assets/images/right-lighter-gray.png"), default;
}

.dark-gray {
  color: hsl(180, 20%, 12.5%);
}

:root {
  --dark-gray: hsl(180, 20%, 12.5%);
}

.dark-gray-bg {
  background-color: hsl(180, 20%, 12.5%);
}

.dark-gray-text {
  color: hsl(180, 20%, 12.5%);
}

.dark-gray-arrows button {
  cursor: url("/assets/images/left-dark-gray.png"), default;
}
.dark-gray-arrows button + button {
  cursor: url("/assets/images/right-dark-gray.png"), default;
}

.navy-blue {
  color: #1c3a57;
}

:root {
  --navy-blue: #1c3a57;
}

.navy-blue-bg {
  background-color: #1c3a57;
}

.navy-blue-text {
  color: #1c3a57;
}

.navy-blue-arrows button {
  cursor: url("/assets/images/left-navy-blue.png"), default;
}
.navy-blue-arrows button + button {
  cursor: url("/assets/images/right-navy-blue.png"), default;
}

.mobile-navy-blue {
  color: #17324d;
}

:root {
  --mobile-navy-blue: #17324d;
}

.mobile-navy-blue-bg {
  background-color: #17324d;
}

.mobile-navy-blue-text {
  color: #17324d;
}

.mobile-navy-blue-arrows button {
  cursor: url("/assets/images/left-mobile-navy-blue.png"), default;
}
.mobile-navy-blue-arrows button + button {
  cursor: url("/assets/images/right-mobile-navy-blue.png"), default;
}

.logo {
  color: hsl(345, 6.06%, 12.94%);
}

:root {
  --logo: hsl(345, 6.06%, 12.94%);
}

.logo-bg {
  background-color: hsl(345, 6.06%, 12.94%);
}

.logo-text {
  color: hsl(345, 6.06%, 12.94%);
}

.logo-arrows button {
  cursor: url("/assets/images/left-logo.png"), default;
}
.logo-arrows button + button {
  cursor: url("/assets/images/right-logo.png"), default;
}

:root {
  --more-dark-gray: #464949;
  --ivory: #f7f5f0;
}

/* Accessibility
-------------------------------------------------- */
.news-swiper-arrow:focus-visible {
  outline: 5px solid #818285;
}

.floor-plans-details-title, .floor-plans-section .section-intro, .intro-text, .contact-intro {
  font-family: "Besley", serif;
}

.infobox-content-inner, .footer-credits, .smaller-nav-link, label, .swiper-pagination, .floor-plan-text, .floor-plan-title, .cta-button,
.intro-link-wrapper a,
.popup-link, .footer-address,
.footer-email-link, .footer-developer-logo-wrapper, .nav-footer, .nav-link, .contact-message, .indicates-required, .submit-button, .form-input,
textarea, .info-page-intro-section, .map-intro, .popup-text, .contact-links a, .intro-sub, .section-title {
  font-family: "europa", sans-serif;
}

/* Fonts
* underlying structure from https://www.smashingmagazine.com/2015/06/responsive-typography-with-sass-maps/
-------------------------------------------------- */
/* build sizes
-------------------------------------------------- */
/* build font sizes
* start with style, then greek size group name, then two sizes for mobile and desktop
-------------------------------------------------- */
.intro-text, .contact-intro {
  font-size: 6.7741935484vw;
  line-height: 1.1;
}
@media screen and (min-width: 48em) {
  .intro-text, .contact-intro {
    font-size: 3.513909224vw;
  }
}
.floor-plans-details-title, .floor-plans-section .section-intro {
  font-size: 4.8387096774vw;
  line-height: 1.1;
}
@media screen and (min-width: 48em) {
  .floor-plans-details-title, .floor-plans-section .section-intro {
    font-size: 2.1229868228vw;
  }
}
.section-title {
  font-size: 7.7419354839vw;
  line-height: 1.1;
}
@media screen and (min-width: 48em) {
  .section-title {
    font-size: 3.8067349927vw;
  }
}
.intro-sub {
  font-size: 5.8064516129vw;
  line-height: 1.1;
}
@media screen and (min-width: 48em) {
  .intro-sub {
    font-size: 2.635431918vw;
  }
}
.info-page-intro-section, .map-intro, .popup-text, .contact-links a {
  font-size: 5.8064516129vw;
  line-height: 1.1;
}
@media screen and (min-width: 48em) {
  .info-page-intro-section, .map-intro, .popup-text, .contact-links a {
    font-size: 2.3426061493vw;
  }
}
.swiper-pagination, .floor-plan-text, .floor-plan-title, .cta-button,
.intro-link-wrapper a,
.popup-link, .footer-address,
.footer-email-link, .footer-developer-logo-wrapper, .nav-footer, .nav-link, .contact-message, .indicates-required, .submit-button, .form-input,
textarea {
  font-size: 4.1935483871vw;
  line-height: 1.1;
}
@media screen and (min-width: 48em) {
  .swiper-pagination, .floor-plan-text, .floor-plan-title, .cta-button,
  .intro-link-wrapper a,
  .popup-link, .footer-address,
  .footer-email-link, .footer-developer-logo-wrapper, .nav-footer, .nav-link, .contact-message, .indicates-required, .submit-button, .form-input,
  textarea {
    font-size: 1.756954612vw;
  }
}
.footer-credits, .smaller-nav-link, label {
  font-size: 3.5483870968vw;
  line-height: 1.1;
}
@media screen and (min-width: 48em) {
  .footer-credits, .smaller-nav-link, label {
    font-size: 1.317715959vw;
  }
}
.infobox-content-inner {
  font-size: 2.2580645161vw;
  line-height: 1.1;
}
@media screen and (min-width: 48em) {
  .infobox-content-inner {
    font-size: 1.0248901903vw;
  }
}
/*
    Better grid system
    2024
*/
.grid {
  display: grid;
  -moz-column-gap: var(--gutter);
       column-gap: var(--gutter);
  grid-template-columns: repeat(4, 1fr);
}
@media screen and (min-width: 48em) {
  .grid {
    grid-template-columns: repeat(12, 1fr);
  }
}

.contact-section {
  padding: var(--gutter) 0;
  background-color: var(--tan);
  background-image: url("/assets/images/backgrounds/brick-red-viv.png");
  background-size: 5%;
}
@media screen and (min-width: 48em) {
  .contact-section {
    background-size: 5%;
  }
}
@media screen and (min-width: 48em) {
  .contact-section {
    padding: var(--gutter) var(--column) calc(var(--gutter) * 2);
  }
}
.contact-section .section-title {
  color: hsl(140, 60%, 12.5%);
}
.contact-section .input-fieldset {
  margin-bottom: calc(var(--gutter) / 2);
}
@media screen and (min-width: 48em) {
  .contact-section .input-fieldset {
    margin-bottom: calc(var(--gutter) / 2);
  }
}
.contact-section .textarea-fieldset {
  display: flex;
}

.contact-inner {
  padding: 0 0 var(--gutter);
}
@media screen and (min-width: 48em) {
  .contact-inner {
    padding: 0 calc(var(--gutter) * 1 + var(--column) * 2);
    margin: 0 0;
  }
}

@media screen and (min-width: 48em) {
  .contact-wrapper {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    -moz-column-gap: var(--gutter);
         column-gap: var(--gutter);
  }
}

.contact-intro {
  color: var(--light-gray);
  line-height: 1.5;
  padding: var(--column) 0 var(--column);
  text-align: center;
}
@media screen and (max-width: calc(48em - 1px)) {
  .contact-intro {
    padding: calc(var(--gutter) * 2) var(--gutter) calc(var(--gutter) * 2);
  }
}
@media screen and (min-width: ) and (max-width: 47.9em) {
  .contact-intro {
    padding: calc(var(--gutter) * 2) var(--gutter) calc(var(--gutter) * 2);
  }
}

@media screen and (min-width: 48em) {
  .contact-form-wrapper {
    grid-column: 2/3;
    padding: calc(var(--gutter) / 4) 0 var(--gutter);
  }
}

.input-fieldset {
  display: flex;
  flex-wrap: wrap;
}
@media screen and (min-width: 48em) {
  .input-fieldset {
    margin: 0 calc(var(--gutter) / -2);
  }
}

@media screen and (max-width: calc(48em - 1px)) {
  .field {
    width: 100%;
    padding: calc(var(--gutter) / 2);
  }
}
@media screen and (min-width: ) and (max-width: 47.9em) {
  .field {
    width: 100%;
    padding: calc(var(--gutter) / 2);
  }
}
@media screen and (min-width: 48em) {
  .field {
    flex: 0 0 100%;
    padding: calc(var(--gutter) / 2);
  }
}

.field-inner {
  position: relative;
}
@media screen and (max-width: calc(48em - 1px)) {
  .field-inner {
    padding: 0 calc(var(--gutter) / 2);
  }
}
@media screen and (min-width: ) and (max-width: 47.9em) {
  .field-inner {
    padding: 0 calc(var(--gutter) / 2);
  }
}

.form-input,
textarea {
  background-color: transparent;
  border: 1px solid var(--light-gray);
  line-height: 1.2;
  color: var(--light-gray);
  width: 100%;
  padding: calc(var(--gutter) / 2);
}
.form-input::-moz-placeholder, textarea::-moz-placeholder {
  color: var(--light-gray);
}
.form-input::placeholder,
textarea::placeholder {
  color: var(--light-gray);
}
@media screen and (min-width: 48em) {
  .form-input,
  textarea {
    padding: calc(var(--gutter) / 4);
  }
}

label {
  padding-bottom: calc(var(--gutter) / 3);
  display: block;
  text-transform: capitalize;
  color: var(--light-gray);
}
@media screen and (min-width: 48em) {
  label {
    padding-bottom: calc(var(--gutter) / 8);
  }
}
label.required::after {
  content: "*";
  color: red;
}

textarea {
  width: 100%;
}

.submit-button {
  display: block;
  background-color: unset;
  text-transform: uppercase;
  text-decoration: underline;
  text-underline-offset: calc(var(--gutter) / 8);
  letter-spacing: calc(var(--gutter) / 16);
  color: var(--light-green);
  margin: 0 auto;
}
.submit-button:hover {
  color: white;
}

.indicates-required {
  color: var(--lighter-gray);
  padding: 0 var(--gutter);
}
@media screen and (min-width: 48em) {
  .indicates-required {
    padding: 0 calc(var(--gutter) / 2);
  }
}

.alert {
  position: absolute;
  top: -2vw;
  left: 0;
}
.alert.error {
  color: var(--brick-red);
}

.contact-message {
  background-color: white;
  padding: var(--gutter);
}
.contact-message.error {
  color: var(--brick-red);
}

.contact-links {
  margin: calc(var(--gutter) * 2) 0 0;
}
.contact-links a {
  line-height: 1.4;
  font-weight: 300;
  color: var(--light-gray);
  text-align: center;
  padding: calc(var(--gutter) / 2) 0 0;
  margin: 0;
  text-decoration: underline;
  text-underline-offset: calc(var(--gutter) / 4);
  text-decoration-thickness: 1px;
}
.contact-links a:hover {
  color: var(--lighter-green);
}

body {
  background-color: #17324d;
}
@media screen and (min-width: 48em) {
  body {
    background-color: #1c3a57;
  }
}

/* header
-------------------------------------------------- */
body.open-nav {
  background-color: white;
}

header {
  position: fixed;
  width: 100%;
  top: 0;
  z-index: 10;
  pointer-events: none;
}
.open-nav header {
  height: 100vh;
  height: 100svh;
  display: flex;
  flex-direction: column;
  background-color: var(--light-green);
}
.open-nav header:has(.nav-item:nth-of-type(1) .nav-link:hover) {
  background-color: var(--tan);
}
.open-nav header:has(.nav-item:nth-of-type(2) .nav-link:hover) {
  background-color: var(--light-gray);
}
.open-nav header:has(.nav-item:nth-of-type(3) .nav-link:hover) {
  background-color: var(--light-medium-gray);
}
.open-nav header:has(.nav-item:nth-of-type(4) .nav-link:hover) {
  background-color: var(--light-brick-red);
}
.open-nav header:has(.nav-item:nth-of-type(5) .nav-link:hover) {
  background-color: var(--tan);
}
.open-nav header:has(.nav-item:nth-of-type(6) .nav-link:hover) {
  background-color: var(--light-gray);
}
.open-nav header:has(.nav-item:nth-of-type(7) .nav-link:hover) {
  background-color: var(--light-medium-gray);
}
.open-nav header:has(.nav-item:nth-of-type(8) .nav-link:hover) {
  background-color: var(--light-brick-red);
}

.header-inner {
  align-items: center;
}
@media screen and (min-width: 48em) {
  .header-inner {
    align-items: flex-start;
  }
  .open-nav .header-inner {
    position: absolute;
    width: 100%;
    margin: 0;
  }
}

.topper-logo-wrapper,
.header-logo-wrapper {
  grid-column: 1/2;
  padding: var(--gutter) 0;
  transition: all 0.3s;
}
@media screen and (min-width: 48em) {
  .topper-logo-wrapper,
  .header-logo-wrapper {
    padding: var(--gutter);
    grid-column: 5/9;
  }
}

.header-logo-wrapper {
  opacity: 0;
  transition: all 0.3s;
  pointer-events: none;
}
.small-header .header-logo-wrapper, .open-nav .header-logo-wrapper {
  opacity: 1;
  display: block;
}
@media screen and (min-width: 48em) {
  .small-header .header-logo-wrapper, .open-nav .header-logo-wrapper {
    padding-top: calc(var(--gutter) / 4);
  }
}

.small-header .header-logo-link,
.nav-wrapper,
nav {
  pointer-events: all;
}

.header-logo-link {
  display: block;
  width: 100%;
  transition: all 0.3s;
}
@media screen and (min-width: 48em) {
  .header-logo-link {
    margin: 0 auto;
    position: relative;
    top: 0;
  }
  .small-header .header-logo-link, .open-nav .header-logo-link {
    scale: 0.3;
    top: calc(var(--gutter) * -1.3);
  }
}

.topper-logo,
.header-logo,
.footer-logo {
  --logo-primary: var(--light-green);
  --logo-secondary: var(--brick-red);
}

.header-logo {
  --logo-primary: var(--light-medium-gray);
  --logo-secondary: var(--light-medium-gray);
}
.open-nav .header-logo {
  --logo-primary: var(--navy-blue);
  --logo-secondary: var(--navy-blue);
}

.header-logo:hover,
.footer-logo:hover,
.open-nav .header-logo:hover {
  --logo-primary: white;
  --logo-secondary: white;
}

/* navigation buttons
-------------------------------------------------- */
.nav-wrapper {
  width: var(--column);
  position: absolute;
  right: var(--gutter);
  display: flex;
  justify-content: flex-end;
  padding: var(--gutter) 0;
  cursor: pointer;
}
@media screen and (min-width: 48em) {
  .nav-wrapper {
    right: var(--column);
  }
}
.nav-wrapper svg {
  stroke: var(--lighter-green);
}
.open-nav .nav-wrapper svg {
  stroke: var(--navy-blue);
}
.open-nav .nav-wrapper:hover svg {
  stroke: var(--brick-red);
}
.nav-wrapper:hover svg, .nav-wrapper:focus-visible svg {
  stroke: hsl(0, 0%, 90.59%);
}

.hamburger-icon,
.close-icon {
  width: 50%;
  pointer-events: none;
}

.hamburger-icon {
  display: block;
  stroke-width: 2px;
}
.open-nav .hamburger-icon {
  display: none;
}

.close-icon {
  display: none;
  transition: all 0.3s;
  max-height: 0;
  max-width: 0;
}
.open-nav .close-icon {
  display: block;
  max-height: unset;
  max-width: unset;
}

/* open nav
-------------------------------------------------- */
nav {
  display: none;
  flex-grow: 1;
}
.open-nav nav {
  display: flex;
  flex-direction: column;
  padding: 0 0 var(--gutter);
}

.nav-list {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  height: 100%;
}
@media screen and (min-width: 48em) {
  .nav-list {
    padding: 8vh 0 0;
  }
}

@media screen and (min-width: 48em) {
  .nav-item {
    display: inline-block;
  }
}

.nav-link {
  display: block;
  text-align: center;
  text-transform: uppercase;
  font-weight: 300;
  letter-spacing: calc(var(--gutter) / 8);
  font-size: clamp(7vw, 4vh, 15vw);
  padding: var(--gutter) 0;
  color: var(--navy-blue);
}
@media screen and (min-width: 48em) {
  .nav-link {
    font-size: clamp(5vh, 7vh, 10vw);
    padding: 2vh var(--gutter);
  }
}

.smaller-nav-link {
  font-size: clamp(6vw, 3vh, 12vw);
}
@media screen and (min-width: 48em) {
  .smaller-nav-link {
    font-size: clamp(3vh, 5vh, 10vw);
  }
}

/* nav footer
-------------------------------------------------- */
.nav-footer {
  color: var(--medium-gray);
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 var(--gutter);
  flex-direction: column;
  text-align: center;
  line-height: 2;
}
@media screen and (min-width: 48em) {
  .nav-footer {
    padding: 0 var(--column);
    flex-direction: row;
  }
}
.nav-footer a:hover {
  color: var(--brick-red);
}

.nav-placeholder {
  visibility: hidden;
}

.nav-details {
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 48em) {
  .nav-details {
    padding: 0 var(--column);
    flex-direction: row;
  }
}

.nav-address {
  text-align: center;
}
@media screen and (min-width: 48em) {
  .nav-address {
    grid-column: 3/11;
  }
}

@media screen and (max-width: calc(48em - 1px)) {
  .nav-email-link {
    padding-bottom: var(--gutter);
  }
}
@media screen and (min-width: ) and (max-width: 47.9em) {
  .nav-email-link {
    padding-bottom: var(--gutter);
  }
}

/* social
-------------------------------------------------- */
.social-icon {
  --size: calc(var(--gutter) * 2);
  width: var(--size);
  height: var(--size);
  fill: var(--medium-gray);
  display: block;
}
@media screen and (min-width: 48em) {
  .social-icon {
    --size: calc(var(--gutter));
  }
}
.social-icon:hover {
  fill: var(--brick-red);
}

/* footer
-------------------------------------------------- */
.footer {
  background-color: var(--navy-blue);
  padding: var(--gutter) 0;
  color: var(--light-gray);
}

@media screen and (max-width: calc(48em - 1px)) {
  .footer-inner .grid {
    grid-template-columns: repeat(1, 1fr);
    align-items: center;
    justify-content: center;
  }
}
@media screen and (min-width: ) and (max-width: 47.9em) {
  .footer-inner .grid {
    grid-template-columns: repeat(1, 1fr);
    align-items: center;
    justify-content: center;
  }
}

.footer-logo-wrapper {
  padding: var(--gutter) 0;
  width: 50%;
  grid-column: span 1;
  margin: 0 auto;
}
@media screen and (min-width: 48em) {
  .footer-logo-wrapper {
    width: 100%;
    grid-column: 1/4;
  }
}

.footer-logo-link:hover svg {
  fill: #d2d9ba;
}

.footer-developer-logo-wrapper {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  padding: var(--gutter) 0;
}
@media screen and (min-width: 48em) {
  .footer-developer-logo-wrapper {
    padding: calc(var(--gutter) / 4) 0 0;
    grid-column: 9/13;
    align-items: flex-end;
  }
}

.footer-housing-icons {
  --size: calc(var(--gutter) * 1.5);
  margin-top: calc(var(--gutter) / 2);
  margin-bottom: calc(var(--gutter) / 2);
  display: inline-block;
}
@media screen and (min-width: 48em) {
  .footer-housing-icons {
    --size: calc(var(--gutter) / 2);
  }
}
.footer-housing-icons svg {
  fill: var(--medium-gray);
  width: var(--size);
  height: var(--size);
}

.footer-info-wrapper {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
@media screen and (min-width: 48em) {
  .footer-info-wrapper {
    padding: 0;
    grid-column: 5/9;
  }
}
.footer-info-wrapper .social-icon {
  fill: var(--light-gray);
}
.footer-info-wrapper .social-icon:hover {
  fill: white;
}

.footer-address {
  padding: calc(var(--gutter) * 1.6) 0 calc(var(--gutter) / 2);
  text-align: center;
  line-height: 1.4;
}
@media screen and (max-width: calc(48em - 1px)) {
  .footer-address {
    text-align: center;
  }
}
@media screen and (min-width: ) and (max-width: 47.9em) {
  .footer-address {
    text-align: center;
  }
}

.footer-address a:hover,
.footer-email-link:hover,
.footer-credits a:hover {
  text-decoration: underline;
  text-underline-offset: calc(var(--gutter) / 8);
}

.footer-email-link {
  padding-bottom: var(--gutter);
}
@media screen and (min-width: 48em) {
  .footer-email-link {
    padding-bottom: calc(var(--gutter) * 0.75);
  }
}

.footer-credits {
  color: var(--medium-gray);
  text-align: center;
}
@media screen and (min-width: 48em) {
  .footer-credits {
    padding: var(--gutter) 0 0;
  }
}

.button {
  cursor: pointer;
  padding: calc(var(--gutter) / 2);
}
@media screen and (min-width: 48em) {
  .button {
    padding: calc(var(--gutter) / 3) calc(var(--gutter) / 2);
  }
}

.cta-button,
.intro-link-wrapper a,
.popup-link {
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  color: #d2d3d4;
  background-color: #1c3a57;
  padding: calc(var(--gutter) / 2) var(--gutter);
  text-transform: uppercase;
  letter-spacing: calc(var(--gutter) / 16);
  margin: 0 auto;
  border-radius: var(--gutter);
}
.cta-button:hover, .cta-button:focus,
.intro-link-wrapper a:hover,
.intro-link-wrapper a:focus,
.popup-link:hover,
.popup-link:focus {
  color: #1c3a57;
  background-color: #d2d3d4;
}
@media screen and (min-width: 48em) {
  .cta-button,
  .intro-link-wrapper a,
  .popup-link {
    margin-top: calc(var(--gutter) / 2);
    padding: calc(var(--gutter) / 4) calc(var(--gutter) / 2);
  }
}

section {
  padding: var(--column) var(--gutter);
  scroll-margin-top: 0;
}
@media screen and (min-width: 48em) {
  section {
    padding: var(--column) var(--column);
  }
}

/* Video Element
-------------------------------------------------- */
.video-controls-wrapper {
  display: none !important;
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 10;
  cursor: pointer;
  height: 100%;
  top: 0;
  bottom: unset;
  padding-bottom: calc(var(--gutter) / 2);
  display: flex;
  align-items: flex-end;
  height: 100vh;
  max-height: 100vw;
  margin: 0 calc(var(--gutter) / 1.5);
  filter: drop-shadow(2px 2px 4px rgba(0, 0, 0, 0.4));
}
@media screen and (min-width: 48em) {
  .video-controls-wrapper {
    flex-direction: column;
    justify-content: flex-end;
    padding-bottom: calc(var(--gutter) / 2);
    max-height: 56.25vw;
  }
}
.video-controls-wrapper svg {
  display: block;
  overflow: visible;
  --icon-scale: 2.5;
  --icon-scale: 3;
  width: calc(var(--gutter) * var(--icon-scale));
  height: calc(var(--gutter) * var(--icon-scale));
  fill: white;
  cursor: pointer;
}
.video-controls-wrapper svg:hover {
  fill: hsl(140, 60%, 12.5%);
}
@media screen and (min-width: 48em) {
  .video-controls-wrapper svg {
    --icon-scale: 1.2;
  }
}

.swiper .video-sound-wrapper {
  display: none;
}

svg.video-pause-icon {
  display: none;
}

.show-pause .video-pause-icon {
  display: block;
}
.show-pause .video-play-icon {
  display: none;
}

svg.video-sound-off-icon {
  display: none;
}

.show-sound-off .video-sound-off-icon {
  display: block;
}
.show-sound-off .video-sound-on-icon {
  display: none;
}

.popup-dialog {
  z-index: 10;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: var(--light-gray);
  padding: calc(var(--gutter) * 1.5) calc(var(--gutter) * 1.5);
  width: calc(var(--gutter) * 7 + var(--column) * 8);
  background-color: var(--medium-gray);
  background-image: url("/assets/images/backgrounds/gray-viv.png");
  background-size: 100%;
  box-shadow: 0px 0px 80px hsl(0, 0%, 15%);
}
@media screen and (min-width: 48em) {
  .popup-dialog {
    padding: calc(var(--gutter) * 2) calc(var(--gutter) * 2);
  }
}
.popup-dialog .section-title {
  color: var(--light-gray);
  padding: 0 0 calc(var(--gutter) / 2);
}
.popup-dialog a {
  cursor: pointer;
}
.popup-dialog .close-icon {
  display: block;
  stroke: var(--light-gray);
  max-height: unset;
  max-width: unset;
  position: absolute;
  width: calc(var(--gutter) * 2);
  padding: calc(var(--gutter) / 2);
  top: 0;
  right: 0;
  cursor: pointer;
  pointer-events: all;
}
.popup-dialog .close-icon:hover {
  stroke: black;
}

.popup-link {
  margin-top: 0;
}

.popup-button-wrapper {
  display: flex;
  flex-direction: column;
  row-gap: var(--gutter);
}
@media screen and (min-width: 48em) {
  .popup-button-wrapper {
    flex-direction: row;
  }
}

.popup-text {
  line-height: 1.5;
  text-align: center;
  padding-bottom: var(--gutter);
}

.floor-plans-section {
  background-color: var(--medium-gray);
}
.floor-plans-section .section-title {
  color: var(--lighter-green);
}
.floor-plans-section .section-intro {
  text-align: center;
  color: var(--light-gray);
  padding: 0 0 var(--gutter);
  line-height: 1.6;
}
@media screen and (min-width: 48em) {
  .floor-plans-section .section-intro {
    padding: 0 calc(var(--column) + var(--gutter) * 2);
  }
}

.floor-plans-wrapper {
  padding: var(--gutter) 0;
}
@media screen and (max-width: calc(48em - 1px)) {
  .floor-plans-wrapper {
    display: block;
  }
}
@media screen and (min-width: ) and (max-width: 47.9em) {
  .floor-plans-wrapper {
    display: block;
  }
}
@media screen and (min-width: 48em) {
  .floor-plans-wrapper {
    padding: var(--column) 0 var(--gutter);
  }
}

.floor-plans-swiper {
  width: 100%;
  padding-bottom: calc(var(--gutter) * 2);
}
@media screen and (min-width: 48em) {
  .floor-plans-swiper {
    padding: 0;
    grid-column: 1/10;
  }
}

.floor-plans-list {
  gap: var(--gutter);
}

.floor-plan-item {
  background-color: var(--medium-gray);
}

.floor-plans-details-list {
  height: unset;
}

.floor-plans-details-title {
  letter-spacing: calc(var(--gutter) / 16);
  text-transform: uppercase;
  color: var(--light-green);
  margin-bottom: var(--gutter);
  line-height: 1.5;
}

.floor-plans-details-swiper {
  width: 100%;
  text-align: center;
}
@media screen and (min-width: 48em) {
  .floor-plans-details-swiper {
    grid-column: 10/13;
    display: flex;
    flex-direction: column;
  }
}

.floor-plan-title {
  color: white;
  text-transform: uppercase;
  letter-spacing: calc(var(--gutter) / 16);
  line-height: 2;
}

.floor-plan-text {
  color: white;
  line-height: 2;
  letter-spacing: normal;
}

.floor-plan-detail-item {
  min-width: 0;
}
.floor-plan-detail-item img {
  min-width: 0;
}

.floor-plan-navigation {
  display: flex;
  justify-content: space-between;
  margin-top: var(--gutter);
}
@media screen and (min-width: 48em) {
  .floor-plan-navigation {
    margin-top: auto;
  }
}

.floor-plan-prev,
.floor-plan-next {
  position: static;
  margin-top: auto;
}

.swiper-button-prev,
.swiper-button-next {
  width: calc(var(--gutter) * 1.5);
  height: calc(var(--gutter) * 1.5);
}
@media screen and (min-width: 48em) {
  .swiper-button-prev,
  .swiper-button-next {
    width: calc(var(--gutter) * 1.1);
    height: calc(var(--gutter) * 1.1);
  }
}
.swiper-button-prev::after,
.swiper-button-next::after {
  background-repeat: no-repeat;
  background-size: contain;
  width: 100%;
  height: 100%;
  content: "";
}

.swiper-button-prev::after {
  background-image: url("/assets/images/icons/prev-arrow.png");
}

.swiper-button-next::after {
  background-image: url("/assets/images/icons/next-arrow.png");
}

.swiper-pagination {
  color: var(--light-gray);
}

.gallery-section {
  background-color: var(--more-dark-gray);
  padding-right: 0;
  padding-left: 0;
}
.gallery-section .section-title {
  color: #f7f5f0;
}
.gallery-section .swiper-slide-next,
.gallery-section .swiper-slide-prev {
  opacity: 0.3 !important;
}
.gallery-section .swiper-button-prev::after {
  background-image: url("/assets/images/icons/prev-arrow_gray.png");
}
.gallery-section .swiper-button-next::after {
  background-image: url("/assets/images/icons/next-arrow_gray.png");
}

.gallery-wrapper {
  padding-top: calc(var(--gutter) / 2);
}
@media screen and (min-width: 48em) {
  .gallery-wrapper {
    padding-top: calc(var(--gutter) / 2);
  }
}

.gallery-item img {
  max-width: unset;
}

.gallery-navigation {
  --swiper-navigation-sides-offset: calc(var(--gutter) / 1);
}
@media screen and (max-width: calc(48em - 1px)) {
  .gallery-navigation {
    display: none;
  }
}
@media screen and (min-width: ) and (max-width: 47.9em) {
  .gallery-navigation {
    display: none;
  }
}

.gallery-pagination {
  --swiper-pagination-bullet-size: calc(var(--gutter) / 2);
  --swiper-pagination-bullet-horizontal-gap: calc(var(--gutter) / 4);
  --swiper-pagination-bullet-inactive-color: var(--ivory);
  --swiper-pagination-color: var(--ivory);
  padding-top: var(--gutter);
  text-align: center;
}
@media screen and (min-width: 48em) {
  .gallery-pagination {
    padding-top: var(--gutter);
  }
}

.section-title {
  font-weight: 300;
  text-transform: uppercase;
  letter-spacing: calc(var(--gutter) / 8);
  color: hsl(24, 37%, 56%);
  padding: var(--gutter) 0;
  text-align: center;
  opacity: 0;
}
.section-title.animate-now {
  opacity: 1;
  transform: none;
}
@media (prefers-reduced-motion: no-preference) {
  .section-title.animate-now {
    transition: opacity 1.5s ease, transform 1.5s ease;
  }
}

.intro-section {
  background-color: var(--tan);
  background-image: url("/assets/images/backgrounds/tan-viv.png");
  background-size: 5%;
}
@media screen and (min-width: 48em) {
  .intro-section {
    background-size: 3%;
  }
}

.intro-wrapper {
  grid-column: span 4;
}
@media screen and (min-width: 48em) {
  .intro-wrapper {
    grid-column: 3/11;
    margin: 0 calc(var(--gutter) * -1);
  }
}

.intro-text {
  color: hsl(0, 0%, 90.59%);
  text-align: center;
  line-height: 1.7;
}
.intro-sub {
  font-weight: 300;
  color: var(--light-gray);
  text-align: center;
  padding: calc(var(--gutter) * 2) 0 calc(var(--gutter) / 2);
}

.intro-link-wrapper {
  text-align: center;
  padding: calc(var(--gutter) / 2) 0 0;
}
/* The Daily logo
-------------------------------------------------- */
.text-icon-link:hover {
  filter: drop-shadow(0 0 calc(var(--gutter) / 8) var(--navy-blue));
}

.text-icon {
  width: calc(var(--gutter) * 1.7);
  display: inline-block;
  vertical-align: middle;
}
.text-icon.large-icon {
  transform: scale(1.5);
  margin: 0 calc(var(--gutter) / 2);
}

.map-section {
  max-width: unset;
}
@media screen and (min-width: 48em) {
  .map-section {
    background-image: unset;
  }
}
@media screen and (max-width: calc(48em - 1px)) {
  .map-inner {
    padding: 0;
  }
}
@media screen and (min-width: ) and (max-width: 47.9em) {
  .map-inner {
    padding: 0;
  }
}

.map-intro {
  color: var(--light-gray);
  line-height: 1.5;
  text-align: center;
  padding-bottom: calc(var(--gutter) * 2);
}
@media screen and (min-width: 48em) {
  .map-intro {
    padding: 0 calc(var(--column) + var(--gutter) * 2) var(--gutter);
  }
}

/* Reset Map
-------------------------------------------------- */
#google-map > div {
  background-color: transparent !important;
}

.gm-style .gm-style-iw-c {
  padding: 0;
  overflow: visible;
}

.gm-style-iw-chr {
  position: absolute;
  right: calc(var(--gutter) / -1.2);
  top: calc(var(--gutter) / -1.2);
}
.gm-style-iw-chr button,
.gm-style-iw-chr span {
  width: calc(var(--gutter) * 0.75) !important;
  height: calc(var(--gutter) * 0.75) !important;
}
.gm-style-iw-chr button span {
  background-color: hsl(0, 0%, 90.59%);
}
.gm-style-iw-chr button:hover span {
  background-color: hsl(0, 0%, 90.59%);
}
.gm-style-iw-chr span {
  margin: 0 !important;
}

/* Google Map
-------------------------------------------------- */
/* Always set the map height explicitly to define the size of the div
 * element that contains the map. */
#google-map {
  height: 75svh;
}
@media screen and (min-width: 48em) {
  #google-map {
    height: unset;
    aspect-ratio: 18/9;
  }
}

@media screen and (min-width: 48em) {
  .google-map {
    margin-top: var(--gutter);
  }
}

.infoBox {
  width: calc(var(--gutter) * 1 + var(--column) * 2) !important;
}
@media screen and (min-width: 48em) {
  .infoBox {
    width: calc(var(--gutter) * 2 + var(--column) * 3) !important;
  }
}
@media screen and (min-width: 85.375em) {
  .infoBox {
    width: 283px !important;
  }
}
.infoBox > div {
  margin: 0 !important;
}
.infoBox > img {
  position: absolute !important;
  z-index: 2;
  top: 0;
  right: 0;
  width: 9% !important;
  padding: 2%;
}

.infobox-content {
  width: calc(var(--gutter) * 3 + var(--column) * 2);
}
.infobox-content img {
  aspect-ratio: 263/162;
}

.infobox-content-inner {
  line-height: 1;
  padding: calc(var(--gutter) / 4) !important;
  color: black;
  background-color: white;
}
@media screen and (min-width: 48em) {
  .infobox-content-inner {
    padding: calc(var(--gutter) / 4) !important;
  }
}

.infobox-image {
  position: relative;
  background-position: center;
  background-size: cover;
}
.infobox-image:after {
  display: block;
  padding-bottom: 61.5384615385%;
  content: "";
}

.infobox-title {
  font-weight: 800;
  margin-bottom: calc(var(--gutter) / 16) !important;
}

.infobox-title-link:hover {
  color: hsl(7.92, 50.48%, 41.18%) !important;
}

.infobox-directions-wrapper {
  margin-bottom: calc(var(--gutter) / 16);
}
.infobox-directions-wrapper:hover .infobox-directions-link {
  color: hsl(7.92, 50.48%, 41.18%) !important;
}
.infobox-directions-wrapper:hover .infobox-directions-arrow {
  fill: #319dc6;
}

.infobox-directions-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.infobox-phone-link:hover {
  color: hsl(7.92, 50.48%, 41.18%) !important;
}

.infobox-directions-arrow {
  width: calc(var(--gutter) / 2) !important;
  cursor: pointer;
}

/* Logo
-------------------------------------------------- */
img[src*=viv] {
  max-width: 100% !important;
  height: auto !important;
}

/* Map
-------------------------------------------------- */
.interactive-buttons {
  list-style-type: none;
}
@media screen and (min-width: 48em) {
  .interactive-buttons {
    width: calc(var(--gutter) * 2 + var(--column) * 3);
    margin: var(--gutter);
  }
}
@media screen and (min-width: 85.375em) {
  .interactive-buttons {
    width: 283px;
  }
}
.interactive-buttons .slick-track {
  display: flex;
  flex-direction: column;
  width: 100% !important;
  margin: 0 !important;
}

.interactive-button {
  display: block;
  width: auto !important;
  cursor: pointer !important;
  text-align: center;
  text-transform: uppercase;
  padding: calc(var(--gutter) / 2);
}
.interactive-button label {
  width: 100%;
}

.interactive-dropdown select {
  font-weight: 500;
  display: block;
  color: white;
  border: 0;
  -webkit-border-radius: 0;
  outline: 1px solid hsl(7.92, 50.48%, 41.18%);
  outline-offset: -1px;
  background-color: hsl(7.92, 50.48%, 41.18%);
  background-image: url("/assets/svg/icons/common/dropdown.svg");
  background-repeat: no-repeat;
  background-position: right 10px center;
  background-size: 5%;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
@media screen and (max-width: calc(48em - 1px)) {
  .interactive-dropdown select {
    width: 100%;
    padding: 5vw 1rem;
  }
}
@media screen and (min-width: ) and (max-width: 47.9em) {
  .interactive-dropdown select {
    width: 100%;
    padding: 5vw 1rem;
  }
}
@media screen and (min-width: 48em) {
  .interactive-dropdown select {
    width: 50vw;
    height: 7vw;
    margin: 0 auto;
    background-size: 10%;
  }
}

@media screen and (max-width: calc(48em - 1px)) {
  #style-selector-control {
    display: none !important;
  }
}
@media screen and (min-width: ) and (max-width: 47.9em) {
  #style-selector-control {
    display: none !important;
  }
}

.map-control {
  /* Hide the control initially, to prevent it from appearing
     before the map loads. */
}
@media screen and (min-width: 48em) {
  .map-control {
    display: none;
  }
}
.map-control input {
  display: none;
}

.mobile-map-control {
  position: relative;
  display: block;
  display: flex;
}

#google-map .map-control {
  display: flex;
  flex-direction: column;
}

.explore-category:nth-of-type(0) .explore-category-inner {
  background-color: #818285;
}

.map-control li:nth-of-type(1) {
  background-color: #818285;
}

.map-control li:nth-of-type(1):hover,
.map-control.highlight-button-1 li:nth-of-type(1) {
  background-color: white;
  background-color: black;
}
.map-control li:nth-of-type(1):hover label,
.map-control.highlight-button-1 li:nth-of-type(1) label {
  color: white;
}

.explore-category:nth-of-type(1) .explore-category-inner {
  background-color: hsl(7.92, 50.48%, 41.18%);
}

.map-control li:nth-of-type(2) {
  background-color: hsl(7.92, 50.48%, 41.18%);
}

.map-control li:nth-of-type(2):hover,
.map-control.highlight-button-2 li:nth-of-type(2) {
  background-color: white;
  background-color: black;
}
.map-control li:nth-of-type(2):hover label,
.map-control.highlight-button-2 li:nth-of-type(2) label {
  color: white;
}

.explore-category:nth-of-type(2) .explore-category-inner {
  background-color: hsl(228, 5.93%, 50.39%);
}

.map-control li:nth-of-type(3) {
  background-color: hsl(228, 5.93%, 50.39%);
}

.map-control li:nth-of-type(3):hover,
.map-control.highlight-button-3 li:nth-of-type(3) {
  background-color: white;
  background-color: black;
}
.map-control li:nth-of-type(3):hover label,
.map-control.highlight-button-3 li:nth-of-type(3) label {
  color: white;
}

.explore-category:nth-of-type(3) .explore-category-inner {
  background-color: hsl(24, 37%, 56%);
}

.map-control li:nth-of-type(4) {
  background-color: hsl(24, 37%, 56%);
}

.map-control li:nth-of-type(4):hover,
.map-control.highlight-button-4 li:nth-of-type(4) {
  background-color: white;
  background-color: black;
}
.map-control li:nth-of-type(4):hover label,
.map-control.highlight-button-4 li:nth-of-type(4) label {
  color: white;
}

.explore-category:nth-of-type(4) .explore-category-inner {
  background-color: #1c3a57;
}

.map-control li:nth-of-type(5) {
  background-color: #1c3a57;
}

.map-control li:nth-of-type(5):hover,
.map-control.highlight-button-5 li:nth-of-type(5) {
  background-color: white;
  background-color: black;
}
.map-control li:nth-of-type(5):hover label,
.map-control.highlight-button-5 li:nth-of-type(5) label {
  color: white;
}

.google-map-label {
  letter-spacing: calc(var(--gutter) / 32);
  font-size: 3.8709677419vw !important;
}
@media screen and (min-width: 48em) {
  .google-map-label {
    font-size: 1.756954612vw !important;
  }
}

/*****
* custom zoom styles
* everything is additive, like the increasing zoom numbers as seen from a telescope from outer space
* if has zoom-number in it, is at that level or greater (closer in)
*****/
.dorchester-label {
  display: none;
}
@media screen and (max-width: calc(48em - 1px)) {
  .zoom-13 .dorchester-label {
    display: block;
  }
}
@media screen and (min-width: ) and (max-width: 47.9em) {
  .zoom-13 .dorchester-label {
    display: block;
  }
}
@media screen and (min-width: 48em) {
  .zoom-15 .dorchester-label {
    display: block;
  }
}

.boston-label,
.cambridge-label {
  display: none;
}
@media screen and (max-width: calc(48em - 1px)) {
  .zoom-10 .boston-label,
  .zoom-10 .cambridge-label {
    display: block;
  }
}
@media screen and (min-width: ) and (max-width: 47.9em) {
  .zoom-10 .boston-label,
  .zoom-10 .cambridge-label {
    display: block;
  }
}
@media screen and (min-width: 48em) {
  .zoom-11 .boston-label,
  .zoom-11 .cambridge-label {
    display: block;
  }
}

.overview-section {
  margin-top: 0;
}
@media screen and (max-width: calc(48em - 1px)) {
  .overview-section {
    padding-right: 0;
    padding-left: 0;
  }
}
@media screen and (min-width: ) and (max-width: 47.9em) {
  .overview-section {
    padding-right: 0;
    padding-left: 0;
  }
}
@media screen and (min-width: 48em) {
  .overview-section {
    padding-top: calc(var(--gutter) * 2);
  }
  .overview-section video {
    aspect-ratio: 16/9;
  }
}

.error-page .intro-text a {
  text-decoration: underline;
}
.error-page .intro-text a:hover {
  color: black;
}

.info-img {
  margin: 0 0 calc(var(--gutter) * 2);
}
@media screen and (min-width: 48em) {
  .info-img {
    padding: 0 calc(var(--gutter) + var(--column) * 3);
  }
}

@media screen and (min-width: 48em) {
  .links-wrapper {
    display: flex;
    align-items: center;
    justify-content: center;
  }
}

.link-anchor {
  display: block;
  margin: var(--gutter);
}
.link-anchor:hover {
  color: var(--navy-blue);
}

.info-page-intro-section {
  background-color: var(--tan);
  color: white;
  line-height: 1.4;
  text-align: center;
}
@media screen and (min-width: 48em) {
  .info-page-intro-section .section-intro {
    padding: 0 calc(var(--column) + var(--gutter));
  }
}

.slide-up {
  transform: translateY(20%);
  opacity: 0;
}
.slide-up.animate-now {
  opacity: 1;
  transform: none;
}
@media (prefers-reduced-motion: no-preference) {
  .slide-up.animate-now {
    transition: opacity 0.5s ease, transform 0.5s ease;
  }
}
@media screen and (prefers-reduced-motion: no-preference) and (min-width: 48em) {
  .slide-up.animate-now {
    transition: opacity 1.2s ease, transform 1.2s ease;
  }
}

/* Helpers
-------------------------------------------------*/
.is-hidden {
  display: none;
}

.is-hidden-important {
  display: none !important;
}

.is-visible {
  display: block !important;
}

.invisible {
  visibility: hidden;
}

.hide-text {
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
  height: 0;
}

@media screen and (min-width: 48em) {
  .mobile-only {
    display: none;
  }
}

.no-mobile {
  display: none;
}
@media screen and (min-width: 48em) {
  .no-mobile {
    display: inline-block;
  }
}

.no-mobile-block,
.desktop-only {
  display: none !important;
}
@media screen and (min-width: 48em) {
  .no-mobile-block,
  .desktop-only {
    display: block !important;
  }
}

.no-mobile-flex,
.desktop-only-flex {
  display: none !important;
}
@media screen and (min-width: 48em) {
  .no-mobile-flex,
  .desktop-only-flex {
    display: flex !important;
  }
}

.no-mobile-grid {
  display: none !important;
}
@media screen and (min-width: 48em) {
  .no-mobile-grid {
    display: grid !important;
  }
}

@media screen and (min-width: 105.75em) {
  .tablet-only {
    display: none;
  }
}

.no-tablet-block {
  display: none;
}
@media screen and (min-width: 105.75em) {
  .no-tablet-block {
    display: block;
  }
}

.is-frozen {
  overflow: hidden;
  width: 100%;
  height: 100%;
  position: fixed;
}

.visually-hidden {
  position: absolute !important;
  height: 1px;
  width: 1px;
  overflow: hidden;
  clip: rect(1px 1px 1px 1px); /* IE6, IE7 */
  clip: rect(1px, 1px, 1px, 1px);
  white-space: nowrap; /* added line */
}

.floor-plans-section .section-title, .map-section .section-title,
.visually-unhidden {
  position: static !important;
  height: unset;
  width: unset;
  overflow: auto;
  clip: unset;
  white-space: initial;
}

.flex {
  display: flex;
}

@media screen and (min-width: 48em) {
  .flex-sm {
    display: flex;
  }
}

@media screen and (min-width: 48em) {
  .ptb-sp-1 {
    padding: var(--column) 0;
  }
}

@media screen and (min-width: 48em) {
  .ptb-g-1 {
    padding: var(--gutter) 0;
  }
}

@media screen and (min-width: 48em) {
  .pb-sp-1 {
    padding-bottom: var(--column);
  }
}
