:root {
  /** Font default */
  --font-family-default: 'Heebo', sans-serif;
  --font-family-title: 'Playfair Display', serif;
  --font-size-default: 14px;
  --font-size-title: 18px;
  --font-color-default: #000000;
  --font-color-title: #6c757d;
  --accent-color: #238e9f;
  --accent-color-dark: #213d46;
  /** Use for input, button, and any other element */
  --primary: #007bff;
  --secondary: #6c757d;
  --success: #28a745;
  --info: #17a2b8;
  --warning: #ffc107;
  --danger: #dc3545;
  --light: #f8f9fa;
  --dark: #343a40;
  --default-transition: .3s cubic-bezier(.4, 0, .2, 1);
}

/* Global */
body {
  font-family: var(--font-family-default);
  font-size: var(--font-size-default);
  background: #FFFFFF;
  color: var(--font-color-default);
  margin: 0;
  /* Remove the comment from line 85 to 86 if the font issue in safari occurs */
  /* -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; */
}


/* Global */

a,
a:hover{
  text-decoration: none;
}

#main-wrapper{
    overflow: hidden;
}

.p-rel{
    position: relative;
}

.img-canvas{
    position: relative;
    overflow: hidden;
}

    .img-canvas canvas {
        display: block;
        width: 100%;
        height: auto;
    }

    .img-canvas img{
        position: absolute;
        width: 100%;
        height: 100%;
        top: 0;
        left: 0;
        object-fit: cover;
        transition: 0.3s;
    }

.bg-parallax{
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: -1;
}

    .bg-parallax canvas{
        width: 100%;
        height: 100%;
        display: block;
        background: center / cover no-repeat;
        background-attachment: fixed;
    }

    /*.safari-true .bg-parallax canvas{
      background-attachment: scroll;
    }*/


.site-btn {
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 0.250em;
    color: #000;
    background: #fff;
    padding: 27px 47px;
    display: flex;
    width: fit-content;
    font-weight: 600;
    position: relative;
    transition: 0.3s;
    -moz-box-shadow: 0 8px 17px rgba(0, 0, 0, 0.15);
    -webkit-box-shadow: 0 8px 17px rgba(0, 0, 0, 0.15);
    box-shadow: 0 8px 17px rgba(0, 0, 0, 0.15);
    border: none;
}

  .site-btn:hover {
      background: var(--accent-color);
      color: #fff;
  }

  .site-btn:before {
      position: absolute;
      content: '';
      width: 39%;
      height: 2px;
      bottom: 0;
      right: 0;
      background: var(--accent-color);
  }

  .center-btn .site-btn{
    margin: 0 auto;
  }


.site-title {}

  .site-title span {
      font-size: clamp(14px,1.125vw,18px);
      color: var(--accent-color);
      text-transform: uppercase;
      letter-spacing: 0.8em;
      display: flex;
      align-items: center;
  }

    .site-title span em {
        display: inline-block;
        width: clamp(30px,2.5vw,40px);
        height: 3px;
        background-image: -moz-linear-gradient( 0deg, rgb(87,107,112) 0%, rgb(61,125,136) 48%, rgb(35,142,159) 100%);
        background-image: -webkit-linear-gradient( 0deg, rgb(87,107,112) 0%, rgb(61,125,136) 48%, rgb(35,142,159) 100%);
        background-image: -ms-linear-gradient( 0deg, rgb(87,107,112) 0%, rgb(61,125,136) 48%, rgb(35,142,159) 100%);
        margin-right: 20px;
    }

  .site-title h2 {
      text-transform: uppercase;
      font-size: clamp(35px,3.750vw,60px);
      font-family: var(--font-family-title);
      line-height: 1.5;
  }

  .center-title span {
      justify-content: center;
  }
  .center-title {
      text-align: center;
  }



/* Header START*/

header.header {}

  .main-header {
      position: absolute;
      top: 0;
      left: 0;
      z-index: 100;
      width: 100%;
      transition: 0.5s;
      border-bottom: 1px solid rgba(255,255,255,0.2);
  }

    .main-header-inner {
        display: flex;
        justify-content: space-between;
        padding-left: clamp(20px,4.375vw,70px);
        align-items: center;
        position: relative;
    }

      .h-logo {

      }

        .h-logo img {
            transition: 0.4s;
        }

      .main-header-navs {
          display: flex;
          align-items: center;
      }

        .main-header-menu {}

          #nav > li {
              display: inline-block;
              position: relative;
              padding: 47px clamp(15px,1.750vw,28px);
          }

            #nav li a {
                color: #fff;
                text-transform: uppercase;
                font-size: 14px;
                letter-spacing: 0.150em;
                font-weight: 500;
                transition: 0.3s;
            }

            #nav > li > a {
                position: relative;
                padding: 48px 0;
            }

              #nav > li > a:before {
                  position: absolute;
                  content: '';
                  width: 0;
                  height: 2px;
                  bottom: 3px;
                  left: 50%;
                  transform: translateX(-50%);
                  background: #fff;
                  transition: 0.3s;
              }

                #nav > li:hover > a:before {
                    width: calc(100% + 4px);
                }

        .main-header-contact {
            margin-left: clamp(20px,2.5vw,40px);
        }

          .header-con-wrap {
              display: flex;
              align-items: center;
          }

            .header-con-wrap > div {
                width: min(110px,6.875vw);
                display: flex;
                justify-content: center;
                align-items: center;
                padding: 47px 20px;
                border-left: 1px solid rgba(255,255,255,0.2);
                transition: 0.5s;
                min-height: 110px;

            }

            .header-phone {}

              .header-phone span.mobile-number.client-phone {
                display: none;
              }

                .header-phone i {
                    display: inline-block;
                    transform: rotateZ(18deg);
                    font-size: 14px;
                }

            .header-email {}

              .header-email i {
                  font-size: 11px;
              }

            .header-side-menu {}

              .header-side-menu i {
                  display: inline-block;
                  transform: rotate(45deg);
                  font-weight: 800;
                  font-size: 12px;
                  transition: 0.3s;
              }

                .header-con-wrap i {
                    color: #fff;
                    transition: 0.3s;
                }

                  .header-con-wrap > div:hover i {
                      opacity: 0.5;
                  }

ul#nav .sub-menu {
    opacity: 0; 
    transition: 0.3s;
    position: absolute;
    min-width: 248px;
    left: 50%;
    transform: translateX(-50%);
    top: 125%;
    pointer-events: none;
}

  ul#nav .sub-menu li {
      text-align: center;
      padding: 15px 10px;
      background: rgba(33,61,70,0.8);
      transition: 0.3s;
      margin-bottom: 1px;
  }

    ul#nav .sub-menu li:hover {
        background: var(--accent-color);
    }

    ul#nav > li:hover ul.sub-menu {
        opacity: 1;
        pointer-events: auto;
        top: 102% ;
    }


.sticky .main-header {
    position: fixed;
    border-bottom: 1px solid rgba(255,255,255,0);
}

  .sticky .header-con-wrap > div {
      padding: 34px 20px;
  }

  .sticky #nav > li > a {
      padding: 32px 0;
  }

.sticky #nav > li {
    padding: 34px clamp(15px,1.75vw,28px);
}

.sticky #nav > li > a:before{
  bottom: 0px;
}

.sticky .header-con-wrap > div {
    min-height: 83px;
}

.sticky .main-header-inner {
    background: linear-gradient(to left, rgba(35,142,159,0.9),rgba(35,142,159,0.9), #2e6f7e);
}

.sticky .h-logo img {
    max-width: 115px;
    height: auto;
}

.amh-fixed-header-nav{
  background: linear-gradient(to left, rgba(35,142,159,0.9),rgba(35,142,159,0.9), #2e6f7e);
}

.amh-header-buttons{
  background: none !important;
}

/* Header END*/


/* Side Menu START */

.side-menu {
    position: fixed;
    top: 0;
    right: -100vw;
    z-index: 101;
    height: 100vh;
    background: rgba(33,61,70,0.9);
    padding: 40px 0;
    min-width: 333px;
    opacity: 0;
    transition: 0.5s;

}

.show-side-menu {
  opacity: 1;
  right: 0 !important;
}

  .side-menu-inner {
      padding-top: 70px;
      overflow-y: scroll;
      height: 100%;
  }

  /*.side-menu-inner::-webkit-scrollbar {
      width: 0;
  }*/

    ul#sidenav > li > a {
        display: inline-block;
        padding: 10px 10px 10px 50px;
    }

      ul#sidenav > li:hover {
          background: #238e9f;
      }


      ul#sidenav li a {
          text-transform: uppercase;
          color: #fff;
          letter-spacing: 0.150em;
          line-height: 26px;
      }

      ul#sidenav > li > a {
          font-size: 16px;
      }

        ul#sidenav ul.sub-menu li a {
            font-size: 12px;
            line-height: 23px;
            padding: 10px 10px 10px 50px;
        }

        ul#sidenav ul.sub-menu {
          height: 0;
          transition: 0.3s;
          overflow: hidden;
          opacity: 0;
          background: #759ba3;
          padding: 0;

      }

        ul#sidenav li:hover > ul.sub-menu {
            height: auto;
            opacity: 1;
            padding: 10px 0;
        }

      ul#sidenav ul.sub-menu li:hover {
          background: #228e9f;
      }


      .close-btn:hover {
          transform: rotate(90deg);
      }
      .close-btn {
          position: absolute;
          top: 50px;
          right: 45px;
          color: #fff;
          cursor: pointer;
          transition: 0.3s;
      }
/* Side Menu END */


/* Footer START */


/* Footer Form START */

.ftr-bg:before {
    position: absolute;
    content: '';
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background: linear-gradient(180deg, #fff, transparent);
}

footer.footer {}

  .footer-form {
      padding: 0 20px;
  }

    .footer-form-inner {
        width: 100%;
        max-width: max(750px,46.875vw);
        margin: 0 auto;
        padding: 80px 0 50px;
    }

      .connect-form {}

        .connect-fields {
            display: flex;
            flex-wrap: wrap;
            justify-content: space-between;
        }

          .connect-field {
            margin-top: 25px;
            width: 100%;
          }

          .connect-field.short {
              width: 47.5%;
          }

            .connect-field input, .connect-field textarea {
                font-size: 14px;
                border: none;
                border-bottom: 1px solid;
                width: 100%;
                padding-bottom: 25px;
                text-transform: uppercase;
                outline: none;
                background: none;
            }

            .connect-field textarea {
                height: 75px;
                resize: none;
            }

          .connect-sumbit {
              margin: 60px auto 0;
              width: fit-content;
              position: relative;
          }

              .connect-sumbit span.wpcf7-spinner {
                  position: absolute;
              }

              .connect-sumbit:before {
                  position: absolute;
                  content: '';
                  width: 39%;
                  height: 2px;
                  bottom: 0;
                  right: 0;
                  background: var(--accent-color);
                  z-index: 1;
              }

.footer-form form {
    position: relative;
}

.connect-form span.wpcf7-not-valid-tip {
    position: absolute;
    width: fit-content;
    left: auto;
    right: 0;
    z-index: 1;
}

.footer-form .wpcf7-response-output {
    position: absolute;
    width: 100%;
    margin: 0 !important;
    bottom: -10%;
    text-align: center;
}

/* Footer Form END */

/* Footer Main START */

.footer-main {
    padding: 70px 20px;
}

  .footer-main-inner {
      width: 100%;
      max-width: max(1460px,91.25vw);
      margin: 0 auto;
      padding: 80px 40px 65px;
      background: rgba(33,61,70,0.9);
  }

    .footer-logo {}

      .ftr-logo {
        display: flex;
        justify-content: center;
        align-items: center;
      }

        .ftr-logo > div {
            margin: 0 45px;
        }

        .logo-main {
            color: #fff;
            font-family: var(--font-family-title);
            text-transform: uppercase;
            text-align: center;
        }

          .logo-main h2 {
              font-size: 40px;
              color: #fff;
          }

          .logo-main span {
              font-size: 25px;
              letter-spacing: 0.5em;
              line-height: 31px;
          }

    .footer-contact {}

      .ftr-con {
        padding-top: 20px;
      }

        .ftr-info {
          display: flex;
          justify-content: center;
          padding: 40px 0;
        }

          .ftr-info > div {
              padding: 0 28px;
          }

            .ftr-info i {
                color: #759ba3;
                font-size: 10px;
                padding-right: 10px;
            }

            .ftr-info i.i.ai-font-phone {
                display: inline-block;
                transform: rotate(28deg);
                font-size: 12px;
            }

            .ftr-info a {
                color: #fff;
                letter-spacing: 0.1em;
                transition: 0.3s;
            }

              .ftr-info a:hover {
                  color: #409aa9;
              }

        .ftr-smi {
            display: flex;
            align-items: center;
            justify-content: center;
            padding-top: 20px;
        }

          .ftr-smi a {
              color: #fff;
              font-size: 22px;
              display: inline-block;
              margin: 0 15px;
              transition: 0.3s;
          }

            .ftr-smi a:hover {
                color: #759ba3;
            }

    .footer-menu {
        margin-top: 60px;
    }

      .footernav {
          display: flex;
          justify-content: center;
      }

        .footernav li {
            margin: 0 30px;
        }
        
        .footernav li a {
            color: #fff;
            text-transform: uppercase;
            font-size: 14px;
            letter-spacing: 0.150em;
            transition: 0.3s;
        }

          .footernav li a:hover {
              color: #759ba3;
          }

    .footer-disclaimer {
        max-width: 1120px;
        margin: 0 auto;
        padding-top: 20px;
    }

      .footer-disclaimer p {
          color: #9dbec5;
          font-size: 12px;
          letter-spacing: 0.02em;
          text-align: center;
          line-height: 18px;
      }

        .footer-disclaimer p a {
            color: #9dbec5;
            transition: 0.3s;
        }

          .footer-disclaimer p a:hover {
              color: #fff;
          }

    .footer-copyright {
        padding-top: 20px;
    }

      .footer-copyright p {
          color: #9dbec5;
          font-size: 12px;
          letter-spacing: 0.02em;
          text-align: center;
          line-height: 18px;
      }

        .footer-copyright p a {
            color: #9dbec5;
            transition: 0.3s;
        }

          .footer-copyright p a:hover {
              color: #fff;
          }

        .footer-copyright p span.copy-name {
            text-transform: uppercase;
            color: #fff;
        }

    .footer-mls {
        text-align: center;
        margin-top: 20px;
    }

      
      
          

/* Footer Main END */

/* Footer END */



body #pojo-a11y-toolbar {
    bottom:0 !important;
    top: auto !important;
}
body #pojo-a11y-toolbar.pojo-a11y-toolbar-left .pojo-a11y-toolbar-toggle {
    top:auto !important;
    bottom:0 !important;
}
button:focus-visible, a:focus-visible {
    outline-style: solid !important;
    outline-width: 5px !important;
    outline-color: red !important;
    transition: none !important;
}

/* High contrast and Negative contrast break canvas elements with backgrounds */
#pojo-a11y-toolbar .pojo-a11y-btn-high-contrast,
#pojo-a11y-toolbar .pojo-a11y-btn-negative-contrast,
#pojo-a11y-toolbar .pojo-a11y-btn-light-background,
#pojo-a11y-toolbar .pojo-a11y-btn-grayscale {
    display:none !important;
}


span.glyphicon.glyphicon-remove-circle {
    color: #fff !important;
}
#content .ai-communities-pagination ul li span {
    color: var(--accent-color) !important;
}


.page-id-20 h1.entry-title {
    margin: 0.67em 122px !important;
}

.page-id-20 p#breadcrumbs {
  margin: 1.12em 122px !important;
}
.aios-contact-info ul li a:hover, .aios-contact-info ul li:hover i:not(.location) {
    color: var(--accent-color) !important;
}

.error-forms span.wpcf7-not-valid-tip {
    position: absolute;
    width: fit-content;
    left: auto;
    right: 0;
}

.error-page-cf-wrap .wpcf7-response-output {
    position: absolute;
    width: 100%;
    margin: 0 !important;
}

/* updates */

body.post-page-communities #content .aios-communities-vega .aios-communities-vega-list .aios-communities-vega-img .aios-communities-vega-site-img img {
    filter: brightness(0.77);
}

.aios-custom-ihomefinder-results-template #content-full .entry-title {
    margin-left: 0 !important;
    padding: 0 !important;
}

.sitemap-list ul.children {
    display: none;
}

/*******************************************************
 *
 * 4. IP Styles
 *
 *******************************************************/

#content .entry-title,
#content .archive-title{
  text-transform: uppercase;
  font-size: clamp(35px,3.750vw,60px);
  font-family: var(--font-family-title);
  line-height: 1;
  font-weight: 100;
}

.ip-banner {
  position: relative;
  width: 100%;
}
.ip-banner::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
  background: rgba(0, 0, 0, 0.6);
}
.ip-banner canvas {
  display: block;
  position: relative;
  z-index: 0;
  width: 100%;
  min-height: 250px;
  background-color: var(--dark);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}
.ip-banner .container {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 2;
}
.ip-banner h1 {
  font-weight: 700;
  font-size: 32px;
  text-align: center;
  color: #FFFFFF;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  line-height: 1.7;
}
.ip-banner h1 span {
  display: block;
  font-size: 24px;
  font-weight: 400;
  text-transform: none;
  letter-spacing: 0.01em;
}

/* Adjust minimum height of page area */
#content-sidebar,
#content-full {
  min-height: 500px;
  margin-top: 20px;
}

/** Adjust width of content columns **/
#content-sidebar #content {
  width: 77.08%;
}

#content-full #content {
  width: 100%;
}

/* Adjust width of sidebar */
.sidebar {
  width: 20.83%;
}

/* fullwidth template */
.page-template-template-fullwidth #content {
  padding-left: 15px;
  padding-right: 15px;
}
.page-template-template-fullwidth #content ihf-search[data-eureka-id*=""].ihf-eureka {
  margin-left: -15px;
  margin-right: -15px;
}

/* Adjust line height of page elements */
#content h4,
aside h4,
#content p,
aside p,
#content blockquote,
aside blockquote,
#content ul,
aside ul,
#content fieldset,
aside fieldset,
#content form,
aside form,
#content ol,
aside ol,
#content dl,
aside dl,
#content dir,
aside dir,
#content menu,
aside menu {
  line-height: 1.7;
}

.page-id-20 .aios-contact-wrap .wpcf7-spinner {
  position: absolute;
}

.aios-custom-ihomefinder-printable-template #breadcrumbs,
.aios-custom-ihomefinder-printable-template #content .listings-printable-photo div strong,
.aios-custom-ihomefinder-printable-template .aios-mobile-header-1,
.aios-custom-ihomefinder-printable-template #content .listings-printable-header span,
.aios-custom-ihomefinder-printable-template .grecaptcha-badge,
.aios-custom-ihomefinder-printable-template #pojo-a11y-toolbar {
    display: none !important;
}

body:has(a.active.pojo-a11y-btn-readable-font) [class*=ai-font-]{
    font-family: agentimage !important;
}
.wpcf7-response-output {
    text-align: center;
}
body.show-side-menu-open {
  overflow: hidden;
}

/* Style .entry-title(post/page) and .archive-title(category/archive/etc) main headings (h1) */
/* Styles for category/archive/search/etc subheadings (h2) */
/* iPad(landscape) | iPad(landscape) | Galaxy Tab 4 (landscape) | Galaxy Tab 3 (landscape) */
/* iPad(portrait) | Galaxy Tab 4(portrait)  */

@media only screen and (max-width: 1440px) {
  .page-id-20 h1.entry-title {
      margin: 0.67em 100px !important;
  }

  .page-id-20 p#breadcrumbs {
    margin: 1.12em 100px !important;
  }

}

@media only screen and (max-width: 1336px) {
  .page-id-20 h1.entry-title {
      margin: 0.67em 75px !important;
  }

  .page-id-20 p#breadcrumbs {
    margin: 1.12em 75px !important;
  }

}

@media only screen and (max-width: 1280px) {
  .page-id-20 h1.entry-title {
      margin: 0.67em 50px !important;
  }
  .page-id-20 p#breadcrumbs {
    margin: 1.12em 50px !important;
  }

}

@media only screen and (max-width: 1199px) {

  .bg-parallax canvas{
    background-attachment: scroll;
  }

  .main-header-contact {
      margin-left: 17px;
  }

  .main-header-inner{
    padding-left: 20px;
  }

  #nav > li{
    padding: 47px 10px;
  }

  .sticky #nav > li{
    padding: 34px 10px;
  }

}

@media only screen and (max-width: 1080px) {

}

@media only screen and (max-width: 991px) {
  .page-id-20 h1.entry-title {
      margin: 0.67em 30px !important;
  }
  .page-id-20 p#breadcrumbs {
    margin: 1.12em 30px !important;
  }

  .side-menu {
    display: none;
  }
   #pojo-a11y-toolbar {
         display:none;
    }

  .main-header-navs {
      display: none;
  }

  .main-header-inner {
      justify-content: center;
      padding: 12px 30px;
      background: linear-gradient(to left, rgba(35,142,159,0.9),rgba(35,142,159,0.9), #2e6f7e);
  }

  .main-header {
      position: relative !important;
      background: linear-gradient(to left, rgba(35,142,159,0.9),rgba(35,142,159,0.9), #2e6f7e);
      margin-top: 52px;
  }

  .site-title {
      text-align: center;
  }

  .site-title span {
      justify-content: center;
  }

  .ftr-logo {
      flex-direction: column;
  }

  .ftr-info {
      flex-direction: column;
      align-items: center;
  }

  .ftr-logo > div {
      margin: 30px 0;
  }

  .ftr-info > div {
      padding: 15px 0;
  }

  .footernav {
      flex-direction: column;
      align-items: center;
  }

  .footernav li {
      margin: 15px 0;
  }

  .footer-main-inner {
        padding: 50px 15px;
  }
  /* The following are used on inner pages. Please edit carefully. */
  .inner {
    width: 100%;
  }
  #content-sidebar,
#content-full {
    width: 100%;
  }
  .outer {
    width: 100%;
    min-width: 100%;
  }
  #content-sidebar #content {
    width: 100%;
  }
 /* .footer {
    width: 100%;
    background: #d7d7d7;
    padding: 30px 0;
  }
  .footer p {
    line-height: 1.7;
    text-align: center;
  }
  .footer .footernav {
    display: flex;
    flex-flow: column;
    align-items: center;
    justify-content: center;
  }
  .footer .footernav li {
    padding: 10px;
  }
  .footer .footer-logo {
    width: 100% !important;
    float: none !important;
  }*/
}
/* Galaxy Tab 3(portrait) | Galaxy S5(landscape) */
@media only screen and (max-width: 767px) {
  .ip-banner .container {
    width: 100%;
  }
}

@media only screen and (max-width: 480px) {

  .connect-field.short {
      width: 100%;
  }

  .ftr-info > div {
    text-align: center;
  }

  .ftr-info a {
    font-size: 13px;
    display: block;
  }

  .logo-main h2 {
      font-size: 27px;
  }

  .logo-main span {
      font-size: 15px;
  }

}
/* Galaxy S5(portrait) | iPod Touch(landscape) | iPod Touch(portrait) */
