@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@100;200;300;400;500;600;700;800;900&display=swap');

:root {
    --animate-duration: 200ms;
    --animate-delay: 0;
}
body {
    font-family: 'Montserrat', sans-serif;
    font-size: 14px;
    font-weight: 300;
    color: #1E1E1E;
    overflow-x: hidden;
}
a{
    color: inherit;
    text-decoration: none;
}
.btn{
    border-radius: 0;
}
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
    /* display: none; <- Crashes Chrome on hover */
    -webkit-appearance: none;
    margin: 0; /* <-- Apparently some margin are still there even though it's hidden */
}

input[type=number] {
    -moz-appearance:textfield; /* Firefox */
}




/*
** Navigation
*/
.navigation{
    position: fixed;
    top: 0;
    width: 100%;
    height: 65px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    background-color: #1E1E1E;
    padding: 0 15px;
    z-index: 9;
}
.navigation-logo{
    width: 200px;
}
.navigation-logo img{
    height: 30px;
}
.navigation-logo svg{
    width: 50px;
    height: 50px;
}
.navigation-links{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 50px;
    color: #fff;
}
.navigation-links a{
    font-size: 16px;
    position: relative;
}
.navigation-mobile-phone {
    display: none;
    margin-right: -15px;
}
.navigation-mobile-phone svg{
    width: 60px;
    height: 60px;
}
/*
.navigation-link-active:before {
    content: "";
    position: absolute;
    width: 50px;
    height: 23px;
    top: 0;
    left: -5px;
    border-left: 1px solid #b4b4b4;
    border-bottom: 1px solid #b4b4b4;
    z-index: -1;
}
.navigation-link:hover:before{
    content: "";
    position: absolute;
    width: 50px;
    height: 23px;
    top: 0;
    left: -5px;
    border-left: 1px solid #b4b4b4;
    border-bottom: 1px solid #b4b4b4;
    z-index: -1;
    animation-name: zoominoutsinglefeatured;
    animation-duration: 0.5s;
}
@keyframes zoominoutsinglefeatured {
    0% {
        transform: scale(1,1);
    }
    50% {
        transform: scale(1.2,1.2);
    }
    100% {
        transform: scale(1,1);
    }
}
*/
.navigation-lang-link{
    font-size: 16px;
    cursor: pointer;
    user-select: none;
    position: relative;
}
.navigation-link-lang{
    font-size: 16px;
    text-transform: uppercase;
    position: relative;
    cursor: pointer;
    user-select: none;
}
.navigation-link-lang i{
    font-size: 12px;
}
.navigation-lang-dropdown{
    position: absolute;
    top: 30px;
    right: -25px;
    width: 92px;
    padding: 5px;
    box-shadow: 0 2rem 3rem rgba(0, 0, 0, 0.2);
    background-color: #fff;
    display: none;
    flex-direction: column;
}
.navigation-lang-dropdown a{
    padding: 5px 20px 5px 15px;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    margin: 0!important;
    color: #212121;
}
.navigation-lang-dropdown a:hover{
    background-color: #ebebeb;
}
.navigation-lang-dropdown a img{
    width: 20px;
    margin-right: 5px;
}
.navigation-actions{
    width: 300px;
}
.navigation-actions button{
    width: 100%;
}
.navigation-mobile-menu{
    display: none;
}

/*
** Mobile modal
*/
#mobileNavigationModal .modal-dialog{
    margin: 0;
    width: 100%;
    max-width: 100%;
}
#mobileNavigationModal .modal-content{
    margin-left: auto;
    width: 75%;
    height: 100vh;
    border-radius: 0;
    position: relative;
}
#mobileNavigationModal .modal-body{
    position: relative;
}
.mnm-close{
    position: absolute;
    top: 10px;
    left: 10px;
    font-size: 42px;
    color: #707070;
    line-height: 1;
}
.mnm-close:hover{
    color: black;
}
.mnm-logo{
    text-align: center;
}
.mnm-logo svg{
    width: 100px;
    height: 100px;
}
.mnm-logo svg path{
    fill: black;
}
.mnm-links{
    display: flex;
    flex-direction: column;
}
.mnm-links a{
    padding: 10px 15px;
    border-bottom: 1px solid #ccc;
    font-size: 16px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.mnm-links a:hover{
    background-color: #ebebeb;
}
.mnm-lang{
    position: absolute;
    bottom: 0;
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-top: 1px solid #ebebeb;
}
.mnm-lang a{
    width: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 10px;
    border-right: 1px solid #ebebeb;
}
.mnm-lang a img{
    margin-right: 5px;
}


/*
** Main
*/
.main{
    width: 100%;
    padding-bottom: 4px;
}
.main-text{
    margin-top: 65px;
    width: 100%;
    height: calc(20vh - 65px);
    background-color: #fff;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 15px;
}
.main-text h1{
    display: flex;
    flex-grow: 1;
    font-weight: 900;
    font-size: 4.4vw;
    line-height: 1;
    text-transform: uppercase;
}
.main-text h5{
    width: 30%;
    font-weight: 400;
    font-size: 14px;
    margin-bottom: 0;
}
.mobile-title{
    display: none;
}
.mobile-title h2{
    font-weight: 900;
    font-size: 42px;
    line-height: 1;
    margin-bottom: 0;
    text-transform: uppercase;
}
.main-banner{
    width: 100%;
    height: 80vh;
    background-image: url(/assets/images/main.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    position: relative;
    overflow: hidden;
}
.main-banner-text{
    position: absolute;
    top: 10px;
    left: 15px;
    color: #fff;
    font-weight: 900;
    font-size: 4.4vw;
    line-height: 1;
    text-transform: uppercase;
}
.main-banner-mobile-text{
    display: none;
    max-width: 50%;
    font-size: 16px;
    font-weight: 500;
    color: #fff;
    padding-top: 15px;
    padding-left: 15px;
}
.main-banner-scroll{
    position: absolute;
    bottom: 15px;
    left: 15px;
    cursor: pointer;
    user-select: none;
}
.main-banner-newproject{
    position: absolute;
    bottom: 30px;
    right: 30px;
    cursor: pointer;
    user-select: none;
}
.main-banner-newproject img{
    width: 200px;
    height: 200px;
}
.main-banner-newproject img:hover{
    transition: 0.4s;
    transform: scale(1.1);
}



/*
** Portfolio
*/
.portfolio-row{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 5px;
}
.portfolio-item{
    display: flex;
    flex-grow: 1;
    position: relative;
    overflow: hidden;
}
.portfolio-item img{
    width: 100%;
    height: 650px;
    object-fit: cover;
}
.portfolio-item:nth-of-type(1){
    width: calc(60% - 5px);
}
.portfolio-item:nth-of-type(2){
    width: calc(40% - 5px);
}
.portfolio-item:nth-of-type(3){
    width: 100%;
}
.portfolio-item:nth-of-type(4){
    width: calc(40% - 5px);
}
.portfolio-item:nth-of-type(5){
    width: calc(60% - 5px);
}
.portfolio-item:nth-of-type(6){
    margin-bottom: 5px;
    width: 100%;
}
.portfolio-more{
    width: 100%;
    height: 200px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.portfolio-item-title{
    position: absolute;
    width: 100%;
    height: 100%;
    background: linear-gradient(transparent, black);
    font-size: 42px;
    padding: 30px;
    color: #fff;
    display: none;
    align-items: flex-end;
    justify-content: flex-start;
}
.portfolio-row{
    display: flex;
    justify-content: space-between;
}
.space{
    width: 100%;
    height: 200px;
}
.portfolio-page{
    padding: 0 50px;
    margin-bottom: 30px;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
}
.portfolio-filter{
    width: 50%;
    display: flex;
    align-items: flex-end;
    justify-content: flex-end;
    flex-wrap: wrap;
    text-align: right;
}
.portfolio-filter a{
    margin: 0 5px;
    font-size: 18px;
}
.portfolio-filter-item-active{
    font-weight: 700;
}
.portfolio-detail{
    margin-top: 65px;
    width: 100%;
    height: calc(100vh - 65px);
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: black;
}
.portfolio-detail .portfolio-detail-poster{
    width: 100%;
    height: calc(100vh - 65px);
    object-fit: cover;
    opacity: 0.5;
}
.portfolio-detail-title{
    width: 100%;
    height: calc(100vh - 65px);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 50px;
    position: absolute;
    font-size: 52px;
    color: #fff;
    font-weight: 700;
}
.portfolio-detail-chevron{
    position: absolute;
    bottom: 15px;
    color: #fff;
    cursor: pointer;
    user-select: none;
}
.portfolio-detail-chevron i{
    font-size: 42px;
}
.portfolio-detail-list{
    margin-bottom: 5px;
}
.portfolio-detail-list a{
    display: block;
    margin-top: 5px;
    width: 100%;
}
.portfolio-detail-list img{
    width: 100%;
    height: 700px;
    object-fit: cover;
}
.portfolio-carousel-icon{
    position: absolute;
    top: 10px;
    right: 10px;
    width: 35px;
    height: 35px;
    z-index: 8;
}
.portfolio-carousel-icon img{
    width: 25px!important;
    height: 25px!important;
}




/*
** Request consult
*/
.order-design-btn{
    position: fixed;
    bottom: 10px;
    right: 10px;
    background-color: #3399ff;
    color: #fff;
    font-size: 18px;
    font-weight: 700;
    padding: 10px 20px;
    cursor: pointer;
    user-select: none;
    z-index: 9;
}


/*
** Request consult
*/
.request{
    background-color: black;
    padding: 25px;
    width: 100%;
    height: 400px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    color: #fff;
}
.request h1{
    font-size: 62px;
    font-weight: 900;
    margin-bottom: 20px;
    text-align: center;
}
.request h3{
    font-size: 42px;
    margin-bottom: 25px;
    text-align: center;
}


/*
** Request consult
*/
.footer{
    background-color: #1E1E1E;
    padding: 0 15px;
    width: 100%;
    height: 150px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    color: #fff;
}
.footer-logo{
    width: 15%;
}
.footer-logo img{
    width: 150px;
}
.footer-logo svg{
    width: 75px;
    height: 75px;
}
.footer-links{
    display: flex;
    flex-grow: 1;
    align-items: center;
    justify-content: center;
    gap: 25px;
}
.footer-links a{
    font-size: 16px;
    color: #fff;
}
.footer-social{
    width: 15%;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
}
.footer-social a{
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background-color: black;
}
.footer-social i{
    font-size: 18px;
}

/*
** Copyright
*/
.copyrights{
    background-color: black;
    padding: 0 15px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    height: 50px;
    color: #fff;
}





/*
** Width & Height
*/
.w-60{
    width: 60%;
}
.w-40{
    width: 40%;
}
.h-50{
    height: 50vh;
}
.h-100{
    height: 100vh;
}



/*
** Breadcrumbs
*/
.bcrumbs{
    margin-top: 75px;
    width: 100%;
    padding: 0 50px;
}


/*
** Page
*/
.page{
    width: 100%;
    min-height: 75vh;
    padding: 0 50px;
    margin-bottom: 50px;
}
.page-title{
    font-size: 52px;
    font-weight: 900;
}


/*
** Contacts
*/
.contacts-data{
    font-size: 32px;
}
#map{
    margin-top: 30px;
    width: 100%;
    height: 400px;
}



/*
** Team
*/
.team-image{
    width: 100%;
    height: 400px;
    object-fit: cover;
    margin-bottom: 30px;
}
.team-page{
    font-size: 16px;
}


/*
** Prices
*/
.prices-page{
    margin-bottom: 75px;
}
.prices-page .accordion-button{
    box-shadow:  0 0 0 transparent!important;
    background-color: #fff!important;
    color: black!important;
}





/*
** Consultation modal
*/
#consultationModal .modal-content{
    border-radius: var(--border-radius)!important;
    position: relative;
}
#consultationModal .close-modal{
    position: absolute;
    top: -10px;
    right: -10px;
    width: 35px;
    height: 35px;
    background-color: #4b4b4b;
    color: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 25px;
    cursor: pointer;
    user-select: none;
}
#consultationModal .modal-body{
    padding: 35px 50px 45px 50px;
}
#consultationModal input{
    border-radius: var(--border-radius)!important;
    margin-bottom: 15px;
    padding-left: 20px;
}





/*
** Auth page
*/
.auth-page{
    width: 100%;
    min-height: 90vh;
    display: flex;
    align-items: center;
}
.auth-page .row{
    display: flex;
    justify-content: center;
}
.auth-form{
    background-color: #fff;
    padding: 30px 55px;
    border: 1px solid #ebebeb;
    border-radius: 4px;
    text-align: center;
    box-shadow: 0 1rem 3rem rgba(0,0,0,.1);
}
.auth-form .logo{
    margin-bottom: 25px;
}
.auth-form .logo img{
    width: 140px;
}
.auth-form h4{
    font-weight: 700;
    margin-bottom: 10px;
    color: #383e42;
}
.auth-form .auth-field{
    position: relative;
}
.auth-form .auth-field input{
    margin: 15px 0;
    height: 50px;
    border-radius: 4px;
    border: 1px solid #7c7c7c;
    padding-left: 15px;
}
.auth-form .auth-action button{
    height: 50px;
    font-weight: 700;
    font-size: 20px;
    background-color: black;
    border-color: black;
    color: white;
    border-radius: 4px;
}
.auth-page ul {
    margin: 0;
}
.auth-page ul li{
    text-align: left;
}


























