@charset "utf-8";

/* CSS Document */
body {
    margin-left: 0px;
    margin-top: 0px;
    margin-right: 0px;
    margin-bottom: 0px;
    background-color: #FFFFFF;
}

body,
td,
th {
    /*font-family: 'Open Sans', sans-serif;*/
    color: #000000;
    font-size: 18px;
    -webkit-text-size-adjust: none;
}

a:link {
    color: #286977;
    text-decoration: none;
}

a:visited {
    text-decoration: none;
    color: #286977;
}

a:hover {
    text-decoration: none;
    color: #660010;
}

a:active {
    text-decoration: none;
    color: #286977;
}

h1 {
    font-size: 48px;
}

h2 {
    font-size: 40px;
    font-weight: 300;
}

h3 {
    font-size: 34px;
    font-weight: 300;
}

h4 {
    font-size: 28px;
    font-weight: 300;
}

.textshadowblack1 {
    text-shadow: 1px 1px #000000;
}

.textshadowblack2 {
    text-shadow: 2px 2px #000000;
}

.textshadowblack3 {
    text-shadow: 3px 3px #000000;
}

.textshadowwhite1 {
    text-shadow: 1px 1px #FFFFFF;
}

.textshadowwhite2 {
    text-shadow: 2px 2px #FFFFFF;
}

a.redlink:link {
    color: #660010;
    text-decoration: none;
}

a.redlink:visited {
    text-decoration: none;
    color: #660010;
}

a.redlink:hover {
    text-decoration: none;
    color: #82ECFF;
}

a.redlink:active {
    text-decoration: none;
    color: #660010;
}

a.whitelink:link {
    color: #FFFFFF;
    text-decoration: none;
}

a.whitelink:visited {
    text-decoration: none;
    color: #FFFFFF;
}

a.whitelink:hover {
    text-decoration: none;
    color: #F8C2DB;
}

a.whitelink:active {
    text-decoration: none;
    color: #FFFFFF;
}

a.blacklink:link {
    color: #000000;
    text-decoration: none;
}

a.blacklink:visited {
    text-decoration: none;
    color: #000000;
}

a.blacklink:hover {
    text-decoration: none;
    color: #286977;
}

a.blacklink:active {
    text-decoration: none;
    color: #000000;
}

a.copyrightlink:link {
    color: #666666;
    text-decoration: none;
}

a.copyrightlink:visited {
    text-decoration: none;
    color: #666666;
}

a.copyrightlink:hover {
    text-decoration: none;
    color: #000000;
}

a.copyrightlink:active {
    text-decoration: none;
    color: #666666;
}

.fontsmall {
    font-size: 16px;
}

.fontmedium {
    font-size: 20px;
}

.fontlarge {
    font-size: 28px;
}

.fontxtralarge {
    font-size: 36px;
}

.fontxtralarge2 {
    font-size: 42px;
}

.size10 {
    font-size: 10px;
}

.size11 {
    font-size: 11px;
}

.size12 {
    font-size: 12px;
}

.size13 {
    font-size: 13px;
}

.size14 {
    font-size: 14px;
}

.size15 {
    font-size: 15px;
}

.size16 {
    font-size: 16px;
}

.size17 {
    font-size: 17px;
}

.size18 {
    font-size: 18px;
}

.size19 {
    font-size: 19px;
}

.size20 {
    font-size: 20px;
}

.size21 {
    font-size: 21px;
}

.size22 {
    font-size: 22px;
}

.size24 {
    font-size: 24px;
}

.size26 {
    font-size: 26px;
}

.size28 {
    font-size: 28px;
}

.size28 {
    font-size: 32px;
}

.size34 {
    font-size: 34px;
}

.size36 {
    font-size: 36px;
}

.size40 {
    font-size: 40px;
}

.size46 {
    font-size: 46px;
}

.size52 {
    font-size: 50px;
}

.size52 {
    font-size: 52px;
}

.size60 {
    font-size: 60px;
}

.size70 {
    font-size: 70px;
}

.pink {
    color: #E933D7;
}

.yellow {
    color: #F2C433;
}

.white {
    color: #FFFFFF;
}

.white2 {
    color: #CCCCCC;
}

.fadedwhite {
    color: #D9E6F2;
}

.maroon {
    color: #772825;
}

.maroonwhite {
    color: #841A2E;
}

.black {
    color: #333333;
}

.red {
    color: #B20000;
}

.green {
    color: #390;
}

.blue {
    color: #2C6AA6;
}

.grayblue {
    color: #727B96;
}

.gold {
    color: #C08C52;
}

.gray {
    color: #444444;
}

.gray3 {
    color: #333333;
}

.gray6 {
    color: #666666;
}

.gray9 {
    color: #999999;
}

.brown {
    color: #B07D44;
}

.copyright {
    color: #666666;
}

.spacing {
    line-height: 46px;
}

.medspacing {
    line-height: 40px;
}

.lrgspacing {
    line-height: 52px;
}

.xtralrgspacing {
    line-height: 74px;
}

.smallspacing {
    line-height: 38px;
}

.tinyspacing {
    line-height: 24px;
}

.customspacing {
    line-height: 70px;
}

.repeatx {
    background-repeat: repeat-x;
}

.repeatxcenter {
    background-position: center top;
    background-repeat: repeat-x;
}

.repeaty {
    background-repeat: repeat-y;
}

.norepeat {
    background-repeat: no-repeat;
}

.bgcenter {
    background-position: center top;
    background-repeat: no-repeat;
}

.bgcentermiddle {
    background-position: center middle;
    background-repeat: no-repeat;
}

.bgleftnorepeat {
    background-position: left middle;
    background-repeat: no-repeat;
}

.bgcenterrepeat {
    background-position: center top;
    background-repeat: repeat;
}

.bgtopright {
    background-position: right top;
    background-repeat: no-repeat;
}

.bgbottom {
    background-position: center bottom;
    background-repeat: repeat-x;
}

.bgbottomno {
    background-position: center bottom;
    background-repeat: no-repeat;
}

.bgbottomnoleft {
    background-position: left bottom;
    background-repeat: no-repeat;
}

.bgcentermiddle {
    background-position: center middle;
    background-repeat: no-repeat;
}

.bgproperty {
    background-position: center;
    background-repeat: no-repeat;
}

.bgleftmiddle {
    background-position: left;
    background-repeat: no-repeat;
}

.bglefttop {
    background-position: left top;
    background-repeat: no-repeat;
}

.bgrightmiddle {
    background-position: right;
    background-repeat: no-repeat;
}

.padding {
    padding: 10px;
}

.responsiveimage {
    width: 100%;
    height: auto;
}

.imagepadding {
    padding-right: 25px;
    padding-bottom: 5px;
}

.imagepadding {
    padding-right: 25px;
    padding-bottom: 5px;
}

.puritan {
    font-family: "Puritan", sans-serif;
}


/* CUSTOM CSS */


body,
td,
th {
    /*font-family: 'Open Sans', sans-serif;*/
    color: #000000;
    font-size: 16px;
    -webkit-text-size-adjust: none;
}

.loop_images {
    width: 100%;
    object-fit: cover;
    height: 30vh;
}

.loop_contents {
    position: relative;
    line-height: 0 !important;
}

.loop_details {
    position: absolute;
    z-index: 1;
    bottom: 0;
    padding: 10px;
    display: grid;
    gap: 5px;
    color: #fff;
    width: -moz-available;
    width: -webkit-fill-available;
    background: linear-gradient(#fff0, #000);
    font-size: 14px;
    line-height: 20px !important;
}

.price {
    font-size: 22px;
}

.dot {
    height: 6px;
    width: 7px;
    border-radius: 50px;
    background: #fff;
    display: grid;
}

.pagination-controls {
    display: flex;
    align-items: center;
    gap: 20px;
    justify-content: space-between;
    margin: 20px 0;
}

.pagination-controls button {
    padding: 5px 10px;
    border: 1px solid #000;
    background-color: #fff;
    border-radius: 5px;
    cursor: pointer;
}

.pagination-controls button:hover {
    background-color: #000;
    color: #fff;
    border: 1px solid #000;
}

.pagination-controls span {
    margin-right: 10px;
}

.pagination-buttons {
    display: flex;
    gap: 5px;
}

#results {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}

@media screen and (min-width: 787px) and (max-width: 1200px) {
    #results {
        display: grid;
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 20px;
    }

    .loop_images {
        height: 30vh;
    }
}

@media screen and (max-width: 786px) {
    #results {
        display: grid;
        grid-template-columns: repeat(1, 1fr) !important;
        gap: 20px;
    }

    .loop_images {
        height: auto;
    }

    .pagination-controls {
        display: grid;
        justify-content: center;
        place-items: center;
        gap: 20px;
    }
}


/* PROPERTY PAGE */


.flex1 {
    display: flex;
    justify-content: space-between;
}

.grid1 {
    display: grid;
    place-items: center;
}

.grid2 {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    place-items: center;
    gap: 10px;
}

.grid3 {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    place-items: center;
    gap: 10px;
}

.grid4 {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    place-items: center;
    gap: 10px;
}

.property_content {
    display: grid;
    grid-template-columns: 3fr 1fr;
}

.property_content_right {
    position: sticky;
    top: 50px;
    height: fit-content;
}

.form_right input,
.form_right textarea {
    width: -moz-available;
    width: -webkit-fill-available;
    padding: 10px;
    border-radius: 5px;
    border: 1px solid #bbb;
}

.right_form_div {
    padding: 15px 10px;
    border: 1px solid #bbb;
    margin: 10px;
    border-radius: 5px;
}

.form_sub_btn {
    width: 100%;
    background: #000;
    color: #fff;
    padding: 10px;
    border: 0;
    border-radius: 7px;
    cursor: pointer;
}

.form_sub_btn:hover {
    color: #000;
    background: #fff;
    border: 1px solid #000;
}

.property_remarks {
    padding: 10px 20px;
    background: #f0f0f0;
}

.property_amenities {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    padding: 25px;
    gap: 10px;
}

.property_header {
    position: sticky;
    top: 0;
    height: 50px;
    background-color: #fff;
    border: 0px solid;
    width: -moz-available;
    width: -webkit-fill-available;
    align-items: center;
    display: flex;
    box-shadow: 0 0 10px #bbb;
    z-index: 1;
}

.property_price {
    font-size: 24px;
}

.property_bedbaths strong {
    font-size: 22px;
}

@media screen and (max-width: 860px) {

    .flex1,
    .grid1,
    .grid2,
    .grid3,
    .grid4,
    .property_content {
        display: grid !important;
        grid-template-columns: 1fr !important;
    }

    .property_amenities {
        display: grid;
        grid-template-columns: repeat(1, 1fr);
    }
}



/* MLS POPUP */


.popup_div {
    position: absolute;
    display: none;
    place-items: center;
    background: #000000c2;
    top: 0;
    z-index: 1000;
}

.property_popup {
    position: relative;
    display: grid;
    width: 80%;
    background: #fff;
}

.playfair {
    font-family: "Playfair Display", serif;
}