@media screen and (max-width:1279px) {
    :root {
        --theme-fontsize-large: 33px;
        --theme-fontsize-medium: 24px;
        --theme-fontsize-semimedium: 21px;
        --theme-fontsize-body: 16px;
        --theme-fontsize-small: 12px;
        --theme-fontsize-smaller: 10px;
        --theme-page-padding: 30px;
        --theme-section-padding: 30px;
        --theme-column-gap: 30px;
        --theme-illustration-size: 65px;
        --theme-header-margin: 30px;
    }

    .container,
    .container-fluid,
    .container-lg,
    .container-md,
    .container-sm,
    .container-xl,
    .container-xxl {
        --bs-gutter-x: 30px;
    }

    .row {
        --bs-gutter-x: 30px;
    }

    .menu-close {
        top: 22px;
        right: 22px;
    }

    .s-cover {
        aspect-ratio: 2;
    }

    .s-cover .s-title {
        padding-left: 10%;
        top: 40px;
    }

    .s-cover.style-1 .s-title .line-2 {
        transform: translateX(0ch);
    }

    .s-cover.style-1 .s-title .line-3 {
        left: 20%;
    }

    .s-cover.style-1 .s-title h2 {
        top: 35%;
        left: 52%;
    }

    .s-cover.style-10 .s-title h2 {
        left: 30%;
    }

    .site-footer .cpr {
        height: 115px;
    }

}

@media screen and (max-width:1023px) {}

@media screen and (max-width:991px) {
    :root {
        --theme-fontsize-large: 29px;
        --theme-fontsize-medium: 21px;
        --theme-fontsize-semimedium: 17px;
        --theme-fontsize-body: 14px;
        --theme-fontsize-small: 11px;
        --theme-fontsize-smaller: 9px;
    }

    p {
        margin-bottom: 1em;
    }

    body.menu-active .site-header:before {
        clip-path: polygon(43% 0%, 100% 0, 100% 100%, 0 100%, 0 39%);
    }

    .s-cover .s-title {
        padding-left: 5%;
    }

    .s-cover.style-8 .illustration .line-1 {
        width: 33%;
    }

    .s-cover.style-8 .illustration .line-2 {
        width: 64%;
    }

    .s-cover.style-8 .s-title h2 {
        left: 21%;
    }

    .s-cover.style-11 .s-title h2 {
        bottom: 1.25em;
    }

    .s-cover.style-13 .s-title h2 {
        gap: 1em;
    }

    .s-cover.style-13 .s-title h2 span {
        flex-direction: column;
        gap: 0.25em;
    }

    .form-wrapper label {
        width: 145px;
    }

    .site-footer .logo-full img {
        position: relative;
        width: 80%;
        transform: none;
        margin-top: 2em;
        max-width: 200px;
    }

    .s-cover.style-9 .illustration .line-1 {
        width: 50%;
    }

    article.page,
    .s-content-intro {
        padding: 0 20px;
    }

}

@media screen and (max-width:767px) {
    :root {
        --theme-fontsize-large: 30px;
        --theme-fontsize-medium: 20px;
        --theme-fontsize-semimedium: 17px;
        --theme-fontsize-body: 13px;
        --theme-fontsize-small: 11px;
        --theme-fontsize-smaller: 9px;
        --theme-illustration-size: 45px;
    }

    .section .pull-left,
    .section .pull-right {
        width: 100% !important;
        transform: none !important;
    }

    .sub-section-team img {
        margin-bottom: 1em;
    }

    .sub-section-portfolios .portfolio h3,
    .sub-section-portfolios .portfolio ul {
        width: 100%;
    }

    .site-footer {
        padding-bottom: calc(var(--theme-section-padding) * 2);
        text-align: center;
    }

    .site-footer .logo-full img {
        max-width: 120px;
    }

    .illustration.style-1 .line-1 {
        width: 30%;
    }

    .illustration.style-1 .line-2 {
        width: 50%;
    }

    .illustration.style-2 .line-1 {
        width: 50%;
    }

    .illustration.style-2 .line-2 {
        width: 80%;
    }

    .s-cover {
        aspect-ratio: 1.5;
    }

    .s-cover.style-1 .illustration .line-1 {
        width: 37%;
    }

    .s-cover.style-1 .illustration .line-2 {
        width: 60%;
    }

    .s-cover.style-2 .illustration .line-1 {
        width: 38%;
    }

    .s-cover.style-2 .illustration .line-2 {
        width: 70%;
    }

    .s-cover.style-4 .illustration .line-2 {
        width: 70%;
    }

    .s-cover.style-4 .illustration .line-1 {
        width: 40%;
    }

    .s-cover.style-5 .illustration .line-1 {
        width: 50%;
    }

    .s-cover.style-5 .illustration .line-2 {
        width: 70%;
    }

    .s-cover.style-9 .illustration .line-1 {
        width: 50%;
    }

    .s-cover.style-10 .illustration .line-1 {
        width: 78%;
    }

    .s-cover.style-10 .illustration .line-2 {
        width: 78%;
    }

    .illustration-top .line-1,
    .illustration-top .line-2,
    .illustration.style-1 .line-1,
    .illustration.style-1 .line-2,
    .illustration.style-2 .line-1,
    .illustration.style-2 .line-2,
    .s-cover.style-1 .illustration .line-1,
    .s-cover.style-1 .illustration .line-2,
    .s-cover.style-2 .illustration .line-1,
    .s-cover.style-2 .illustration .line-2,
    .s-cover.style-3 .illustration .line-1,
    .s-cover.style-3 .illustration .line-2,
    .s-cover.style-4 .illustration .line-1,
    .s-cover.style-4 .illustration .line-2,
    .s-cover.style-5 .illustration .line-1,
    .s-cover.style-5 .illustration .line-2,
    .s-cover.style-6 .illustration .line-1,
    .s-cover.style-6 .illustration .line-2,
    .s-cover.style-7 .illustration .line-1,
    .s-cover.style-8 .illustration .line-2,
    .s-cover.style-9 .illustration .line-1,
    .s-cover.style-9 .illustration .line-2,
    .s-cover.style-10 .illustration .line-1,
    .s-cover.style-10 .illustration .line-2,
    .s-cover.style-11 .illustration .line-1,
    .s-cover.style-11 .illustration .line-2,
    .s-cover.style-12 .illustration .line-1,
    .s-cover.style-12 .illustration .line-2,
    .s-cover.style-13 .illustration .line-1,
    .s-cover.style-13 .illustration .line-2,
    .s-cover.style-14 .illustration .line-1 {
        height: 30px;
    }

    .s-cover.style-7 .illustration .line-2 {
        height: 60px;
    }

    .s-cover.style-8 .illustration .line-1 {
        height: 90px;
        transform: translateY(30px);
        clip-path: polygon(90px 0, 100% 0, 100% 100%, 0 100%);
        width: 40%;
    }

    .s-cover.style-14 .illustration .line-2 {
        height: 60px;
        transform: translateY(30px);
    }

    .s-cover.style-1 .s-title {
        left: 10%;
    }

    .s-cover.style-10 .s-title {
        left: 35%;
    }

    .s-cover .s-title {
        top: 25px;
    }

    .s-cover.style-1 .s-title,
    .s-cover.style-2 .s-title,
    .s-cover.style-3 .s-title,
    .s-cover.style-5 .s-title,
    .s-cover.style-6 .s-title,
    .s-cover.style-7 .s-title,
    .s-cover.style-8 .s-title,
    .s-cover.style-9 .s-title,
    .s-cover.style-9 .s-title,
    .s-cover.style-10 .s-title,
    .s-cover.style-11 .s-title,
    .s-cover.style-12 .s-title,
    .s-cover.style-14 .s-title {
        bottom: 75px;
    }

    .s-cover.style-13 .s-title {
        bottom: 35px;
    }

    .s-title h4,
    .s-title .h4 {
        margin-left: 4ch;
    }

    .s-title h2 {
        margin-bottom: 0;
    }

    .s-cover.style-8 .s-title h2 {
        bottom: 0.5em;
        left: 10%;
    }

    .s-cover.style-13 .s-title h2 {
        gap: 0.5em;
    }

    .s-cover.style-9 .s-title h2 {
        left: 52%;
    }

    .s-cover.style-14 .s-title .line-2 {
        left: 10%;
    }

    .s-cover.style-14 .s-title .line-3 {
        left: 20%;
    }

    .s-cover.style-10 .s-title h2 {
        left: 15%;
    }

    .s-cover.style-11 .s-title .line-2 {
        bottom: 0;
    }

    .s-cover.style-11 .s-title .sub-title {
        left: auto;
        right: 5%;
    }

    .s-cover.style-11 .s-title h2 {
        left: 15%;
    }

    .s-cover.style-8 .illustration .line-2 {
        width: 82%;
    }

    .illustration-top .line-2,
    .s-cover.style-4 .illustration .line-2 {
        width: 50%;
    }

    .illustration-top .line-1,
    .s-cover.style-4 .illustration .line-1 {
        width: 25%;
    }

}

@media screen and (max-width:679px) {
    :root {
        --theme-fontsize-smaller: 10px;
    }

    body.menu-active .site-header:before {
        clip-path: polygon(39% 0%, 100% 0, 100% 100%, 0 100%, 0 39%);
    }

    .sub-section-innovation .svg .show-mobile {
        display: block;
    }

    .sub-section-innovation .svg .show-desktop {
        display: none;
    }

    .sub-section-innovation .svg {
        max-width: 280px;
        margin: 0 auto;
    }

    .sub-section-innovation .svg .text-1,
    .sub-section-innovation .svg .text-2 {
        position: relative;
        width: 80%;
        left: 0;
        margin: 0 auto;
    }

    .sub-section-innovation .svg .text-2 {
        margin-bottom: 2em;
    }

    /* .sub-section-portfolios .portfolio ul {
        width: 80%;
    } */

    .sub-section-portfolios .portfolio .item-detail {
        clip-path: polygon(0 0, 100% 0, calc(100% - var(--theme-illustration-size)) 100%, 0 100%);
        padding: 1em calc(0% + var(--theme-illustration-size)) 1em 1em;
    }

    .sub-section-expertise img {
        height: 40px;
    }

    .form-wrapper .form-row {
        flex-direction: column;
    }

    .form-wrapper .form-col:nth-child(2) label {
        width: 145px;
    }

}

@media screen and (max-width:579px) {
    :root {
        --theme-fontsize-large: 26px;
        --theme-fontsize-medium: 16px;
        --theme-fontsize-semimedium: 14px;
        --theme-fontsize-body: 13px;
        --theme-fontsize-small: 11px;
        --theme-fontsize-smaller: 9px;
    }

    .s-title h2 {
        line-height: 1.2;
    }

    .s-cover.style-1 .s-title h2 {
        left: auto;
        right: 5%;
        bottom: 3em;
        top: auto;
    }

    .s-cover.style-13 .s-title h2 .s-title-line:last-child {
        padding-left: 0;
    }

    .s-cover.style-10 .s-title h2 {
        left: 5%;
    }

    .s-cover.style-14 .s-title .line-2,
    .s-cover.style-14 .s-title .line-3 {
        left: 5%;
    }
}

@media screen and (max-width:479px) {
    :root {
        --theme-fontsize-large: 22px;
    }

    .site-header:before {
        width: 115px;
    }

    body.menu-active .site-header:before {
        clip-path: polygon(70% 0%, 100% 0, 100% 100%, 0 100%, 0 39%);
    }

    .site-header .col-menu {
        display: none !important;
    }

    .s-content-text {
        padding-left: 0;
        padding-right: 0;
    }

    .s-content-interactive__label {
        font-size: 7px;
    }
}

@media screen and (max-width:359px) {
    :root {
        --theme-fontsize-large: 20px;
        --theme-fontsize-medium: 14px;
        --theme-fontsize-semimedium: 13px;
    }

    .s-cover.style-13 .s-title h2 span {
        gap: 0;
    }

}

/* @media screen and (max-width:1599px) and (max-height: 679px){
    body.menu-active .site-header:before {
        clip-path: polygon(300px 0%, 100% 0, 100% 100%, 0 100%, 0 300px);
    }
} */

@media screen and (max-width: 349px) and (max-height: 474px) {
    body.menu-active .site-header:before {
        clip-path: none;
    }
}