
.div-pos-bottom {
    position: absolute;
    bottom: 0;
}





.col-pad-right {
    padding: 0 15px 0 0;
}

.col-pad-left {
    padding: 0 0 0 15px;
}


/* 
    #################################################################################################### 
                                                    GLOBAL 
    #################################################################################################### 
*/


body {
    padding: 0 3rem;
}

.mobile-only {
    display: none;
}

.overlay{
    display: none;
    position: fixed;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 2000;
    background-color: rgba(0,0,0,0.8);
    color: #FFFFFF;
}

.overlay p{
    position: relative;
    top: calc(50% - 2rem);
    margin: auto;
    text-align: center;
}

.error{ 
    display: none;
}

.checked {
    color: orange;
}

.navbar-custom {
    /* background: rgba(0,0,0,0.5); 
    background-color: navy;
    background-color: #ffffff;
    background-color: #b5a170;
    background-image: url("https://www.transparenttextures.com/patterns/farmer.png"); */
    /*   text-shadow: 1px 1px white; */
    padding: 0px;
    height: 4.5rem;
    z-index: 1;
    background-color: #ffffff;
}


.navbar a {
    border-width: 0px 0px 1px 0px;
    border-style: solid;
    border-color: #ffffff;
    font-weight: 100;
}

.navbar a:hover {
    border-color: #007bff;
    text-decoration: none;
}

.navbar a.navbar-brand:hover {
    border-color: #FFFFFF;
}

.navbar-nav li {
    padding-left: 1rem;
    padding-right: 1rem;
}


.navbar sup {
    font-size: 50%;
    top: -1em;
}

.navbar-light .navbar-nav .nav-link,
.navbar-light .navbar-nav .nav-link:hover {
    color: #007bff;
}

.navbar h4 {
    margin: 0.2rem 0;
    font-size: 1.25rem;
}

.navbar h6 {
    margin-bottom: 0.5rem;
    font-size: 0.875rem;
}


.h-100vh {
    height: 100vh;
}

.bg-secondary {
    background: rgba(0, 0, 0, 0.5);
}

.fas {
    margin-right: 10px;
}

.icon {
    height: 2rem;
}

.icon-navbar {
    height: 1.5rem;
    vertical-align: bottom;
    margin-right: 1rem;
}

.icon-navbar-logo {
    height: 3rem;
    vertical-align: bottom;
}

h5{
    margin: 0.5rem 0;
}


.whatsapp{
	position:fixed;
	width:60px;
	height:60px;
	bottom:30px;
	right:30px;
	background-color:#25d366;
	color:#FFF;
	border-radius:50px;
	text-align:center;
    font-size:30px;
	box-shadow: 2px 2px 3px #999;
    z-index:100;
}

.my-whatsapp{
	margin-top:14px;
    margin-left: 2px;
}

.whatsapp:hover{
    color: white;
}

.my-whatsapp:hover{
    color: beige;
}




@media (max-width: 768px) {

    body {
        padding: 0 1rem;
    }
    
    .navbar {
        padding: 0 1rem;
    }
 
    .navbar .navbar-collapse{
        background-color: inherit;
    }

    /* Fix logo */
    .navbar h6 {
        font-size: 0.75rem;
    }

    .navbar h3 {
        font-size: 1.25rem;
    }

    .mobile-only {
        display: block;
    }

    .mobile-off {
        display: none;
    }
    
    .whatsapp{
        position:fixed;
        width:50px;
        height:50px;
        bottom:20px;
        right:20px;
        background-color:#25d366;
        color:#FFF;
        border-radius:40px;
        text-align:center;
        font-size:24px;
        box-shadow: 2px 2px 3px #999;
        z-index:100;
    }
}




/* 
    #################################################################################################### 
                                                HOMEPAGE 
    #################################################################################################### 
*/


.home {
    padding: 0;
}

.home-carousel-container {
    height: 100vh;
}

.home .carousel img {
    object-fit: contain;
    width: 100%;
    height: auto;
}

.home .carousel-caption {
    width: 40%;
    background-color: rgba(0, 0, 0, 0.5);
    margin: auto;
}


.home .navbar {
    background-color: rgba(0, 0, 0, 0.4);
}


.home .navbar a,
.home .navbar .nav-link,
.home .navbar .navbar-brand:hover {
    color: #ffffff;
    border-color: transparent;
    border-bottom-width: 1px;
}

.home .navbar .nav-link:hover {
    color: #ffffff;
    border-color: #ffffff;
}


.home .navbar .navbar-brand{
    margin-left: 1rem;
}




/* fix booking form sticking on mobile screens */
@media (max-width: 768px) {

    .home .navbar {
        background-color: rgba(0, 0, 0, 0.7);
    }

    .home .carousel img {
        object-fit: contain;
        width: auto;
        height: 100%;
    }
    
    .home .carousel-caption {
        width: 70%;
    }
    
    
    .home .navbar .navbar-toggler{
        margin-right: 1rem;
    }
    
    .home .navbar .navbar-nav .nav-item{
        margin-left: 1rem;
    }
    
    .home .navbar .navbar-brand {
        margin-left: 1rem;
    }
    
    
}



/* 
    #################################################################################################### 
                                                PROPERTY LIST 
    #################################################################################################### 
*/


.properties{
  /*  background-image: url(../media/images/contacts.jpg);
    background-size: cover; */
}



.scroll {
    /* padding-top: 58px;*/ 
   /* margin: 1rem 0; */
}


.prop-list-item{
    border-style: solid;
    border-width: 1px 0px 1px 0px;
    border-color: #dddddd;
  /*
    padding: 1.5rem 0;
    margin: 1.5rem 0;
    */
    padding: 1rem;
    border-width: 1px;
    margin-bottom: 1rem;
}

/*
.prop-list-first,
.prop-list-last
{
    margin: 0;
    padding: 0;
    border-color: transparent;
}
*/

.prop-features {
    text-align: justify;
    margin-bottom: 0;
}

.prop-features li {
    font-size: 0.75rem;
    /* 14 px 0.875rem / 12 px 0.75rem  */
    border-style: solid;
    border-width: 1px;
    margin: 2px 0px;
    padding: 2px 5px;
    border-color: cornflowerblue;
    border-radius: 5px;
}

.prop-features li.list-inline-item{
    margin-right: 0.2rem;
}


.prop-desc-img {
    /* height: 90vh; */
    /* height: calc(100vh - 88px); */
}

.prop-list-item-desc{
    padding: 0 0rem 0 1rem;
}

.icon-container{
    font-size: 0.85rem;
    color: #666666;
}

.prop-list-item-desc .row{
    text-align: justify;
    margin: 0.5rem 0;
    height:auto;
}

.prop-list-item-desc .col{
    padding: 0;
}


@media (max-width: 768px) {

    /*
    .prop-list-item .p-0{
        padding: 0 1rem!important;
    }
    */
    
    .prop-list-item-desc{
        padding: 0;
    }
}






/* 
    #################################################################################################### 
                                                PROPERTY DESCRIPTION 
    #################################################################################################### 
*/


.booking {
    position: -webkit-sticky;
    /* Safari */
    position: sticky;
    top: 0;
    border: 1px solid rgba(0, 0, 0, .125);
    border-radius: .25rem;
}

.booking input{ 
    padding: 0.5rem;
    font-size: 0.85rem;
    width: 100%;
}

.booking .total{
    margin-top: 0.5rem;
}

.carousel-container {
    height: 500px;
    width: 100%;
    margin-right: 2rem;
}

.carousel {
    height: 100%;
}

.carousel-inner,
.carousel-item {
    height: 100%;
}

.carousel img {
    object-fit: contain;
    height: 100%;
    width: 100%;
    margin: auto;
}

.carousel-control-container {
    padding: 1rem;
    background: rgba(0, 0, 0, 0.5);
}

.carousel .carousel-arrow {
    width: 4rem;
}


.carousel-control-fullscreen {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 20%;
    width: 60%;
}


.form-control:disabled,
.form-control[readonly] {
    background-color: #ffffff;
}


.prop-details table {
    width: 100%;
    text-align: center;
}

.prop-details table td {
    padding-bottom: 1rem;
    font-size: 0.85rem;
    color: #666666;
    width: 33.333333%;
}


.prop-details p {
    margin-top: 0.2rem;
    margin-bottom: 0.2rem;
}



.desc-anchor {
    display: block;
    position: relative;
    top: -5rem;
    visibility: hidden;
}

.desc-menu .fas,
.desc-menu .far {
    margin-right: 0.5rem;
}

.desc-menu .nav-item:hover,
.desc-menu .nav-link:hover {
    text-decoration: none;
    color: #007bff;
}

.desc-menu .book-btn {
    display: none;
}


.navbar.nav-item {
    text-align: center;
}


.desc-menu .active {
    border-color: #007bff;
}

.desc-menu p {
    display: inline;

}

.desc-item {
    margin-top: 3rem;
    text-align: justify;
    padding: 0;
}


.desc-item h5{
    /* font-style: italic; */
    margin-top: 1rem;
    margin-bottom: 1rem;
}

.desc-item .itemlist{
    margin-top: 1.5rem;
}

.desc-item .label{
    list-style-type: circle;
    list-style-position: inside;
    display: list-item;
}

/*
.desc-item ul{
    list-style-type: none;
    padding-inline-start: 0;
}

.desc-item li{
    display: inline-grid;
    width: 33%;
    margin-bottom: 1rem;
    padding-right: 1rem;
}
*/
.desc-item .desc{
    font-size: 0.85rem;
    padding-left: 1.4rem; /* ALTERAR !!! ENGENHOCA */
}
     
/* Flatpkr */

.dayContainer {
    overflow: hidden;
}

.disabled::after {
    background-color: #e5e5e5;
    content: "";
    right: -100%;
    padding-bottom: 100%;
    position: absolute;
    top: 0;
    -webkit-transform: skewX(-45deg);
    transform: skewX(-45deg);
    width: 100%;
    z-index: -2;
    -webkit-transform-origin: 0 0;
    transform-origin: 0 0;
}

.disabled::before {
    background-color: #e5e5e5;
    content: "";
    right: 0;
    padding-bottom: 100%;
    position: absolute;
    top: 0;
    -webkit-transform: skewX(-45deg);
    transform: skewX(-45deg);
    width: 100%;
    z-index: -2;
    -webkit-transform-origin: 0 0;
    transform-origin: 0 0;
}



/* Country selector fix */
.flag-dropdown,
.country-select.inside .selected-flag {
    width: 100%;
}

.country-select.inside input[type=text] {
    padding-right: 19px;
    padding-left: 36px;
}

/* Modals */

.modal-body {
    overflow-y: auto;
    height: 70vh;
}


.modal-carousel {
    background-color: rgb(30, 30, 30);
}

.modal-carousel .modal-body {
    height: 100vh;
    width: 100vw;
    overflow-y: visible;
}

.modal-carousel button {
    position: fixed;
    top: 0;
    right: 0;
    padding: 1rem;
    font-size: 3rem;
    color: #FFFFFF;
    z-index: 1;
}


.modal-body hr{
    margin: 0.5rem 0;
}

.modal-body .flatpickr-calendar.inline{
    margin: auto;
    margin-bottom: 1rem;
}

.modal-body .form-check-input{
    position: relative;
    margin-left: 0;
}

#modal-3 img{
    width: 100%;
    height: 100%;
} 

.review-item{
    margin-top: 2rem;
}

.review-item .message{
    margin-top: 1rem;
}

.review-item .message{
    margin-top: 0.5rem;
}


/* fix booking form sticking on mobile screens */
@media (max-width: 768px) {

    .carousel .carousel-arrow {
        width: 2rem;
    }

    .page-footer {
        display: none;
    }

    .booking {
        position: inherit;
        border-style: none;
    }

    .navbar li {
        padding: 0;
    }

    .navbar p {
        font-size: 0.5rem;
    }

    .navbar .fa-lg {
        font-size: 1.5em;
        display: block;
    }

    .carousel {
        /*   
        width: 100%;
        height: auto;
    */
    }

    .carousel-container {
        height: 200px;
    }


    .desc-menu {
        width: 100%;
        border-style: none;
        border-width: 0;
        position: fixed;
        bottom: 0;
        left: 0;
        top: auto;
        padding: 0.75rem 1rem 0.5rem 1rem;
    }

    .desc-menu .fas,
    .desc-menu .far {
        margin-right: 0;
    }

    .desc-menu a:hover {
        border-color: white;
    }

    .desc-menu a.active {
        border-color: #007bff;
    }
 
    .desc-item .flatpickr-calendar.inline {
        margin: auto;
    }

    .desc-anchor {
        top: -1rem;
    }

    .book-btn {
        display: block;
    }

    .modal-body {
        height: auto;
    }

    .modal-carousel .modal-body {
        height: 95vh;
    }
}


/* 
    #################################################################################################### 
                                                CONTACT US 
    #################################################################################################### 
*/


.contact{
    background-image: url(../media/images/contacts.jpg);
    background-size: cover; 
}

.contact .container{
    margin-top: 7rem;
    background-color: rgba(255,255,255,0.85);
    padding: 2rem;
}

.contact .alert{
    display: none;
}


/* 
    #################################################################################################### 
                                                WEDDINGS 
    #################################################################################################### 
*/

.weddings-bg1{
    background-image: url(../media/images/weddings/3.jpg);
    background-size: cover; 
}

.weddings-bg2{
    background-image: url(../media/images/weddings/4.jpg);
    background-size: cover; 
}

.quotation{
    color: wheat;
    position: relative;
    top: 7rem;
    background-color: rgba(0,0,0,0.85);
    padding: 2rem;
}

.full_height{
    height: 100vh;
}

.full_width{
    width: 100vw;
}


video{
    background-color: black;
}

.intro{
    color: wheat;
    position: absolute;
    bottom: 10rem;
    right: 3rem;
    left: auto;
    width: 35rem;
    background-color: rgba(0,0,0,0.85);
    text-align: justify;
}