/*
Theme Name: LYF Real Estate
Author: LYF Marketing
Author URI: http://www.lyfmarketing.com
Description: Modern, clean, responsive real estate theme for LYF Marketing Clients.
Version: 1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Tags: responsive, clean, portfolio
Text Domain: lyf-real-estate
*/

/* TYPOGRAPHY */

html {
    -webkit-font-smoothing: antialiased;
}

hr {
    border: 1px solid #ddd;
    opacity: 0.5;
    clear: both;
}
a {
    text-decoration: none;
    color: #3498db;
}

h1, h2, h3, h4, h5, h6 {
    font-family: 'Raleway', sans-serif;
    margin: 0.7em 0;
    font-weight: normal;
}

ul {
    margin: 0 30px;
    padding: 0 5px;
}

ul li {
    list-style: disc;
    padding: 5px 0;
}

p {
    margin: 15px 0 25px;
    text-rendering: optimizeLegibility;
}

img {
    display: block;
    max-width: 100%;
    height: auto;
}

.border-box {
    box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
}

blockquote {
    font-style: italic;
}

address {
    margin: 10px 0;
}
/* responsive video */

.videoWrapper {
	position: relative;
    height: 0;
    margin: 0 auto;
    max-width: 1280px;
    max-height: 720px;
    width: 100%; 
    padding-bottom: 56.25%;
    box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
}

.videoWrapper iframe, .videoWrapper object, .videoWrapper video, .videoWrapper embed {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

body {
    width: 100%;
    overflow-x: hidden;
    margin: 0 !important;
    padding: 0;
    font-family: 'Arimo', sans-serif;
    font-size: 16px;
    letter-spacing: 0.07em;
    line-height: 1.3;
    -webkit-animation: fadeIn 1s;
    -moz-animation: fadeIn 1s;
    animation: fadeIn 1s;
}

.toggle {
    display: none;
}

/* ==== MENU ==== */


#menuToggle:checked ~ nav#mobile {
    transform: translateX(0);
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
}

#menuToggle:checked ~ #menuOpen {
    transform: translateX(-300px);
    -webkit-transform: translateX(-300px);
    -moz-transform: translateX(-300px);
}

#menuToggle:checked ~ #wrapper {
    opacity: 0.1;
    transform: translateX(-300px);
    -webkit-transform: translateX(-300px);
    -moz-transform: translateX(-300px);
}

label#menuOpen {
    position: fixed;
    z-index: 999;
    top: 0;
    right: 0;
    overflow: hidden;
    font-size: 28px;
}

label#menuOpen:hover {
    cursor: pointer;
}

nav#desktop {
    display: none;
}

/*====== MOBILE NAVIGATION ======*/

nav#mobile {
    position: fixed;
    z-index: 999;
    top: 0;
    height: 100%;
    overflow: hidden;
    width: 300px;
    right: 0;
    transform: translateX(300px);
    -webkit-transform: translateX(300px);
    -moz-transform: translateX(300px);
}

nav#mobile ul {
    margin: 0;
    padding: 0;
}

nav#mobile ul li {
    list-style: none;
    position:relative;
    padding: 0;
}

nav#mobile a {
    display: block;
    width: 90%;
    padding: 20px 5%;
    text-align: left;
    text-transform: uppercase;
}

nav#mobile a:hover {
    background: #3498db;
}

nav#mobile ul li ul.sub-menu {
    position: absolute;
    width: 300px;
    display: none;
    right: -300px;
    top: 0;
}

nav#mobile ul li .menuArrow, nav#mobile ul li .closeSubMenu{
    top: 2px;
    padding: 21px 20px;
    z-index: 999;
    cursor: pointer;
}

nav#mobile ul li .menuArrow {
    position: absolute;
    right: 0;
}

nav#mobile ul li ul.sub-menu li a {
    padding: 15px 5%;
}

nav#mobile ul li .menuArrow {
    top: 2px;
    padding: 21px 20px;
    z-index: 999;
    cursor: pointer;
}

.rotateArrow {
    transform: rotateZ(90deg);
    -webkit-transform: rotateZ(90deg);
    -moz-transform: rotateZ(90deg);
}

.slideNavLeft {
    transform: translateX(-300px);
    -webkit-transform: translateX(-300px);
    -moz-transform: translateX(-300px);
    -ms-transform: translateX(-300px);
}

/*====== Search Form ======*/

#searchToggle:checked ~ label#searchIcon {
    -webkit-transform: rotateZ(90deg);
    -moz-transform: rotateZ(90deg);
    -ms-transform: rotateZ(90deg);
    transform: rotateZ(90deg);
}

#searchToggle:checked ~ header#header #searchform {
    max-height: 90px;
}

#searchform input[type="search"] {
    background: none;
    border: none;
    width: 66%;
    padding: 0.5em 2%;
    font-size: 1.2em;
    float: left;
    outline: none;
    background: #3498db;
}

#searchform input[type="submit"] {
    border: none;
    border-radius: 0;
    padding: 0.5em 0;
    font-size: 1.2em;
    display: block;
    width: 30%;
    cursor: pointer;
    outline: none;
    -webkit-appearance: none;
    color:#fff;
}

/*==== Home Page ===*/

#featured-area {
    background: url(/wp-content/themes/lyf-real-estate/images/luxury-home.jpg) top / cover;
    background-repeat: no-repeat;
    position: relative;
    margin-top: 50px;
}

/*#featured-area:before {
    content:"";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.2);
}*/

#page-header {
    background-size: 100%;
    background-repeat: no-repeat;
    padding: 25px 0;
    position: relative;
}

#page404:before, #page-header:before {
    content:"";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.banner-container {
    background-repeat: no-repeat;
}

#sidebar {
    width: 92%;
    padding: 1em 4%;
    overflow: hidden;
    margin: 0 auto;
}
#sidebar h5 {
    font-weight: bold;
    text-transform: uppercase;
    color: #3498db;
    font-size: 20px;
}

#sidebar ul {
    margin: 0;
    padding: 0;
}

#sidebar ul li {
    list-style: none;
    margin: 0;
    padding: 0;
}

#sidebar ul li a {
    display: block;
    padding: 10px;
    margin: 0 0 4px;
    width: 95%;
}

.recent-listings-side {
    margin: 0 auto 15px;
    overflow: hidden;
    max-width: 360px;
}

.recent-listings-side img {
    width: 100%;
}

.side-listing-title {
    padding: 10px 5px;
    display: block;
    background: #3498db;
    color: #fff;
}

/* ==== WORKING WITH PAGE ==== */

#working-with-banner {
    background: url('images/viewhome.jpg') center / cover;
    background-repeat: no-repeat;
    height: 400px;
    overflow: hidden;
}

#working-with-banner img {
    width: 100%;
    height: auto;
}

/* ==== LISTINGS ==== */

.lyf-listings {
    overflow: hidden;
}

.listing {
    position: relative;
    display: block;
    width: 96%;
    margin: 10px auto 5px;
    max-width: 400px;
    overflow: hidden;
}

.listing .listing-photo {
    overflow: hidden;
}

.listing img {
    transition: all 0.5s linear;
    -webkit-transition: all 0.5s linear;
    -moz-transition: all 0.5s linear;
    -ms-transition: all 0.5s linear;
}

.listing .listing-photo:hover > img {
    transform: rotate(-2deg) scale(1.1);
    -webkit-transform: rotate(-2deg) scale(1.1);
    -mox-transform: rotate(-2deg) scale(1.1);
    -ms-transform: rotate(-2deg) scale(1.1);
}


.listing img {
    width: 100%;
}

.listing .listing-price, .listing .listing-sold, .single-listing .listing-sold, .listing .listing-pending, .single-listing .listing-pending {
    display: block;
    position: absolute;
    top:15px;
    padding: 10px;
    color: #fff;
    z-index: 5;
}

.listing .listing-price {
    right: 0;
    background: rgba(0,0,0,0.5);
}

.listing .listing-sold, .single-listing .listing-sold {
    background: brown;
}

.listing .listing-pending, .single-listing .listing-pending {
    background: green;
}

.listing h4.listing-title { 
    margin: 0;
    padding: 10px;
    background: #3498db;
    font-weight: bold;
    color: #fff;
}

.listing .location {
    display: block;
    padding: 10px;
}

.listing-info {
    font-size: 14px;
}
.listing .listing-info {
    text-align:right;
    padding: 10px;
}

.listing .sub-info {
    padding: 0 5px;
}

/* ==== SINGLE LISTING ==== */

#listing-content {
    display: none;
    margin: 61px auto 0;
}

#listing-navigation {
    overflow: hidden;
    position: fixed;
    width: 100%;
    left: 0;
    z-index:90;
}

.listing-nav {
    display: block;
    padding: 20px 10px;
    text-align: center;
    width: 33.33%;
    float: left;
    color: #3498db;
    cursor: pointer;
}
.listing-nav:last-of-type {
    border-right: none;
}

#gallery-section {
    position: relative;
    overflow-x: hidden;
}

#gallery-loading {
    display: block;
    padding: 250px 50px;
}

#gallery-loading .fa {
    font-size: 60px;
    color: #3498db;
    margin: 0;
}

.listing-carousel-margin {
    margin-right: -30px !important; 
}

.listing-carousel-margin .flex-direction-nav .flex-next {
    right: 40px !important;
}
#listing-carousel .slides li img {
    cursor: pointer;
}

.single-listing {
    position: relative;
}

.single-listing .listing-sold, .single-listing .listing-pending {
    font-size: 24px;
}

#details-sections {
    overflow-x: hidden;
    overflow-y: scroll;
    -webkit-overflow-scrolling: touch;
}

#details-sections .listing-price {
    color:#fff;
    background: #3498db;
    margin 0;
    display: block;
    padding: 15px 2%;
    font-size: 30px;
    font-weight: bold;
}

#details-sections .location {
    padding: 10px 0 0;
    display: block;
}

#details-sections .location .dashicons {
    vertical-align: sub;
}

#details-sections .listing-details, #details-sections .description {
    padding: 0 2%;
}

#details-sections .listing-info {
    padding: 10px 0;
}

#details-sections .listing-info .sub-info {
    padding: 0 10px 0 0;
}

#lyf-listing-canvas {
    height: 300px;
    width: 100%;
    margin: 0 0 40px;
    border-top: 2px solid #3498db;
    border-bottom: 2px solid #3498db;
    clear: both;
}

#request-info-button {
    font-size: 24px;
}

#listing-request-box {
    max-width: 600px;
    margin: 80px auto;
    padding: 0 0;
    clear: both;
    position: relative;
    z-index: 5;
}
#listing-request-box .lyf-form .form-padding {
    padding: 0 20px;
}

#listing-request-box h4 {
    padding: 10px 5px;
    color: #fff;
    background:#3498db;
    margin: 0 0 15px;
    text-align: center;
}

#listing-request-box input#submit-lyf-form {
    max-width: none;
    border-radius: 0;
    margin: 10px 0 0;
    font-size: 26px;
}

.close-request-box {
    display: block !important;
    margin: 20px auto !important;
    font-size: 14px !important;
}

/* ==== CONTACT PAGE ==== */

#realtor-map {
    position: relative;
    margin:0 auto;
    overflow:hidden;
}

#realtor-contact-form {
    padding: 2%;
    overflow: hidden;
    margin: 20px 2%;
}
.contact-links {
    width: 100%;
    text-align: center;
    overflow: hidden;
    background: #3498db;
}

.realtor-info-block {
    width: 50%;
    display: block;
    font-size: 16px;
    float: left;
    overflow: hidden;
}

.realtor-info-block:first-of-type {
    width: 100%;
}

.realtor-info-block a, .realtor-info-block label {
    display: block;
    padding: 15px 10px;
    color: #fff;
}

.realtor-info-block .fa {
    margin-right: 10px;
    color: #fff;
}

#location-details {
    width: 100%;
}

#location-details h5.realtor-address {
    margin: 0;
    color: #fff;
    padding: 0;
    text-align: center;
    background:#3498db;
    padding: 15px 10px;
    font-size: 20px;
}

#location-details h5.realtor-address .fa {
    margin-right: 10px;
}

#lyf-map-canvas {
    height: 300px;
    width: 100%;
}

/* ==== ABOUT PAGE ==== */

#about-background {
    background-image: url('images/about.jpg');
    background-position: top;
    background-size: 100% auto;
    background-repeat: no-repeat;
}

#about-text {
    margin: 60% auto 0;
}

/* Service Blocks */

.service-blocks {
    text-align: center;
}

.service-block {
    margin: 25px auto 0;
    padding: 25px 2%;
    width: 96%;
    max-width: 400px;
    display: block;
}

.service-block .fa, .service-block svg {
    font-size: 30px;
    color: #3498db;
}

/* Custom Markers */

.lyf-listing-marker {
    width: 40px;
    height: 40px;
    border-radius: 50% 50% 50% 0;
    background: #3498db;
    position: absolute;
    transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    left: 50%;
    top: 50%;
    margin: -20px 0 0 -20px;
    animation-name: bounce;
    animation-fill-mode: both;
    animation-duration: 1s;
    text-align: center;
    transition: all 0.1s;
    -webkit-transition: all 0.1s;
    -moz-transition: all 0.1s;
    -ms-transition: all 0.1s;
    opacity: 0.9;
    z-index: 6;
}

.lyf-listing-marker:hover {
  margin: -25px 0 0 -20px;
  opacity: 1;
  z-index: 9999;
}


.map-marker-icon {
    cursor: pointer;
    position: absolute;
    color: #fff;
    top: 9px;
    font-weight: bold;
    left: 11.5px;
    font-size: 16px;
    z-index: 999;
    transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
}

.map-marker-icon .fa {
    display: block;
    font-size: 20px;
}


/* ==== Blog Content ==== */

.recent-post {
    margin: 15px auto 30px;
    overflow: hidden;
}

.post-title {
    width: 100%;
    position: absolute;
    bottom: 0;
    left: 0;
    background: rgba(0,0,0,0.5);
    margin: 0;
    padding: 15px 10px;
    color: #fff;
    z-index: 2;
}

.post-link {
    display: block;
    width: 100%;
    height: 100%;
    padding: 22% 0;
    text-align: center;
    position: absolute;
    top: 0;
    left: 0;
    background: rgba(0,0,0,0.5);
    margin: 0;
    color: #fff;
    cursor: pointer;
    opacity: 0;
}

.post-link .fa {
    font-size: 70px;
}

.post-thumbnail-box {
    position: relative;
    max-height: 450px;
    overflow: hidden;
    margin-bottom: 10px;
}

.post-thumbnail-box:hover > .post-link {
    opacity: 1;
}

.post-content {
    padding: 15px 10px;
}

.recent-post .post-content p {
    margin: 15px 0;
}

.post-meta-data {
    padding: 0 0 10px;
}

.post-meta-data .fa {
    margin: 0 5px 0 0;
}

.meta-data {
    margin-right: 10px;
    font-size: 14px;
}

.post-thumbnail {
    overflow: hidden;
    clear: both;
    margin: 15px 0 0;
}

.navigation a, .navigation span {
    padding: 0.5em;
    display: inline-block;
    font-size: 1em;
    margin: 0.5em;
    border-radius: 3px;
}

.navigation span.current, .navigation a:hover {
    background: #3498db;
    color: #fff;
}


/* Custom Classes */

.button {
    display: inline-block;
    padding: 10px 15px;
    margin: 1em 0;
    text-align: center;
    border: none;
    border-radius: 3px;
    color: #fafafa;
    cursor: pointer;
    background: #3498db;
    box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
}

.button:hover {
   background: #353535;
}

/* Scroll Load */

#load-now {
    display: block;
    clear: both;
    text-align: center;
    padding: 10px 5px;
    cursor: pointer;
}

footer {
    clear: both;
    overflow: hidden;
    width: 100%;
    padding: 20px 0;
    margin: 0 auto;
}

/* Social Media */

.socialmedia {
    overflow: hidden;
}

.socialmedia a {
    padding: 10px;
    margin-right: 3px;
    display: block;
    float: left;
    width: 40px;
    text-align: center;
}

.socialmedia a:hover{
    color: #3498db;
}

/* ==== ADD THIS SHARING ==== */

.listing-details .addthis_inline_share_toolbox {
    text-align: right;
    margin-top: 10px;
    float:right;
}

#footer-social {
    display: inline-block;
    clear: both;
    overflow: hidden;
}

#footer-social .socialmedia {
    margin: 0 auto;
}

#footer-social .socialmedia a {
    font-size: 19px;
    width: 50px;
}

.copyright {
    text-align: center;
}
/* Footer Widgets */

.footer-widget {
    margin-bottom: 1em;
}
footer ul {
    margin: 0;
}

footer ul li {
    list-style: none;
}

.footer-widget ul li ul li{
    border-bottom: none;
}

/* Page 404  */

#page404 {
    text-align: center;
    padding: 4em 0;
    position: relative;
}

#page404 h1 {
    border-left: none;
    font-size: 3em;
    z-index: 1;
    position: relative;
}

#page404 p {
    z-index: 1;
    position: relative;
}

#page404 a, #page404 .container {
    z-index: 1;
    position: relative;
}

#page404 #searchform {
    margin-top: 2em;
}

/* === TAGS ==== */

a[rel="tag"] {
    padding: 5px;
    display: inline-block;
    margin: 0 0 5px;
    border-radius: 3px;
}

.company-info-block {
    margin: 0 0 10px;
}

.company-info-block .fa {
    margin-right: 10px;
    padding: 5px;
    text-align: center;
    width: 20px;
    height: 20px;
    line-height: 1.5em;
    color: #959595;
}

#contact-us-links {
    background: #3498db;
}

#contact-us-links .company-info-block {
    display: inline-block;
    margin: 5px 0 5px 3%;

}

#contact-us-links .company-info-block .fa, #contact-us-links .company-info-block a, #contact-us-links .company-info-block label {
    color: #fafafa;
}

#contact-us-links .company-info-block label {
    cursor: pointer;
}

@media screen and (min-width: 600px) {
    
/* ==== LISTINGS ==== */

.listing {
    display: inline-block;
    vertical-align: top;
    width: 48.5%;
    margin: 10px -4px 5px 1%;
}

#lyf-full-listings .listing {
    max-width: none;
}

}

@media screen and (min-width: 680px) {
      
/*====== Search Form =======*/
    
#searchform {
    top: 60px;
}
    
#searchContain {
    max-width: 1200px;
    margin: 0 auto;
}

label#searchIcon {
    right: 10px;
}
    
}

@media only screen and (min-width: 768px) {
    
/* Main Content */
    
#page-header {
    padding: 45px 0;
}
    
#lyf-listing-canvas {
    height: 400px;
}
    
#working-with-banner {
    height: 600px;
}
    
/* ==== CONTACT PAGE ==== */
    
.realtor-info-block, .realtor-info-block:first-of-type {
    width: 33.33%;
}
       
#footer-nav {
    float: right;
    margin: 10px 0;
}
    
#footer-nav ul li {
    display: inline;
    margin-right: 5px;
}
}
@media screen and (min-width: 960px) {
    
#featured-area {
    margin-top: 80px;
}
    
/* Main Content */
    
.side-bar-content {
    width: 70%;
    float: left;
}

/* Sidebar */
    
#sidebar {
    width: 22%;
    float: right;
    margin: 0 auto;
}
    
/* ==== LISTINGS ==== */

.listing {
    width: 31.33%;
}
    
#lyf-full-listings .listing {
    width: 32%;
}
    
#listing-request-box {
    margin: 120px auto;
}
    
/* ==== SINGLE LISTING ==== */ 
.single-listing {
    overflow: hidden;
    overflow-y: scroll;
    -webkit-overflow-scrolling: touch;
}
    
.single-listing .listing-sold, .single-listing .listing-pending {
    padding: 19px 15px 18px;
    top:0;
    right: 0;
}
    
/* ==== CONTACT PAGE ==== */
    
    
#message-realtor {
    display: table;
    text-align: center;
    overflow: hidden;
    position: relative;
}
#realtor-map, #realtor-contact-form {
    display: table-cell;
    vertical-align: middle;
    width: 50%;
}
    
#realtor-contact-form .lyf-form {
    text-align: left;
}
    
#lyf-map-canvas {
    position: absolute !important;
    top: 0;
    left: 0;
    height: 100%;
}

/* ==== ABOUT PAGE ==== */
    
#about-background {
  background-size: cover;
}
    
#about-text {
    margin: 170px auto;
    width: 600px;
}
    
/* Service Blocks */


.service-block {
    float: left;
    width: 31.33%;
    margin: 25px 1% 0;
    max-width: none;
}
    
/* Social Media */

.socialmedia a {
    font-size: 19px;
    width: 50px;
}

}

@media screen and (min-width: 1200px) {


}

@media screen and (min-width: 1400px) {
    

    
/* ==== LISTINGS ==== */
    
#lyf-full-listings .listing {
    width: 23.7%;
}
    
#lyf-listing-canvas {
    height: 500px;
}
    
}
