/* --------------------------------------------------------------
GENERAL ELEMENTS
-------------------------------------------------------------- */

body { letter-spacing:1px; }

/* 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:#fff; border-bottom:1px solid #f3f3f3; transition:0.5s all; }
.body-scroll .topbar { margin-top:-41px; opacity:0; }

/* HEADER */
.wrapper-header { position:fixed; background:#fff; top:0; left:0; width:100%; z-index:9999; }
.header { padding:50px 0; transition:0.6s padding; }
.body-scroll .header { padding:10px 0; }
.header > .container { transition:0.6s all; }
.body-scroll .header > .container { max-width:100%; }
.body-scroll .wrapper-header { box-shadow:0 0 3px 1px rgba(100,100,100,0.2); }

.logo { transition:0.4s all; transform-origin:bottom left; padding:10px; border-radius:0 0 2px 2px; }
.body-scroll .logo { background:#fff; transform:scale(0.7); box-shadow:0 4px 3px -3px rgba(100,100,100,0.2); }




/* LANGUAGE SWITCHER */
.languages .language { font-weight:bold; border:0px solid #eee; }
.languages .languages-list { background:#fff; box-shadow:0 0 3px 0 rgba(0,0,0,0.1); }
.languages .language-current { background:rgba(255,255,255,0.8); transition:0.6s background; }
.body-scroll .languages .language-current { background:none; }


/* PAGE BANNERS AND TITLES */
.pagetitle { position:relative; background:#eee; color:#bbb; padding:230px 0 50px; margin:0; }
.pagetitle:before { background:rgba(0,0,0,0.5); position:absolute; top:0; bottom:0; left:0; right:0; content:' '; z-index:998; }
.pagetitle .pagetitle-body { padding:40px 0; float:none; margin:0 auto; text-align:center; color:#fff; z-index:999; }
.pagetitle .pagetitle-body a { color:#fff; }
.pagetitle .pagetitle-title { margin:0; text-transform:uppercase; color:#fff; }
.pagetitle .pagetitle-image { z-index:99; }
.pagetitle-has-image .pagetitle-image { display:block; }


/* MAIN/CONTENT */
.main { }


/* FOOTER */
.subfooter { padding:80px 0 50px; background:#333; color:#bbb; }
.subfooter a,
.subfooter .widget-title { color:#eee; }
.footer { padding:20px 0; background:#fff; color:#888; text-align:center; }
.footer a { color:#444; }
.footer .social { float:none; display:inline-block; overflow:hidden; text-align:center; }


/* --------------------------------------------------------------
COMMON ELEMENTS - Languages, social...
-------------------------------------------------------------- */


/* SOCIAL ICONS */
.social .social-profile { color:#999; }


/* --------------------------------------------------------------
SPECIFIC PAGES - Search, property...
-------------------------------------------------------------- */

/* HOMEPAGE SLIDES */
.hero { padding:320px 0 0px; text-align:left; }
.hero .hero-caption { padding:0 0 80px; color:#fff; }
.hero .hero-caption p:last-child { margin-bottom:0; }
.hero .hero-title { display:inline-block; background:#333; color:#fff !important; padding:10px 15px; font-size:2.2em; margin:0; font-weight:700; }
.hero .hero-content { display:block; max-width:450px; color:#444 !important; line-height:1.2; font-size:1.5em; margin:0 0 50px; background:#fff; padding:15px 15px; }


/* SECTIONS */
.block-heading { position:relative; margin:0 0 40px; padding:0 0 30px; text-align:left; line-height:1.2; }
.block-heading:after { position:absolute; background:#333; content:' '; width:150px; height:3px; bottom:0; left:50px; margin:0 0 0 -50px; }
.block-heading-title { margin:0; padding:0; font-size:2em; }
.block-heading-subtitle { margin:5px 0 0; text-transform:uppercase; font-size:0.9em; opacity:0.6; }


/* HIGHLIGHT */
.highlight .highlight-title { display:inline-block; background:#333; color:#fff !important; padding:10px 15px; font-size:2.2em; margin:0; font-weight:700; }
.highlight .highlight-subtitle { display:block; max-width:450px; color:#333 !important; line-height:1.2; font-size:1.1em; margin:0 0 50px; background:#fff; padding:15px 15px; }


/* HOMEPAGE FEATURES */
.block-banners {}
.block-banner { display:block; color:#bbb; margin:0 0 25px; position:relative; padding-top:70%; background-size:cover; background-position:center; background-color:#555; box-shadow:0 50px 60px -40px rgba(80,80,80,0.6); border-radius:0px; }
.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; z-index:100; }
.block-banner .block-banner-body { position:absolute; background:rgba(255,255,255,0.8); bottom:0; padding:20px; margin:0; width:100%; z-index:200; box-sizing:border-box; }
.block-banner .block-banner-title { margin:0; line-height:1.2;  color:#555; padding:0; font-size:1.5em; }
.block-banner .block-banner-content { font-size:1em; line-height:1.2; margin:0; padding:0; color:#777; }

/* HOMEPAGE TAGLINE */
.tagline { background:none; }
.tagline-content { padding:30px; background:rgba(0,0,0,0.03); border-radius:0; margin:0; }
.tagline .tagline-subtitle,
.tagline .tagline-title { margin:0;}

/* PROPERTY PAGE */
.property-carousel { margin:0 0 60px; }
.property-content { overflow:hidden; margin:60px 0 50px; }
/* Details */
.property-details { background:none; padding:0; overflow:hidden; margin:0 0 30px; }
.property-detail { }
.property-detail-body { position:relative; margin:0; background:none; 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 { float:none; text-align:left;  margin:0 0 20px; }
.property-price-original { font-weight:bold; }
.property-price-current { color:#555; font-weight:bold; font-size:32px; }
.property-price-secondary { }
.property-cta { margin:0; }
/* Contact */
.property-contact { background:#f5f5f5; margin:0; overflow:hidden;  }
.property-contact-item { width:100%; margin:0; border:none; }
.property-contact-body { margin:0; line-height:1; padding:20px 20px 20px; background:none; }
.property-contact-item:last-child .property-contact-body { padding:20px 20px 20px; }
.property-contact-title { color:#888; font-size:14px; letter-spacing:2px; margin:0 0 5px; }
.property-contact-content { color:#555; font-size:24px; font-weight:bold; }
.property-contact-item:before { display:none; }
/* Utility */
.property-utility { box-shadow:0 20px 30px -8px rgba(80,80,80,0.3); border-radius:3px; border:none; }
/* Specs */
.property-specs { margin:0 0 60px; }
.property-specs-heading { display:none; }
.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:'\f00c'; color:#fff; background:#7c3; font-family:'fontawesome'; font-size:16px; text-align:center; border-radius:2px; }
/* Map */
.property-map-heading { display:none; }
/* Features */
.property-feature-title:after { content:':'; }
/* Form */
.property-form { background:#fff; border:none; padding:50px 0 70px; }
.property-form-title { display:none; }
.property-form-body { padding:0; }
.property-form-field { margin:0 0 20px; }
.property-form-footer { padding:0; background:none; }
.property-form-submit { }
.property-form-terms { margin:0 0 10px; }
.property-carousel-slide { width:200px !important; }
.property-slider-prev, .property-slider-next { background:none; }


/* POST LISTING */
.post { }
.post .post-image { border-radius:3px; }
.post .post-byline {  }
.post .post-content { }


/* --------------------------------------------------------------
DESIGN ELEMENTS - Buttons, slideshows...
-------------------------------------------------------------- */

/* MENU */
.menu-main .menu-item a { text-transform:none; }

/* SEARCHFORM */
.searchform { border-radius:0; max-width:100%; }
.homesearch { background:#fff; padding:10px; max-width:900px; margin:0 0 30px; transform:translateY(20px); box-shadow:0 20px 60px -10px rgba(80,80,80,0.6); }
.homesearch .container { padding:0; }

.homesearch .searchform { margin:0 auto 0; background:none; }
#searchform-reference,
#searchform-cancel { background:#aaa; color:#444; line-height:1.6; padding:0 10px; font-size:0.9em; border-radius:60px; }
#searchform-reference:hover,
#searchform-cancel:hover { background:#ccc; text-decoration:none; }
.searchform-body { padding:20px; }
.searchform-title { text-transform:uppercase; color:#666; font-size:20px; font-weight:bold; }
.searchform-meta { }
.searchform-block { margin:15px 0 0; }
.searchform-advanced { padding:0 20px 20px; text-align:left; }
.searchform select { padding:10px 15px; }
.searchform input[type=text],
.searchform input[type=number] { padding:10px 15px; }
.searchform input[type=submit] { padding:12px 0; border-radius:0; }


/* SINGLE PROPERTY LISTING */
.property-item { background:#fff; overflow:hidden; margin:0 0 35px; padding:0; border-radius:0; transition:0.2s all ease-out; box-shadow:0 8px 15px -2px rgba(80,80,80,0.3); }
.property-item:hover { box-shadow:0 20px 40px -8px rgba(80,80,80,0.5); transform:scale(1.05); }
.property-item .property-item-image { overflow:hidden; border-radius:0 0; }
.property-item .property-item-price { font-size:1.1em; font-weight:bold; }
.property-item .property-item-price-original { }
.property-item .property-item-price-current { }
.property-item .property-item-price-onsale { }
.property-item .property-item-body { display:flex; flex-direction:column; min-height:150px; padding:0px; }
.property-item .property-item-content { padding:15px 15px 10px; position:relative;  overflow:hidden; min-height:80px;  flex-grow:1; border:2px solid #fff; }
.property-item .property-item-title { font-size:1.1em; margin:0; font-weight:700; }
.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 { order:-1; flex-grow:1; position:relative; background:#f5f5f5; color:#999; padding:10px 15px; min-height:25px; font-weight:bold; box-shadow:inset 0 0 0 3px #fff; }
.property-item .property-item-meta > div:before { color:#bbb; font-size:26px; font-weight:400; }
.property-item-favorite { top:auto; bottom:10px; }


/* --------------------------------------------------------------
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){
    .hero .hero-title { font-size:3em; }
}


/* SMARTPHONE SCREENS */
@media only screen and (max-width:600px){

    .hero .hero-title { font-size:2em; }
}