/* --------------------------------------------------------------
GENERAL ELEMENTS
-------------------------------------------------------------- */


/* FORMS */
input[type=text], input[type=password], input[type=input], 
input[type=tel], input[type=url], input[type=email], 
input[type=number], input[type=range], input[type=search], input[type=color], 
input[type=time], input[type=week], input[type=month], input[type=date], input[type=datetime], 
textarea, select { border:1px solid #ddd; padding:8px 6px; background:#fff; }


/* --------------------------------------------------------------
LAYOUT ELEMENTS - Header, footer...
-------------------------------------------------------------- */


/* TOP */
.topbar { background:#f2f2f2; }


/* HEADER */
.header { padding:30px 0; background:#fff; }


/* LANGUAGE SWITCHER */
.languages .language { font-weight:bold; border:1px solid #eee; }
.languages .languages-list { background:#fff; box-shadow:0 0 3px 0 rgba(0,0,0,0.1); }


/* PAGE BANNERS AND TITLES */
.pagetitle { background:#eee; border:2px solid #ddd; border-width:2px 0; padding:0; margin:0; }
.pagetitle .pagetitle-body { padding:40px 0; }
.pagetitle .pagetitle-title { margin:0; text-transform:uppercase; }
.pagetitle .pagetitle-image { display:none; position:static; height:100px; padding:10% 0 0; }
.pagetitle-has-image .pagetitle-image { display:block; }


/* MAIN/CONTENT */
.main { }


/* FOOTER */
.subfooter { padding:50px 0 0;  }
.footer { padding:30px 0; background:rgba(0,0,0,0.1); }
.wrapper-footer { color:#ccc; }
.wrapper-footer h1, 
.wrapper-footer h2, 
.wrapper-footer h3, 
.wrapper-footer h4, 
.wrapper-footer h5, 
.wrapper-footer h6, 
.wrapper-footer a:link, 
.wrapper-footer a:visited,
.wrapper-footer a:hover { color:#fff; }


/* --------------------------------------------------------------
COMMON ELEMENTS - Languages, social...
-------------------------------------------------------------- */


/* SOCIAL ICONS */
.social .social-profile { color:#999; }


/* --------------------------------------------------------------
SPECIFIC PAGES - Search, property...
-------------------------------------------------------------- */

/* HOMEPAGE SLIDES */
.hero { padding:170px 0 200px; text-align:center; }
.hero .hero-caption { text-transform:uppercase; padding:0 0 30px; text-shadow:0 1px 2px rgba(0,0,0,0.3); color:#fff; }
.hero .hero-caption p:last-child { margin-bottom:0; }
.hero .hero-title { font-size:2.6em; }
.hero .hero-content { font-size:1.2em; margin:0 0 30px; }


/* SECTIONS */
.block-heading { position:relative; margin:0 0 40px; padding:0; text-align:center; line-height:1.2; text-transform:uppercase; }
.block-heading-title { margin:0; padding:0; font-size:2.5em; }
.block-heading-subtitle { margin:5px 0 0; font-size:1.3em; }


/* HOMEPAGE FEATURES */
.block-banners {}
.block-banner { display:block; color:#bbb; margin:0 0 25px; position:relative; padding-top:60%; background-size:cover; background-position:center; background-color:#555; }
.block-banner .block-banner-image { display:block; position:relative; min-height:102px; margin:0; }
.block-banner .block-banner-image img { display:block; margin:0 auto; }
.block-banner .block-banner-overlay { background:rgba(0,0,0,0.2); top:0; bottom:0; left:0; right:0; text-align:center; z-index:100; }
.block-banner .block-banner-body { position:absolute; top:50%; bottom:0; padding:0; margin:-30px 0 0; width:100%; text-align:center; z-index:200; box-sizing:border-box; text-shadow:0 1px 2px rgba(0,0,0,0.3); }
.block-banner .block-banner-title { margin:0 auto 10px; max-width:450px; color:#fff; padding:0 40px; font-size:1.3em; text-transform:uppercase; }
.block-banner .block-banner-content { font-size:1.1em; max-width:450px; margin:0 auto; padding:0 40px; color:#eee; }


/* HOMEPAGE SEARCH FORM */
.homesearch { background:#fff; padding:0; }


/* PROPERTY PAGE */
.property-content { overflow:hidden; margin:0 0 30px; }
/* Details */
.property-details { overflow:hidden; margin:0 0 20px; }
.property-detail { }
.property-detail-body { position:relative; margin:0; line-height:1; padding:0 0 0 45px; }
.property-detail-title { color:#bbb; text-transform:uppercase; font-size:12px; margin:0 0 5px; }
.property-detail-content { color:#555; font-size:20px; font-weight:bold; }
/* Icons */
.property-detail .property-detail-body:before { position:absolute; width:35px; height:40px; line-height:40px; top:50%; left:0; margin:-20px 0 0; color:#ccc; content:'\f115'; font-family:'realestate'; font-size:32px; text-align:center; }
.property-detail-ref .property-detail-body:before { content:'\f100'; }
.property-detail-bedrooms .property-detail-body:before { content:'\f103'; }
.property-detail-bathrooms .property-detail-body:before { content:'\f102'; }
.property-detail-toilets .property-detail-body:before { content:'\f102'; }
/* Price */
.property-price { }
.property-price-original { font-weight:bold; }
.property-price-current { color:#555; font-weight:bold; }
.property-price-secondary { }
/* Contact */
.property-contact {  }
.property-contact-item { margin:0 0 15px; background:#eee; border:2px solid #ddd; border-radius:3px; }
.property-contact-body { margin:0 0 0 70px; text-transform:uppercase; line-height:1; padding:15px; background:#fff; }
.property-contact-title { color:#888; font-size:12px; margin:0 0 5px; }
.property-contact-content { color:#555; font-size:20px; font-weight:bold; }
/* Specs */
.property-spec { position:relative; padding-left:35px; }
.property-spec:before { position:absolute; width:24px; height:24px; line-height:24px; top:50%; left:0; margin:-12px 0 0; content:'\f058'; color:#7c3; font-family:'fontawesome'; font-size:20px; text-align:center; }
/* Features */
.property-feature-title:after { content:':'; }
/* Form */
.property-form { background:#fff; border:2px solid #ddd; border-radius:4px; }
.property-form-title { margin:0; padding:20px 20px 0; text-transform:uppercase; font-size:20px; font-weight:bold; }
.property-form-body { padding:20px; }
.property-form-field { margin:0 0 20px; }
.property-form-footer { padding:20px 20px; background:#f9f9f9; }
.property-form-submit { }
.property-form-terms { margin:0 0 10px; }


/* POST LISTING */
.post { }
.post .post-image { border-radius:3px; }
.post .post-byline {  }
.post .post-content { }


/* --------------------------------------------------------------
DESIGN ELEMENTS - Buttons, slideshows...
-------------------------------------------------------------- */


/* SEARCHFORM */
.searchform { background:#fff; border:2px solid #ddd; border-radius:4px; }
.homesearch .searchform { margin:-100px auto 40px; }
.searchform-body { padding:20px; }
.searchform-title { text-transform:uppercase; font-size:20px; font-weight:bold; }
.searchform-meta { }
.searchform-block { margin:15px 0 0; }
.searchform-advanced { padding:20px 20px; background:#f9f9f9; }
.searchform select { padding:15px; }
.searchform input[type=text],
.searchform input[type=number] { padding:15px; }
.searchform input[type=submit] { padding:17px 0; }


/* SINGLE PROPERTY LISTING */
.property-item { background:#fff; border:2px solid #ddd; }
.property-item .property-item-price { font-size:1.1em; }
.property-item .property-item-price-current { }
.property-item .property-item-price-onsale { }
.property-item .property-item-body { min-height:92px; }
.property-item .property-item-title { font-size:1em; margin:0; }
.property-item .property-item-type { font-size:0.9em; color:#999; }
.property-item .property-item-subtitle { font-size:0.9em; margin:0; }
.property-item .property-item-meta { padding:10px; min-height:25px; background:#f9f9f9; }
.property-item .property-item-meta > div:before { color:#999; }


/* --------------------------------------------------------------
RESPONSIVE STYLES
-------------------------------------------------------------- */


/* LARGE SCREENS */
@media screen and (min-width: 1280px){}


/* TABLET SCREENS (LANDSCAPE) */
@media screen and (max-width: 1024px){}


/* TABLET SCREENS (PORTRAIT) */
@media screen and (max-width: 800px){}


/* SMARTPHONE SCREENS */
@media only screen and (max-width:600px){}