body {
  box-sizing: border-box;
  margin: 0;
  padding: 0; }

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

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

.skip-link {
  display: none; }

.skip-link:focus {
  display: block; }

.sticky {
  /* filler */ }

.gallery-caption {
  /* filler */ }

.bypostauthor {
  /* filler */ }

.alignnone {
  margin: 5px 20px 20px 0; }

.aligncenter,
div.aligncenter {
  display: block;
  margin: .5em auto; }

.alignright {
  float: none;
  margin: 0 auto; }

.alignleft {
  float: none;
  margin: 0 auto; }

a img.alignright {
  float: none;
  margin: 0 auto; }

a img.alignnone {
  margin: 0 .5em; }

a img.alignleft {
  float: none;
  margin: 0 auto; }

a img.aligncenter {
  display: block;
  margin-left: auto;
  margin-right: auto; }

.wp-caption {
  background: #fff;
  max-width: 96%;
  /* Image does not overflow the content area */
  padding: 5px 3px 10px; }

.wp-caption.alignnone {
  margin: .5em auto; }

.wp-caption.alignleft {
  margin: 0 auto; }

.wp-caption.alignright {
  margin: 0 auto; }

.wp-caption img {
  border: 0 none;
  height: auto;
  margin: 0;
  max-width: 98.5%;
  padding: 0;
  width: auto; }

.wp-caption p.wp-caption-text {
  font-size: 11px;
  line-height: 17px;
  margin: 0;
  padding: 0 4px 5px; }

/* Text meant only for screen readers. */
.screen-reader-text {
  clip: rect(1px, 1px, 1px, 1px);
  position: absolute !important;
  white-space: nowrap;
  height: 1px;
  width: 1px;
  overflow: hidden; }

.screen-reader-text:focus {
  background-color: #f1f1f1;
  border-radius: 3px;
  box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
  clip: auto !important;
  color: #21759b;
  display: block;
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: bold;
  height: auto;
  left: 5px;
  line-height: normal;
  padding: 15px 23px 14px;
  text-decoration: none;
  top: 5px;
  width: auto;
  z-index: 100000;
  /* Above WP toolbar. */ }

.size-auto,
.size-full,
.size-large,
.size-medium,
.size-thumbnail {
  max-width: 100%;
  height: auto; }

/*------------------------------------------------------------
                    SITEWIDE
------------------------------------------------------------*/
#page {
  border-top: 10px solid #000;
  border-bottom: 10px solid #000;
  font-family: 'Open Sans',sans-serif;
  line-height: 1.3; }

hr {
  border: none;
  border-bottom: 5px solid #000;
  margin-bottom: 1em;
  padding-bottom: 1em; }

.header-top {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  flex-direction: row-reverse;
  align-items: center;
  margin: 1em; }

.logo-area {
  margin-right: auto;
  flex-grow: 1;
  display: flex;
  justify-content: center; }

.contact-area {
  margin-left: auto;
  flex-grow: 1;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: space-between; }

.header-address {
  font-size: 90%; }

.header-phone {
  font-size: 150%;
  font-weight: bold;
  margin-bottom: 1em;
  margin-top: 1em;
  margin-left: 1em;
  white-space: nowrap; }

.hero-section {
  /*height: 32em;*/
  background-size: cover;
  background-position: center center; }

.main-navigation {
  background: rgba(0, 0, 0, 0.4);
  display: flex;
  flex-wrap: wrap; }

.menu-top-menu-container, .menu-right-menu-container {
  flex-basis: 100%; }

#primary-menu, #right-menu {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  text-transform: uppercase;
  padding-left: 0;
  margin: 0; }
  #primary-menu a, #right-menu a {
    text-decoration: none;
    font-size: 90%;
    padding: 1em 1.5em;
    display: inline-block;
    width: 100%; }
  #primary-menu a:link, #primary-menu a:visited, #right-menu a:link, #right-menu a:visited {
    color: #ddd; }
  #primary-menu a:hover, #primary-menu a:focus, #right-menu a:hover, #right-menu a:focus {
    color: #fff;
    background-color: rgba(255, 255, 255, 0.3); }
  #primary-menu li, #right-menu li {
    flex-basis: 50%;
    text-align: center; }
  #primary-menu .special-link, #right-menu .special-link {
    margin-left: auto;
    background-color: #000;
    display: inline-block;
    padding: 1em 2em; }

.triangle-divider {
  border-top: 10px solid #000; }
  .triangle-divider .left-triangle {
    margin-left: 25%; }
  .triangle-divider .right-triangle {
    margin-left: 75%; }
  .triangle-divider .center-triangle {
    margin-left: calc(50% - 40px); }
  .triangle-divider .left-triangle, .triangle-divider .right-triangle, .triangle-divider .center-triangle {
    width: 0px;
    height: 0px;
    border-left: 40px solid transparent;
    border-right: 40px solid transparent;
    border-top: 20px solid #000; }

.site-footer {
  background-color: #555;
  color: #ddd;
  font-size: 90%; }
  .site-footer .site-info .footer-content-block {
    text-align: center;
    margin: 0 auto;
    padding: 1em; }
  .site-footer a {
    font-size: 90%; }
  .site-footer a:link, .site-footer a:visited {
    color: #ddd; }
  .site-footer a:hover, .site-footer a:focus {
    color: #fff; }

/* -----------------------------------------------------------
                STANDARD PAGE STYLES
                ---------------------------------------------*/
.inner-content {
  /* max-width:60em;*/
  margin: 1em auto;
  padding: 1em; }

.button {
  display: inline-block;
  padding: .5em 1em;
  border: 1px solid #000;
  color: #000;
  text-decoration: none; }
  .button:hover {
    background-color: #000;
    color: #fff; }

#breadcrumbs {
  list-style: none;
  margin: 10px 0;
  padding: 0;
  font-size: 80%;
  color: #aaa;
  overflow: hidden; }

#breadcrumbs a {
  color: #aaa;
  text-decoration: none; }

#breadcrumbs li {
  display: inline-block;
  vertical-align: middle;
  margin-right: 10px; }

#breadcrumbs .separator {
  font-size: 14px;
  font-weight: 100;
  color: #aaa; }

/* -----------------------------------------------------------
                HOME PAGE STYLES
                ---------------------------------------------*/
.welcome-area {
  margin-top: 2em; }

.welcome-title-area {
  margin-bottom: 2em; }

.welcome-line-1 {
  font-weight: bold;
  font-size: 150%; }

.welcome-line-2 {
  font-weight: bold;
  font-size: 200%; }

/* -----------------------------------------------------------
                REPEATABLE PAGE STYLES
                ---------------------------------------------*/
.repeatable-section {
  display: flex;
  flex-wrap: wrap;
  margin: 6em 0; }
  .repeatable-section .repeatable-half {
    flex: 1 0 100%;
    margin: 1em 0;
    min-width: 0; }

.reverse-order.repeatable-section .repeatable-right {
  order: -1; }

.flex-left {
  margin-right: auto; }

.flex-right {
  margin-left: auto; }

.carousel-container {
  position: relative; }

.carousel-nav-button {
  background-color: transparent;
  border: none;
  color: #fff;
  cursor: pointer; }
  .carousel-nav-button:hover {
    background-color: rgba(255, 255, 255, 0.3); }

.featured-property-container a {
  color: #fff; }

.featured-property-photo {
  min-height: 15em;
  background-size: cover;
  background-position: center center; }

.featured-property-banner,
.featured-property-footer {
  display: flex;
  justify-content: center;
  color: #fff; }

.featured-property-banner {
  background-color: rgba(0, 0, 0, 0.5);
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 2; }

.featured-property-footer {
  font-size: 80%;
  flex-wrap: wrap; }

.featured-property-flex-item {
  padding: 1em; }

/* -----------------------------------------------------------
                LISTING
                ---------------------------------------------*/
.listing-item {
  margin: 2em 0; }

.listing-photo-area {
  position: relative;
  line-height: 0; }

.top-triangle {
  width: 0px;
  height: 0px;
  border-left: 40px solid transparent;
  border-right: 40px solid transparent;
  border-top: 20px solid #000;
  margin-left: 15%; }

.listing-title {
  font-size: 150%;
  margin-top: 1em; }
  .listing-title a {
    text-decoration: none; }
    .listing-title a:hover {
      text-decoration: underline; }

.listing-subtitle {
  color: #555; }

.listing-description {
  margin: 1em 0; }

.listing-price {
  color: green;
  font-size: 150%; }

.listing-item .button {
  margin-top: 1em; }

#mapcontainer {
  min-height: 400px; }

.listing-description {
  margin: 3em 0 4em 0; }

table {
  width: 100%; }

.listing-item-table-view {
  width: 100%;
  flex-direction: column;
  display: flex;
  justify-content: space-between; }
  .listing-item-table-view .listing-description {
    margin: 0; }
  .listing-item-table-view a {
    margin-bottom: auto; }

/* -----------------------------------------------------------
                GALLERY
                ---------------------------------------------*/
.gallery {
  list-style: none;
  margin-left: 0;
  padding-left: 0; }

.gallery li::before {
  display: none; }

.gallery {
  display: flex;
  flex-wrap: wrap;
  flex-direction: column; }

.gallery .gallery-filler {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-grow: 100; }

.gallery .gallery-item {
  flex: 0 0 20%;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  height: 10em;
  margin: .5em;
  /* margin: 1%; */ }

.gallery-item img {
  opacity: 0;
  height: 100%;
  width: 100%; }

/*------------------------------------------------------------
                   MULTICOLUMN
                   ------------------------------------------*/
.column-container {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: stretch;
  flex-wrap: wrap; }

.column {
  flex: 1 1 0;
  padding: 2em; }

/* -----------------------------------------------------------
                MEDIA QUERIES
                ---------------------------------------------*/
@media screen and (min-width: 62.5em) {
  /*------------------------------------------------------------
                      SITEWIDE
  ------------------------------------------------------------*/
  .header-top {
    justify-content: space-between; }

  .contact-area {
    display: block;
    flex-grow: 0; }

  .logo-area {
    flex-grow: 0; }

  #primary-menu, #right-menu {
    padding-left: 1em; }
    #primary-menu a, #right-menu a {
      width: auto; }
    #primary-menu li, #right-menu li {
      flex-basis: auto;
      text-align: left;
      margin-bottom: 2px; }

  .menu-top-menu-container, .menu-right-menu-container {
    flex-basis: auto; }

  .menu-right-menu-container {
    margin-left: auto; }

  .site-footer .site-info {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between; }
    .site-footer .site-info .footer-content-block {
      margin: 0; }

  /* -----------------------------------------------------------
                  STANDARD PAGE STYLES
                  ---------------------------------------------*/
  .inner-content {
    min-height: 50vh;
    margin-left: 2em;
    margin-right: 2em; }

  /* -----------------------------------------------------------
                  HOME PAGE STYLES
                  ---------------------------------------------*/
  .welcome-area {
    display: flex; }

  .welcome-title-area {
    margin-bottom: 0;
    margin-right: 6em;
    flex-basis: 40%; }

  .welcome-paragraph-area {
    flex-basis: 60%; }

  /* -----------------------------------------------------------
                  REPEATABLE PAGE STYLES
                  ---------------------------------------------*/
  .repeatable-section .repeatable-half {
    flex: 0 0 50%;
    margin: 0; }
  .repeatable-section .repeatable-left {
    padding-right: 3em; }
  .repeatable-section .repeatable-right {
    padding-left: 3em; }

  .reverse-order.repeatable-section .repeatable-right {
    order: 0; }

  /* -----------------------------------------------------------
                  LISTING
                  ---------------------------------------------*/
  .NavigationPage,
  .NavigationPage a {
    font-weight: bold;
    text-transform: uppercase; }

  .listing-item {
    display: flex;
    align-items: flex-start;
    margin: 6em 0; }

  .listing-item:nth-of-type(odd) {
    flex-direction: row-reverse; }
    .listing-item:nth-of-type(odd) .listing-photo-area {
      margin: 0 0 0 2em;
      flex-direction: row-reverse; }
    .listing-item:nth-of-type(odd) .side-triangle {
      border-left-width: 0;
      border-right-width: 10px;
      border-right-style: solid; }
      .listing-item:nth-of-type(odd) .side-triangle .top-triangle {
        border-left: 0;
        border-right: 20px solid #000; }

  .listing-detail-area {
    flex-basis: 60%;
    flex-grow: 1; }

  .listing-title {
    margin-top: 0; }

  .listing-price {
    float: left; }

  .listing-item .button,
  .detail-item .button {
    float: right;
    margin-top: 0; }

  .listing-photo-area {
    margin: 0 2em 0 0;
    display: flex;
    align-items: flex-start;
    flex-basis: 45%; }

  .listing-item .side-triangle {
    border-top: none;
    border-top-width: 0;
    border-left-width: 10px;
    border-left-style: solid;
    align-self: stretch; }
    .listing-item .side-triangle .top-triangle {
      border-top: 40px solid transparent;
      border-bottom: 40px solid transparent;
      border-left: 20px solid #000;
      margin-left: 0;
      margin-top: 30px; }

  .detail-item .listing-price {
    float: right; }

  .detail-item .button {
    clear: right;
    margin-top: 1em; }

  .detail-item .gallery {
    clear: both; }

  .listings-outer-container.listings-table-view {
    display: table;
    width: 100%; }

  .listing-item-table-view {
    display: table-row;
    width: 100%; }
    .listing-item-table-view .listing-description {
      margin: 0; }
    .listing-item-table-view .listing-title, .listing-item-table-view .listing-subtitle, .listing-item-table-view .listing-description {
      display: table-cell; }

  /*-----------------------------------------------------------
                  GALLERY
                  ------------------------------------------*/
  .gallery {
    flex-direction: row; }

  /*------------------------------------------------------------
                     MULTICOLUMN
                     ------------------------------------------*/
  .column-container {
    flex-direction: row; } }
