/********************************************
				WSD BASECODE
	Responsive Layout - Mobile First
*********************************************/

/***** DEMO SITE WEBFONT - REMOVE FOR CLIENT SITES *****/
@import url(https://fonts.googleapis.com/css?family=Roboto+Slab:300,400);

/******** BROWSER CSS RESET *************************/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend, caption,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
	/*** Include Padding/Borders in width for all elements ***/
	box-sizing: border-box;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section { display: block; }
ol, ul { list-style: none; }
blockquote, q { quotes: none; }
blockquote:before, blockquote:after,
q:before, q:after { content: none; }
table { border-collapse: collapse; border-spacing: 0; }
/* Responsive images & embedded objects (remove for image cropping) */
img, object, embed { max-width: 100%; }

/****** GLOBAL ELEMENT CSS ******/
html * { max-height: 999999px; } /* Android mobile font sizing fix */

body {
	line-height: normal;
	font-size: 18px;
	font-family: Arial, Helvetica, sans-serif;
	background: #f9f9f9;
	-webkit-text-size-adjust: none;
}

body, select, input, textarea { color: #000; }

ins { background-color: #fcd700; color: #000; text-decoration: none; }
mark { background-color: #fcd700; color: #000; font-style: italic; font-weight: bold; }

h1, h2, h3, h4, h5, h6 {
	margin: 0px 0px 20px;
	color: #000;
	line-height: 1.1em;
	font-family: 'Roboto Slab', Arial, sans-serif;
}
h1 { font-size: 28px; }
h2 { font-size: 24px; }
h3 { font-size: 22px; }
h4, h5, h6 { font-size: 20px; }

a, a:visited { color: #666; text-decoration: none; }
a:hover, a:active { color: #888; text-decoration: underline; }
a:link { -webkit-tap-highlight-color: initial; }

p { margin: 0px 0px 20px; }
img { height:auto; }

b, strong { font-weight: bold; }
i, em { font-style: italic; }

.clear { clear: both; }
.clearfix::after { content:''; clear:both; display:table; }

/*** Basic List Styling ***/
ul {
	margin: 0px 0px 20px;
	padding: 0 0 0 20px;
	list-style-type: disc;
	list-style-position: outside;
}
ul li { margin-bottom: 5px; }
ul li ul li { margin-top: 5px; }
ul li ol li { margin-top: 5px; }

ol {
	margin: 0px 0px 20px;
	padding: 0px 0px 0px 20px;
	list-style-type: decimal;
	list-style-position: outside;
}
ol li { margin-bottom: 5px; }
ol li ol li { margin-top: 5px; }
ol li ul li { margin-top: 5px; }



/*** Blockquote ***/
/*genric styles for blockquote in content*/
blockquote {
  background: #f9f9f9;
  border-left: 10px solid #ccc;
  margin: 1.5em 10px;
  padding: 0.5em 10px;
  quotes: "\201C""\201D""\2018""\2019";
}
blockquote:before {
  color: #ccc;
  content: open-quote;
  font-size: 4em;
  line-height: 0.1em;
  margin-right: 0.25em;
  vertical-align: -0.4em;
}
blockquote p {
  display: inline;
}


/*** CKEditor Image Alignment Classes ***/
.align-left {
	margin: 0px 15px 15px 0px;
    float: left;
}
.align-right {
	margin: 0px 0px 15px 15px;
    float: right;
}
.align-center { text-align: center; }
.align-center > figure { display: inline-block; }


/****** FRONTEND LAYOUT ******/
#page {
	margin: 0px auto;
	width: 100%;
	min-width: 480px;
	max-width: 1120px;
	position: relative;
	background: #fff;
    box-shadow: 0 0 5px #aaa;
}

/*** Header ***/
#header {
	margin: 0px auto;
	padding: 20px;
	position: relative;
	/*make this 100% for full bleed*/
	max-width: 1400px;
}

#header-wrapper {
	border-bottom: 2px solid #666;
	background: #e9e9e9;
}

#logo {
	display: block;
	float: left;
	padding: 0px;
	font-family: 'Roboto Slab', Arial, sans-serif;
	font-weight: 300;
	font-size: 36px;
	color: #000;
	text-decoration: none;
}

#searchBtn {
	display: block;
	float: right;
	margin: 4px 10px 0px;
	padding: 7px;
	width: 40px;
	height: 40px;
	font-weight: bold;
	text-indent: -9999px;
	background: #999 url('../images/iconSearch.png') no-repeat center center;
	background-size: 90% 90%;
}
#searchBtn.open { background-color: #7f7f7f; }

#header .searchBox {
	display: none;
	position: absolute;
	left: 0px;
	top: 100%;
	z-index: 9998;
	margin: 2px 0px 0px;
	padding: 20px 0px;
	width: 100%;
	text-align: center;
	background: #999;
	border-bottom: 2px solid #666;
}
#header .searchBox input[type=text] {
	width: 300px;
	height: 28px;
	font-size: 1em;
	padding: 5px;
	border-radius: 0px;
	border: none;
	-webkit-appearance: none;
}
#header .searchBox input[type=submit] {
	padding: 10px 20px;
	color: #fff;
	font-size: 1.2em;
	font-weight: bold;
	border: none;
	border-radius: 0px;
	-webkit-appearance: none;
	background: #7f7f7f;
}
#header .searchBox input[type=submit]:hover { background: #666; }

#header .loginBox { display: none; }

/*** Main Menu ***/
#nav-wrapper {
	background: #999;
	border-bottom: 2px solid #666;
}

#menuBtn { width:40px; height:40px; display:block; margin:15px; cursor:pointer; position:relative; border:none; float:left; background:transparent; }

#menuBtn svg:first-child { position:absolute; top:10px; left:0; width:100%; height:4px; transition:0.2s linear all; fill: #000; }
#menuBtn svg:nth-child(2n) { position:absolute; top:18px; left:0; width:100%; height:4px; transition:0.2s linear all; fill: #000; }
#menuBtn svg:last-child { position:absolute; top:26px; left:0; width:100%; height:4px; transition:0.2s linear all; fill: #000; }

#menuBtn.open svg:first-child { transform: rotate(45deg); top:18px; }
#menuBtn.open svg:nth-child(2n) { opacity:0; }
#menuBtn.open svg:last-child { transform: rotate(-45deg); top:18px; }

#mainmenu {
	display: none;
	position: absolute;
	z-index: 9999;
	width: 100%;
	text-align: center;
	margin: 0 auto;
	/*make this 100% for full bleed*/
	max-width: 1400px;
	background: #999;
}
#mainmenu ul {
	margin: 0px auto;
	padding: 0px;
	list-style-type: none;
}
#mainmenu ul li {
	margin: 0px;
	float: none;
	border-left: none;
	border-top: 1px solid #aaa;
}
#mainmenu ul li:first-child { border-top: none; }
#mainmenu ul li a {
	display: block;
	padding: 15px 20px;
	color: #fff;
	font-size: 22px;
	text-decoration: none;
	background-color: transparent;
}
#mainmenu ul li:hover > a, #mainmenu ul li:active > a  {
	background-color: #7f7f7f;
}
#mainmenu ul li > ul { display: none; }
#mainmenu ul li:hover > ul { display: none; }



/*** Content Area ***/
#content {
	clear: both;
	margin: 0px;
    padding: 20px;
	min-height: 520px;
	line-height: 1.3em;
}
.featuredImg {
	display: block;
	margin: -20px -20px 20px;
	height: auto;
	max-height: 300px;
	overflow: hidden;
}
.featuredImg img {
	display: block;
	width: 100%;
}

#sidebar {
	float: none;
	width: auto;
	margin: 30px 0px 0px;
	padding: 30px 0px 0px;
	border-right: none;
	border-top: 1px solid #ccc;
}

#main {
	float: none;
	width: auto;
	margin: 0px;
	padding: 0px;
}

/*** Footer ***/
#footer-wrapper {
	background: #e9e9e9;
	border-top: 2px solid #666;
}
#footer {
	padding: 20px;
	margin: 10px auto;
	color: #333;
	font-size: 16px;
	text-align: center;
	/*make this 100% for full bleed*/
	max-width: 1400px;
}
#footer #social { margin: 0px auto 20px; }
#footer #social a {
	margin: 0px 3px;
	display: inline-block;
	width: 40px;
	height: 40px;
	text-indent: -9999px;
	border-radius: 9999px;
	background-image: url('../images/socialSprite.png');
	background-size: 160px 40px;
	background-repeat: no-repeat;
	background-color: #666;
}
#footer #social a.fb { background-position: 0px 0px; }
#footer #social a.fb:hover { background-color: #3b5998; }
#footer #social a.tw { background-position: -40px 0px; }
#footer #social a.tw:hover { background-color: #00aced; }
#footer #social a.li { background-position: -80px 0px; }
#footer #social a.li:hover { background-color: #0e76a8; }
#footer #social a.gp { background-position: -120px 0px; }
#footer #social a.gp:hover { background-color: #d34836; }

#footmenu { display: none; }

/****** HOMEPAGE ******/
.homepage { }

.homepage #content {
	padding: 0;
}
.homepage .homeWrap {
	max-width: 1400px;
	margin: 0 auto;
	padding: 20px;
} /* for table display of homepage columns on desktop */

/* Homepage Content */
.homeContent {
	float: none;
	margin: 0px 0px 30px;
	width: auto;
}

/* Homepage Contact */
.homeContact {
	float: none;
	margin: 0px 0px 30px;
	padding: 30px 0px 0px;
	border-top: 1px solid #ccc;
	width: auto;
}

/*** Homepage Featured Properties Slideshow ***/
.featuredProperties {
	float: none;
	margin: 0px;
	padding: 30px 0px 0px;
	border-top: 1px solid #ccc;
	width: auto;
}
.featuredProperties ul {
	margin: 0px;
	padding: 0px;
	list-style-type: none;
}
.featuredProperties ul li {
	margin: 0px;
	padding: 0px;
}
.featuredProperties ul li img {
	display: block;
	margin: 0px 0px 20px;
	width: 100%;
	height: auto;
}
.featuredProperties ul li h3 { margin: 0px 0px 5px; }



/*** Banner Overlay ***/
.homepage #overlay {
	width: 100%;
	background: rgba(51, 51, 51, 0.75) url("") no-repeat;
	padding: 30px;
	position: relative;
	right: 0;
	top: 0;
	display: block;
	color: #fff;
}

.homepage #overlay p {
	color: #fff;
	font-size: 16px;
	font-weight: 300;

}

.homepage #overlay p a {
	color: #fff;
	font-weight: 400;
	text-decoration: underline;
}



/****** FORMS STYLING ******/
div.form {
	margin: 0px auto;
	max-width: 600px;
}
div.form label {
	display: block;
	font-weight: normal;
}
div.form input,
div.form textarea,
div.form select {
	box-sizing: border-box;
	margin: 5px 0px;
	font-size: 100%;
}
div.form fieldset {
	border: 1px solid #aaa;
	padding: 10px;
	margin: 0px 0px 10px;
}
div.form input[type=text],
div.form input[type=number],
div.form input[type=password] {
	padding: 4px;
	width: 100%;
	max-width: 600px;
	height: 30px;
	border: 1px solid #aaa;
	border-radius: 0px;
	-webkit-appearance: none;
}
div.form textarea {
	padding: 4px;
	width: 100%;
	max-width: 600px;
	height: 120px;
	resize: none;
	border: 1px solid #aaa;
	border-radius: 0px;
	-webkit-appearance: none;
}
div.form select {
	padding: 4px;
	width: 100%;
	max-width: 600px;
	height: 30px;
	border: 1px solid #aaa;
	border-radius: 0px;
}
div.form .note {
	font-size: .9em;
	font-style: italic;
}
div.form span.required { color: red; }
div.form .row { margin: 0px 0px 10px; }
div.form .row.checkbox,
div.form .row.radio {  }
div.form .row.checkbox label,
div.form .row.radio label {
	float: none;
	padding: 0px;
	display: inline-block;
	width: auto;
}
div.form .row.recaptcha {  }
div.form .row.buttons { text-align: center; }
div.form input[type=submit] {
	padding: 10px 40px;
	color: #fff;
	font-size: 20px;
	font-weight: bold;
	border: none;
	border-radius: 0px;
	-webkit-appearance: none;
	background: #7f7f7f;
	box-shadow: none;
	cursor:pointer;
}
div.form input[type=submit]:hover,
div.form input[type=submit]:active { background: #666; }

/*** Form Errors ***/
div.form div.error label,
div.form label.error,
div.form span.error {
	color: #C00;
}
div.form div.error input,
div.form div.error textarea,
div.form div.error select,
div.form input.error,
div.form textarea.error,
div.form select.error {
	background: #FEE;
	border-color: #C00;
}
div.form .errorSummary {
	border: 2px solid #C00;
	padding: 10px;
	margin: 0px 0px 20px;
	background: #FEE;
}
div.form .errorMessage { color: red; }
div.form .errorSummary p { margin: 5px; }
div.form .errorSummary ul {
	margin: 0px;
	padding: 0px 0px 0px 20px;
}



/***** SEARCH RESULTS PAGE *****/
.results { }
.results #content .searchBox {
	margin: 0px 0px 20px;
}
.results #content .searchBox input[type=text] {
	width: 300px;
	height: 28px;
	font-size: 1em;
	padding: 4px;
	border-radius: 0px;
	border: 1px solid #ccc;
	-webkit-appearance: none;
}
.results #content .searchBox input[type=submit] {
	padding: 5px 10px;
	color: #fff;
	font-size: 1.2em;
	font-weight: bold;
	border: none;
	border-radius: 0px;
	-webkit-appearance: none;
	background: #7f7f7f;
}
.results #content .searchBox input[type=submit]:hover { background: #666; }
.results .resultSet {
	margin: 0px 0px 20px;
	padding: 20px 0px 0px;
	border-top: 1px solid #ccc;
}
.results .resultSet .resultList {
	margin: 0px;
	padding: 0px;
	list-style-type: none;
}
.results .resultSet .resultList li { margin: 0px 0px 20px; }
.results .resultSet .resultList li img {
	float: left;
	margin: 0px 20px 20px 0px;
	width: 100px;
}
.results .resultSet .resultList li h4 { margin: 0px 0px 5px; }
.results .resultSet .resultList li p.date { margin: 0px 0px 10px; }


/***** BREADCRUMBS *****/
#breadcrumbs-wrapper {
	border-bottom: 1px solid #aaa;
	background: #e9e9e9;
}
ul.breadcrumbs {
	margin: 0px auto;
	padding: 5px 10px;
	color: #666;
	font-size: 14px;
	list-style-type: none;
	max-width: 1400px;
}
ul.breadcrumbs li {
	display: inline;
	margin: 0px;
	padding: 0px 0px 0px 5px;
}
ul.breadcrumbs li.active { background: none; }
ul.breadcrumbs li a { text-decoration: underline; color: #666; }




/********************** MODULE-SPECIFIC STYLES ***********************/
/* Feel free to remove all styles for modules that aren't being used.*/

/*** Photo Thumbnails Slider/Carousel ***/
.thumbsPrev,
.thumbsNext {
	position: absolute;
	top: 0px;
	width: 30px;
	height: 100px;
	font-size: 42px;
	line-height: 94px;
	text-align: center;
	color: #333;
	text-decoration: none;
	background-color: #ddd;
}
.thumbsPrev:hover, .thumbsPrev:active,
.thumbsNext:hover, .thumbsNext:active {
	color: #fff;
	background-color: #666;
	text-decoration: none;
}
.thumbsPrev { left: 0px; }
.thumbsNext { right: 0px; }
.thumbsCarousel {
	margin: 0px;
	position: relative;
    overflow: hidden;
}
.thumbsCarousel ul {
	width: 20000em;
    position: relative;
	list-style-type: none;
	padding: 0px;
	margin: 0px;
}
.thumbsCarousel ul li {
	float: left;
	margin: 0px 10px 0px 0px;
}
.thumbsCarousel ul li img {
	display: block;
	width: auto;
	height: 100px;
	cursor: pointer;
}
.thumbsCarousel ul li img.activeImg { opacity: 0.6; cursor: default; }

/****** REALTY / REAL ESTATE MODULE ******/
/*** Property Categories / Project Categories / Locations Listing ***/
.categories,
.locations {
	list-style-type: none;
	margin: 0px;
	padding: 0px;
}
.categories li,
.locations li {
	float: left;
	margin: 0px 2.5% 20px;
	width: 45%;
	height: auto;
	text-align: center;
}
.categories li img,
.locations li img {
	display: block;
	margin: 0px 0px 5px;
	width: 100%;
	height: auto;
}

/*** Location Detail Page ***/
.locationDetail .locImg {
	display: block;
	width: 100%;
	margin: 0px 0px 20px;
}

/*** Property Listings ***/
.propertiesList {
	list-style-type: none;
	margin: 0px;
	padding: 0px;
}
.propertiesList li {
	margin: 0px 0px 20px;
	padding: 0px 0px 20px;
	border-bottom: 1px solid #ccc;
	clear: both;
}
.propertiesList li h3 { margin: 0px 0px 5px; }
.propertiesList li img {
	float:left;
	margin: 0px 20px 10px 0px;
	width: 50%;
	max-width: 400px;
	height: auto;
}

/*** Property Detail Pages ***/
.propertyDetail #photos { margin: 0px 0px 30px; }
.propertyDetail #photos #ftrImg {
	width: 100%;
	overflow: hidden;
	height: 400px;
}
.propertyDetail #photos #ftrImg img {
	display: block;
	margin: 0px auto;
	max-width: none;
	height: 400px;
}
.propertyDetail #photos #thumbs {
	margin: 20px 0px 0px;
	padding: 0px 40px;
	position: relative;
}
.propertyDetail #details { margin: 0px 0px 30px; }
.propertyDetail #description {
	padding: 30px 0px 0px;
	border-top: #ddd 1px solid;
}


/****** PROJECTS MODULE ******/
/*** Project Listing Page ***/
.projectsList {
	list-style-type: none;
	margin: 0px;
	padding: 0px;
}
.projectsList li {
	margin: 0px 0px 20px;
	padding: 0px 0px 20px;
	border-bottom: 1px solid #ccc;
}
.projectsList h3 { margin: 0px 0px 5px; }
.projectsList li img {
	float:left;
	margin: 0px 20px 10px 0px;
	width: 50%;
	max-width: 400px;
	height: auto;
}

/*** Project Detail Pages ***/
.projectsModule.detail #photos { margin: 0px 0px 30px; }
.projectsModule.detail #photos #ftrImg {
	width: 100%;
	overflow: hidden;
	height: 400px;
}
.projectsModule.detail #photos #ftrImg img {
	display: block;
	margin: 0px auto;
	max-width: none;
	height: 400px;
}
.projectsModule.detail #photos #thumbs {
	margin: 20px 0px 0px;
	padding: 0px 40px;
	position: relative;
}
.projectsModule.detail #details { margin: 0px 0px 30px; }
.projectsModule.detail #description {
	padding: 30px 0px 0px;
	border-top: #ddd 1px solid;
}


/****** COMPANY MODULE / LEGAL MODULE ******/
/*** Team / Attorneys / Locations Listing Pages ***/
.teamList .team,
.legalModule .team, .legalModule ul.practiceAreas,
.locationList .company {
	list-style-type: none;
	margin: 0px;
	padding: 0px;
}
.teamList .team li,
.legalModule .team li,
.locationList .company li {
	margin: 0px 0px 20px;
	padding: 0px 0px 20px;
	border-bottom: 1px solid #ccc;
}
.teamList .team li h3,
.legalModule .team li h3,
.locationList .company li h3 { margin: 0px 0px 5px; }
.teamList .team li img,
.legalModule .team li img {
	float:left;
	margin: 0px 20px 0px 0px;
	width: 200px;
	height: 200px;
}
.locationList .company li img {
	float:left;
	margin: 0px 20px 0px 0px;
	width: 330px;
	height: 250px;
}

/*** Team / Attorney Detail Page ***/
.teamDetail img,
.legalModule.detail img {
	float: left;
	width: 200px;
	margin: 0px 20px 20px 0px;
}


/****** NEWS MODULE ******/
/*** News Listing Pages ***/
.newsListings {
	margin: 0px;
	padding: 0px;
	list-style-type: none;
}
.newsListings li { margin: 0px 0px 40px; }
.newsListings li img {
	float: left;
	margin: 0px 20px 10px 0px;
	width: 120px;
}
.newsListings li h2 {
	margin: 0px 0px 2px;
	font-size: 22px;
	line-height: 1.1em;
}
.newsListings li .date {
	margin: 0px 0px 10px;
	font-style: italic;
}



/*** News Detail Pages ***/
.newsModule.detail h1 { margin: 0px 0px 10px; }
.newsModule.detail img {
	float: right;
	max-width: 50%;
	margin: 0px 0px 20px 20px;
}
.newsModule.detail .tags {
	padding: 15px 0px 0px;
	font-size: 0.9em;
	border-top: 1px solid #ddd;
}
.newsModule.detail .tags a::after {
	content: ','
}

.newsModule ul.newsCategories {
	list-style-type: none;
}

/****** EVENTS MODULES ******/
/*** Events Listing Pages ***/
.eventListings {
	margin: 0px;
	padding: 0px;
	list-style-type: none;
}
.eventListings li { margin: 0px 0px 30px; }
.eventListings li img {
	float: left;
	margin: 0px 20px 0px 0px;
	width: 120px;
}
.eventListings li .desc { margin: 0px 0px 0px 140px; }
.eventListings li .date {
	margin: 0px 0px 5px;
	font-weight: bold;
}
.eventListings li h2 {
	margin: 0px 0px 10px;
	font-size: 22px;
	line-height: 1.1em;
}

/*** Events Detail Pages ***/
.eventsModule.detail img {
	float: right;
	max-width: 50%;
	margin: 0px 0px 20px 20px;
}

/****** CMS MODULE (IMAGE GALLERIES/VIDEOS/SUBPAGES/FAQ) ******/
/*** Image Gallery Listing ***/
.gallery {
	margin: 0px 2.5% 30px;
	padding: 0px;
	float: left;
	width: 45%;
	height: auto;
	text-align: center;
	overflow: hidden;
}
.gallery .frame {
	display: block;
	margin: 0px 0px 10px;
	width: 100%;
	height: 0;
	padding: 100% 0px 0px;
	position: relative;
	overflow: hidden;
}
.gallery .frame a {
	display: block;
	position: absolute;
	top: 0px;
	left: 0px;
	margin: 0px -25%;
	width: 150%;
	height: 100%;
	overflow: hidden;
}
.gallery img {
	display: block;
	margin: 0px auto;
	max-width: none;
	height: 100%;
}
.gallery h3 { margin: 0px 0px 5px; }
.gallery h3 a { text-decoration: none; }
.gallery p { margin: 0px 0px 10px; }

/*** Image Gallery Page ***/
.photos { margin: 0px -6px; }
.photos .thumb {
	margin: 0px 6px 20px;
	padding: 0px;
	float: left;
	width: 180px;
	height: 210px;
	font-size: 14px;
	text-align: center;
	overflow: hidden;
}
.photos .thumb .frame {
	display: block;
	width: 180px;
	height: 180px;
	margin: 0px 0px 8px;
	overflow: hidden;
	background: #666;
}
.photos .thumb .frame a {
	display: block;
	margin: 0px -100px;
	width: 380px;
	height: 180px;
	overflow: hidden;
	background: #ccc;
}
.photos .thumb .frame img {
	display: block;
	max-width: none;
	height: 180px;
	margin: 0px auto;
}

/*** Videos Listing Page ***/
.videoLink {
	margin: 0px 2.5% 30px;
	padding: 0px;
	float: left;
	width: 45%;
	height: auto;
	text-align: center;
	overflow: hidden;
}
.videoLink .frame {
	display: block;
	margin: 0px 0px 10px;
	width: 100%;
	height: 0;
	padding: 56.25% 0px 0px; /* maintain 16:9 video aspect ratio */
	position: relative;
	overflow: hidden;
	background: #666;
}
.videoLink a.frame img {
	display: block;
	position: absolute;
	top: 0px;
	left: 0px;
	margin: 0px;
	width: 100%;
	height: 100%;
}
.videoLink h3 { margin: 0px 0px 5px; }
.videoLink h3 a { text-decoration: none; }
.videoLink p { margin: 0px 0px 10px; }

/*** Videos Detail Page ***/
.mediaVideoDetail .video {
	display: block;
	margin: 0px 0px 20px;
	width: 100%;
	height: 0;
	padding: 56.25% 0px 0px; /* maintain 16:9 video aspect ratio */
	position: relative;
	overflow: hidden;
	background: #666;
}
.mediaVideoDetail .video iframe,
.mediaVideoDetail .video embed {
	display: block;
	position: absolute;
	top: 0px;
	left: 0px;
	margin: 0px;
	width: 100%;
	height: 100%;
	border: none;
}

/*** Subpage Listings ***/
.subpages {
	margin: 0px;
	padding: 0px;
	list-style-type: none;
}
.subpages li {
	float: left;
	margin: 0px 2.5% 20px;
	width: 45%;
	height: auto;
	text-align: center;
}
.subpages li img {
	display: block;
	margin: 0px 0px 5px;
	width: 100%;
	height: auto;
}

/*** Subpage Detail ***/
.subpageDetail .subImg {
	display: block;
	width: 100%;
	margin: 0px 0px 20px;
}

/****** STORE MODULE ******/
/*** Product Listing / Categories Pages ***/
.storeModule .productCategories { margin: 0px 0px 20px; }
.storeModule .product {
	margin: 0px 2% 30px;
	padding: 10px;
	width: 46%;
	height: auto;
	border: 1px solid #eee;
	display: inline-block;
	vertical-align: top;
}

.storeModule .product:nth-child(2n-1) {
	margin: 0px 0 30px 2%;
}

.storeModule .product img {
	display: block;
	margin: 0px auto 15px;
	max-width: 240px;
	max-height: 150px;
}
.storeModule .product h3 {
	margin: 0px 0px 10px;
	font-weight: bold;
}
.storeModule .product p,
.storeModule .product div { margin: 0px 0px 10px; }
.storeModule .product .price { font-weight: bold; }
.storeModule a.addToCart {
	display: inline-block;
	padding: 2px 10px;
	background: #999;
	color: #fff;
	text-decoration: none;
}
.storeModule a.addToCart:hover, .storeModule a.addToCart:active { background: #666; }

/*** Products Detail Page ***/
.productDetail #photos { margin: 0px 0px 30px; }
.productDetail #photos #ftrImg {
	width: 100%;
	overflow: hidden;
	height: 400px;
}
.productDetail #photos #ftrImg img {
	display: block;
	margin: 0px auto;
	max-width: none;
	height: 400px;
}
.productDetail #photos #thumbs {
	margin: 20px 0px 0px;
	padding: 0px 40px;
	position: relative;
}
.productDetail #details { margin: 0px 0px 30px; }
.productDetail #description {
	padding: 30px 0px 0px;
	border-top: #ddd 1px solid;
}
.productDetail #upsells {
	margin: 20px 0px 0px 0px;
	padding: 20px 0px 0px 0px;
	border-top:#ddd 1px solid;
}

/*** Shopping Cart ***/
#cart {
	border: none;
	margin: 0px 0px 20px;
	width: 100%;
}
#cart th, td { padding: 5px 10px; }
#cart thead { margin: 0px; padding: 0px; }
#cart thead tr { margin: 0px; padding: 0px; }
#cart thead tr th { border-left: 1px solid #fff; background: #e9e9e9; }
#cart thead tr th.desc { border-left: none; text-align: left; }
#cart thead tr th.qty { text-align: center; }
#cart thead tr th.price { text-align: right; }
#cart tr.item { border-bottom: 1px solid #ddd; }
#cart tr.item td { padding: 10px; vertical-align: middle; }
#cart tr.item td.img {
	padding: 5px 10px 5px 5px;
	width: 60px;
	text-align: left;
}
#cart tr.item td.img img {
	display: block;
	max-width: 60px;
	height: 60px;
}
#cart tr.item td.desc {  }
#cart tr.item td.qty { width: 120px; text-align: center; }
#cart tr.item td.price { width: 80px; text-align: right; }
#cart tr input[type=button],
#cart tr input[type=submit] {
	padding: 2px 5px;
	color: #fff;
	font-size: 0.8em;
	font-weight: bold;
	border: none;
	border-radius: 0px;
	-webkit-appearance: none;
	background: #7f7f7f;
	box-shadow: 1px 1px 1px #aaa;
}
#cart tr input[type=button]:hover,
#cart tr input[type=submit]:hover { background: #666; }
#cart tfoot { text-align: right; }
#cart tfoot tr { text-align: right; }
#cart tfoot th { text-align: right; }

a.btnCheckout,
a.btnOrder {
	display: block;
	float: right;
	padding: 10px 30px;
	border: 1px solid #666;
	background: #999;
	color: #fff;
	font-weight: bold;
	text-decoration: none;
}
a.btnCheckout:hover, a.btnCheckout:active,
a.btnOrder:hover, a.btnOrder:active { background: #666; }

/*** Checkout ***/
#checkoutSteps {
	margin: 0px auto 20px;
	padding: 0px;
	list-style-type: none;
	font-size: 11px;
}
#checkoutSteps li {
	display: block;
	margin: 0px;
	padding: 0px;
}
#checkoutSteps li.current, .cart h2  { font-weight: bold; }

#checkoutSteps li h2, .cart h2 {
    background: #dbdbdb none repeat scroll 0 0;
    font-size: 24px;
    margin: 0;
    padding: 5px 10px;
}

.checkout .sameAddress { opacity: 0.5; }

/*** Payment Info / Review Order ***/
#billing,
#shipping,
#payment {
	float: left;
	width: 50%;
	margin: 0px 0px 30px;
	padding: 0px 30px 0px 0px;
}
#billing h2,
#shipping h2,
#payment h2 {
	margin: 0px 0px 10px;
	font-weight: bold;
	font-size: 16px;
}


/***************************************************
	DESKTOP LAYOUT BREAKPOINTS
****************************************************/
@media(min-width: 880px) {

	/****** GLOBAL ELEMENT CSS ******/
	body { font-size: 14px; }

	/****** FRONTEND LAYOUT ******/
	#menuBtn { display: none; }
	#searchBtn { display: none; }

	#header .searchBox {
		display: block;
		float: right;
		position: static;
		margin: 8px 0px 0px 20px;
		padding: 0px;
		width: auto;
		text-align: right;
		border: none;
		background: none;
	}
	#header .searchBox input[type=text] {
		width: 200px;
		height: auto;
		padding: 4px;
		border: 1px solid #aaa;
	}
	#header .searchBox input[type=submit] {
		font-size: 1em;
		padding: 5px 10px;
	}

	#header .loginBox {
		display: block;
		margin: 14px 0px 0px 20px;
		float: right;
		font-size: 12px;
	}

	/*** Main Menu ***/
	#mainmenu {
		display: block;
		position: static;
		margin: 0px auto;
		text-align: center;
	}
	#mainmenu ul {
		display: -webkit-flex;
		display: flex;
		-webkit-justify-content: space-around;
		justify-content: space-around;
	}
	#mainmenu ul li {
		display: -webkit-inline-flex;
		display: inline-flex;
		position: relative;
		border: none;
		border-left: 1px solid #aaa;
		width: 100%;
		text-align: center;
		margin: 0 auto;
	}
	#mainmenu ul li:first-child { border-left: none; }
	#mainmenu ul li a {
		padding: 10px 12px;
		font-size: 14px;
		width: 100%;
	}
	#mainmenu ul li:hover, #mainmenu ul li:active, #mainmenu ul li.active {
		background-color: #7f7f7f;
	}
	#mainmenu ul li > ul {
		display: none;
		position: absolute;
		margin: 0px;
		padding: 0px;
		left: 0px;
		min-width: 100px;
		z-index: 999;
		background: #8a8a8a;
		top: 36px;
	}
	#mainmenu ul li:hover > ul { display: block; }

	#mainmenu ul li > ul li {
		margin: 0px;
		float: none;
		position: relative;
		border-left: none;
		border-top: 1px solid #aaa;
	}

	#mainmenu ul li:first-child { border-top: none; }
	#mainmenu ul li > ul li a {
		display: block;
		padding: 8px 20px;
		color: #fff;
		font-size: 13px;
		text-decoration: none;
		/*background-color: transparent;*/
	}


	#content { padding: 30px; max-width: 1400px; margin: 0 auto; }
	#content .featuredImg { margin: -30px -30px 30px; }

	#content #sidebar {
	float: left;
	width: 25%;
	margin: 0px;
	padding: 0px 0px 0px 30px;
	border-left: 1px solid #ccc;
	border-top: none;
	}

	#content #main {
		float: left;
		width: 75%;
		margin: 0px;
		padding: 0px 30px 0px 0px;
	}

	#footer { font-size: 12px; }
	#footer #social {  }
	#footmenu {
		display: block;
		margin: 0px 0px 10px;
	}
	#footmenu ul {
		margin: 0px;
		padding: 0px;
		list-style-type: none;
	}
	#footmenu ul li { display: inline; }
	#footmenu ul li::before { content: "  |  "; }
	#footmenu ul li:first-child::before { content: ""; }
	#footmenu ul li a { margin: 0px 3px; }
	#footmenu ul li > ul { display: none; }

	/****** HOMEPAGE ******/
	.homepage #content {
		max-width: 100%;
		padding: 0;
	}

	.homepage .homeWrap {
		display: block;
		margin: 0px auto;
		overflow: hidden;
		padding: 30px;
	}

	/* Homepage Content */
	.homeContent {
		display: inline-block;
		margin: 0px;
		padding: 0px 2% 0px 0px;
		width: 33%;
		height: 100%;
		vertical-align: top;
	}

	/* Homepage Contact */
	.homeContact {
		display: inline-block;
		margin: 0px;
		padding: 0px 2%;
		width: 33%;
		height: 100%;
		border-top: none;
		border-left: 1px solid #ccc;
		vertical-align: top;
	}
	.homeContact div.form input[type=text],
	.homeContact div.form textarea { width: 94%; }

	.homepage .slideshow-sidebar #overlay {
	    background: rgba(51, 51, 51, 0.75) url("") no-repeat;
	    height: 715px;
	    padding: 15% 35px;
	    position: absolute;
	    right: 0;
	    top: 0;
	    width: 20%;
	    display: block;
	    color: #fff;
	}

	.homepage .slideshow-sidebar #overlay p {
		color: #fff;
	}

	.homepage .slideshow-sidebar #overlay p a {
		color: #fff;
	}

	.homepage #overlay { display: none; }

	/* Banner / Slideshow */
	.slideshow {
		margin: 0 auto;

	}

	.homepage .slideshow {
		max-height: 715px;
	}

	.homepage .slideshow-sidebar {
		max-height: 715px;
		overflow: hidden;
		position: relative;
	}

	


	/*** Homepage Featured Properties ***/
	.featuredProperties {
		display: inline-block;
		margin: 0px;
		padding: 0px 0px 0px 2%;
		width: 33%;
		height: 100%;
		border-top: none;
		border-left: 1px solid #ccc;
		vertical-align: top;
	}
	.featuredProperties ul { }
	.featuredProperties ul li { }
	.featuredProperties ul li img { }
	.featuredProperties ul li h3 {  }

	
	/****** FORMS ******/
	div.form { max-width: none; }
	div.form label {
		float: left;
		padding: 5px 0px 0px;
		width: 100px;
	}
	div.form input[type=text],
	div.form input[type=number],
	div.form input[type=password] {
		width: 300px;
		height: 30px;
	}
	div.form textarea {
		width: 400px;
		height: 120px;
	}
	div.form select {
		width: 300px;
		height: 30px;
	}
	div.form .row.checkbox,
	div.form .row.radio { margin-left: 100px; }
	.homepage div.form .row.recaptcha { margin-left: 0px; }
	div.form .row.recaptcha { margin-left: 100px;  }
	div.form .row.recaptcha a { font-size: 12px; }
	div.form .row.recaptcha div {}
	div.form .row.recaptcha p { font-size: 12px; }
	div.form .row.buttons { text-align: left; }
	div.form input[type=submit] {
		margin-left: 100px;
		padding: 5px 30px;
		font-size: 20px;
	}
	div.form input[type=submit]:hover,
	div.form input[type=submit]:active { background: #666; }

	



	/***** BREADCRUMBS *****/
	ul.breadcrumbs {
		padding: 5px;
		font-size: 14px;
	}



	/****** REALTY / REAL ESTATE MODULE ******/
	/*** Property Categories / Project Categories/ Locations List ***/
	.categories,
	.locations { }
	.categories li,
	.locations li {
		float: left;
		margin: 0px 2.5% 20px;
		width: 45%;
		height: auto;
		text-align: center;
	}

	/*** Location Detail ***/
	.locationDetail .locImg {
		float: right;
		width: auto;
		max-width: 50%;
		margin: 0px 0px 20px 20px;
	}

	/*** Property Detail Pages ***/
	.propertyDetail #photos {
		float: left;
		padding: 0px 40px 0px 0px;
		width: 60%;
	}
	.propertyDetail #photos #ftrImg { height: 320px; }
	.propertyDetail #photos #ftrImg img { height: 320px; }
	.propertyDetail #photos #thumbs { }
	.propertyDetail #details {
		float: left;
		width: 40%;
	}
	.propertyDetail #description {
		margin: 20px 0px 0px 0px;
		padding: 20px 0px 0px 0px;
		border-top: #ddd 1px solid;
	}

	/*** Project Detail Pages ***/
	.projectsModule.detail #photos {
		float: left;
		padding: 0px 40px 0px 0px;
		width: 60%;
	}

	.projectsModule.detail #photos #ftrImg { height: 320px; }
	.projectsModule.detail #photos #ftrImg img { height: 320px; }
	.projectsModule.detail #photos #thumbs {
		float: left;
		width: 40%;
	}
	.projectsModule.detail #details { margin: 0px 0px 30px; }
	.projectsModule.detail #description {
		margin: 20px 0px 0px 0px;
		padding: 20px 0px 0px 0px;
		border-top: #ddd 1px solid;
	}

	/****** STORE MODULE ******/
	/*** Product Listing / Categories Pages ***/
	.storeModule .productCategories { margin: 0px 0px 20px; }

	.storeModule .product:nth-child(2n-1) {
	    margin: 0 0 30px;
	}

	.storeModule .product {
		margin: 0px 0 30px;
		width: 30%;
	}

	.storeModule .product:nth-child(3n-1) {
		margin: 0px 4% 30px;
		width: 30%;
	}

	.storeModule .product img {
		display: block;
		margin: 0px auto 15px;
		max-width: 240px;
		height: 150px;
	}

	/*** Products Detail Page ***/
	.productDetail #photos {
		float: left;
		padding: 0px 40px 0px 0px;
		width: 60%;
	}
	.productDetail #photos #ftrImg { height: 320px; }
	.productDetail #photos #ftrImg img { height: 320px; }
	.productDetail #photos #thumbs {
		float: left;
		width: 40%;
	}
	.productDetail #details { margin: 0px 0px 30px; }
	.productDetail #description {
		margin: 20px 0px 0px 0px;
		padding: 20px 0px 0px 0px;
		border-top: #ddd 1px solid;
	}
	.productDetail #upsells {
		margin: 20px 0px 0px 0px;
		padding: 20px 0px 0px 0px;
		border-top: #ddd 1px solid;
	}

	/****** CMS MODULE (IMAGE GALLERIES/VIDEOS/SUBPAGES/FAQ) ******/
	/*** Image Gallery Listing ***/
	.gallery {
		margin: 0px 2.5% 30px;
		width: 28.33%;
	}
	/*** Image Gallery Page ***/
	.photos {   }
	
	/*** Video Listing ***/
	.videoLink {
		margin: 0px 2.5% 30px;
		width: 28.33%;
	}
	/*** Subpage Listings ***/
	.subpages {  }
	.subpages li {
		margin: 0px 2.5% 30px;
		width: 28.33%;
	}
	/*** Subpage Detail ***/
	.subpageDetail .subImg {
		float: right;
		width: auto;
		max-width: 50%;
		margin: 0px 20px 20px 0px;
	}

	/** Recaptcha Responsive **/
	.rc-anchor-normal {
	    height: 74px;
	    max-width: 250px !important;
	    width: 100% !important;
	}


}  /* @media(min-width: 880px) */


/*** Main Menu Adjustment Breakpoint ***/
@media(min-width: 1020px) {

	/*** Main Menu ***/
	#mainmenu { padding: 0; }
	#mainmenu ul li a {
		padding: 10px 15px;
		font-size: 14px;
	}

}  /* @media(min-width: 1020px) */




/*** Skip to Content invisible link for accessibility ***/
#skip a
{
position:absolute;
left:-10000px;
top:auto;
width:1px;
height:1px;
overflow:hidden;
}
/* uncommenting will make the link visible when focused
#skip a:focus
{
position:static;
float:left;
width:auto;
height:auto;
}
*/
