/*
@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,300;0,9..144,400;0,9..144,500;0,9..144,600;0,9..144,700;1,9..144,300;1,9..144,400;1,9..144,500&family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;0,9..40,600;0,9..40,700;1,9..40,300;1,9..40,400&display=swap');
*/
:root {
	--cbs-blue: #1B3A6B;
	--cbs-blue-dark: #122850;
	--cbs-blue-light: #2A5298;
	--cbs-orange: #E8621A;
	--cbs-orange-light: #F07A3A;
	--cbs-orange-pale: #FDF0E8;
	--cbs-bg: #FAF8F5;
	--cbs-surface: #FFFFFF;
	--cbs-foreground: #1C1917;
	--cbs-muted: #6B7280;
	--cbs-border: #E5DDD5;
	--cbs-border-light: #F0EBE4;

	--orange-shadow: rgba(232, 98, 26, 0.25);
	--shadow-color: rgba(0, 0, 0, 0.1);
	--blue: rgba(27, 58, 107);
}

html {
  	scroll-behavior: smooth;
}

@media (prefers-reduced-motion: no-preference) {
	html {
		scroll-behavior: smooth;
	}
}

body {
	font-family: 'DM Sans', sans-serif;
	background-color: var(--cbs-bg);
	color: var(--cbs-foreground);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	min-height: 100vh;
	display: flex;
	flex-direction: column;
}

.page-content {
	flex: 1;
}

.fraunces-font {
	font-family: 'Fraunces', serif;
	font-variation-settings: 'opsz' 144, 'WONK' 1;
	will-change: auto;
}

a, a:link, a:visited, a:hover { text-decoration: none !important; }

.master-width {max-width: 1280px; margin: 0 auto; padding: 0 1.5rem;}

.basic-section { background-color: var(--cbs-bg); }
.blue-section { background-color: var(--cbs-blue); }
.blue-striped-section { 
	opacity: 0.04;
	background-image: repeating-linear-gradient(45deg, #fff 0, #fff 1px, transparent 0, transparent 50%);
	background-size: 20px 20px;
}

.section-image {width:100%;height:auto;border-radius: 3px;}
.right-align {float:right;margin:0 0 5px 5px;width:30%;height:auto;text-align:center;font-size:11px;line-height:13px;}
.left-align {float:left;margin:0 5px 5px 0;width:30%;height:auto;text-align:center;font-size:11px;line-height:13px;}
.larger {font-size:18px;}
.alert {padding: 0px; color: #ff7e00; font-weight: 700;}

h2 {
  font-size: 28px;
  font-weight: 700;
  margin: 10px 0 4px 0;
  padding: 0;
  text-align: left;
}
h5 {
  color: var(--cbs-orange);
  font-size: 18px;
  margin: 0 0 14px 0;
  padding: 0;
  font-weight: 900;
}

.sm-shadow {
	box-shadow:  var(--shadow-color) 0px 1px 2px 0px;
}

.lg-shadow {
	box-shadow: var(--shadow-color) 0 10px 15px -3px, var(--shadow-color) 0 4px 6px -4px;
}

/* Availability badge pulse */
@keyframes availability-pulse {
	0%, 100% { opacity: 1; }
	50% { opacity: 0.5; }
}

.availability-pulse {
	will-change: opacity;
	transform: translateZ(0);
  	animation: availability-pulse 2s ease-in-out infinite;
}


.bg-cbs-bg {
  background-color: rgb(250 248 245/1);
}

.section-name {
	color: var(--cbs-orange);
	font-size: 0.75rem;
	line-height: 1rem;
	letter-spacing: .3em;
	font-weight: 700 !important;
	margin-bottom: .5rem !important;
	text-transform: uppercase;
}

.section-title {
	font-family: 'Fraunces', serif;
	font-variation-settings: 'opsz' 144, 'WONK' 1;
	font-size: 3rem;
	line-height: 1;
	letter-spacing: -.025em;
	font-weight: 500 !important;
	letter-spacing: -.025em;
}

.section-title span {
	font-weight: 400 !important;
	font-style: italic !important;
}


select {
 -webkit-appearance: none;  /*REMOVES DEFAULT CHROME & SAFARI STYLE*/
 -moz-appearance: none;  /*REMOVES DEFAULT FIREFOX STYLE*/
 appearance: none;
 border: 0 !important;  /*REMOVES BORDER*/
 background-color: #FFF;
 color: #939598;
 -webkit-border-radius: 3px;
 border-radius: 3px;
 width: 100%;
 cursor: pointer;
 background: #FFF url(../images/drop-down-arrow.png) no-repeat right 10px center;
 background-size: 40px 25px 50%; /*TO ACCOUNT FOR @2X IMAGE FOR RETINA */	
 font-weight: 400;
}

select.search-select {
	padding: 9px 15px 9px 15px;
	font-size: 17px;
}

div#portrait-detail-photo-slider{display:none;}
div#main-detail-photo-slider-wrapper .liquid-slider {width:100%;max-width:100%;height:400px; }
div#main-detail-photo-slider-wrapper .ls-panel {width:100%;max-width:100%;height:425px;}


.photo-property { display:block;width:23.8%; float:left; margin-left:1.6%; margin-bottom:1.2%;}
.photo-property img { width:100%; max-height: 178px; min-height:178px;}
.photo-main { display:block; width:49.2%; float:left;  }
.photo-main img { width:100%; max-height: 374px; min-height:374px;}


 /* Filter toggle */
  .filter-group {
    display: flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0.25rem;
    border-radius: 999px;
    background-color: #f0eeea;
    border: 1px solid var(--cbs-border);
  }

.filter-btn {
	padding: 0.5rem 1.25rem;
	border-radius: 999px;
	font-size: 0.875rem;
	font-weight: 600;
	border: none;
	background: transparent;
	cursor: pointer;
	transition: all 0.2s ease;
	min-width: 65px;
}

.filter-btn.active:hover {
	color: #fff;
}

.filter-btn.blue-filter-btn {
	color: var(--cbs-muted);
}

.filter-btn.blue-filter-btn.active {
	background-color: var(--cbs-blue);
	color: #fff;
	box-shadow: 0 1px 3px rgba(0,0,0,0.15);
}

.filter-btn.orange-filter-btn {
	color: var(--cbs-muted);
}

.filter-btn.orange-filter-btn.active {
	background-color: var(--cbs-orange);
	color: #fff;
	box-shadow: 0 1px 3px rgba(0,0,0,0.15);
}

.filter-btn:hover {
	color: var(--cbs-foreground);
}



/* styles for responsive video  */
.embed-container { 
	position: relative; 
	padding-bottom: 56.25%; 
	height: 0; 
	overflow: hidden; 
	max-width: 100%; 
	height: auto; } 
	
.embed-container iframe, .embed-container object, .embed-container embed { 
	position: absolute; 
	top: 0; 
	left: 0; 
	width: 100%; 
	height: 100%; }


/* xs only — < 576px */
@media (max-width: 575.98px) {
.sm-100 { width: 100%; }
}

/* ------------------------------------------------------------
   SM — Small  |  ≥ 576px  |  phones (landscape)
   ------------------------------------------------------------ */
@media (min-width: 576px) {
.md-100 { width: 100%; }
}


/* ------------------------------------------------------------
   MD — Medium  |  ≥ 768px  |  tablets
   ------------------------------------------------------------ */
@media (min-width: 768px) {
.sm-100 { min-width: 2px; }
}


/* ------------------------------------------------------------
   LG — Large  |  ≥ 992px  |  desktops
   ------------------------------------------------------------ */

@media (min-width: 992px) {
.md-100 { min-width: 2px;}
}


/* ------------------------------------------------------------
   XL — Extra Large  |  ≥ 1200px  |  wide desktops
   ------------------------------------------------------------ */

@media (min-width: 1200px) {

}


/* ------------------------------------------------------------
   XXL — Extra Extra Large  |  ≥ 1400px  |  ultra-wide
   ------------------------------------------------------------ */

@media (min-width: 1400px) {

}



