/*** header ***/
header{
    position: absolute;
    left: 0; top: 0;
    width: 100%;
    z-index: 999;
}
#logo img{
    max-width: 180px; max-height: 180px;
    width: auto; height: auto;
    position: absolute;
    top: 0;
}
#top-menu{
    
}
#top-menu{
    background: var(--color-blue);
    border-bottom: 4px solid var(--color-orange);
    position: relative;
}
#top-menu::after{
    content: "";
    width: 100vw; height: calc( 100% + 4px );
    display: block;
    position: absolute;
    top: 0; left: 100%;
    background: var(--color-blue);
    border-bottom: 4px solid var(--color-orange);
}
#top-menu .bg-light{
    background: transparent !important;
}
#top-menu .nav-link{
    text-transform: uppercase;
    color: var(--color-white);
}
.make-offer-button{
    border: none;
    background: var(--color-orange);
    text-transform: uppercase;
    color: var(--color-white);
    padding: 12px 18px;
    position: absolute;
    top: 0; right: 0;
    font-size: 16px;
    line-height: 1em;
}

/*** footer ***/
#copyright{
    background: var(--color-blue);
    color: var(--color-white);
    font-size: 14px;
}
#copyright a{
    color: var(--color-orange);
}
#footer-top{
    background: var(--color-dark-white);
    padding-top: 35px;
    padding-bottom: 35px;
}
#footer-top h3{
    font-size: 22px;
    padding-bottom: 25px;
    margin-bottom: 32px;
    position: relative;
}
#footer-top h3::after{
    content: "";
    width: 81px; height: 2px;
    background: var(--color-orange);
    position: absolute;
    left: 0; bottom: 0;
}
#footer-top .info p{
    padding-bottom: 15px;
}
#footer-top .info p:last-child{
    padding-bottom: 0;
}
#footer-top a{
    color: var(--color-black);
}

/*** Banners ***/
#banners, #banners .banner-image{
    height: 840px;
}
#banners img {
    width: 100%; height: 100%;
    position: absolute;
    top: 50%; left: 50%;
    transform: translate(-50%,-50%);
    object-fit: cover;
}
#banners .banner-image{
    position: relative;
}
#banners .owl-carousel .owl-nav .owl-next, 
#banners .owl-carousel .owl-nav .owl-prev{
    display: none;
}
#banners .description{
    position: absolute;
    width: 90%; top: 50%;
    left: 35px; 
    max-width: 480px;
    transform: translateY(-50%);
}
#banners .description.full-width{
    max-width: 100%;
}
#banners .description .read-more{
    display: inline-block;
    border: 2px solid var(--color-white);
    color: var(--color-white);
    text-transform: uppercase;
    padding: 15px 18px;
    margin-top: 30px;
}
#banners h1{
    font-size: 42px;
    font-weight: bold;
    line-height: 1.4em;
    color: var(--color-white);
}
#banners h1 .highlight{
    color: var(--color-orange);
}
#banners .owl-dots{
    width: 20px; height: auto;
    position: absolute;
    bottom: 33px; right: 33px;
}
#banners .owl-dots .owl-dot{
    width: 33px; height: 33px;
    border-radius: 50%;
    border: 2px solid var(--color-white);
    margin-top: 10px;
}
#banners .owl-dots .owl-dot:hover,
#banners .owl-dots .owl-dot.active{
    background: var(--color-blue);    
}
/*** Adverts ***/
.adverts.adverts-1{
    position: relative;
}
.adverts.adverts-1 .img{
    height: 280px;
    position: relative;
}
.adverts.adverts-2{
    position: relative;
}
.adverts.adverts-2 .img{
    height: 280px;
    position: relative;
}
.adverts img {
    width: 100%; height: 100%;
    position: absolute;
    top: 50%; left: 50%;
    transform: translate(-50%,-50%);
    object-fit: cover;
}
.adverts.adverts-1 .description{
    position: absolute;
    left: 40px; bottom: 15px;
    width: calc( 100% - 40px - 25px );
}
.adverts.adverts-2 .description{
    position: absolute;
    left: 25px; bottom: 15px;
    width: calc( 100% - 25px - 25px );
}
.adverts .read-more{
    display: inline-block;
    border: 2px solid var(--color-white);
    color: var(--color-white);
    text-transform: uppercase;
    padding: 15px 18px;
    margin-top: 30px;
}
.adverts .read-more{
    position: absolute;
    bottom: 0; right: 0;
}
.adverts h2{
    font-size: 42px;
    font-weight: bold;
    line-height: 1.4em;
    color: var(--color-white);
}
.adverts h2 .highlight{
    color: var(--color-blue);
}

/*** Product Slider ***/
#productsSliderTab.nav-pills{
    margin-bottom: 40px;
}
#productsSliderTab.nav-pills .nav-link {
    border-radius: 0;
    border: 2px solid var(--color-black);
    color: var(--color-black);
    text-transform: uppercase;
    padding: 10px 15px;
    margin-right: 25px;
}
#productsSliderTab.nav-pills .nav-link.active,
#productsSliderTab.nav-pills .nav-link:hover, 
#productsSliderTab.nav-pills .show > .nav-link {
    background-color: transparent;
    border-color: var(--color-blue);
    color: var(--color-blue);
    
}

.product_item{
    width: 260px;
    /* max-width: calc( 20% - 5px ); */
    margin: 0 auto;
    border: 1px solid var(--color-dark-white);
    padding: 20px 20px 10px;
}
.product_item .img{
    width: 100%; height: 200px;
    overflow: hidden;
    margin-bottom: 20px;
    position: relative;
}
.bview-list .product_item .img{
    width: 200px; margin-right: 20px;
    display: inline-block;
    vertical-align: top;
}
.bview-list .product_item .adata{
    width: calc( 100% - 220px ); 
    display: inline-block;
    vertical-align: top;
}
.product_item .img a{
    width: 100%; height: 200px;
    display: block;
    position: relative;
    transition: 0.5s all ease-in-out;
}
.product_item .img a img{
    max-width: 100%; max-height: 100%;
    width: auto; height: auto;
    position: absolute;
    top: 50%; left: 50%;
    transform: translate(-50%, -50%);
    /*object-fit: cover;*/
}
.product_item:hover .img a:first-child{
    height: 0;
}
.product_item .img-container{
    position: relative;
}
.product_item .img-container .favorites{
    display: none;
    width: 45px; height: 45px;
    position: absolute;
    top: 15px; left: 15px;
    border: 1px solid white;
    border-radius: 50%;
    cursor: pointer;
}
.product_item:hover .img-container .favorites{
    display: block;
}
.product_item .img-container .favorites::before{
    content: "\f004";
    font-family: 'FontAwesome';
    color: #A8BA14;
    position: absolute;
    left: 5px; bottom: 8px;
    font-size: 25px;
}
.product_item .img-container .favorites .notif{
    position: absolute;
    font-size: 18px;
    color: #4F2B0D;
    top: 7px; right: 5px;
}
.product_item .img-container .discount{
    position: absolute;
    top: -15px; right: -15px;
    background: var(--danger);
    padding: 14px 10px;
}
.product_item .img-container .discount .discount-inner{
    font-size: 18px;
    color: white;
}
.img-avail{
    background: rgba(255,255,255,0.8);
    color: #b20000;
    padding: 20px;
    font-size: 20px;
    position: absolute;
    width: 100%;
    text-align: center;
    left: 0; top: 50%;
    transform: translateY(-50%);
    box-sizing: border-box;
}
.product_item h3{
    font-size: 18px;
    color: var(--color-blue);
    padding-bottom: 0;
    margin-bottom: 10px;
    position: relative;
}
.product_item h3 a{
    color: var(--color-blue);
}
.product_item:hover h3 a{
    color: var(--color-black);
}
.product_item .intro{
    font-size: 14px;
    line-height: 1.3em;
    padding-bottom: 15px;
    margin-bottom: 15px;
    position: relative;
}
.product_item .intro::after{
    content: "";
    display: block;
    width: calc( 100% + 10px );
    height: 1px;
    position: absolute;
    left: -5px; bottom: 0;
    background: var(--color-blue);
}
.product_item .intro p{
    font-size: 14px;
    line-height: 1.3em;
}
.product_item .rating-bar{
    margin: 10px 0;
    text-align: left;
}
.w-px-35{
    -ms-flex: 0 0 65px;
    flex: 0 0 65px;
    max-width: 65px;
}
.product_item .add-to-cart{
    display: inline-block;
    width: 28px; height: 25px;
    position: relative;
    font-size: 16px;
    background: url(/images/assets/cart.png) no-repeat right center;
    background-size: contain;
    cursor: pointer;
}
.product_item .favorites{
    display: inline-block;
    width: 28px; height: 25px;
    position: relative;
    font-size: 16px;
    background: url(/images/assets/heart.png) no-repeat right center;
    background-size: contain;
    cursor: pointer;
}
.product_item .price{
    font-size: 22px;
}

/*** Pages ***/
#home-intro-section{
    
}
#home-intro-section .text-container{
    max-width: 700px;
    width: 100%;
    display: inline-block;
}
#gallery-section .row{
    margin-left: 0;
    margin-right: 0;
}
#gallery-section .item{
    position: relative;
}
#gallery-section .img{
    height: 427px;
    position: relative;
}
#gallery-section .img img{
    width: 100%; height: 100%;
    position: absolute;
    top: 50%; left: 50%;
    transform: translate(-50%,-50%);
    object-fit: cover;
}
#gallery-section .description{
    width: 100%; height: 100%;
    /* max-width: 418px;*/
    position: absolute;
    left: 0; top: 0;
    /*
    left: 50%; bottom: 0;
    transform: translateX(-50%);
    background: var(--color-blue); 
    */
    background: rgba(29, 42, 56, 0.5);
    color: var(--color-white);
    display: none;
}
#gallery-section .description .gallery-header{
    width: 100%;
    position: absolute;
    left: 0; bottom: 0;
    padding: 30px 35px; 
}
#gallery-section .col-edate{
    -ms-flex: 0 0 90px;
    flex: 0 0 90px;
    max-width: 90px;
}
#gallery-section .col-category{
    text-transform: uppercase;
}
#gallery-section h3{
    margin-top: 30px;
    margin-bottom: 30px;
    padding-bottom: 0;
    color: var(--color-orange);
}

#gallery-section h3 a{
    color: var(--color-orange);
}
#gallery-section .intro p{
    color: var(--color-white);
    line-height: 1.3em;
}
#gallery-section .read-more{
    width: 60px; height: 60px;
    position: absolute;
    right: 0; bottom: 0;
    background: var(--color-orange) url(/images/assets/search.png) no-repeat center center;
    display: none;
}
#gallery-section .read-more a{
    display: block;
    width: 100%; height: 100%;
}
#gallery-section .item:hover .description,
#gallery-section .item:hover .read-more
{
    display: block;
}
.button.read-more{
    border: none;
    display: inline-block;
    background: var(--color-orange);
    color: var(--color-white);
    text-transform: uppercase;
    padding: 15px 30px;
    line-height: 1em;
    cursor: pointer;
}
.services-list-container{
    margin-top: 95px;
}
.services-list-container .list-item{
    width: 100%; max-width: 245px;
    display: inline-block;
    text-align: left;
    padding-left: 30px;
    position: relative;
}
.services-list-container .list-item::before{
    content: "";
    display: inline-block;
    width: 9px; height: 10px;
    background: url(/images/assets/triangle.png) no-repeat left center;
    position: absolute;
    top: 5px; left: 0;
}

#design-section{
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
    position: relative;
}
#design-section::after{
    content: "";
    width: 100%; height: 100%;
    position: absolute;
    top: 0; left: 0;
    background: rgba(29,42,56,0.25);
    z-index: 1;
}
#design-section > .row{
    z-index: 2;
    position: relative;
}
#design-section .text-container{
    max-width: 700px;
    width: 100%;
    display: inline-block;
    color: var(--color-white)
}
#design-section .text-container h2,
#design-section .text-container .description p{
    color: var(--color-white);
}

/*** Contacts Page ***/
#contact-form{
    max-width: 430px;
    display: inline-block;
    text-align: left;
}
#contact-form .sub-item{
    margin-bottom: 10px;
}

/*** Projects ***/
#gallery-categories-section .categories .item{
    display: inline-block;
    vertical-align: top;
    padding: 7px 20px; 
}
#gallery-categories-section .categories .item a{
    color: var(--color-orange);
}
#gallery-categories-section .categories .item a:hover,
#gallery-categories-section .categories .item.active a{
    color: var(--color-black);
}
.info-text{
    color: var(--color-orange);
    text-transform: uppercase;
}

#gallery-images .item{
    position: relative;
}
#gallery-images .img{
    height: 427px;
    position: relative;
}
#gallery-images .img img{
    width: 100%; height: 100%;
    position: absolute;
    top: 50%; left: 50%;
    transform: translate(-50%,-50%);
    object-fit: cover;
}
#gallery-images .read-more{
    width: 60px; height: 60px;
    position: absolute;
    right: 0; bottom: 0;
    background: var(--color-orange) url(/images/assets/search.png) no-repeat center center;
    display: none;
}
#gallery-images .read-more a{
    display: block;
    width: 100%; height: 100%;
}
#gallery-images .item:hover .read-more
{
    display: block;
}

#offer-form-container .offer-footer{
    
}
#offer-form-container .offer-footer .back {
    width: 60px; height: 60px;
    border-radius: 50%;
    background-color: var(--color-white);
    background-image: url(/images/assets/arrow-left.png);
    background-repeat: no-repeat;
    background-position: center center;
    cursor: pointer;
}
#offer-form-container .offer-footer .next button{
    border: none;
    background: var(--color-blue);
    color: var(--color-white);
    padding: 12px 23px;
    text-transform: uppercase;
    cursor: pointer;
}
#offer-form-container .offer-footer .info {
    width: calc( 100% - 60px - 140px );
    padding-left: 60px;
    padding-right: 50px;
}
#offer-form-container .offer-footer .info p{
    color: var(--color-white);
    font-size: 14px;
}
#offer-form-container .proggress{
    width: 100%;
    height: 4px;
    background: var(--color-blue);
    margin-top: 40px;
    margin-bottom: 40px;
    position: relative;
}
#offer-form-container .proggress::after{
    content: "";
    display: block;
    width: attr(data-proggress); height: 100%;
    position: absolute;
    top: 0; left: 0;
    background: var(--color-white);
}
#offer-form-container .offerContainer .step:not(.show){
    display: none;
}
#offer-form-container .offerContainer .step{
    overflow-y: auto;
    max-height: calc( 100vh - 100px - 144px );
}
#offer-form-container .offerContainer h3{
    font-size: 25px;
    text-align: center;
    padding-bottom: 0;
    margin-bottom: 5px;
    color: var(--color-white);
}
#offer-form-container .offerContainer h4{
    font-size: 20px;
    text-align: center;
    padding-bottom: 0;
    margin-bottom: 5px;
    color: var(--color-blue);
}
#offer-form-container .building-types .item{
    display: inline-block;
    vertical-align: top;
    width: 25%;
    cursor: pointer;
    margin-bottom: 20px;
}
#offer-form-container .building-types .item img{
    width: 100%; max-width: 150px;
    margin-bottom: 25px;
    border: 4px solid transparent;
}
#offer-form-container .building-types .item h5{
    font-size: 20px;
    color: var(--color-blue);
}
#offer-form-container .building-types .item.active img,
#offer-form-container .building-types .item:hover img{
    border-color: var(--color-blue);
}
#offer-form-container .building-types .item.active h5,
#offer-form-container .building-types .item:hover h5{
    color: var(--color-white);
}
#offer-form-container #galleries-preps .item{
    width: 200px;
    margin: 0 auto;
    cursor: pointer;
}
#offer-form-container #galleries-preps .item .img{
    width: 100%; height: 160px;
    position: relative;
    margin-bottom: 25px;
    border: 4px solid transparent;
}
#offer-form-container #galleries-preps .item .img img{
    width: 100%; height: 100%;
    position: absolute;
    top: 50%; left: 50%;
    transform: translate(-50%,-50%);
    object-fit: cover;
}
#offer-form-container #galleries-preps .item h5{
    font-size: 20px;
    color: var(--color-blue);
}
#offer-form-container #galleries-preps .item.active .img,
#offer-form-container #galleries-preps .item:hover .img{
    border-color: var(--color-blue);
}
#offer-form-container #galleries-preps .item.active h5,
#offer-form-container #galleries-preps .item:hover h5{
    color: var(--color-white);
}
#offer-form-container .steps-home-one-galleries{
    margin-left: -40px;
    margin-right: -40px;
}
#offer-form-container .steps-home-one-galleries #galleries-preps{
    margin-left: 70px;
    margin-right: 70px;
    position: relative;
    width: calc( 100% - 140px );
}
.cursor-left{
    width: 60px; height: 60px;
    border-radius: 50%;
    background-color: var(--color-white);
    background-image: url(/images/assets/arrow-left.png);
    background-repeat: no-repeat;
    background-position: center center;
    cursor: pointer;
}
.cursor-right{
    width: 60px; height: 60px;
    border-radius: 50%;
    background-color: var(--color-white);
    background-image: url(/images/assets/arrow-right.png);
    background-repeat: no-repeat;
    background-position: center center;
    cursor: pointer;
}
#offer-form-container .owl-prev{
    left: -70px
}
#offer-form-container .owl-next{
    right: -70px
}
#offer-form-container .range-group{
    max-width: 240px;
}
#offer-form-container .range-group .range-input{
    padding-top: 30px;
    padding-bottom: 30px;
    margin-bottom: 20px;
    position: relative;
}
#offer-form-container .range-group .range-input .currentValue{
    color: var(--color-blue);
    font-size: 20px;
    position: absolute;
    left: 50%; top: 5px;
    transform: translateX(-50%);
}
#offer-form-container .range-group .range-input .minValue{
    color: var(--color-blue);
    font-size: 20px;
    position: absolute;
    left: 0; bottom: 0;
}
#offer-form-container .range-group .range-input .maxValue{
    color: var(--color-blue);
    font-size: 20px;
    position: absolute;
    right: 0; bottom: 0;    
}
#offer-form-container .range-group h5{
    color: var(--color-white);
    font-size: 20px;
}
#offer-form-container .range-group .range-current-value{
    background: var(--color-white);
}
#offer-form-container .range-group .range-current-value input{
    border: none;
    background: transparent;
    padding: 0;
}
#offer-form-container [name="rangeCurrentValue"]{
    max-width: 100px;
}

.form-control-range-slider {
    -webkit-appearance: none;
    width: 100%;
    height: 4px;
    border-radius: 5px;  
    background: var(--color-blue);
    outline: none;
    opacity: 1;
    -webkit-transition: .2s;
    transition: opacity .2s;
}
.form-control-range-slider:hover {
    opacity: 0.8;
}

.form-control-range-slider::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 20px;
    height: 20px;
    border-radius: 50%; 
    background: var(--color-blue);
    cursor: pointer;
}

.form-control-range-slider::-moz-range-thumb {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: var(--color-blue);
    cursor: pointer;
}

#offer-form-container .form-group{
    max-width: 240px;
}
#offer-form-container .form-group .form-current-value{
    background: var(--color-white);
}
#offer-form-container .form-group .form-current-value input{
    border: none;
    background: transparent;
    padding: 0;
}
#offer-form-container [name="CurrentValue"]{
    max-width: 100px;
}
#offer-form-container .checkbox{
    padding-bottom: 5px;
}
#offer-form-container .checkbox label, #offer-form-container .radio label{
    font-size: 20px;
    padding-left: 40px;
    color: var(--color-black);
}
#offer-form-container .radio label::before,
#offer-form-container .checkbox label::before {
    width: 30px; height: 30px;
    background-color: var(--color-white);
    border: 1px solid var(--color-white);
}
#offer-form-container .checkbox input:checked ~ label::before, 
#offer-form-container .radio input:checked ~ label::before {
    background-color: var(--color-white);
    border-color: var(--color-white);
}
#offer-form-container .checkbox input:checked ~ label::after, 
#offer-form-container .radio input:checked ~ label::after{
    top: 4px; left: 4px;
    width: 22px; height: 22px;
    background: var(--color-blue);
    transform: none;
    border: none;
}
#offer-form-container textarea{
    max-width: 100%;
}
#offer-form-container .textarea-2{
    height: 80px;
    min-height: auto;
}
#offer-form-container input[type="text"],
#offer-form-container input[type="email"]{
     max-width: 100%;
}
.additional-info.text{
    margin-bottom: 20px;
}
.link{
    cursor: pointer;
    text-decoration: underline;
}
#offer-form-container .col-space{
    -ms-flex: 0 0 80px;
    flex: 0 0 80px;
    max-width: 80px;
}
input[type="text"].input-small{
    padding: 3px 10px;
}
select.select-small{
    padding: 5px 5px;
    border: 1px solid var(--color-blue);
}
.break-all{
    word-break: break-all !important;
}
.col.col-190px{
    -ms-flex: 0 0 190px;
    flex: 0 0 190px;
    max-width: 190px;
}
#offer-form-container span[class*="file-name-"]{
    color: var(--color-white);
    text-decoration: underline;
}
.program-info p{
    font-size: 12px;
}

#news-page{
    
}
#news-page img{
    max-width: 100%;
}
#news-page h3{
    font-size: 18px;
    margin-top: 16px;
    margin-bottom: 30px;
    padding-bottom: 0;
    color: var(--color-blue);
}
#news-page h3 a{
    color: var(--color-blue);
}
#news-page h3:hover a{
    color: var(--color-orange);
} 
#info-page-section .images img{
    max-width: 100%;
}