/* --------------------------------------------------------------
GENERAL ELEMENTS
-------------------------------------------------------------- */

body { letter-spacing:1.5px; background:#fff !important; }

/* 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:none; padding:8px 6px; background:#eee; }


/* --------------------------------------------------------------
LAYOUT ELEMENTS - Header, footer...
-------------------------------------------------------------- */


/* TOP */
.topbar { background:#f2f2f2; }


/* HEADER */
.wrapper-header { position:fixed; background:none; top:0; left:0; width:100%; z-index:9999; }
.header { padding:50px 0; background:rgba(255,255,255,1); transition:0.6s all; transition-delay:0.0s; }
.topbar { background:none; transition:0.6s all; }
.topbar a { color:#333; }
.body-scroll .header { padding:15px 0; background:rgba(255,255,255,1); transition-delay:0.4s; }
.account-129.body-scroll .topbar { margin-top:-40px; }
.header > .container { transition:0.6s all; }
.body-scroll .wrapper-header { box-shadow:0 0 3px 1px rgba(100,100,100,0.2); }

.logo { transition:0.4s all; transform-origin:left; padding:10px; border-radius:0 0 2px 2px; transition-delay:0.4s; }
.body-scroll .logo { transform:scale(0.5); transition-delay:0.0s; }


/* 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 { position:relative; background:#fff; border:none; padding:260px 0 80px; margin:0; }
.pagetitle .pagetitle-body { float:none; text-align:center; padding:40px 0; max-width:none; }
.pagetitle .pagetitle-title { margin:0; font-size:36px; text-shadow:0 0 5px #333; font-weight:300; color:#fff; text-transform:uppercase; }
.pagetitle .pagetitle-image { display:none; position:absolute; top:0; left:0; right:0; bottom:0; filter:brightness(80%); transition:0.8s filter; }
.body-scroll .pagetitle-image { filter:brightness(80%) blur(10px); }
.pagetitle-has-image .pagetitle-image { display:block; }
.pagetitle .breadcrumb { display:none; }


/* MAIN/CONTENT */
.main { }


.searchform { max-width:100%;}
/* FOOTER */
.subfooter { padding:70px 0 40px; background:#fff; border:1px solid #ccc; border-width:1px 0;  }
.footer { padding:40px 0; background:#fff; }
.wrapper-footer { color:#bbb; text-align:center; }
.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; }
.footer-menu { margin:0; }
.menu-footer { margin:0; text-transform:uppercase; }
.footer-content { margin:0; }


/* --------------------------------------------------------------
COMMON ELEMENTS - Languages, social...
-------------------------------------------------------------- */


/* SOCIAL ICONS */
.social .social-profile { color:#999; }

.menu-main .menu-item a { color:#777; font-size:1.1em; font-weight:700; }
.languages .language { color:#333; border:none; font-weight:300; }
.languages .languages-list { background:rgba(0,0,0,0.4); }


/* --------------------------------------------------------------
SPECIFIC PAGES - Search, property...
-------------------------------------------------------------- */

/* HOMEPAGE SLIDES */
.hero { position:relative; padding:400px 0 0; overflow:hidden; height:100vh; text-align:left; background-position:bottom; box-sizing:border-box; }
/*.hero:after { position:absolute; left:0; bottom:0; content:' '; border-bottom:150px solid #fff; border-left:4000px solid transparent; width:100%; height:0;  }*/
.hero .hero-caption { padding:0 0 30px; text-shadow:0 1px 2px rgba(0,0,0,0.3); color:#666; }
.hero .hero-caption p:last-child { margin-bottom:0; }
.hero .hero-title { position:relative; font-size:3em; font-weight:300; margin:0 0 20px; color:#333 !important; text-transform:uppercase; padding:0 0 20px; line-height:1.2; }
.hero .hero-title:before { position:absolute; background:#eee; height:2px; width:200px; top:100%; color:#666; content:' '; left:0; opacity:0.5; }
.hero .hero-content { font-size:1.4em; 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; font-weight:300; }
.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:120%; 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 { position:absolute; background:rgba(0,0,0,0.3); top:0; bottom:0; left:0; right:0; text-align:center; z-index:100; }
.block-banner .block-banner-body { position:absolute; top:36%; bottom:auto; padding:30px 0; margin:-30px 0 0; width:60%; left:20%; text-align:center; z-index:200; border:1px solid #fff; border-width:1px 0; box-sizing:border-box; }
.block-banner .block-banner-title { margin:0 auto 10px; max-width:450px; color:#fff; padding:0 0; font-size:1.3em; text-transform:uppercase; font-weight:300; }
.block-banner .block-banner-content { font-size:1.1em; line-height:1.4; max-width:450px; margin:0 auto; padding:0 0; color:#fff; opacity:0.6; }


.homepage-properties { position:relative; margin:100px 0 0; padding:60px 0 60px; background:#f5f5f5; }
.homepage-properties:after { position:absolute; left:0; bottom:100%; content:' '; border-bottom:150px solid #f5f5f5; border-left:4000px solid transparent; width:100%; height:0;  }


.block-feature { text-align:center; }

/* HOMEPAGE SEARCH FORM */
.homesearch { background:#fff; padding:0 0 0; }


.tagline { font-weight:300; margin:0 0 10px; padding:80px 0; background:none; }
.tagline .tagline-content { text-align:center; }
.tagline .tagline-title { font-weight:300; margin:0 0 10px; font-size:3.5em; }
.tagline .tagline-subtitle { margin:10px 0 0; }

.highlight { padding:240px 0 180px; position:relative; }
.highlight .highlight-body { }
.highlight .highlight-title { font-weight:300; margin:0 0 10px; }
.highlight:before { position:absolute; right:0; top:0; content:' '; border-top:150px solid #f5f5f5; border-right:4000px solid transparent; width:100%; height:0;  }


/* PROPERTY PAGE */
.property-section-heading { font-weight:300; }
.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:none; 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-cta { margin:0;  }
.property-cta .button { border-radius:0; }
.property-contact {  }
.property-contact-item { margin:0 0 15px; background:#eee; border:none; border-radius:0; }
.property-contact-body { margin:0 0 0 70px; text-transform:uppercase; line-height:1; padding:15px; background:#eee; }
.property-contact-title { color:#888; font-size:12px; margin:0 0 5px; }
.property-contact-content { color:#555; font-size:20px; font-weight:bold; }
/* Utility */
.property-utility { line-height:1; border:none; }
.property-utility-item { background:#eee; }
.property-utility-item:hover { background:#f5f5f5; }
.property-utility-item:first-child { border-right:1px solid #fff; }
.property-utility-item .property-utility-title { display:block; color:#888; text-align:center; font-size:12px; padding:20px 5px; margin:0; }
.property-share-list { background:#f5f5f5; }
/* 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:#444; font-family:'fontawesome'; font-size:20px; text-align:center; }
/* Features */
.property-feature-title:after { content:':'; }
/* Map */
.property-map-heading { display:none; }
/* Form */
.property-form { margin:0; padding:60px 0;  }
.property-form-title { margin:0; padding:20px 0 30px; text-transform:none; font-size:20px; font-weight:300; }
.property-form-body { padding:0px; }
.property-form-field { margin:0 0 20px; }
.property-form-footer { padding:10px 0 0px; }
.property-form-submit { float:right; }
.property-form-terms { float:left;  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 { margin:30px auto 60px; }
.homesearch .searchform { margin:60px auto 40px; }
.searchform-body { padding:0; }
.searchform-title { text-transform:uppercase; font-weight:300; font-size:20px; }
.block-search-sidebar .searchform-title { float:none; }
.block-search-sidebar .searchform-meta { float:none; text-align:left;  }
.searchform-block { margin:15px 0 0; }
.searchform-advanced { padding:10px 0 0; }
.searchform select { padding:15px; }
.searchform input[type=text],
.searchform input[type=number] { padding:15px 15px; }
.searchform input[type=submit] { padding:17px 0; }


/* SINGLE PROPERTY LISTING */
.property-item { background:none; padding:20px; margin:00px 0 0 -20px; transition:0.2s all; }
.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; line-height:1.2; }
.property-item .property-item-reference { display:none; }
.property-item .property-item-title { font-size:1.1em; margin:0 0 5px; }
.property-item .property-item-title a:hover { text-decoration:none; }
.property-item .property-item-content { padding:10px 0 0; }
.property-item .property-item-type { position:relative; padding:0 0 10px; margin:0 0 10px; font-size:0.9em; color:#999; }
.property-item .property-item-type:before { position:absolute; background:#eee; height:2px; width:100px; top:100%; content:' '; left:0; }
.property-item .property-item-subtitle { font-size:0.9em; margin:0; }
.property-item .property-item-meta { padding:10px 0 0; min-height:25px; }
.property-item .property-item-meta > div:before { color:#999; }
.property-item:hover { background:#fff; box-shadow:0 5px 10px 2px rgba(0,0,0,0.1); }

.widget-title { font-weight:300; }

/* --------------------------------------------------------------
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){}