/* Carousel base class */
.carousel {
  
}

/* Declare heights because of positioning of img element */
.carousel-item {height: 100%;}
/*.carousel-item::before {position: absolute;content: ''; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(146deg, rgba(0,0,0, 0.85) 35%, rgba(0,0,0, 0.25) 100%);}*/

/* Since positioning the image, we need to help out the caption */
.carousel-caption {position: absolute; top: 50%; left:10%; right:0; bottom:0 !important; height: auto; width:40%; transform: translateY(-50%); padding-bottom: 0 !important; padding-top: 0 !important; }

.carousel-caption .section-wrapper { position:relative; display: flex; align-items: center; gap:15px; margin-bottom:1rem; margin-top:1rem; }
.carousel-caption .section-wrapper .section-title { font-size:20px; line-height:30px; font-weight:600; color:var(--bs-white);  margin: 0; text-transform: capitalize;}
.carousel-caption .section-wrapper .dot {width: 10px; height: 10px; background-color:var(--bs-white); border-radius: 50%;}
.carousel-caption .section-wrapper .line {display: inline-block; height: 2px; width:75px; background-color:var(--bs-white); border-radius: 2px;}


.carousel-control-prev .carousel-control-prev-icon, .carousel-control-next .carousel-control-next-icon {position:absolute; top:50%; bottom:0; z-index:1; display:-ms-flexbox; display:flex; -ms-flex-align:center; align-items:center; -ms-flex-pack:center; justify-content:center; width:50px; height:50px; line-height:50px; color:var(--bs-secondary); font-size:16px; text-align:center; opacity:1 !important; transition:opacity .15s ease; background:var(--bs-white); border-radius:7px;}

.carousel-control-prev:hover .carousel-control-prev-icon:hover, .carousel-control-prev:focus .carousel-control-prev-icon:focus,
.carousel-control-next:hover .carousel-control-next-icon:hover, .carousel-control-next:focus .carousel-control-next-icon:focus
{color:var(--bs-white); background:var(--bs-secondary); opacity:1;}

.banner-property-card { background:var(--bs-white); width: 100%; border-radius: 10px; padding: 1rem; box-shadow: 0 10px 25px rgba(0,0,0,0.08);}
.card-header {display: flex; justify-content: space-between; align-items: center;}
.card-header h2{font-size:25px; line-height:35px; color:var(--bs-primary); font-weight:700;}
.badge-banner { background: var(--bs-light); color: var(--bs-secondary); padding: .5rem 1.25rem; border-radius: 20px; font-size: 14px; font-weight: 600;}
.location {margin-top: 1rem; color:var(--bs-primary); font-size: 16px; display: flex; align-items: center; gap:10px;}

.address {margin-top: .75rem; color: var(--bs-gray-700); font-size: 14px;}
.divider {  height: 1px; background:var(--bs-gray-200); margin: .75rem 0;}
.details {display: flex; gap: 30px; color: var(--bs-gray-900); font-size: 14px;}
.card-footer {margin-top: 1rem; display: flex; justify-content: space-between; align-items: center;}

.price {font-size: 20px; font-weight:800; color: var(--bs-secondary);}

.banner-btn { background:var(--bs-primary); color:var(--bs-white); padding: 1rem 1.5rem; border-radius: 10px; text-decoration: none; font-size: 15px; display: flex; align-items: center; gap: 8px; transition: 0.3s ease;}

.banner-btn:hover {background:var(--bs-secondary); color:var(--bs-white);}
.banner-btn i {font-size: 13px;}

@media only screen and ( min-width: 768px) and ( max-width: 980px ) {
 
.carousel-caption {width:70%;}

.carousel-caption .section-wrapper { gap:10px; margin-bottom:.5rem; margin-top:.5rem; }    
.carousel-caption .section-wrapper .section-title {font-size:14px; line-height:20px;}    
.carousel-caption .section-wrapper .line {width:45px;}

.card-header h2{font-size:22px; line-height:30px;}
.badge-banner {  padding: .5rem 1.25rem; font-size: 13px;}
.location {font-size: 15px;}

.address {font-size: 13px;}
.details {font-size: 13px;}
.price {font-size: 20px;}

.banner-btn { padding: 1rem 1.5rem; font-size: 14px;}

}

@media only screen and ( min-width: 600px) and ( max-width: 765px ) {
 
.carousel-caption {width:80%;}
.carousel-caption .section-wrapper { gap:10px; margin-bottom:.5rem; margin-top:.5rem; }    
.carousel-caption .section-wrapper .section-title {font-size:12px; line-height:18px;}    
.carousel-caption .section-wrapper .line {width:30px;}

.card-header h2{font-size:20px; line-height:30px;}
.badge-banner {  padding: .25rem 1rem; font-size: 12px;}
.location {font-size: 14px;}

.address {font-size: 12px;}
.details {font-size: 12px;}
.price {font-size: 18px;}

.banner-btn { padding: .75rem 1.25rem; font-size: 13px;}
    
.carousel-control-prev .carousel-control-prev-icon, .carousel-control-next .carousel-control-next-icon { width:40px; height:40px; line-height:40px; font-size:15px;}
    
   
}


@media only screen and ( min-width: 481px) and ( max-width: 599px ) {
  
.carousel-caption { top: 40%; width:80%;} 
.carousel-caption .section-wrapper { gap:10px; margin-bottom:.5rem; margin-top:.5rem; }    
.carousel-caption .section-wrapper .section-title {font-size:10px; line-height:16px;}    
.carousel-caption .section-wrapper .line {width:30px;}

.card-header h2{font-size:20px; line-height:30px;}
.badge-banner {  padding: .25rem 1rem; font-size: 12px;}
.location {font-size: 14px;}

.address {font-size: 12px;}
.details {font-size: 12px;}
.price {font-size: 18px;}

.banner-btn { padding: .75rem 1.25rem; font-size: 13px;} 
    
.carousel-control-prev .carousel-control-prev-icon, .carousel-control-next .carousel-control-next-icon { width:30px; height:30px; line-height:30px; font-size:13px;}    
}


@media only screen and ( min-width: 320px) and ( max-width: 480px ) {

.carousel-caption { top: 40%; width:80%; } 
.carousel-caption .section-wrapper { gap:10px; margin-bottom:.5rem; margin-top:.5rem; }    
.carousel-caption .section-wrapper .section-title {font-size:10px; line-height:16px;}    
.carousel-caption .section-wrapper .line {width:30px;}

.card-header h2{font-size:20px; line-height:30px;}
.badge-banner {  padding: .25rem 1rem; font-size: 12px;}
.location {font-size: 14px;}

.address {font-size: 12px;}
.details {font-size: 12px;}
.price {font-size: 18px;}

.banner-btn { padding: .75rem 1.25rem; font-size: 13px;}   
    
.carousel-control-prev .carousel-control-prev-icon, .carousel-control-next .carousel-control-next-icon { width:30px; height:30px; line-height:30px; font-size:13px;}      
}



