/* ========== Property Page (IDs: reP-*) ========== */



/* Tables (price history) */
.re-table { width:100%; border-collapse:collapse; }
.re-table th, .re-table td { border-bottom:1px solid #e5e7eb; padding:8px; text-align:left; }
.contentPanel {
	display:flex; flex-direction: row;
}
.mainPanel {
	display:flex; flex-direction: column;
	flex:70%;
	padding-right:50px;
}
#reP-nav-path {
	display:flex;
	gap:6px;
	align-items: center;
	margin-top: 50px;
}
.mobile #reP-nav-path {
	display:none;
}
#reP-nav-path i {
	font-size: 12px;
	height: 12px;
}
#reP-nav-path a:hover {
	text-decoration: underline;
}
.sidePanel {
	display:flex; flex-direction: column;
	flex:30%;
	min-width:360px;
	padding-top: 30px;

}
.sideSticky.sticky {
	position: sticky;
    top: 80px;
    width: 400px;
    z-index: 10;
    display: block;
	/*height: 80vh;*/
    overflow-y: auto;
}

.reP-gallery-wrap {
	  width: 100%;
	  position:relative;
}
.reP-gallery-buttons {
	position: absolute;
    bottom: 50px;
    right: 20px;
    width: 300px;
    display: flex;
    justify-content: center;
    gap: 20px;
}
#openTourBtn {
	display:none;
}
.reP-gallery-wrap button {
	
    display: flex;
    align-items: center;
    gap: 8px;
}
#reP-gallery {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-template-rows: repeat(2, 200px);
    grid-gap: 10px;
    width: 100%;
}
.mobile #reP-gallery {
    grid-template-rows: repeat(2, 150px);
}
.reP-img {
  background-repeat: no-repeat;
    background-size: cover;
    background-position: 50% 50%;
  display: flex;
  cursor:pointer;
    transition: all 0.5s ease-in-out;
}

.reP-img:nth-child(1) {
  grid-column: 1 / 3;
  grid-row: 1 / 3;
  border-radius:24px 0 0 24px;
}
.reP-img:nth-child(3) {
  border-radius:0 24px 0 0 ;
}

.mobile .reP-img:nth-child(1) {
  border-radius:18px;
}

.reP-img:last-child {
    background-color: rgba(0, 0, 0, 0.5);
    background-blend-mode: overlay;
    border-radius:0 0 24px 0;
}
.reP-img.blankImage {
  background-image:url(../../assets/images/blankHouse.png);
  background-color: rgb(75 75 75) !important;
  background-blend-mode: overlay;
}

.reP-nav-right {
	display:flex;
	gap: 20px;
}
.mobile .reP-nav-right {
	gap: 10px;
}
#reP-gallery-all {
	display: flex;
    flex-wrap: wrap;
    gap: 10px;
    width: 80vw;
    height: 80vh;
    overflow: auto;
    max-width: 1440px;
}
.mobile-w #reP-gallery-all {
    width: auto;
}
#reP-gallery-all .reP-img {
  background-repeat: no-repeat;
    background-size: cover;
    background-position: 50% 50%;
    display: block;
    height: 300px;
    flex: 1 1 calc(33% - 5px);
	max-width: 600px;
    border-radius:12px;
}
.mobile-w #reP-gallery-all .reP-img {
    display: block;
    height: 250px;
    flex: 1 1 100%;
}
#popupHeadTitle {
    display: flex;
	align-items: baseline;
    gap: 30px;
    flex-wrap: wrap;
}
.mobile-w #popupHeadTitle {
    gap: 5px;
    margin-bottom: 15px;
}
.mobile-w #popupHeadTitle h2 {
    margin: 0;
}

#reP-nav {
    display: flex;
    justify-content: space-between;
    align-items: center;
        padding-top: 20px !important;
    padding-bottom: 15px !important;
	width: 100%;
} 

#reP-nav .reP-nav-back {
    align-items: center;
}
.reP-nav-back {
  font-weight: 600;
}
#inPageNav {
    display: none;
    justify-content: space-between;
    background: #f2f2f2;
    height: 65px;
    align-items: center;
    padding: 0;
	overflow:scroll;
	scrollbar-width: none; 
    -ms-overflow-style: none; 
}
#inPageNav::-webkit-scrollbar { /* WebKit */
    width: 0;
    height: 0;
}
#inPageNav ul {
    display:flex; flex-direction: row;
}
#inPageNav ul li a {
   padding: 6px 12px;
   white-space: nowrap;
}
#inPageNav ul li a.active {
   background: #2b9a92;
    color: #fff;
    border-radius: 24px;
}
#inPageNav.sticky {
  position: fixed;
  top: 0;
  width: 100%; /* Adjust as needed */
  z-index: 20;
  display:flex;
      border-bottom: 1px solid #e8e7e7;
    box-shadow: 1px 3px 5px #0000000f;
}
.reP-top {
	display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: self-start;
    flex-wrap: wrap;
}
#reP-summary {
    display: flex;
    flex-direction: column;
}
.reP-addr {
    font-weight: 500;
    font-size: 24px;
	margin-bottom: 8px;
}
.reP-addr2 {
    padding: 0;
    margin: 0;
    color: #555;
}
.mobile .reP-addr {
        font-size: 18px;
    margin-top: 10px
}
.topSummary {
	display: flex;
    gap: 50px;
    margin-top: 10px;
	flex-direction: row;
    flex-wrap: wrap;
}
.priceBox,
.sumBox {
    display: flex;
    gap: 50px;
    margin-top: 10px;
    flex-wrap: wrap;
    justify-content: space-between;
}
.mobile .topSummary {
    margin-top: 0;
}
.topSummary p {
    margin-bottom: 0;
	margin-top: 5px;
}
.mobile .priceBox {
    gap: 10px;
    justify-content: space-between;
}
.priceBoxLeft {
    padding-top: 5px;
}
.priceBoxLeft.original  {
    display:none;
}
.priceBoxLeft.original h2 {
    text-decoration: line-through;
}
.priceBoxLeft.original div {
    display: flex;
    flex-direction: column;
}
.mobile .priceBoxLeft.original div {
    align-items: center;
    flex-direction: row;
}


.priceBoxRight {
    background: #ddd;
    padding: 5px 20px 0 20px;
      align-items: center;
    gap: 50px;
}
.mobile .priceBoxRight {
    width: 100%; 
    display: flex; 
    padding: 5px 20px;
}
.priceBoxRight > div {
    display: flex;
    align-items: flex-start;
    gap: 3px;
}
.topSummary h2 {
    margin: 5px 0;
}
.reP-mlsList {
    display: flex;
    gap: 15px;
	margin-top: 20px;
	align-items: center;
	font-size: 14px;
}
.mobile .reP-mlsList {
    margin-top: 5px;
}
.reP-status {
    white-space: nowrap;
}
.reP-meta {
    margin: 15px 0 15px 0;
	display:none;
}
.mobile .sumBox {
	display:none;
}
.mobile .reP-meta {
	display:flex;
	font-size: 20px;
}
.reP-status span {
    display: block;
    background: #818282;
    padding: 0 15px;
    line-height: 25px;
    border-radius: 20px;
    color: #fff;
    font-size: 14px;
}
.reP-status span.sold {
    background: #7a1c38;
}

#sections {
    position: relative;
}
.section {
   padding: 15px 0 20px 0;
   
}

.itemRowFull {
    flex-basis: calc(100% - 10px) !important;
	margin-left: 0 !important;
}
.itemTitle {
	display: flex;
    font-weight: 600;
    flex-basis: 100px;
	min-width: 130px;
}
.itemValue {
	display:flex;
}
.property-page .re-item { 
	flex-basis: 25%; 
}

.tableWrap {
	overflow-y:hidden;
}
.reP-table {
	width:100%;
	border-collapse:collapse;
	position:relative;
}
.reP-table.loginReq tbody, 
.reP-table.loginReq thead {
  filter: blur(5px);
}
.reP-table th,
.reP-table td {
	padding: 15px 30px 15px 0;
    border-bottom: 1px solid #ccc !important;
}
.reP-table td {
	white-space:nowrap;
}
.reP-table th {
	text-align:left;
	white-space: nowrap;
}
.banks tr th:first-childe {
    padding-left: 50px;
}
.banks tr td:first-child {
	background-color: transparent;
    background-position: 0 50%;
    background-repeat: no-repeat;
    background-size: 30px 30px;
    padding-left: 50px;
}
td.Ban {
	background-image: url(../images/bank-bmo.png);
}
td.TD {
	background-image: url(../images/bank-td.png);
}
td.CIB {
	background-image: url(../images/bank-cibc.png);
}
td.Sco {
	background-image: url(../images/bank-scotia.png);
}
td.RBC {
	background-image: url(../images/bank-rbc.png);
}
#reP-desc {
    max-height: 160px;
    overflow: hidden;
    margin-bottom: 30px;
    position: relative;
	line-height: 20px;
}
#reP-desc.expand {
    max-height: 100%;
}
.showMoreWrap {
    padding: 20px 0;
}
#reP-desc-more {
    position: absolute;
    bottom: 0;
    background: linear-gradient(to top, rgb(242 242 242) 0%, rgb(242 242 242) 60%, rgb(242 242 242 / 45%) 100% );
    width: 100%;
    display: flex;
    padding: 35px 0 0 0 !important;
}

#reP-desc.expand #reP-desc-more {
    position: static;
	 background: transparent;
	 padding: 10px 0 0 0;
	 
}
#costsMonth {
    margin: 10px 0;
    font-size: 24px;
    font-weight: 600;
    align-items: flex-start;
    display: flex;
    gap: 5px;
}
.tooltip-trigger {
    font-size: 16px;
	cursor: help;
}

.mobile-w #colorBarLegend.twoCols {
    gap:3px !important;
}

.color-bar-container {
    display: flex;
    width: 100%;
    height: 20px; 
    margin: 15px 0; 
	border-radius:8px;
	background-color: #DDDDDD;
}
.costsCalc {
	display: flex;
	gap:20px;
	flex-direction: row;
	border-radius: 10px;
    padding: 20px 30px;
    border: 1px solid #ccc;
    margin-top: 16px;
}
.costsCalc > div {
    border-right: 1px solid #ccc;
    padding-right: 20px;
}
.mobile-w .costsCalc {
	display: flex;
	gap:0;
	flex-direction: column;
}
.mobile-w .costsCalc > div {
    display: flex;
    align-items: center;
	border-right: none;
}
.mobile-w .costsCalc label {
    width: 150px;
}
#homeCalc  input {
    border: none;
    background: transparent;
    font-size: 14px;
    cursor: pointer;
    padding: 0 0 !important;
    font-family: "Inter", sans-serif;
    font-weight: 600;
}
#legMort {
	font-weight: 600;
}
#homePrice {
	width:80px;
}
#homeDownP {
	width:20px;
	text-align: right;
}
#homeDown {
	margin-left:10px;
}
#homeDown span {
	font-weight: 600;
}
#homeMort {
	width:80px;
}
#homeRate {
	width:20px;
	text-align: right;
}
#homeYears {
	width:20px;
}
.edit #homePrice {
	width:100px;
}
.edit #homeDownP {
	width:40px;
	text-align: right;
}

.edit #homeMort {
	width:100px;
}
.edit #homeRate {
	width:40px;
	text-align: right;
}
.edit #homeYears {
	width:40px;
}
.edit .costsCalc {
    background: #fff;
}
#homeCalc.edit input {
    border: 1px solid #ebeaea;
    background: transparent;
    font-size: 14px;
    cursor: pointer;
    display: block;
    padding: 0 6px !important;
    border-radius: 8px !important;
    font-weight: 500;
    line-height: 40px !important;
    background-color: #FFF;
    white-space: nowrap;
    font-family: "Inter", sans-serif;
    height: 40px;
}

/* Pre-defined colors (you can add more if needed) */
.color-section,
.twoColsItem span:nth-child(1) { background-color: #333333;  }
.color-section:nth-child(1),
.twoColsItem:nth-child(1) span:nth-child(1) { background-color: #34bcac;  }
.color-section:nth-child(2),
.twoColsItem:nth-child(2) span:nth-child(1) { background-color: #be634a;  }
.color-section:nth-child(3),
.twoColsItem:nth-child(3) span:nth-child(1) { background-color: #03a6f1;  }
.color-section:nth-child(4),
.twoColsItem:nth-child(4) span:nth-child(1) { background-color: #beab4a; }
.color-section:nth-child(5),
.twoColsItem:nth-child(5) span:nth-child(1) { background-color: #FFA500;  }
.color-section:nth-child(6),
.twoColsItem:nth-child(6) span:nth-child(1) { background-color: #d879ec;  }

.twoColsItem span:nth-child(1) {
	width:32px;
	height:16px;
	display:flex;
	border-radius:8px;
	margin-right: 10px;
}
.color-section:first-child { border-radius:8px 0 0 8px; }
.color-section:last-child { border-radius:0 8px 8px 0; }

button.showMore,
button.showMore:active {
    padding: 8px 10px !important;
    height: 28px;
    font-size: 12px;
	
}
.showMoreBox {
	display:none;
}
.showMoreBox.show {
	display:block;
}
.remap-chart-block {
	width:100%; 
	height:300px
}
.remap-chart-block.tallBlock {
	height:500px
}
.contactInfo {
	display: flex;
    flex-direction: column;
    border: 1px solid #e8e7e7;
    margin: 0 auto;
    padding: 24px;
    background: #fff;
    border-radius: 16px;
	max-width: 500px;
}
.contactInfo h3 {
	margin-top: 0;
}
.contactInfo h3 {
    margin-top: 0;
	margin-bottom: 0;
}
.agentInfo {
	display: flex;
    margin-bottom: 24px;
    gap: 24px;
    align-items: center;
    background: #f2f2f2;
    padding: 14px;
    border-radius: 10px;
}
.agentInfo p {
	margin:5px 0;
}
.agentInfo p.agentName {
	font-weight: 600;
}
.avatar {
	background: transparent 0 0 no-repeat url(../images/vcard.png);
    width: 60px;
    height: 60px;
    background-size: cover;
}
.contactForm {
	display:flex;
	flex-direction: column;
	max-height: 0;                /* Initially hidden */
	overflow: hidden;             /* Hide overflow */
	transition: max-height 0.5s ease-out; /* Smooth expansion */
}
.contactForm.expand {
	max-height: 500px !important;
	overflow: auto;
}
	
.mobile-h .formBody {
    max-height: 75vh;
    overflow-y: auto;
}
.contactFormAgreement {
    font-size: 13px;
    color: #333;
    margin-top: 10px;
}
.contactFormAgreement a {
    display: inline !important;
    white-space: nowrap !important;
}
.wpforms-container {
	width:100% !important;
	margin-top: 0 !important;
}
.wpforms-field-container  {
	display:flex;
	flex-direction: column;
}
.wpforms-container .wpforms-field {
    margin: 0 !important;
    padding: 5px !important;
	position:relative;
}
.wpforms-container .wpforms-form .wpforms-field-label{
    margin: 5px 0;
	position: absolute;
    top: -7px;
    left: 12px;
    background: #fff;
    padding: 0 5px;
	font-size: 14px;
}
.wpforms-field-container input,
.wpforms-field-container textarea {
    margin: 5px 0;
    width: 100%;
	border: 1px solid #999898;
    border-radius: 5px !important;
}
.wpforms-container textarea.wpforms-field-medium {
    height: 95px  !important;
}
.wpforms-field-container input[type="checkbox"] {
    width: 25px;
	accent-color: #008178;
	margin-right:5px;
}

.wpforms-field-checkbox li {
    display: flex;
    align-items: center;
}
.wpforms-field-checkbox fieldset {
	padding: 0;
	border: none;	
}
.wpforms-label-hide {
	display:none;
}
.wpforms-field-container textarea {
    width: 100%;
    padding: 10px;
    font-family: "Inter", sans-serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-size: 15px;
    line-height: 20px;
}
.wpforms-submit-container button {
    width: 100% !important;
    margin: 10px 0;
    color: #fff !important;
    background-color: #008178 !important;
    border: 1px solid #008178 !important;
	justify-content: center !important;
}
input.wpforms-error,
textarea.wpforms-error {
	border: 1px solid red;
}
em.wpforms-error {
	color: red;
	font-weight:400;
	font-style: normal;
	font-size:12px;
	
}
.formHead {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 20px;
}
.contactInfo .openClose {
    display: none;
	width: 32px;
    float: right;
    align-self: flex-end;
    height: 32px;
    border-radius: 20px !important;
    padding: 3px !important;
    line-height: 24px !important;
    border: 1px solid #333;
}
.mobile-h .sideSticky,
.mobile-h .sideSticky.sticky	{
	display:none;
	height: calc(100vh);
	width: calc(100vw);
	position: fixed;
	left: 0;
	top: 0;
	bottom: 0;
	background-color: #04040478;
	z-index: 30;
}
.mobile-h .contactInfo .openClose {
    display: block;
}
@media only screen and (max-width : 1400px) {
	.reP-gallery-buttons {
		position: absolute;
		bottom: 20px;
		right: 20px;
		width: auto;
		flex-direction:column;
	}

}
@media only screen and (max-width : 960px) {
	.contentPanel {
		display: flex;
		flex-direction: column;
	}
}

@media only screen and (max-width : 680px) {
	
	#reP-gallery {
		display: flex;
	}
	.reP-img {
		display:none;
	}
	.reP-img:first-child {
		display:block;
		height:300px;
		width:100%;
	}
	.contactInfo {
		position: fixed;
		width: calc(100vw - 32px);
		bottom: 0;
		border-radius: 16px 16px 0 0; 
		left: 16px;
		margin: 0;
	}
	.sideSticky,
	.sideSticky.sticky	{
		display:none;
		height: calc(100vh);
		width: calc(100vw);
		position: fixed;
		left: 0;
		top: 0;
		bottom: 0;
		background-color: #04040478;
		z-index: 30;
	}
	.contactInfo .openClose {
		display: block;
	}
}