@import url('https://fonts.googleapis.com/css2?family=Jost:wght@300;400;500;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@700&display=swap');
html{
    scroll-behavior: smooth;
}
@font-face {
    font-family: 'PlayfairDisplay-Regular';
    src: url('../fonts/PlayfairDisplay-Regular.woff') format('woff'),
    url('../fonts/PlayfairDisplay-Regular.woff2') format('woff2'),
    url('../fonts/PlayfairDisplay-Regular.eot') format('eot');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

:root {
    --primary-color: #03192E;
    --secondary-color:#9E7C5C;

}
*,
*:before,
*:after {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body{
    font-family: 'Jost', sans-serif;
}
/*********** Section Top CSS Starts *********************/
.sec_top{
    position: fixed;
    width: 100%;
    z-index: 999;
}
.sec_top a img{
    width: 100%;
    max-width: 160px;
}
.sec_top  .navbar{
    padding: 8px 50px;
}
.sec_top .navbar-expand-lg .navbar-nav {
    justify-content: flex-end;
    width: 100%;
}
.sec_top .navbar-expand-lg .navbar-nav  .nav-item{
    margin-right: 10px;
}
.sec_top .navbar-expand-lg .navbar-nav  .nav-item:last-child{
    margin-right: 0;
}
.sec_top .navbar-expand-lg .navbar-nav .nav-link{
    color: #fff;
    font-family: 'PlayfairDisplay-Regular';
    font-size: 20px;
    text-transform: lowercase;
}
.sec_top.scrolled{
    background: var(--primary-color);
}
.sec_top.scrolled a img {
    max-width: 120px;
}
.navbar-toggler {
    z-index: 9;

}
.navbar-toggler i{
    font-size: 25px;
    color: #fff;
}

/************ Home Page Banner CSS Starts ****************/
.sec_home_banner .banner-main{
    height: 100vh;
    display: flex;
    align-items: flex-end;
}
.sec_home_banner .carousel{
    width: 100%;
}
.sec_home_banner .banner-main-owl{
    height: 86vh;
    width: 93%;
    margin: 0 auto;
    position: relative;
    overflow: hidden;
}
.sec_home_banner  .abs-social-media{
    position: absolute;
    left: 0;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 9;
    top: 0;
}

.sec_home_banner  .abs-social-media ul li{
    list-style: none;
    margin-bottom: 10px;
}
.sec_home_banner  .abs-social-media ul li:last-child{
    margin-bottom: 0;
}

.sec_home_banner  .abs-social-media ul li i{
    color: #fff;
    font-size: 28px;
    border: 1px solid #fff;
    border-radius: 50%;
    height: 45px;
    width: 45px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.sec_home_banner  .abs-social-media ul li a{
    text-decoration: none;
}
.sec_home_banner.main    .item{
    height: 90vh;
    background: #000;
}
.sec_home_banner.main     .item img{
    height: 100%;
    object-fit: cover;
    opacity: 0.8;
}
.banner-main-image .abs-social-media{
    position: absolute;
    left: 0;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 9;
    top: 0;
}
.banner-main-image .abs-social-media li{
    list-style: none;
    margin-bottom: 10px;
}
.banner-main-image .abs-social-media li:last-child{
    margin-bottom: 0;
}
.banner-main-image .abs-social-media li a{
    text-decoration: none;
}
.banner-main-image .abs-social-media i{
    color: #fff;
    font-size: 28px;
    border: 1px solid #fff;
    border-radius: 50%;
    height: 45px;
    width: 45px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.banner-main-image .abs-icon{
    position: absolute;
    bottom: 20px;
    left: 0;
    width: 100%;
    display: flex;
    justify-content: center;

}
.banner-main-image .abs-icon a{
    animation: mymove 5s infinite;
    position: relative;
}

/*@keyframes mymove {*/
/*    from {width: 0;}*/
/*    to {width: 100%;}*/
/*}*/
.banner-main-image .abs-icon i{
    font-size: 30px;
    color: #fff;
}
.main-text-home{
    padding: 50px 20px;
}
.main-text-home p{
    margin: 0;
    color: #fff;
    font-size: 25px;
    font-family: 'PlayfairDisplay-Regular';
}


.home-gallery.gallery {
    display: grid;
    grid-template-columns: repeat(8, 1fr);
    grid-template-rows: repeat(10, 5vw);
    grid-gap: 1rem;
    overflow: hidden;
}

.home-gallery .gallery__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.home-gallery .gallery__item--1 {
    grid-column-start: 1;
    grid-column-end: 5;
    grid-row-start: 1;
    grid-row-end: 5;
}

.home-gallery .gallery__item--2 {
    grid-column-start: 1;
    grid-column-end: 5;
    grid-row-start: 5;
    grid-row-end: 11;
}

.home-gallery .gallery__item--3 {
    grid-column-start: 5;
    grid-column-end: 7;
    grid-row-start: 1;
    grid-row-end: 7;
}

.home-gallery .gallery__item--4 {
    grid-column-start: 7;
    grid-column-end: 9;
    grid-row-start: 1;
    grid-row-end: 7;
}

.home-gallery .gallery__item--5 {
    grid-column-start: 5;
    grid-column-end: 9;
    grid-row-start: 7;
    grid-row-end: 11;
}
.home-gallery figure{
    margin: 0;
}
.sec_imoveis{
    padding-top: 50px;
    position: relative;
}
.sec_imoveis h3{
    color: var(--secondary-color);
    margin: 0;
    font-size: 34px;
    font-family: 'PlayfairDisplay-Regular';
    margin-bottom: 10px;
}
.sec_imoveis .sec_title h3{
 margin-bottom: 30px;
}
.sec_imoveis .abs-bg{
    width: 100%;
    background: url('./../images/main-background.jpg');
    background-size: cover;
    position: absolute;
    height: 190px;
    top: 0;
    left: 0;
    z-index: -1;
}
.sec_imoveis .nav-tabs,
.sec_imoveis .search-form{
    width: 80%;
    margin: auto;
    border: none;
}
.sec_imoveis .search-form .form-inline{
    display: flex;
    border: 1px solid var(--primary-color);
}
.sec_imoveis .owl_home_main{
    padding-top: 40px;
}
.sec_imoveis .search-form .form-inline .form-control{
    border-radius: 0;
    font-family: 'PlayfairDisplay-Regular';
}
.sec_imoveis .search-form .form-inline input::placeholder{
    color: var(--primary-color);
}
.sec_imoveis .owl_home_main .owl-item{
    opacity: 0.5 !important;

}
.sec_imoveis .owl_home_main .owl-item .abs-text{
    display: none;
}
.sec_imoveis .owl_home_main .owl-item.medium .abs-text,
.sec_imoveis .owl_home_main .owl-item.big .abs-text {
    display: block;
}
.sec_imoveis .owl_home_main .owl-item.medium,
.sec_imoveis .owl_home_main .owl-item.big
{
    opacity: 1 !important;
}
.sec_imoveis .owl-dots{
    display: flex;
    justify-content: center;
    height: 100px;
}
.sec_imoveis .owl-carousel button.owl-dot.active span{
    background: var(--primary-color) !important;
}
.sec_imoveis .owl-carousel button.owl-dot span{
    background:none !important;
    border: 1px solid var(--primary-color);
}
.sec_imoveis .owl-nav .owl-prev{
    position: absolute;
    left: 45%;
    height: 100px;
}
.sec_imoveis .owl-nav .owl-next{
    position: absolute;
    right: 45%;
    height: 100px;
}
.sec_imoveis .owl-nav i{
    font-size: 28px;
}
.sec_imoveis .nav-tabs .nav-link{
    background: none;
    border: none;
    color: #fff;
    padding: 5px;
    font-size: 19px;
    font-family: 'PlayfairDisplay-Regular';
}
.sec_imoveis .nav-tabs .nav-link.active{
    border-bottom: 1px solid var(--secondary-color);
}
.sec_imoveis .nav-tabs{
    margin-bottom: 10px;
}
.sec_imoveis .nav-tabs .nav-item{
    margin-right: 10px;
}
.sec_imoveis .form-inline a{
    border-radius: 0;
    background: var(--secondary-color);
    line-height: 0;
    display: flex;
    align-items: center;
    width: 200px;
    padding: 0 20px;
    color: #fff;
    text-decoration: none;
    justify-content: center;
    font-family: 'PlayfairDisplay-Regular';
}
.sec_imoveis .form-inline a span{
    font-size: 17px;
    font-family: 'PlayfairDisplay-Regular';
}
.sec_imoveis .sec_btn a{
    background:  var(--primary-color);
    color: #fff;
    padding: 8px 30px;
    text-decoration: none;
	font-size:18px;
}
.arrow-img{
    width: 100%;
    max-width: 20px;
    margin-left: 10px;
}
.sec_imoveis .owl-theme .owl-dots .owl-dot span {
    width: 10px;
    height: 10px;
    margin: 5px 7px;
    background: #D6D6D6;
    display: block;
    -webkit-backface-visibility: visible;
    transition: opacity .2s ease;
    border-radius: 30px;
}
.sec_imoveis .owl_home_main .owl-item{
    position: relative;
}
.sec_imoveis .owl_home_main .owl-item .abs-text{
    position: absolute;
    bottom: 0;
    background: #fff;
    padding: 20px;
    width: 60%;

}
.sec_imoveis .owl_home_main .owl-item .abs-text h3{
    color: var(--primary-color);
    font-size: 21px;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-family: 'Jost', sans-serif;
}
.sec_imoveis .owl_home_main .owl-item .abs-text p{
    color: var(--secondary-color);
    font-size: 16px;
    font-family: 'Jost', sans-serif;
}
.sec_imoveis .owl_home_main .owl-item .abs-text p span{
    color: var(--primary-color);
    font-family: 'Playfair Display', serif;
    font-size: 23px;
}
.contact_link_home{
    padding: 70px 0;
}
.contact_link_home h4{
    font-family: 'PlayfairDisplay-Regular';
    font-size: 38px;
    line-height: 1.5;
    margin-bottom: 25px;
    color: var(--primary-color);
}
/***************** Home News css starts ******************/

.news_home{
    padding: 40px 0;
}
.news_home .sec_title h3{
    color: var(--secondary-color);
    margin-bottom: 30px;
    font-size: 34px;
    font-family: 'PlayfairDisplay-Regular';
}
.news_home h3{
    color: var(--secondary-color);
    font-size: 18px;
    padding-top: 10px ;
    font-family: 'PlayfairDisplay-Regular';
	letter-spacing:1px;
}
.news_home hr{
    color: var(--secondary-color);
    opacity: 1;
    width: 100px;
    height: 2px;
}
.news_home p{
    color: #fff;
    margin-bottom: 30px;
}
.news_home .sec_btn_main{
    margin-top: 40px;
    margin-bottom: 20px;
    display: flex;
    justify-content: center;
}
.news_home  .btn{
    background: var(--secondary-color);
    color: var(--primary-color);
    padding: 5px 30px;
    text-decoration: none;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 18px;
    border: none;
    border-radius: 0;
    width: 180px;
}

.news_home  .btn i{
    font-size: 22px;
    margin-left: 10px;
}
/**************** Home Form part CSS Starts ****************/
.home_newsletter{
    padding: 60px 0;
}
.home_newsletter h3{
    font-family: 'PlayfairDisplay-Regular';
    font-size: 34px;
    color: var(--primary-color);
    line-height: 1.5;
    letter-spacing: 1px;
}
.home_newsletter form{
    background:#03192ed9;
    padding: 40px;
}
.home_newsletter form .form-control{
    background: none;
    color: #fff;
}
.home_newsletter form input::placeholder{
    color: #fff;
}
.home_newsletter .form-check-label{
    color: #fff;
    font-weight: 300;
    font-size: 12px;
}
.home_newsletter form .btn{
    background: var(--secondary-color);
    width: 100%;
    border:none;
    color: var(--primary-color);
    font-weight: 500;
}
/**************** Footer part CSS Starts ********************/
.footer{
    background: var(--primary-color);
    padding: 40px 0;
    border-top: 7px solid var(--secondary-color);
}
.footer ul li{
    color: #fff;
    list-style: none;
    font-family: 'PlayfairDisplay-Regular';
    line-height: 1.7;
    font-size: 20px;
}
.footer ul li a{
    color: #fff;
    text-decoration: none;
}
.last-part ul{
    margin: 0;
    padding: 0;
}
.last-part ul li{
    list-style: none;
    color: var(--primary-color);
    padding: 5px 0;

}
/********************** About Page Banner CSS Starts ***************/
.banner-main .banner-main-image{
    height: 86vh;
    width: 93%;
    margin: 0 auto;
    position: relative;
}
.banner-main .banner-main-image img{
    height: 100%;
    object-fit: cover;
}
.banner-main .banner-main-image .abs-text{
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}
.banner-main .banner-main-image .abs-text h3{
    color: #fff;
    font-size: 65px;
    margin-bottom: 0;
    font-family: 'PlayfairDisplay-Regular';
    letter-spacing: 2px;
}
.about-main {
    padding-top:60px;
    padding-bottom: 130px;
}
.about-main .right{
    position: relative;
}
.about-main .abs-img{
    position: absolute;
    bottom: -70px;
    left: -70px;
}
.about-main .left{
    padding-right: 220px;
    color: #fff;
}
.about-main .left h3{
    color:var(--secondary-color);
    margin-bottom: 30px;
    font-size: 34px;
    font-family: 'PlayfairDisplay-Regular';
}
/************* Equipa Part CSS Start *************/
.main-equipa{
    position: relative;
    padding-bottom: 40px;
}
.main-equipa img{
    height: 550px;
    object-fit: cover;
}
.about-main{
    overflow: hidden;
}
.main-equipa .sec-title h3{
    color: var(--secondary-color);
    margin-bottom: 50px;
    font-family: 'PlayfairDisplay-Regular';
    font-size: 34px;
}
.main-equipa .abs-sec{
    position: absolute;
    bottom: 0;
    width: 100%;
    height: 80%;
    background: #fff;
    z-index: 1;

}
.main-equipa .item{
    z-index: 9;
}
.main-equipa .item h4{
    font-family: 'PlayfairDisplay-Regular';
    margin-top: 10px;
    font-size: 24px;
    letter-spacing: 1px;
    color: var(--primary-color);
    margin-bottom: 0;
}
.main-equipa .item p{
    color: var(--primary-color);
    font-size: 18px;
    font-weight: 500;
}
/***************** Service Part CSS Starts *********************/
.sec_service{
    padding-bottom:40px;
}
.sec_service .sec_title h3{
    margin-bottom: 50px;
    color: var(--primary-color);
    font-family: 'PlayfairDisplay-Regular';
    font-size: 34px;

}
.sec_title h3{
    letter-spacing: 1px;
    font-family: 'PlayfairDisplay-Regular';
    font-size: 34px;
}
.sec_service img{
    width: 100%;
    max-width: 80px;
}
.sec_service p{
    color: var(--primary-color);
    margin-top: 10px;
    margin-bottom: 0;
    text-transform: uppercase;
    font-weight: 500;
}

.sec_parceiros{
    padding-top: 40px;
}
.sec_parceiros .sec_title h3{
    margin-bottom: 40px;
}
.sec_parceiros .item{
    height: 700px;

}
.sec_parceiros .item p{
    color: #fff;
    font-size: 20px ;
    margin: 50px 0;
    font-family: 'PlayfairDisplay-Regular';

}
.sec_parceiros .item a{
    background: var(--secondary-color);
    color: var(--primary-color);
    padding: 5px 20px;
    text-decoration: none;
	font-size: 18px;
}
.sec_parceiros .item .main{
    visibility: hidden;
    opacity: 0;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    padding: 0 40px;
}
.sec_parceiros .item:hover .main{
    visibility: visible;
    opacity: 1;
    transition: opacity 0.8s;
    background: #000000cc;
}
/******** news Page CSS Starts ***********/
.main-news{
    padding-top: 50px ;
}
.main-news h3,
.other-news h4{
    color: var(--secondary-color);
    font-size: 18px;
    padding-top: 10px;
	    letter-spacing: 1px;
    font-family: 'PlayfairDisplay-Regular';
}
.main-news hr,
.other-news hr{
    color: var(--secondary-color);
    opacity: 1;
    width: 100px;
    height: 2px;
}
.main-news img, .other-news img{
    height: 300px;
    object-fit: cover;
}
.main-news p,
.other-news p{
    color: var(--primary-color);
    margin-bottom: 30px;
}
.main-news a ,
.other-news a{
    background: var(--secondary-color);
    color: var(--primary-color);
    padding: 8px 30px;
    text-decoration: none;
	font-size: 18px;
}
/************* Single news page CSS starts *************/
.main_news_single{
    padding: 60px 0;
}
.main_news_single h3{
    color: var(--secondary-color);
    margin-bottom: 30px;
    font-family: 'PlayfairDisplay-Regular';
}
.other-news .sec_title h3{
    margin-bottom: 50px;
    color: var(--primary-color);
}
.other-news{
    margin-bottom: 40px;
}
.form-contact{
    padding: 80px 0;
}
.form-contact .form-control{
    background: none;
    color: #fff;
}
.form-contact input::placeholder,
.form-contact textarea::placeholder{
    color: #fff;
}
.form-contact input:focus,.form-contact textarea:focus
{
    box-shadow: none;
    border-color: #fff;

}
.form-contact .form-check-label{
    color: #fff;
    font-weight: 300;
    font-size: 12px;
}
.form-contact .btn{
    background: var(--secondary-color);
    border: none;
    color: var(--primary-color);
    font-weight: 500;
    padding: 5px 40px;
	font-size: 18px;
}
.btn:focus{
    box-shadow: none;
}
.news_home img{
    height: 300px;
    object-fit: cover;
}
.form-control:focus{
    box-shadow: none;
    border-color: unset;
}
.owl-home-slider2 .item{
    height:unset !important;
}
.owl-home-slider2 img{
    height:350px !important;
}