/*
Theme Name:
Description:   Castle Realty 2021 Theme
Version:       1.0
Author:        DigiSage
Author URI:    https://digisage.com
*/

/* ======================= font reference ======================= */
/* Used in front page hero banner */
@font-face {
   font-family: 'Alexander Lettering';
   src: url('../fonts/Alexander-Lettering.woff') format('woff'), url('../fonts/Alexander-Lettering.ttf') format('truetype');
}

/* ======================= global resets ======================= */
/* Based upon 'reset.css' in the Yahoo! User Interface Library: http://developer.yahoo.com/yui */
*, html, body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, label, fieldset, input, p, blockquote, th, td { margin:0; padding:0 }
table                { border-collapse:collapse; border-spacing:0 }
fieldset, img          { border:0 }
address, caption, cite, code, dfn, em, strong, th, var { font-style:normal; font-weight:normal }
caption, th             { text-align:left }
q:before, q:after    { content:''}
a img                { border:none } /* Gets rid of IE's blue borders */
input[type="submit"]   { cursor:pointer; -webkit-appearance: button; /* Corrects inability to style clickable 'input' types in iOS */ }
input[type="submit"]::-moz-focus-inner { border:0; } /* helps with input and submit sizing */
/* html5 reset */
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section, main { display:block; }
audio,
canvas,
video                   { display:inline-block; }
audio:not([controls])    { display:none; }
@-ms-viewport            { width:device-width; }
*,
*:before,
*:after          { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; }
:link img       { border:none; }
a                { outline:none; }
.clearfix:after                { visibility:hidden; display:block; font-size:0; content:" "; clear:both;  height:0; }
* html .clearfix                { zoom:1; } /* IE6 */
*:first-child+html .clearfix    { zoom:1; } /* IE7 */
/* responsive */
img, object, embed    { max-width:100%; height:auto; }
object, embed         { height:100%; }
img                   { -ms-interpolation-mode: bicubic; }

html {
   height:100%;
   scroll-behavior: smooth;
}
body {
   margin:0;
   padding:0;
   background:#fff;
   background-size:100% auto;
   color:#000;
   font-family:'Roboto', sans-serif;
   font-size:20px;
   font-weight:300;
   text-align:left;
}

/*======================= Typography ======================= */
small {
   font-size:1.1rem;
}
strong, b {
   font-weight:700;
}
em, i {
   font-style:italic;
   font-weight: 300;
}
/* headings */
h1,h2,h3,h4,h5,h6 {
   text-align:left;
   font-weight:300;
   color:#4d4d4f;
   line-height:1.2;
   font-family:jubilat, serif;
}
h1 {
   font-size:42px;
   margin:0 0 20px 0;
   font-weight:300;
   text-transform:uppercase;
}
h2 {
   font-size:36px;
   margin:0 0 10px 0;
}
h3 {
   font-size:30px;
   margin:0 0 10px 0;
   font-weight:300;
   font-family:'Roboto', sans-serif;
}
h4 {
   font-size:26px;
   margin:0 0 10px 0;
}
h5 {
   font-size:24px;
   margin:0 0 10px 0;
}
h6 {
   font-size:20px;
   margin:0 0 10px 0;
}
.serif {
   font-family:jubilat, serif;
}

/*
   default links & buttons
   includes the gutenberg button UI
*/
a {
   color:#9d2235;
   text-decoration:none;
   -webkit-transition:   .2s;
   transition:            .2s;
}
a:hover {
   color:#000;
   text-decoration:none;
}
a.button,
input.button,
a.wp-block-button__link,
#primary input[type="submit"],
a.fl-button,
a.fl-button:visited,
.fl-builder-content a.fl-button,
.fl-builder-content a.fl-button:visited {
   display:block;
   padding:10px 20px;
   text-transform:uppercase;
   color:#fff;
   font-size:18px;
   background:#9d2235;
   text-align:center;
   border:none;
   text-decoration:none !important;
   -moz-border-radius:     0px;
   -webkit-border-radius:  0px;
   border-radius:          0px;
   -khtml-border-radius:   0px;
   -webkit-transition:  .2s;
   transition:          .2s;
}
a.button:hover,
input.button:hover,
a.wp-block-button__link:hover,
#primary input[type="submit"]:hover,
.fl-builder-content a.fl-button:hover,
.fl-builder-content a.fl-button:visited:hover {
   background:#851a2a;
   text-decoration:none;
}
/* forcing some BB button colors */
a.fl-button,
a.fl-button:visited,
.fl-builder-content a.fl-button,
.fl-builder-content a.fl-button:visited {
   color:#fff;
   font-weight:300;
   display:inline-block;
}
a.fl-button *,
a.fl-button:visited *,
.fl-builder-content a.fl-button *,
.fl-builder-content a.fl-button:visited * {
   color:#fff;
}
a.button.gray {
   background:#4d4d4f;
}
a.button.gray:hover {
   background:#434344;
}
/* centered buttons */
.button-centered a.button {
   margin:0 auto;
   float:none;
   width:230px;
   text-align:center;
}
.buttons-centered {
   text-align:center;
}
.buttons-centered a.button {
   display:inline-block;
   margin-left:15px;
   margin-right:15px;
}

/* more link with arrow */

a.all-resources {
   display: inline-block;
   float: left;
   font-size: 18px;
   font-weight: 400;
   margin-right: 20px;
}

a.all-resources,
a.page-numbers,            /* WP paginate_links */
.posts-nav a[rel="prev"],  /* WP previous_post_link */
.posts-nav a[rel="next"],  /* WP next_post_link */
a.prev-arrow,
a.more-arrow {
   display:block;
   position:relative;
   text-transform:uppercase;
}
a.all-resources:hover,
.posts-nav a[rel="prev"]:hover,
.posts-nav a[rel="next"]:hover {
   color:#000 !important;
   text-decoration:none !important;
}
a.page-numbers.next::after,
.posts-nav a[rel="next"]::after,
a.more-arrow::after {
   content:'';
   display:inline-block;
   position:relative;
   top:-1px;
   left:5px;
   width:12px;
   height:12px;
   border-right:1px solid #9d2235;
   border-bottom:1px solid #9d2235;
   transform:rotate(-45deg);
   -webkit-transition:  .3s;
   transition:          .3s;
}
a.page-numbers.next:hover::after,
.posts-nav a[rel="next"]:hover::after,
a.more-arrow:hover::after {
   left:8px;
   border-color:#000;
}
a.all-resources::before,
a.page-numbers.prev::before,
.posts-nav a[rel="prev"]::before,
a.prev-arrow::before {
   content:'';
   display:inline-block;
   position:relative;
   top:-1px;
   left:-4px;
   width:12px;
   height:12px;
   border-right:1px solid #9d2235;
   border-bottom:1px solid #9d2235;
   transform:rotate(135deg);
   -webkit-transition:  .3s;
   transition:          .3s;
}
a.all-resources:hover::before,
a.page-numbers.prev:hover::before,
.posts-nav a[rel="prev"]:hover::before,
a.prev-arrow:hover::before {
   left:-7px;
   border-color:#000;
}

@media (max-width: 550px) {
   .posts-nav,
   .single-post .posts-nav {
      float: none;
      text-align: center;
      width: 100% !important;
   }
}

/* down link */
a.link-arrow-down {
   display:block;
   position:relative;
}
a.link-arrow-down::after {
   content:'';
   display:inline-block;
   position:relative;
   top:-6px;
   margin:0 0 0 15px;
   width:18px;
   height:18px;
   border-right:1px solid #9d2235;
   border-bottom:1px solid #9d2235;
   transform:rotate(45deg);
   -webkit-transition:  .3s;
   transition:          .3s;
}

input,
textarea,
select {
   font-weight:300;
   font-family:'Roboto', sans-serif;
   border-radius:0;
}
input[type="submit"] {
   white-space:normal;
}
.castle-form input,
.castle-form select,
.castle-form textarea {
   border:1px solid #9d2235;
   background:#fff;
   font-size:16px;
   margin:0 5px 5px 0;
   padding:0 10px;
}
.castle-form input:not([type='checkbox']),
.castle-form select {
   height:45px;
   line-height:45px;
}
.castle-form select {
   padding-right:30px;
   -webkit-appearance:none;
   -moz-appearance:none;
   appearance:none;
   background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='100' height='100' fill='%234d4d4f'><polygon points='0,0 100,0 50,50'/></svg>");
   background-repeat:no-repeat;
   background-position:right 10px top 20px;
   background-size:12px auto;
}
.castle-form select::-ms-expand {
    display: none; /* Remove default arrow in IE 10/11 */
}
.castle-form input[type="submit"] {
   background:#9d2235;
   color:#fff;
   outline:none;
   cursor:pointer;
}
/* placeholder font color */
::-webkit-input-placeholder {
   color:#333;
}
:-moz-placeholder {
   /* Firefox 18- */ color:#333;
}
::-moz-placeholder {
   /* Firefox 19+ */ color:#333;
}
:-ms-input-placeholder {
   color:#333;
}

.youtube-video {
   aspect-ratio: 16 / 9;
   width: 100%;
}

/* Accessibility */
.skip {
    position:absolute;
    top:-1000px;
    left:-1000px;
    height:1px;
    width:1px;
    text-align:left;
    overflow:hidden;
}
a.skip:active,
a.skip:focus,
a.skip:hover {
    left:0;
    top:0;
    width:auto;
    height:auto;
    overflow:visible;
}
#page-wrap {
   overflow:hidden;
}
/* Text meant only for screen readers. */
.screen-reader-text {
     border:0;
     clip:rect(1px, 1px, 1px, 1px);
     clip-path:inset(50%);
     height:1px;
     margin:-1px;
     overflow:hidden;
     padding:0;
     position:absolute !important;
     width:1px;
     word-wrap:normal !important;
}
.pagewidth {
   margin:0 auto;
   position:relative;
}
.pagewidth.pw1100 {
   width:1100px;
}
@media (max-width: 1140px) {
   .pagewidth.pw1100 {
      width:100%;
      padding-left:20px;
      padding-right:20px;
   }
}
.pagewidth.pw1200 {
   width:1200px;
}
@media (max-width: 1240px) {
   .pagewidth.pw1200 {
      width:100%;
      padding-left:20px;
      padding-right:20px;
   }
}
.pagewidth.pw1400 {
   width:1400px;
}
@media (max-width: 1440px) {
   .pagewidth.pw1400 {
      width:100%;
      padding-left:20px;
      padding-right:20px;
   }
}
.pagewidth.pw1500 {
   width:1500px;
}
@media (max-width: 1540px) {
   .pagewidth.pw1500 {
      width:100%;
      padding-left:20px;
      padding-right:20px;
   }
}
.pagewidth.pw1800 {
   width:1800px;
}
@media (max-width: 1840px) {
   .pagewidth.pw1800 {
      width:100%;
      padding-left:20px;
      padding-right:20px;
   }
}



/* general elements */

/* heading separators */
h1.sep-after,
h2.sep-after,
h3.sep-after,
h4.sep-after {
   position:relative;
}
.sep-after::after {
   content:'';
   display:block;
   width:150px;
   height:1px;
   max-width:100%;
   margin:30px 0 30px 0;
   background:#9d2235;
}
.sep-after.thick::after {
   height:3px;
}
.sep-after.center {
   text-align:center;
}
.sep-after.center::after {
   width:250px;
   height:3px;
   margin:40px auto 55px auto;
}
@media (max-width: 767px) {
   .sep-after.center::after {
      margin:30px auto 35px auto;
   }
}

.admin-edit {
   background-color: #00A0D2;
   color: #ffffff;
   padding: 10px 20px;
   margin: 40px 0;
}
.admin-edit a {
   color: #ffffff;
   text-decoration: none;
}
.admin-edit a:hover {
   color: #ffffff !important;
   text-decoration: underline;
}

/* ======================= Masthead ====================== */
#masthead {
   display:block;
   position:fixed;
   top:0;
   left:0;
   width:100%;
   margin:0;
   padding:0;
   z-index:1000;
   background:#000;
   -webkit-transition:  .2s;
   transition:          .2s;
}
/* push it down when WP logged in */
body.logged-in.admin-bar #masthead {
   margin-top: 32px;
}
#masthead::after {
   content:'';
   display:block;
   width:100%;
   height:12px;
   background: linear-gradient(
      to right
      ,#9d2235 0%
      ,#9d2235 60%
      ,#691623 60%
      ,#691623 100%
   );
}
body.location-home #masthead::after {
   display:none;
}
body.location-home.scroll #masthead::after {
   display:block;
}
body.scroll #masthead {
   top:-150px;
}
body.scroll #masthead #logo {
   visibility:hidden;
   opacity:0;
}
#masthead #logo .stacked-logo {
   display:none;
}
#masthead #logo .inline-logo {
   display:block;
}
/* top row of links */
#masthead #top-row a {
   display:block;
   float:left;
   line-height:1;
   padding-top:8px;
}
#masthead #top-row .connect-menu {
   float:left;
}
.connect-menu a.map {
   margin-right:10px;
   color: #ffffff;
   font-size:20px;
}
.connect-menu a.phone {
   margin:0 20px;
   color: #ffffff;
}
.connect-menu a:hover {
   color:#9d2235;
}
.connect-menu a.phone i.fa {
   display:inline-block;
   margin-right:6px;
   font-size:20px;
}
#masthead #top-row a.top-row-button {
   margin-left:3px;
   padding:8px 25px;
   color:#dcdddf;
}
a.loginout {
   background:#394759;
}
#masthead #top-row a.loginout {
   clip-path: polygon(0 0, 100% 0, 100% 100%, 8px 100%, 0 27px);
}
a.loginout:hover {
   background:#344151;
}
a.dashboard,
a.myacct,
a.register {
   background:#2c3745;
}
a.dashboard:hover,
a.myacct:hover,
a.register:hover {
   background:#252e39;
}
a.menu-toggle {
   background:#9d2235;
   position:relative;
}
#masthead #top-row a.menu-toggle {
   padding-bottom:14px;
   padding-right:60px;
   clip-path: polygon(0 0, 100% 0, 100% 100%, 8px 100%, 0 34px);
}
a.menu-toggle:hover {
   background:#851a2a;
}
a.menu-toggle span {
   position:relative;
   display:inline-block;
   margin-left:5px;
   border-top:2px solid #dcdddf;
   border-bottom:2px solid #dcdddf;
}
a.menu-toggle span {
   width:27px;
   height:14px;
}
#masthead #top-row a.menu-toggle span {
   display:block;
   position:absolute;
   top:11px;
   right:20px;
}
a.menu-toggle span::before {
   content:'';
   display:block;
   position:absolute;
   top:4px;
   width:100%;
   height:2px;
   background:#dcdddf;
}

#masthead #logo {
   width:180px;
   position:absolute;
   top:0;
   left:0;
   visibility:visible;
   opacity:1;
   -webkit-transition:  .2s;
   transition:          .2s;
}

/* home page adjustments */
body.location-home #masthead {
   background:rgba(0,0,0,0.8);
}
body.location-home #masthead #logo .stacked-logo {
   display:block;
}
body.location-home #masthead #logo .inline-logo {
   display:none;
}

#masthead #nav-wrap {
   width:calc(100% - 150px);
   float:right;
   padding-top:50px;
}
/* main nav (menu shared with scrolling header) */
ul.main-nav {
   float:left;
   margin:0;
   padding:0;
}
ul.main-nav > li {
   margin:0;
   padding:0;
   float:left;
   list-style:none;
   position:relative;
}
ul.main-nav > li > a {
   display:block;
   color:#dcdddf;
   font-size:20px;
   text-transform:uppercase;
   padding:0 35px 30px 35px;
}
ul.main-nav > li.has-submenu > a::after {
   content:'';
   position:absolute;
   top:24px;
   left:40px;
   width:16px;
   height:16px;
   border-right:2px solid rgba(255,255,255,0.5);
   border-bottom:2px solid rgba(255,255,255,0.5);
   transform:rotate(45deg);
}
ul.main-nav > li > a:hover::after {
   border-color:#9d2235;
}
ul.main-nav > li > a:hover {
   color:#9d2235;
}
ul.main-nav li ul {
   display:none;
   position:absolute;
   z-index:999;
   width:400px;
   top:100%;
   left:0;
   margin:0;
   padding:20px 0;
   background:#f7f8f8;
   border-left:3px solid #9d2235;
}
ul.main-nav li ul li {
   margin:0;
   padding:0;
   list-style:none;
}
ul.main-nav li ul li a {
   display:block;
   color:#000;
   width:290px;
   max-width:100%;
   padding:7px 0 7px 35px;
}
ul.main-nav li ul li a:hover {
   color:#000;
   background:#dcdddf;
}

/* social links (some styles shared in footer) */
#masthead #nav-wrap ul.social-nav {
   margin:0;
   padding:0;
   float:left;
}
#masthead #nav-wrap ul.social-nav li {
   margin:0;
   padding:0;
   float:left;
   list-style:none;
}
/* global */
ul.social-nav li a {
   display:block;
   margin:0 15px;
   font-size:24px;
}
ul.social-nav li a.facebook {
   color:#3a5c9a;
}
ul.social-nav li a.linkedin {
   color:#137cb7;
}
ul.social-nav li a.instagram {
   color:#de413e;
}
ul.social-nav li a:hover {
   color:#dcdddf;
}

/* #mastead mobile */
@media (max-width: 1800px) {
   #masthead .pagewidth.pw1800 {
      padding-right:0;
   }
}
@media (max-width: 1600px) {
   ul.main-nav li ul {
      width:280px;
   }
}
@media (max-width: 1540px) {
   #masthead #logo {
      left:20px;
   }
}
@media (max-width: 1400px) {
   ul.main-nav > li > a {
      padding-left:15px;
      padding-right:15px;
   }
   ul.main-nav > li.has-submenu > a::after {
      left:20px;
   }
}
@media (max-width: 1200px) {
   ul.main-nav > li > a {
      font-size:17px;
   }
}
@media (max-width: 1100px) {
   ul.social-nav li a {
      margin:0 7px;
   }
   ul.main-nav li:last-child ul {
      left:auto;
      right:0;
   }
}
@media (max-width: 1024px) {
   ul.social-nav {
      display:none;
   }
}
@media (max-width: 950px) {
   ul.main-nav > li > a {
      padding-left:10px;
      padding-right:10px;
   }
}
@media (max-width: 875px) {
   #masthead {
      display:none;
   }
}

/* scrolling masthead */
#masthead-scroll {
   position:fixed;
   opacity:0;
   top:0;
   left:0;
   width:100%;
   margin:0;
   padding:0;
   z-index:999;
   -webkit-transition:  .2s;
   transition:          .2s;
}
/* push it down when WP logged in */
body.logged-in.admin-bar #masthead-scroll {
   margin-top: 32px;
}
body.scroll #masthead-scroll {
   opacity:1;
}
#masthead-scroll .scroll-row-1 {
   background:#000;
}
#masthead-scroll .pagewidth {
   display:flex;
}
#masthead-scroll a.logo {
   opacity:1;
   display:block;
   width:180px;
   padding-top:23px;
   -webkit-transition:  .5s;
   transition:          .5s;
}
body.scroll #masthead-scroll a.logo {
   opacity:1;
}
#masthead-scroll .scroll-nav-col {
   width:calc(100% - 555px);
   padding-top:35px;
}
#masthead-scroll .scroll-nav-col ul.main-nav {
   float:right;
}
#masthead-scroll .scroll-nav-col .connect-menu {
   display:none;
}
#masthead-scroll .user-menu {
   width:375px;
}
#masthead-scroll .user-menu a {
   display:flex;
   justify-content:center;
   align-items:center;
   width:calc(100% / 3);
   height:100%;
   float:left;
   text-align:center;
   border-left:3px solid #000;
}
#masthead-scroll .user-menu a.top-row-button {
   padding:0;
   color:#dcdddf;
}
#masthead-scroll .user-menu a.menu-toggle span {
   margin-left:10px;
}
#masthead-scroll .scroll-row-2 {
   padding:10px 0;
   background:rgba(255,255,255,0.9);
}
#masthead-scroll .scroll-row-2 form {
   display:flex;
   width:100%;
   justify-content:center;
}
#masthead-scroll .scroll-row-2 form label {
   display:flex;
   justify-content:center;
   align-items:center;
   font-size:26px;
   color:#4d4d4f;
   text-transform:uppercase;
   margin:0;
   padding:0 10px;
   font-family:jubilat, serif;
}
#masthead-scroll .scroll-row-2 form input[type="text"] {
   font-size:16px;
   padding:8px;
   width:390px;
   border:1px solid #9d2235;
}
#masthead-scroll .scroll-row-2 a.button {
   width:230px;
   margin-left:10px;
}

/* #mastead-scroll mobile */
@media (max-width: 1700px) {
   #masthead-scroll .pagewidth.pw1800 {
      padding-right:0;
   }
   #masthead-scroll ul.main-nav > li > a {
      padding-left:15px;
      padding-right:15px;
   }
}
@media (max-width: 1500px) {
   #masthead-scroll ul.main-nav > li > a {
      font-size:17px;
   }
}
@media (max-width: 1400px) {
   #masthead-scroll .scroll-nav-col ul.main-nav {
      display:none;
   }
   #masthead-scroll .scroll-nav-col {
      float:left;
      padding-top:30px;
   }
   #masthead-scroll .scroll-nav-col .connect-menu {
      display:block;
   }
   #masthead-scroll .connect-menu {
      display:block;
      text-align:right;
   }
   #masthead-scroll .pagewidth {
      display:block;
   }
   #masthead-scroll a.logo {
      float:left;
   }
   #masthead-scroll .user-menu a.top-row-button {
      padding-top:30px;
      padding-bottom:30px;
   }
}
@media (max-width: 1300px) {
   #masthead-scroll .scroll-row-2 {
      display:none;
   }
}
@media (max-width: 875px) {
   #masthead-scroll {
      display:block !important;
      opacity:1;
   }
   #masthead-scroll a.logo {
      opacity:1;
   }
}

/* mobile header */
#masthead-mobile {
   display:none;
   position:fixed;
   top:0;
   left:0;
   width:100%;
   margin:0;
   padding:0;
   z-index:999;
   background:#000;
   -webkit-transition:  .2s;
   transition:          .2s;
}
/* push it down when WP logged in */
body.logged-in.admin-bar #masthead-mobile {
   margin-top: 32px;
}
#masthead-mobile .logo {
   width:180px;
   display:block;
   position:absolute;
   top:10px;
   left:20px;
}
#masthead-mobile .connect-menu {
   display:none;
}
#masthead-mobile .user-menu {
   width:375px;
   float:right;
}
#masthead-mobile .user-menu a {
   display:flex;
   justify-content:center;
   align-items:center;
   width:calc(100% / 3);
   height:80px;
   float:left;
   text-align:center;
   border-left:3px solid #000;
}
#masthead-mobile .user-menu a.top-row-button {
   padding:0;
   color:#dcdddf;
}
#masthead-mobile .user-menu a.menu-toggle span {
   margin-left:10px;
}
@media (max-width: 840px) {
   #masthead,
   #masthead-scroll {
      display:none !important;
   }
   #masthead-mobile {
      display:block;
   }
}
@media (max-width: 600px) {
   #masthead-mobile {
      background:#000;
   }
   #masthead-mobile .user-menu {
      width:100%;
      float:none;
   }
   #masthead-mobile .user-menu a {
      height:45px;
      border-left:3px solid rgba(0,0,0,0.7);
   }
   #masthead-mobile .user-menu a:first-child {
      border-left:none;
   }
   #masthead-mobile .connect-menu {
      display:block;
      padding:13px 0;
      text-align:center;
   }
   #masthead-mobile .logo {
      width:250px;
      position:static;
      top:0;
      left:0;
      margin:0 auto;
   }
}
@media (max-width: 350px) {
   #masthead-mobile .connect-menu {
      padding:10px 0;
   }
   #masthead-mobile .logo {
      width:180px;
   }
}

/* main flyout menu */
.flyout-menu {
   position:fixed;
   z-index:2000;
   width:640px;
   max-width:100%;
   height:100%;
   top:0;
   right:-640px;
   background:#1a1a1a;
}
.flyout-menu .inner {
   position:absolute;
   top:0;
   left:0;
   width:100%;
   height:100%;
   padding:20px 0px 0px 120px;
   overflow-y:auto;
   /* Optional but highly recommended: enables momentum scrolling on iOS */
   -webkit-overflow-scrolling:touch;
}
.flyout-menu .flyout-logo {
   display:block;
   margin:0 0 40px 0;
}
.flyout-menu .inner > ul {
   margin-bottom:30px;
   padding-bottom:10px;
   border-bottom:2px solid #9d2235;
}
.flyout-menu .inner > ul:last-child {
   border:none;
}
.flyout-menu .inner ul li {
   font-size:24px;
}
.flyout-menu a.close-flyout {
   display:block;
   position:absolute;
   z-index:100;
   top:30px;
   right:50px;
   width:60px;
   height:60px;
}
.flyout-menu a.close-flyout svg > path {
   fill:transparent;
   stroke:#4b4b4d;
   stroke-width:2;
   stroke-linejoin:round;
}
@media (max-width: 670px) {
   .flyout-menu .inner {
      padding-left:60px;
   }
   .flyout-menu a.close-flyout {
      width:40px;
      height:40px;
   }
}

body:not(.location-home) #content-wrap {
   padding:158px 0 0px 0;
   background:#fff;
}
@media (max-width: 1200px) {
   body:not(.location-home) #content-wrap {
      padding-top:155px;
   }
}
@media (max-width: 875px) {
   body:not(.location-home) #content-wrap {
      padding-top:80px;
   }
}
@media (max-width: 600px) {
   body:not(.location-home) #content-wrap {
      padding-top:180px;
   }
}

/* breadcrumbs */
.breadcrumbs {
   padding-bottom:40px;
}
.breadcrumbs span {
   color:#333;
   -webkit-transition:  .3s;
   transition:          .3s;
}
.breadcrumbs a span {
   color:#888;
}
.breadcrumbs a:hover span {
   color:#ff5100;
}

/* ======================= page/post ======================= */
/* .client-ui indicates where content should follow consistent styling */
h1.page-title,
h2.page-title {
   font-weight:200;
   font-size:42px;
   padding-top:30px;
   text-transform:uppercase;
}
.client-ui {
   padding-bottom: 30px;
}
.client-ui h2.sep-after::after {
   content:'';
   display:block;
   width:100px;
   height:1px;
   margin:20px 0;
   background:#9d2235;
}
h2.border-under {
   text-transform:uppercase;
   font-weight:200;
   font-size:36px;
   padding:0 0 5px 0;
   border-bottom:1px solid #9d2235;
}
.client-ui a:not(.button):not(.wp-block-button__link):not(.more-arrow):not(.svg):hover {
   color:#9d2235;
   text-decoration:underline;
}
.client-ui p {
   line-height:1.5;
   margin:0 0 15px 0;
}
.client-ui ul,
.client-ui ol {
   margin:0 0 15px 30px;
   padding:0;
   line-height:1.5;
}
.client-ui blockquote {
   margin:30px 80px 40px 80px;
}
.client-ui blockquote p {
   font-size:24px;
   font-style:italic;
}
.client-ui blockquote cite {
   font-weight:500;
}
.client-ui table {
   border-collapse:collapse;
}
.client-ui table tr {
   padding:10px;
}
.client-ui table td {
   padding:10px;
   border:1px solid #ccc;
}
.client-ui figure.wp-block-table figcaption {
   text-align:center;
   font-size:16px;
   font-style:italic;
   padding:5px 0;
}
.client-ui label {
   display:block;
   font-weight:500;
   margin:0 0 5px 0;
}
.client-ui input,
.client-ui select,
.client-ui textarea {
   margin:0 0 15px 0;
   padding:8px 10px;
   border:1px solid #ccc;
   font-size:18px;
   -moz-border-radius:     0px;
   -webkit-border-radius:  0px;
   border-radius:          0px;
   -khtml-border-radius:   0px;
}
.client-ui input[type="text"] {
   display:block;
   width:300px;
}
.client-ui select {
   display:block;
   min-width:300px;
   cursor:pointer;
   -webkit-appearance:none;
   -moz-appearance:none;
   appearance:none; /* Remove default arrow */
   background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='12' height='8' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1.21.85L6 5.64 10.79.85 11.94 2 6 7.94.06 2z' fill='%23777777'/%3E%3C/svg%3E");
   background-repeat:no-repeat;
   background-position:96% center;
}
.client-ui select:hover {
   background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='12' height='8' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1.21.85L6 5.64 10.79.85 11.94 2 6 7.94.06 2z' fill='%23000000'/%3E%3C/svg%3E");
}
.client-ui select::-ms-expand {
    display: none; /* Hide the default arrow in Internet Explorer 10 and Internet Explorer 11 */
}
.client-ui textarea {
   display:block;
   width:600px;
   max-width:100%;
}
.client-ui blockquote {
   margin:0;
   padding:50px;
}
.client-ui blockquote p {
   font-size:26px;
   font-weight:italic;
   line-height:1.6;
   text-align:center;
   margin:0 0 25px 0;
}
.client-ui blockquote figcaption cite {
   display:block;
   font-size:26px;
   font-weight:500;
   text-align:center;
}

/* single.php */
body.single #primary.hex-left-bg::before {
   top:220px;
   z-index:0;
}
.post-intro {
   position:relative;
   z-index:200;
   margin-bottom:-250px;
}
.single .no-thumb .post-intro {
   margin-bottom: 0;
}
.single-post h1.page-title {
   text-transform:none;
   font-weight:500;
   margin-bottom:10px;
   padding:0 400px 0 0;
   font-family:'Roboto', sans-serif;
}
.single-post a.category-button {
   display:block;
   float:none;
   margin:0 0 20px 0;
}
.post-user-ui {
   margin:0 0 10px 0;
}
.post-user-ui a.share-post {
   display:block;
   float:left;
   color:#4d4d4f;
   font-size:18px;
   margin:0 15px 0 0;
   padding:3px 20px;
   background:#dcdddf;
}
.post-user-ui a.share-post.more-arrow::after {
   border-color:#4d4d4f;
}
.post-user-ui a.share-post:hover {
   background:#ccc;
}
.post-user-ui a.print-post {
   float:left;
   position:relative;
   top:-5px;
   font-size:28px;
}
.single-post .post-featured-img {
   margin:0 0 60px 0;
   position:relative;
   z-index:50;
}
.single-post .post-featured-img img {
   display:block;
   max-height:500px;
   width:auto;
}
.single-post .post-content {
   position:relative;
   top:0;
   background: linear-gradient(
      to right
      ,#eaebec 0%
      ,#eaebec 40%
      ,transparent 40%
      ,transparent 100%
   );
}
.single-post .post-content .pagewidth {
   background:#eaebec;
}
.single-post .post-content .inner {
   position:relative;
   z-index:50;
   padding:250px 200px 60px 200px;
}
.single-post.no-thumb .post-content .inner {
   padding-top: 50px;
}
.single-post .posts-nav {
   width:260px;
   float:right;
   margin-bottom: 30px;
}
.single-post .posts-nav a {
   display:block;
   font-size:18px;
   font-weight:400;
   text-transform:uppercase;
}
.single-post .posts-nav a:hover {
   color:#000;
}
.single-post .posts-nav a[rel="prev"] {
   float:left;
}
.single-post .posts-nav a[rel="next"] {
   float:right;
}
@media (max-width: 1100px) {
   .single-post .post-content .inner {
      padding-left:0;
   }
}
@media (max-width: 900px) {
   .single-post .post-content .inner {
      padding:230px 0px 50px 0px;
   }
   .single-post h1.page-title {
      padding:25px 0 0 0;
   }
}
@media (max-width: 600px) {
   .single-post h1.page-title {
      font-size:36px;
   }
}

/* related posts */
.related-posts {
   padding:20px 0 0 0;
}
.related-posts h2.border-under {
   color:#dcdddf;
}
.related-posts #local-vendors h2.sep-after {
   color:#dcdddf;
}
.related-posts .post-archive {
   padding:10px 0 20px 0;
}
.related-posts .border {
   border-top:1px solid #9d2235;
}
@media (max-width: 1440px) {
   .related-posts h2.border-under.pagewidth.pw1400 {
      padding-left:0;
      padding-right:0;
   }
   .related-posts {
      padding:20px 20px 0 20px;
   }
   body.single #local-vendors .vendor-img-row {
      background:none;
   }
}
@media (max-width: 700px) {
   body.single #local-vendors .vendor-links-row {
      border-bottom:none;
   }
}
@media (max-width: 600px) {
   body.single #local-vendors .vendor-img-row {
      padding:0;
      background:none;
   }
}

/* local vendors (altered from home page) */
body.single #local-vendors .vendor-img-row {
   padding-bottom:0;
}

body.single .big-vendor-wrap img.stroked,
body.single .small-vendor-wrap img.stroked {
   outline:  1px solid #eaeaea;
}

/* when on a page is made with BB remove pagewidth restriction */
body.fl-builder #primary .client-ui.pagewidth.pw1400 {
   width:100%;
}

/* archive for blog posts (resources) */
a.category-button {
   display:block;
   width:200px;
   padding:4px 7px;
   line-height:1;
   font-size:16px;
   text-transform:uppercase;
   color:#fff;
   background:#9d2235;
}
a.category-button:hover {
   color:#fff !important;
   text-decoration:none !important;
   background:#851a2a;
}

.page-head {
   padding:0 0 50px 0;
}

/* page head with gray / dark gray tiled background */
.page-head.style-2 {
   margin:0 0 60px 0;
   padding:30px 0 0 0;
   background: linear-gradient(
      to right
      ,#49535d 0%
      ,#49535d 40%
      ,#1f2326 40%
      ,#1f2326 100%
   );
}
.page-head.style-2 h1.page-title,
.page-head.style-2 h2.page-title {
   margin:0;
   padding:0;
   color:#dcdddf;
}
/* same for blog section */
.page-head.style-2.blog-head {
   margin:0 0 20px 0;
}
@media (max-width: 1200px) {
   .page-head.style-2 {
      background: linear-gradient(
         to right
         ,#49535d 0%
         ,#49535d 90%
         ,#1f2326 90%
         ,#1f2326 100%
      );
   }
}
@media (max-width: 500px) {
   .page-head.style-2 {
      background:#49535d;
   }
}

.search-row .search-wrap {
   width:340px;
   float:right;
}
.search-row .search-wrap form {
   display:flex;
}
.search-row .search-wrap input[type="text"] {
   display:block;
   width:calc(100% - 100px);
   padding:10px 10px 10px 40px;
   font-size:16px;
   border:1px solid #9d2235;
   background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='20' height='20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M20 18.711l-6.044-6.044a7.782 7.782 0 0 0 1.688-4.845c0-2.089-.822-4.044-2.288-5.533C11.866.822 9.91 0 7.822 0S3.778.822 2.29 2.289A7.801 7.801 0 0 0 0 7.822c0 2.09.822 4.045 2.289 5.534a7.801 7.801 0 0 0 5.533 2.288c1.778 0 3.467-.6 4.845-1.688L18.71 20 20 18.711zM3.578 12.067c-2.334-2.334-2.334-6.156 0-8.49a5.968 5.968 0 0 1 4.244-1.755c1.6 0 3.111.622 4.245 1.756 2.333 2.333 2.333 6.155 0 8.489a5.968 5.968 0 0 1-4.245 1.755c-1.6 0-3.11-.622-4.244-1.755z' fill='%235D5D5D'/%3E%3C/svg%3E");
   background-repeat:no-repeat;
   background-position:7px 10px;
}
.search-row .search-wrap input[type="submit"] {
   width:100px;
   font-size:16px !important;
}

#feature-post {
   background:#eaebec;
   position:relative;
   margin:150px 0 0 0;
}
#feature-post .pagewidth {
   top:-100px;
   background:#fff;
   display:flex;
}
#feature-post .post-content {
   width:60%;
   padding:23px 110px 60px 60px;
}
#feature-post .post-content h3 {
   margin:0 0 30px 0;
}
#feature-post .post-content h3 a {
   color:#000;
   font-weight:500;
}
#feature-post .post-content h3 a:hover {
   color:#9d2235;
}
#feature-post .post-content p {
   line-height:1.4;
}
#feature-post .post-content a.category-button {
   margin-bottom:20px;
}
#feature-post .post-content .excerpt {
   font-size:20px;
   margin-bottom:40px;
}
#feature-post .post-content a.more-arrow {
   font-weight:500;
}
#feature-post .post-content a.more-arrow::after {
   border-color:#9d2235;
}
#feature-post .post-content a.more-arrow:hover::after {
   border-color:#000;
}
#feature-post a.thumb {
   display:block;
   width:40%;
   background-repeat:        no-repeat;
   background-position:      center center;
   -webkit-background-size:  cover;
   -moz-background-size:     cover;
   -o-background-size:       cover;
   background-size:          cover;
}
.archive-head {
   padding:0 0 10px 0;
   background:#eaebec;
}
.archive-head h2 {
   margin-bottom:0;
}
.post-archive-wrap {
   position:relative;
}
.post-archive-wrap::before,
.post-archive-wrap::after {
   content:'';
   display:block;
   position:absolute;
   z-index:1;
   left:0;
   width:100%;
   height:120px;
}
.post-archive-wrap::before {
   top:0;
   background:#eaebec;
}
.post-archive-wrap::after {
   bottom:0;
   background:#fff;
}
.post-archive.pagewidth.pw1400 {
   width:1430px;
   text-align:center;
   z-index:50;
}
@media (max-width: 1700px) {
   #feature-post.corner-fold.top-right::after {
      display:none;
   }
}
@media (max-width: 1500px) {
   #feature-post {
      margin:50px 0;
      background:none;
   }
   #feature-post .pagewidth {
      top:0;
   }
   #feature-post .post-content {
      padding:23px 30px 30px 0px;
   }
   .archive-head {
      padding-top:30px;
   }
}
@media (max-width: 1200px) {
   #feature-post {
      margin-top:20px;
   }
   #feature-post .post-content {
      width:50%;
   }
   #feature-post a.thumb {
      width:50%;
   }
   #feature-post .post-content p {
      font-size:18px;
   }
}
@media (max-width: 767px) {
   .search-row .search-wrap {
      float:none;
   }
   #feature-post .pagewidth {
      display:block;
   }
   #feature-post .post-content {
      width:100%;
      padding:0 0 30px 0;
   }
   #feature-post a.thumb {
      width:100%;
      height:300px;
   }
   #feature-post {
      margin:40px 0;
   }
}
@media (max-width: 400px) {
   .search-row .search-wrap {
      width:100%;
   }
}

/* archive results post block */
.post-result {
   display:block;
   float:left;
   position:relative;
   width:calc(100% / 3 - 30px);
   margin:15px;
}
.post-result .content-overlay {
   position:absolute;
   overflow:hidden;
   width:100%;
   height:100%;
   top:0;
   left:0;
}
.post-result a.category-button {
   position:absolute;
   top:0;
   left:0;
}
.post-result a.thumb {
   display:block;
   height:68%;
   background-repeat:        no-repeat;
   background-position:      center center;
   -webkit-background-size:  cover;
   -moz-background-size:     cover;
   -o-background-size:       cover;
   background-size:          cover;
}
.post-result .post-title {
   padding: 15px 30px;
   text-align:center;
}
.post-result .post-title h3 {
   font-weight:500;
   margin:0;
   font-size:24px;
   text-align:center;
}
.post-result .post-title h3 a {
   color:#000;
}
.post-result .post-title h3 a:hover {
   color:#9d2235;
}
.post-result a.more-arrow {
   position:absolute;
   width:100%;
   left:0;
   bottom:20px;
   font-size:16px;
   font-weight:400;
}
.post-result a.more-arrow::after {
   border-color:#9d2235;
   top:0;
   left:4px;
}
.post-result a.more-arrow:hover::after {
   border-color:#000;
   left:8px;
}
/* when vendor tile is used */
.post-result.vendor {
   background:none;
   border-bottom:1px solid transparent; /* required to keep .post-result boxes from shifting on resize */
}
@media (max-width: 1440px) {
   .post-archive.pagewidth.pw1400 {
      width:calc(100% + 30px);
      margin-left:-15px;
   }
}
@media (min-width: 1030px) and (max-width: 1430px) {
   .post-result .post-title {
      padding:15px;
   }
   .post-result .post-title h3 {
      font-size:18px;
   }
   .post-result a.more-arrow {
      bottom:15px;
   }
}
@media (max-width: 1029px) {
   .post-result {
      width:calc(100% / 2 - 30px);
   }
}
@media (min-width: 650px) and (max-width: 840px) {
   .post-result .post-title {
      padding:15px;
   }
   .post-result .post-title h3 {
      font-size:18px;
   }
   .post-result a.more-arrow {
      bottom:15px;
   }
}
@media (max-width: 650px) {
   .post-result {
      max-width:450px;
      width:100%;
      margin:15px 0;
   }
   .post-archive.pagewidth.pw1400 {
      width:100%;
      margin-left:0;
   }
   .post-archive .post-result {
      width:100%;
   }
   .post-result .post-title {
      padding:20px;
   }
}
@media (max-width: 400px) {
   .post-result .post-title {
      padding:5px 20px 0 20px;
   }
   .post-result .post-title h3 {
      font-size:20px;
   }
   .post-result a.more-arrow {
      bottom:10px;
   }
}

/* search */
h1.page-title span.search-terms {
   text-transform:none;
   font-style:italic;
}

.paginate {
   text-align:center;
   padding:30px 0;
   text-transform:uppercase;
}
.paginate .page-numbers {
   display:inline-block;
   margin:0 5px;
}

/* ======================= /template-parts ======================= */

#mask {
   display:none;
   background:rgba(0,0,0,0.3);
   position:fixed;
   left:0;
   top:0;
   width:100%;
   height:100%;
   z-index:9000;
}

/* location switcher lightbox */
#location-select {
   display:block;
   position:fixed;
   top:0;
   left:50%;
   margin-left:-700px;
   z-index:9999;
   width:1400px;
   text-align:center;
}
#location-select .inner {
   position:absolute;
   top:0;
   left:0;
   width:100%;
   height:100vh;
   padding:220px 50px 0px 50px;
   overflow-y:auto;
   -webkit-overflow-scrolling:touch;
   background:rgba(220,221,223,0.95);
}
#location-select h2 {
   text-align:center;
   font-size:42px;
}
#location-select h2 span {
   display:block;
   font-size:62px;
}
#location-select h2::after {
   margin:20px auto;
}
#location-select h3 {
   text-align:center;
   font-size:42px;
   margin:0 0 40px 0;
}
#location-select a.button {
   position:relative;
   width:230px;
   margin-bottom:15px;
}
#location-select a.button::before {
   content:'';
   display:block;
   opacity:0;
   width:0;
   height:0;
   position:absolute;
   top:-20px;
   left:50%;
   margin-left:-7px;
   border-left:   10px solid transparent;
   border-right:  10px solid transparent;
   border-top:    14px solid #851a2a; /* the hover bg color */
   -webkit-transition:  .3s;
   transition:          .3s;
}
#location-select a.button.gray::before {
   opacity:1;
   border-top-color:#4d4d4f;
}
#location-select a.button:not(.gray):hover::before {
   opacity:1;
}
#location-select a.close {
   display:block;
   position:absolute;
   z-index:100;
   top:90px;
   right:20%;
   width:60px;
   height:60px;
}
#location-select a.close svg > path {
   fill:transparent;
   stroke:#4b4b4d;
   stroke-width:2;
   stroke-linejoin:round;
}
#location-select a.close:hover svg > path {
   stroke:#9d2235;
}
@media (max-width:1400px) {
   #location-select {
      left:0;
      margin-left:0;
      width:100%;
   }
   #location-select a.close {
      right:100px;
   }
}
@media (max-width:767px) {
   #location-select a.close {
      right:30px;
      top:30px;
      width:40px;
      height:40px;
   }
   #location-select .inner {
      padding:50px 20px 20px 20px;
   }
   #location-select h2 {
      font-size:34px;
   }
   #location-select h2 span {
      font-size:52px;
   }
   #location-select h3 {
      font-size:34px;
   }
   #location-select a.button {
      display:block;
      margin:0 auto 27px auto;
   }
}
@media (max-width:500px) {
   #location-select .inner {
      padding-top:90px;
   }
   #location-select h2 {
      font-size:30px;
   }
   #location-select h2 span {
      font-size:42px;
   }
   #location-select h3 {
      font-size:30px;
   }
   #location-select h3 span {
      display:block;
   }
}
@media (max-width:400px) {
   #location-select h2 {
      font-size:24px;
   }
   #location-select h2 span {
      font-size:30px;
   }
   #location-select h3 {
      font-size:24px;
   }
   #location-select h3 span {
      display:block;
   }
}

/* template part: vendor links */
#local-vendors {
   padding:100px 0 0 0;
}
#local-vendors h2.sep-after {
   text-align:center;
   font-size:56px;
   margin-bottom:120px;
   padding:0 20px;
   text-transform:uppercase;
}
#local-vendors .vendor-img-row {
   padding-bottom:30px;
   background: #3A0000;
   background: -webkit-linear-gradient(bottom, #3A0000, #010000);
   background: -moz-linear-gradient(bottom, #3A0000, #010000);
   background: linear-gradient(to top, #3A0000, #010000);
}
#local-vendors .vendor-img-row .pagewidth {
   display:flex;
   justify-content:center;
}
#local-vendors .vendor-img-row a.post-result {
   display:block;
   margin-top:-70px;
}
#local-vendors .vendor-links-row {
   border-bottom:3px solid #9d2235;
}
#local-vendors .vendor-links-row a.more-arrow {
   width:50%;
   float:left;
   font-size:20px;
   padding-top:15px;
   padding-bottom:15px;
   color:#dcdddf;
}
#local-vendors .vendor-links-row a:nth-child(1) {
   text-align:right;
   padding-right:325px;
   background:#9d2235;
}
#local-vendors .vendor-links-row a:nth-child(1)::after {
   border-color:#fff;
}
#local-vendors .vendor-links-row a:nth-child(2) {
   text-align:left;
   padding-left:325px;
   background:#394149;
}
#local-vendors .vendor-links-row a:nth-child(2)::after {
   border-color:#fff;
}
@media (max-width: 1800px) {
   #local-vendors .vendor-links-row a {
      text-align:center !important;
   }
   #local-vendors .vendor-links-row a:nth-child(1) {
      padding-right:0;
   }
   #local-vendors .vendor-links-row a:nth-child(2) {
      padding-left:0;
   }
}
@media (max-width: 700px) {
   #local-vendors .vendor-links-row a.more-arrow {
      width:100%;
      float:none;
      padding-left:20px !important;
      text-align:left !important;
   }
}
@media (max-width: 600px) {
   #local-vendors {
      padding-top:70px;
   }
   #local-vendors h2.sep-after {
      margin-bottom:30px;
      line-height:1;
      font-size:46px;
   }
   #local-vendors h2.sep-after::after {
      margin:20px auto;
   }
   #local-vendors .vendor-img-row {
      padding:20px;
   }
   #local-vendors .vendor-img-row .pagewidth {
      display:block;
      padding:0 !important;
   }
   #local-vendors .vendor-img-row a.post-result {
      width:auto;
      float:none;
      margin:0 auto 15px auto;
   }
}
@media (max-width: 375px) {
   #local-vendors .vendor-links-row a.post-result {
      font-size:16px;
   }
}

/* template part: newsletter */
#newsletter-row {
   background:#25282a;
}
body:not(.location-home) #newsletter-row {
   border-top:3px solid #9d2235;
}
#newsletter-row .pagewidth {
   display:flex;
   padding-top:50px;
   padding-bottom:50px;
   background:url(assets/images/logo-watermark.png) no-repeat 35px center;
}
#newsletter-row .heading-col {
   width:45%;
}
#newsletter-row .heading-col h2 {
   color:#dcdddf;
   text-align:center;
   font-size:36px;
   margin:0;
   text-transform:uppercase;
}
#newsletter-row .form-col {
   width:55%;
   display:flex;
   justify-content:center;
   align-items:center;
}
#newsletter-row .form-col form {
   width:90%;
}
#newsletter-row .form-col input {
   display:block;
   margin:0;
   padding:10px;
   border:2px solid #9d2235;
   float:left;
   font-size:16px;
}
#newsletter-row .form-col input[type="email"] {
   background:#fff;
   width:70%;
}
#newsletter-row .form-col input[type="submit"] {
   background:#9d2235;
   color:#dcdddf;
   width:30%;
   text-transform:uppercase;
   text-align:center;
   -webkit-transition:  .3s;
   transition:          .3s;
}
#newsletter-row .form-col input[type="submit"]:hover {
   background:#851a2a;
   border-color:#851a2a;
}
@media (max-width: 1050px) {
   #newsletter-row .pagewidth {
      display:block;
   }
   #newsletter-row .heading-col {
      width:100%;
      float:none;
      margin:0 0 30px 0;
   }
   #newsletter-row .form-col {
      width:100%;
      float:none;
   }
}
@media (max-width: 600px) {
   #newsletter-row .form-col form {
      width:100%;
   }
   #newsletter-row .heading-col h3 {
      line-height:1;
   }
}

/* ======================= footer.php ======================= */
#footer {
   background:#000;
   padding:60px 0 50px 0;
   border-top:3px solid #9d2235;
}
#footer .footer-nav-col {
   width:75%;
   float:left;
}
#footer .footer-nav-col .clients-row {
   display:flex;
   color:#dcdddf;
   font-size:20px;
   margin:0 0 15px 0;
}
#footer .footer-nav-col .clients-row .clients-col {
   width:66%;
   padding:10px 20px;
   background:#691623;
}
#footer .footer-nav-col .clients-row .clients-col h4 {
   margin:0;
   color:#dcdddf;
   font-size:26px;
}
#footer .footer-nav-col .clients-row .clients-links-col {
   width:34%;
   display:flex;
}
#footer .footer-nav-col .clients-row .clients-links-col a {
   display:flex;
   justify-content:center;
   align-items:center;
   color:#dcdddf;
   width:50%;
   height:100%;
   text-transform:uppercase;
   text-align:center;
}
#footer .footer-nav-col .clients-row .clients-links-col a:nth-child(1) {
   background:#49535d;
}
#footer .footer-nav-col .clients-row .clients-links-col a:nth-child(1):hover {
   background:#40484f;
}
#footer .footer-nav-col .clients-row .clients-links-col a:nth-child(2) {
   background:#394149;
}
#footer .footer-nav-col .clients-row .clients-links-col a:nth-child(2):hover {
   background:#2f353b;
}
/* menu columns */
#footer .footer-nav-col .footer-menus-row {
   display:flex;
}
#footer .footer-nav-col .footer-menus-row > ul {
   width:33%;
   margin:0;
   padding:30px 30px 10px 30px;
   font-size:20px;
}
#footer .footer-nav-col .footer-menus-row > ul:nth-child(1) {
   background:#252a2f;
}
#footer .footer-nav-col .footer-menus-row > ul:nth-child(2) {
   background:#1d2125;
}
#footer .footer-nav-col .footer-menus-row > ul:nth-child(3) {
   width:34%;
   background:#131415;
}
ul.menu-list > li {
   margin:0 0 20px 0;
   padding:0;
   list-style:none;
   color:#dcdddf;
   text-transform:uppercase;
   line-height:1.5;
}
ul.menu-list > li > a {
   display:block;
   color:#dcdddf;
}
ul.menu-list li a:hover {
   color:#9d2235;
}
ul.menu-list li ul li {
   margin:0;
   padding: 0 0 0 20px;
   list-style:none;
   text-transform:none;
}
ul.menu-list li ul li a {
   color:#949596;
}
#footer .footer-logo-col {
   width:25%;
   float:left;
   color:#dcdddf;
   text-align:center;
}
#footer .footer-logo-col p {
   margin:0 0 25px 0;
}
#footer .footer-logo-col p img {
   max-width:200px;
   height:auto;
}
.footer-bol-icon {
   padding-top: 40px;
}
#footer .footer-logo-col p.address {
   font-size:20px;
}
#footer .footer-logo-col .phone a {
   font-size:26px;
   color:#dcdddf;
}
/* social links */
#footer .footer-logo-col ul.social-nav {
   margin:0;
   padding:0;
   text-align:center;
}
#footer .footer-logo-col ul.social-nav li {
   margin:0;
   padding:0;
   display:inline-block;
   list-style:none;
}
#footer .footer-logo-col ul.social-nav li a {
   display:block;
   margin:0 15px;
   font-size:24px;
}

#copyright {
   background:#101213;
   padding:15px 0;
   color:#dcdddf;
   font-size:14px;
   text-align:center;
}
#copyright a {
   color:#dcdddf;
}
#copyright a:hover {
   color:#9d2235;
}
#copyright span {
   display:inline-block;
   padding:0 5px;
}
#copyright span.sep {
   color:#a31f34;
}

#development-bar {
   background-color: yellow;
   padding: 10px;
   text-align: center;
   display: none;
}
#development-bar pre {
   text-align: left;
}

@media (max-width: 1100px) {
   #footer .footer-nav-col {
      width:100%;
      float:none;
   }
   #footer .footer-logo-col {
      width:100%;
      padding-top:60px;
      float:none;
   }
}
@media (max-width: 850px) {
   #footer .footer-nav-col .footer-menus-row > ul {
      padding:30px 20px 10px 20px;
   }
}
@media (max-width: 767px) {
   #footer .pagewidth.pw1400 {
      padding-left:0;
      padding-right:0;
   }
   #footer .footer-nav-col .clients-row {
      display:block;
   }
   #footer .footer-nav-col .clients-row .clients-col {
      width:100%;
   }
   #footer .footer-nav-col .clients-row .clients-links-col {
      width:100%;
   }
   #footer .footer-nav-col .clients-row .clients-links-col a {
      padding:20px 0;
   }
   #footer .footer-nav-col .footer-menus-row {
      display:block;
   }
   #footer .footer-nav-col .footer-menus-row > ul {
      width:100% !important;
   }
   #copyright span.text,
   #copyright a {
      display:block;
      padding:5px 0;
   }
   #copyright span.sep {
      display:none;
   }
}

/* ======================= Page Template General ======================= */

/* Column Classes */
.castle-col-wrap         { float: left;    width: 100%; }
/*.castle-col-full         { width: 100%;    margin: 0 0;     float: left; }*/
.castle-col-half         { width: 45%;     margin: 0 2.5%;  float: left; }
/*.castle-col-third        { width: 30%;     margin: 0 1.66%; float: left; }
.castle-col-two-thirds   { width: 59.32%;  margin: 0 3.66%; float: left; }
.castle-col-reverse-float-mobile-from-right { float: right }
.castle-col-reverse-float-mobile-from-left  { float: left }*/

@media (max-width: 900px) {
   /* Our half columns are too skinny now so stack them */
   .castle-col-half.early-stack  { width: 96%; margin: 0 2%; float: none; }
}

@media (max-width: 767px) {
   /* Our half columns are too skinny now so stack them */
   .castle-col-half  { width: 96%; margin: 0 2%; float: none; }

   /* stack our two third/one third pages */
/*   .castle-col-third        { width: 100%; margin: 20px 0; float: none; }
   .castle-col-two-thirds   { width: 100%; margin: 20px 0; float: none; }
   .castle-col-reverse-float-mobile-from-right { float: left }
   .castle-col-reverse-float-mobile-from-left { float: right }*/
}

.sup-small { font-size: .8rem; vertical-align: super; display: inline-block; }

/* ======================= Info Boxes ======================= */
.notification_box {
   margin: 10px 0px;
   float: left;
   clear: both;
}

.notification_close {
   text-align: center;
   font-weight: normal;
   font-size: 10px;
   float: right;
   clear: both;
   width: 100px;
   margin: 0;
   padding: 6px 15px 6px 0;
   background: #d9d9d9 url('/images/close.png') 96px center no-repeat;
   border-top: 1px solid #000;
   border-left: 1px solid #000;
   border-right: 1px solid #000;
}

.infoText, .successText, .warningText, .errorText {
   clear: both;
   float: left;
   margin: 0;
   padding: 10px 20px;
}

.infoText ul, .successText ul, .warningText ul, .errorText ul { padding: 5px 5px 0 0; margin: 0; }

.infoText li, .successText li, .warningText li, .errorText li { margin: 5px 0 5px 20px; }

.infoText p, .successText p, .warningText p, .errorText p { margin: 0 0 5px 0; }
.infoText p:last-child, .successText p:last-child, .warningText p:last-child, .errorText p:last-child { margin-bottom: 0; }

.infoText   { color: #00529b; background-color: #bde5f8; border: 1px solid #00529b; border-left: 5px solid #00529b; }
.infoText a { color: #00529b; text-decoration: underline; }

.successText { color: #4f8a10; background-color: #dff2bf; border: 1px solid #4f8a10; border-left: 5px solid #4f8a10; }
.successText a { color: #4f8a10; text-decoration: underline; }

.warningText { color: #9f6000; background-color: #ffffff; border: 1px solid #9f6000; border-left: 5px solid #9f6000; }
.warningText a { color: #9f6000; text-decoration: underline; }

.errorText {  color:#000; background-color: rgba(255, 0, 51, 0.025); border: 1px solid rgba(255, 0, 51, 0.50); border-left: 5px solid #ff0033; }
.errorText a   { color: #000; text-decoration: underline; }

/* ======================= DsForm Overrides ======================= */

form.dsform { margin-bottom: 40px; }
form.dsform label {
   text-align: left;
}
form.dsform .error-message {
   border: 1px solid rgba(255, 0, 51, 0.50);
   border-left: 5px solid #ff0033;
   background-color: rgba(255, 0, 51, 0.025);
   color:#000;
   margin: 15px 0;
   padding: 15px 20px;
}
form.dsform .form-button-container {
   margin-left: 0;
}
form.dsform .submit-button-replacement {
   color: #851a2a;
   font-size: 1.2em;
}
form.dsform input.state { width: 40px !important; }

/* Login Page DsForm */
form#login label { width: 160px; }
form#login .form-button-container { margin: 0 0 0 170px; }

@media only screen and (max-width : 1140px) {
   form#login label { width: 100%; }
   form#login .form-button-container { margin-left: 0 }
}

/* Reset Password DsForm */
form#reset-password label { width: 160px; }
form#reset-password .form-button-container { margin: 0 0 0 170px; }
@media only screen and (max-width : 1140px) {
   form#reset-password label { width: 100%; }
   form#reset-password .form-button-container { margin-left: 0 }
}

/* Password Change DsForm */
form#password-change label { width: 205px; }
form#password-change .form-button-container{ margin: 0 0 0 215px; }
@media only screen and (max-width : 1140px) {
   form#password-change label { width: 100%; }
   form#password-change .form-button-container { margin-left: 0 }
}

/* Register Page DsForm */
form#register label { width: 180px; }
form#register .form-button-container { margin-left: 190px; }
form#register div.input-container.radio-check-container { width: auto; }
form#register div.radio-checkbox-row div { width: auto; }

/* Join Castle Realty Application */
#join-castle-form { padding-top: 0; }
#join-castle-form label       { width: 225px; }
#join-castle-form fieldset    { border: none; width: 100%; }
#join-castle-form legend      {  background-color: #eee; border: 1px solid #ccc; font-size: 18px; font-weight: bold;
                                 padding: 6px 10px; width: 100%; }
#join-castle-form .form-button-container { padding-top: 15px; margin-left: 0; }
#join-castle-form label[for="protection_question"] { width: 230px; }

#join-castle-form div.input-container.radio-check-container,
#join-castle-form div.radio-checkbox-row div { width: auto; }

#join-castle-form h3 { margin: 35px 0 6px 0; }

#join-castle-form .most { float: left; min-width: 190px; }
#join-castle-form .most label { width: 75px; }

#join-castle-form .least { float: left; min-width: 190px; margin-left: 15px; }
#join-castle-form .least label { width: 75px; }

/* Moving Request */
#truck-trailer-form h3 { margin: 30px 0 10px 0; }
#truck-trailer-form label { width: 150px; }
#truck-trailer-form fieldset { width: 90%; }
#truck-trailer-form .form-button-container { margin: 30px 0; }
#truck-trailer-form .input-container.radio-check-container { width: auto; }
#truck-trailer-form label[for="cdl"],
#truck-trailer-form label[for="manual"] { width: 225px; }
#truck-trailer-form .spacer-label { display: none; }

/* Tote Request */
#tote-form { margin: 20px; }
#tote-form h3 { margin: 30px 0 10px 0; }
#tote-form label { width: 150px; }
#tote-form fieldset { width: 90%; }
#tote-form .form-button-container { margin: 30px 0; }
#tote-form .input-container.radio-check-container { width: auto; }
#tote-form label[for="amt"] { width: auto; }
#tote-form .spacer-label { display: none; }
#tote-form div.radio-checkbox-row div { width: auto; }

/* Open House Signup */
#open-house-form .spacer-label { display: none; }

/* Free home valuation DsForm */
form#free-home-valuation-frm label { width: 180px; }
form#free-home-valuation-frm .form-button-container { margin-left: 190px; }

body.location-home form#free-home-valuation-frm label { text-align: left; }



/* Thank you for listing survey */
#thank-you-for-listing-form label { width: 100%; float: none; text-align: left; margin-bottom: 10px; }
#thank-you-for-listing-form p.sub-note { clear: left; font-style: italic; font-size: 13px; padding-top: 5px; }

/* How are we doing survey */
#how-are-we-doing-form label { width: 100%; font-weight: 300; margin-top: 35px; }
#how-are-we-doing-form div.input-container { padding-top: 12px; }
#how-are-we-doing-form .form-button-container { margin-top: 20px; }
#how-are-we-doing-form .radio-check-container { width: 100%; }
#how-are-we-doing-form .radio-checkbox-row { padding-top: 12px; }

/* How did we do survey */
#how-did-we-do-form label { width: 100%; font-weight: 300; margin-top: 35px; }
#how-did-we-do-form div.input-container { padding-top: 12px;  }
#how-did-we-do-form .radio-checkbox-row { padding-top: 12px; }

/* newsletter signup */
#newsletter-signup label  { width: 100%; font-weight: 300; }

/* Showing feedback  */
#feedback-form  label { width: 100%; }

/* newsletter signup */
#save-form label  { width: 100%; }
#save-form div.input-container { padding-top: 12px;  }
#save-form .radio-checkbox-row { padding-top: 12px; }

/* profile form in my account */
#profile-form label { width: 150px; font-weight: 300;  }

/* become a vendor */
#become-a-vendor-form label { width: 180px; }
@media ( min-width: 1255px) {
   #become-a-vendor-form .form-button-container { margin-left: 190px; }
}
@media ( max-width: 1255px) {
   #become-a-vendor-form #input-container-for-dsform-anti-spam { float:none; padding: 20px 0; }
}

/* sell my home */
#sell-my-home-form label { width: 230px; }
#sell-my-home-form .form-button-container { margin: 30px 0;  }
#sell-my-home-form h2 { margin: 30px 0 10px 0; }
#sell-my-home-form #input-container-for-dsform-anti-spam { float:none; padding: 10px 0; }

/* community tours */
#community-tour .form-button-container { margin: 30px 0;  }
#community-tour #input-container-for-dsform-anti-spam { float:none; padding: 20px 0; }

/* ======================= Saved Listing thumb ======================= */
/*  -- shown on my account and in my listing activity */
.saved-listing { width: 100%; margin-bottom: 15px;  clear: both; border:  1px solid #aaa;}
.saved-listing.not-wide { max-width: 600px; }
.saved-listing h4 { margin: 0; padding: 3px 2%; }
.saved-listing .sl-wrap {
   padding: 0 15px;
   width: 100%;
   display: flex;
   justify-content: space-between;
   align-items: center;
}
.saved-listing .sl-wrap img,
.saved-listing .sl-wrap a,
.saved-listing .sl-wrap p {
   padding: 0 5px;
   font-size: 0.90em;
}

.saved-search { width: 100%; margin-bottom: 15px; padding:  10px 15px;  clear: both; border:  1px solid #aaa;}
.saved-search h4 { margin: 0; padding: 3px 0; }
.saved-search .ss-wrap {
   padding: 0 15px;
   width: 100%;
   display: flex;
   justify-content: space-around;
   align-items: center;
}

/* ======================= Castle On-Page Tabs ======================= */
#primary ul.castle-onpage-tab {
   width:  100%;
   list-style: none;
   margin: 0;
   padding: 0;
   display: flex;
   border-bottom: 1px solid #9d2235;
}
#primary ul.castle-onpage-tab li {
   border-top: 1px solid #9d2235;
   border-left: 1px solid #9d2235;
   border-right: 1px solid #9d2235;
   border-top-right-radius: 15px;
   margin-right: 12px;
}
#primary ul.castle-onpage-tab li {
   border-left: 5px solid #9d2235;
}
#primary ul.castle-onpage-tab li:hover {
   background-color: #9d2235;
}
#primary ul.castle-onpage-tab li:hover a {
   color: #fff;
}
#primary ul.castle-onpage-tab li.current {
/*   border-left: 5px solid #9d2235;
   background-color: #691623;*/
   background-color: #9d2235;
   border-left: none;
}
#primary ul.castle-onpage-tab li.current a {
   color: #fff;
}
#primary ul.castle-onpage-tab li a {
   display: block;
   padding: 15px 25px;
   text-align: left;
   font-weight: 300;
   color: #9d2235;
   font-size: 36px;
   margin: 0;
   line-height: 1;
   font-family: jubilat, serif;
   text-decoration: none;
}

/* ======================= My Account Listing Activity ======================= */
.activity-wrap {
   background-color: #eee;
   padding: 15px;
   margin: 0 0 25px 0;
   display: flex;
}
.activity-wrap:last-child { border-bottom: none; }
.activity-wrap .bigDate {  width: 15%; font-size: 32px; font-weight: 400; padding: 0 20px 0 0; margin: 0; text-align: right; }
.activity-wrap .bigDate span { font-size: 14px; margin-left: 10px; }
.activity-wrap .activity { border-left: 2px solid #851a2a; padding-left: 10px; width: 100%; }
.activity-wrap .activity-content { background-color: #fff; padding: 15px; }
.activity-wrap h4 { margin: 0 0 15px 0; padding: 0; width: 100%;}
.activity-wrap h4 span { display: block; float: right; color: #555; font-size: 14px; font-style: italic; }
.activity-wrap .feedback { background-color: #ffff; padding: 10px; margin-bottom: 15px; border: 1px solid #eee; }


/* ======================= Listing "Cards" ======================= */
.listing-card {
   margin: 20px 0;
   max-width: 500px;
   border: 1px solid #333;
}
.listing-card .thumb {
   display: block;
   width: 100%;
   height: 260px;
   background-size: cover;
   background-position-x: center;
   background-position-y: center;
}
.listing-card .listing-details {
   font-size: 20px;
   overflow: hidden;
   color: #fcfdff;
   padding: 10px 15px 10px 15px;
   background: rgba(255,255,255,0.14);
}
.listing-card .card-footer {
   padding: 0 15px 10px 15px;
}
.listing-card .card-footer .price {
   font-size: 36px;
   color: #dcdddf;
   padding: 10px 0;
}
.listing-card .card-footer .courtesy-name {
   color: #b7c0c2;
   font-size: 18px;
   float: left;
   max-width: 80%;
}
.listing-card .card-footer .courtesy-logo {
   float: right;
   height: auto;
   max-width: 20%;
}
@media (max-width: 600px) {
   .listing-card .card-footer .courtesy-name,
   .listing-card .card-footer .courtesy-logo {
      float: none;
      width: 100%;
   }
}


/* ======================= Page Templates ======================= */

/* dark hex background */
.dark-hex-grid {
   background:#25282a url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 180 100'%3E%3Cpath d='M30,100 0,50 30,0 90,0 120,50 90,100 M120,50 180,50' fill='none' stroke='%232f3233' stroke-width='1'/%3E%3C/svg%3E");
   background-size:190px auto;
}

/* adds faded hex grid on left side of page */
#primary.hex-left-bg {
   position:relative;
   z-index:10;
}
#primary.hex-left-bg::before {
   content:'';
   display:block;
   position:absolute;
   z-index:-1;
   width:600px;
   height:900px;
   top:600px;
   left:0;
   background:url(assets/images/hex-side-fade.png) no-repeat 0 0;
}

/* Castle Community Commitment (causes) /pages/community-commitment.php */
.community-wrap                        { margin: 0 0 30px 0; min-height: 110px; display: flex; }
.community-wrap > div { padding: 10px; }
.community-wrap .agent-wrap   { min-width: 225px; }
.community-wrap .agent-wrap .ribbon  { position: absolute;  bottom: -120px; right: 103px; }
.community-wrap .excerpt-wrap .button { float:left; margin-top: 20px; }
@media (max-width: 700px) {
   .community-wrap { display: block; }
}

.single-commitment-wrap { display: flex; }
.single-commitment-wrap > div { width: 50%; }
.single-commitment-wrap .cause-logo { max-width: 600px; width: 100%; }
.single-commitment-wrap > div:nth-child(2) { padding-left: 60px; }
.single-commitment-wrap > div:nth-child(2) img { max-width: 100%; }
.single-commitment-wrap .button { float:left; margin-top: 20px; }
@media (max-width: 900px) {
   .single-commitment-wrap { display: block; }
   .single-commitment-wrap > div { width: 100%; }
   .single-commitment-wrap > div:nth-child(2) {
      display: flex;
      padding-left: 0px;
      justify-content: space-between;
   }
   .single-commitment-wrap > div:nth-child(2) > div {
      width: 50%;
   }
   .single-commitment-wrap > div:nth-child(2) > div img {
     max-width: 90%;
     height:auto;
     display: block;
     margin: 20px auto;
   }
}
@media (max-width: 600px) {
   .single-commitment-wrap > div:nth-child(2) {
      display: block;
   }
   .single-commitment-wrap > div:nth-child(2) > div {
      width: auto;
   }
}

/* single listing page /pages/mls-single-listing.php */
.back-button-row {
   padding:25px 0;
}
.back-button-row a.back-button {
   display:block;
   position:relative;
   font-size:18px;
}
.back-button-row a.back-button::before {
   content:'';
   display:inline-block;
   position:relative;
   left:0;
   margin:0 5px 0 0;
   width:12px;
   height:12px;
   border-left:1px solid #9d2235;
   border-bottom:1px solid #9d2235;
   transform:rotate(45deg);
   -webkit-transition:  .3s;
   transition:          .3s;
}
.back-button-row a.back-button:hover::before {
   border-color:#000;
   left:-5px;
}
.listing-status-row {
   margin-bottom:-20px;
   position:relative;
   z-index:10;
}
.listing-status-row::before {
   content:''; /* red extension left side */
   display:block;
   position:absolute;
   top:0;
   left:0;
   width:calc((100% - 1500px) / 2);
   height:40px;
   background:#9d2235;
}
.listing-status-row h2 {
   width:400px;
   max-width:100%;
   height:40px;
   line-height:40px;
   font-size:26px;
   margin:0;
   padding:0 10px;
   color:#dcdddf;
   background:#9d2235;
   text-transform:uppercase;
}
.listing-title-row {
   position:relative;
   overflow:hidden;
}
.listing-title-row::before {
   content:''; /* red extension left side */
   display:block;
   position:absolute;
   top:0;
   left:0;
   width:calc((100% - 1500px) / 2);
   height:115px;
   background:#d7d8d8;
}
.listing-title-row .pagewidth {
   display:flex;
   flex-wrap:nowrap;
   height:115px;
}
.listing-title-row .price-col {
   width:18%;
   font-size:48px;
   color:#4d4d4f;
   padding:33px 0 0 0;
   background:#d7d8d8;
}
.listing-title-row .address-col {
   width:62%;
   padding:35px 0 0 25px;
   background:#ebecec;
}
.listing-title-row .address-col h1 {
   font-size:36px;
   margin:0;
   line-height:1;
   font-weight:400;
   color:#4d4d4f;
   text-transform:none;
   font-family:'Roboto', sans-serif;
}
.listing-title-row .address-col h1 span {
   display:block;
   font-size:24px;
   font-weight:300;
}
.listing-title-row .user-actions-col {
   width:20%;
   background:#ebecec;
   position:relative;
   display:flex;
}
.listing-title-row .user-actions-col a {
   display:flex;
   align-items:center;
   width:40px;
   margin:0 10px;
}
.listing-title-row .user-actions-col a svg * {
   -webkit-transition:  .3s;
   transition:          .3s;
}
a.thumbs-up:hover svg path.inner-thumb {
   fill:#9d2235;
}
a.thumbs-down:hover svg path.inner-thumb {
   fill:#9d2235;
}
a.thumbs-up.on svg path.inner-thumb {
   fill:#9d2235;
}
a.thumbs-down.on svg path.inner-thumb {
   fill:#9d2235;
}
a.print:hover svg * {
   fill:#9d2235;
}
a.envelope:hover svg path {
   fill:#9d2235;
}
.listing-title-row .user-actions-col::before {
   content:'';
   display:block;
   width:0;
   height:0;
   position:absolute;
   top:0;
   left:100%;
   border-bottom:115px solid #ebecec;
   border-right:70px solid transparent;
}
.listing-summary-row {
   color:#444;
   background:#ececec;
   background: linear-gradient(
      to right
      ,#394149 0%
      ,#394149 50%
      ,#691623 50%
      ,#691623 100%
   );
}
.listing-summary-row .pagewidth {
   display:flex;
   height:100px;
}
.listing-summary-row .type-col {
   width:350px;
   color:#dcdddf;
   max-width:100%;
   background:#394149;
   font-size:30px;
   font-weight:400;
   padding:20px 0 0 0;
}
.listing-summary-row .type-col span {
   display:block;
   font-size:20px;
   font-weight:300;
}
.listing-summary-row .features-col {
   width:calc(100% - 350px);
   background:#25282a;
   color:#dcdddf;
}
.listing-summary-row .features-col div {
   min-width:130px;
   float:left;
   text-align:center;
   padding: 28px 15px 0 15px;
   font-size:20px;
   line-height:28px;
}
.listing-summary-row .features-col div span {
   display:block;
   font-weight:500;
   font-size:30px;
}
.listing-summary-row .save-to-fav {
   width:200px;
   text-align:right;
   padding:25px 30px 0 0;
}
.listing-summary-row .save-to-fav a {
   color:#bbbbbb;
   display:inline-block;
   font-size:30px;
   margin:0px 10px;
}
.listing-summary-row .save-to-fav a:hover {
   color:#9d2235;
}
#listing-slider-wrap {
   overflow:hidden;
   position:relative;
   border-bottom:30px solid #25282a;
}
#listing-slider-wrap .bx-wrapper {
   width:1000px;
   margin:10px auto 0 auto;
   box-shadow:none;
   border:none;
   background:transparent;
}
#listing-slider-wrap .bx-wrapper .bx-viewport {
   overflow:visible !important;
}
#listing-slider-wrap .listing-slider div {
   height:600px;
   opacity:0.4;
   background-repeat:        no-repeat;
   background-position:      center center;
   -webkit-background-size:  cover;
   -moz-background-size:     cover;
   -o-background-size:       cover;
   background-size:          cover;
   -webkit-transition:  .5s;
   transition:          .5s;
}
#listing-slider-wrap .listing-slider div.active {
   opacity:1;
}
#listing-slider-wrap .bx-wrapper .bx-controls-direction a {
   width:50px;
   height:50px;
   z-index:10;
   border:2px solid #000;
   margin-top:-25px;
   background-image:none;
   border-right:2px solid #000;
   border-bottom:2px solid #000;
   -moz-border-radius:    50%;
   -webkit-border-radius: 50%;
   border-radius:         50%;
   -khtml-border-radius:  50%;
}
#listing-slider-wrap .bx-wrapper .bx-controls-direction a::before {
   content:'';
   display:block;
   position:absolute;
   top:13px;
   width:20px;
   height:20px;
   -webkit-transition:  .3s;
   transition:          .3s;
}
#listing-slider-wrap .bx-controls-direction a.bx-prev {
   left:-200px;
}
#listing-slider-wrap .bx-controls-direction a.bx-prev::before {
   left:16px;
   border-left:2px solid #000;
   border-bottom:2px solid #000;
   transform:rotate(45deg);
}
#listing-slider-wrap .bx-controls-direction a.bx-next {
   right:-200px;
}
#listing-slider-wrap .bx-controls-direction a.bx-next::before {
   left:9px;
   border-right:2px solid #000;
   border-bottom:2px solid #000;
   transform:rotate(-45deg);
}
#listing-slider-wrap .bx-wrapper .bx-controls-direction a:hover {
   background:rgba(0,0,0,0.1);
}
.desc-section {
   position:relative;
   /* yes, confusing. but layered bg images start covering content, etc. */
   background:
            url(assets/images/hex-broken-pattern.png) no-repeat 0 0,
            linear-gradient(
               to right
               ,#f8f8f9 0%
               ,#f8f8f9 calc(100% - (((100% - 1400px) / 2) + 300px)) /* from screen left to pagewidth - 300px (sidebar) */
               ,transparent calc(100% - (((100% - 1400px) / 2) + 300px))
               ,transparent 100%
            ) no-repeat 0 0;
}
.desc-section::before {
   content:'';
   display:block;
   position:absolute;
   left:0;
   bottom:0;
   width:100%;
   height:150px;
   background:#fff;
}
.listing-content {
   /* this top bg allows the color to extend
      over the sidebar to right edge of screen */
   background:linear-gradient(
               to bottom
               ,#f8f8f9 0%
               ,#f8f8f9 120px
               ,transparent 120px
               ,transparent 100%
            ) no-repeat 0 0;
}
.listing-content .primary {
   width:calc(100% - 300px);
   float:left;
   padding:60px 50px 0 0;
}
.listing-open-houses,
.listing-desc {
   margin-bottom:30px;
}
.listing-open-houses p,
.listing-desc p {
   font-size:22px;
   line-height:1.7;
   margin: 0 0 15px 0;
}
.listing-desc p.mls-id {
   font-size:18px;
   color:#9d2235;
}
/* virtual tours, etc.) */
.listing-view-options {
   margin:40px 0 0 0;
}
.listing-view-options a.svg {
   display:inline-block;
   width:90px;
   margin:0 20px 0 0;
}
.listing-view-options svg.virtual-tour-360:hover g.circle-arrow polyline {
   stroke:#fff;
}
.listing-view-options svg.virtual-tour-360:hover g.circle-arrow circle {
   fill:#9d2235;
}
/*
.listing-view-options svg.drone-footage {
   position:relative;
   top:3px;
}
.listing-view-options svg.drone-footage:hover g.circle-arrow polyline {
   stroke:#fff;
}
.listing-view-options svg.drone-footage:hover g.circle-arrow circle {
   fill:#9d2235;
}
.listing-view-options svg.video-tour:hover g.circle-arrow polyline {
   stroke:#fff;
}
.listing-view-options svg.video-tour:hover g.circle-arrow circle {
   fill:#9d2235;
}
*/
.listing-map {
   margin:40px 0 0 0;
   overflow:hidden;
   padding-bottom: 37%;
   position:relative;
   height:0;
}
.listing-map #map-canvas{
    left:0;
    top:0;
    height:100%;
    width:100%;
    position:absolute;
}

@media (max-width: 1600px) {
   .listing-title-row::before {
      display:none;
   }
   .listing-title-row .pagewidth.pw1500 {
      width:calc(100% - 100px);
      margin-right:100px;
      padding-left:0;
      padding-right:0;
   }
   .listing-title-row .price-col {
      width:270px;
      padding-left:20px;
   }
   .listing-status-row::before {
      display:none;
   }
   .listing-status-row .pagewidth.pw1500 {
      padding-left:0;
      padding-right:0;
   }
   .listing-status-row h2 {
      padding-left:20px;
   }
   .listing-title-row .address-col {
      width:calc(100% - 520px);
   }
   .listing-title-row .user-actions-col {
      width:280px;
   }
}
@media (max-width: 1500px) {
   #listing-slider-wrap .bx-controls-direction a.bx-prev {
      left:-100px;
   }
   #listing-slider-wrap .bx-controls-direction a.bx-next {
      right:-100px;
   }
}
@media (max-width: 1250px) {
   #listing-slider-wrap .bx-controls-direction a.bx-prev {
      left:20px;
   }
   #listing-slider-wrap .bx-controls-direction a.bx-next {
      right:20px;
   }
}
@media (max-width: 1000px) {
   .listing-title-row .pagewidth {
      height:100px;
   }
   .listing-title-row .price-col {
      width:200px;
      font-size:36px;
   }
   .listing-title-row .address-col {
      width:calc(100% - 430px);
   }
   .listing-title-row .address-col h1 {
      font-size:26px;
   }
   .listing-title-row .address-col h1 span {
      font-size:20px;
   }
   .listing-title-row .user-actions-col {
      width:230px;
   }
   .listing-title-row .user-actions-col a {
      width:32px;
   }
}
@media (max-width: 900px) {
   .listing-title-row .pagewidth.pw1500 {
      width:100%;
      margin-right:0px;
   }
   #listing-slider-wrap .listing-slider div {
      height:500px;
   }
}
@media (max-width: 800px) {
   .listing-summary-row .features-col div {
      width:calc(100% / 3);
   }
}
@media (max-width: 767px) {
   .listing-summary-row .type-col {
      font-size:26px;
   }
   .listing-status-row h2 {
      font-size:20px;
      width:300px;
      height:36px;
      line-height:36px;
      width:300px;
   }
   .listing-title-row .price-col {
      font-size:30px;
   }
   .listing-title-row .address-col h1 {
      font-size:20px;
   }
   .listing-summary-row .type-col {
      width:40%;
      font-size:22px;
   }
   .listing-summary-row .features-col {
      width:60%;
      font-size:20px;
   }
   .listing-summary-row .features-col div span {
      font-size:22px;
   }
   #listing-slider-wrap .listing-slider div {
      height:400px;
   }
}
@media (max-width: 700px) {
   .listing-title-row .pagewidth.pw1500 {
      display:block;
      height:auto;
   }
   .listing-title-row .price-col {
      width:40%;
      float:left;
      height:85px;
      padding:33px 0 1px 20px;
   }
   .listing-title-row .address-col {
      width:60%;
      float:left;
      height:85px;
      padding:30px 0 0px 25px;
   }
   .listing-title-row .user-actions-col {
      width:100%;
      clear:both;
      padding:10px 20px;
   }
}
@media (max-width: 550px) {
   .listing-title-row .address-col {
      padding-top:33px;
   }
   .listing-title-row .address-col h1 {
      font-size:18px;
   }
   .listing-summary-row .pagewidth {
      height:auto;
   }
   .listing-summary-row .type-col {
      padding:10px 0;
      font-size:18px;
   }
   .listing-summary-row .type-col span {
      font-size:18px;
   }
   .listing-summary-row .features-col div {
      padding:10px 0;
      font-size:18px;
      line-height:24px;
   }
   .listing-summary-row .features-col div span {
      font-size:18px;
   }
   #listing-slider-wrap .listing-slider div {
      height:300px;
   }
}
@media (max-width: 450px) {
   .listing-status-row {
      margin-bottom:0;
   }
   .listing-status-row h2 {
      width:100%;
   }
   .listing-title-row .price-col {
      width:100%;
      height:auto;
      float:none;
      padding:10px 20px;
   }
   .listing-title-row .address-col {
      width:100%;
      height:auto;
      float:none;
      padding:10px 20px 5px 20px;
   }
   #listing-slider-wrap .listing-slider div {
      height:200px;
   }
   .listing-view-options a.svg {
      width:calc((100% / 3) - 20px);
      margin:0 10px;
   }
}
@media (max-width: 400px) {
   .listing-summary-row {
      background:none;
   }
   .listing-summary-row .pagewidth {
      display:block;
      padding:0;
   }
   .listing-summary-row .type-col {
      width:100%;
      padding:10px 20px;
   }
   .listing-summary-row .features-col {
      width:100%;
      overflow:hidden;
      padding:10px 20px;
   }
   .listing-summary-row .features-col div {
      padding:0 10px;
   }
}

/* main sidebar (contact form) */
.listing-content .secondary {
   position:relative;
   width:300px;
   float:left;
   padding:0 0 0 25px;
}
.listing-content .secondary.contact-col {
   padding-top:130px;
}

/* tall schedule form */
.listing-contact-form-wrap {
   position:relative;
   padding:20px 0 0 0;
   font-size:16px;
}
.listing-contact-form-wrap h3 {
   font-size:22px;
   text-transform:uppercase;
   color:#9d2235;
   font-family:jubilat, serif;
   margin-bottom: 30px;
}
.listing-contact-form-wrap img {
   float: right;
   margin-bottom: 30px;
}
.listing-contact-form-wrap input:not(.button),
.listing-contact-form-wrap textarea {
   display:block;
   width:100%;
   font-size:16px;
   margin:0 0 20px 0;
   padding:0 10px 3px 0;
   background:#fff;
   border:none;
   outline:none;
   border-bottom:1px solid #999;
}
.listing-contact-form-wrap input[type="submit"] {
   float:right;
   width:auto;
   text-align:center;
   text-transform:uppercase;
   margin: 15px 0;
   padding:15px 50px;
   color:#fff;
   background:#9d2235;
   border:none;
}
.listing-contact-form-wrap input[type="submit"]:hover {
   background:#851a2a;
}

.details-section {
   padding:0 0 50px 0;
}
.details-col-wrap h3 {
   margin:15px 0 20px 0;
   padding:0 0 20px 0;
   font-size:22px;
   font-weight:400;
   border-bottom:1px solid #ccc;
}
.details-col-wrap p {
   line-height:1.8;
   font-size:18px;
}
.details-col-wrap .details-col-1 {
   width:42%;
   float:left;
}
.details-col-wrap .details-col-2 {
   width:42%;
   float:right;
}
.details-col-wrap .details-block {
   margin-bottom:90px;
}
.details-col-wrap .details-block:last-of-type {
   margin-bottom:0px;
}
.details-col-wrap .details-block span {
   font-weight:400;
}
@media (max-width: 1500px) {
   .desc-section .pagewidth.pw1400 {
      width:100%;
      padding-left:20px;
      padding-right:20px;
   }
   .desc-section {
      background:
               url(assets/images/hex-broken-pattern.png) no-repeat 0 0,
               linear-gradient(
                  to right
                  ,#f8f8f9 0%
                  ,#f8f8f9 calc(100% - 320px) /* from screen left to pagewidth - 300px (sidebar) */
                  ,transparent calc(100% - 320px)
                  ,transparent 100%
               ) no-repeat 0 0;
   }
}
@media (max-width: 900px) {
   .listing-desc p {
      font-size:18px;
   }
}
@media (max-width: 767px) {
   .schedule-form {
      padding-top:0;
   }
   .details-section {
      background:#f8f8f9;
      padding:0 0 10px 0;
   }
   .details-section .primary {
      background:none;
      padding:20px 0;
   }
   .details-col-wrap .details-col-1 {
      width:48%;
   }
   .details-col-wrap .details-col-2 {
      width:48%;
   }
   .desc-section {
      background:none !important;
   }
   .desc-section .pagewidth.pw1400 {
      padding-left:0;
      padding-right:0;
   }
   .listing-content .primary {
      width:100%;
      float:none;
      padding:20px;
      background:#f8f8f9;
   }
   .listing-content .secondary.contact-col {
      width:100%;
      float:none;
      padding:30px 20px !important;
   }
}
@media (max-width: 550px) {
   .details-col-wrap .details-col-1 {
      margin-bottom:50px;
   }
   .details-col-wrap .details-col-1,
   .details-col-wrap .details-col-2 {
      width:100%;
      float:none;
   }
   .details-col-wrap .details-block {
      margin-bottom:50px;
   }
}

/* globally used */
.listing-credit {
   font-size:16px;
   padding:35px 0 50px 0;
   border-top:2px solid #dcdddf;
}
.listing-credit .inner {
   width:800px;
   max-width:100%;
}
.listing-credit .inner p.courtesy {
   font-size:18px;
}
.listing-credit .inner p.courtesy span {
   font-weight:400;
}
.listing-credit .inner p {
   margin:0 0 25px 0;
}

/* mortgage calculator */
.mortgage-calculator {
   display:flex;
   position:relative;
   margin:0 0 50px 0;
   background:#f4f5f5;
   border:1px solid #9d2235;
}
.mortgage-calculator.corner-fold.bottom-left::before {
   /* this is another border in red nudged to
      make it look like a border flows around */
   content:'';
   display:block;
   position:absolute;
   z-index:99;
   left:0px;
   bottom:0px;
   border-bottom:190px solid #9d2235;
   border-right:110px solid transparent;
}
.mortgage-calculator.corner-fold.bottom-left::after {
   /* nudging white triangle to cover the border */
   left:-1px;
   bottom:-1px;
}
.mortgage-calculator .col-1 {
   width:50%;
   text-align:right;
   background:url(assets/images/bg-mortgage-calc.jpg) no-repeat center center;
   padding:25px 30px 50px 250px;
   -webkit-background-size:  cover;
   -moz-background-size:     cover;
   -o-background-size:       cover;
   background-size:          cover;
}
.mortgage-calculator .col-1 img {
   display:inline-block;
   margin:0 0 25px 0;
}
.mortgage-calculator .col-1 h2 {
   position:relative;
   text-align:right;
   font-size:54px;
   color:#dcdddf;
   line-height:1;
   margin-bottom:60px;
   text-transform:uppercase;
}
.mortgage-calculator .col-1 h2.sep-after::after {
   position:absolute;
   top:100%;
   right:0;
}
.mortgage-calculator .col-1 p {
   text-align:right;
   font-size:20px;
   color:#dcdddf;
}
.mortgage-calculator .col-1 p {
   margin:0 0 10px 0;
}
.mortgage-calculator .col-2 {
   width:50%;
   padding:40px 125px 20px 130px;
}
.mortgage-calculator .col-2 .form-row {
   margin:0 0 10px 0;
   overflow:hidden;
}
.mortgage-calculator .col-2 label {
   width:170px;
   float:left;
   font-size:18px;
   line-height:34px;
   font-weight:400;
   text-align:right;
   padding-right:10px;
}
.mortgage-calculator .col-2 input {
   width:calc(100% - 170px);
   float:right;
   margin:0;
   font-size:18px;
   padding:5px 10px;
   background:#fff;
   border:1px solid #9d2235;
}
.mortgage-calculator .col-2 button {
   display:block;
   cursor:pointer;
   width:calc(100% - 170px);
   float:right;
   padding:8px 0;
   font-size:18px;
   border:none;
   color:#fff;
   text-transform:uppercase;
   background:#9d2235;
}
.mortgage-calculator .col-2 label.result {
   line-height:40px;
}
.mortgage-calculator .col-2 .calc-result {
   width:calc(100% - 170px);
   float:right;
}
.mortgage-calculator .col-2 .calc-result .answer {
   color:#9d2235;
   font-size:30px;
}
.mortgage-calculator .col-2 .error {
   display:block;
   font-size:16px;
   color:#9d2235;
}
.mortgage-calculator p.calc-footnote {
   font-size:16px;
   margin:50px 0 0 0;
   font-style:italic;
}
@media (max-width: 1440px) {
   .mortgage-calculator .col-1 {
      padding:25px 30px 50px 170px;
   }
   .mortgage-calculator .col-2 {
      padding:40px 125px 20px 50px;
   }
}
@media (max-width: 1200px) {
   .mortgage-calculator .col-1 {
      padding:25px 30px 30px 40px;
   }
   .mortgage-calculator .col-1 p {
      padding-left:140px;
   }
   .mortgage-calculator .col-2 {
      padding:40px 40px 20px 40px;
   }
}
@media (max-width: 1000px) {
   .mortgage-calculator .col-1 p {
      padding-left:40px;
   }
   .mortgage-calculator .col-1 h2 {
      font-size:42px;
   }
   .mortgage-calculator .col-2 label,
   .mortgage-calculator .col-2 input,
   .mortgage-calculator .col-2 button,
   .mortgage-calculator .col-2 .calc-result {
      width:100%;
      float:none;
   }
   .mortgage-calculator p.calc-footnote {
      margin-top:25px;
   }
}
@media (max-width: 766px) {
   .mortgage-calculator.corner-fold.bottom-left::before,
   .mortgage-calculator.corner-fold.bottom-left::after {
      display:none;
   }
   .mortgage-calculator {
      display:block;
   }
   .mortgage-calculator .col-1 {
      width:100%;
   }
   .mortgage-calculator .col-1 p {
      padding-left:150px;
   }
   .mortgage-calculator .col-2 {
      width:100%;
      padding:40px 130px 20px 90px;
   }
}
@media (max-width: 650px) {
   .mortgage-calculator .col-1 h2 {
      font-size:42px;
   }
   .mortgage-calculator .col-2 {
      padding:40px 20px 20px 20px;
   }
}
@media (max-width: 500px) {
   .mortgage-calculator .col-1 p {
      padding-left:50px;
   }
}
@media (max-width: 400px) {
   .mortgage-calculator .col-1 {
      padding-left:20px;
   }
   .mortgage-calculator .col-1 h2 {
      font-size:34px;
   }
   .mortgage-calculator .col-1 p {
      padding-left:0px;
   }
}

/* template: Meet the Team; */
body.loc_lacrosse-template-meet-the-team #content-wrap {
   background:#dcdddf;
}
#page-title-image {
   position:relative;
   background-color:#3d3531;
   background-repeat:        no-repeat;
   background-position:      center center;
   -webkit-background-size:  cover;
   -moz-background-size:     cover;
   -o-background-size:       cover;
   background-size:          cover;
}
#page-title-image::before {
   /* brown box extends left of page title */
   content:'';
   display:block;
   position:absolute;
   width:calc((100% - 1500px) / 2);
   height:100%;
   z-index:10;
   top:0;
   left:0;
   background:rgba(35,31,32,0.82);
}
#page-title-image h1 {
   position:relative;
   display:inline-block;
   z-index:50;
   font-size:42px;
   color:#fff;
   margin:0;
   padding:30px 240px 120px 0;
   text-transform:uppercase;
   background:rgba(35,31,32,0.82);
   clip-path: polygon(0 0, 100% 0, 77% 100%, 0% 100%);
}
#page-head-intro {
   background:#9d2235;
   padding:20px 0;
}
#page-head-intro p {
   color:#dcdddf;
   line-height:1.4;
   margin:0;
   font-size:20px;
   width:70%;
}
.breaker-style-3 {
   height:20px;
}
#team-wrapper {
   margin:80px 0 0 0;
   position:relative;
   text-align:center;
   background:url(assets/images/team-row-bg-2.png) repeat center top;
}
#team-wrapper .pagewidth {
   display:flex;
   flex-wrap:wrap;
   justify-content:space-evenly;
}
.team-bio-card {
   display:block;
   width:30%;
   height:670px;
   float:left;
   overflow:hidden;
   position:relative;
   z-index:50;
   text-align:center;
   margin:0 0 70px 0;
   padding:0px 40px 90px 40px;
}
.team-bio-card:nth-of-type(3n) {
   clear:both;
}
.team-bio-card .hex-thumb {
   position:relative;
   display:block;
   height:300px;
   margin:0 0 30px 0;
   background-repeat:        no-repeat;
   background-position:      top center;
   -webkit-background-size:  cover;
   -moz-background-size:     cover;
   -o-background-size:       cover;
   background-size:          cover;
   clip-path: polygon(25% 0%, 75% 0%, 100% 50%, 75% 100%, 25% 100%, 0% 50%);
}
.team-bio-card.has-ribbon::before {
   content:'';
   display:block;
   position:absolute;
   z-index:10;
   width:50px;
   height:100px;
   left:50%;
   margin-left:90px;
   top:253px;
   background:url(assets/images/castle-ribbon.svg) no-repeat 0 0;
}
.team-bio-card h3 {
   text-transform:uppercase;
   text-align:center;
   font-size:36px;
   color:#000;
   font-family:jubilat, serif;
}
.team-bio-card .title-1 {
   color:#777;
   font-style:italic;
   margin:0 0 10px 0;
   padding:0 40px;
}
.team-bio-card .title-2 {
   text-transform:uppercase;
   font-weight:400;
   margin-bottom:25px;
}
.team-bio-card a.phone {
   display:block;
   text-transform:uppercase;
   font-weight:400;
   color:#4d4d4f;
   font-size:22px;
   margin-bottom:20px;
}
.team-bio-card a.email {
   color:#4d4d4f;
}
.team-bio-card a.phone:hover,
.team-bio-card a.email:hover {
   color:#9d2235;
}
.team-bio-card .more-buttons {
   width:  100%;
   text-align:center;
   padding: 10px 20px;
   margin-top: 20px;
   border-top:1px solid #9d2235;
}
.team-bio-card .more-buttons a.more-arrow {
   display:inline-block;
   padding:10px 0;
   font-size:18px;
   font-weight:500;
}
.team-bio-card .more-buttons a.more-arrow::after {
   border-color:#9d2235;
}
.team-bio-card .more-buttons a.more-arrow:hover::after {
   border-color:#000;
}
@media (max-width: 1600px) {
   #page-title-image .pagewidth {
      padding-left:0;
      padding-right:0;
   }
   #page-title-image::before {
      display:none;
   }
   #page-title-image h1 {
      padding-left:20px;
   }
}
@media (max-width: 1500px) {
   .team-bio-card {
      padding-left:20px;
      padding-right:20px;
   }
   .team-bio-card a.hex-thumb {
      width:300px;
      height:243px;
      margin-left:auto;
      margin-right:auto;
   }
   .team-bio-card.has-ribbon::before {
      top:185px;
      margin-left:70px;
   }
}
@media (max-width: 1200px) {
   body.loc_lacrosse-template-meet-the-team #content-wrap {
      padding-top:155px;
   }
   #page-head-intro p {
      width:100%;
   }
   .team-bio-card {
      width:50%;
   }
   .team-bio-card a.hex-thumb {
      margin-bottom:60px;
   }
   .team-bio-card h3 {
      margin-bottom:35px;
   }
}
@media (max-width: 1000px) {
   .team-bio-card a.hex-thumb {
      margin-bottom:30px;
   }
   .team-bio-card h3 {
      margin-bottom:10px;
   }
}
@media (max-width: 875px) {
   body.loc_lacrosse-template-meet-the-team #content-wrap {
      padding-top:80px;
   }
}
@media (max-width: 767px) {
   #team-wrapper {
      background:none;
   }
   #team-wrapper .pagewidth {
      padding-left:0;
      padding-right:0;
   }
   .team-bio-card {
      width:100%;
      height:auto;
      background:url(assets/images/team-row-bg-2.png) repeat center 0px;
   }
}
@media (max-width: 600px) {
   body.loc_lacrosse-template-meet-the-team #content-wrap {
      padding-top:185px;
   }
   #page-title-image h1 {
      display:block;
      clip-path:none;
      padding:30px 20px 50px 20px;
   }
}
@media (max-width: 350px) {
   .team-bio-card a.hex-thumb {
      width:100%;
   }
}

/* Template: Team Member Bio */
#bio-toprow {
   background:#dcdddf url(assets/images/logo-watermark-team-header.png) no-repeat right top;
   background-size: contain;
}
#bio-toprow img.thumb {
   display:block;
   float:left;
   height:350px;
   width:auto;
}
#bio-toprow .bio-info {
   float:left;
   width:calc(100% - 350px);
   line-height:1.6;
   padding:55px 0 0 30px;
}
#bio-toprow .bio-info h1 {
   font-weight:400;
   font-size:36px;
}
#bio-toprow .bio-info span {
   display:block;
}
#bio-toprow .bio-info a {
   display:block;
}
#bio-toprow .bio-info span.title {
   font-size:20px;
   font-style:italic;
}
#bio-toprow .bio-info span.license {
   font-weight:400;
   text-transform:uppercase;
   margin-bottom:30px;
}
#bio-toprow .bio-info a.phone {
   font-size:20px;
   color:#000;
   font-weight:400;
   margin-bottom:20px;
}
#bio-toprow .bio-info a.phone:hover {
   color:#9d2235;
}
#bio-toprow .bio-info a.email {
   font-size:20px;
}
#full-bio {
   padding-top:50px;
   padding-bottom:50px;
}
#agent-feature {
   padding:40px 0;
   background:rgba(0,0,0,0.72);
}
#agent-feature,
#agent-feature h2,
#agent-feature p {
   color:#fff;
}
#community {
   background:#dcdddf;
   background:linear-gradient( to right ,#dcdddf 0% ,#dcdddf 50% ,#9d2235 50% ,#9d2235 100% );
}
#community .pagewidth {
   display:flex;
}
#community h2 {
   width:300px;
   text-align:center;
   color:#9d2235;
   padding:135px 0px 60px 0;
   background:url(assets/images/castle-ribbon.svg) no-repeat center 50px;
   background-size:45px auto;
}
#community .highlight {
   position:relative;
   padding:60px 20px 50px 160px;
   width:calc(100% - 300px);
   background:#9d2235;
   clip-path: polygon(0 0, 100% 0, 100% 100%, 60px 100%, 100px 62%);
}
#community .highlight h3 {
   color:#fff;
   font-weight:400;
}
#community .highlight p {
   color:#fff;
}
#community .highlight a.more-arrow {
   color:#fff;
   font-size:18px;
}
#community .highlight a:hover.more-arrow {
   text-decoration: underline;
}
#bio-testimonial {
   padding:60px 20px 50px 20px;
}
#bio-testimonial blockquote {
   margin:0;
   padding:0;
}
#expert-advisors {
   padding:0 0 10px 0;
}
#expert-advisors .col-1 {
   width:50%;
   float:left;
   background:#252a2f;
}
#expert-advisors .col-1 .inner {
   max-width:700px;
   float:right;
   color:#fefcfc;
   padding:40px 140px 60px 0;
}
#expert-advisors .col-1 .inner h2 {
   color:#fefcfc;
}
#expert-advisors .col-1 .inner ul {
   margin:0 0 25px 55px;
}
#expert-advisors .col-1 .inner ul li {
   position:relative;
   color:#dcdddf;
   font-size:30px;
   list-style:none;
}
#expert-advisors .col-1 .inner ul li::before {
   content:'';
   display:block;
   position:absolute;
   top:21px;
   left:-16px;
   width:6px;
   height:6px;
   background:#dcdddf;
   -moz-border-radius:     50%;
   -webkit-border-radius:  50%;
   border-radius:          50%;
   -khtml-border-radius:   50%;
}
#expert-advisors .col-1 .inner p.serif {
   font-size:26px;
   line-height:1.2;
   padding-right:50px;
}
#expert-advisors .col-2 {
   width:50%;
   float:left;
   background:#394149;
   padding-top:110px;
}
#expert-advisors .col-2 .bg-wrap {
   background:#fff;
}
#expert-advisors .col-2 .bg-wrap .inner {
   max-width:800px;
   margin:0 0 0 -80px;
   padding: 60px 0 40px 50px;
   background:#fff;
}
#agent-listings {
   overflow:hidden;
   border-top:23px solid #f8f8f9;
}
#agent-listings .agent-listings-section {
   position:relative;
   border-bottom:3px solid #dcdddf;
}
#agent-listings .agent-listings-section:last-of-type {
   border-bottom:none;
}
#agent-listings .agent-listings-section::before {
   content:'';
   display:block;
   position:absolute;
   width:calc((100vw - 1800px) / 2);
   height:60px;
   top:0;
   left:0;
   background:#dcdddf;
}
#agent-listings .section-head h2 {
   width:680px;
   max-width:100%;
   height:60px;
   line-height:60px;
   text-align:center;
   background:#dcdddf;
}
@media (max-width: 1800px) {
   #primary.hex-left-bg::before {
      left:-100px;
   }
}
@media (max-width: 1600px) {
   #expert-advisors .col-1 .inner {
      padding-left:20px;
      padding-right:120px;
   }
   #expert-advisors .col-2 .bg-wrap .inner {
      padding-right:20px;
   }
   #primary.hex-left-bg::before {
      left:-180px;
   }
}
@media (max-width: 1400px) {
   #primary.hex-left-bg::before {
      left:-220px;
   }
}
@media (max-width: 1100px) {
   #expert-advisors .col-1 .inner ul li {
      font-size:22px;
   }
   #expert-advisors .col-1 .inner ul li::before {
      top:15px;
   }
}
@media (max-width: 1100px) {
   #expert-advisors .col-1 .inner {
      padding-right:60px;
   }
   #expert-advisors .col-2 .bg-wrap .inner {
      margin-left:-40px;
      padding:30px 20px 40px 30px;
   }
}
@media (max-width: 900px) {
   #bio-toprow .bio-info {
      padding-top:30px;
   }
   #community h2 {
      width:230px;
   }
   #community .highlight {
      width:calc(100% - 230px);
   }
}
@media (max-width: 767px) {
   #community {
      background:none;
   }
   #community .pagewidth {
      display:block;
      padding-left:0;
      padding-right:0;
   }
   #community h2 {
      width:100%;
      background-color:#dcdddf;
      margin:0;
      padding:130px 0 30px 0;
   }
   #community .highlight {
      width:100%;
      padding:30px 20px;
      clip-path:none;
   }
   #expert-advisors .col-1 {
      width:100%;
      float:none;
   }
   #expert-advisors .col-1 .inner {
      float:none;
      padding:30px 20px;
      max-width:100%;
   }
   #expert-advisors .col-2 {
      width:100%;
      float:none;
      background:#fff;
      padding:30px 20px;
   }
   #expert-advisors .col-2 .bg-wrap .inner {
      margin-left:0;
      padding:0;
   }
}
@media (max-width: 700px) {
   #bio-toprow .bio-info h1 {
      margin-bottom:10px;
      line-height:1.1;
   }
   #bio-toprow .bio-info span.license {
      margin-bottom:10px;
   }
   #bio-toprow .bio-info a.phone {
      margin-bottom:10px;
   }
}
@media (max-width: 650px) {
   body.single #primary.hex-left-bg::before {
      top:600px;
      left:-180px;
   }
   #bio-toprow {
      background-image: none;
   }
   #bio-toprow img.thumb {
      float:none;
   }
   #bio-toprow .bio-info {
      width:100%;
      float:none;
      padding:20px 0 30px 0;
   }

}

/* Template: Landing Page (open for BB content) */
#masthead-landing {
   background: #000;
   padding: 10px 0;
}
#masthead-landing a.logo {
   display: block;
}
#masthead-landing a.logo img {
   display: block;
   width: 180px;
   height: auto;
   margin: 0 auto;
}
.bb-landing .client-ui {
   padding-bottom: 0;
}

/* Template: Search Homes */
.search-homes-head h1 {
   margin-bottom:35px;
}
/* listing search row 1 */
.filters-row-1 {
   margin-bottom:30px;
}
.search-homes-head .criteria-wrap {
   width:400px;
   float:left;
}
.search-homes-head .criteria-right-wrap {
   width:calc(100% - 400px);
   float:left;
   text-align:right;
}
.search-homes-head .criteria {
   display:inline-block;
   position:relative;
   width:auto;
   border:none;
}
.search-homes-head span.label {
   display:inline-block;
   margin-left:25px;
   cursor:pointer;
   color:#4d4d4f;
   font-size:18px;
}
.search-homes-head span.label::after {
   content:'';
   display:inline-block;
   position:relative;
   width:0;
   height:0;
   top:-2px;
   margin-left:5px;
   border-left:   6px solid transparent;
   border-right:  6px solid transparent;
   border-top:    7px solid #4d4d4f;
}
.search-homes-head span.label.open::after {
   border-top:    none;
   border-bottom: 7px solid #4d4d4f;
}
.search-homes-head .criteria-wrap input {
   display:block;
   width:100%;
   padding:10px 10px 10px 40px;
   font-size:16px;
   border:1px solid #9d2235;
   background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='20' height='20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M20 18.711l-6.044-6.044a7.782 7.782 0 0 0 1.688-4.845c0-2.089-.822-4.044-2.288-5.533C11.866.822 9.91 0 7.822 0S3.778.822 2.29 2.289A7.801 7.801 0 0 0 0 7.822c0 2.09.822 4.045 2.289 5.534a7.801 7.801 0 0 0 5.533 2.288c1.778 0 3.467-.6 4.845-1.688L18.71 20 20 18.711zM3.578 12.067c-2.334-2.334-2.334-6.156 0-8.49a5.968 5.968 0 0 1 4.244-1.755c1.6 0 3.111.622 4.245 1.756 2.333 2.333 2.333 6.155 0 8.489a5.968 5.968 0 0 1-4.245 1.755c-1.6 0-3.11-.622-4.244-1.755z' fill='%235D5D5D'/%3E%3C/svg%3E");
   background-repeat:no-repeat;
   background-position:7px 10px;
}
.search-homes-head .count {
   background-color: #851a2a;
   color: #fff;
   display: none;
   position: absolute;
   margin: -52px 0 0 126px;
   width: 30px;
   height: 30px;
   line-height: 30px;
   text-align: center;
   font-size: 14px;
   border-radius: 30px;
}
.listing-search-criteria {
   text-align: center;
   background-color: #fff;
   padding: 30px 0 0 0;
   display: none;
}
.listing-search-criteria .criteria {
   cursor: pointer;
   display: inline-block;
   margin: 0 55px 40px 5px;
   padding: 8px 30px 8px 25px;
   min-width: 150px;
   background-color: #dcdddf;
   color: #4d4d4f;
   font-size: 14px;
   font-weight: 200;
}
.listing-search-criteria .criteria p  {
   font-size: 22px;
   font-weight: 500;
   margin: 4px 0 0 0;
   padding: 0;
   color: #4d4d4f;
}
.listing-search-criteria .criteria svg {
   float: right;
   margin: 7px -47px 0 0;
}

.search-homes-head ul.choices {
   display:none;
   position:absolute;
   width:150px;
   height:200px;
   overflow-y:scroll;
   z-index:500;
   top:100%;
   left:12px;
   margin:0;
   background:#f7f8f8;
   border-left:3px solid #9d2235;
}
.search-homes-head .page-options ul.choices { /* sort option */
   width:200px;
   overflow:hidden;
   height:auto;
}
.search-homes-head ul.choices li {
   cursor:pointer;
   margin:0;
   padding:3px 10px;
   list-style:none;
   text-align:left;
   font-size:16px;
   border-bottom:1px solid rgba(0,0,0,0.2);
}
.search-homes-head ul.choices li:hover {
   color:#9d2235;
}
.search-homes-head ul.choices li.current {
   color:#fff;
   background:#4d4d4f;
}
.search-homes-head .criteria-right-wrap .inline-criteria-buttons {
   width:auto;
   display:inline-block;
   padding-left:20px;
}
/* listing search advanced row (hidden on load) */
.search-advanced {
   display:none;
   position:relative;
   margin-bottom:30px;
   padding:20px;
   background:#f7f8f8;
   border-left:3px solid #9d2235;
}
.search-advanced .col1 {
   width:25%;
   float:left;
}
.search-advanced .col2 {
   width:35%;
   float:left;
}
.search-advanced .col3 {
   width:40%;
   float:left;
}
.search-advanced p {
   margin-bottom: 25px;
   font-size:18px;
}
.search-advanced .prop-type p {
   font-size:18px;
   margin: 5px 0;
}
.search-advanced select {
   display:block;
   width:240px;
   border:none;
   line-height:1;
   padding:8px 5px;
   font-size:16px;
   -webkit-appearance:none;
   -moz-appearance:none;
   appearance:none;
   background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='100' height='100' fill='%234d4d4f'><polygon points='0,0 100,0 50,50'/></svg>");
   background-repeat:no-repeat;
   background-position:right 10px top 15px;
   background-size:12px auto;
}
.search-advanced select::-ms-expand {
    display: none; /* Remove default arrow in IE 10/11 */
}
.search-advanced a.close {
   display:block;
   position:absolute;
   width:30px;
   text-align:right;
   top:0px;
   right:15px;
   font-size:40px;
}
#loading-indicator {
   position: absolute;
}
/* listing search row 2 */
.filters-row-2 {
   background:#ececec;
   font-size:22px;
}
.filters-row-2 .num-results-wrap {
   width:50%;
   float:left;
   color:#777;
   text-transform:uppercase;
   padding:30px 0;
   min-height: 87px;
}
.filters-row-2 .page-options {
   width:50%;
   float:right;
   text-align:right;
   padding-top:30px;
}
.filters-row-2 .page-options .sort-results {
   color:#000;
   display:inline-block;
   margin-left:40px;
   font-size:20px;
}
.filters-row-2 .page-options .type-results {
   display:inline-block;
   text-transform:uppercase;
   margin-left:40px;
   color:#000;
}
.filters-row-2 .page-options .type-results .list,
.filters-row-2 .page-options .type-results .map {
   display:inline-block;
   opacity:0.55;
   cursor:pointer;
   line-height:40px;
   margin-left:35px;
   -webkit-transition:  .3s;
   transition:          .3s;
}
.filters-row-2 .page-options .type-results .list:hover,
.filters-row-2 .page-options .type-results .map:hover {
   opacity:1;
}
.filters-row-2 .page-options .type-results .list {
   padding-right:45px;
   background:url(assets/images/listing-results-grid-icon.svg) no-repeat right top;
}
.filters-row-2 .page-options .type-results .map {
   padding-right:40px;
   background:url(assets/images/listing-results-map-icon.svg) no-repeat right top;
}
@media (max-width: 1300px) {
   .search-homes-head .criteria-right-wrap .inline-criteria-buttons {
      padding-top:20px;
   }
}
@media (max-width: 1100px) {
   .search-homes-head .criteria-wrap {
      width:100%;
      float:none;
   }
   .search-homes-head .criteria-wrap input {
      width:400px;
      max-width:100%;
   }
   .search-homes-head .criteria-right-wrap {
      width:100%;
      float:none;
      text-align:left;
   }
   .search-homes-head span.label {
      margin:0 20px 0 0;
   }
}
@media (max-width: 875px) {
   .search-homes-head .criteria-wrap {
      margin-bottom:20px;
   }
   .search-homes-head .criteria-right-wrap .inline-criteria-buttons {
      padding-left:0;
   }
   .filters-row-2 .page-options .sort-results {
      margin-left:0;
   }
   .filters-row-2 .page-options .type-results {
      margin-left:0;
   }
}
@media (max-width: 767px) {
   .filters-row-2 {
      padding:20px 0;
   }
   .filters-row-2 .num-results-wrap {
      width:100%;
      float:none;
      text-align:center;
      padding:0;
   }
   .filters-row-2 .page-options {
      width:100%;
      float:none;
      padding-top:20px;
      text-align:center;
   }
   .filters-row-2 {
      font-size:18px;
   }

   #result_type { display: none; }
   .filters-row-2 .num-results-wrap { min-height: unset; }
}
@media (max-width: 600px) {
   .search-homes-head .criteria-wrap input {
      width:100%;
   }
   .search-homes-head .criteria-right-wrap {
      text-align:center;
   }
   .search-homes-head .criteria {
      display:block;
   }
   .search-homes-head span.label {
      margin:0;
      padding:5px 0;
   }
   .search-homes-head .criteria-right-wrap .inline-criteria-buttons a.criteria {
      display:inline-block;
   }
   .search-homes-head ul.choices {
      left:50%;
      margin-left:-75px;
   }
}

.rmls-eula { font-size: 0.9rem; font-style: italic; margin-top: 5px; }

/* default result-box styling (search results, agent listings, etc.) */
/* result grid layouts */
#results {
   -webkit-transition:  .3s;
   transition:          .3s;
}
.results.results-2-per-row .result-box {
   width:48%;
   float:left;
}
.results.results-2-per-row .result-box:nth-child(even) {
   margin-left:4%;
}
.results.results-3-per-row .result-box {
   width:calc((100% / 3) - 16px);
   margin:50px 8px 50px 8px;
   float:left;
}
#listing-search-results {
   margin-bottom:30px;
}
#listing-search-results.grid-view .mCSB_scrollTools {
   display:none !important;
}
#listing-search-results.grid-view .mCSB_inside > .mCSB_container {
   margin-right:0 !important;
}
.result-box {
   position:relative;
   height:660px;
}
.result-box.thumbed-down .thumb,
.result-box.thumbed-down .listing-details,
.result-box.thumbed-down .price,
.result-box.thumbed-down .courtesy
{
   opacity: 0.1;
}
.result-box .status-head {
   height:40px;
   line-height:40px;
   overflow:hidden;
   margin:0 0 10px 0;
   font-size:26px;
}
.result-box .status-head a.status {
   width:calc(100% - 200px);
   float:left;
   color:#25282a;
   background:#b7c0c2;
   padding:0 15px;
   font-family:jubilat, serif;
   text-transform:uppercase;
}
.result-box .status-head.new-listing a.status {
   color:#fff;
   background:#9d2235;
}
.result-box .status-head.new-listing a.status:hover {
   color:#fff !important;
}
.result-box .status-head .user-ctrls {
   width:200px;
   float:right;
   text-align:center;
}
.result-box .status-head .user-ctrls a {
   display:inline-block;
   color:#d3d4d6;
   margin:0 5px;
   width:30px;
}
.result-box .status-head .user-ctrls a svg path.outer-thumb {
   fill:#d3d4d6;
}
.result-box a.thumb {
   display:block;
   height:405px;
   background-repeat:        no-repeat;
   background-position:      center center;
   -webkit-background-size:  cover;
   -moz-background-size:     cover;
   -o-background-size:       cover;
   background-size:          cover;
}
.result-box .listing-details {
   height:70px;
   overflow:hidden;
   color:#fcfdff;
   padding:10px 15px 0 15px;
   background:rgba(255,255,255,0.14);
}
.result-box .listing-details .address {
   float:left;
   font-size:20px;
}
.result-box .listing-details .features {
   position:relative;
   float:right;
   padding:0 0 0 8px;
}
.result-box .listing-details .features::before {
   content:'';
   display:block;
   position:absolute;
   top:6px;
   left:0;
   width:1px;
   height:43px;
   background:#9d2235;
}
.result-box .price {
   height:75px;
   line-height:75px;
   font-size:42px;
   color:#dcdddf;
   padding:0 15px;
}
.result-box .courtesy {
   height:60px;
   padding:5px 0 0 0;
   overflow:hidden;
   line-height:1.4;
   border-top:1px solid #9d2235;
}
.result-box .courtesy .courtesy-name {
   width:80%;
   float:left;
   color:#b7c0c2;
   font-size:18px;
}
.result-box .courtesy .courtesy-logo {
   width:20%;
   float:left;
   opacity:0.75;
}
.result-box:nth-of-type(3n + 4)::before {
   content:'';
   display:block;
   position:absolute;
   width:10000px;
   height:3px;
   background:#394149;
   top:-70px;
   left:-5000px;
}
/* map view */
#listing-search-results.map-view {
   display:flex;
   flex-wrap:nowrap;
   width:1800px;
   margin:15px auto 0 auto;
}
#results-map-view {
   display:none;
   width:calc(100% - 570px);
   webkit-background-size:    cover;
   -moz-background-size:      cover;
   -o-background-size:        cover;
   background-size:           cover;
   -webkit-transition:  .3s;
   transition:          .3s;
}
#listing-search-results.map-view #results-map-view {
   display:block;
}
#listing-search-results.map-view #results {
   position:relative;
   width:570px;
   /*height:1350px;*/
   height:  100%;
   overflow-x: none;
   overflow-y: auto;
}
#listing-search-results.map-view #results .pagewidth.pw1800 {
   width:100% !important;
   padding-left:20px;
   padding-right:0px;
   height:calc(100% - 75px);
   overflow:hidden;
}
#listing-search-results.map-view .results.results-3-per-row .result-box {
   width:100%;
   margin:30px 0 30px 0;
   float:none;
   border-bottom:4px solid #394149;
}
#listing-search-results.map-view .result-box.castle-cta {
   height:auto;
   padding-bottom:30px;
}
#listing-search-results.map-view .result-box:nth-of-type(3n + 4)::before {
   display:none;
}
#listing-search-results.map-view .result-box {
   padding-left:20px;
   padding-right:20px;
}
@media (max-width: 1840px) {
   #listing-search-results.map-view .result-box {
      padding-left:0;
      padding-right:0;
   }
}

#listing-search-results.map-view .listing-credit-for-map    { border-top: none; }
#listing-search-results.map-view .listing-credit-for-map p  { color: #fff; margin-bottom: 20px; }

#listing-search-results.map-view .zoom-for-more {
   color: #fff;
   margin: 20px;
   border: 1px solid #9d2235;
   padding:  20px;
   line-height: 1.9;
}

/* -- The Map pop-ups */
#results-map-view .loading-listing  { width: 250px; height: 165px; }
#results-map-view .map-listing      {
   /* note:  code applies background gradient overlay and background image of main photo */;
   background-size: cover;
   width: 250px;
   height: auto;
   min-height: 165px;
   overflow: hidden; color:  #fff;
   display: flex;
   flex-direction: column;
   justify-content: flex-end;
   align-items: flex-end;
   margin: 0;
   padding:  0;
}
#results-map-view .gm-style .gm-style-iw-c {
   padding: 0;
}
#results-map-view .gm-style .gm-style-iw-d {
   overflow: hidden !important;
}

#results-map-view .map-listing > div { margin: 2px 5px; font-size: 14px; }
#results-map-view .map-listing img  { max-width: 175px; height: auto; overflow: hidden; display: inline-block; }
#results-map-view .map-listing a    { color: #000000; text-decoration: none; }
#results-map-view .map-listing a:hover { text-decoration: underline; }
#results-map-view .map-listing .info {  }
#results-map-view .map-listing .price { font-weight: 700; }
#results-map-view .map-listing  button { font-size: 40px; font-weight: 900; }

/* Castle CTA as result box */
.result-box.castle-cta {
   clip-path:polygon(86% 0, 100% 130px, 100% 100%, 0 100%, 0 0);
}
.result-box.castle-cta .cta-area {
   height:525px;
   position:relative;
   background:linear-gradient(180deg, rgba(84,12,18,1) 0%, rgba(84,12,18,1) 5%, rgba(37,40,42,1) 63%);
}
.result-box.castle-cta .cta-area .watermark-wrap {
   height:100%;
   background:url(assets/images/logo-swatermark-red-med.png) no-repeat -90px bottom;
}
.result-box.castle-cta .cta-area .inner {
   height:100%;
   margin:0 65px 0 25px;
   padding:20px 0 0 0;
}
.result-box.castle-cta h3 {
   color:#ebecec;
   font-size:42px;
   line-height:1.2;
   font-weight:400;
   margin:0 0 40px 0;
   padding:0 0 10px 0;
   font-family:jubilat, serif;
   border-bottom:1px solid #9d2235;
}
.result-box.castle-cta h4 {
   color:#ebecec;
   font-size:36px;
   line-height:1.1;
   font-weight:400;
   margin:0 0 25px 0;
   text-transform:uppercase;
   font-family:'Roboto', sans-serif;
}
.result-box.castle-cta p {
   color:#ebecec;
   font-size:20px;
}
.result-box.castle-cta a.more-arrow {
   display:block;
   position:absolute;
   left:0;
   bottom:0;
   width:100%;
   padding: 24px 20px;
   text-align:center;
   font-size:24px;
   color:#fff;
   background:#9d2235;
}
.result-box.castle-cta a.more-arrow::after {
   border-color:#fff;
}
#listing-search-results.map-view .result-box.castle-cta .cta-area {
   height:auto;
}
#listing-search-results.map-view .result-box.castle-cta .cta-area .inner {
   padding-bottom:120px;
}
@media (max-width: 1800px) {
   #listing-search-results.map-view {
      width:100%;
   }
   .result-box.castle-cta h3 {
      margin-bottom:15px;
   }
   .result-box.castle-cta h4 {
      margin-bottom:10px;
   }
}
@media (max-width: 1600px) {
   .result-box.castle-cta h3 {
      font-size:36px;
   }
   .result-box.castle-cta h4 {
      font-size:28px;
   }
   .result-box.castle-cta a.more-arrow {
      font-size:18px;
   }
}
@media (max-width: 1400px) {
   #results-map-view {
      width:calc(100% - 400px);
   }
   #listing-search-results.map-view #results {
      width:400px;
   }
   #listing-search-results.map-view .result-box {
      height:460px;
   }
   #listing-search-results.map-view .result-box a.thumb {
      height:205px;
   }
   .result-box .status-head a.status {
      width:calc(100% - 100px);
   }
   .result-box .status-head .user-ctrls {
      width:100px;
      text-align:right;
   }
   .result-box .courtesy .courtesy-name {
      font-size:15px;
   }
}
@media (max-width: 1300px) {
   .result-box {
      height:560px;
   }
   .result-box a.thumb {
      height:305px;
   }
   .result-box.castle-cta .cta-area {
      height:425px;
   }
   .result-box.castle-cta .cta-area .inner {
      margin:0 20px 0 20px;
      padding:10px 0 0 0;
   }
   .result-box.castle-cta h4 {
      font-size:21px;
   }
   .result-box.castle-cta p {
      font-size:18px;
   }
}
@media (min-width: 1000px) and (max-width: 1200px) {
   .result-box {
      height:460px;
   }
   .result-box a.thumb {
      height:205px;
   }
   .result-box .status-head {
      font-size:20px;
   }
   .result-box .listing-details .address,
   .result-box .listing-details .features {
      font-size:16px;
      max-width: 65%;
   }
   .result-box.castle-cta h3 {
      font-size:32px;
   }
   .result-box.castle-cta p {
      font-size:16px;
   }
}
@media (max-width: 999px) {
   .results.results-3-per-row .result-box {
      width:calc((100% / 2) - 16px);
   }
   /* shift horizontal rule between rows */
   .result-box:nth-of-type(3n+4)::before {
      display:none;
   }
   .result-box:nth-of-type(2n+3)::before {
      content:'';
      display:block;
      position:absolute;
      width:10000px;
      height:3px;
      background:#394149;
      top:-70px;
      left:-5000px;
   }
}
@media (max-width: 849px) {
   .results.results-3-per-row .result-box {
      height:460px;
   }
   .results.results-3-per-row .result-box a.thumb {
      height:205px;
   }
   .results.results-3-per-row .result-box .status-head {
      font-size:20px;
   }
   .result-box .listing-details .features {
      font-size:18px;
   }
   .result-box .listing-details .address {
      font-size:16px;
      max-width: 75%;
   }
}
@media (max-width: 700px) {
   .results.results-3-per-row .result-box {
      width:100%;
      height:560px;
      float:none;
      margin-left:0;
      margin-right:0;
      border-bottom:3px solid #394149;
   }
   .results.results-3-per-row .result-box a.thumb {
      height:305px;
   }
   .result-box:nth-of-type(2n+3)::before {
      display:none;
   }
   .result-box.castle-cta {
      clip-path:polygon(86% 0, 100% 100px, 100% 100%, 0 100%, 0 0);
   }
   .results.results-3-per-row .result-box.castle-cta {
      height:auto;
      padding-bottom:50px;
   }
   .result-box.castle-cta h3 {
      font-size:42px;
   }
   .result-box.castle-cta h4 {
      font-size:36px;
   }
}
@media (max-width: 600px) {
   .result-box.castle-cta h3 {
      font-size:36px;
   }
   .result-box.castle-cta h4 {
      font-size:26px;
   }
   #listing-search-results .paging-custom a:not(.prev-arrow):not(.more-arrow),
   #listing-search-results .paging-custom span {
      display:none;
   }
}
@media (max-width: 500px) {
   .results.results-3-per-row .result-box {
      height:460px;
   }
   .results.results-3-per-row .result-box a.thumb {
      height:205px;
   }
   .result-box.castle-cta .cta-area {
      height:auto;
   }
   .result-box.castle-cta .cta-area .inner {
      padding-bottom:120px;
   }
}

/* custom scrollbar */
#listing-search-results .mCSB_scrollTools {

}
.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
   display:none;
}
#listing-search-results .mCSB_draggerContainer {
   background:#9d2235;
}
#listing-search-results .mCSB_scrollTools .mCSB_dragger {
   background:#dcdddf;
   clip-path:polygon(0 10%, 100% 0, 100% 90%, 0% 100%);
}
#listing-search-results .mCSB_scrollTools .mCSB_draggerRail {
   display:none;
}

/* paging listing results */
.paging-custom {
   clear:both;
   height:75px;
   padding:18px 0 0 0;
   text-align:center;
   color:#fff;
   font-size:18px;
   background:rgba(131,142,150,0.3);
}
.paging-custom a,
.paging-custom span {
   color:#fff;
   display:inline-block;
   padding:3px 6px;
}
.paging-custom span.curr {
   font-size:24px;
   font-weight:400;
}
.paging-custom a.prev-arrow,
.paging-custom a.more-arrow {
   display:inline-block;
   margin:0 20px;
   font-weight:400;
}
.paging-custom a.prev-arrow::before,
.paging-custom a.prev-arrow:hover::before,
.paging-custom a.more-arrow::after,
.paging-custom a.more-arrow:hover::after {
   border-color:#fff;
}
.paging-custom a.pagelink:hover {
   background:rgba(255,255,255,0.1);
}
/* paging on map view */
#listing-search-results.map-view .paging-custom {
   position:absolute;
   left:0;
   bottom:0;
   width:100%;
}
@media (max-width: 1400px) {
   #listing-search-results.map-view .paging-custom a:not(.prev-arrow):not(.more-arrow),
   #listing-search-results.map-view .paging-custom span {
      display:none;
   }
}

/* general home page elements */

body.location-home h1,
body.location-home h2 {
   text-transform:uppercase;
}
body.location-home h2 {
   font-size:54px;
}

/* corner triangles (not css clip-path) */
.corner-fold::after {
   content:'';
   display:block;
   position:absolute;
   z-index:100;
   width:0;
   height:0;
}
.corner-fold.top-left::after {
   top:0;
   left:0;
   border-top:190px solid #fff;
   border-right:110px solid transparent;
}
.corner-fold.top-right::after {
   top:0;
   right:0;
   border-top:190px solid #fff;
   border-left:110px solid transparent;
}
.corner-fold.top-right-medium::after {
   top:0;
   right:0;
   border-top:160px solid #fff;
   border-left:90px solid transparent;
}
.corner-fold.bottom-right::after {
   right:0;
   bottom:0;
   border-bottom:190px solid #fff;
   border-left:110px solid transparent;
}
.corner-fold.bottom-left::after {
   left:0;
   bottom:0;
   border-bottom:190px solid #fff;
   border-right:110px solid transparent;
}

/* callouts */
.cta-big {
   position:relative;
   z-index:10;
   width:530px;
   padding:70px 30px 210px 30px;
   background:rgba(255,255,255,0.8);
}
.cta-big h2 {
   font-size:120px;
}
.cta-big h2.sep-after::after {
   margin-top:10px;
}
.cta-big h3{
   font-size:30px;
   margin:0 0 35px 0;
   line-height:1.4;
   text-transform:none;
   font-family:'Roboto', sans-serif;
}
.cta-big p {
   font-size:20px;
   line-height:1.7;
}
.cta-big a.cta-btn {
   display:block;
   width:100%;
   position:absolute;
   left:0;
   bottom:0;
   padding:28px;
   color:#fff;
   background:#9d2235;
   font-size:30px;
   text-transform:uppercase;
}
.cta-big a.cta-btn::after {
   content:'';
   display:inline-block;
   position:relative;
   top:-2px;
   left:10px;
   width:18px;
   height:18px;
   border-right:1px solid #fff;
   border-bottom:1px solid #fff;
   transform:rotate(-45deg);
   -webkit-transition:  .3s;
   transition:          .3s;
}
.cta-big a.cta-btn:hover::after {
   left:15px;
}

/* breakers */
.breaker::before,
.breaker::after {
   height:32px;
   content:'';
   display:block;
}
.breaker.style-1::before {
   background: linear-gradient(
      to right
      ,#9d2235 0%
      ,#9d2235 50%
      ,#691623 50%
      ,#691623 100%
   );
}
.breaker.style-1::after {
   background: linear-gradient(
      to right
      ,#394149 0%
      ,#394149 30%
      ,#49535d 30%
      ,#49535d 70%
      ,#1f2326 70%
      ,#1f2326 100%
   );
}

.breaker.style-2::before {
   background: linear-gradient(
      to right
      ,#9d2235 0%
      ,#9d2235 60%
      ,#691623 60%
      ,#691623 100%
   );
}
.breaker.style-2::after {
   background: linear-gradient(
      to right
      ,#49535d 0%
      ,#49535d 45%
      ,#1f2326 45%
      ,#1f2326 100%
   );
}@media (max-width: 767px) {
   .breaker::before,
   .breaker::after {
      height:10px;
   }
}

/* top row shadow */
.shadow-top {
   position:relative;
}
.shadow-top::before {
   content:'';
   display:block;
   position:absolute;
   top:0;
   left:0;
   z-index:1;
   width:100%;
   height:140px;
   background:rgba(0,0,0,0.4);
}

/* location landing page */
#hero {
   position:relative;
   background-color:#fff;
   background-position:       right top;
   background-repeat:         no-repeat;
   -webkit-background-size:   cover;
   -moz-background-size:      cover;
   -o-background-size:        cover;
   background-size:           cover;
}
#hero .inner {
   width:450px;
   padding:340px 0 210px 0;
}
#hero h1 {
   opacity:0;
   color:#dcdddf;
   font-size:100px;
   line-height:1;
   font-family: Alexander Lettering, jubilat, serif;
   text-transform: lowercase;
}
#hero h1 span.hero-period {
   content: '.';
   font-family: "Comic Sans MS", cursive; /* Fallback font with periods */
   font-size:30px;
}
#hero h1 span {
   font-size:62px;
}
#hero p {
   opacity:0;
   color:#dcdddf;
   font-size:26px;
   margin:0 0 30px 0;
}
#hero h2 {
   opacity:0;
   color:#dcdddf;
   font-size:36px;
}
#hero .user-tabs {
   position:absolute;
   width:1100px;
   left:50%;
   margin-left:-550px;
   bottom:0;
}
#hero .user-tabs a {
   display:block;
   position:absolute;
   bottom:0;
   float:left;
   padding-top:15px;
   padding-bottom:15px;
   -moz-box-shadow: inset 0 -30px 30px -30px rgba(0,0,0,0.3);
   -webkit-box-shadow: inset 0 -30px 30px -30px rgba(0,0,0,0.3);
   box-shadow: inset 0 -30px 30px -30px rgba(0,0,0,0.3);
   text-align:center;
   text-transform:uppercase;
   font-size:42px;
   font-family:jubilat, serif;
}
#hero .user-tabs a.active,
#hero .user-tabs a:hover {
   padding-top:35px;
   padding-bottom:35px;
}
#hero .user-tabs a:nth-child(1) {
   left:0;
   width:46%;
   color:#dcdddf;
   background:#9d2235;
   clip-path: polygon(12% 0%, 100% 0, 100% 100%, 0% 100%);
}
#hero .user-tabs a:nth-child(2) {
   left:46%;
   width:54%;
   color:#9d2235;
   background:#dcdddf;
   clip-path: polygon(0 0, 92% 0, 100% 100%, 0% 100%);
}
#hero.corner-fold.bottom-right::after {
   border-bottom-color:#f7f8f8;
}
@media (max-width: 1400px) {
   #hero .user-tabs {
      width:calc(100% - 150px);
      left:0;
      margin-left:0px;
   }
   #hero .user-tabs a {
      padding-top:10px;
      padding-bottom:10px;
      font-size:28px;
   }
   #hero .user-tabs a.active,
   #hero .user-tabs a:hover {
      padding-top:20px;
      padding-bottom:20px;
   }
   #hero .user-tabs a:nth-child(1) {
      clip-path: polygon(8% 0%, 100% 0, 100% 100%, 0% 100%);
   }
   #hero .user-tabs a:nth-child(2) {
      clip-path: polygon(0 0, 94% 0, 100% 100%, 0% 100%);
   }
}
@media (max-width: 1340px) {
   #user-forms form.sell-home {
      width:400px;
      max-width:100%;
      margin:0 auto;
   }
   #user-forms form.sell-home input {
      width:100%;
      margin:5px auto 0 auto;
   }
}
@media (max-width: 960px) {
   #hero .user-tabs a {
      font-size:22px;
   }
}
@media (max-width: 875px) {
   #hero .inner {
      padding:160px 0 120px 0;
   }
}
@media (max-width: 767px) {
   #hero {
      height:450px;
   }
   #hero::after {
      display:none;
   }
   #hero .inner {
      padding:130px 0 0px 0;
   }
   #hero .inner p,
   #hero .user-tabs,
   #user-forms {
      display:none;
   }
   .corner-fold.top-left::after {
      border-top:90px solid #fff;
      border-right:45px solid transparent;
   }
   .corner-fold.top-right::after {
      border-top:90px solid #fff;
      border-left:45px solid transparent;
   }
   .corner-fold.bottom-right::after {
      border-bottom:90px solid #fff;
      border-left:45px solid transparent;
   }
}
@media (max-width: 600px) {
   #hero .inner {
      padding-top:225px;
   }
   #hero .inner h1 {
      font-size:28px;
   }
   #hero .inner h1 span {
      font-size:46px;
   }
   #hero .inner h1.sep-after::after {
      margin:20px 0;
   }
   #hero .inner h2 {
      font-size:28px;
   }
   #mobi-alt-1 .accordion-section .acc-content input:not([type='checkbox']) {
      width:100%;
   }
}
@media (max-width: 500px) {
   #hero .inner {
      width:100%;
   }
   #hero .inner h1 span {
      font-size:34px;
   }
   #hero .inner h2 {
      font-size:24px;
   }
}

#user-forms {
   padding:40px 0 70px 0;
   background:#f7f8f8;
}
#user-forms .panel {
   display:none;
}
#user-forms .panel.active {
   display:block;
}

/* sell your home tab */
form.sell-home {
   display:block;
   max-width: 1350px;
   text-align: right;
   margin: 0 auto;
}
form.sell-home input {
   margin:0 5px 10px 5px;
}
form.sell-home input.email,
form.sell-home input.address {
   width:290px;
   max-width:100%;
}
form.sell-home input[type="submit"] {
   display:inline-block;
   width:375px;
   max-width:100%;
   color:#fff;
   background:#9d2235;
   float: right;
}

/* search home listings tab */
#search-listings {
   position:relative;
}
.search-listings input,
.search-listings select {
   display:inline-block;
}
.search-listings input.search-by {
   width:400px;
   position:relative;
   top:-1px;
   text-align: left;
}
.search-listings .search-suggestions {
   display:none;
}
.search-listings a.advanced-search.button {
   display:inline-block;
   background:#394149;
   height:45px;
   line-height:45px;
   padding:0 20px;
}
.search-listings input[type="submit"] {
   display:inline-block;
   padding-left:70px;
   padding-right:70px;
}
#search-listings .search-advanced {
   display:none;
   position:absolute;
   z-index:50;
   width:1100px;
   max-width:100%;
   top:70px;
   left:50%;
   margin-left:-550px;
   text-align:left;
   border:1px solid #9d2235;
}
#search-listings .search-advanced select {
   height:auto;
   line-height:1;
}
/* responsive includes the mobile view and search listings page */
@media (max-width: 1200px) {
   .search-listings {
      width:400px;
      max-width:100%;
      margin:0 auto;
   }
   .search-listings input:not([type='checkbox']),
   .search-listings select {
      display:block;
      width:100%;
   }
   .search-listings a.advanced-search.button {
      width:100%;
      margin:0 0 5px 0;
   }
   .search-advanced {
      position:relative;
      width:auto;
      top:0;
      left:0;
      margin:0 0 5px 0;
      border:1px solid #9d2235;
   }
   .search-advanced .col1,
   .search-advanced .col2,
   .search-advanced .col3 {
      float:none;
      width:100%;
   }
   .search-advanced a.close {
      top:-8px;
   }
}

/* drop-down on ajax search */
.search-suggestions {
   display: none;
   width: 400px;
   height: 250px;
   overflow-y: scroll;
   z-index: 999;
   position: absolute;
   background-color: #DCDDDE;
   list-style: none;
   margin: 0;
   padding: 0;
   border: 1px solid #4d4d4f;
}
.search-suggestions li               { cusor: pointer; margin: 0; font-size: 12px; line-height: auto; padding: 5px; font-weight: 400; border-bottom: 1px solid #bbb; }
.search-suggestions li:last-child    { bottom-border: none; }
.search-suggestions li.head          { background-color: #4d4d4f; color: #ffffff; font-weight: 700; font-size: 16px; }
.search-suggestions li.noresults     { color: #9D2235; font-size: 14px; }
.search-suggestions li.choice        { cursor: pointer; padding-left: 5px; }
.search-suggestions li.choice:hover  { color: #9D2235; }
.header-search-suggestions {
   width: 375px;
   margin: 42px 0 0 -184px;
}

/* home mobile alternate elements */
#mobi-alt-1 {
   display:none;
   margin-bottom:35px;
}
#mobi-alt-1 .accordion-section h3 {
   color:#fff;
   background:#9d2235;
   font-size:26px;
   text-align:center;
   margin:0;
   padding:30px 20px;
   cursor:pointer;
}
#mobi-alt-1 .accordion-section h3::after {
   content:'';
   display:inline-block;
   position:relative;
   top:-6px;
   margin-left:15px;
   width:15px;
   height:15px;
   border-right:2px solid #fff;
   border-bottom:2px solid #fff;
   transform:rotate(45deg);
   -webkit-transition:  .3s;
   transition:          .3s;
}
#mobi-alt-1 .accordion-section.active h3::after {
   transform:rotate(225deg);
   top:3px;
}
#mobi-alt-1 .accordion-section.experience h3 {
   background:#4d4d4f;
}
#mobi-alt-1 .accordion-section .acc-content {
   display:none;
   padding:20px;
}
#mobi-alt-1 .accordion-section .acc-content form.sell-home {
   width:400px;
   max-width:100%;
   margin:0 auto;
}
#mobi-alt-1 .accordion-section .acc-content form.sell-home input {
   display:block;
   width:100%;
   margin-bottom:5px;
   margin-left: 0;
   margin-right: 0;
}
#mobi-alt-1 .accordion-section .acc-content form.sell-home input[type="submit"] {
   margin-bottom:0;
   white-space: normal;
}
#mobi-alt-1 #mobi-site-intro {
   position:relative;
   padding:50px 20px 90px 20px;
   background:#000 url(assets/images/castle-hex-grid-deep-red.png) no-repeat top left;
}
#mobi-alt-1 #mobi-site-intro h1 {
   font-size:30px;
   color:#fff;
}
#mobi-alt-1 #mobi-site-intro h1 span {
   font-size:46px;
   display:block;
}
#mobi-alt-1 #mobi-site-intro p {
   color:#fff;
   line-height:1.4;
   font-size:20px;
   margin-bottom:40px;
}
#mobi-alt-1 #mobi-site-intro h2 {
   font-size:36px;
   color:#fff;
}
@media (max-width: 767px) {
   #hero {
      clip-path:none;
   }
}
@media (max-width: 625px) {
   .location-home .top-hero-text {
      display: none;
   }
   .location-home #hero {
      background-position: top right;
   }
   #mobi-alt-1 {
      display:block;
   }
}
@media (max-width:400px) {
   #mobi-alt-1 .accordion-section h3 {
      font-size:22px;
   }
}

#sellers {
   position:relative;
   padding:75px 0 210px 0;
   background-image:url(assets/images/young-couple-moving.jpg);
   background-repeat:        no-repeat;
   background-position:      center center;
   -webkit-background-size:  cover;
   -moz-background-size:     cover;
   -o-background-size:       cover;
   background-size:          cover;
}
#sellers.corner-fold.top-left::after {
   border-top-color:#f7f8f8;
}
#sellers .cta-big {
   opacity:0;
   margin-left:-30px;
   -webkit-transition:  1s;
   transition:          1s;
}
#sellers.in-view .cta-big {
   opacity:1;
   margin-left:0px;
}
@media (max-width: 600px) {
   #sellers .pagewidth.pw1400 {
      padding-right:0;
      padding-left:0;
   }
   #sellers {
      padding-bottom:0;
   }
   .cta-big {
      width:100%;
   }
   .cta-big h2 {
      font-size:80px;
   }
}
@media (max-width: 400px) {
   .cta-big h2 {
      font-size:60px;
   }
   .cta-big h3 {
      font-size:26px;
   }
}

#home-valuation {
   background:#fff;
   padding:70px 0 80px 0;
}
#home-valuation p {
   font-size:20px;
   line-height:1.5;
}
#home-valuation .col-1 {
   opacity:0;
   position:relative;
   left:-30px;
   width:40%;
   float:left;
   padding-right:60px;
}
#home-valuation .col-2 {
   opacity:0;
   position:relative;
   right:-30px;
   width:60%;
   float:left;
}
form.valuation .form-row {
   overflow:hidden;
   margin:0 0 15px 0;
}
form.valuation .form-row .row-half {
   width:50%;
   float:left;
}
form.valuation .form-row label {
   display:block;
   float:left;
   width:160px;
   text-align:right;
   padding:10px 10px 0 0;
   font-weight:500;
}
form.valuation .form-row input {
   display:block;
   margin:0;
   padding:10px 10px;
   float:left;
   font-size:16px;
   border:1px solid #9d2235;
   width:calc(100% - 160px);
}
form.valuation .form-row input.button {
   width:450px;
   max-width:100%;
}
@media (max-width: 1000px) {
   #home-valuation .col-1 {
      width:100%;
      float:none;
      margin-bottom:40px;
   }
   #home-valuation .col-2 {
      width:100%;
      float:none;
   }
}
@media (max-width: 625px) {
   form.valuation .form-row .row-half {
      width:100%;
      float:none;
      margin-bottom:0;
   }
   form.valuation .form-row .row-half:nth-of-type(1) {
      margin-bottom:15px;
   }
   form.valuation .form-row label {
      float:none;
      text-align:left;
      width:auto;
   }
   form.valuation .form-row input {
      float:none;
      width:auto;
      width:100%;
   }
   form.valuation .form-row input.button {
      float:none;
      width:100%;
      margin-top:20px;
   }
}

#buyers {
   padding:75px 0 90px 0;
   background-image:url(assets/images/family-moving-in.jpg);
}
#buyers .cta-big {
   padding-bottom:400px;
}
#buyers a.cta-btn:nth-of-type(1) {
   bottom:90px;
   background:#394149;
}
#buyers .cta-big {
   opacity:0;
   margin-left:-30px;
   -webkit-transition:  1s;
   transition:          1s;
}
#buyers.in-view .cta-big {
   opacity:1;
   margin-left:0px;
}
@media (max-width: 600px) {
   #buyers .pagewidth.pw1400 {
      padding-right:0;
      padding-left:0;
   }
   #buyers {
      padding-bottom:0;
   }
}

#testimonials {
   background:#dcdddf;
   padding:70px 0 60px 0;
   text-align:center;
}
#testimonials blockquote {
   margin:-20px 0 60px 0;
   padding:0;
}
#testimonials blockquote p {
   opacity:0;
   font-size:26px;
   font-style:italic;
   line-height:1.6;
   margin:0 0 15px 0;
}
#testimonials blockquote figcaption {
   opacity:0;
}
#testimonials blockquote figcaption cite {
   font-size:26px;
   font-weight:500;
}
@media (max-width: 767px) {
   #testimonials blockquote p,
   #testimonials blockquote cite {
      font-size:20px;
   }
}
@media (max-width: 400px) {
   #testimonials h2 {
      font-size:42px;
   }
}

#resources {
   padding:90px 0;
}
#resources .feature-col {
   width:50%;
   float:left;
   padding-right:30px;
}
#resources .feature-col a {
   display:block;
   background:#edeeef;
   border-bottom:3px solid #9d2235;
}
#resources .feature-col a .thumb {
   height:350px;
   background-repeat:        no-repeat;
   background-position:      center center;
   -webkit-background-size:  cover;
   -moz-background-size:     cover;
   -o-background-size:       cover;
   background-size:          cover;
}
#resources .feature-col a h3 {
   margin:0;
   padding:35px 20px;
   font-size:30px;
   color:#000;
   text-transform:none;
   font-weight:500;
   font-family:'Roboto', sans-serif;
   -webkit-transition:  .3s;
   transition:          .3s;
}
#resources .feature-col a:hover h3 {
   color:#9d2235;
   background:#e1e4e6;
}
#resources .articles-col {
   width:50%;
   float:left;
   padding:0 0 0 30px;
}
#resources .articles-col a {
   opacity:0;
   position:relative;
   display:block;
   color:#000;
   font-size:26px;
   font-weight:500;
   padding:25px 0;
}
#resources .articles-col a::before {
   content:'';
   display:block;
   position:absolute;
   top:0;
   left:0;
   width:125px;
   height:1px;
   background:#9d2235;
}
#resources .articles-col a:hover {
   color:#9d2235;
}
@media (max-width: 650px) {
   #resources {
      padding:45px 0 20px 0;
   }
   #resources .pagewidth.pw1200 {
      padding-left:0;
      padding-right:0;
   }
   #resources h2 {
      padding-left:20px;
      padding-right:20px;
   }
   #resources .feature-col {
      width:100%;
      float:none;
      margin:0;
      padding:0;
   }
   #resources .feature-col a h3 {
      font-size:26px;
   }
   #resources .articles-col {
      width:100%;
      float:none;
      margin:0;
      padding:40px 20px 0 20px;
   }
   #resources .articles-col a {
      font-size:20px;
   }
}

#experience-wrap {
   position:relative;
   background:#000 url(assets/images/resources-logo-grid.jpg) no-repeat right -390px;
}
#experience-wrap .heading-row {
   opacity:0;
   padding-top:150px;
   -webkit-transition:  2s;
   transition:          2s;
}
#experience-wrap .heading-row h2 {
   color:#9d2235;
   margin:0 0 5px 0;
   font-size:54px;
}
#experience-wrap .heading-row h3 {
   color:#dcdddf;
   font-size:36px;
   padding-left:100px;
   font-family:jubilat, serif;
}
#experience-wrap.in-view .heading-row {
   opacity:1;
}
#experience-wrap .callout-grid {
   background:#000;
   padding:10px 0 25px 0;
}
#experience-wrap .callout-grid a {
   position:relative;
   display:block;
   width:calc(100% / 3 - 10px);
   height:400px;
   float:left;
   margin:5px;
   background-repeat:        no-repeat;
   background-position:      center center;
   -webkit-background-size:  cover;
   -moz-background-size:     cover;
   -o-background-size:       cover;
   background-size:          cover;
}
#experience-wrap .callout-grid a .overlay {
   position:absolute;
   width:90%;
   left:5%;
   bottom:15px;
   padding:25px 35px;
   border-bottom:3px solid transparent;
   background:rgba(255,255,255,0.9);
   -webkit-transition:  .3s;
   transition:          .3s;
}
#experience-wrap .callout-grid a .overlay h3 {
   opacity:0;
   position:relative;
   top:-15px;
   text-align:center;
   font-size:34px;
   font-family:jubilat, serif;
   text-transform:uppercase;
}
#experience-wrap .callout-grid a .overlay h3::after {
   content:'';
   display:block;
   width:110px;
   height:1px;
   background:#9d2235;
   margin:20px auto;
}
#experience-wrap .callout-grid a .overlay span.more-arrow {
   display:block;
   text-align:center;
   color:#000;
   text-transform:uppercase;
}
#experience-wrap .callout-grid a .overlay span.more-arrow:hover {
   color:#9d2235;
}
#experience-wrap .callout-grid a .overlay span.more-arrow:hover::after {
   border-color:#9d2235;
}
#experience-wrap .callout-grid a .overlay span.more-arrow::after {
   border-color:#000;
}
#experience-wrap .callout-grid a:hover .overlay {
   background:rgba(255,255,255,1);
   border-bottom:3px solid #9d2235;
}
@media (min-width: 1800px) {
   #experience-wrap .heading-row h2 {
      text-align:center;
   }
   #experience-wrap .heading-row h3 {
      text-align:center;
      padding-left:0;
   }
}
@media (min-width: 2100px) {
   #experience-wrap .heading-row h2 {
      text-align:right;
   }
   #experience-wrap .heading-row h3 {
      text-align:right;
   }
}
@media (max-width: 1799px) {
   #experience-wrap {
      background-position:-470px -300px;
      -webkit-background-size:  2000px auto;
      -moz-background-size:     2000px auto;
      -o-background-size:       2000px auto;
      background-size:          2000px auto;
   }
   #experience-wrap .heading-row {
      padding-left:200px;
   }
}
@media (max-width: 1023px) {
   #experience-wrap .callout-grid a {
      width:calc(50% - 10px);
   }
}
@media (max-width: 767px) {
   #experience-wrap {
      background-position:-170px -50px;
      background-size:800px auto;
   }
   #experience-wrap.corner-fold.top-right::after {
      display:none;
   }
   #experience-wrap .heading-row {
      padding:20px 20px;
   }
   #experience-wrap .heading-row h2 {
      font-size:30px;
      line-height:1;
   }
   #experience-wrap .heading-row h2 span {
      font-size:46px;
      display:block;
   }
   #experience-wrap .heading-row h3 {
      font-size:20px;
      padding-left:50px;
   }
   #experience-wrap .callout-grid {
      padding:5px 0;
   }
   #experience-wrap .callout-grid .pagewidth.pw1800 {
      padding-left:0;
      padding-right:0;
   }
   #experience-wrap .callout-grid a {
      width:100%;
      margin:5px 0;
   }
}

/* ======================= Public showing request form (pages/showing-request.php) ======================= */
.page-showing-request form#showing-request-form label {
   width: 175px;
}

.page-showing-request form#showing-request-form input {
   min-width: 300px;
}

.page-showing-request form#showing-request-form input[type="checkbox"] {
   min-width: unset;
}

.page-showing-request form#showing-request-form select {
   min-width: 305px;
}

.page-showing-request form#showing-request-form .form-button-container {
   clear: both;
   /*margin-left: 160px;*/
   margin-top: 20px;
}
form.showing-request-denial textarea {
   width: 500px;
   height: 80px;
}



/* ======================= Vendors Page ======================= */
.big-vendor-wrap { text-align: center; }
.big-vendor-wrap img { margin: 1%; max-width: 30% }
@media (max-width: 975px) {
   .big-vendor-wrap img { max-width: 48%; margin: 1%; }
}
@media (max-width: 725px) {
   .big-vendor-wrap img { max-width: 90%; margin: 1% 0; }
}

.small-vendor-wrap { text-align: center; }
.small-vendor-wrap img { margin: 1%; max-width: 23% }
@media (max-width: 975px) {
   .small-vendor-wrap img { max-width: 31%; margin: 1%; }
}
@media (max-width: 825px) {
   .small-vendor-wrap img { max-width: 48%; margin: 1%; }
}
@media (max-width: 600px) {
   .small-vendor-wrap img { max-width: 90%; margin: 1%; }
}
.text-vendor-wrap h3 {
   margin-top: 40px;
   padding: 0 0 20px 0;
   font-size: 22px;
   font-weight: 400;
   border-bottom: 1px solid #ccc;
}
.text-vendor-wrap .vendor { margin: 20px 80px 20px 0; float: left; }


/* ======================= Sellers / Buyers Waiting Page ======================= */
.buyer-waiting {
   background-color: #eee;
   margin: 20px 0;
}
.buyer-waiting.buyer-found { padding-top: 0; }
.buyer-waiting h3          {
   margin: 0 0 5px 0; 3
   border-bottom: 1px solid #aaa;
   padding: 10px 15px;
}
.buyer-waiting p           { margin: 0 0 5px 0; }
.buyer-waiting .notes      {
   margin: 2px 0;
   font-style: italic;
   padding: 10px 15px;
}
.buyer-waiting .notes a {
   display: block;
   margin-top: 15px;
}
.buyer-waiting .buyer-found {
   color: #fff;
   background-color: #9D2235;
   font-weight: 900;
   padding: 5px 10px;
   margin-bottom: 5px;
}


/* ======================= Theme helpers ======================= */
.hidden {
   display:none;
}
.clear,
br.clear {
   clear:both;
   display:block;
   height:1px;
   margin:-1px 0 0 0
}
.dont-break-out {
   /* this will contain long strings (like URLs) from exiting their container */
     overflow-wrap: break-word;
     word-wrap: break-word;
     -ms-word-break: break-all;
     /* Instead use this non-standard one: */
     word-break: break-word;
     /* Adds a hyphen where the word breaks, if supported (No Blink) */
     -ms-hyphens: auto;
     -moz-hyphens: auto;
     -webkit-hyphens: auto;
     hyphens: auto;
}

/* ======================= Presentational classes generated by WordPress ======================= */
.aligncenter {
   display:block;
   margin:0 auto;
}
.alignleft {
   float:left;
}
.alignright {
   float:right;
}
img.alignright {
   margin:0 0 10px 20px;
}
img.alignleft {
   margin:0 20px 10px 0;
}
/* WP captions */
.wp-caption   {
   margin:0 0 20px 0;
}
.wp-caption.alignleft {
   margin-right:20px;
}
.wp-caption.alignright {
   margin-left:20px;
}
p.wp-caption-text {
   margin:5px 0 0 0;
   font-style:italic;
   font-size:14px;
}

@media (max-width: 600px) {
   img.alignleft,
   img.alignright {
      float: none;
      display: block;
      margin: 20px auto;
      padding: 0;
      max-width: 90%;
      clear: both;
   }
}

/* ======================= Plugin ======================= */


/* ======================= Theme custom short codes ======================= */
/* horizontal rule */
div.hr, hr {
   width:100%;
   height:1px;
   clear:both;
   margin:20px 0;
   background:#ccc;
}

/* ======================= Printing ======================= */
.only-not-print { display: none; }

@media print {

   .only-not-print { display: block; }

   .printed-photo { max-width: 450px; }

   @page { margin: 1cm }

   body {
      background: none;
      margin: 0;
      padding: 0;
      font-family: Verdana, Arial, Helvetica, sans-serif !important;
      font-size: 10pt !important;
      color: #000 !important;
   }

   p {
      padding: initial;
      margin: initial;
      line-height: initial;
   }

   #masthead,
   #masthead-scroll,
   #masthead-mobile,
   #footer,
   #copyright,
   .do-not-print {
      display: none !important;
   }

   .desc-section .pagewidth.pw1400,
   .listing-title-row .pagewidth.pw1500,
   .pagewidth.pw1500 {
      padding: 0;
      margin: 0;
      width:  100%;
   }

   /* Single Listing Print Styles */
   body:not(.location-home) .mls-single-listing #content-wrap {
      padding-top: 0;
   }

   .mls-single-listing * {
      font-size: inherit !important;
      color: #000000 !important;
      height: auto !important;
   }
   .mls-single-listing .type-col,
   .mls-single-listing .features-col,
   .mls-single-listing .price-col,
   .mls-single-listing .address-col,
   .mls-single-listing .listing-summary-row,
   .mls-single-listing .listing-content .desc-section {
      background: none;
   }
   .mls-single-listing .pagewidth,
   .mls-single-listing .primary,
   .mls-single-listing .listing-content,
   .mls-single-listing .listing-credit .inner  {
      width: 100%;
      padding:  0;
      background: none;
   }

   .mls-single-listing .listing-summary-row {
      font-size: inherit;
   }
   .mls-single-listing .price-col {
      font-size: 16pt !important;
   }
   .mls-single-listing .listing-title-row div {
      padding: 10px 0;
      font-size: 12pt;
   }
   .mls-single-listing h1 {
      padding: 10px 0;
      font-size: 15pt !important;
      font-weight: 900;
   }
   .mls-single-listing h2 {
      padding: 30px 0 0 0;
      font-size: 19pt !important;
      font-weight: 900;
   }
   .mls-single-listing h3 {
      font-weight: 900;
      margin:  0;
      padding: 0;
   }
   .mls-single-listing .sep-after::after {
      display: none;
   }
   .mls-single-listing .details-col-wrap .details-block {
      margin-bottom: 10pt;
   }
}
