@media screen and (min-width: 1361px) {
    .container, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl { max-width: calc(1220px + 34px); }
}
/*MIN 1360 ENDS*/

@media screen and (min-width: 1200px) {
    .site-menutoggle { display: none; }    
    
    .headernav .menu-arrow { display: none; }
    
    .headernav .menu-item-has-children { position: relative; }
    
    .headernav .menu-item-has-children > a::after {
        display: inline-block;
        font-family: 'poly';
        content: "\e904";
        font-size: 7px;
        font-weight: 900;
        padding-left: 8px;
        margin-top: -1px;
        vertical-align: middle;
    }
    

    .headernav .sub-menu {
        display: block;
        position: absolute;
        left: -20px;
        top: calc(100% + 30px);
        min-width: 200px;
        max-height: calc(100vh - 120px);
        padding: 10px 0;
        margin: 0;
        background: var(--white);
        border-radius: 10px; 
        box-shadow: 0px 0px 30px rgb(127 137 161 / 25%);
        opacity: 0;
        visibility: hidden;
        transition: 0.3s;
        z-index: 99;
    }

    .headernav a {
        background-image: linear-gradient(90deg, var(--primary), var(--primary));
        background-position: center bottom;
        background-size: 0 2px;
        background-repeat: no-repeat;
        transition: color 0.3s ease-in-out, background-size 0.2s ease-in-out
    }

    .headernav a:hover { background-size: 100% 2px; }

    .headernav .sub-menu a { background-position: left bottom; }

    .headernav .menu-item-has-children:hover > .sub-menu { opacity: 1; top: 100%; visibility: visible; }

    .headernav .sub-menu > .menu-item-has-children > .sub-menu { top: 0; left: 100%; transform: translate(20px, -10px); }

    .headernav .sub-menu > .menu-item-has-children:hover > .sub-menu { top: 0; left: 100%; transform: translate(2px, -10px); }

    .headernav .sub-menu a { display: block; font-size: 16px; line-height: 26px; padding: 6px 15px; white-space: nowrap; }

    .headernav .sub-menu .menu-item-has-children > a { display: flex; align-items: center; justify-content: space-between; }

    .headernav .sub-menu .menu-item-has-children > a::after { padding: 0; margin-left: 10px; transform: rotate(-90deg); }
    
    .bttn-lg { --btnsize: 68px; font-size: 22px; }

    .testctrls { margin-top: -58px; }

    .ltrt-alt .ltrt-lt { order: 1; }

    .wcp-lt { min-width: 480px; }
}
/*MIN 1200 ENDS*/


@media screen and (max-width: 1600px) {
    .csslide { --cardRad: 24px; margin: 0 10px; }
    .csslide-info { --sideSpace: 40px; }
    .csslide .bttn { min-width: 0; }
    .logolist { --gap: calc(var(--size) / 7); }
    .hero-abt::before, .hero-abt::after { --size: 600px; }
}
/*1600*/

@media screen and (max-width: 1360px) {
    section.section { --padds: 90px; }
    .hero-home .hero-slide { min-height: 670px; }
    .hero-slide .hero-img { padding-right: 30px; }
    .hero-servsub .hero-img { padding-right: 30px; }
    .lrsec-imt .charc { max-width: 51%; right: -80px; }
    .bentob { padding: 40px; }
    .ctabar { margin-top: 40px; }
    .csslide { padding: 5px; }
    .csslide::before { --offset: 5px; }
    .csslide-info { --sideSpace: 30px; }
    .csslider .slick-track { padding-top: 40px; }
    .csslide .bttn { font-size: 14px; }
    .ctabar-t0 { margin-top: 0; }
    .jumbox { gap: 30px 40px; }
    .jumbox-rt { --padds: 40px; }

    .ltrt { --sidePadds: 30px; }
    .logolist { --gap: calc(var(--size) / 5); }
}
/*1360*/

@media screen and (max-width: 1279px) {
    section.section { --padds: 80px; }
    /* .seccut-left::before, .seccut-right::after { background-size: 86px; } */
    .tech-link { min-height: 92px; }
    .tech-panels { padding: 30px; }
    .tech-pane { gap: 30px; }
    .ctabox-rt { padding: 32px; }
    .ctabox-lt { padding-top: 20px; padding-left: 20px; }
 
    .faqlist { padding-top: 0; }
    .faqbox { padding: 60px 15px 15px; }

    .ososec-img { width: 48%; }

    .hero-abt::before, .hero-abt::after { --size: 540px; }
}
/*1279*/

@media screen and (max-width: 1199px) {
    .site-header .container { width: 100%; max-width: 100%; }
    
    .colheadleft {
        display: flex;
        align-items: center;
        justify-content: space-between;
        width: auto;
        flex: 1 0 auto  ;
    }

    .colheadright {
        --topOffset: 86px;
        position: fixed;
        left: 0;
        top: var(--topOffset);
        display: none;
        font-size: 18px;
        line-height: 28px;
        width: 100%;
        height: calc(100vh - var(--topOffset));
        padding: 0px;
        background: #F5F5F5;
        background: linear-gradient(180deg, #FFFFFF 0%, #F2F1F8 100%);
        background: #fff;
        background-image: linear-gradient(180deg, rgba(60, 140, 240, 0.1) 0%, rgba(215, 25, 35, 0.1) 100%);
        overflow-x: hidden;
        overflow-y: auto;
        z-index: 100;
    }
    
    .siteheader-sticky .colheadright { --topOffset: 72px; }
    .headernav { display: block; }
    .headernav .sub-menu { display: none; left: 0%; top: auto; width: 100%; background: rgba(255, 255, 255, 0.48); transform: translateX(0%); }
    .headernav .sub-menu .sub-menu { background-color: var(--white); }
    .headernav li { margin-left: 0; margin-right: 0; border-bottom: 1px solid #e5e5e5; }
    .headernav > li, .headernav .sub-menu > li  { display: flex; flex-wrap: wrap; padding: 0; }
    .headernav a { font-size: 16px; }
    .headernav > li > a, .headernav .sub-menu > li > a { flex: 1 0 auto; padding: 12px 15px; }
    .headernav .sub-menu > li:first-child { border-top: 1px solid #e5e5e5; }
    .headernav .sub-menu > li > a { max-width: 100%; padding-left: 25px; }
    .headernav .sub-menu .sub-menu > li > a { padding-left: 35px; }
    .headernav .icon-angle-down { font-size: 9px; line-height: 47px; width: 46px; height: 100%; text-align: center; }
    .headernav .icon-angle-down::before { display: inline-block; transform: rotate(0deg); vertical-align: middle; transition: 0.3s ease-in-out; }
    .headernav .icon-angle-down.open { background-color: var(--gray); }
    .headernav .icon-angle-down.open::before { transform: rotate(180deg); }
    .headernav > li.menu-item-has-children > a, .sub-menu >li.menu-item-has-children > a { flex: 1 0 calc(100% - 46px); max-width: calc(100% - 46px); }
    .colheadright .bttn { display: none; }

    :root { --siteradius: 16px; }
    h1, .h1 { --fsize: 56px; margin-bottom: 16px; }
    h3, .h3 { --fsize: 36px; margin-bottom: 12px; }
    h4, .h4 { --fsize: 30px; }
    .font-24 { font-size: 22px; line-height: 32px; }
    .font-22 { font-size: 20px; line-height: 28px; }

    /*
    .container, .container-fluid, .row>* { padding-left: 10px; padding-right: 10px; }
    .row { margin-left: -10px; margin-right: -10px; }
    */

    .hero-home .slick-track { align-items: flex-start; }
    .hero-home .hero-wrap { margin: 0 auto; text-align: center; }    
    .hero-home .hero-slide { flex-direction: column; gap: 30px; min-height: 0; }
    .hero-slide .hero-img {
        --imgSize: 500px;
        display: block;
        position: static;
        width: auto;
        max-width: var(--imgSize);
        height: auto;
        max-height: var(--imgSize);
        text-align: center;
        padding-right: 0;
    }
    .hero-slide .hero-img.align-items-end { margin-bottom: -50px; }

    .lrsec-imt .charc { max-width: 46%; right: -54px; }
    
    .servslide { margin: 0 10px; }
    .servslide-info { padding: 20px; }
    .servslide .bttn { margin-top: 0; }
    .servsld .slider-wrap {margin: 0;}

    .ctabar .container { --padds: 48px; min-height: 320px; }
    .ctab-wrap { flex-direction: column; gap: 20px; align-items: flex-start; }
    .ctab h2, .ctab .h2 { margin-bottom: 10px; }
    .ctab-bttns { gap: 20px 30px; }

    .csslide { margin: 0 5px; }
    .testisec .row { gap: 20px; }
    .testslider { width: 100%; }
    .testslide { --testsgap: 30px; }
    .testctrls { justify-content: center; margin-top: 10px; }
    .slick-arrow { --btnsize: 50px; }

    .testslider { border-radius: 20px;}

    .logolist { margin: 0; }
    .logotrack { padding: 0; }
    .logoitem { width: 120px; height: 60px; max-width: unset; max-height: unset; min-height: 0; padding: 0; }
    .logoitem img { width: 100%; height: 100%; max-width: unset; max-height: unset; object-fit: contain; }

    .blog-img { height: 225px; }
    .ctabox { --ctacontwid: 332px; }
    
    .foo-intro .container { gap: 90px; }
    .foo-intro .foo-logo { min-width: 230px; }

    .hero-ctas { margin-top: 30px; }

    .jumbox { flex-wrap: wrap; justify-content: flex-end; }
    .jumbox-rt { padding: var(--padds); padding-bottom: 0; }
    .jumbox-lt { order: 1; width: 300px; transform: scaleX(-1); }
    .jumbox::before { transform: scaleX(-1); right: 0; left: auto; width: 119px; }

    .ltrt { --sidePadds: 0; }
    .ltrt-ctas, .ltrt-techs { margin-top: 30px; }
    .seccut-left::before, .seccut-right::after { background-size: 12.12vw auto; }

    .wcp { flex-wrap: wrap; gap: 40px; padding: 0; background: none; }
    .wcp-cont { margin-bottom: 30px; }
    .wcp.wcp-contact { padding: 30px; }
    .wcp-contact .wcp-cont { margin-bottom: 0; }

    .brandi { --widths: 33.33%; }
    .servintro-box { --spaces: 40px; }

    .hero-servsub { flex-wrap: wrap; justify-content: center; gap: 40px; }
    .hero-servsub .hero-wrap { max-width: 70%; }
    .hero-servsub .hero-img { position: relative; top: auto; right: auto; left: auto; width: 100%; padding: 0; }
    .hero-servsub .hero-img.align-items-end { margin-bottom: -50px; }

    .sollist { gap: 30px; }
    .soli h3 { margin-top: 20px; }

    .keybl { grid-template-columns: 1fr 1fr; gap: 30px; }
    
    .sdteam { --gridcol: 4; }
    
    .ososec-img { position: static; width: 100%; }
    .ososec-img img { display: block; margin-left: auto; margin-bottom: calc(-1 * var(--padds)); max-height: 40vw; width: auto; }

    .hero-abt::before, .hero-abt::after { --size: 400px; }
 
    .contdline + .contdline { margin-top: 30px; }
}
/*1199*/

@media screen and (max-width: 991px) {
    h2, .h2 { --fsize: 54px; }

    section.section { --padds: 70px; }
    .secx { max-width: 100%; border-radius: 0; }
    /* .seccut-left::before, .seccut-right::after { background-size: 56px; } */
    .seccut-right::after { right: 0; }

    .lrsec-imt .lrcont { padding-left: 0; }
    .bentob { overflow: hidden; }
    .bentob-ul { width: 100%; }
    .bentob-img { right: -60px; width: 56%; opacity: 0.2; }

    .techs { --tabsize: 100%; flex-direction: column; }
    .tech-tabs { flex-direction: row; border-right: none; border-bottom: 1px solid var(--bordercolor); overflow-x: auto; }
    .tech-link { font-size: 22px; min-height: 60px; padding: 20px 25px; border-bottom: none; border-right: 1px solid var(--bordercolor); white-space: nowrap; }
    .tech-link.active { border-bottom: 3px solid var(--primary); }
    .tech-panels { flex: 1 0 100%; max-width: 100%; }
    .tech-pane { grid-template-columns: repeat(3, 1fr); gap: 30px; }

    .ctab-wrap { max-width: 100%; }
    .ctab-img { left: auto; right: 0; opacity: 0.3; max-width: 190px; height: auto; filter: drop-shadow(-10px -5px 3px #000); }
    .ctab-img img { width: 100%; height: 100%; object-fit: contain; object-position: center right; }
    .ctab-left .ctab-wrap { margin-left: 0; }

    .testimg { --imgwid: 210px; }
    .testslide { padding: 20px; }
    .testquote::before { font-size: 24px; margin-bottom: 10px; }
    .testslider .slick-track { display: block; }

    .blog-img { height: auto; }
    .ctabox { --ctacontwid: 100%; flex-wrap: wrap; }
    .ctabox-rt { flex: 1 0 100%; max-width: 100%; }
    .ctabox-char { display: none; }

    .foo-intro .container { gap: 30px; }
    .foo-bot .row { justify-content: center; text-align: center; gap: 10px; }

    .foonav { flex-direction: row; flex-wrap: wrap; }
    .foonav li { max-width: calc(50% - 8px); flex: 1 0 calc(50% - 8px); }

    .ltrt .row { gap: 20px; }
    .logolist { --gap: calc(var(--size) / 3); }

    .servintro-box { flex-direction: column; }
    .servintro-lt { --size: 180px; }
    
    .hero-servsub .hero-wrap { max-width: 100%; }

    .soli { --padds: 30px; }
    .sollist { grid-template-columns: 1fr; }
    .soli img { width: 100px; height: auto; }

    .sprocsec .section-head { padding-bottom: 30px; }
    .sproc-char { position: static; margin: 40px auto -90px; }
    
    .sdteam { --gridcol: 3; }
    .ososec-img img { max-height: 50vw; }
}
/*991*/

@media screen and (max-width: 767px) {
    h1, .h1 { --fsize: 52px; }
    h2, .h2 { --fsize: 46px; margin-bottom: 20px; }
    h4, .h4 { --fsize: 28px; }
    .font-24 { font-size: 20px; line-height: 28px; }
    .font-22 { font-size: 18px; line-height: 26px; }
    .font-18 { font-size: 16px; line-height: 26px; }
    .gapy-40 { row-gap: 30px; }

    .colheadright { --topOffset: 81px; }
    .siteheader-sticky .colheadright { --topOffset: 67px; }
    
    .lrsec-imt .charc { max-width: 43%; right: -16px; }
    .cardslider { max-width: 393px; }
    .bentob { padding: 30px; }
    .techsec .section-head h2 { margin-bottom: 20px; }

    .csslide-det { --wideSize: 78%; }
    .csslider .slick-dots { margin-top: 20px; }

    .slick-initialized .testslide { display: inline-block; }
    .testimg { --imgwid: 170px; }

    .faqitem { --paddings: 20px; }
    .faqbody { font-size: 16px; line-height: 22px; padding-top: 10px; }
    
    .ctabox-rt { padding: 25px; }
    .foo-intro .container { display: grid; text-align: center; }
    .ctabox-ul i { --size: 46px; }

    .foo-contact {
        padding-bottom: 30px;
        margin-bottom: 0px;
        text-align: center; 
        background: linear-gradient(90deg, transparent 0, transparent 17px, rgba(255, 255, 255, 0.1) 17px, rgba(255, 255, 255, 0.1) calc(100% - 17px), transparent calc(100% - 17px), transparent 100%);
        background-size: 100% 1px;
        background-position: bottom left;
        background-repeat: no-repeat;
    }

    .foo-cont-ul { display: inline-grid; gap: 16px; }

    .socialnav { justify-content: center; }
    
    .foo-top, .foo-intro .container { padding-top: 30px; padding-bottom: 30px; }

    .jumbox-rt { --padds: 30px; }
    .wcp-subh { font-size: 24px; }
    .wcp { gap: 30px; }
    .brandi { height: 104px; }
    
    .hero-servsub .hero-img { width: 100%; justify-content: center; padding: 0 20px; }
    .hero-servsub .hero-img img { width: auto; max-height: 500px; }
    .soli h3 { margin-top: 10px; }

    .keybl { grid-template-columns: 1fr; gap: 30px; }

    .sdteam-role { font-size: 14px; line-height: 18px; }
    
    .ososec-img img { max-height: 60vw; }
}
/*767*/

@media screen and (max-width: 575px) {
    body { font-size: 16px; line-height: 26px; }
    h2, .h2 { --fsize: 42px; }
    .font-24 { font-size: 18px; line-height: 26px; }
    .bttn { --btnsize: 50px; }

    section.section { --padds: 50px; }
    .section-head { margin-bottom: 30px; }
    /* .seccut-left::before, .seccut-right::after { background-size: 40px; } */
    .seccut-right::after { background-position: right bottom -1px; }

    .hero-slide .hero-img { --imgSize: 420px; padding: 0 15px; }
    .hero-slider .slick-ctrls { bottom: 20px; }
    .lrsec-imt .lriwrap { padding-bottom: 35px; }

    .bentob-ul { gap: 20px; }
    .csslide { margin: 0 20px; }
    .csslide img { min-height: 290px; width: 100%; object-fit: cover; }

    .faqitem { --paddings: 15px; --headgap: 15px; }
    .faqhead h3 { --fsize: 24px; }
    .faqitem:not(:last-child) { padding-bottom: calc(var(--paddings) + 15px); }
    
    .ctabox-lt { padding-top: 10px; padding-left: 10px; }
    
    .foo-intro .foo-logo { min-width: 0; width: 200px; margin: 0 auto; }
    .foo-intro .container { gap: 20px; }

    .jumbox-lt { margin-top: 0; }
    .ltrt-ctas, .ltrt-techs { margin-top: 20px; }

    .brandi { height: 84px; }
    .faqbox { padding: 60px 10px 10px; }
    .faqitem { --bttnsize: 24px; }

    .servintro-lt { --size: 160px; /*box-shadow: 0px 5px 15px rgba(0, 0, 0, 0.1);*/ }

    .soli { --padds: 24px; }
    .soli img { width: 90px; }
    
    .sproc-char { margin: 40px auto -70px; }
    .sproc-char img { max-height: 330px; width: auto; }
    .sdteam { --gridcol: 2; width: 330px; max-width: 100%; margin-left: auto; margin-right: auto; }

    .letel .slick-list { margin:0; }
    .letel-i { margin: 0px 10px; }
    .letel-i h3 { font-size: 22px; line-height: 24px; }

    .oah .jumbox-lt { width: 210px; }
    .ososec-img img { max-height: 300px; }

    .wcp-contact::before { --offset: 10px; }
}
/*575*/

@media screen and (max-width: 459px) {
    :root { --siteradius16: 12px; }

    .colheadright { --topOffset: 66px; }
    .site-header.siteheader-sticky { padding: 15px 0; }
    .siteheader-sticky .colheadright { --topOffset: 66px; }
    .headctas .bttn { display: none; }

    .bentob { padding: 20px; }

    .csslide .bttn { display: none; }
    .csslide-det { --wideSize: 100%; }

    .testslider { border-radius: 22px; }
    .testquote::before { font-size: 20px; margin-bottom: 6px; }
    .ctabox-rt { padding: 20px; }
    .ctabox-ul li { gap: 10px; }
    .ctabox-ul i { --size: 40px; }
    .ctabox-ul a { font-size: 24px; }
    form { --fieldsize: 48px; --fieldrads: 10px; --fieldpadds: 0 15px; --fieldtop: 10px; }
    .jumbox-rt { --padds: 20px; }
    .ltrt .row { gap: 30px; }
    .ltrt-ctas { gap: 10px; }
    .ltrt-ctas .bttn { padding: 0 18px; }
    .wcp { padding: 0; }
    .brandi { --widths: 50%; height: 114px; }
    .servintro-box { --spaces: 30px; }
    .servintro-lt { --size: 120px; /* padding: 22px; box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.1); */ }
    .soli { --padds: 20px; }
    .sproc-char img { max-height: 280px; }

    .letel { width: 280px; }
    .letel-img::before { display: none; }
    .letel-i h3 { margin-top: 0; }
}
/*459*/

@media screen and (max-width: 375px) {
    .foo-title { margin-bottom: 16px; text-align: center; }
    .foonav { gap: 10px; text-align: center; }
    .foonav li { flex: 1 0 100%; max-width: 100%; }
    .brandi { height: 104px; }
    .servintro-box { --spaces: 25px; }
    .servintro-box::before { left: 8px; top: 8px; width: calc(100% - 16px); height: calc(100% - 16px); }
    .sdteam { gap: 15px; }
    .sdteam + .sdteam { margin-top: 15px; }
}
/*375*/