/*
Theme Name: Confier Market Rate Websites
Theme URI: http://www.coniferllc.com
Author: Mason Digital
Author URI: http://www.masondigital.com/
Description: Conifer Subsites
Version: 1.0.0
License: GNU General Public License
License URI: https://www.gnu.org/licenses/gpl.html
Text Domain: Conifer LLC
*/

/* HEADER
*********************************************/

body{
    font-size: 16px;
    line-height: 1.75;
}

#alert{
	text-align: center;
    padding: 5px 0;
    background: #ce0404;
    color: #fff;
    
}

#alert a{
	    color: #fff;
	   text-decoration: underline;
}

#alert a:hover {
	color: #ddd;
}

#alert p{
	    margin: 0;
	    font-size: 16px;
    }

@media (min-width: 1800px){
    body{
        font-size: 18px;
    }
}

strong, b{
    font-weight: bold;
}

.container{
    width: 100%;
    max-width: 1500px;
    padding: 0 100px;
}

@media (max-width: 991px ){
    
    .container{
        padding: 0 50px;
    }

}

@media (max-width: 767px ){
    
    .container{
        padding: 0 25px;
    }

}

.print-show{
	display: none !important;
}

h2, h3, h4, h5{
    margin-bottom: 15px;
   
}

h1{
    font-size: 300%;
}

h2{
    font-size: 250%;
    font-weight: 700;
}

h3{
    font-size: 200%;
}

h4{
    font-size: 175%;
}

h5{
    font-size: 150%;
}

h6{
    font-size: 125%;
}


hr{
    border-top: 1px solid #ccc;
    margin: 50px 0;
}
input[type="text"], input[type="email"], input[type="tel"], textarea, label{
    width: 100%;
}

article li {
	margin-bottom: 10px;
	line-height: 1.35;
}

.btn, input[type="submit"]{
    /* border: 3px solid #000; */
    padding: 10px 20px;
    text-transform: uppercase;
    border-radius: 0;
   background: none;
    font-size: 85%;
    letter-spacing: 0.25px;
    margin-top: 15px;
    position: relative;
    z-index: 1;
    border: 0;
    transition: all 0.3s;
}

.btn-white{
   background: none;
   color: #fff !important; 
   border: none !important;
}


.btn.btn-white:before{
    border: 3px solid #fff;
}


.btn::before{
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 1;
	border: 3px solid rgba(255,255,255,0.5);
	-webkit-transition: all 0.3s;
	-moz-transition: all 0.3s;
	-o-transition: all 0.3s;
	transition: all 0.3s;
}
.btn:hover::before{
	opacity: 0;
	-webkit-transform: scale(1.2,1.2);
	transform: scale(1.2,1.2);
}
.btn-white::after, .btn:after{
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: -1;
	opacity: 0;
	-webkit-transition: all 0.3s;
	-moz-transition: all 0.3s;
	-o-transition: all 0.3s;
	transition: all 0.3s;
	-webkit-transform: scale(0.5,0.5);
	transform: scale(0.5,0.5);
}

.btn-white::after{
  	background-color: rgba(255,255,255,1) !important;

}


.btn:hover::after{
	opacity: .75 ;
	-webkit-transform: scale(1,1);
	transform: scale(1,1);
	
	
}

.btn:hover{
    color: #fff;
    transition: all 0.3s;
}

img{
    max-width: 100%;
    height: auto;
}


.fa-facebook-official, a .fa-facebook-official:before{
    color: #061d45;
}

.fa-twitter, a .fa-twitter:before{
     color: #061d45;
}


textarea.vfb-form-control{
    max-height: 75px;
}

.btn.anchor{
    margin-right: 15px;
}

.anchors{
    padding: 25px;
    border-top: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
    text-align: center;
}

.anchors .btn{
    margin-top: 0;
    }

.align-right{
    float: right;
    max-width: 50%;
    height: auto;
    padding-left: 50px;
    padding-bottom: 50px;
}

.gf_two_third{
	width: 66.6%;
	display: inline-block;
    vertical-align: top;
    float: none;	
}

.gf_one_third{
	width: 33.3%;
	display: inline-block;
    vertical-align: top;
    float: none;	
}

.gf_one_quarter{
	width: 25%;
	display: inline-block;
    vertical-align: top;
    float: none;	
}

.datepicker.medium{
	width: 100% !important;
}

.gform_footer{
	text-align: center;
}

/* HEADER
*********************************************/

#main-header{
    position: relative;
    text-align: center;
    padding: 25px 25px 0px 25px; ;
    transition: all .2s ease-in-out;
    z-index: 10000 !important;

 }
 
 .header-logo{
     background-size: cover;
     background-position: center center;
     height: 200px;
     width: 200px;
 }
 
 
 .sticky-wrapper.is-sticky #main-header:before{
     display: none;
 }

#main-header .logo{
    margin-bottom: 25px;
    height: 65px;
    width: auto;
}

.is-sticky #main-header .logo{
    height: 50px;
    width: auto;
    transition: all .2s ease-in-out;
    margin-bottom: 15px;
    }

#menu-menu{
    display: flex;
    flex-flow: row nowrap;
    text-transform: uppercase;
    font-size: 18px;
    margin: 0;
    padding: 0;
}

.menu-item a{
    display: block;
    width: 100%;
    height: 100%;
    
}

.home .sticky-wrapper.is-sticky #main-header .menu-item:hover a, .home .sticky-wrapper.is-sticky #main-header .menu-item:hover{
    color: #fff;
}

.header-buttons{
  position: absolute;
  right: 25px;
  top: 0;
}

.header-buttons a{
    text-transform: uppercase;
    font-size: 14px;
    padding:  5px 15px;
}

.header-buttons a:hover{
    text-decoration: none;
}

#google_translate_element{
	width: 100%;
	text-align: center;
	margin: 0 auto;
	position: relative;
	top: -25px;
}

#menu-menu li{
    list-style: none;
    flex: 1;
    margin: 0 5px;
}

#menu-menu li a{
    padding: 10px;
    font-size: 82%;
    }

.is-sticky #main-header{
    transition: all .2s ease-in-out;
    background: rgba(255,255,255, .9);
    
}


/* FOOTER
*********************************************/

#copyright{
    text-align: center;
    padding: 25px;
    margin-top: 25px;
    position: relative;
}

#copyright p{
    margin: 0;
    position: relative;
    }

footer{
    padding-top: 25px;
    font-size: 100%;
}

footer .btn{
    width: 100%;
    display: block;
    margin-bottom: 15px;
    margin-top: 0;
}

footer .social{
    font-size: 40px;

}
footer .social i{
    margin-right: 10px;
    }

.footer-logos{
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    margin-top: 25px;
}


.footer-logos li{
    flex: 1;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    }

.footer-logos li img{
    width: auto;
    height: auto;
    opacity: .75;
    max-height: 40px;
    }    


footer .logos{
    text-align: center;
}

footer .logos img{
    height: auto;
    display: block;
    margin: 0 auto;
    width: 50%;
    max-width: 350px;
}

footer .logos .logo{
    width: 66%;
    height: auto;
    margin: 0 auto;

}

@media (max-width: 1199px){
    footer .logos{
        padding-bottom: 25px;
        }
}

footer .logos .logo-alt{
    max-height: 200px;
    width: auto;

}

footer .contact-info i{
    padding-right: 15px;
}

footer .logo{
    max-width: 300px;
}

footer .contact-info span{
    display: block;
}

.address, .phone-fax-email, .social{
    margin-bottom: 20px;
}

.phone-fax-email i{
    margin-right: 10px;
    }

.contact-us{
    padding: 100px 0;
    position: relative;
}

.contact-us input, .contact-us textarea, .contact-us select{
	color: #000 !important;	
}

.contact-us:before, #copyright:before{
    position: absolute;
    height: 100%;
    width: 100%;
    top: 0;
    left: 0;
    content: '';
}

.contact-us .container-fluid, #main-header  .container-fluid, .contact-us .container, #main-header  .container{
    position: relative;
    z-index: 1;
}

.contact-us .btn, .contact-us .button{
    margin-bottom: 25px;
}

.vfb-fieldType-submit, .contact-us .gform_footer{
	text-align: center;	
}

.vfb-fieldType-submit .btn, .contact-us .gform_footer .button{
	border: 3px solid transparent;
	text-transform: uppercase;
	background-color: rgba(255,255,255,.75);
	color: #000;
}

.gform_body select{
	padding: 8px !important;
}

/* HOMEPAGE
*********************************************/

#feature-home, .secondary-fullwidth{
    text-align: center;
    position: relative;
    overflow: hidden;
    background-position: center center;
    background-size: cover;
}


.secondary-mediaright h2, .secondary-medialeft h2, .secondary-fullwidth h2{
    margin-top: 0;
    
}

@media (min-width: 768px){
#feature-home, .secondary-fullwidth{
    background-attachment: fixed;
    }
    }



.full-width-color-overlay{
    opacity: .4;
    height: 100%;
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
}

#feature-home .container-fluid, .secondary-fullwidth .container-fluid{
        opacity: 1;
        position: relative;
        z-index: 1;

}

#feature-home h1, .secondary-fullwidth h2{
    font-size: 400%;
    color: #FFFFFF;
    text-shadow: 3px 5px 2px rgba(0,0,0,0.50);
}

.secondary-fullwidth h2{
    font-size: 300%;
    text-shadow: 3px 5px 2px rgba(0,0,0,0.50); 
}


#feature-home .btn, .secondary-fullwidth .btn{
border-color: #FFFFFF;
box-shadow: 1px 1px 2px 0 rgba(0,0,0,0.25);
/*text-shadow: 2px 2px 4px rgba(0,0,0,0.25); */
    
}



#feature-home .container-fluid, .secondary-fullwidth .container-fluid{
    padding: 300px 150px;
    }


.secondary-medialeft .container-fluid,
.secondary-mediaright .container-fluid, 
.secondary-medialeft .media, 
.secondary-mediaright .media {
    padding: 0;
    margin: 0;
}

.secondary-medialeft .media a, .secondary-mediaright .media a{
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 80px;
    opacity: .75;
    color: #fff;
}

@media (max-width: 767px){
    .secondary-medialeft .media a, .secondary-mediaright .media a{
min-height: 35vh;
}
}
    

.secondary-medialeft .media a:hover, .secondary-mediaright .media a:hover, .secondary-medialeft .media a:focus, .secondary-mediaright .media a:focus, .secondary-medialeft .media a:active, .secondary-mediaright .media a:active{
    text-decoration: none;
    color: #000;
    }


@media (min-width: 768px){

.secondary-medialeft .container-fluid, 
.secondary-mediaright .container-fluid{
    display: flex;
    flex-flow: row nowrap;
}


.secondary-medialeft .container-fluid h2, 
.secondary-mediaright .container-fluid h2{
    
    font-size: 175%;
    }

}



@media screen { @media (min-width: 768px) {
    
    
    .secondary-medialeft .copy,
.secondary-mediaright .copy{
    display: flex;
    align-items: flex-start;
    justify-content: center;
    flex-flow: column;
    font-size: 105%;
}

    
    
} }





.secondary-medialeft .container-fluid .copy,
.secondary-mediaright .container-fluid .copy
{
    padding: 100px;
}



.secondary-banner{
    text-align: center;
    padding: 25px;
    font-size:  24px;
    font-weight: bold;
}



#feature-home img, .secondary-medialeft img, .secondary-mediaright img, .secondary-fullwidth img{
    display: block;
    min-height: 100%;
    min-width: 100%;
    height: auto;
  
}

#feature-home .intro-copy{
    color: #fff;
    font-size: 150%;
    padding-top: 25px;
    }

@media (max-width: 767px){
    #feature-home .intro-copy{
    font-size: 125%;
    padding-top: 15px;
    }
    }

#feature-home img, .secondary-fullwidth img{
    position: absolute;
    z-index: -1;
    top: -50%;
    bottom: -50%;    
}

.intro-copy hr{
    clear: both;
}


.secondary-banner .btn{
    margin-left: 15px;
    margin-top: 0;
}

.secondary-medialeft .media, 
.secondary-mediaright .media {
    position: relative;
    background-size: cover;
    background-position: center center;
    min-height: 30vw;
    }
    
    


.banner-copy{
    position: relative;
    padding-right: 25px;
    
}


/* PAGES
*********************************************/

#content{
    padding-top: 50px;
}

#content .feature-image img{
    width: 100%;
    height: auto;
    }
    

.intro-copy, .intro-copy p{
    font-size: 110%;
    line-height: 1.5;
}

.pg-secondary-section{
    margin-top: 50px;
    padding-top: 25px;
    border-top: 1px solid #ccc;
    margin-bottom: 50px;
}

.pg-secondary-section h3{
    font-size: 150%;
    text-transform: uppercase;
}

.intro-copy{
    margin-bottom: 25px;
}



.full-width{
    height: 30vw;
    overflow: hidden;
    background-size: cover;
    background-position: center center;
}

@media (min-width: 1500px){
.full-width{
    height: 20vw;
    }
    }


@media (max-width: 767px){
    
    .full-width{
    height: 200px;
    margin-left: -25px;
    margin-right: -25px;
    }
}


/* FLOOR PLAN GALLERY
*********************************************/


#floor-plan-nav{
    list-style: none;
    margin: 0;
    padding: 0;
    width: 25%;
    margin-right: 5%;
}

#floor-plan-nav li{
    list-style: none;
}

#floor-plan-nav .plan-group-name{
    font-size: 115%;
    text-transform: uppercase;
    font-weight: bold;
}

.floor-plan-info{
    text-align: center;
    width: 70%;
}

.floor-plan-info .stats{
    font-size: 125%;
    padding-bottom: 25px
    }

@media (max-width: 991px){
    .floor-plan-specs .stats span{
        display: block;
    }
}


.floor-plan-specs{
    border-bottom: 1px solid #ccc;
}

@media (min-width: 1200px){

.floor-plan-specs{
    display: flex;
    flex-flow:  row nowrap;
}

.floor-plan-info .stats{
    text-align: left;
    /* display: flex; */
    align-items: center; 
    padding-bottom: 0;
}

}

.floor-plan-specs .btn{
    margin: 0;
}


.floor-plan-details h2{
    margin-bottom: 50px;
}
.floor-plan-info .stats span{
    padding-right: 15px;
    display: block;
}

.floor-plan-info .stats i{
    font-size: 175%;
}

.floor-plan-link.active:before{
      content: "\f105";
    font-family: FontAwesome;
    position: absolute;
    left: -25px;
}

.panel-title .floor-plan-link:before{
    content: '';
}


#showAll{
    display: none;
}

.floor-plan-link:hover, .floor-plan-type li{
    cursor: pointer;
    color: #000;
    position: relative;
}

.floor-plan-link.active:hover{
    cursor: default;
}

.floor-plan-link:hover:before{
    content: "\f105";
    font-family: FontAwesome;
    position: absolute;
    left: -25px;
    }

#floor-plan-nav ul{
    margin: 0 15px 0 15px;
    padding: 50px;
    background-color: #F5F5F5;
}





@media (min-width: 1300px){
    #floor-plan-nav ul{
    margin: 0 0 0 15px;
    }
    
}

.floor-plan-link.active{
    font-weight: bold;
    position: relative;
}

.floor-plan-details.active{
    display: block !important;
}

#floor-plans{
    padding-top: 50px;
   /* border-top: 1px solid #ccc; */
    margin-top: 50px;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
}

#floor-plan-nav .plan-group-name{
    display: block;
}

.floor-plan-details .inquire-btn{
    text-align: right;
}

.floor-plan-gallery .slick-prev, .floor-plan-gallery .slick-next{
    width: 30px;
    height: 30px;
    }

.floor-plan-gallery .slick-dots li button::before {
    font-size: 15px;
    }

.floor-plan-gallery .slick-prev:before, .floor-plan-gallery .slick-next:before{
    font-size: 30px;
}

@media (max-width: 1199px){
    
    .floor-plan-details, .floor-plan-details .inquire-btn{
        text-align: center;
    }
    
}

#floor-plan-nav li ul li{
    margin-bottom: 15px;
}

#floor-plan-nav .floor-plan-type{
    padding: 15px;
    margin: 0 0 0 15px;
}

.floor-plan-gallery{
    text-align: center;
    padding: 25px;
}

.floor-plan-gallery img{
    display: inline;
    padding: 15px;

    margin: 0 auto;
    }
    
.floor-plan-details .description{
    font-weight: bold;
    font-size: 150%;
    display: block;
}

.floor-plan-details{
    background-position: center center;
    background-size: 100% auto;
    background-repeat: no-repeat;
}

.floor-plan-specs{
   /* border-bottom: 1px solid #ccc; */
    padding-bottom: 25px;
        margin: 0 0 25px 0;
}


    

.floor-plan-container{
    padding: 25px;
}

.floor-plan-container .slick-dots{
        left: 0;
    right: 0;
}

.floor-plan-container img{
	width: auto;
	}

@media (max-width: 1199px){

.floor-plan-specs .stats{
    text-align: center;
}

}

/* GALLERY
*********************************************/


.photo-gallery{
    display: flex;
    flex-flow: row wrap;
    padding: 0;
    margin: 0 -15px 50px -15px;
}

.photo-gallery p{
    padding: 0 15px;
    }

.photo-gallery li{
    list-style: none;
    width: 20%;
    }
 .gallery-thumb{
    height: 265px;
    background-size: cover;
    background-position: center center;
    margin: 15px;
}   

    



     
       
/*NEIGHBORHOOD MAP
    
    */
    
    #wpsl-search-wrap, .wpsl-search{
        display: none;
    }
    
.neighborhoods { display: flex; flex-direction: row; flex-wrap: wrap; margin: 0 -15px; padding: 0; }
	.neighborhood { flex-basis: calc(25% - 30px); margin: 15px; }

.neighborhood i{
    margin-right: 10px;
    }

/* Contact
*********************************************/

#content .address span, #content .phone-fax-email span{
    display: block;
}

.googlemap{
    margin-top: 50px;
}



/* OTHER
*********************************************/
/* YouTube Video Aspect Ratio */
.video-container { position: relative; padding-bottom: 50%; height: 0; overflow: hidden; min-height: 100%; }
.video-container iframe,
.video-container object,
.video-container embed { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }

/* Google Map Aspect Ratio */
.map-container { position: relative;  padding-top: 10px; height: 40vh; min-height: 300px; overflow: hidden;  }
.map-container iframe,
.map-container object,
.map-container embed { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }

/* SYSTEM
**************************************************/


/* OVERRIDES
*********************************************/


@media (min-width: 1500px){
    
    #menu-menu li a{
    }
}


@media (max-width: 1800px){
    .gallery-thumb{

    height: 303px;
    }
    
    .photo-gallery li{
    width: 25%;
    }
}

@media (max-width: 1400px){
    .gallery-thumb{

    height: 287px;
    }
    
    .photo-gallery li{
    width: 33.333333%;
    }

}


@media (max-width: 1199px){
    
    body{
    font-size: 16px; 
    }    
    
    .secondary-banner{
    font-size: 110%;
    }
    
    .secondary-medialeft .copy,
    .secondary-mediaright .copy{
    font-size:  105%;
    }


     h1{
    font-size: 250%;
    }
    
    h2{
        font-size: 200%;
    }
    
    h3{
        font-size: 175%;
    }
    
    h4{
        font-size: 150%;
    }
    
  #feature-home .container-fluid, .secondary-fullwidth .container-fluid {
    padding: 250px 100px;
}

.contact-us {
    padding: 50px 0;
}

.secondary-medialeft .container-fluid .copy, .secondary-mediaright .container-fluid .copy {
    padding: 75px;
}

  #main-header {
        
        padding: 25px 0px 0px 0px;
        }

        #floor-plan-nav ul{
            padding: 25px;
        }

        .neighborhood{
                flex-basis: calc(50% - 30px);
        }
}

   

@media (max-width: 991px){
    
    button#responsive-menu-button{
        left: 25px !important;
    }
    
    #main-header{
        
                padding: 25px 0px 0px 75px;

        
    }
    
    #feature-home .container-fluid, .secondary-fullwidth .container-fluid{
    padding: 200px 100px;
    }
    
    .container{
        padding: 0 50px;
    }
    .contact-us{
        padding: 50px 0;
    }
    
    .gallery-thumb{
    height: 325px;
    }
    
    .photo-gallery li{
    width: 50%;
    }
    
       
    .secondary-medialeft .container-fluid .copy, .secondary-mediaright .container-fluid .copy {
    padding: 50px;
}
    #feature-home h1, .secondary-fullwidth h2 {
    font-size: 300%;
    }
    
    .secondary-banner .btn{
    margin-top: 15px;
    margin-bottom: 25px;
    margin-left: 0px;
    }
    
    #main-header nav, #main-header .header-buttons{
        display: none;
    }
    
    #main-header .logo{
        float: left;
    }
    
            .pg-secondary-section .full-width, #content .feature-image{
            margin-left: -50px;
            margin-right: -50px;
        }
    
  #main-header .logo{
    max-height: 75px;
    width: auto;
    height: auto;
}

    .is-sticky #main-header .logo{
        max-height: 50px;
    width: auto;
    height: auto;
}

    }

}


@media (max-width: 767px){


    .floor-plan-specs .stats{
        font-size: 125%;
        font-weight: bold;
    }    
    
        #main-header .logo{
    max-height: 50px;
    width: auto;
    height: auto;
}

.is-sticky #main-header .logo{
    max-height: 45px;
    width: auto;
    height: auto;
    transition: all .2s ease-in-out;
    }
    
    
        h1{
    font-size: 200%;
    }
    
    h2{
        font-size: 175%;
    }
    
    h3{
        font-size: 175%;
    }
    
    h4{
        font-size: 125%;
    }
    
    #feature-home .container-fluid, .secondary-fullwidth .container-fluid{
    padding: 150px 50px;
    }
    
    .container{
        padding: 15px 25px;
        }
    .contact-us{
        padding: 25px 0;
    }

    .gallery-thumb{

    height: 200px;
    }
    
    .photo-gallery li{
    width: 50%;
    }
    
    .map-container {  padding-bottom: 60%;   }
    
    #content{
    padding-top: 25px;
    }
    .secondary-medialeft .container-fluid, 
    .secondary-mediaright .container-fluid, 
    .secondary-medialeft .copy, 
    .secondary-mediaright .copy{
        text-align: center;
    
    }
    
    .secondary-medialeft .container-fluid .btn, 
    .secondary-mediaright .container-fluid .btn{
    margin: 0 auto;
    } 

    .btn{
        white-space: normal;
    }
    
    #feature-home h1, .secondary-fullwidth h2 {
    font-size: 250%;
}
    
    }


   @media (max-width: 500px){
       
    .secondary-medialeft .container-fluid .copy, .secondary-mediaright .container-fluid .copy , .secondary-fullwidth .container-fluid {
    padding: 50px 25px;
}
    
    .intro-copy, .intro-copy p{
    font-size: 110%;
    line-height: 1.3;
    }

       #content{
           padding-top: 0;
       }
       
       .btn{
           font-size: 100%;
       }
   
    .gallery-thumb{
        margin:  0 0 15px 0;
        }
    
    .photo-gallery li{
    width: 100%;
    }
    
        #feature-home h1, .secondary-fullwidth h2 {
    font-size: 200%;
}

    #feature-home .container-fluid{
        
    }

    #feature-home .container-fluid{
    padding: 100px 25px;
}

 .neighborhood{
                flex-basis: calc(100% - 30px);
        }
    
    
} 



.virtual-tours{
	display: flex;
	flex-flow: row wrap;
	margin: 0 -25px;
	padding: 0;
	
}
.virtual-tours li{
	width: 50%;
	padding: 25px;
	list-style: none;
}

@media (max-width: 700px){
	.virtual-tours li{
		width: 100%;	
	}
}

.iframe-container{
}

.iframe-container {
  position: relative;
  padding-bottom: 56.25%; /* 16:9 */
  height: 0;
margin-bottom: 15px;
}
.iframe-container iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}