body.page-template-cofect-v2 {
    --container-width: 1300px;

    --padding-xs: 16px;
    --padding-s: 24px;
    --padding-m: 32px;
    --padding-l: 80px;
    --padding-xl: 112px;
    --padding-xxl: 120px;

    --border-radius: 16px;
    --border-radius-l: 48px;

    --body-font-size: 16px;
    --h6-font-size: 16px;
    --h5-font-size: 18px;
    --h4-font-size: 24px;
    --h3-font-size: 32px;
    --h2-font-size: 48px;
    --h1-font-size: 80px;

    --color-white: #FFFFFF;
    --color-light-gray: #F5F5F5;
    --color-dark-green: #3C4647;
    --color-black: #000000;
    --color-orange: #DF5C41;
    --color-dark-orange: #9f3722;

    font-size: var(--body-font-size) !important;
    background: var(--color-white) !important;
}

body.page-template-cofect-v2 #main.site-main {
    padding-top: 86px;
}

/* Header */
@media (min-width: 63.999rem) {
    .so-header :is(.header-top, .header-middle, .header-bottom) {
        max-width: calc(var(--container-width) + (var(--padding-xs) * 2));
        margin-left: auto;
        margin-right: auto;
    }

    .so-header .menu-primary ul#primary-menu>li {
        border-top: none;
    }

    .so-header .header-logo {
        max-width: 130px;
        width: 100%;
    }

    .so-header .menu-wrapper {
        display: flex;
        gap: 48px;
        align-items: center;
    }

    .so-header .header-middle-center {
        position: relative;
    }

    .so-header .header-middle-center:after {
        content: '';
        width: 1px;
        position: absolute;
        top: 4px;
        bottom: 4px;
        right: -24px;
        background: var(--color-white);
    }

    .so-header .menu-primary ul#primary-menu>li>a {
        padding: 0 8px;
        margin: 0;
    }

    .so-header .menu-primary ul#primary-menu>li ul {
        top: 48px;
    }
}

@media (max-width: 650px) {
    .so-header .header-logo {
        max-width: 130px !important;
        width: 100%;
    }
}

.so-header .menu-primary ul#primary-menu>li:last-child>a {
    padding-right: 0;
}

.so-header .menu-main-menu-container {
    padding-top: 0;
}

/* Footer */
.so-footer {
    background-color: var(--color-dark-green);
    padding-top: var(--padding-l);
    display: flex;
    flex-direction: column;
    gap: 56px;
    position: relative;
    overflow: hidden;
}

.so-footer:after {
    content: '';
    width: calc(100vw - (var(--container-width) / 2));
    top: 48px;
    right: 0;
    pointer-events: none;
    display: block;
    position: absolute;
    background-image: url("../img/cofect-bg.svg");
    min-width: 1100px;
    background-size: 100%;
    background-position: center;
    background-repeat: no-repeat;
    aspect-ratio: 1585/461;
}

.so-footer > * {
    max-width: calc(var(--container-width) + (var(--padding-xs) * 2));
    width: 100%;
    padding-left: var(--padding-xs);
    padding-right: var(--padding-xs);
    margin-left: auto;
    margin-right: auto;
}

.so-footer .middle {
    display: flex;
    justify-content: space-between;
    gap: 32px 96px;
}

.so-footer .middle .left ul {
    display: flex;
    flex-direction: column;
    padding: 0;
    margin: 0;
}

.so-footer .middle .left li {
    padding-top: 4px;
    padding-bottom: 4px;
    font-weight: 300;
    color: var(--color-white);
    list-style: none;
    padding: 0;
}

.so-footer .middle .left li strong {
    font-weight: bolder;
}

#menu-footer-menu {
    display: flex;
    margin: 0;
    padding: 0;
    gap: 32px 96px;
    flex-wrap: wrap;
}

#menu-footer-menu ul {
    padding: 0;
    margin: 0;
}

#menu-footer-menu li {
    list-style: none;
}

#menu-footer-menu li a:not([href]) {
    text-decoration: none;
    text-transform: uppercase;
    font-weight: 500;
    opacity: 1 !important;
}

#menu-footer-menu li a {
    color: var(--color-white);
    text-decoration: none;
    font-weight: 300;
    transition: all .2s ease-in-out;
    padding-top: 4px;
    padding-bottom: 4px;
    display: block;
}

#menu-footer-menu li a:hover {
    opacity: .6;
}

.so-footer .submenu {
    display: flex;
    padding: 0;
    margin: 0;
    color: var(--color-white) !important;
    gap: var(--padding-m);
    padding-bottom: var(--padding-xs);
    flex-wrap: wrap;
    justify-content: space-between;
}

.so-footer .submenu li {
    list-style: none;
    font-size: 12px;
    font-weight: 400;
    padding-top: 4px;
    padding-bottom: 4px;
}

.so-footer .submenu .left {
    display: flex;
    gap: 40px;
    align-items: flex-start;
}

.so-footer .submenu .left > span {
    text-transform: uppercase;
    font-size: 12px;
}

#menu-footer-submenu {
    padding: 0;
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    gap: var(--padding-m);
}

#menu-footer-submenu li {
    padding: 0;
    position: relative;
}

#menu-footer-submenu li a {
    text-decoration: none;
    transition: all .2s ease-in-out;
}

#menu-footer-submenu li a:hover {
    opacity: .6;
}

#menu-footer-submenu li:after {
    content: '';
    width: 1px;
    position: absolute;
    top: 4px;
    bottom: 4px;
    right: -16px;
    background: rgba(255, 255, 255, 0.50);
}

#menu-footer-submenu li:last-child:after {
    display: none;
}

#menu-socials {
    padding: 0;
    margin: 0;
    display: flex;
    gap: 8px;
}

#menu-socials li {
    padding: 0;
    white-space: nowrap;  
    text-indent: -99999px;
}

#menu-socials li.linkedin a {
    background-image: url("data:image/svg+xml,%3Csvg width='16' height='17' viewBox='0 0 16 17' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M14.8169 0.75353H1.1831C1.02984 0.751414 0.877667 0.779327 0.735264 0.835676C0.592861 0.892024 0.463021 0.975703 0.353157 1.08193C0.243293 1.18817 0.155559 1.31487 0.0949633 1.45481C0.0343681 1.59475 0.00209931 1.74518 0 1.89751V15.6093C0.00209931 15.7617 0.0343681 15.9121 0.0949633 16.052C0.155559 16.192 0.243293 16.3187 0.353157 16.4249C0.463021 16.5311 0.592861 16.6148 0.735264 16.6712C0.877667 16.7275 1.02984 16.7554 1.1831 16.7533H14.8169C14.9702 16.7554 15.1223 16.7275 15.2647 16.6712C15.4071 16.6148 15.537 16.5311 15.6468 16.4249C15.7567 16.3187 15.8444 16.192 15.905 16.052C15.9656 15.9121 15.9979 15.7617 16 15.6093V1.89751C15.9979 1.74518 15.9656 1.59475 15.905 1.45481C15.8444 1.31487 15.7567 1.18817 15.6468 1.08193C15.537 0.975703 15.4071 0.892024 15.2647 0.835676C15.1223 0.779327 14.9702 0.751414 14.8169 0.75353ZM4.85312 14.1453H2.43863V6.94544H4.85312V14.1453ZM3.64588 5.93746C3.31289 5.93746 2.99354 5.80597 2.75808 5.57193C2.52262 5.33789 2.39034 5.02046 2.39034 4.68947C2.39034 4.35849 2.52262 4.04106 2.75808 3.80702C2.99354 3.57298 3.31289 3.44149 3.64588 3.44149C3.82269 3.42156 4.00175 3.43898 4.17133 3.4926C4.3409 3.54622 4.49717 3.63484 4.6299 3.75266C4.76264 3.87047 4.86883 4.01483 4.94155 4.17627C5.01426 4.33771 5.05185 4.51259 5.05185 4.68947C5.05185 4.86636 5.01426 5.04124 4.94155 5.20268C4.86883 5.36412 4.76264 5.50848 4.6299 5.62629C4.49717 5.74411 4.3409 5.83273 4.17133 5.88635C4.00175 5.93997 3.82269 5.95739 3.64588 5.93746ZM13.5614 14.1453H11.1469V10.2814C11.1469 9.31341 10.8008 8.68142 9.92354 8.68142C9.65204 8.68339 9.38768 8.76804 9.16607 8.92395C8.94445 9.07987 8.77625 9.29955 8.6841 9.55341C8.62112 9.74144 8.59383 9.93946 8.60362 10.1374V14.1373H6.18913V6.93744H8.60362V7.95343C8.82296 7.57512 9.14198 7.26345 9.52631 7.052C9.91064 6.84055 10.3457 6.73733 10.7847 6.75345C12.3944 6.75345 13.5614 7.78543 13.5614 10.0014V14.1453Z' fill='white'/%3E%3C/svg%3E%0A");
}

#menu-socials li.instagram a {
    background-image: url("data:image/svg+xml,%3Csvg width='16' height='17' viewBox='0 0 16 17' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8 6.76942C7.6076 6.76942 7.22402 6.88578 6.89775 7.10378C6.57148 7.32179 6.31719 7.63165 6.16702 7.99417C6.01686 8.3567 5.97757 8.75562 6.05412 9.14048C6.13068 9.52534 6.31963 9.87885 6.5971 10.1563C6.87457 10.4338 7.22808 10.6227 7.61294 10.6993C7.9978 10.7758 8.39672 10.7366 8.75924 10.5864C9.12177 10.4362 9.43163 10.1819 9.64964 9.85567C9.86764 9.5294 9.984 9.14582 9.984 8.75342C9.984 8.49288 9.93268 8.23488 9.83298 7.99417C9.73327 7.75346 9.58713 7.53475 9.4029 7.35052C9.21867 7.16629 8.99995 7.02015 8.75924 6.92044C8.51853 6.82074 8.26054 6.76942 8 6.76942ZM15.944 4.80942C15.9403 4.19158 15.8265 3.57934 15.608 3.00142C15.4474 2.57843 15.199 2.19429 14.8791 1.87437C14.5591 1.55444 14.175 1.30599 13.752 1.14542C13.1741 0.926896 12.5618 0.813117 11.944 0.809418C10.912 0.753418 10.608 0.753418 8 0.753418C5.392 0.753418 5.088 0.753418 4.056 0.809418C3.43816 0.813117 2.82592 0.926896 2.248 1.14542C1.82501 1.30599 1.44088 1.55444 1.12095 1.87437C0.801021 2.19429 0.552574 2.57843 0.392 3.00142C0.173478 3.57934 0.0596991 4.19158 0.0559999 4.80942C-5.36442e-08 5.84142 0 6.14542 0 8.75342C0 11.3614 -5.36442e-08 11.6654 0.0559999 12.6974C0.0652238 13.3173 0.178813 13.9312 0.392 14.5134C0.550964 14.9349 0.799322 15.317 1.12 15.6334C1.43872 15.9551 1.82363 16.2035 2.248 16.3614C2.82592 16.5799 3.43816 16.6937 4.056 16.6974C5.088 16.7534 5.392 16.7534 8 16.7534C10.608 16.7534 10.912 16.7534 11.944 16.6974C12.5618 16.6937 13.1741 16.5799 13.752 16.3614C14.1764 16.2035 14.5613 15.9551 14.88 15.6334C15.2007 15.317 15.449 14.9349 15.608 14.5134C15.8258 13.9325 15.9396 13.3178 15.944 12.6974C16 11.6654 16 11.3614 16 8.75342C16 6.14542 16 5.84142 15.944 4.80942ZM13.912 11.2094C13.8867 11.7032 13.7814 12.1895 13.6 12.6494C13.4447 13.0332 13.2138 13.3818 12.9211 13.6745C12.6284 13.9672 12.2797 14.1981 11.896 14.3534C11.4317 14.5247 10.9427 14.6193 10.448 14.6334H5.552C5.05734 14.6193 4.56828 14.5247 4.104 14.3534C3.70716 14.2062 3.34884 13.971 3.056 13.6654C2.76593 13.3786 2.54204 13.0318 2.4 12.6494C2.22859 12.1855 2.13664 11.6959 2.128 11.2014V6.30542C2.13664 5.81089 2.22859 5.32137 2.4 4.85742C2.54718 4.46057 2.78241 4.10226 3.088 3.80942C3.37642 3.52131 3.72272 3.29771 4.104 3.15342C4.56828 2.98213 5.05734 2.88756 5.552 2.87342H10.448C10.9427 2.88756 11.4317 2.98213 11.896 3.15342C12.2928 3.30059 12.6512 3.53582 12.944 3.84142C13.2341 4.12825 13.458 4.47501 13.6 4.85742C13.7713 5.32169 13.8659 5.81076 13.88 6.30542V8.75342C13.88 10.4014 13.936 10.5694 13.912 11.2014V11.2094ZM12.632 5.25742C12.5368 4.99901 12.3866 4.76433 12.1918 4.56959C11.9971 4.37485 11.7624 4.22467 11.504 4.12942C11.1492 4.00643 10.7755 3.94685 10.4 3.95342H5.6C5.22261 3.95711 4.84886 4.02753 4.496 4.16142C4.24154 4.25234 4.00935 4.39639 3.81487 4.58398C3.62038 4.77157 3.46805 4.99841 3.368 5.24942C3.25224 5.60581 3.1955 5.97872 3.2 6.35342V11.1534C3.20837 11.5303 3.27864 11.9033 3.408 12.2574C3.50325 12.5158 3.65343 12.7505 3.84817 12.9452C4.04291 13.14 4.27759 13.2902 4.536 13.3854C4.87744 13.5106 5.23657 13.5808 5.6 13.5934H10.4C10.7774 13.5897 11.1511 13.5193 11.504 13.3854C11.7624 13.2902 11.9971 13.14 12.1918 12.9452C12.3866 12.7505 12.5368 12.5158 12.632 12.2574C12.7659 11.9046 12.8363 11.5308 12.84 11.1534V6.35342C12.8399 5.97569 12.7693 5.6013 12.632 5.24942V5.25742ZM8 11.8094C7.59906 11.8094 7.20205 11.7303 6.83173 11.5766C6.46141 11.423 6.12504 11.1977 5.84191 10.9139C5.55877 10.63 5.33442 10.293 5.18172 9.92229C5.02901 9.55157 4.95095 9.15436 4.952 8.75342C4.952 8.14866 5.13144 7.5575 5.46759 7.05477C5.80374 6.55204 6.2815 6.16035 6.84037 5.92928C7.39925 5.69822 8.01412 5.63817 8.60714 5.75674C9.20017 5.8753 9.74468 6.16715 10.1717 6.59534C10.5988 7.02353 10.8892 7.56881 11.0063 8.16214C11.1233 8.75547 11.0616 9.37018 10.8291 9.92845C10.5965 10.4867 10.2036 10.9634 9.7 11.2983C9.19639 11.6331 8.60476 11.811 8 11.8094ZM11.2 6.29742C11.0232 6.2787 10.8595 6.19519 10.7405 6.06299C10.6216 5.93079 10.5558 5.75925 10.5558 5.58142C10.5558 5.40358 10.6216 5.23204 10.7405 5.09984C10.8595 4.96764 11.0232 4.88414 11.2 4.86542C11.3768 4.88414 11.5405 4.96764 11.6595 5.09984C11.7784 5.23204 11.8442 5.40358 11.8442 5.58142C11.8442 5.75925 11.7784 5.93079 11.6595 6.06299C11.5405 6.19519 11.3768 6.2787 11.2 6.29742Z' fill='white'/%3E%3C/svg%3E%0A");
}

#menu-socials li a {
    white-space: nowrap;  
    text-indent: -99999px;
    width: 20px;
    height: 20px;
    background-size: 100%;
    background-repeat: no-repeat;
    background-position: center;
    display: block;
}

.so-footer .submenu a {
    color: var(--color-white) !important;
    text-decoration: underline;
}

.so-footer .submenu a:hover {
    text-decoration: none;
}

@media screen and (max-width: 1000px) {
    .so-footer .middle {
        flex-direction: column-reverse;
    }
}

@media screen and (max-width: 650px) {
    .so-footer {
        gap: 48px;
    }

    .so-footer:after {
        min-width: 560px;
    }

    #menu-footer-menu > li {
        flex: 0 0 100%;
        width: 100%;
    }

    .so-footer .submenu .left {
        gap: 32px;
        flex-wrap: wrap;
    }

    .so-footer .submenu {
        padding-bottom: 40px;
    }
}

:where(body.page-template-cofect-v2) {

    /* Fonts */
    p {
        font-weight: 400;
        font-size: var(--body-font-size);
        color: var(--color-black);
    }

    h1, h2, h3, h4, h5, h6 {
        font-weight: 700;
        color: var(--color-dark-green);
        line-height: 1.1em;
        font-family: 'Fira Sans', sans-serif;
        text-transform: unset !important;
    }

    h1, .h1 {
        font-size: var(--h1-font-size);
        margin-bottom: 32px;
    }

    h2, .h2 {
        font-size: var(--h2-font-size);
        margin-bottom: 16px;
    }

    h3, .h3 {
        font-size: var(--h3-font-size);
        margin-bottom: 16px;
    }

    h4, .h4 {
        font-size: var(--h4-font-size);
        margin-bottom: 12px;
    }

    h5, .h5 {
        font-size: var(--h5-font-size);
        margin-bottom: 8px;
    }

    h6, .h6 {
        font-size: var(--h6-font-size);
        margin-bottom: 8px;
    }

    /* Core blocks */

    /* Buttons */
    .wp-block-button .wp-block-button__link {
        background: transparent;
        color: var(--color-white);
        background: var(--color-orange);
        font-weight: 500;
        border-radius: var(--border-radius-l);
        transition: all .2s ease-in-out;
        font-size: 14px;
        padding: var(--padding-xs) var(--padding-s);
        box-sizing: border-box;
    }

    .wp-block-button .wp-block-button__link:hover {
        background: var(--color-dark-orange);
        color: var(--color-white);
    }

    .wp-block-button .wp-block-button__link:has(img) {
        display: flex;
        align-items: center;
    }

    .wp-block-button .wp-block-button__link img {
        margin-right: 12px;
    }

    .wp-block-button.is-style-outline .wp-block-button__link {
        border: 2px solid var(--color-orange);
        background: transparent;
        color: var(--color-orange);
    }

    .wp-block-button.is-style-outline .wp-block-button__link:hover {
        color: var(--color-white);
        background: var(--color-orange);
    }

    .wp-block-button .wp-block-button__link:after {
        display: none;
    }

    .wp-block-button.is-style-arrow .wp-block-button__link {
        padding: 0 24px 0 0;
        background: transparent;
        border: none;
        color: var(--color-orange);
        width: fit-content;
    }

    .wp-block-button.is-style-arrow .wp-block-button__link:after {
        content: '';
        background-image: url("data:image/svg+xml,%3Csvg width='16' height='12' viewBox='0 0 16 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M16 5.75349C16 5.86247 15.9796 5.96464 15.9387 6.06C15.8978 6.15536 15.8365 6.24391 15.7548 6.32564L11.198 10.9029C11.0481 11.0528 10.8574 11.1277 10.6258 11.1277C10.3942 11.1277 10.1967 11.0528 10.0332 10.9029C9.86974 10.7394 9.788 10.5452 9.788 10.3201C9.788 10.0951 9.86974 9.90109 10.0332 9.73816L13.2209 6.57086L8.1737 6.57086C7.94211 6.57086 7.74812 6.49239 7.59173 6.33545C7.43534 6.17852 7.35687 5.98453 7.35633 5.75349C7.35578 5.52244 7.43425 5.32818 7.59173 5.1707C7.74921 5.01322 7.9432 4.93503 8.1737 4.93612L13.2209 4.93612L10.0332 1.74838C9.88336 1.59853 9.80843 1.41108 9.80843 1.18603C9.80843 0.960983 9.89017 0.766994 10.0536 0.604065C10.2035 0.454215 10.3942 0.379288 10.6258 0.379288C10.8574 0.379288 11.0481 0.454215 11.198 0.604065L15.7548 5.18133C15.8365 5.26307 15.8978 5.35161 15.9387 5.44697C15.9796 5.54233 16 5.6445 16 5.75349ZM5.72159 5.75349C5.72159 5.98507 5.6434 6.17906 5.48701 6.33545C5.33062 6.49184 5.13635 6.57031 4.90422 6.57086L4.08685 6.57086C3.85527 6.57086 3.66128 6.49239 3.50489 6.33545C3.3485 6.17852 3.27003 5.98453 3.26948 5.75349C3.26894 5.52244 3.34741 5.32818 3.50489 5.1707C3.66237 5.01322 3.85636 4.93503 4.08685 4.93612L4.90422 4.93612C5.13581 4.93612 5.33007 5.01459 5.48701 5.17152C5.64394 5.32846 5.72214 5.52244 5.72159 5.75349ZM1.63475 5.75349C1.63475 5.98507 1.55655 6.17906 1.40016 6.33545C1.24377 6.49184 1.04951 6.57031 0.81738 6.57086C0.585247 6.5714 0.391258 6.49293 0.235413 6.33545C0.0795681 6.17797 0.0011008 5.98399 1.09619e-05 5.75349C-0.00107887 5.52299 0.0773884 5.32873 0.235413 5.1707C0.393438 5.01268 0.587426 4.93448 0.817379 4.93612C1.04733 4.93775 1.24159 5.01622 1.40016 5.17152C1.55873 5.32682 1.63693 5.52081 1.63475 5.75349Z' fill='%23DF5C41'/%3E%3C/svg%3E%0A");
        width: 18px;
        height: 18px;
        background-size: 100%;
        background-repeat: no-repeat;
        background-position: center;
        display: block;
        right: 0;
        top: 50%;
        transform: translateY(-50%);
        position: absolute;
    }

    .wp-block-button.is-style-arrow .wp-block-button__link:hover {
        padding-right: 32px;
    }

    /* Group */
    .wp-block-group {
        padding-left: var(--padding-xs);
        padding-right: var(--padding-xs);
    }

    .wp-block-group.has-background {
        padding-top: var(--padding-xxl);
        padding-bottom: var(--padding-xxl);
    }

    .wp-block-group.is-style-rounded {
        border-radius: var(--border-radius);
    }

    .wp-block-group.is-style-rounded.alignfull {
        max-width: calc(100% - (var(--padding-xs) * 2));
        margin-left: auto;
        margin-right: auto;
    }

    /* Columns */
    .wp-block-columns {
        gap: var(--padding-xl);
    }

    .wp-block-column {
        border: none !important;
        padding: 0 !important;
    }

    @media screen and (max-width: 768px) {
        .wp-block-columns {
            gap: var(--padding-s);
        }

        .wp-block-columns > .wp-block-column .wp-block-columns {
            margin-bottom: 0;
        }

        .wp-block-columns > .wp-block-column .wp-block-columns .wp-block-column :is(h1, h2, h3, h4, h5, h6) {
            margin-bottom: 0;
        }   
    }

    /* Media & text */
    .wp-block-media-text {
        gap: var(--padding-xl);
        display: flex;
        box-sizing: border-box;
    }

    .wp-block-media-text > .wp-block-media-text__media {
        border-radius: var(--border-radius);
        overflow: hidden;
        width: calc(50% - (var(--padding-xl) / 2));
    }

    .wp-block-media-text > .wp-block-media-text__content {
        width: calc(50% - (var(--padding-xl) / 2));
        padding-left: 0;
        padding-right: 0;
    }

    @media screen and (max-width: 768px) {
        .wp-block-media-text.is-stacked-on-mobile {
            flex-direction: column;
            gap: var(--padding-s);
        }

        .wp-block-media-text.is-stacked-on-mobile > .wp-block-media-text__media,
        .wp-block-media-text.is-stacked-on-mobile > .wp-block-media-text__content {
            width: 100%;
        }
    }
}

@media screen and (max-width: 1440px) {
    body.page-template-cofect-v2 {
        --padding-xl: 80px;
    }
}

@media screen and (max-width: 1100px) {
    body.page-template-cofect-v2 {
        --padding-xl: 48px;
    }
}

@media screen and (max-width: 900px) {
    body.page-template-cofect-v2 { 
        --padding-xl: 80px;
        --padding-xxl: 80px;
    }

    body.page-template-cofect-v2 {
        --h1-font-size: 56px;
    }
}

@media screen and (max-width: 568px) {
    body.page-template-cofect-v2 {
        --h6-font-size: 16px;
        --h5-font-size: 18px;
        --h4-font-size: 24px;
        --h3-font-size: 28px;
        --h2-font-size: 32px;
        --h1-font-size: 40px;
    }
}