/*
 * HTML5 Boilerplate
 *
 * What follows is the result of much research on cross-browser styling.
 * Credit left inline and big thanks to Nicolas Gallagher, Jonathan Neal,
 * Kroc Camen, and the H5BP dev community and team.
 */

/* ==========================================================================
   Base styles: opinionated defaults
   ========================================================================== */

html,
button,
input,
select,
textarea {
  color: #fff;
}

body {
  background-color: #210826;
  color: #fff;
  font-family: "Akkurat", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.4;
}

/* Prevent any object from being highlighted upon touch event*/
* {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

/*
 * Remove text-shadow in selection highlight: h5bp.com/i
 * These selection declarations have to be separate.
 * Customize the background color to match your design.
 */

::-moz-selection {
  background: #b3d4fc;
  text-shadow: none;
}

::selection {
  background: #b3d4fc;
  text-shadow: none;
}

/*
 * A better looking default horizontal rule
 */

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0;
  padding: 0;
}

/*
 * Remove the gap between images and the bottom of their containers: h5bp.com/i/440
 */

img {
  vertical-align: middle;
}

/*
 * Remove default fieldset styles.
 */

fieldset {
  border: 0;
  margin: 0;
  padding: 0;
}

/*
 * Allow only vertical resizing of textareas.
 */

textarea {
  resize: vertical;
}

/* ==========================================================================
   Chrome Frame prompt
   ========================================================================== */

.chromeframe {
  margin: 0.2em 0;
  background: #ccc;
  color: #000;
  padding: 0.2em 0;
}

/* ==========================================================================
   Coordinate Styles
   ========================================================================== */

/** Variables **/
:root {
  --primary-color: #ed1b2c;
  --secondary-color: #ed1b2c;
  --color-yellow: #f9bf03;
  --color-blue: #8ad4f6;
  --color-purple: #210826;

  --vanguard-font: "Vanguard CF";
  --vanguard-font-weight: 600;
  --vanguard-line-height: 0.9;

  --heading-h1: 4em;
  --heading-h2: 2.75em;
  --heading-h3: 2em;
  --heading-h4: 1.5em;
  --heading-h5: 1.25em;

  --content-padding: 1.875rem;
  --content-padding-x2: 3.75rem;
  --divider: 1.875rem;
}

body.locked {
  overflow: hidden;
}
main {
  overflow: hidden;
}

/** Site Transitions **/
.site-transition {
  background-color: var(--color-yellow);
  height: 100vh;
  overflow: hidden;
  position: fixed;
  top: 0;
  z-index: 99;
  width: 0;
  transition: width 0.5s ease-out;
}
.site-transition::before {
  background-image: url("../img/loader.gif");
  background-position: center;
  background-repeat: no-repeat;
  background-size: 180px 180px;
  content: "";
  display: block;
  height: 180px;
  opacity: 0;
  pointer-events: none;
  position: fixed;
  top: 50%;
  left: 50%;
  width: 180px;
  z-index: 100;
  transform: translate(-50%, -50%);
  transition: opacity 0.25s ease-out 0.25s;
}
.site-transition--menu {
  right: 0;
}
.site-transition--menu-loading {
  width: 100vw;
}
.site-transition--menu-loading::before {
  opacity: 1;
}
.site-transition--page {
  left: 0;
  width: 100vw;
  transition: width 0.5s ease-out 0.25s;
}
.site-transition--page::before {
  opacity: 1;
  transition: opacity 0.25s ease-out 0s;
}
.site-transition--page-loaded {
  width: 0;
}
.site-transition--page-loaded::before {
  opacity: 0;
}

/*
 * Top Bar
 */
#top-bar {
  padding-top: 1.25rem;
  position: relative;
  z-index: 30;
}
body.page-template-page-builder #top-bar {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
}
#top-bar h1 {
  height: 34px;
  float: left;
  margin: 0;
  width: 110px;
}
#top-bar h1 a {
  background: url("../img/svg/dksn-2-logo.svg") no-repeat 0 0;
  background-size: contain;
  display: block;
  height: 100%;
  width: 100%;
}

#top-bar a.btn {
  border-color: #fff;
  border-width: 2px;
  color: #fff;
  line-height: 40px;
  float: right;
  padding: 0 0.75em;
}
#top-bar a.btn:hover {
  background-color: #fff;
  color: #ed1b2c;
}

/** Menu Button **/
#top-bar button.menu-button {
  background-color: transparent;
  border: none;
  display: block;
  float: right;
  height: 20px;
  margin-top: 6px;
  padding: 0;
  position: relative;
  width: 30px;
  z-index: 30;
  transition: all 0.3s ease-out;
}
#top-bar button.menu-button span {
  background-color: #fff;
  display: block;
  margin-top: -1px;
  position: absolute;
  left: 50%;
  margin-left: -15px;
  height: 2px;
  width: 30px;
  transform-origin: center;
}
#top-bar button.menu-button span:first-child {
  margin-top: -10px;
  top: 50%;
  width: 30px;
}
#top-bar button.menu-button span:last-child {
  margin-top: 8px;
  top: 50%;
  width: 30px;
}

#top-bar button.menu-button.closed span {
  transition: transform 0.3s ease-out, opacity 0.3s ease-out 0.3s,
    margin-top 0.3s ease-out 0.3s, width 0.3s ease-out;
}
#top-bar button.menu-button.open span {
  -webkit-transition: margin-top 0.3s ease-out, opacity 0.3s ease-out,
    -webkit-transform 0.3s ease-out 0.3s, width 0.3s ease-out;
}

#top-bar button.menu-button.open span:first-child {
  margin-top: -1px;
  transform: rotate(45deg);
}
#top-bar button.menu-button.open span:nth-child(2) {
  opacity: 0;
}
#top-bar button.menu-button.open span:last-child {
  margin-top: -1px;
  transform: rotate(-45deg);
}

/** Navigation **/
#site-navigation {
  background-color: var(--secondary-color);
  background-clip: padding-box;
  overflow-y: scroll;
  opacity: 0;
  padding-top: 54px;
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: -1;
  width: 100%;
  transition: z-index 0s 0.75s ease-out, opacity 0.5s ease-out;
  -webkit-overflow-scrolling: touch;
}
#site-navigation.visible {
  z-index: 25;
  opacity: 1;
  transition: opacity 0.5s ease-out;
}
#site-navigation ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
#site-navigation nav {
}
#site-navigation nav ul {
  font-size: 1em;
}
#site-navigation nav ul li {
  position: relative;
  overflow: hidden;
  text-align: center;
}
#site-navigation nav ul li a {
  display: inline-block;
  color: var(--color-blue);
  font-family: var(--vanguard-font);
  font-size: var(--heading-h1);
  font-weight: var(--vanguard-font-weight);
  line-height: 0.6;
  padding: 0.125em 0;
  position: relative;
  text-decoration: none;
  z-index: 5;
  transition: color 0.25s ease-out;
}
#site-navigation nav ul li.current_page_item a,
#site-navigation nav ul li a:hover {
  color: #fff;
}

/*
 * Bottom Bar
 */
#bottom-bar .partners {
  display: flex;
  align-content: center;
  align-items: center;
  justify-content: center;
}
#bottom-bar .partners a.doma {
  background: url(../img/svg/doma-logo.svg) no-repeat 0 0;
  background-size: contain;
  display: block;
  height: 24px;
  margin: 0 1.875rem;
  width: 126px;
}
#bottom-bar .partners a.englobo {
  background: url(../img/svg/englobo-logo.svg) no-repeat 0 0;
  background-size: contain;
  display: block;
  height: 24px;
  margin: 0 1.875rem;
  width: 176px;
}
#bottom-bar .partners a.burgess {
  background: url(../img/svg/burgess-logo.svg) no-repeat 0 0;
  background-size: contain;
  display: block;
  height: 40px;
  margin: 0 1.875rem;
  width: 131px;
}
#bottom-bar .partners a.independent {
  background: url(../img/svg/independent-logo.svg) no-repeat 0 0;
  background-size: contain;
  display: block;
  height: 28px;
  margin: 0 1.875rem;
  width: 176px;
}

#bottom-bar .legality {
  border-top: 1px solid var(--primary-color);
  font-size: 0.875em;
  padding-bottom: 1.875rem;
  padding-top: 1.875rem;
}
body.background-red #bottom-bar .legality {
  border-top-color: #f2616b;
}
#bottom-bar .legality a.back-to-top {
  color: #fff;
  text-decoration: none;
  text-transform: uppercase;
}
#bottom-bar .legality a.back-to-top:hover {
  color: #ed1b2c;
}
body.background-red #bottom-bar .legality a.back-to-top:hover {
  color: var(--primary-color);
}

/*
 * Page Builder
 */

/** Banner Row **/
section.banner-row {
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  color: #fff;
  height: 50vh;
  overflow: hidden;
  padding-top: 1px;
  position: relative;
  text-align: center;
}
.banner-row--show-title::after {
  background-color: #000;
  content: "";
  display: block;
  opacity: 0.6;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 5;
}
section.banner-row a.next-section {
  border: 2px solid #fff;
  border-radius: 30px;
  color: #fff;
  display: block;
  font-size: 1.25em;
  height: 30px;
  line-height: 26px;
  position: absolute;
  left: 1.25rem;
  bottom: 1.25rem;
  text-align: center;
  width: 30px;
  z-index: 10;
}
section.banner-row a.volume-control {
  color: #fff;
  display: block;
  font-size: 1.5em;
  height: 30px;
  line-height: 30px;
  position: absolute;
  bottom: 1.25rem;
  right: 1.25rem;
  text-align: center;
  width: 30px;
  z-index: 10;
}
section.banner-row a.volume-control span {
  display: none;
}
section.banner-row a.volume-control.muted span.muted {
  display: inline-block;
}
section.banner-row a.volume-control.unmuted span.unmuted {
  display: inline-block;
}
section.banner-row video {
  height: auto;
  min-height: 100%;
  min-width: 100%;
  position: absolute;
  left: 50%;
  top: 50%;
  width: auto;
  z-index: 0;
  transition: opacity 0.5s ease-out;
  -webkit-transform: translateX(-50%) translateY(-50%);
  transform: translateX(-50%) translateY(-50%);
}
section.banner-row.active video {
  opacity: 1;
}

.banner-row__page-title {
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  z-index: 15;
  transform: translateY(-50%);
}
.banner-row__page-title h1 {
  color: #fff !important;
  display: inline;
  line-height: 0.6;
}

.IIV::-webkit-media-controls-play-button,
.IIV::-webkit-media-controls-start-playback-button {
  opacity: 0;
  pointer-events: none;
  width: 5px;
}

/** Introduction Row **/
.content-row--introduction h1 {
  color: #fff;
  margin: 0;
  padding-bottom: 0.5em;
  position: relative;
  z-index: 5;
}
.content-row--introduction a.btn {
  margin-top: 2em;
}

/** Home **/
article.home .content-row--introduction h1 > span {
  display: inline-block;
  padding-left: 0.9em;
  position: relative;
}
article.home .content-row--introduction h1 > span::after {
  /* background-color: #ed1b2c;
  content: "";
  display: block;
  position: absolute;
  top: 0.15em;
  left: 0.5em;
  bottom: -0.37em;
  width: 1px; */
}

/*** ADDED FOR 3/9/2020 UPDATE ***/
/* .swoosh-overlay {
  position: absolute;
  z-index: 10;
  top: 0;
  left: 0;
  width: 100px;
  height: 140px;
} */

.text-red {
  color: var(--secondary-color) !important;
}
.swoosh-holder {
  color: #fff;
  position: relative;
}

.swoosh-overlay {
  background: url("../img/svg/swoosh.svg") no-repeat 0 0;
  background-size: contain;
  background-position-y: center;
  height: 100%;
  width: 150%;
  position: absolute;
  /* z-index: 10; */
  bottom: 0;
  transform: translate(-25%, 10%);
}
/********************************/

/** Residential **/
article.residential .content-row--introduction h1 span {
  color: var(--secondary-color);
  display: inline-block;
  position: relative;
}

/** Commercial **/
article.commercial .content-row--introduction h1 {
  color: #fff;
}
article.commercial .content-row--introduction h1 span {
  color: var(--secondary-color);
  display: inline-block;
  position: relative;
}
article.commercial .content-row--introduction ul:not(.slides) {
  font-size: 1em;
  list-style: none;
  margin: 0;
  padding: 0;
}
article.commercial .content-row--introduction ul:not(.slides) li {
  border-bottom: 1px solid #fff;
  color: #fff;
  font-family: var(--vanguard-font);
  font-size: 1.5em;
  font-weight: var(--vanguard-font-weight);
  line-height: 1;
  padding-bottom: 0.35em;
  padding-top: 0.2em;
}
article.commercial .content-row--introduction ul:not(.slides) li:first-child {
  border-top: 1px solid #fff;
}

/** Content Row **/
.content-row > .row {
  display: flex;
  flex-direction: row-reverse;
  flex-wrap: wrap;
}

.content-row h2 {
  color: #fff !important;
}
#eat-street.content-row h2 {
  background: url("../img/svg/eat-st.svg") no-repeat 0 0;
  background-size: contain;
  height: 160px;
  width: 360px;
}
.content-row h2 span {
  display: block;
}
.content-row--image-left h2 {
  position: relative;
  z-index: 10;
}
.content-row--image-right h2 {
  position: relative;
  z-index: 10;
}

article.commercial .content-row h2 span {
  color: var(-secondary-color);
}
article.residential .content-row h2 span {
  color: var(--secondary-color);
}

.content-row .image-slider ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.content-row--image-left .image-slider .flex-control-paging li {
  float: right;
}

/** Features Row **/
.features-row {
  overflow: hidden;
}
.features-row > .row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
.features-row__features-nav {
}
.features-row__features-nav ul {
  font-size: 1em;
  list-style: none;
  margin: 0;
  padding: 0;
}
.features-row__features-nav ul li {
}
.features-row__features-nav ul li a {
  color: #fff;
  font-family: var(--vanguard-font);
  font-size: var(--heading-h4);
  font-weight: var(--vanguard-font-weight);
  line-height: var(--vanguard-line-height);
}
.features-row__features-nav ul li.flex-active a {
  color: var(--secondary-color);
}

/** Slider Row **/
.slider-row {
  overflow: hidden;
}
.slider-row .flex-viewport {
  overflow: visible !important;
}
.slider-row .flex-viewport::before {
  background-color: var(--color-blue);
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: 100%;
  bottom: 0;
  width: 9999px;
  z-index: 5;
}
.slider-row .flex-viewport .slider-next {
  display: block;
  position: absolute;
  top: 0;
  left: 100%;
  bottom: 0;
  width: 9999px;
  z-index: 5;
}
body.background-red .slider-row .flex-viewport::before {
  background-color: var(--color-yellow);
}
.slider-row article.post-tile .article-content h2 {
  color: #fff;
}
.slider-row article.post-tile .article-content {
  margin-top: calc(var(--heading-h3) * -0.5);
  padding-left: 0.9375rem;
  padding-right: 0.9375rem;
}
.slider-row article.post-tile .article-content p {
  opacity: 0;
  transition: opacity 0.25s ease-out 0s;
}
.slider-row .flex-active-slide article.post-tile .article-content p {
  opacity: 1;
  transition: opacity 0.25s ease-out 0.5s;
}
.flex-direction-nav {
  display: none;
}

.slider-row .flex-viewport .slider-next .cursor {
  background-color: var(--color-blue);
  border-radius: 80px;
  display: none;
  height: 80px;
  pointer-events: none;
  position: absolute;
  bottom: 0.9375rem;
  left: 1.875rem;
  width: 80px;
  transform: translate(-50%, -50%);
}
body.background-red .slider-row .flex-viewport .slider-next .cursor {
  background-color: var(--color-yellow);
}
.slider-row .flex-viewport .slider-next .cursor span.arrow {
  background-color: var(--secondary-color);
  display: block;
  height: 2px;
  position: absolute;
  left: 50%;
  top: 50%;
  width: 40px;
  transition: background-color 0.25s ease-out;
  transform: translate(-50%, -50%);
}
.slider-row .flex-viewport .slider-next .cursor span.arrow:before,
.slider-row .flex-viewport .slider-next .cursor span.arrow:after {
  background-color: var(--secondary-color);
  content: "";
  display: block;
  height: 2px;
  position: absolute;
  bottom: 1px;
  right: 0;
  width: 20px;
  transition: background-color 0.25s ease-out;
}
body.background-red .slider-row .flex-viewport .slider-next .cursor span.arrow,
body.background-red
  .slider-row
  .flex-viewport
  .slider-next
  .cursor
  span.arrow:before,
body.background-red
  .slider-row
  .flex-viewport
  .slider-next
  .cursor
  span.arrow:after {
  background-color: var(--primary-color);
}
.slider-row .flex-viewport .slider-next .cursor span.arrow:before {
  top: 1px;
  bottom: auto;
  transform-origin: top right;
  transform: rotate(45deg);
}
.slider-row .flex-viewport .slider-next .cursor span.arrow:after {
  transform-origin: bottom right;
  transform: rotate(-45deg);
}

/** Gallery **/
ul.gallery {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  margin: 0 -0.3125rem -0.3125rem;
  padding: 1.875rem 0 0 !important;
}
ul.gallery li {
  padding: 0.3125rem;
  width: 50%;
}
ul.gallery li a {
  background-color: #ed1b2c;
  display: block;
}
ul.gallery li a img {
  display: block;
  transition: opacity 0.25s ease-out;
}
ul.gallery li a:hover img {
  opacity: 0.75;
}

/*
 * News Page
 */
article.post-tile h2 {
  color: #fff;
  font-size: var(--heading-h3);
}

.alm-reveal {
  display: flex;
  flex-wrap: wrap;
}
.alm-reveal:first-child {
  margin-top: -0.625rem;
}
.alm-reveal:last-child {
  margin-bottom: -0.625rem;
}
.alm-reveal .columns {
  padding-bottom: 0.625rem;
  padding-top: 0.625rem;
}

.alm-btn-wrap {
  padding: var(--content-padding) 0 0 !important;
}
.alm-btn-wrap button.alm-load-more-btn {
  background-color: transparent !important;
  border: 1px solid var(--secondary-color);
  border-radius: 0;
  color: var(--secondary-color);
  display: inline-block;
  font-size: 1em;
  font-weight: 600;
  height: 50px;
  line-height: 1;
  margin: 0 !important;
  padding: 0;
  text-transform: uppercase;
  width: 230px;
  transition: background-color 0.25s ease-out, color 0.25s ease-out;
}
.alm-btn-wrap button.alm-load-more-btn:hover,
.alm-btn-wrap button.alm-load-more-btn:focus,
.alm-btn-wrap button.alm-load-more-btn.loading {
  background-color: var(--secondary-color) !important;
  color: var(--primary-color);
  padding-left: 0 !important;
}
.alm-btn-wrap button.alm-load-more-btn.loading::before {
  border-radius: 0;
  margin: 9px;
}
.alm-btn-wrap .alm-load-more-btn.done {
  pointer-events: none;
}

/*
 * Single Posts
 */
article.single-post header h1 {
  display: inline;
  font-size: var(--heading-h2);
  margin: 0;
}
article.single-post header .post-introduction p {
  color: var(--secondary-color);
  line-height: 1.3;
  font-size: var(--heading-h5);
}

article.single-post ul.gallery {
  margin-top: -0.3125rem !important;
  margin-bottom: -0.3125rem !important;
  padding: 0 !important;
}

article.single-post .share-btns p {
  margin-bottom: 0.5em;
}
article.single-post .share-btns .at-share-btn-elements a {
  background-color: transparent !important;
}
article.single-post .share-btns .at-share-btn-elements a:hover,
article.single-post .share-btns .at-share-btn-elements a:focus {
  transform: none;
}
article.single-post .share-btns .at-share-btn-elements a svg g path {
  fill: #fff;
  transition: fill 0.25s ease-out;
}
article.single-post .share-btns .at-share-btn-elements a:hover svg g path {
  fill: var(--secondary-color);
}

.article-divider {
  background-color: var(--secondary-color);
  height: 1px;
  width: 100vw;
}

/* ==========================================================================
   Layouts/Graphic Styles
   ========================================================================== */
.background-purple {
  background-color: var(--color-blue);
}
.background-red {
  background-color: var(--color-yellow);
}

.outer-row {
  padding-left: 0.3125rem;
  padding-right: 0.3125rem;
}

.content-area {
  padding-bottom: var(--content-padding);
  padding-top: var(--content-padding);
}
.content-area.x2 {
  padding-bottom: var(--content-padding-x2);
  padding-top: var(--content-padding-x2);
}
.content-area.bottom-x0 {
  padding-bottom: 0 !important;
}
.content-area.top-x0 {
  padding-top: 0 !important;
}

.divider,
.divider-small,
.divider-medium,
.divider-large {
  padding-top: var(--divider);
}

/* ==========================================================================
   Typography
   ========================================================================== */
h1,
h2,
h3,
h4 {
  font-family: var(--vanguard-font);
  font-weight: var(--vanguard-font-weight);
  line-height: var(--vanguard-line-height);
  margin-bottom: 0.5em;
}
body.background-red h1,
body.background-red h2,
body.background-red h3,
body.background-red h4 {
  color: var(--primary-color);
}
h1 {
  color: #fff;
  font-size: var(--heading-h1);
}
h2 {
  color: var(--secondary-color);
  font-size: var(--heading-h2);
}
h3 {
  color: var(--secondary-color);
  font-size: var(--heading-h3);
}
h3 span {
  color: #fff;
}
h4 {
  color: var(--secondary-color);
  font-size: var(--heading-h4);
}

p,
ul,
ol {
  font-size: 1em;
  line-height: 1.4;
}

h1:first-child,
h2:first-child,
h3:first-child,
h4:first-child,
h5:first-child,
p:first-child,
ul:first-child,
ol:first-child {
  margin-top: 0 !important;
}
h1:last-child,
h2:last-child,
h3:last-child,
h4:last-child,
h5:last-child,
p:last-child,
ul:last-child,
ol:last-child {
  margin-bottom: 0 !important;
}

@font-face {
  font-family: "Akkurat";
  src: url("../fonts/Akkurat.woff2") format("woff2"),
    url("../fonts/Akkurat.woff") format("woff");
  font-weight: 400;
  font-style: normal;
}

@font-face {
  font-family: "Akkurat";
  src: url("../fonts/Akkurat-Bold.woff2") format("woff2"),
    url("../fonts/Akkurat-Bold.woff") format("woff");
  font-weight: 600;
  font-style: normal;
}

@font-face {
  font-family: "Vanguard CF";
  src: url("../fonts/VanguardCF-Bold.woff2") format("woff2"),
    url("../fonts/VanguardCF-Bold.woff") format("woff");
  font-weight: 600;
  font-style: normal;
}

/* ==========================================================================
   Links
   ========================================================================== */
a {
  color: var(--secondary-color);
  outline: none;
  text-decoration: none;
  -webkit-transition: color 0.25s ease-out, background-color 0.25s ease-out,
    border-color 0.25s ease-out;
  -moz-transition: color 0.25s ease-out, background-color 0.25s ease-out,
    border-color 0.25s ease-out;
  -o-transition: color 0.25s ease-out, background-color 0.25s ease-out,
    border-color 0.25s ease-out;
  transition: color 0.25s ease-out, background-color 0.25s ease-out,
    border-color 0.25s ease-out;
}
body.background-red a {
  color: var(--primary-color);
}
a:hover {
  color: #fff;
  text-decoration: none;
}

a.btn {
  background-color: transparent;
  border: 1px solid #ed1b2c;
  color: #ed1b2c;
  display: inline-block;
  font-size: 1em;
  font-weight: 600;
  line-height: 1;
  padding: 1em 2em;
  text-transform: uppercase;
}
a.btn:hover {
  background-color: #ed1b2c;
  color: #210826;
}
body.background-red a.btn {
  border-color: var(--primary-color);
  color: var(--primary-color);
}
body.background-red a.btn:hover {
  background-color: var(--primary-color);
  color: var(--secondary-color);
}

a.read-more {
  border-bottom: 1px solid var(--secondary-color);
  color: var(--secondary-color);
  font-weight: 600;
  text-transform: uppercase;
}
body.background-red a.read-more {
  border-color: var(--primary-color);
  color: var(--primary-color);
}
a.read-more:hover {
  border-bottom: none;
}

/* ==========================================================================
   Forms
   ========================================================================== */
input,
textarea,
select,
button {
  background-color: transparent;
  border: none;
  border-bottom: 1px solid #fff;
  border-radius: 0;
  color: #fff;
  cursor: pointer;
  display: block;
  font-size: 1em;
  font-weight: 400;
  height: 52px;
  margin: 0;
  padding: 1em 0;
  outline: none;
  text-shadow: none;
  width: 100%;
  -webkit-appearance: none;
  -webkit-transition: color 0.25s ease-out, background-color 0.25s ease-out,
    border-color 0.25s ease-out;
  transition: color 0.25s ease-out, background-color 0.25s ease-out,
    border-color 0.25s ease-out;
}
input:hover,
textarea:hover,
select:hover {
  border-color: #fff;
}
input:focus,
textarea:focus {
  border-bottom-color: #ed1b2c;
  color: #ed1b2c;
}
textarea,
textarea[rows] {
  height: 140px;
}

select {
  /*background-image:url(../img/select-arrow.png); background-position:center right; background-repeat:no-repeat;*/
}
.generatedcontent select {
  background-image: none;
}
.ginput_container_select {
  position: relative;
}
.ginput_container_select::before {
  content: "\f107";
  color: #fff;
  display: block;
  font-size: 1.25em;
  pointer-events: none;
  position: absolute;
  top: 50%;
  right: 0.625rem;
  font-family: FontAwesome;
  font-weight: normal;
  font-style: normal;
  text-decoration: inherit;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

input[type="checkbox"],
input[type="radio"] {
  border: 1px solid #fff;
  float: left;
  height: 20px;
  margin-right: 0.625rem;
  width: 20px;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
input[type="radio"] {
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
}
input:checked {
  background-color: #fff !important;
  background-clip: content-box;
  border-color: #fff;
  outline: none;
  padding: 3px;
}

label {
  display: none;
  cursor: pointer;
  font-size: 1em;
  font-weight: 300;
  margin-bottom: 0.625rem;
}
.show-label label {
  display: block;
}
.gform_wrapper ul li.show-label {
  padding-top: 1rem;
}
input + label {
  display: none;
}
.placeholder-support label.checkbox,
.placeholder-support label.inline {
  display: block;
  font-size: 1.125em;
  font-weight: 500;
}
span.gfield_required {
  margin-left: 0.3125rem;
}

.gform_wrapper ul li .ginput_container_checkbox {
}
.gform_wrapper ul li .ginput_container_checkbox li {
  display: inline-block;
  margin-left: 0;
  margin-right: 0;
  margin-bottom: 0;
  margin-top: 0.625rem;
  text-align: left;
  white-space: nowrap;
  width: 100%;
}
.gform_wrapper ul li .ginput_container_checkbox li input + label {
  display: block;
  line-height: 20px;
  margin-bottom: 0;
  margin-left: 1.875rem;
}

.ginput_container_checkbox::before,
.ginput_container_checkbox::after,
.ginput_container_checkbox ul::before,
.ginput_container_checkbox ul::after {
  content: " ";
  display: table;
}

.ginput_container_checkbox::after,
.ginput_container_checkbox ul::after {
  clear: both;
}

.gform_footer {
  clear: both;
  margin-top: 1.875rem;
  position: relative;
  text-align: center;
}
button.gform_button {
  background-color: transparent;
  border: 1px solid #ed1b2c;
  color: #ed1b2c;
  display: inline-block;
  font-size: 1em;
  font-weight: 600;
  height: auto;
  line-height: 1;
  padding: 0.95em 3em;
  text-transform: uppercase;
  width: auto;
}
body.background-red button.gform_button {
  border-color: #210826;
  color: #210826;
}
button.gform_button:hover,
button.gform_button:focus {
  background-color: #ed1b2c;
  color: #210826;
}
body.background-red button.gform_button:hover,
body.background-red button.gform_button:focus {
  background-color: #210826;
  color: #ed1b2c;
}

.gform_wrapper {
  padding-top: 1.875rem;
}
.gform_wrapper ul {
  font-size: 1em;
  list-style: none;
  margin: 0;
  padding: 0;
}
.gform_wrapper ul li {
  margin-bottom: 1.875rem;
}
.gf_clear {
  clear: both;
}

.gform_wrapper ul li.custom_radio {
  margin-bottom: 0.3125rem;
}
.gform_wrapper ul li.custom_radio .ginput_container_radio {
  margin-top: 1.875rem;
}
.gform_wrapper ul li.custom_radio .ginput_container_radio ul.gfield_radio li {
  border: 1px solid #fff;
  display: inline-block;
  margin-bottom: 0.625rem;
  margin-left: 0;
  margin-right: 0;
  width: 100%;
  transition: background-color 0.25s ease-out, color 0.25s ease-out;
}
.gform_wrapper
  ul
  li.custom_radio
  .ginput_container_radio
  ul.gfield_radio
  li.checked {
  background-color: #fff;
  color: #210826;
}
.gform_wrapper
  ul
  li.custom_radio
  .ginput_container_radio
  ul.gfield_radio
  li
  input {
  display: none;
}
.gform_wrapper
  ul
  li.custom_radio
  .ginput_container_radio
  ul.gfield_radio
  li
  label {
  cursor: pointer;
  margin: 0;
  padding: 0.75em 1.5em;
  white-space: nowrap;
  width: 100%;
}

::-webkit-input-placeholder {
  color: #fff;
}
:-moz-placeholder {
  color: #fff;
}
::-moz-placeholder {
  color: #fff;
}
:-ms-input-placeholder {
  color: #fff;
}

/** Warnings **/
.validation_error {
  display: none;
}
.validation_message {
  display: none !important;
}
.gfield_contains_required.gfield_error input,
.gfield_contains_required.gfield_error textarea,
.gfield_contains_required.gfield_error select,
.gfield_contains_required.gfield_error .jcf-select .jcf-select-text {
  border-color: #ff0000 !important;
}
.gfield_contains_required.gfield_error label {
  color: #ff0000 !important;
}
body.background-red .gfield_contains_required.gfield_error input,
body.background-red .gfield_contains_required.gfield_error textarea,
body.background-red .gfield_contains_required.gfield_error select,
body.background-red
  .gfield_contains_required.gfield_error
  .jcf-select
  .jcf-select-text {
  border-color: #210826 !important;
}
body.background-red .gfield_contains_required.gfield_error label {
  color: #210826 !important;
}

.gform_confirmation_message {
  font-size: 1.125em;
}

img.gform_ajax_spinner {
  height: 32px !important;
  position: absolute !important;
  right: 0 !important;
  top: 50% !important;
  width: 32px !important;
  transform: translateY(-50%) !important;
}
body.background-red img.gform_ajax_spinner {
  content: url("../img/spinner-red@2x.gif");
}

.input_left,
.input_right,
.name_first,
.name_last,
.input_mid {
  display: block;
}
.name_first {
  margin-bottom: 0.9375rem;
}
.gf_clear {
  clear: both;
}

.gform_body::before,
.gfield::before,
.clear-multi::before,
.gform_body::after,
.gfield::after,
.clear-multi::after {
  content: " ";
  display: table;
}

.gform_body::after,
.gfield::after,
.clear-multi::after {
  clear: both;
}

body.compensate-for-scrollbar {
  overflow: hidden;
}

.gform_hidden {
	display: none;
}

/* ==========================================================================
   Plugins
   ========================================================================== */
.fancybox-active {
  height: auto;
}

.fancybox-is-hidden {
  left: -9999px;
  margin: 0;
  position: absolute !important;
  top: -9999px;
  visibility: hidden;
}

.fancybox-container {
  -webkit-backface-visibility: hidden;
  height: 100%;
  left: 0;
  outline: none;
  position: fixed;
  -webkit-tap-highlight-color: transparent;
  top: 0;
  touch-action: manipulation;
  transform: translateZ(0);
  width: 100%;
  z-index: 99992;
}

.fancybox-container * {
  box-sizing: border-box;
}

.fancybox-outer,
.fancybox-inner,
.fancybox-bg,
.fancybox-stage {
  bottom: 0;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
}

.fancybox-outer {
  -webkit-overflow-scrolling: touch;
  overflow-y: auto;
}

.fancybox-bg {
  background: rgb(30, 30, 30);
  opacity: 0;
  transition-duration: inherit;
  transition-property: opacity;
  transition-timing-function: cubic-bezier(0.47, 0, 0.74, 0.71);
}

.fancybox-is-open .fancybox-bg {
  opacity: 0.9;
  transition-timing-function: cubic-bezier(0.22, 0.61, 0.36, 1);
}

.fancybox-infobar,
.fancybox-toolbar,
.fancybox-caption,
.fancybox-navigation .fancybox-button {
  direction: ltr;
  opacity: 0;
  position: absolute;
  transition: opacity 0.25s ease, visibility 0s ease 0.25s;
  visibility: hidden;
  z-index: 99997;
}

.fancybox-show-infobar .fancybox-infobar,
.fancybox-show-toolbar .fancybox-toolbar,
.fancybox-show-caption .fancybox-caption,
.fancybox-show-nav .fancybox-navigation .fancybox-button {
  opacity: 1;
  transition: opacity 0.25s ease 0s, visibility 0s ease 0s;
  visibility: visible;
}

.fancybox-infobar {
  color: #ccc;
  font-size: 13px;
  -webkit-font-smoothing: subpixel-antialiased;
  height: 44px;
  left: 0;
  line-height: 44px;
  min-width: 44px;
  mix-blend-mode: difference;
  padding: 0 10px;
  pointer-events: none;
  top: 0;
  -webkit-touch-callout: none;
  user-select: none;
}

.fancybox-toolbar {
  right: 0;
  top: 0;
}

.fancybox-stage {
  direction: ltr;
  overflow: visible;
  transform: translateZ(0);
  z-index: 99994;
}

.fancybox-is-open .fancybox-stage {
  overflow: hidden;
}

.fancybox-slide {
  -webkit-backface-visibility: hidden; /* Using without prefix would break IE11 */
  display: none;
  height: 100%;
  left: 0;
  outline: none;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  padding: 44px;
  position: absolute;
  text-align: center;
  top: 0;
  transition-property: transform, opacity;
  white-space: normal;
  width: 100%;
  z-index: 99994;
}

.fancybox-slide::before {
  content: "";
  display: inline-block;
  font-size: 0;
  height: 100%;
  vertical-align: middle;
  width: 0;
}

.fancybox-is-sliding .fancybox-slide,
.fancybox-slide--previous,
.fancybox-slide--current,
.fancybox-slide--next {
  display: block;
}

.fancybox-slide--image {
  overflow: hidden;
  padding: 0.9375rem;
}

.fancybox-slide--image::before {
  display: none;
}

.fancybox-slide--html {
  padding: 6px;
}

.fancybox-content {
  background: #fff;
  display: inline-block;
  margin: 0;
  max-width: 100%;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  padding: 44px;
  position: relative;
  text-align: left;
  vertical-align: middle;
}

.fancybox-slide--image .fancybox-content {
  animation-timing-function: cubic-bezier(0.5, 0, 0.14, 1);
  -webkit-backface-visibility: hidden;
  background: transparent;
  background-repeat: no-repeat;
  background-size: 100% 100%;
  left: 0;
  max-width: none;
  overflow: visible;
  padding: 0;
  position: absolute;
  top: 0;
  transform-origin: top left;
  transition-property: transform, opacity;
  user-select: none;
  z-index: 99995;
}

.fancybox-can-zoomOut .fancybox-content {
  cursor: zoom-out;
}

.fancybox-can-zoomIn .fancybox-content {
  cursor: zoom-in;
}

.fancybox-can-swipe .fancybox-content,
.fancybox-can-pan .fancybox-content {
  cursor: grab;
}

.fancybox-is-grabbing .fancybox-content {
  cursor: grabbing;
}

.fancybox-container [data-selectable="true"] {
  cursor: text;
}

.fancybox-image,
.fancybox-spaceball {
  background: transparent;
  border: 0;
  height: 100%;
  left: 0;
  margin: 0;
  max-height: none;
  max-width: none;
  padding: 0;
  position: absolute;
  top: 0;
  user-select: none;
  width: 100%;
}

.fancybox-spaceball {
  z-index: 1;
}

.fancybox-slide--video .fancybox-content,
.fancybox-slide--map .fancybox-content,
.fancybox-slide--pdf .fancybox-content,
.fancybox-slide--iframe .fancybox-content {
  height: 100%;
  overflow: visible;
  padding: 0;
  width: 100%;
}

.fancybox-slide--video .fancybox-content {
  background: #222;
}

.fancybox-slide--map .fancybox-content {
  background: #e5e3df;
}

.fancybox-slide--iframe .fancybox-content {
  background: #fff;
}

.fancybox-video,
.fancybox-iframe {
  background: transparent;
  border: 0;
  display: block;
  height: 100%;
  margin: 0;
  overflow: hidden;
  padding: 0;
  width: 100%;
}

/* Fix iOS */
.fancybox-iframe {
  left: 0;
  position: absolute;
  top: 0;
}

.fancybox-error {
  background: #fff;
  cursor: default;
  max-width: 400px;
  padding: 40px;
  width: 100%;
}

.fancybox-error p {
  color: #444;
  font-size: 16px;
  line-height: 20px;
  margin: 0;
  padding: 0;
}

/* Buttons */

.fancybox-button {
  background: rgba(30, 30, 30, 0.6);
  border: 0;
  border-radius: 0;
  box-shadow: none;
  cursor: pointer;
  display: inline-block;
  height: 44px;
  margin: 0;
  padding: 10px;
  position: relative;
  transition: color 0.2s;
  vertical-align: top;
  visibility: inherit;
  width: 44px;
}

.fancybox-button,
.fancybox-button:visited,
.fancybox-button:link {
  color: #ccc;
}

.fancybox-button:hover {
  color: #ed1b2c;
}

.fancybox-button:focus {
  outline: none;
}

.fancybox-button.fancybox-focus {
  outline: 1px dotted;
}

.fancybox-button[disabled],
.fancybox-button[disabled]:hover {
  color: #888;
  cursor: default;
  outline: none;
}

/* Fix IE11 */
.fancybox-button div {
  height: 100%;
}

.fancybox-button svg {
  display: block;
  height: 100%;
  overflow: visible;
  position: relative;
  width: 100%;
}

.fancybox-button svg path {
  fill: currentColor;
  stroke-width: 0;
}

.fancybox-button--play svg:nth-child(2),
.fancybox-button--fsenter svg:nth-child(2) {
  display: none;
}

.fancybox-button--pause svg:nth-child(1),
.fancybox-button--fsexit svg:nth-child(1) {
  display: none;
}

.fancybox-progress {
  background: #ff5268;
  height: 2px;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  transform: scaleX(0);
  transform-origin: 0;
  transition-property: transform;
  transition-timing-function: linear;
  z-index: 99998;
}
/* Close button on the top right corner of html content */

.fancybox-close-small {
  background: transparent;
  border: 0;
  border-radius: 0;
  color: #ccc;
  cursor: pointer;
  opacity: 0.8;
  padding: 8px;
  position: absolute;
  right: -12px;
  top: -44px;
  z-index: 401;
}

.fancybox-close-small:hover {
  color: #ed1b2c;
  opacity: 1;
}

.fancybox-slide--html .fancybox-close-small {
  color: currentColor;
  padding: 10px;
  right: 0;
  top: 0;
}

.fancybox-slide--image.fancybox-is-scaling .fancybox-content {
  overflow: hidden;
}

.fancybox-is-scaling .fancybox-close-small,
.fancybox-is-zoomable.fancybox-can-pan .fancybox-close-small {
  display: none;
}

/* Navigation arrows */

.fancybox-navigation .fancybox-button {
  background-clip: content-box;
  height: 100px;
  opacity: 0;
  position: absolute;
  top: calc(50% - 50px);
  width: 70px;
}

.fancybox-navigation .fancybox-button div {
  padding: 7px;
}

.fancybox-navigation .fancybox-button--arrow_left {
  left: 0;
  padding: 31px 26px 31px 6px;
}

.fancybox-navigation .fancybox-button--arrow_right {
  padding: 31px 6px 31px 26px;
  right: 0;
}

/* Caption */

.fancybox-caption {
  bottom: 0;
  color: #eee;
  font-size: 14px;
  font-weight: 400;
  left: 0;
  line-height: 1.5;
  padding: 25px 44px 25px 44px;
  right: 0;
  text-align: center;
  z-index: 99996;
}

.fancybox-caption::before {
  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAD6CAQAAADKSeXYAAAAYklEQVQoz42RwQ3AMAgDjfcfup8WoRykfBAK5mQHKSz5rbXJPis1hjiV3CIqgG0hLZPkVkA4p4x5oR1bVeDrdCLrW2Q0D5bcwY3TGMHbdw3mPRuOtaspYP1w//G1OIcW148H0DMCqI/3mMMAAAAASUVORK5CYII=);
  background-repeat: repeat-x;
  background-size: contain;
  bottom: 0;
  content: "";
  display: block;
  left: 0;
  pointer-events: none;
  position: absolute;
  right: 0;
  top: -44px;
  z-index: -1;
}

.fancybox-caption a,
.fancybox-caption a:link,
.fancybox-caption a:visited {
  color: #ccc;
  text-decoration: none;
}

.fancybox-caption a:hover {
  color: #fff;
  text-decoration: underline;
}

/* Loading indicator */

.fancybox-loading {
  animation: fancybox-rotate 1s linear infinite;
  background: transparent;
  border: 4px solid #888;
  border-bottom-color: #fff;
  border-radius: 50%;
  height: 50px;
  left: 50%;
  margin: -25px 0 0 -25px;
  opacity: 0.7;
  padding: 0;
  position: absolute;
  top: 50%;
  width: 50px;
  z-index: 99999;
}

@keyframes fancybox-rotate {
  100% {
    transform: rotate(360deg);
  }
}

/* Transition effects */

.fancybox-animated {
  transition-timing-function: cubic-bezier(0, 0, 0.25, 1);
}

/* transitionEffect: slide */

.fancybox-fx-slide.fancybox-slide--previous {
  opacity: 0;
  transform: translate3d(-100%, 0, 0);
}

.fancybox-fx-slide.fancybox-slide--next {
  opacity: 0;
  transform: translate3d(100%, 0, 0);
}

.fancybox-fx-slide.fancybox-slide--current {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

/* transitionEffect: fade */

.fancybox-fx-fade.fancybox-slide--previous,
.fancybox-fx-fade.fancybox-slide--next {
  opacity: 0;
  transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
}

.fancybox-fx-fade.fancybox-slide--current {
  opacity: 1;
}

/* transitionEffect: zoom-in-out */

.fancybox-fx-zoom-in-out.fancybox-slide--previous {
  opacity: 0;
  transform: scale3d(1.5, 1.5, 1.5);
}

.fancybox-fx-zoom-in-out.fancybox-slide--next {
  opacity: 0;
  transform: scale3d(0.5, 0.5, 0.5);
}

.fancybox-fx-zoom-in-out.fancybox-slide--current {
  opacity: 1;
  transform: scale3d(1, 1, 1);
}

/* transitionEffect: rotate */

.fancybox-fx-rotate.fancybox-slide--previous {
  opacity: 0;
  transform: rotate(-360deg);
}

.fancybox-fx-rotate.fancybox-slide--next {
  opacity: 0;
  transform: rotate(360deg);
}

.fancybox-fx-rotate.fancybox-slide--current {
  opacity: 1;
  transform: rotate(0deg);
}

/* transitionEffect: circular */

.fancybox-fx-circular.fancybox-slide--previous {
  opacity: 0;
  transform: scale3d(0, 0, 0) translate3d(-100%, 0, 0);
}

.fancybox-fx-circular.fancybox-slide--next {
  opacity: 0;
  transform: scale3d(0, 0, 0) translate3d(100%, 0, 0);
}

.fancybox-fx-circular.fancybox-slide--current {
  opacity: 1;
  transform: scale3d(1, 1, 1) translate3d(0, 0, 0);
}

/* transitionEffect: tube */

.fancybox-fx-tube.fancybox-slide--previous {
  transform: translate3d(-100%, 0, 0) scale(0.1) skew(-10deg);
}

.fancybox-fx-tube.fancybox-slide--next {
  transform: translate3d(100%, 0, 0) scale(0.1) skew(10deg);
}

.fancybox-fx-tube.fancybox-slide--current {
  transform: translate3d(0, 0, 0) scale(1);
}

/* Styling for Small-Screen Devices */
@media all and (max-height: 576px) {
  .fancybox-caption {
    padding: 12px;
  }

  .fancybox-slide {
    padding-left: 6px;
    padding-right: 6px;
  }

  .fancybox-slide--image {
    padding: 6px 0;
  }

  .fancybox-close-small {
    right: -6px;
  }

  .fancybox-slide--image .fancybox-close-small {
    background: #4e4e4e;
    color: #f2f4f6;
    height: 36px;
    opacity: 1;
    padding: 6px;
    right: 0;
    top: 0;
    width: 36px;
  }
}

/* Small screens */
@media only screen {
} /* Define mobile styles */

@media only screen and (max-width: 39.99em) {
  #bottom-bar .partners {
    flex-wrap: wrap;
  }
  #bottom-bar .partners a {
    background-position: center !important;
    margin: 1.25rem auto !important;
    width: 50% !important;
  }
  #bottom-bar .partners a:nth-child(1),
  #bottom-bar .partners a:nth-child(2) {
    margin-top: 0 !important;
  }
  #bottom-bar .partners a.doma,
  #bottom-bar .partners a.englobo {
    height: 16px;
  }
  #bottom-bar .partners a.burgess {
    height: 28px;
  }
  #bottom-bar .partners a.colliers {
    height: 34px;
  }
} /* max-width 640px, mobile-only styles, use when QAing mobile issues */

/* Medium screens - min-width 640px */
@media only screen and (min-width: 40em) {
  :root {
    --content-padding: 3.75rem;
    --content-padding-x2: 7.5rem;

    --heading-h1: 7.5em;
    --heading-h2: 4em;
    --heading-h3: 2.5em;
    --heading-h4: 2em;
    --heading-h5: 1.5em;
  }

  #top-bar {
    padding-top: 3rem;
  }
  #top-bar h1 {
    height: 54px;
    width: 176px;
  }
  #top-bar button.menu-button {
    margin-right: 1.875rem;
    margin-top: 1.25rem;
  }
  #top-bar a.btn {
    margin-top: 7px;
  }

  section.banner-row a.next-section {
    left: 1.875rem;
    bottom: 1.875rem;
  }
  section.banner-row a.volume-control {
    bottom: 1.875rem;
    right: 1.875rem;
  }

  article.residential .content-row--introduction h1 span,
  article.commercial .content-row--introduction h1 span {
    padding-left: 0.62em;
  }

  #eat-street.content-row h2 {
    height: 240px;
  }

  ul.gallery {
    margin: 0 -0.625rem -0.625rem;
  }
  article.single-post ul.gallery {
    margin-top: -0.625rem !important;
    margin-bottom: -0.625rem !important;
  }
  ul.gallery li {
    padding: 0.625rem;
    width: 33.33%;
  }

  .slider-row article.post-tile .article-content {
    padding-left: 1.875rem;
    padding-right: 1.875rem;
  }

  .alm-reveal:first-child {
    margin-top: -0.9375rem;
  }
  .alm-reveal:last-child {
    margin-bottom: -0.9375rem;
  }
  .alm-reveal .columns {
    padding-bottom: 0.9375rem;
    padding-top: 0.9375rem;
  }

  .outer-row {
    padding-left: 0.9375rem;
    padding-right: 0.9375rem;
  }

  .content-area.stop-small {
    padding-bottom: 0;
    padding-top: 0;
  }
  .content-area.stop-medium {
    padding-bottom: 0;
    padding-top: 0;
  }

  .divider-small {
    padding-top: 0;
  }

  p,
  ul,
  ol {
    font-size: 1.125em;
  }

  a.btn {
    padding: 1em 3em;
  }

  .gform_footer {
    margin-top: 3rem;
  }
  .gform_wrapper {
    padding-top: 3rem;
  }

  .gform_wrapper ul li .ginput_container_checkbox li {
    margin-left: 0.625rem;
    margin-right: 0.625rem;
    width: calc(50% - 1.25rem);
  }
  .gform_wrapper ul li.custom_radio .ginput_container_radio ul.gfield_radio li {
    margin-left: 0.3125rem;
    margin-right: 0.3125rem;
    width: calc(50% - 0.625rem);
  }

  .input_left,
  .input_right,
  .name_first,
  .name_last,
  .input_mid {
    float: left;
    width: 50%;
  }
  .input_left,
  .name_first {
    padding-right: 0.9375rem;
  }
  .input_right,
  .name_last {
    padding-left: 0.9375rem;
  }
  .name_first {
    margin-bottom: 0;
  }

  .fancybox-slide--image {
    overflow: hidden;
    padding: 1.875rem;
  }
}
@media only screen and (min-width: 40em) and (max-width: 64em) {
} /* min-width 641px and max-width 1024px, use when QAing tablet-only issues */

/* Large screens - min-width 1024px */
@media only screen and (min-width: 64em) {
  :root {
    --content-padding: 6rem;
    --content-padding-x2: 12rem;

    --heading-h1: 10em;
    --heading-h2: 5em;
    --heading-h3: 3.875em;
    --heading-h4: 2.5em;
    --heading-h5: 1.875em;
  }

  #top-bar h1 {
    position: absolute;
    top: 3rem;
    left: 50%;
    transform: translateX(-50%);
  }
  #top-bar button.menu-button {
    float: left;
    margin-right: 0;
  }

  #site-navigation {
    padding-top: 100px;
  }

  section.banner-row {
    height: 100vh;
  }
  section.banner-row.no-video {
    height: 75vh;
  }

  .content-row--introduction .image-slider {
    margin-top: -11.5rem;
  }
  .content-row__apartment {
    padding-top: 7em;
  }

  .content-row > .row {
    flex-direction: row;
  }
  .content-row--image-left > .row {
    flex-direction: row-reverse;
  }
  .content-row--image-left h2 {
    margin-left: -40%;
  }
  .content-row--image-right h2 {
    margin-right: -40%;
  }

  #eat-street.content-row h2 {
    height: 300px;
  }

  .features-row__features-nav ul li a {
    font-size: 1.75em;
  }

  ul.gallery li {
    width: 25%;
  }

  .slider-row .flex-viewport .slider-next {
    cursor: none;
  }
  .slider-row article.post-tile .article-content {
    margin-top: -1.5em;
  }
  article.post-tile h2 {
    font-size: 3em;
  }

  .pull-left {
    margin-left: -9.9% !important;
  }
  .pull-left--x2 {
    margin-left: -19.8% !important;
  }
  .pull-right {
    margin-right: -9.8% !important;
  }
  .pull-right--x2 {
    margin-right: -19.8% !important;
  }

  .outer-row {
    padding-left: 1.875rem;
    padding-right: 1.875rem;
  }

  .content-area--large-only {
    padding-top: var(--content-padding);
  }
  .content-area.stop-small {
    padding-bottom: 0;
    padding-top: 0;
  }
  .content-area.stop-medium {
    padding-bottom: 0;
    padding-top: 0;
  }
  .content-area.stop-large {
    padding-bottom: 0;
    padding-top: 0;
  }

  .divider-medium {
    padding-top: 0;
  }

  .gform_wrapper ul li .ginput_container_checkbox li {
    margin-left: 0.9375rem;
    margin-right: 0.9375rem;
    width: auto;
  }
  .gform_wrapper ul li.custom_radio .ginput_container_radio ul.gfield_radio li {
    width: auto;
  }

  body.safari .features-row > .row,
  body.safari .content-row > .row {
    flex-wrap: nowrap !important;
  }

  .flex-direction-nav {
    display: block;
  }
}
@media only screen and (min-width: 64em) and (max-width: 90em) {
} /* min-width 1025px and max-width 1440px, use when QAing large screen-only issues */

/* XLarge screens - min-width 1440px */
@media only screen and (min-width: 90em) {
  :root {
    --heading-h1: 12.5em;
    --heading-h2: 6.25em;
  }

  .content-row--introduction .image-slider {
    margin-top: -12.75rem;
  }
  article.commercial .content-row--introduction ul:not(.slides) {
    padding: 0 2.813rem 0 0;
  }
  article.commercial .content-row--introduction ul:not(.slides) li {
    font-family: var(--vanguard-font);
    font-size: 1.75em;
  }

  #eat-street.content-row h2 {
    height: 400px;
  }

  .features-row__features-nav ul li a {
    font-size: var(--heading-h4);
  }
}
@media only screen and (min-width: 90em) and (max-width: 97.5em) {
} /* min-width 1441px and max-width 1560px, use when QAing xlarge screen-only issues */

/* XXLarge screens - min-width 1560px */
@media screen and (min-width: 97.5em) {
}

@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
  #site-navigation nav ul li a {
    font-size: 10em !important;
  }
  .features-row__features-nav ul li a {
    font-size: 2.5em !important;
  }
  .content-area {
    padding-bottom: 6rem !important;
    padding-top: 6rem !important;
  }
  .content-area.x2 {
    padding-bottom: 12rem !important;
    padding-top: 12rem !important;
  }
  .content-area.bottom-x0 {
    padding-bottom: 0 !important;
  }
  .content-area.top-x0 {
    padding-top: 0 !important;
  }

  h1 {
    font-size: 10em !important;
  }
  h2 {
    font-size: 5em !important;
  }
  h3 {
    font-size: 3.875em !important;
  }
  h4 {
    font-size: 2.5em !important;
  }
}

/* ==========================================================================
   Plugin Styles
   ========================================================================== */

/** Slider Controls **/
.flex-control-paging {
  height: 10px;
  list-style: none;
  margin: 0.9375rem 0 0;
  padding: 0;
  position: relative;
  left: 0;
  text-align: center;
  width: 100%;
  z-index: 10;
}
.flex-control-paging:empty {
  display: none;
}
.flex-control-paging li {
  height: 10px;
  display: block;
  float: left;
  margin: 0 0.3125rem;
  width: 10px;
}
.flex-control-paging li a {
  border: none;
  background-color: #716174;
  cursor: pointer;
  display: block;
  height: 10px;
  overflow: hidden;
  text-indent: 999px;
  width: 10px;
  -webkit-border-radius: 50%;
  border-radius: 50%;
  background-clip: content-box;
}
body.background-red .flex-control-paging li a {
  background-color: #f36e77;
}
.flex-control-paging li a:hover {
  background-color: #fff;
}
.flex-control-paging li a.flex-active {
  background-color: #ed1b2c;
}
body.background-red .flex-control-paging li a.flex-active {
  background-color: var(--primary-color);
}

/* FlexSlider Necessary Styles
*********************************/
.flexslider {
  margin: 0;
  padding: 0;
}
.flexslider .slides {
  font-size: 1em;
  padding: 0;
}
.flexslider .slides > li {
  display: none;
} /* Hide the slides before the JS is loaded. Avoids image jumping */
.flexslider .slides img {
  width: 100%;
  display: block;
}

/* Clearfix for the .slides element */
.slides:after {
  content: "\0020";
  display: block;
  clear: both;
  visibility: hidden;
  line-height: 0;
  height: 0;
}
html[xmlns] .slides {
  display: block;
}
* html .slides {
  height: 1%;
}

/* No JavaScript Fallback */
/* If you are not using another script, such as Modernizr, make sure you
 * include js that eliminates this class on page load */
.no-js .slides > li:first-child {
  display: block;
}

/*!--------------------------------------------------------------------
STYLES "Outdated Browser"
Version:    1.1.0 - 2014
author:     Burocratik
website:    http://www.burocratik.com
* @preserve
-----------------------------------------------------------------------*/
#outdated {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 170px;
  text-align: center;
  text-transform: uppercase;
  z-index: 1500;
  background-color: #f25648;
  color: #ffffff;
}
* html #outdated {
  position: absolute;
}
#outdated h6 {
  font-size: 25px;
  line-height: 25px;
  margin: 30px 0 10px;
}
#outdated p {
  font-size: 12px;
  line-height: 12px;
  margin: 0;
}
#outdated #btnUpdateBrowser {
  display: block;
  position: relative;
  padding: 10px 20px;
  margin: 30px auto 0;
  width: 230px; /*need for IE*/
  color: #ffffff;
  text-decoration: none;
  border: 2px solid #ffffff;
  cursor: pointer;
}
#outdated #btnUpdateBrowser:hover {
  color: #f25648;
  background-color: #ffffff;
}
#outdated .last {
  position: absolute;
  top: 10px;
  right: 25px;
  width: 20px;
  height: 20px;
}
#outdated #btnCloseUpdateBrowser {
  border-bottom: none;
  display: block;
  position: relative;
  width: 100%;
  height: 100%;
  text-decoration: none;
  color: #ffffff;
  font-size: 36px;
  line-height: 36px;
}

/* select */
.jcf-select {
  display: block;
  vertical-align: top;
  background: transparent;
  margin: 0;
  text-align: left;
}
.jcf-select select {
  z-index: 1;
  left: 0;
  top: 0;
}

.jcf-select .jcf-select-text {
  background-color: transparent;
  border: none;
  border-bottom: 1px solid #fff;
  border-radius: 0;
  color: #fff;
  cursor: pointer;
  display: block;
  font-size: 1em;
  font-weight: 400;
  height: 52px;
  line-height: 1;
  margin: 0;
  padding: 1em 0;
  outline: none;
  text-shadow: none;
  width: 100%;
  -webkit-appearance: none;
  -webkit-transition: color 0.25s ease-out, background-color 0.25s ease-out,
    border-color 0.25s ease-out;
  transition: color 0.25s ease-out, background-color 0.25s ease-out,
    border-color 0.25s ease-out;
}
.jcf-option-gf_placeholder {
  color: #fff;
}
.jcf-drop-active.jcf-select .jcf-select-text {
  border-bottom-color: #fff;
}
.jcf-select .jcf-select-opener {
  display: none;
  position: absolute;
  text-align: center;
  background: #aaa;
  width: 26px;
  bottom: 0;
  right: 0;
  top: 0;
}
body > .jcf-select-drop {
  position: absolute;
  margin: -1px 0 0;
  z-index: 9999;
}
body > .jcf-select-drop.jcf-drop-flipped {
  margin: 1px 0 0;
}
.jcf-select .jcf-select-drop {
  position: absolute;
  margin-top: 0px;
  z-index: 9999;
  top: 100%;
  left: -1px;
  right: -1px;
}
.jcf-select .jcf-drop-flipped {
  bottom: 100%;
  top: auto;
}
.jcf-select.jcf-compact-multiple {
  max-width: 220px;
}
.jcf-select.jcf-compact-multiple .jcf-select-opener:before {
  display: inline-block;
  padding-top: 2px;
  content: "...";
}
.jcf-select-drop .jcf-select-drop-content {
  border: 1px solid #fff;
}
.jcf-select-drop.jcf-compact-multiple .jcf-hover {
  background: none;
}
.jcf-select-drop.jcf-compact-multiple .jcf-selected {
  background: #e6e6e6;
  color: #000;
}
.jcf-select-drop.jcf-compact-multiple .jcf-selected:before {
  display: inline-block;
  content: "";
  height: 4px;
  width: 8px;
  margin: -7px 5px 0 -3px;
  border: 3px solid #777;
  border-width: 0 0 3px 3px;
  -moz-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  -ms-filter: "progid:DXImageTransform.Microsoft.Matrix(M11=0.7071067811865483, M12=0.7071067811865467, M21=-0.7071067811865467, M22=0.7071067811865483, SizingMethod='auto expand')";
}

/* multiple select styles */
.jcf-list-box {
  overflow: hidden;
  display: inline-block;
  border: 1px solid #b8c3c9;
  min-width: 200px;
  margin: 0 15px;
}
/* select options styles */
.jcf-list {
  display: inline-block;
  vertical-align: top;
  position: relative;
  background: #fff;
  width: 100%;
}
.jcf-list .jcf-list-content {
  vertical-align: top;
  display: inline-block;
  overflow: auto;
  width: 100%;
}
.jcf-list ul {
  font-size: 1em;
  list-style: none;
  padding: 0;
  margin: 0;
}
.jcf-list ul li {
  overflow: hidden;
  display: block;
}
.jcf-list .jcf-overflow {
  overflow: auto;
}
.jcf-list .jcf-option {
  color: #000;
  font-size: 1em;
  line-height: 1;
  margin: 0;
  padding: 1em;
  text-align: left;
  white-space: nowrap;
  overflow: hidden;
  cursor: default;
  display: block;
  height: 1%;
}
.jcf-list .jcf-disabled {
  background: #fff !important;
  color: #aaa !important;
}
.jcf-select-drop .jcf-hover,
.jcf-list-box .jcf-selected {
  background-color: #eee;
  color: #000;
}
.jcf-list .jcf-optgroup-caption {
  white-space: nowrap;
  font-weight: bold;
  display: block;
  padding: 5px 9px;
  cursor: default;
  color: #000;
}
.jcf-list .jcf-optgroup .jcf-option {
  padding-left: 30px;
}

/* ==========================================================================
   Helper classes
   ========================================================================== */

/*
 * Image replacement
 */

.ir {
  background-color: transparent;
  border: 0;
  overflow: hidden;
  /* IE 6/7 fallback */
  *text-indent: -9999px;
}

.ir:before {
  content: "";
  display: block;
  width: 0;
  height: 150%;
}

/*
 * Hide from both screenreaders and browsers: h5bp.com/u
 */

.hidden {
  display: none !important;
  visibility: hidden;
}

/*
 * Hide only visually, but have it available for screenreaders: h5bp.com/v
 */

.visuallyhidden {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}

/*
 * Extends the .visuallyhidden class to allow the element to be focusable
 * when navigated to via the keyboard: h5bp.com/p
 */

.visuallyhidden.focusable:active,
.visuallyhidden.focusable:focus {
  clip: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  position: static;
  width: auto;
}

/*
 * Hide visually and from screenreaders, but maintain layout
 */

.invisible {
  visibility: hidden;
}
