/* --------------------------------------------------------------
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:#3C7816; border-top:3px solid #29510D; color:#bdb; line-height:40px; height:40px; transition:0.4s all; }
.topbar a { color:#fff }
.topbar-content-phone:before,
.topbar-content-email:before { color:#6DD82C; }
.body-scroll .topbar { margin-top:-43px; opacity:0; }


/* HEADER */
.wrapper-header { position:fixed; background:none; top:0; left:0; width:100%; z-index:9999; }
.header-body { padding-left:0 !important; }
.header { padding:40px 0; transition:0.4s ease-in-out all; transition-delay:0.0s; }
.body-scroll .header { padding:10px 0; transition-delay:0.4s; }
.header > .container { transition:0.6s all; }
.body-scroll .wrapper-header { box-shadow:0 0 3px 1px rgba(100,100,100,0.3); }


.logo { left:50%; width:300px !important; margin:0 0 0 -150px; transition:0.5s all; transform-origin:center; }
.logo-image { width:300px !important; }
.body-scroll .logo { transform:scale(0.5); transition-delay:0.0s; }

.languages .language-title { display:none; }
.languages .language { width:auto; }

/* 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 { transition:0.6s background; }
.body-scroll .languages .language-current { background:none; }


/* PAGE BANNERS AND TITLES */
.pagetitle { position:relative; background:#eee; color:#bbb; padding:210px 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:#2A530E; color:#bdb; text-align:center; }
.footer a { color:#6dd82c; }
.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:250px 0 0px; text-align:left; }
.hero .hero-caption { max-width:450px; padding:0 0 40px; color:#fff; line-height:1; text-shadow:0 0 0 rgba(0,0,0,0.3); }
.hero .hero-caption p:last-child { margin-bottom:0; }
.hero .hero-title { color:#6ED82D !important; padding:0; font-size:2.8em; margin:0; font-weight:700; text-shadow:3px 3px 0 rgba(0,0,0,0.3); }
.hero .hero-content { color:#fff !important; line-height:1.2; font-size:1.5em; margin:0 0 50px; padding:15px 0 0; }


/* 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:#eee; content:' '; width:100px; 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:block; color:#ff6b00 !important; padding:0 0 15px; font-size:2.2em; margin:0; font-weight:700; }
.highlight .highlight-subtitle { display:block; max-width:450px; color:#444 !important; line-height:1.2; font-size:1.1em; margin:0 0 50px; padding:0 0 15px; }


/* HOMEPAGE FEATURES */
.block-banners {}
.block-banner { display:block; color:#bbb; margin:0 0 25px; position:relative; padding-top:100%; 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; overflow:hidden; background:#3D6D17; border-top:5px solid #87DC54; bottom:0; top:70%; padding:20px; margin:0; width:100%; z-index:200; box-sizing:border-box; }
.block-banner .block-banner-body:before { content:' '; position:absolute; background:rgba(40, 40, 40, 0.1); transform:rotate(60deg); right:50%; top:50%; margin:-250px 0 0; transform-origin:right; width:500px; height:500px; z-index:99; }
.block-banner .block-banner-title { margin:0; line-height:1.2;  color:#fff; padding:0; font-size:1.5em; }
.block-banner .block-banner-content { font-size:1em; line-height:1.2; margin:0; padding:0; color:#bdb; }

/* 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-content { overflow:hidden; margin:0 0 30px; }
/* Details */
.property-details { background:#f0f0f0; padding:20px 20px 0; overflow:hidden; margin:0 0 20px; }
.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 { margin-left:30px; margin-top:15px; }
.property-price-original { font-weight:bold; }
.property-price-current { color:#555; font-weight:bold; }
.property-price-secondary { }
/* Contact */
.property-contact { box-shadow:0 20px 30px -8px rgba(80,80,80,0.3); border-radius:3px; }
.property-contact-item { margin:0; background:#fff; border:none; }
.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; }
.property-contact-item:before { background:none; }
/* Utility */
.property-utility { box-shadow:0 20px 30px -8px rgba(80,80,80,0.3); border-radius:3px; border:none; }
/* 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:'\f00c'; color:#fff; background:#6DD82C; font-family:'fontawesome'; font-size:12px; text-align:center; border-radius:20px; }
/* Features */
.property-feature-title:after { content:':'; }
/* Form */
.property-form { background:#3C7816; padding:5%; border-radius:3px; box-shadow:0 20px 30px -8px rgba(80,80,80,0.3); border:none; color:#bdb; }
.property-form a { color:#fff; }
.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 { float:none; }
.menu-main .menu-item a { position:relative; font-size:0.9em; text-transform:uppercase; }
.menu-main .menu-item a:before { content:' '; background:#fff; position:absolute; bottom:0; height:2px; width:0; left:0; transition:0.3s all; }
.menu-main .menu-item:hover a:before { background:#6c3; width:100%; }
.menu-main .menu-item:nth-child(even) { float:right; }
.menu-main .menu-item:nth-child(odd) { float:left; }

/* SEARCHFORM */
.searchform { border-radius:0; max-width:100%; }
.homesearch { background:#444; padding:10px; max-width:900px; margin:0 0 30px; transform:translateY(20px); box-shadow:0 50px 60px -40px rgba(80,80,80,0.6); }
.homesearch .container { padding:0; }
.homesearch a { color:#fff; }

.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:#bbb; 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 20px 30px -8px rgba(80,80,80,0.3); }
.property-item .property-item-image { overflow:hidden; border-radius:0 0; }
.property-item:hover { box-shadow:0 20px 40px -8px rgba(80,80,80,0.5); transform:scale(1.05); }
.property-item .property-item-price { font-size:1.1em; color:#43a047; font-weight:bold; }
.property-item .property-item-price-original { color:#aaa; }
.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; background:#6ED82D; border-radius:2px; display:inline; padding:1px 6px; color:#fff; line-height:2; }
.property-item .property-item-subtitle { font-size:0.9em; margin:0; }
.property-item .property-item-meta { order:-1; flex-grow:1; position:relative; background:#3D6D17; color:#eee; padding:10px 15px; min-height:25px; font-weight:bold; }
.property-item .property-item-content:before { content:' '; position:absolute; background:rgba(40, 40, 40, 0.04); transform:rotate(60deg); right:50%; top:50%; margin:-250px 0 0; transform-origin:right; width:500px; height:500px; z-index:99; }
.property-item .property-item-meta > div:before { color:#bdb; 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; }
}