/* styling for the entire website */
html, 
body {
	height: 100%;
	overflow-x: hidden;
	  -webkit-overflow-scrolling: touch;
}

body {
	-webkit-front-smoothing: antialiased;
	text-rendering: optimizelegibility;
	color: #6c6f73;
	position: relative;
}

h1, h2, h3, h4, h5 {
	color: #333;
}

h6 {
	text-transform: uppercase;
	font-weight: bold;
	font-size: 0.8rem;
	letter-spacing: 0.1rem;
}

img {
	max-width: 100%;
}

.blockquote {
	font-size: 1.6rem;
	color: #333;
	border: none;
	padding: 0;
}

.blockquote-footer {
	margin: 1rem 0 0;
}

.added-padding {
	padding: 3rem 0;
}

.lightblue-header {
	color: #86BBD8;
}

/* navbar links styling */
nav.navbar.navbar-expand-lg {
	background-color: #2F4858;
}

li a.nav-link {
	color: #86BBD8;
}

li a.nav-link:hover {
	color: white;
}

a.nav-link.active {
	color: white;
	border-bottom: 1px solid white;
}

/* toggler button/icon styling */
.custom-toggler.navbar-toggler {
    border-color: rgb(255,255,255);
}
.custom-toggler .navbar-toggler-icon {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255,255,255, 0.7)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E");
}

/* Padding, margin, overflow for sections */
.feature-content {
	padding: 5rem 0;
	overflow: hidden;
}

.feature-content img {
	margin-bottom: -5rem;
}

/* Background colors  */
.feature-dark {
	background: #2F4858;
	color: white;
}

.feature-dark h2 {
	color: white;
}

.feature-alt {
	background: #f0f0f0;
}

.bg-grey {
    background-color: #FAFAFA;
    border-top: 1px solid #EEE;
    border-bottom: 1px solid #EEE;
}

/* Buttons and links */
.btn-lightblue {
	border: 1px solid #86BBD8;
	color: #86BBD8;
	background-color: white;
}

.btn-lightblue:hover {
	background-color: #2F4858;
	color: white;
	border: 1px solid #2F4858;
}

.btn-full-blue {
	background-color: #86BBD8;
	color: white;
	border-radius: 0;
}

.btn-full-blue:hover {
	background-color: #2F4858;
	color: white;
	border-radius: 0;
}

.btn-tomato {
	background-color: #F06449;
	color: white;
}

.btn-tomato:hover {
	background-color: #F07D67;
	color: white;
}

.btn-signup {
	border: 1px solid #F06449;
	color: white;
}

.btn-signup:hover {
	background-color: #F07D67;
	border: 1px solid #F07D67;
}

.btn-tomato-outline {
	border: 1px solid #F06449;
	color: #F06449;
}

.btn-tomato-outline:hover {
	background-color: #F07D67;
	border: 1px solid #F07D67;
	color: white;
}

/* breadcrumb styling */
ol.breadcrumb {
	background-color: white;
}

a.breadcrumb-text-color {
	color: #86BBD8;
}

li.breadcrumb-item.active {
	color: #2F4858;
}

.breadcrumb-item+.breadcrumb-item::before {
	color: #2F4858;
}

/* ----------------- STYLING FOR HOMEPAGE -----------------*/

/* Stage: header section with animations and large background image */
#stage {
	background: url('img/modernhouse.jpg') center center no-repeat;
	background-size: cover;
	color: white;
	height: 100%;
	width: 100%;
	display: flex;
	align-items: center;
}

.stage-caption {
	font-size: 1.4rem;
	font-weight: 200;
	max-width: 70rem;
	margin: 0 auto;
	text-align: center;
}

.stage-caption h1 {
	color: white;
	font-weight: bold;
	text-transform: uppercase;
}

/* Featured property of the month section */
* Carousel base class */
.carousel {
  margin-bottom: 4rem;
}
/* Since positioning the image, we need to help out the caption */
.carousel-caption {
  bottom: 3rem;
  z-index: 10;
}

/* Declare heights because of positioning of img element */
.carousel-item {
  height: 32rem;
  background-color: #777;
}
.carousel-item > img {
  position: absolute;
  top: 0;
  left: 0;
  min-width: 100%;
  height: 100%;
}

.carousel-headline {
	color: white;
	font-weight: bold;
}

/* Properties cards section */
.card {
	border-radius:0;
}

.card-section {
	padding: 5rem 0;
	overflow: hidden;
}

.card-body {
	padding: 0;
	margin-left: auto;
	margin-top: 1rem;
}

.card-headline {
	text-transform: uppercase;
	font-weight: bold;
	font-size: 0.8rem;
	letter-spacing: 0.1rem;
	margin: 0.25rem 0;
}

.card-img-top {
	border-radius: 0;
}

.card-footer {
	background-color: #2F4858;
}

div.card-footer.text-center.text-white {
	border-radius: 0;
}

.price-size {
	font-size: 1.2rem;
	font-weight: bold;
}

/* Client testimony section */
#testimonial .feature-content {
	padding: 0;
}

img.client-img {
	margin-bottom: 0;
}

/* Services section */

.icon-size {
	height: 5rem;
	width: 5rem;
}

/* Selling section */
div.card.about-card.flex-md-row.mb-4.h-md-450 {
	border: 0;
}


/* FOOTER STYLING */
#main-footer {
	background: #2F4858;
	color: white;
	padding: 6rem 0;
	font-size: 0.8rem;
}

#main-footer h6 {
	color: #86BBD8;
}

#main-footer a {
	color: white;
}

.social-icons {
	font-size: 2rem;
	padding-right: 1%;
}

.social-icons i {
	color: #F06449;
}

.social-icons i:hover {
	color: #F07D67;
}

address {
	line-height: 1.5rem;
}

/* ----------------- STYLING FOR ABOUT PAGE -----------------*/

/* Stage: header section with animations and large background image */
#stage-about {
	background: url('img/team.jpg') center center no-repeat;
	background-size: cover;
	color: white;
	height: 100%;
	width: 100%;
	display: flex;
	align-items: center;
}

.checkpoint {
    margin: 15px 0px;
}
.checkpoint i {
    float: left;
    padding: 5px;
    border-radius: 50%;
    color: #F06449;
    border: 1px solid #F06449;
    margin-right: 5px;
}

/* ----------------- STYLING FOR PROPERTIES PAGE -----------------*/

/* Stage: header section with animations and large background image */
#stage-properties {
	background: url('img/properties-stage.jpg') center center no-repeat;
	background-size: cover;
	color: white;
	height: 100%;
	width: 100%;
	display: flex;
	align-items: center;
}

a#nav-profile-tab.nav-item.nav-link, a#nav-contact-tab.nav-item.nav-link, a#nav-home-tab.nav-item.nav-link   {
	color: #86BBD8;
}


a#nav-home-tab.nav-item.nav-link.active.show, a#nav-contact-tab.nav-item.nav-link.active.show, a#nav-profile-tab.nav-item.nav-link.active.show  {
	color: #2F4858;
}


a#nav-home-tab.nav-item.nav-link.active {
	color: #2F4858;
}

/* Modified card styles */
.card .properties-page {
  	-webkit-box-shadow: 0 7px 6px -6px rgba(0, 0, 0, 0.3);
          box-shadow: 0 7px 6px -6px rgba(0, 0, 0, 0.3);
}
.card .card-header p {
  	margin: 0;
}

.card-img-properties {
  	background-position: center center;
  	height: 11em;
  	background-size: cover;
}

.card .avatar {
    max-width: 5.5em;
    max-height: 5.5em;
    margin-top: -3em;
    margin-bottom: 1em;
    border: 4px solid white;
    border-radius: 50%;
  	background-color: #2F4858;
}

.card .avatar:hover { 
    background-color: #86BBD8;
}

.line {
	width: 90%;
}

.property-icons {
	width: 2.5rem;
}
              
/* ----------------- STYLING FOR APARTMENT PAGE -----------------*/
#stage-apartment {
 	background: url('img/appartment.jpg') center center no-repeat;	
	background-size: cover;
	color: white;
	height: 100%;
	width: 100%;
	display: flex;
	align-items: center; 
}

#about-apartment {
	background: tomato;
	padding: 2%;
	color: white;
}

header .carousel-item {
  height: 100vh;
  min-height: 300px;
  background: no-repeat center center scroll;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
}

div.row.justify-content-center{
	text-align: center;
}

.location-text {
	font-weight: bold;
	font-size: 1.2rem;
}

.apartment-icon-size {
	height: 3rem;
	width: 3rem;
}

.location-pin-icon-size {
	font-size: 2rem;
}

.border-right {
	border-right: 1px solid white;
}

#listings .carousel-item {
  height: 50vh;
  min-height: 300px;
  background: no-repeat center center scroll;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
}

i.fas.fa-check-square {
	color: #F06449;
	padding-right: 2%;
}

/* Styling for the vertical tabs on apartment and house pages */
a#v-pills-home-tab.nav-link.active.show{
	background-color: tomato;
	color: white;
}

a#v-pills-home-tab.nav-link.active {
	background-color: tomato;
	color: white;
}

a#v-pills-home-tab.nav-link {
	color: tomato;
}

a#v-pills-profile-tab.nav-link {
	color: tomato;
}

a#v-pills-profile-tab.nav-link.active.show {
	background-color: tomato;
	color: white;
}

a#v-pills-contact-tab.nav-link {
	color: tomato;
}

a#v-pills-contact-tab.nav-link.active.show {
	background-color: tomato;
	color: white;
}

/* ----------------- STYLING FOR HOUSE PAGE -----------------*/

#stage-house {
 	background: url('img/large-modern-house.jpg') center center no-repeat;	
	background-size: cover;
	color: white;
	height: 100%;
	width: 100%;
	display: flex;
	align-items: center; 
}

#about-house {
	background: #2F4858;
	padding: 2%;
	color: white;
}

/* ----------------- STYLING FOR RENTAL PAGE -----------------*/

#stage-rental {
 	background: url('img/rental4.jpg') center center no-repeat;	
	background-size: cover;
	color: white;
	height: 100%;
	width: 100%;
	display: flex;
	align-items: center; 
}

#about-rental {
	background: #86BBD8;
	padding: 2%;
	color: white;
}

/* ----------------- STYLING FOR PROJECTS PAGE -----------------*/

/* Style the video: 100% width and height to cover the entire window */
#myVideo {
    position: ;
       right: 0;
       bottom: 0;
       min-width: 100%; 
       min-height: 100%;
}

.video-headline	{
	position: absolute;
	  top: 60%;
	  width: 100%;
	  font-size: 36px;
	  letter-spacing: 3px;
	  color: #fff;
	  text-align: center;
}


.project-grid {
	margin-bottom: 5rem;
}

.grid-margin {
	margin-bottom: 20px;
}

.grid-padding {
	padding-right: 10px;
	padding-left: 10px;
}

.project-img {
    opacity: 1;
    display: block;
    width: 100%;
    height: auto;
    transition: .5s ease;
}

.middle {
	transition: .5s ease;
	  opacity: 0;
	  position: absolute;
	  top: 50%;
	  left: 50%;
	  transform: translate(-50%, -50%);
	  -ms-transform: translate(-50%, -50%);
	  text-align: center;
}

.project-title {
	color: blue;
}

.grid-padding:hover .project-img {
  opacity: 0.3;
}

.grid-padding:hover .middle {
  opacity: 1;
}

.projects-padding {
	padding: 3rem 0;
	overflow: hidden;
}

/* styling for projectalt.html */
.fadein img{
opacity:0.5;
transition: 1s ease;
}

.fadein img:hover{
opacity:1;
transition: 1s ease;
}


/* ----------------- STYLING FOR PROJECT DETAIL PAGE -----------------*/

#stage-projectpage {
 	background: url('img/project1.jpg') center center no-repeat;	
	background-size: cover;
	color: white;
	height: 100%;
	width: 100%;
	display: flex;
	align-items: center; 
}

div.map-responsive {
	padding-bottom: 40%;
}


/* ----------------- STYLING FOR SERVICE PAGE -----------------*/
#stage-services {
 	background: url('img/handshake.jpg') center center no-repeat;	
	background-size: cover;
	color: white;
	height: 100%;
	width: 100%;
	display: flex;
	align-items: center; 
}

.service-padding {
    padding-top: 120px;
    padding-bottom: 120px;
}

/* ----------------- STYLING FOR CONTACT PAGE -----------------*/
#stage-contact {
	background: url('img/view.jpg') center center no-repeat;
	background-size: cover;
	color: white;
	height: 100%;
	width: 100%;
	display: flex;
	align-items: center;
}

/* contact-alt styling */
.map-responsive{
    overflow:hidden;
    padding-bottom:50%;
    position:relative;
    height:0;
}
.map-responsive iframe{
    left:0;
    top:0;
    height:100%;
    width:100%;
    position:absolute;
}


/* ----------------- RESPONSIVE STYLING -----------------*/

@media screen and (min-width: 991px) {
	
	.feature-content {
		display: flex;
		align-items: center;		
	}
	
	#floorplan .feature-content {
		display: flex;
		align-items: flex-start;
	}

}

@media screen and (max-width: 991px) {
	
	.responsive-testimony {
		margin-top: 1.5rem;
	}
	
	.about-text {
		padding-left: 4%;
	}
	
	.contact-details {
		padding-top: 4%;
	}
	
	header .carousel-item {
	  height: 100%;
	  min-height: 300px;
	  background: no-repeat center center scroll;
	  -webkit-background-size: cover;
	  -moz-background-size: cover;
	  -o-background-size: cover;
	  background-size: cover;
	}
	
	#listings .carousel-item {
  	  height: 100%;
  	  min-height: 300px;
  	  background: no-repeat center center scroll;
  	  -webkit-background-size: cover;
  	  -moz-background-size: cover;
  	  -o-background-size: cover;
  	  background-size: cover;
	}
	
	.carousel-item {
  	  height: 100%;
  	  min-height: 300px;
  	  background: no-repeat center center scroll;
  	  -webkit-background-size: cover;
  	  -moz-background-size: cover;
  	  -o-background-size: cover;
  	  background-size: cover;
	}
	
	div.col-lg-6.service-img.overflow-hidden {
		padding: 0;
	}
	
	.grid-padding {
		margin-bottom: 2%;
	}
	
	.grid-margin { 
		margin-bottom: 2%;
	}
	
	.card-title {
		margin-top: 1.5rem;
	}

}