.retsModule.flexContainer { display:flex; }
.retsModule .column { flex: 1 1 100%; box-sizing:border-box; }
.retsModule .column.colOneHalf { flex-basis:50%; }
.retsModule .column.colOneThird { flex-basis:33.33%; }
.retsModule .column.colTwoThirds { flex-basis:66.66%; }
.retsModule .column.colOneFourth { flex-basis:25%; }

.retsModule .utilityLinks { margin: 0 0 1em; text-align:right; }
.retsModule h1 { clear:right; }
.retsModule .newListing { display:none; color:#f00; font-weight:bold; }
.retsModule .status { font-weight:bold; }
.retsModule .label { border-radius:0; padding: 0 .6em 0 0; text-align:left; white-space:normal; color:inherit; font:inherit; }

div.retsList { position:relative; width:100%; min-height:500px; }
/*
#propertyMapArea { position:absolute; top:0; left:0; bottom:0; right:250px; }
#propertyMap { height:450px; }
.retsList #propertyMap { height:100%; }
#propertyMapArea .reset { position:absolute; top:40px; right:5px; }
#propertyList { position:absolute; top:0; right:0; bottom:0; width:250px; height:100%; }
#propertyList>div { position:relative; }
#propertyList .property { display:none; border-top: 1px solid #ccc; padding:10px; }
#propertyList .property.shown { display:block; cursor:pointer; }
#propertyList .property.current { background-color:#ddd; }
#propertyList img { max-width:140px; }
*/
.retsOpenHouses .dateTime { font-weight:bold; }
.retsOpenHouses .description { margin: 1em 0; }


/* Search Form --------------- */
.retsModule.retsSearch h2 { letter-spacing: 0.005em; text-align:left; font-size: 40px; margin-bottom: 1em; color:#5D99CA ;}

.retsSearchForm { position: relative; margin-bottom:25px; display:flex; flex-direction: row; flex-wrap: wrap; padding: 18px 5px; border-radius: 3px; border: 1px solid #BBC2CA; box-shadow: 0px 0px 6px 0 rgba(0,0,0,0.21); }
.retsSearchForm .column { padding: 0 18px 10px; }
.retsSearchForm input
, .retsSearchForm select
, .retsSearchForm  textarea { border-radius: 4px; box-sizing: border-box; padding: 4px 5px; border:1px solid #bbb; outline:0px; position: relative; margin-left:0; }
.retsSearchForm h5 { color: #5D99CA; margin:0px; }
.retsSearchForm hr { width: 100%; border:0px; height: 1px; margin:0px 0px 5px; background: #ddd; }
.retsSearchForm .inputSbS { display:flex; flex-direction: row; align-items: center; }
.retsSearchForm .inputSbS * { flex: 1 1 100%; width: auto; min-width: 0; }
.retsSearchForm .inputFW select
, .retsSearchForm .inputFW input
, .retsSearchForm .inputFW textarea { width: 100%; margin: 0; }
.retsSearchForm .inputSbS select
, .retsSearchForm .inputSbS input
, .retsSearchForm .inputSbS textarea {  }
.retsSearchForm .inputSbS span { flex: 0 1 60px; display: inline-block; text-align:center; }
.retsSearchForm input.inputCurrency { background: url('../price_input.html') 7px 50% no-repeat; padding-left: 21px; }
.retsSearchForm .column .flexLabel { margin: 5px 0 3px; font-weight:bold; }
.retsSearchForm .column .flexContent { margin: 3px 0 15px; }

.retsSearch .instructions { font-size:smaller; color:#666; font-weight:normal; }
.retsSearchForm .error { color: #ff0000; }

.retsModule .utilityLinks { text-align: right; margin:0px; padding:0px;}
.retsModule .utilityLinks a { display: inline-block; border-top-left-radius: 3px; border-top-right-radius: 3px; padding: 5px 12px; background: #004e7d; color: #fff; margin-left: 5px; }
.retsModule .utilityLinks a span.fa {font-size: 14px;padding-right: 2px;}

/* Lister Layout --------------- */
.retsModule.retsLister h2 { letter-spacing: 0.005em; text-align:left; font-size: 40px; margin-bottom: 1em; }
.retsModule.retsLister .numListings { float:left; }
.retsModule.retsLister .retsList { border: 2px solid #004e7d; border-radius: 3px; border-top-right-radius: 0px; padding-left: 8px; padding: 5px 12px; background: #f4f4f4; box-shadow: inset 1px 1px 3px rgba(0,0,0,0.2); }

.retsModule.retsLister .property { margin: 10px 0 18px; padding: 15px 22px; background: #fff; display:flex; flex-direction: row; flex-wrap: wrap; padding: 18px 5px 3px; border-radius: 3px; border: 1px solid #BBC2CA; box-shadow: 0px 0px 6px 0 rgba(0,0,0,0.21);}
.retsModule.retsLister .property .column { padding: 0px 10px 10px; position:relative; }
.retsModule.retsLister .property  h4 { color: #5D99CA; margin:0px; letter-spacing: 0.02em;}
.retsModule.retsLister .property  hr {width: 100%; border:0px; height: 1px; margin:3px 0px 6px; background: #f1f1f1;}
.retsModule.retsLister .property .label {padding:0px;}
.retsModule.retsLister .property .value {padding:0 0 0 4px; font-weight: bold; color: #5D99CA;}
.retsModule.retsLister .propertyThumbnail { display:block; position: relative; width: auto; height: 140px;}
.retsModule.retsLister .propertyThumbnail img { display:block; width: 100%; height: 100%; object-fit: cover; object-position: 50% 50%; border-radius: 3px; }
.retsModule.retsLister .propertyLink { display:block; text-align:center; font-weight: 300;}
.retsModule.retsLister .property .address {padding-right: 105px;}
.retsModule.retsLister .property .propertyDetails { display:flex; flex-direction: row; flex-wrap: wrap; padding: 8px 0px 0px; font-size:14px; }
.retsModule.retsLister .property .propertyDetails .column { padding: 0 12px 10px 0;}
.retsModule.retsLister .property .topInfo { position: absolute; top:0px; right:10px; text-align:right; line-height: 1.1;}
.retsModule.retsLister .property .price { display:block; font-weight: bold; color: #84CABF;}
.retsModule.retsLister .property .status { display:block; color: #aaa; font-size: 80%;margin-top:2px;}
.retsModule.retsLister .property .propertyRealtor { padding-top:6px; text-align:center; }

/* Detail layout */
.retsModule.retsDetail .propertyDetail { border: 2px solid #27277d; border-radius: 3px; border-top-right-radius: 0px; padding: 25px 18px 15px; background: #fff; box-shadow: inset 1px 1px 3px rgba(0,0,0,0.2); display:flex; flex-direction: row; flex-wrap: wrap; }
.retsModule.retsDetail .propertyDetail  h3 { margin:0px; letter-spacing: 0.02em;}
.retsModule.retsDetail .propertyDetail  h4 { margin:0px; letter-spacing: 0.02em;}
.retsModule.retsDetail .propertyDetail  h5 { margin:0px; letter-spacing: 0.02em;}
.retsModule.retsDetail .propertyDetail  hr {width: 100%; border:0px; height: 1px; margin:3px 0px 6px; background: #f1f1f1;}
.retsModule.retsDetail .propertyDetail .column { padding: 0px 10px 10px; position: relative; }
.retsModule.retsDetail .propertyDetail .propertyDetails { display:flex; flex-direction: row; flex-wrap: wrap; font-size:14px; margin-top:1em; }
.retsModule.retsDetail .propertyDetail .propertyDetails .column { padding: 0 12px 10px 0;}
.retsModule.retsDetail .propertyDetail .address { flex: 1 1 70%; }
.retsModule.retsDetail .propertyDetail .topInfo { flex: 1 1 30%; text-align:right; }
.retsModule.retsDetail .propertyDetail .price { font-weight: bold;}
.retsModule.retsDetail .propertyDetail .status { color: #aaa; font-size: 80%; }
.retsModule.retsDetail .propertyDetail .phone
, .retsModule.retsDetail .propertyDetail .email
, .retsModule.retsDetail .propertyDetail .website { display: inline-block; padding-left: 18px;}
.retsModule.retsDetail .propertyDetail .phone span.fa {padding-right: 4px;}
.retsModule.retsDetail .propertyDetail .tabSection {margin-top:20px;}
.retsModule.retsDetail .propertyDetail  h4.contactInfoHeader {padding: 10px 0; color: #222; font-weight:300;}
.retsModule.retsDetail .propertyDetail .retsDetails .label { font-weight:bold; }

.retsDetail .mainInfo
, .retsDetail .additionalInfo { clear:both; }
.retsDetail #mainImage:empty { display:none; }
.retsDetail #mainImage img { max-width:100%; }
.retsDetail #mainImage
, .retsDetail h4
, .retsDetail .address
, .retsDetail .details
, .retsDetail .locationInfo
, .retsDetail .contactInfo { margin: 0 0 1em; }
.retsDetail .contactInfo { }
.retsDetail table.retsDetails td
, .retsDetail .contactInfo td { padding:8px 12px; vertical-align:top; }
.retsDetail .description
, .retsDetail .childList { clear:both;}
.retsDetail #photoThumbs { margin: 10px -10px 10px 0; }
.retsDetail #photoThumbs a { display:block; float:left; margin: 0 10px 10px 0; width:122px; height:92px; overflow:hidden; text-align:center; }
.retsDetail #photoThumbs a img { height:100%; }
.retsDetail table.retsDetails { width:100%; border-collapse:collapse; }
.retsDetail table.retsDetails td { border: 1px solid #84CABF; }
.retsDetail table.retsDetails td.value { overflow-wrap:break-word; word-wrap:break-word; word-break:break-all; word-break:break-word; hyphens:auto; }
.retsDetail .tabs { background-color:#fec538; }
.retsDetail .tab { color:#fff; border-left: 1px solid #fff; padding: 5px 20px; }
.retsDetail .tab:first-child { border-left: 0 none; }
.retsDetail .tab.current { background-color:#27277d; }

.retsDetail.retsAgents { position: relative; display: block; width: 100%; margin: 0 auto 100px auto; }
.retsDetail.retsAgents .numListings { float:right; clear:right; border: 1px solid #999; padding:10px; }
.retsDetail.retsAgents .numListings h4 { margin-top:0; }
.retsDetail.retsAgents .contactInfo { width:50%; }
.retsAgents label { white-space:nowrap; }

.retsAgents .agent_thumbnail { float: left; width: 150px; margin: 0 10px 10px 0; padding: 0; display: block; box-sizing: border-box; }
.retsLister .agent_thumbnail { width: 115px; display: block; margin: 0 10px 10px 0; padding: 0; float: left; }
.retsLister .agent_thumbnail img, .retsAgents .agent_thumbnail img { max-width: 100%; vertical-align: middle; }

.retsDetail.retsAgencies .contactInfo { float:right; width:50%; }
.agentsOfAgency .column { width:46%; margin-right:4%; }


@media screen and (max-width:767px) {
    .retsDetail table.retsDetails
    , .retsDetail table.retsDetails tbody
    , .retsDetail table.retsDetails tr
    , .retsDetail table.retsDetails th
    , .retsDetail table.retsDetails td { display:block; width:auto; border:none; padding:0; }
    .retsDetail table.retsDetails tr { margin: 0.5em 0; }
	.retsDetail table.retsDetails td.value { padding-left:1em; }
	
	.retsAgents label { display:block; margin: .5em 0; white-space:nowrap; }
	
	div.retsSearchForm.flexForm .column {min-width: 275px !important;}
	
	.retsModule.retsLister .property .column {min-width: 275px !important;}
	.retsModule.retsLister .property h4 { font-size: 18px;}
	.retsModule.retsLister .propertyThumbnail {height: 200px;}
	
	.retsModule.retsDetail .propDetail .column {min-width: 275px !important;}
}


@media screen and (max-width:450px) {
    .retsModule.retsLister .retsList { border: 0 none; padding:0; box-shadow:none; }
    .retsModule.retsLister .numListings { float:none; margin: 0.5em auto; text-align:center; }
    .retsModule.retsLister .utilityLinks { clear:both; }
    .retsModule.retsLister .utilityLinks a { margin-left:0; padding:5px; }
    .retsModule.retsDetail .propertyDetail .address { flex-basis:100%; }
    .retsModule.retsDetail .propertyDetail .metaDetails { flex-basis:100%; text-align:left; }
}

@media print {
    .retsLister .retsSearch, .retsModule .utilityLinks, .retsDetail .tabs { display:none; }
    .retsDetail .tabPage { display:block !important; clear:both; margin: 3em 0; }
}