:root {
    /** Font default */
    --font-family-default: "Figtree", sans-serif;
    --font-family-title: "Manrope", sans-serif;
    --font-size-default: 14px;
    --font-size-title: 18px;
    --font-color-default: #000000;
    --font-color-title: #000000;
    /** Use for input, button, and any other element */
    --primary: #000000;
    --secondary: #a4a4a4;
    --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; */
}

#main-wrapper {
    overflow: hidden;
    padding: 80px 0 0;
}

a {
    color: inherit;
}

a:hover {}

a:hover,
a:focus,
.slick-slide,
.slick-slide a {
    outline: none;
    text-decoration: none;
}

input,
select,
textarea {
    outline: none;
}

.flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-flow: row wrap;
    flex-flow: row wrap;
}

.flex:before,
.flex:after {
    display: none;
}

.dir-col {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-flow: column wrap;
    flex-flow: column wrap;
}

.dir-col-reverse {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -ms-flex-flow: column-reverse wrap;
    flex-flow: column-reverse wrap;
}

.dir-row-reverse {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-flow: row-reverse wrap;
    flex-flow: row-reverse wrap;
}

.al-center {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.al-start {
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
}

.al-end {
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
}

.ju-center {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.ju-start {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
}

.ju-end {
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
}

.ju-between {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.ju-around {
    -ms-flex-pack: distribute;
    justify-content: space-around;
}


/*header*/

header.header.sticking {}

header.header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 101;
    background: #fff;
    padding: 20px 0 19px;
}

.header-inner {
    padding: 0 40px;
    padding: 0 2.5%;
}

.header-left,
.header-right {
    width: 295px;
}

.header-logo {
    flex-grow: 1;
    font-size: 0;
}

.header-logo a {
    display: block;
    width: 356px;
    max-width: 100%;
    margin: 0 auto;
}

.header-logo a img {
    display: block;
    width: 100%;
    height: auto;
    margin: 0 auto;
}

.header-smi {
    width: 130px;
}

.header-smi a {
    font-size: 18px;
    color: #000;
    transition: color var(--default-transition);
}

.header-contact {
    width: 54px;
    margin: 0 auto;
}

.header-contact a {
    font-size: 13px;
    color: #000;
    transition: color var(--default-transition);
}

.header-contact a i {
    display: block;
}

.header-contact a i.ai-font-envelope-f {
    font-size: 9px;
}

.header-smi a:hover,
.header-contact a:hover {
    color: var(--secondary);
}

.header-btn {
    width: 20px;
}

.bm-menu-open {
    display: block;
    width: 100%;
    height: 20px;
    background: transparent;
    padding: 0;
    border: none;
}

.bm-menu-open span {
    display: block;
    height: 1px;
    background: #000;
    margin: 5px 0;
}

.bm-menu-open span:last-child {
    margin-left: 5px;
}


/*burger menu*/

body.bm-is-active {
    overflow: hidden;
}

.bm-menu-wrap.active {
    opacity: 1;
    pointer-events: all;
}

.bm-menu-wrap.active .bg-section {
    transform: translateX(0);
}

.bm-menu-wrap.active .bm-menu-scrollable {
    transform: translateX(0);
    /* transition-delay: 0.3s; */
}

.bm-menu-wrap {
    position: fixed;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    bottom: 0;
    z-index: 101;
    transition: all 1s cubic-bezier(0.4, 0, 0.2, 1);
    opacity: 0;
    pointer-events: none;
}

.bm-menu-close {
    position: absolute;
    top: 33px;
    right: 37px;
    width: auto;
    height: auto;
    padding: 0;
    font-size: 35px;
    border: none;
    background: transparent;
    z-index: 2;
    color: #fff;
    text-shadow: 0 0 5px #000;
}

.bm-menu-wrap .bg-section {
    width: 50%;
    left: auto;
    right: 0;
    transition: all 1s cubic-bezier(0.4, 0, 0.2, 1);
    transform: translateX(100%);
}

.bm-menu-wrap .bg-section:before {
    content: '';
    background: #fff;
    transform: scaleX(0);
}

.bm-menu-scrollable {
    width: calc(100% - 17.5vw);
    width: 50%;
    height: 100%;
    overflow-y: auto;
    overflow-x: hidden;
    transform: translateX(-100%);
    transition: all 1s cubic-bezier(0.4, 0, 0.2, 1);
}

.bm-menu-inner {
    background: #fff;
    padding: 60px 6% 45px;
    min-height: 100%;
    transition: all 1s 0.9s cubic-bezier(0.4, 0, 0.2, 1);
}

.bm-menu-logo {
    font-size: 0;
    margin-bottom: 43px;
    width: 100%;
}

.bm-menu-logo a {}

.bm-menu-logo a img {
    max-width: 100%;
    height: auto;
    filter: brightness(0) invert(0);
}

#bm_nav {
    width: 100%;
    margin-bottom: 0;
    columns: 2;
}

#bm_nav > li {
    margin-bottom: 40px;
    margin-bottom: 20px;
}

#bm_nav > li.menu-item-31 {
    margin-bottom: 50px;
}


/* #bm_nav > li.push-col {
                    margin-bottom: 100%;
                } */

#bm_nav > li > a {
    font-size: 32px;
    font-size: 1.6vw;
    font-family: var(--font-family-title);
    letter-spacing: 0.02em;
    font-weight: 700;
    display: inline-block;
    position: relative;
    color: #000;
    transition: color var(--default-transition);
}

#bm_nav > li > a:hover {
    color: #000;
}

#bm_nav .sub-menu {
    padding: 15px 0 0;
}

#bm_nav .sub-menu > li {}

#bm_nav .sub-menu > li > a {
    font-size: 12px;
    font-size: 0.75vw;
    line-height: 1.923076923076923;
    letter-spacing: 0.1em;
    color: #000;
    text-transform: uppercase;
    transition: color var(--default-transition);
}

#bm_nav .sub-menu > li > a:hover {
    color: #000;
}

.bm-menu-smi {
    margin-top: auto;
    width: 27%;
}

.bm-menu-smi a {
    font-size: 18px;
    color: #000;
    margin-right: 5px;
    transition: color var(--default-transition);
    width: 30px;
    height: 30px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.bm-menu-smi a:last-child {
    margin-right: 0;
}

.bm-menu-smi a:hover {
    color: #fff;
    background: #000;
    border-radius: 50%;
}

.bm-menu-contacts {
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-top: 1px #a4a4a4 solid;
    padding-top: 38px;
    margin-top: 38px;
}

.bm-menu-contact-info .textwidget {
    color: #000;
}

.bm-menu-contact-info .textwidget > div {
    padding-left: 31px;
    position: relative;
    line-height: 1.538461538461538;
    letter-spacing: 0.1em;
    display: inline-block;
}

.bm-menu-contact-info .textwidget > div:not(:last-child) {
    margin-right: 105px;
}

.bm-menu-contact-info .textwidget > div i {
    position: absolute;
    top: 0;
    left: 0;
    font-size: 14px;
}

.bm-menu-contact-info .textwidget > div i.ai-font-phone {
    font-size: 14px;
    top: 3px;
}

.bm-menu-contact-info .textwidget > div i.ai-font-location-c {
    font-size: 19px;
    top: 2px;
}

.bm-menu-contact-info .textwidget > div i.ai-font-envelope-f {
    font-size: 10px;
    top: 7px;
}

.bm-menu-contact-info .textwidget > div a {
    font-size: 13px;
    transition: color var(--default-transition);
}

.bm-menu-contact-info .textwidget > div a:hover {
    color: #999;
}


/*title*/

.section-title,
#content .section-title,
#content .entry-title,
#content .archive-title {
    font-size: 66px;
    font-weight: 700;
    font-family: var(--font-family-title);
    line-height: 1.149253731343284;
    color: #000;
}

.section-title.ip-title,
#content .section-title.ip-title,
#content .section-title,
#content .entry-title,
#content .archive-title {
    font-size: 72px;
    font-weight: 700;
    line-height: 1.15;
}

.section-title.is-allcaps {
    text-transform: uppercase;
}

#inner-page-wrapper .section-title.is-allcaps {
    text-transform: initial;
}

.section-title.is-white {
    color: #fff;
}

.section-title small,
#content .entry-title small,
#content .archive-title small {
    display: block;
    font-size: 24px;
    font-weight: 500;
    font-family: var(--font-family-default);
    letter-spacing: 0.5em;
    text-transform: uppercase;
}

.section-title small.mb-12,
#content .entry-title small.mb-12,
#content .archive-title small.mb-12 {
    margin-bottom: 12px;
}

.section-title small.mt-12,
#content .entry-title small.mt-12,
#content .archive-title small.mt-12 {
    margin-top: 12px;
}


/*btn*/

a.btn-a,
.btn-a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0.06em;
    line-height: 1;
    color: #000;
    text-transform: uppercase;
    position: relative;
    padding: 20px 0;
    background: transparent;
    border: none;
    transition: color var(--default-transition);
}

.btn-a:before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    height: 3px;
    width: 56px;
    max-width: 100%;
    background: var(--primary);
    transition: all var(--default-transition);
}

a.btn-a:hover,
.btn-a:hover {
    color: var(--secondary);
}

.btn-a:hover:before {
    width: 100%;
    background: var(--secondary);
}

a.btn-a.is-white,
.btn-a.is-white {
    color: #fff;
}

.btn-a.is-white:before {
    background: #fff;
}


/*img*/

.img-wrapper {
    position: relative;
}

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

.img-wrapper > canvas {
    background-position: center;
    background-size: cover;
}

.img-wrapper > canvas ~ img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 1;
}

.img-wrapper:before,
.img-wrapper:after {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 2;
}


/*bg image*/

.bg-section {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: -1;
}

.bg-section:before,
.bg-section:after {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1;
}

.bg-section-img {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-size: cover;
    background-position: center;
}

.is-parallax .bg-section-img {
    background-attachment: fixed;
}

.is-bw .bg-section-img {
    filter: grayscale(1);
}


/*arrow*/

.custom-slick-arrow {
    position: absolute;
    width: 20px;
    height: 20px;
    background: transparent;
    border: none;
    padding: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    z-index: 2;
    transition: opacity var(--default-transition);
}

.custom-slick-arrow .icon-arrow {
    position: relative;
    display: block;
    width: 20px;
    height: 8px;
    background: url(../images/icon-arrow.svg) center/contain no-repeat;
}

.custom-slick-arrow.slick-next .icon-arrow {
    transform: rotateY(180deg);
}

.custom-slick-arrow:hover {
    opacity: 0.7;
}

.custom-slick-arrow.slick-prev {
    left: 0;
}

.custom-slick-arrow.slick-next {
    right: 0;
}


/*git*/

#hp-git {
    position: relative;
    padding: 40px 0 94px;
}

#hp-git .bg-section {
    width: 60.6875%;
    right: 0;
    left: initial;
}

#hp-git .bg-section:before {
    content: '';
    background: rgb(255, 255, 255);
    background: -moz-linear-gradient(-90deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 100%);
    background: -webkit-linear-gradient(-90deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 100%);
    background: linear-gradient(-90deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 100%);
    filter: progid: DXImageTransform.Microsoft.gradient(startColorstr="#ffffff", endColorstr="#ffffff", GradientType=1);
}

.git-inner {
    margin: 0 -80px;
}

.git-inner .section-title {
    margin-bottom: 35px;
}

.git-inner .section-title small {
    margin-bottom: 10px;
}

.git-form {
    max-width: 540px;
    border-top: 1px solid #a4a4a4;
    position: relative;
}

.git-field {
    display: inline-block;
    position: relative;
}

.git-field input,
.git-field textarea {
    width: 100%;
    height: 59px;
    font-size: 13px;
    letter-spacing: 0.06em;
    border: none;
    border-bottom: 1px solid #a4a4a4;
    padding: 3px 0 0;
    background: transparent;
}

.git-field textarea {
    display: block;
    resize: none;
    padding-top: 24px;
    height: 100px;
}

.git-field .wpcf7-form-control-wrap {
    display: block;
}

.git-field.field-6 {
    width: 50%;
}

.git-field.field-12 {
    width: 100%;
}

.git-btn {
    width: 100%;
    margin: 19px 0 0;
    position: relative;
}

.git-btn .btn-a i {
    font-size: 18px;
    margin-right: 11px;
}

.git-btn .wpcf7-spinner {
    position: absolute;
    bottom: -30px;
    left: 0;
    margin: 0;
}

.use-floating-validation-tip .wpcf7-not-valid-tip {
    position: absolute;
    width: auto;
    top: 20%;
}

.git-field .wpcf7-form-control-wrap {
    display: block;
}

.git-form .wpcf7 form .wpcf7-response-output {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    text-align: center;
    margin: 10px 0 0;
}


/*footer*/

footer.footer {
    background: #000;
    padding: 104px 0 94px;
    position: relative;
}

.footer-inner {
    margin: 0 -100px;
}

.footer-left {
    width: 360px;
    width: 26.866%;
}

.footer-logo {
    font-size: 0;
    margin-bottom: 32px;
}

.footer-logo a {}

.footer-logo a img {
    max-width: 100%;
    height: auto;
    filter: brightness(0) invert(1);
}

.footer-contact {
    color: #a4a4a4;
}

.footer-contact li {
    padding-left: 31px;
    position: relative;
    line-height: 1.538461538461538;
    letter-spacing: 0.1em;
    margin-bottom: 11px;
}

.footer-contact li i {
    position: absolute;
    top: 0;
    left: 0;
    font-size: 14px;
}

.footer-contact li i.ai-font-phone {
    font-size: 14px;
    top: 3px;
}

.footer-contact li i.ai-font-location-c {
    font-size: 19px;
    top: 2px;
}

.footer-contact li i.ai-font-envelope-f {
    font-size: 10px;
    top: 7px;
}

.footer-contact li a {
    font-size: 13px;
    transition: color var(--default-transition);
}

.footer-contact li a:hover {
    color: #Fff;
}

.footer-contact li.smi-links {
    padding-left: 0;
    margin: 16px 0 0;
}

.footer-contact li.smi-links a {
    font-size: 20px;
    margin-right: 23px;
}

.footer-center {
    /* margin: 5.25% auto 0; */
    margin: 0 auto 0;
    width: 34%;
}

.footernav {
    /* max-height: 190px; */
    display: flex;
    flex-flow: column wrap;
}

.footernav li {
    margin-bottom: 12px;
    flex-grow: 1;
}

.footernav li a {
    font-size: 13px;
    letter-spacing: 0.1em;
    line-height: 1.538461538461538;
    color: #a4a4a4;
    transition: color var(--default-transition);
    text-transform: uppercase;
}

.footernav li a:hover {
    color: #fff;
}

.footer-right {
    width: 410px;
    width: 30.598%;
    padding: 22px 0 0;
}

.footer-right h2 {
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.02em;
    color: #fff;
    text-transform: uppercase;
    font-family: var(--font-family-title);
    line-height: 1.538461538461538;
    margin-bottom: 24px;
}

.footer-nl {
    border-top: 1px solid #a4a4a4;
    position: relative;
}

.nl-field {
    position: relative;
    display: inline-block;
}

.nl-field .wpcf7-form-control-wrap {
    display: block;
}

.nl-field.field-6 {
    width: 50%;
    /* width: calc( 50% - 10px ); */
}


/* .nl-field.field-6 + .nl-field.field-6 {
                    margin-left: 20px;
                } */

.nl-field.field-12 {
    width: 100%;
}

.nl-field input {
    width: 100%;
    height: 59px;
    font-size: 13px;
    letter-spacing: 0.06em;
    border: none;
    border-bottom: 1px solid #a4a4a4;
    padding: 3px 10px 0 0;
    background: transparent;
    color: #696969;
    display: block;
}

.footer-nl .wpcf7-spinner {
    position: absolute;
    bottom: -30px;
    left: 0;
    margin: 0;
}

.footer-nl .wpcf7 form .wpcf7-response-output {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    color: #fff;
    text-align: center;
    font-size: 12px;
    margin: 10px 0 0;
}

.footer-nl .wpcf7-submit {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 150px;
    height: 60px;
    background: #fff;
    border: none;
    font-size: 13px;
    letter-spacing: 0.06em;
    transition: all var(--default-transition);
    margin: 22px 0 0;
    text-transform: uppercase;
}

.footer-nl .wpcf7-submit i {
    font-size: 17px;
    margin-right: 12px;
}

.footer-nl .wpcf7-submit:hover {
    background: var(--secondary);
}

.footer-disclaimer {
    width: 100%;
    border-top: 1px solid rgba(164, 164, 164, 0.2);
    margin: 51px 0 0;
    color: #a4a4a4;
    padding: 38px 0 0;
}

.footer-disclaimer-left {
    width: calc(100% - 85px);
    padding-right: 15px;
}

.footer-disclaimer-left p {
    font-size: 13px;
    letter-spacing: 0.04em;
    line-height: 1.538461538461538;
}

.footer-disclaimer-left p a {
    transition: color var(--default-transition);
}

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

.footer-disclaimer-right {
    width: 85px;
    align-self: center;
}

.footer-icons {
    font-size: 20px;
}

.footer-icons i.ai-font-eho {
    font-size: 17px;
    margin-right: 8px;
}


/* Global End */


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

.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);
    display: none;
}

.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;
}

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 {
    display: none !important;
}


/* Style .entry-title(post/page) and .archive-title(category/archive/etc) main headings (h1) */


/* Styles for category/archive/search/etc subheadings (h2) */


/* Cottage Country */

.page-id-236 #inner-page-wrapper {
    margin-bottom: 0;
}

.page-id-236 #content .entry-title {
    text-align: center;
    font-family: var(--font-family-title);
    font-weight: 700;
    text-transform: initial;
}

.page-id-236 #content .content-page-content p {
    font-family: var(--font-family-default);
    /* font-size: 14px; */
}

.content-page-content {
    padding: 0;
    margin-bottom: 60px;
    margin-left: auto;
    margin-right: auto;
    float: none;
}

.content-page-content.text-center {
    text-align: center;
}


/* #content .content-page-content p {
        font-size: 18px;
        letter-spacing: 1px;
    } */

.cottage-section {
    padding-bottom: 50px;
}

.cottage-box-wrap {
    margin-bottom: 30px;
}

.cottage-box-wrap .listing-box-img {
    height: 325px;
}

.object-fit {
    object-fit: cover;
    max-width: 100%;
    height: 100%;
    width: 100%;
    object-position: center;
}

.listing-box {
    position: relative;
}

.listing-loader {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: #fff;
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
    -webkit-justify-content: center;
    justify-content: center;
}

.listing-box-img {
    height: 230px;
    position: relative;
}

.listing-box-info {
    color: #000;
    padding: 0 10px;
}

.listing-box-info > div {
    background-color: #fff;
    padding: 30px 20px 0;
    transition: transform .4s ease-out;
    transform: translateY(0);
}

.listing-box:hover .listing-box-info > div {
    transform: translateY(-40px);
}

#content .listing-box-info > div h4 {
    font-size: 22px;
    line-height: 1.4;
    margin: 0 0 9px;
    font-weight: 400;
    font-family: "Baskervville", serif;
    font-weight: 400;
}

.listing-more {
    font-size: 14px;
    font-style: italic;
    opacity: 0;
    letter-spacing: 2px;
    transition: opacity .4s ease-out;
}

.listing-box:hover .listing-more {
    opacity: 1;
}

.span-page {
    width: 100vw;
    position: relative;
    left: 50%;
    right: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
    overflow: hidden;
}

.internal-panel-img {
    position: absolute;
    top: 0;
    right: 50%;
    left: 0;
    bottom: 0;
}

.internal-panel .panel-inner {
    padding: 100px 0 100px 35px;
    float: none;
    margin-left: auto;
}

#content .internal-panel h2 {
    font-size: 57px;
    font-weight: 700;
    margin: 0;
    line-height: 1;
    font-family: "Baskervville", serif;
    font-weight: 400;
}

#content .internal-panel p {
    font-size: 18px;
    letter-spacing: 1px;
}


/* new homes condos */

.page-id-239 #inner-page-wrapper {
    margin-bottom: 0;
}

.page-id-239 #content .entry-title {
    text-align: center;
    /* font-family: "Baskervville", serif; */
    font-family: var(--font-family-title);
    /* font-weight: 400; */
    font-weight: 700;
    text-transform: initial;
}

.projects-wrap {
    background-color: #f8f8f8;
    padding: 45px 0 10px;
}

.project-box {
    margin-bottom: 30px;
}

.project-box a {
    color: #000;
}

#content .project-box h3 {
    font-size: 30px;
    font-weight: 400;
    line-height: 1.3;
    margin: 0 0 9px;
    font-family: "Baskervville", serif;
    font-weight: 400;
}

.project-img {
    margin-bottom: 15px;
    height: 260px;
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
    -webkit-justify-content: center;
    justify-content: center;
    background-color: #fff;
}

.project-more {
    font-size: 14px;
    font-style: italic;
    opacity: 0;
    letter-spacing: 2px;
    transition: opacity .4s ease-out;
}

.projects-request-btn {
    opacity: 0;
    transition: opacity .4s ease-out;
}

.project-box:hover .project-more,
.project-box:hover .projects-request-btn {
    opacity: 1;
}

.business-modal .modal-content {
    border-radius: 0;
    position: relative;
    padding: 45px;
}

.business-modal .modal-close {
    position: absolute;
    top: 15px;
    right: 15px;
    font-size: 26px;
    opacity: 1;
    color: #000;
    border: 0;
}

.business-modal hr {
    border-color: #000;
    width: 90px;
    text-align: center;
    margin: 25px auto;
}

.business-modal .project-img {
    height: auto;
}

.modal-contact {
    margin-top: 20px;
}

.modal-contact p {
    margin-bottom: 3px;
}

.modal-backdrop.show {
    opacity: .85;
}

.business-modal .rec-collapse {
    border: 2px solid #000;
}

.business-modal .collapse-link {
    background-color: #000;
    color: #fff;
    padding: 15px;
    border: 0;
    display: block;
    width: 100%;
    cursor: pointer;
}

.business-modal .collapse-link:focus {
    outline-color: #015936;
}

.business-modal .collapse-inner {
    padding: 30px 0;
}

.business-modal blockquote {
    margin: 30px 0;
    padding: 0 25px;
    border: none;
}

.business-modal h3 {
    line-height: 1.3;
    font-size: 30px;
}

.business-modal h4 {
    font-size: 14px;
    letter-spacing: 1px;
    font-weight: 600;
}

.project-info {}

.project-info p {
    font-size: 18px;
    color: #000;
    line-height: 1.5;
    margin-bottom: 18px;
}

.project-info p a:hover {
    color: inherit;
    text-decoration: underline;
}

.business-modal .modal-dialog {
    margin-top: 100px;
    width: 700px;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
}

.business-modal .modal-close svg {
    display: block;
    width: 18px;
}

.form-section {
    margin-bottom: 60px;
    margin-top: 60px;
}

.form-copy {}

#content .form-copy h2 {
    font-size: 57px;
    line-height: 1;
    margin: 0;
    font-family: "Baskervville", serif;
    font-weight: 400;
}

#content .form-copy p {
    font-size: 18px;
    letter-spacing: 1px;
}

.form-half .wpcf7 form .wpcf7-response-output {
    text-align: center;
    margin: 10px 0 0;
}

.page-id-239:not(.modal-open) .modal-backdrop.fade.in {
    display: none;
}


/* new homes condos */


/* single communities */

.single-aios-communities #content .community-title,
.single-aios-communities p#breadcrumbs {
    display: none;
}

.single-aios-communities #content-full {
    margin-top: 0;
}

.single-aios-communities #content .community-featured-image {
    display: none;
}

.single-aios-communities #content .content-page-content h2 {
    font-size: 72px;
    line-height: 1.15;
    margin: 0;
    font-weight: 700;
    font-family: var(--font-family-title) !important;
    padding-top: 25px;
    padding-bottom: 15px;
}

.single-aios-communities .content-page-content {
    max-width: 920px;
    padding: 0 15px;
}

.hood-content-wrap {
    background-color: #f8f8f8;
    padding: 45px 0;
    margin-bottom: 50px;
}

.hood-section {
    margin-bottom: 50px;
    width: 42%;
}

#content .hood-section h3 {
    font-size: 30px;
    font-family: 'Baskerville', serif;
    font-weight: 400;
}

#content .hood-section hr {
    margin: 20px auto;
    text-align: center;
    width: 35px;
    background: #000;
}

#content .hood-section p {
    font-size: 18px;
}

.single-aios-listings .listings-main-inner .btn-a:hover:before {
    background: var(--aios-listing-primary-color);
}

.page-id-241 #content .entry-title,
.page-id-22 #content .entry-title {
    text-align: center;
}

.custom-popup-form {
    position: relative;
    max-width: 700px;
    margin: 0 auto;
    background: #fff;
    z-index: 1;
    padding: 50px 5% 70px;
}

.custom-popup-form .bg-section {
    opacity: 0;
}

.custom-popup-form .container {
    max-width: 100%;
    width: 100%;
    padding: 0;
}

.custom-popup-form .git-inner {
    margin: 0;
}

.custom-popup-form .section-title {
    text-align: center;
}

.single-post.post-template-default #content .entry > p:first-child > img:first-child {
    display: none;
}

#content .addtoany-wrap h2 {
    font-size: 24px;
    font-weight: 700;
    font-family: var(--font-family-default);
    letter-spacing: 0.1em;
    text-transform: uppercase;
    margin-right: 10px;
    margin: 10px 0;
}

.addtoany-wrap .addtoany_list a:not(.addtoany_special_service) {
    display: inline-flex;
}

.single-aios-listings .listings-main-inner .btn-a:hover:before {
    background: var(--aios-listing-primary-color);
}

.single-aios-listings #listings-details .listings-form {
    display: none;
}

.single-aios-listings #listings-details .listings-map {
    margin-left: unset;
}

.page-id-22 .ip-banner,
.page-id-236 .ip-banner,
.page-id-242 .ip-banner {
    opacity: 0;
}

.page-id-22 .ip-banner canvas,
.page-id-236 .ip-banner canvas,
.page-id-242 .ip-banner canvas {
    height: 80px;
    min-height: initial;
}

.page-id-21 #content .archive-title,
.page-id-23 #content .entry-title,
.page-id-18 #content .entry-title,
.page-id-235 #content .entry-title,
.page-id-235 #content .entry-title,
.page-id-242 #content .entry-title {
    text-align: center;
}

.page-id-18 .ip-banner canvas {
    background-size: auto 95%;
    background-color: #fff;
    background-position: center bottom;
}

#content p {
    font-size: 14px;
    line-height: 1.928571428571429;
    color: #000;
    font-weight: 400;
    letter-spacing: 0.050em;
    margin: 16px 0;
}

#content .entry-title,
#content .archive-title {
    margin-bottom: 30px;
}

.page-id-23 #content h2.section-title {
    margin: 0 0 30px;
}

.page-id-23 #content .entry > .row {
    margin-bottom: 30px;
}

#content img.aspect_ratio_mod {
    object-fit: cover;
    object-position: center;
}


/* Careers Reviews Slider START */

.ip-careers-reviews-slider-wrap {
    padding: 40px 30px;
    color: #ffffff;
    background-color: #000000;
    margin-bottom: 50px;
    position: relative;
    font-size: 0;
}

#content .ip-careers-reviews-slider-wrap p {
    color: #ffffff;
}

#content .ip-careers-reviews-slider-wrap p:first-child {
    margin-top: 0;
}

#content .ip-careers-reviews-slider-wrap p:last-child {
    margin-bottom: 0;
}

.ip-careers-reviews-item {
    display: flex !important;
    align-items: center;
}

.ip-careers-reviews-slider-wrap:not(.slick-initialized) .ip-careers-reviews-item ~ .ip-careers-reviews-item {
    display: none;
}

.ip-careers-review-photo img {
    width: 100%;
    max-width: 100% !important;
}

.ip-careers-reviews-arrows {
    width: 100%;
    height: 40px;
    position: absolute;
    z-index: 2;
    top: calc(50% - 20px);
    left: 0;
    right: 0;
    margin: 0 auto;
    pointer-events: none;
}

.ip-careers-reviews-arrows .slick-arrow {
    width: 40px;
    height: 40px;
    background: #ffffff;
    color: #000000;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 25px;
    position: absolute;
    cursor: pointer;
    border: 1px solid #000;
    pointer-events: auto;
}

.ip-careers-reviews-arrows .slick-arrow.ip-careers-reviews-prev {
    left: -20px;
}

.ip-careers-reviews-arrows .slick-arrow.ip-careers-reviews-next {
    right: -20px;
}

.ip-careers-reviews-arrows .slick-arrow:hover {
    background-color: #cccccc;
}


/* Careers Reviews Slider END */

.page-id-23 #content img.career-img {
    aspect-ratio: 1024 / 624;
}

.career-bg-gray {
    position: relative;
    padding: 40px 0;
    margin-bottom: 70px;
}

.career-bg-gray:before {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    z-index: -1;
    left: calc( (1140px - 100vw) / 2);
    right: calc( (1140px - 100vw) / 2);
    background: #f8f8f8;
}

.page-id-19 #content .lr-search .section-title {
    text-transform: initial;
}

.git-subtitle {
    padding: 0 0 30px;
    line-height: 1.4;
    letter-spacing: 0.030em;
    text-align: center;
}

#content p {
    font-weight: 300;
    letter-spacing: 0.05em;
    line-height: 1.666666666666667;
    font-size: 18px;
}

.aios-custom-ihomefinder-shortcode-template.template-default > div[data-ihf-client-id] {
    padding: 0 15px;
    display: block !important;
}

.ipad-btn-more {
    margin: 0 0 50px;
}

.single-post .ip-banner {
    display: none;
}

.single-post #inner-page-wrapper {
    padding-top: 80px;
}

body .bootstrap-select.btn-group .dropdown-menu.inner {
    max-height: 200px !important;
}

body .bootstrap-select.btn-group .dropdown-menu li a.opt {
    padding-left: 20px;
    padding-right: 30px;
}

body .bootstrap-select.btn-group .dropdown-menu li a {
    text-overflow: ellipsis;
    display: block;
    overflow: hidden;
}

body .bootstrap-select.btn-group .dropdown-menu li a span.text {
    display: block;
    width: 100%;
    text-overflow: ellipsis;
    overflow: hidden;
}

.page-template-aios-listing-properties .section-title {
    text-align: center;
}


/* .hp-only {
	display: block;
} */

.hp-only {
    display: none;
}

.post-page-our-agents .ip-banner,
.single-aios-agents .ip-banner {
    height: 80px;
}

.post-page-our-agents .ip-banner canvas,
.single-aios-agents .ip-banner canvas {
    background-image: none !important;
    background-color: #fff;
}

#content a.a2a_button_facebook,
#content a.a2a_button_twitter,
#content a.a2a_button_linkedin,
#content a.a2a_button_email {
    position: relative;
    font-family: agentimage !important;
    speak: none;
    font-style: normal;
    font-weight: 400;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-size: 25px;
    margin: 0 15px;
    transition: color .3s ease;
}

#content a.a2a_button_facebook:hover,
#content a.a2a_button_twitter:hover,
#content a.a2a_button_linkedin:hover,
#content a.a2a_button_email:hover {
    color: var(--secondary);
}

#content a.a2a_button_email {
    font-size: 18px;
}

#content a.a2a_button_facebook span,
#content a.a2a_button_twitter span,
#content a.a2a_button_linkedin span,
#content a.a2a_button_email span {
    display: none!important;
}

#content a.a2a_button_facebook:before {
    content: "\b0114";
}

#content a.a2a_button_twitter:before {
    content: "\b0100";
}

#content a.a2a_button_linkedin:before {
    content: "\b0105";
}

#content a.a2a_button_email:before {
    content: "\b0122";
}

#content a.addtoany_share_save {
    margin: 0 15px;
}

#content a.addtoany_share_save span {
    display: none!important;
}

#content a.addtoany_share_save:before,
#content a.addtoany_share_save:after {
    content: '';
    width: 20px;
    height: 4px;
    background: #000;
    transition: background .3s ease;
}

#content a.addtoany_share_save:after {
    position: absolute;
    transform: rotate(90deg);
}

#content a.addtoany_share_save:hover:before,
#content a.addtoany_share_save:hover:after {
    background: var(--secondary);
}

.page-id-19 .ip-banner canvas {
    aspect-ratio: 1600 / 650;
}

#ihf-main-container.ihf-modal-container .modal#ihf-agree-to-terms form {
    width: 100%;
    max-width: none;
    
}

.back-to-top {
    position: absolute;
    bottom: 30px;
    right: 30px;
    z-index: 100;
/*
    opacity: 0;
    pointer-events: none;
    transition: var(--default-transition);
*/
}

/*
.back-to-top.active {
    opacity: 1;
    pointer-events: auto;
}
*/

.back-to-top a {
    display: flex;
    flex-flow: column;
    justify-content: center;
    align-items: center;
    width: 50px;
    height: 50px;
    background: #fff;
    border: 1px solid #000;
    font-size: 20px;
    color: #000;
    transition: var(--default-transition);
}

.back-to-top a:hover {
    background: #000;
    border-color: #fff;
    color: #fff;
}

@media only screen and (min-width: 1200px) and (max-width: 1440px) {
    body.post-page-careers .row.add_margin {
        margin-left: 50px;
        margin-right: 50px;
    }
}

@media(min-width: 992px) {
    .page-id-22 .ip-banner canvas,
    .page-id-25 .ip-banner canvas {
        background-position: center 70px !important;
    }
    .git-subtitle {
        max-width: min(55vw, 660px);
        text-align: left;
    }
}

@media(min-width: 1200px) {
    .page-id-25 .ip-banner canvas {
        background-position: center 81px !important;
    }
    .page-id-22 .ip-banner canvas {
        background-position: center 80px !important;
    }
}

@media only screen and (max-width: 1440px) {
    .section-title {
        font-size: 60px;
    }
    /* #content .section-title,
    #content .entry-title,
    #content .archive-title {
        font-size: 60px;
    } */
}

@media only screen and (max-width: 1366px) {
    .git-inner {
        margin: 0;
    }
    .footer-inner {
        margin: 0;
    }
    .footer-left {
        width: 32%;
    }
    .footer-center {
        width: 33%;
    }
    .section-title {
        font-size: 55px;
    }
}


/* iPad(landscape) | iPad(landscape) | Galaxy Tab 4 (landscape) | Galaxy Tab 3 (landscape) */

@media only screen and (max-width: 1199px) {
    .section-title {
        font-size: 50px;
    }
    /* #content .section-title,
    #content .entry-title,
    #content .archive-title {
        font-size: 50px;
    } */
    .section-title small,
    #content .entry-title small,
    #content .archive-title small {
        font-size: 18px;
    }
    .section-title.ip-title,
    #content .section-title.ip-title,
    #content .section-title,
    #content .entry-title,
    #content .archive-title {
        font-size: 50px;
    }
    .header-logo a {
        width: 270px;
    }
    .header-left,
    .header-right {
        width: 260px;
    }
    .header-contact {
        width: 50px;
    }
    .footernav {
        max-height: 170px;
    }
    .footernav li a {
        font-size: 11px;
        letter-spacing: 0;
    }
    .career-bg-gray:before {
        left: calc( (940px - 100vw) / 2);
        right: calc( (940px - 100vw) / 2);
    }
}


/* iPad(portrait) | Galaxy Tab 4(portrait)  */

@media only screen and (max-width: 991px) {
    *[class*="col-md"] {
        width: 100%;
    }
    .col-sm-1 {
        width: 8.33333333%;
    }
    .col-sm-2 {
        width: 16.66666666%;
    }
    .col-sm-3 {
        width: 25%;
    }
    .col-sm-4 {
        width: 33.33333333%;
    }
    .col-sm-5 {
        width: 41.66666666%;
    }
    .col-sm-6 {
        width: 50%;
    }
    .col-sm-7 {
        width: 58.33333333%;
    }
    .col-sm-8 {
        width: 66.66666667%;
    }
    .col-sm-9 {
        width: 75%;
    }
    .col-sm-10 {
        width: 83.33333333%;
    }
    .col-sm-11 {
        width: 91.66666667%;
    }
    .col-sm-12 {
        width: 100%;
    }
    /* 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%;
    }
    .ios-true .is-parallax .bg-section-img,
    .safari-true .is-parallax .bg-section-img,
    .ipad-true .is-parallax .bg-section-img {
        background-attachment: scroll!important;
    }
    #pojo-a11y-toolbar {
        display: none;
    }
    header.header,
    header.header.sticking {
        padding: 12px 0;
    }
    .header-left {
        display: none;
    }
    .header-right {
        width: 20px;
    }
    .header-smi,
    .header-contact {
        display: none;
    }
    .header-logo {}
    .header-logo a {
        margin-left: 0;
    }
    .bm-menu-scrollable {
        width: 100%;
    }
    .bm-menu-close {
        right: 20px;
        top: 15px;
    }
    #bm_nav {
        columns: 1;
    }
    #bm_nav > li.push-col {
        margin-bottom: 40px;
    }
    #bm_nav > li > a {
        font-size: 25px;
    }
    #bm_nav .sub-menu > li > a {
        font-size: 12px;
    }
    .bm-menu-contacts {
        display: block;
    }
    .bm-menu-contact-info .textwidget > div {
        display: block;
        margin-bottom: 20px;
    }
    .section-title {
        font-size: 40px;
    }
    /* #content .section-title,
    #content .entry-title,
    #content .archive-title {
        font-size: 40px;
    } */
    .section-title small,
    #content .entry-title small,
    #content .archive-title small {
        letter-spacing: 0.3em;
    }
    #hp-git {
        padding: 60px 0;
    }
    .git-inner .section-title {
        text-align: center;
    }
    #hp-git .bg-section {
        width: 100%;
    }
    #hp-git .bg-section:before {
        background: rgba(255, 255, 255, 0.8);
    }
    .git-form {
        margin: 0 auto;
    }
    footer.footer {
        padding: 70px 0;
    }
    .footer-left {
        width: 100%;
    }
    .footer-center {
        width: 100%;
    }
    .footer-right {
        width: 100%;
    }
    .footer-logo {
        text-align: center;
    }
    .footer-contact li {}
    .footer-contact {
        max-width: 230px;
        margin: 0 auto;
    }
    .footernav {
        max-height: initial;
        text-align: center;
    }
    .footer-disclaimer-left {
        text-align: center;
        width: 100%;
    }
    .footer-disclaimer-right {
        margin: 0 auto 0;
    }
    .footer-disclaimer-left p {
        margin-bottom: 20px;
    }
    /* cottage county */
    #content .internal-panel h2 {
        font-size: 40px;
    }
    #content .form-copy h2 {
        font-size: 40px;
    }
    .project-img img {
        max-height: 100%;
        width: auto;
    }
    /* cottage county end */
    .single-aios-communities #content .entry-title {
        display: none;
    }
    .hood-section {
        width: 100%;
        margin-bottom: 10px;
    }
    .single-aios-communities #content .content-page-content h2 {
        font-size: 40px;
    }
    .page-id-18 .ip-banner canvas {
        background-size: auto 100%;
        background-position: center center;
    }
    .ip-careers-reviews-item {
        flex-flow: column;
        text-align: center;
    }
    .ip-careers-reviews-item .ip-careers-review-photo {
        margin-bottom: 30px;
    }
    .ip-careers-reviews-arrows {
        max-width: 100px;
        position: relative;
        margin-top: 20px;
        top: auto;
    }
    .career-bg-gray:before {
        left: calc( (720px - 100vw) / 2);
        right: calc( (720px - 100vw) / 2);
    }
}


/* Galaxy Tab 3(portrait) | Galaxy S5(landscape) */

@media only screen and (max-width: 767px) {
    *[class*="col-sm"] {
        width: 100%;
    }
    .col-xs-1 {
        width: 8.33333333%;
    }
    .col-xs-2 {
        width: 16.66666666%;
    }
    .col-xs-3 {
        width: 25%;
    }
    .col-xs-4 {
        width: 33.33333333%;
    }
    .col-xs-5 {
        width: 41.66666666%;
    }
    .col-xs-6 {
        width: 50%;
    }
    .col-xs-7 {
        width: 58.33333333%;
    }
    .col-xs-8 {
        width: 66.66666667%;
    }
    .col-xs-9 {
        width: 75%;
    }
    .col-xs-10 {
        width: 83.33333333%;
    }
    .col-xs-11 {
        width: 91.66666667%;
    }
    .col-xs-12 {
        width: 100%;
    }
    .ip-banner .container {
        width: 100%;
    }
    /* cottage county */
    .internal-panel-img {
        position: static;
        height: 225px;
    }
    .internal-panel .panel-inner {
        padding: 50px 0;
    }
    #content .internal-panel h2 {
        font-size: 30px;
    }
    #content .form-copy h2 {
        font-size: 30px;
    }
    /* cottage county end */
    .career-bg-gray:before {
        left: -15px;
        right: -15px;
    }
}


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

@media only screen and (max-width: 480px) {
    .section-title {
        font-size: 30px;
    }
    /* #content .section-title,
    #content .entry-title,
    #content .archive-title {
        font-size: 30px;
    } */
    .section-title small,
    #content .entry-title small,
    #content .archive-title small {
        letter-spacing: 0.1em;
    }
    .section-title.ip-title,
    #content .section-title.ip-title,
    #content .section-title,
    #content .entry-title,
    #content .archive-title {
        font-size: 45px;
    }
}

.lr-item:nth-of-type(odd) {
    display: none;
}
