body {
	font-family: 'Montserrat', sans-serif;
	margin: 0;
}

ul {
	padding: 0;
	margin: 0;
}

a {
	text-decoration: none;
}

li {
	display: inline-block;
}

b, strong {
	font-weight: inherit;
}

a.button {
	background: #C40D02;
	color: white;
	padding: 7px 18px;
	border-radius: 999px;
	display: inline-block;
	font-size: 16px;
	min-width: 83px;
	height: 25px;
	line-height: 25px;
	text-align: center;
}

a.button:hover {
	background: #7E0801;
}

.small-caps, a.button {
	font-variant: small-caps;
}

section {
	padding: 47px 0 57px;
	text-align: center;
	background-color: white;
}

div.center {
	width: 1059px;
	display: inline-block;
}

p {
	text-align: left;
}

h1 {
	font-weight: 300;
	margin: 0;
}

div.dropdown {
	display: inline-block;
	position: relative;
	color: #333;
	font-size: 14px;
	border: solid 1px #cecece;
	width: 366px;
	height: 43px;
	text-align: left;
	background: white;
	cursor: pointer;
}

div.dropdown div.selected {
	padding-top: 12px;
	padding-left: 14px;
	vertical-align: top;
	width: 297px;
	display: inline-block;
}

div.dropdown div.selector {
	height: 100%;
	background: #cd0d02;
	width: 55px;
	display: inline-block;
}

div.dropdown div.selector div {
	border: solid 9px transparent;
	border-top-color: white;
	width: 0;
	height: 0;
	margin-top: 17px;
	margin-left: 18px;
}

div.dropdown ul.options {
	display: none;
	position: absolute;
	width: 311px;
	max-height: 400px;
  	overflow-y: auto;
	border: solid 1px #cecece;
	border-top: none;
	background: white;
	left: -1px;
	top: 100%;
  	margin-top: 1px;
  	z-index: 1;
}

div.dropdown ul.options li {
	display: block;
	padding: 12px 14px;
}

div.overlay {
	display: none;
	top: 0;
	left: 0;
	position: fixed;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.5);
	text-align: center
}

div.overlay div.centered {
	position: absolute;
	background: white;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	max-height: 95%;
	overflow-y: auto;
}

div.overlay div.centered a.close {
	position: absolute;
	top: 6px;
	right: 6px;
}

div.overlay div.centered a.close img {
	width: 30px;
	height: 30px;
}

div.overlay.agents div.centered > h1 {
	padding-top: 30px;
	border-bottom: solid 4px #999999;
	padding-bottom: 22px;
}

div.overlay.agents div.container {
	font-size: 0;
	white-space: nowrap;
}

div.overlay.agents div.agent {
	padding: 20px 22px;
	margin: 0 16px;
	border-bottom: solid 1px #999999;
	text-align: left;
}

div.overlay.agents div.agent:last-child {
	border-bottom: none; 
}

div.overlay.agents div.agent img {
	vertical-align: middle;
	display: inline-block;
	margin-right: 25px;
	/*style to get the image sizes correct.  images should natively be this size*/
	width: 120px;
	/*height: 120px;*/
}

div.overlay.agents div.agent div.info {
	vertical-align: middle;
	display: inline-block;
	color: #333333;
}

div.overlay.agents div.agent h1 {
	font-weight: 700;
	font-size: 18px;
	margin-top: 5px;
	text-align: left;
}

div.overlay.agents div.agent h2 {
	font-size: 14px;
	font-weight: 300;
	padding-bottom: 8px;
	margin-top: 3px;
	text-align: left;
}

div.overlay.agents div.agent p {
	font-size: 14px;
	margin: 5px 0;
	text-align: left;
}

/* Modal frame */
div.overlay.photos div.centered{
  /* keep the whole overlay reasonable */
  max-width: 90vw;
  max-height: 90vh;
  padding: 16px 70px;      /* trim padding */
  overflow: visible;       /* allow arrows to sit slightly outside the photo */
  text-align: center;      /* center the photo box */
}

/* Photo box should shrink-wrap the image */
div.overlay.photos div.photo{
  position: relative;
  display: inline-block;   /* shrink to contents */
  margin: 0 auto;
  padding: 0;
  line-height: 0;          /* kill inline whitespace gaps */
  font-size: 0;
}

/* The image itself */
div.overlay.photos div.photo > img{
  display: block;          /* removes extra bottom gap */
  width: auto;
  height: auto;
  max-width: calc(90vw - 120px);  /* room for modal padding + arrows */
  max-height: 70vh;               /* keep it on screen */
}

/* Arrows – plain text glyphs positioned outside the image */
div.overlay.photos div.photo a.arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  color: #999999;           /* arrow color */
  font-size: 48px;       /* make them larger */
  text-decoration: none;
  cursor: pointer;
  z-index: 5;
  line-height: 1;        /* keep arrows tight */
  padding: 0 4px;        /* small hit area padding */
}

/* Position them outside the photo */
div.overlay.photos div.photo a.left  { left:  -60px; }
div.overlay.photos div.photo a.right { right: -60px; }

/* Hover state */
div.overlay.photos div.photo a.arrow:hover {
  color: #333;           /* slightly darker on hover */
}

#searchPanel {
	display: none;
	width: 780px;
    height: auto !important;
    max-height: none !important;
    overflow: visible; 
	background: #f3f3f3;
	position: absolute;
	top: 59px;
	left: 0;
	right: 0;
	margin: auto;
	z-index: 1;
	border: solid 1px #636363;
	padding: 34px 89px 26px;
	box-sizing: border-box;
	text-align: left;
}

#searchPanel::after {
  content: "";
  display: table;
  clear: both;
}

#searchPanel h1 {
	font-weight: 500;
	font-size: 18px;
	color: #333333;
	margin-bottom: 7px;
}

#searchPanel div.criteria {
	display: inline-block;
	vertical-align: top;
}

#searchPanel div.typearea {
	width: 250px;
}

#searchPanel div.type {
	margin-bottom: 30px;
}

#searchPanel div.area {
	margin-bottom: 30px;
}

#searchPanel div.misc {
	/* width: 350px; */
}

#searchPanel div.price {
	margin-bottom: 30px;
}

#searchPanel div.acreage {
	margin-bottom: 30px;
}

#searchPanel div.residential > div {
	margin-bottom: 11px;
}

#searchPanel div.residential div h1 {
	font-size: 14px;
	margin-top: 8px;
	margin-bottom: 12px;
}


#searchPanel div.dropdown {
	font-size: 14px;
	width: 159px;
	height: 27px;
	margin-right: 6px;
	font-size: 12px;
}

#searchPanel div.dropdown .selected {
	padding-top: 6px;
	padding-left: 9px;
	width: 122px;
}

#searchPanel div.dropdown .selector {
	background: #777777;
	width: 28px;
}

#searchPanel div.dropdown .selector div {
	border: solid 5px transparent;
  border-bottom-color: white;
  margin-top: 2px;
  margin-left: 9px;
}

#searchPanel div.dropdown .selector div:last-child {
	border-bottom-color: transparent;
	border-top-color: white;
	margin-top: 3px;
}

#searchPanel div.dropdown ul.options {
	width: 131px;
}

#searchPanel div.dropdown ul.options li {
	padding: 6px 9px;
}

#searchPanel div.go {
	margin-top: 10px;
	text-align: center;
	border-top: solid 1px #636363;
	padding-top: 24px;
}
