@media only screen and (min-height: 2500px) {
    #hero .bg-blue {
        padding-top: 400px;
    }

    #hero .bg-blue .container .top {
        margin-top: 400px;
    }

    #myVideo {
        top: -470px;
    }
}

@media only screen and (max-width: 1400px) {
    #header .nav-link {
        padding: 23px 30px !important;
    }

    #header .nav-link::before{
        top: 14px;
    }
    
    .navbar .right i{
        right:-10px;
    }

}

@media only screen and (max-width: 1300px) {
    /* navbar */
    #header .nav-link {
        padding: 20px 20px !important;
    }

    #header .nav-link::before {
        top: 15px;
        height: 40px;
    }

    /*#header input {*/
    /*    max-width: 120px;*/
    /*}*/

    .navbar .right i {
        right: -10px;
    }

    /* hero */
    #hero .bg-blue {
        padding-top: 100px;
    }
    .filter-btn {
        padding: 10px 60px;
    }
}

@media only screen and (max-width: 1200px) {
    #header .nav-link {
        padding: 20px 20px !important;
    }
    #header .navbar-brand img {
        height: 40px;
    }

    .navbar-brand {
        margin-right: 25px;
    }
    #header input {
        margin-left: 20px;
    }
    #partners {
        padding-top: 0px;
    }
    .filter-btn {
        padding: 10px 50px;
    }

    .tabs-btn {
        padding: 12px 50px;
    }

    #projects-hero .buttons-maps::before{
        width: 65%;
    }
    .icon{
        font-size:36px;
    }
    .productCategories-icon{
        height:36px;
    }
    
    .card-box .desc h4{
        font-size:36px;
        line-height:48px;
    }
    
    .card-box{
        padding:30px 25px;
    }
    .select-language li{
        padding:10px;
    }
    .navbar .right{
        width :120px;
    }
    
    .select-language li a span{
        display: none;
    }
    
    .navbar .right i{
        right :60px;
    }
}

@media only screen and (max-width: 992px) {
    .main-btn, .white-btn {
        font-size: 14px;
        line-height: 22px;
        padding: 10px 25px;
    }

    #header {
        padding-top: 10px;
        padding-bottom: 10px;
        box-shadow: 0px 1.6143995523452759px 7.2132744789123535px 0px #00000012,
         0px 4.082937717437744px 18.24291229248047px 0px #0000000C,
         0px 8.32880973815918px 37.213829040527344px 0px #0000000A,
         0px 17.155773162841797px 76.65345764160156px 0px #00000008;
    }

    #header .navbar-collapse{
        padding-bottom: 50px;
    }
    #header .navbar-brand img {
        height: 40px;
    }

    #header .nav-link::before {
    display: none;    
    }

    #header .dropdown-menu li hr {
        width: 100%;
    }

    #header input {
        /* width: 100%; */
        max-width: 100%;
        margin-left: 0;
    }
    .navbar .right {
        height: 70px;
        margin: 0 auto;
    }
    .select-language {
        top: 5px;
    }
    .navbar .right i {
        top: 15px;
    }

    .w-50 {
        width: 100% !important;
    }
    
    .w-60 {
        width: 100%;
    }

    .w-70 {
        width: 100%;
    }

    .w-80 {
        width: 100%;
    }

    #header-page h5 {
        font-size: 20px;
    }

    #header-page h2 {
        font-size: 48px;
    }

    #header-page .top {
        margin-bottom: 60px;
    }

    .heading {
        font-size: 32px;
        line-height: 42px;
        margin-bottom: 20px;
    }

    .subheading {
        font-size: 20px;
    }

    .desc {
        font-size: 16px;
        line-height: 27px;
    }

    .card.career h6 {
        font-size: 20px;
        line-height: 28px;
    }

    .card.career h5 {
        font-size: 32px;
        line-height: 42px;
    }

    .card.career .text-link {
        font-size: 20px;
    }

    #hero h1 {
        font-size: 48px;
        line-height: 60px;
        width: 70%;
    }
    #hero .bottom .content p {
        font-size: 16px;
        line-height: 27px;
    }

    .full-img.about{
        height: 80%;
        object-fit: cover;
        vertical-align: middle;
    }

    #projects-hero .heading {
        width: 100%;
    }

    .filter-btn {
        padding: 10px 30px;
    }
    .leaflet-top {
        right: 70px;
    }
    .leaflet-touch .leaflet-bar a {
        padding: 6px 33px 31px 23px;
    }
    .legend {
        right: calc(70px + 112px);
    }

    .legend .item {
        padding: 9px 30px;
        display: flex;
        font-size: 14px;
        line-height: 20px;
    }

    .img-icon {
        height: 20px;
        width: 15px;
    }

    #cta-hero .container h3{
        font-size: 32px;
        line-height: 42px;
    }

    footer .select-language{
        top: -20px;
        left: -10px;
    }

    #services-hero .container {
        padding: 50px;
    }
    #cta-hero .container {
        padding: 50px 40px;
    }

    .card-box .desc h4 {
        font-size: 28px;
        line-height: 32px;
    }
    .icon {
        font-size: 32px;
    }
    .service-icon {
        height: 32px;
        max-height: 32px;
        max-width: 60px;
    }
    .card-box {
        padding: 40px 25px;
    }

    .padding-b-0 {
        padding-bottom: 0 !important;
    }

    .nav-tabs .nav-link{
        padding: 12px 60px;
    }



    .nav.nav-tabs::before {
        width: 80%;
        left: 10%;
    }
    
    #news-detail .category {
        margin-left:  0 !important;
    }

    #news-detail .related {
        margin-left: 0 !important;
    }

    #projects-list .filter {
        margin-bottom: 20px;
    }

    #tabs .nav-tabs {
        left: 5%;
    }
    
    #header form{
        display: flex;
        justify-content: center;
    }
    
    #search-nav {
        position: relative;
        top: 0;
        right: 0;
        width: 250px;
        border-radius: 100px;
        box-shadow: 0 0 0 0;
    }
    #search-nav input{
        margin-left: 0;
        border: 1px solid var(--black-footer) !important;
    }
    
    #search-nav button{
        border: 1px solid var(--black-footer) !important;
        background: #fff;
    }
    
    .select-language li{
        padding:10px;
    }
    .navbar .right{
        width :140px;
    }
    
    .select-language li a span{
        display: block;
    }
    .navbar .right i {
        right: -20px;
    }
}

@media only screen and (max-width: 768px) {
    .ml-md-1 {
        margin-left: 30px !important;
    }
    #about-hero {
        padding-top: 60px;
    }
    .p-100{
        padding: 60px 0 !important;
    }
    
    #hero .bg-blue {
        padding-top: 130px;
    }

    #myVideo {
        min-height: 140vh;
        top: -170px;
    } 

    .line-heading {
        width: 100%;
    }

    .card-box .desc h4 {
        font-size: 26px;
        line-height: 36px;
    }
    .icon {
        font-size: 32px;
    }
    .service-icon {
        height: 32px;
        max-height: 32px;
        max-width: 60px;
    }
    .card-box {
        padding: 40px 32px;
    }
    .row.switch {
        flex-direction: column-reverse;
    }
    
    .mar-t-0{
        margin-top: 0 !important;
    }
    .ml-30{
        margin-left: 35px;
    }
    #map {
        height: 270px;
    }
    .wrap {
        height: 297px;
    }
    .buttons-maps .filter-btn {
        font-size: 14px;
        line-height: 14px;
        padding: 9px 15px ;
    }
    .buttons-maps::before {
        width: 85%;
    }

    .buttons-maps .filter-btn::before {
        height: 20px;
    }

    .buttons-maps {
        top: 12px;
        left: 15%;
    }

    #projects-hero .buttons-maps,
    #maps .buttons-maps{
        left: 0;
    }

    .leaflet-top {
        right: 30px;
    }
    .leaflet-touch .leaflet-bar a {
        padding: 3px 27px 26px 17px;
    }
    .legend {
        right: calc(30px + 88px);
    }

    .legend .item {
        padding: 6px 18px;
        display: flex;
        font-size: 14px;
        line-height: 20px;
    }

    .img-icon {
        height: 16px;
        width: 12px;
    }

    .legend .item::before {
        height: 22px;
    }

    #news-hero {
        padding-bottom: 0;
    }
    .leaflet-popup-content-wrapper {
        width: 13rem !important;
    }

    #map .card {
        width: 10rem !important;
    }

    #map .card-body {
        padding: 0;
    }

    #map .card-body .sub-heading {
        font-size: 12px !important;
        line-height: 18px !important;
    }

    #map .card-body .heading {
        font-size: 16px !important;
        line-height: 20px !important;
    }

    #map .card-body .desc {
        font-size: 12px !important;
        line-height: 18px !important;
    }

    #map .card-body .line-btn {
        font-size: 14px !important;
        line-height: 20px !important;
    }
    

    #cookies .cookies {
        flex-wrap: wrap;
    }

    #cookies p.desc {
        width: 100%;
        margin: 0;
        margin-bottom: 20px;
    }
    #cookies .d-block {
        width: auto;
        margin-right: 20px;
    }

    #tabs .container{
        padding: 0px 30px 50px 30px;
    }

    #tabs .nav-tabs {
        width: 100%;
        left: 0;
    }

    #tabs .nav-tabs .nav-link {
        padding: 10px 40px;
    }

    #header-page h2 {
        font-size: 42px;
        line-height: 54px;
    }

    #header-page h5 {
        font-size: 18px;
        line-height: 27px;
    }
    #header-page .bottom p {
        font-size: 18px;
        line-height: 27px;
    }

    #header-page {
        padding: 50px 0 30px 0;
    }

    .tabs-btn {
        padding: 10px 20px;
    }

    #news-detail .row.sidebar{
        flex-direction: row-reverse;
        margin-top: 30px;
    } 

    #projects-list .filter {
        width: 180px;
    }
    #projects-list .filter img {
        
        top:7px;
        
    }

    #career .accordion-button {
        font-size: 32px;
        line-height: 42px;
        padding: 30px;
    }

    #news-detail .sidebar {
        position: relative;
        top: unset;
    }
}

@media only screen and (max-width: 600px) {

    #hero h1 {
        width: 100%;
    }
    .col-1 {
        padding-right: 0;
    }

    #hero h1 {
        font-size: 42px;
        line-height: 56px;
        margin-bottom: 20px;
    }
    .heading {
        font-size: 27px;
        line-height: 36px;
        margin-bottom: 15px;
    }

    .subheading {
        font-size: 18px;
    }

    .desc {
        font-size: 14px;
        line-height: 24px;
    }
    
    #career .accordion-body {
        padding: 20px ;
    }

    #services-hero {
        padding: 20px 10px 0px 10px;

    }
    #services-hero .container {
        padding: 30px 25px;
    }

    .card.career h6 {
        font-size: 16px;
        line-height: 24px;
    }

    .card.career h5 {
        font-size: 27px;
        line-height: 40px;
    }

    .card.career .text-link {
        font-size: 16px;
    }
    .card.career .bg-blue {
        padding: 36px 20px;
    }

    #cta-hero {
        position: relative;
    }

    #cta-hero .container {
        padding: 30px 20px;
    }

    .buttons-maps {
        width: 100%;
        left: 10px;
        margin-left: 0;
    }
    .leaflet-top {
        right: 10px;
    }
    .leaflet-touch .leaflet-bar a {
        padding: 0px 23px 0px 11px;
    }
    .legend {
        right: calc(10px + 67px);
    }

    .legend .item {
        padding: 5px 7px;
        display: flex;
        font-size: 14px;
        line-height: 20px;
    }

    .img-icon {
        height: 16px;
        width: 13px;
        margin-right: 3px !important;
    }

    .leaflet-popup-content-wrapper {
        width: 10rem !important;
    }

    .wrap{
        height: 386px;
    }

    #map {
        height: 350px;
    }

    #map .card {
        width: 7rem !important;
    }

    #map .card-body {
        padding: 0;
    }

    #map .card-body .sub-heading {
        font-size: 12px !important;
        line-height: 18px !important;
    }

    #map .card-body .heading {
        font-size: 16px !important;
        line-height: 20px !important;
    }

    #map .card-body .desc {
        font-size: 12px !important;
        line-height: 18px !important;
    }

    #map .card-body .line-btn {
        font-size: 14px !important;
        line-height: 20px !important;
    }
    #cookies .cookies {
        padding: 20px 30px 40px 30px;
    }

    #cookies .d-block { 
        margin-bottom: 30px;
    }

    .icon-lg {
        font-size: 35px;
    }

    #tabs .nav-tabs .nav-link {
        padding: 10px 15px;
    }

    .nav.nav-tabs::before {
        display: none;
    }
    #tabs .container {
        padding: 0 10px 30px 10px;
    }

    .tab-pane p {
        font-size: 14px;
        line-height: 24px;
    }

    #history .owl-carousel .owl-nav button {
        width: 30px;
        height: 30px;
    }

    #history .owl-carousel .owl-nav button span {
        font-size: 25px;
        margin-bottom: 3px;
    }

    #header-page {
        padding: 40px 0 20px 0;
    }
    .tabs-btn {
        padding: 8px 15px;
        font-size: 14px;
        line-height: 20px;
    }

    .tabs-btn::before {
        height: 25px;
    }

    .card .card-img-top.square {
        height: 430px;
    }
    .card {
        margin-bottom: 20px !important;
    }

    #header-page h2{
        font-size: 27px;
        line-height: 36px;
    }

    #header-page h5 {
        font-size: 16px;
        line-height: 27px;
    }

    #header-page .bottom p {
        font-size: 16px;
        line-height: 27px;
    }

    #header-page .bottom .line-header {
        width:  calc(100% - 200px);
    }
    
    .breadcrumb a, span {
        font-size: 16px;
        line-height: 27px;
    }

    .card.news h5 {
        font-size: 18px;
        line-height: 30px;
    }

    .card.news small {
        font-size: 14px;
        line-height: 18px;
    }

    .card .card-img-top {
        height: 200px;
    }

    .card.news p {
        font-size: 16px;
        line-height: 24px;
        margin-top: 15px;
        margin-bottom: 25px;
    }

    #news-detail .category a {
        font-size: 16px;
        line-height: 24px;
    }

    #news-detail .news-item h5 {
        font-size: 16px;
        line-height: 24px;
    }

    #news-detail .date-item {
        font-size: 14px;
        line-height: 20px;
    }

    #news-detail .date {
        font-size: 16px;
        line-height: 24px;
    }

    #news-detail .heading  {
        font-size: 22px;
        line-height: 32px;
    }

    #projects-list .filter select {
        padding: 7px 15px;
        font-size: 14px;
    }

    #career .accordion-button {
        padding: 25px;
        font-size: 20px;
        line-height: 32px;
    }

    #searching-result .close-btn {
        padding-left:10px ;
        padding-right:10px ;
    }

    .search-btn {
        padding-left: 10px;
        padding-right: 10px;
    }    

    
    #error-404 h3 {
        font-size: 42px;
        line-height: 56px;
        margin-left: 30px;
    }

    #error-404 h6 {
        font-size: 16px;
        line-height: 24px;
    }

    #error-404 .line-btn {
        font-size: 16px;
        line-height: 24px;
    }

    #error-404 .images {
        width: 170px; 
        height: 170px;
    }

}


@media only screen and (max-width: 390px) {
    #hero .buttons button {
        margin: 30px 0 0 0;
    }

    .card-box {
        padding: 20px 10px;
    }

    .card-box .desc h4 {
        font-size: 20px;
        line-height: 28px;
    }

    .buttons-maps::before {
        display: none;
    }

    .legend {
        right: 2px;
    }

    .leaflet-top {
        bottom: 35px;
        right: 2px;
    }

    #tabs .nav-tabs .nav-link {
        padding: 10px 10px;
    }

    .tabs-btn {
        padding: 8px 10px;
    }

}