@media only screen and (max-width: 1200px) {
    header menu li.separator {
        margin-left: 5px;
    }

    footer .content > div:nth-child(2) {
        flex-direction: column;
        gap: 80px;
    }

    footer .content > div:nth-child(2) > div {
        grid-template-columns: 1fr 1fr 1fr;
        gap: 30px;
    }

    footer .content > div:nth-child(2) > div ul:last-child {
        grid-column-start: 3;
        grid-column-end: -1;
    }

    footer .content > div:last-child{
        grid-template-columns: 1fr;
        padding-top: 80px;
        gap: 50px;
    }

    footer .content > div:last-child > div:last-child{
        justify-content: center;
        gap: 50px;
    }

    footer .explore {
        max-width: 100%;
    }

    .form-2col .content {
        grid-template-columns: 1fr 1fr;
    }

    .intro {
        grid-template-columns: 1.5fr 1fr;
    }

}

@media only screen and (max-width: 1000px) {

    .bannerblue header{
        color: var(--color-blue);
        background-color: var(--color-white);
    }

    header{
        width: 100vw;
        left: -100vw;
        top: 60px;    
        max-height: calc(100vh - 60px);
        overflow: auto;
        font-size: 1.6rem;
        background-color: var(--color-white);
    }

    header.active{
        left: 0vw;
    }

    #mobileheader{
        display: block;
        background-color: var(--color-white);
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        padding: 25px 0;
        z-index: 10;
    }

    #mobileheader #logo{
        width: 160px;
        height: 23px;
        background-image: url(../img/logo_blue.svg);
        transition: 500ms;
        display: block;
    }

    #mobileheader .content{
        display: flex;
        justify-content: space-between;
    }

    #mobileheader .content div{
        width: 30px;
        height: 20px;
        display: flex;
        gap: 10px;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        position: relative;
        transform: translateY(3px);
    }

    #mobileheader .content div span{
        width: 30px;
        height: 2px;
        border-bottom: 2px solid var(--color-blue);
        display: block;
        position: absolute;
        transition: background ease .3s, top ease .3s .3s, transform ease .3s;
    }

    #mobileheader .content div span:first-child{
        top: 0px;
    }

    #mobileheader .content div span:last-child{
        top: 12px;
    }

    #mobileheader.active .content div span:first-child{
        transform: rotate(45deg);
    }

    #mobileheader.active .content div span:last-child{
        transform: rotate(-45deg);
    }
    
    #mobileheader.active .content div span {
        top: 6px;
        transition: top ease .3s, transform ease .3s .3s;
    }

    header menu {
        flex-direction: column;
        width: 100%;
        gap: 5px;
    }

    header menu > li{
        border-bottom: 1px solid #ECECEC;
        padding: 15px 0;
        position: relative;
    }

    header #logo{
        display: none;
    }

    header menu li.separator {
        margin-left: 0px;
    }

    .submenu .grid3 {
        grid-template-columns: 100% 100% 100%;
        padding-top: 0;
        padding-bottom: 0;
        transition: 750ms;
    }

    menu .submenu{
        position: relative;
        box-shadow: none;
        display: none;
        top: 0;
        padding: 20px 0;
    }

    menu .submenu .content{
        overflow: clip;
    }

    header.small menu .submenu{
        padding: 20px 0;
    }

    menu li:hover .submenu{
        display: block;
    }

    .submenu h4, .submenu label{
        display: none;
    }

    header menu > li:hover > a::after{
        display: none;
    }

    header.small menu .submenu {
        top: 0px;
    }

    #lang_menu{
        margin: 15px 0;
        width: 100%;
        display: flex;
        align-items: center;
    }

    #lang_menu:hover{
        align-items: start;
    }

    .bannerblue #lang_menu button{
        background-color: var(--color-blue);
    }

    #lang_menu button{
        width: 28px;
        transform: translateY(0px);
    }

    #lang_menu ul{
        display: block;
        position: relative;
        top: 0;
        left: 0;
        padding: 0;
        right: 0;
        background-color: transparent;
        border: 0;
        margin-left: 10px;
        font-size: 1.6rem;
    }

    #lang_menu ul::before{
        display: none;
    }

    #lang_menu:hover ul{
        display: grid;
    }

    #lang_menu ul li{
        display: none;
    }

    #lang_menu:hover ul li{
        display: block;
    }

    #lang_menu ul li.active{
        display: block;
    }

    #search_menu {
        margin-left: 0px;
        margin: 0px;
        padding: 0;
        width: 100%;
        height: 48px;
        background-image: none;
        border: 0;
    }

    #search_menu form{
        display: block;
    }

    #search_menu form input{
        display: block;
        background-color: var(--color-lightgray40);
        height: 48px;
        border-radius: 30px;
        width: 100%;
        background-image: url(../img/ico/search_blue.svg);
        background-repeat: no-repeat;
        background-position: right 15px center;
        padding: 0 50px 0 15px;
        box-sizing: border-box;
    }

    #search_menu:hover form {
        display: block;
        position: relative;
        top: 0px;
        background-color: transparent;
        border: transparent;
        padding: 0px;
        font-size: 1.6rem;
        color: var(--color-black);
        font-weight: 300;
        text-transform: initial;
        right: 0px;
        min-width: 100px;
    }
    
    #search_menu form::before {
        display: none;
    }
    
    #search_menu form::after {
        display: none;
    }

    header.small{
        box-shadow: none;
    }

    #banner {
        height: auto;
        min-height: 100vh;
    }

    #banner .content {
        display: grid;
        padding-bottom: 60px;
    }

    #banner .down{
        position: relative;
        bottom: 0;
        order: 2;
        display: grid;
        margin-top: 150px;
    }

    #banner .infolbl{
        position: relative;
        order: 1;
        top: 20px;
        display: flex;
        transform: translateY(0%);
    }

    #photosdown {
        bottom: 40%;
        right: -240px;
    }

    .submenu ul li:hover, .submenu ul li.active {
        background-color: transparent;
    }

    .subsection2, .subsection3 {
        padding-left: 0px;
    }

    .submenu .grid3.showcol2 {
        transform: translateX(-100%);
    }

    .submenu .grid3.showcol3 {
        transform: translateX(-200%);
    }

    .mobileback{
        position: absolute;
        top: 20px;
        right: 0;
        width: 17px;
        height: 18px;
        background-image: url(../img/ico/arrow_blue.svg);
        transform: rotate(180deg);
        opacity: 0;
        transition: 750ms;
        transition-behavior: allow-discrete;
    }

    menu > li:has(.grid3.showcol2) .mobileback, menu > li:has(.grid3.showcol3) .mobileback{
        display: block;
        opacity: 1;
        z-index: 10;
    }

    menu > li[data-megamenu] {
        background-image: url(../img/ico/arrow_blue.svg);
        background-repeat: no-repeat;
        background-position: right 20px center;
    }

    
    .form-2col .content {
        padding: 0px 0 80px;
    }

    .form-2col .content {
        grid-template-columns: 1fr;
    }

    .intro {
        grid-template-columns: 1fr;
    }

    .col2info h5 {
        max-width: 80%;
    }

    .grid3 .grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .boxex6 ul {
        grid-template-columns: repeat(2, 1fr);
    }

    .module-txt-img .content {
        grid-template-columns: 1.4fr 1fr;
    }

    .module-txt-img.faq .content > div:first-child {
        padding-right: 60px;
    }

    .pct40{
        max-width: 80%;
    }

    .slider-left .control{
        left: initial;
        right: 120px;
    }

    .slider-left .next{
        right: 20px;
    }

    .slider_content{
        overflow: hidden;
    }

    .text-imagelist .slider_scroll{
        overflow: auto;
        scroll-snap-type: x mandatory;
    }

    .text-imagelist {
        height: auto;
    }

    .pct50 {
        max-width: 90%;
    }

    .pct35 {
        max-width: 75%;
    }

    #sticky_banner.active{
        display: none;
    }

}

@media only screen and (max-width: 700px) {

    .content {
        width: 85%;
    }

    menu .submenu .content{
        width: 100%;
    }

    #banner .up h2 {
        font-size: 4.2rem;
        line-height: 4.6rem;
    }

    #banner .infolbl{
        font-size: 2.2rem;
        line-height: 2.6rem; 
        top: 0;
        margin-top: 50px;
    }

    #banner .content{
        width: 90%;
    }

    #banner .up{
        padding-top: 140px;
        width: 100%;
    }

    #photosdown {
        width: 260px;
        height: 260px;
        right: -120px;
        top: 32%;
        bottom: initial;
    }

    #banner .down {
        grid-template-columns: 1fr;
        margin-top: 340px;
        gap: 20px;
    }

    #photosdown img{
        left: initial;
        right: -300px
    }

    #banner.active #photosdown img:nth-child(1){
        bottom: -110px;
        right: 0px;
        animation: none;
    }
    
    #banner.active #photosdown img:nth-child(2){
        bottom: -160px;
        right: -0px;
        animation: none;
    }
    
    #banner.active #photosdown img:nth-child(3){
        bottom: -70px;
        right: -0px;
        animation: none;
    }

    .module-txt-img .content{
        grid-template-columns: 1fr;
    }

    .module-txt-img .mb370{
        margin-bottom: 40px;
    }

    .module-txt-img .content > div:first-child{
        order: 2;
    }

    .module-txt-img .content > div:last-child img.mb130 {
        margin-bottom: 0px;
    }

    .module-txt-img .content > div:first-child{
        border: 0;
    }

    .pct40 {
        max-width: 100%;
    }

    .pct75 {
        max-width: 100%;
    }

    h3, .ash3{
        font-size: 4.2rem;
        line-height: 4.6rem;
    }

    .slider-left .control{
        display: none;
    }

    .slider_content {
        overflow: auto;
    }

    .slider-left .slide{
        opacity: 1;
        padding-bottom: 40px;
    }

    .text-imagelist .slider_items .title{
        display: none;
    }

    .text-imagelist .slider_scroll > div{
        padding: 0 20px;
    }

    .text-list .content {
        grid-template-columns: 1fr;
    }

    .slider-bottom .content > div.controls{
        display: grid;
        margin-top: 20px;
        grid-template-columns: repeat(6 , 1fr);
    }

    .slider-bottom .content > div.controls a{
        grid-column-start: 3;
        grid-column-end: -1;
    }

    .slider-bottom .content > div.controls .pageinfo{
        grid-column: 3 / 5;
        text-align: center;
    }

    .slider-bottom .content > div.controls .next{
        grid-column: 5 / -1;
    }

    .slider-bottom .slide .content > div {
        width: 100%;
    }

    .opinion .content {
        align-items: start;
        padding-top: 40px;
    }

    .prefooter h3, .prefooter .ash3 {
        font-size: 5rem;
        line-height: 5rem;
    }

    footer {
        padding: 120px 0 60px;
    }

    footer .content > div:first-child {
        flex-direction: column;
        gap: 25px;
    }

    footer h5 {
        font-size: 5rem;
        line-height: 5rem;
    }

    footer .content > div:nth-child(2) {
        padding-top: 60px;
    }

    footer .content > div:nth-child(2) > div{
        grid-template-columns: 1fr;
    }

    footer .content > div:nth-child(2) > div ul:last-child {
        grid-column-start: 1;
        grid-column-end: -1;
    } 
    
    footer .explore{
        grid-template-columns: 1fr;
        gap: 25px;
    }

    footer .content > div:last-child > div:last-child{
        flex-direction: column;
        gap: 10px;
    }

    h1 {
        font-size: 4.2rem;
        line-height: 4.6rem;
    }

    h2, .ash2 {
        font-size: 3.0rem;
        line-height: 3.6rem;
    }

    .col2info h5, .col2info .ash5 {
        font-size: 3.6rem;
        line-height: 4.0rem;
        max-width: 100%;
    }

    .col2info p {
        column-count: 1;
    }

    .grid3 .grid {
        grid-template-columns: 1fr;
        gap: 60px;
    }

    .grid3 .grid h4, .grid3 .grid .ash4 {
        font-size: 2.2rem;
        line-height: 2.6rem;
    }

    .grid3 .grid > div {
        padding-left: 0px;
        border-left: 0px solid var(--color-blue-20);
        border-bottom: 1px solid var(--color-blue-20);
    }

    .grid3 .grid > div:last-child {
        border: 0;
    }

    .boxex6 ul {
        grid-template-columns: 1fr;
        width: 100%;
    }

    .boxex6 label{
        display: none;
    }

    .text-imagelist .separator{
        display: none;
    }

    .text-imagelist.isslider .arrows{
        display: none;
    }

    .text-imagelist.isslider .content{
        margin-bottom: 20px;
    }

    .full-text {
        height: auto;
        font-size: 2.6rem;
        line-height: 3.2rem;
    }

    .module-txt-img .content > div:first-child {
        padding-top: 0px;
    }

    .module-txt-img.faq .content > div:first-child {
        padding-right: 0px;
    }

    .why-choose li {
        padding: 80px 0px 20px 0;
    }

    .why-choose.big li div {
        max-width: 100%;
    }

    .boxex6 {
        padding: 20px 0;
    }
    
    .services-list .accordeon h5 {
        font-size: 2.6rem;
        line-height: 3rem;
    }

    .services-list .accordeon h5::after {
        right: 0px;
    }

    .services-list .accordeon li div p, .services-list .accordeon li div div{
        width: 100%;
    }

    .boxex6.cols2 ul {
        grid-template-columns: 1fr;
    }

    .services-list .accordeon li div div p {
        column-count: 1;
    }

    .services-list .accordeon .why-choose-content li {
        padding: 20px 0px 20px 0;
    }

    .services-list .accordeon li .why-choose-content li div {
        max-width: 80%;
    }

    .infocol:has(.ico){
        overflow: clip;
    }

    .infocol.bg-lightgray > div.content{
        grid-template-columns: 1fr;
        padding-top: 40px;
    }

    .infocol h4, .infocol h1{
        font-size: 3rem;
        line-height: 3.4rem;
    }

    .infocol.bg-lightgray > div.content > div{
        padding-top: 50px;
    }

    .infocol .content {
        grid-template-columns: 1fr;
    }

    .infocol .content > div {
        padding-top: 50px;
    }

    .boxex6.text-imagelist .resourcelist ul {
        gap: 60px;
    }

    .form-resouces-col2 .content{
        grid-template-columns: 1fr;
    }

    .history p.cols2 {
        columns: 1;
    }

    .full-text-center {
        height: auto;
    }

    .full-text-center .texteffect {
        width: 100%;
        padding: 60px 0;
    }

    .history .grid2{
        grid-template-columns: 1fr;
    }

    .history h4 {
        font-size: 2.6rem;
        line-height: 3rem;
        max-width: 90%;
    }

    .text-imagelist.team .content > p {
        max-width: 95%;
    }

    .text-imagelist.team .slider_scroll {
        overflow: auto;
    }

    .services-list h3 {
        font-size: 4rem;
        line-height: 4.7rem;
        width: 80%;
        padding-left: 10%;
    }

    .why-choose.big li div.withimage {
        grid-template-columns: 1fr;
    }

    .why-choose.big li div.withimage img.infoimage{
        margin-bottom: 40px;
    }

    .why-choose.big li div.withimage a.btn{
        margin-top: 10px;
    }

    .form-2col h5 {
        max-width: 100%;
        font-size: 2.6rem;
        line-height: 3.0rem;
    }

    footer h5, footer .ash5{
        font-size: 4.2rem;
        line-height: 4.6rem;
    }
   
}