:root {
    --v3-green: #07552d;
    --v3-green-dark: #02371d;
    --v3-green-soft: #eaf6ef;
    --v3-yellow: #f7c928;
    --v3-text: #193326;
    --v3-muted: #6c7d73;
    --v3-border: #dde9e1;
    --v3-white: #ffffff;
    --v3-shadow: 0 14px 40px rgba(8, 57, 31, 0.12);
}

.kopa-v3-container {
    width: min(calc(100% - 40px), 1500px);
    max-width: 1500px;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* Topbar */

.kopa-v3-topbar {
    position: relative;
    z-index: 1050;
    width: 100%;
    min-height: 40px;
    color: #fff;
    background: linear-gradient(100deg, #02371d, #07552d);
    font-family: "Manrope", sans-serif;
}

.kopa-v3-topbar-inner {
    min-height: 40px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

.kopa-v3-topbar-left {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 19px;
}

.kopa-v3-tagline,
.kopa-v3-top-item,
.kopa-v3-staff {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: rgba(255,255,255,.92);
    font-size: 12px;
    font-weight: 600;
    line-height: 1;
    white-space: nowrap;
}

.kopa-v3-tagline {
    padding-right: 18px;
    border-right: 1px solid rgba(255,255,255,.2);
}

.kopa-v3-tagline i,
.kopa-v3-top-item i {
    color: #bce68d;
}

.kopa-v3-top-item:hover {
    color: #fff;
}

.kopa-v3-staff {
    align-self: stretch;
    padding: 0 18px;
    color: #12311f;
    background: var(--v3-yellow);
    font-weight: 800;
}

.kopa-v3-staff:hover {
    color: #12311f;
    background: #ffd84d;
}

/* Navbar */

.kopa-v3-header {
    position: sticky;
    top: 0;
    z-index: 1040;
    width: 100%;
    background: rgba(255,255,255,.98);
    border-bottom: 1px solid rgba(7,85,45,.08);
    box-shadow: 0 5px 22px rgba(4,55,29,.07);
}

.kopa-v3-navbar {
    width: 100%;
    min-height: 82px;
    padding: 0 !important;
    background: transparent !important;
}

.kopa-v3-navbar > .container {
    min-height: 82px;
}

.kopa-v3-brand {
    width: 185px;
    height: 66px;
    display: flex !important;
    align-items: center;
    flex: 0 0 185px;
    padding: 0 !important;
    margin: 0 28px 0 0 !important;
    overflow: hidden;
}

.kopa-v3-brand img {
    display: block;
    width: 100%;
    height: 62px;
    max-width: 185px;
    object-fit: contain;
    object-position: left center;
}

.kopa-v3-desktop-menu {
    gap: 2px;
}

.kopa-v3-desktop-menu > .nav-item > .nav-link {
    position: relative;
    min-height: 82px;
    display: flex;
    align-items: center;
    padding: 0 10px !important;
    color: var(--v3-text) !important;
    font-size: 13px;
    font-weight: 800;
    white-space: nowrap;
}

.kopa-v3-desktop-menu > .nav-item > .nav-link:hover,
.kopa-v3-desktop-menu > .nav-item > .nav-link.active {
    color: var(--v3-green) !important;
}

.kopa-v3-desktop-menu > .nav-item > .nav-link:not(.dropdown-toggle)::before {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 17px;
    width: 0;
    height: 3px;
    background: var(--v3-yellow);
    border-radius: 5px;
    transform: translateX(-50%);
    transition: width .22s ease;
}

.kopa-v3-desktop-menu > .nav-item > .nav-link:not(.dropdown-toggle):hover::before,
.kopa-v3-desktop-menu > .nav-item > .nav-link:not(.dropdown-toggle).active::before {
    width: 25px;
}

.kopa-v3-request {
    min-height: 46px;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 9px 18px !important;
    color: #193326 !important;
    background: var(--v3-yellow) !important;
    border: 1px solid var(--v3-yellow) !important;
    border-radius: 25px !important;
    box-shadow: 0 8px 22px rgba(247,201,40,.28);
    font-size: 13px !important;
    font-weight: 800 !important;
    white-space: nowrap;
}

.kopa-v3-request:hover {
    color: #fff !important;
    background: var(--v3-green) !important;
    border-color: var(--v3-green) !important;
    transform: translateY(-2px);
}

.kopa-v3-language,
.kopa-v3-mobile-lang {
    min-width: 70px;
    min-height: 46px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    padding: 8px 13px;
    color: var(--v3-green) !important;
    background: #fff !important;
    border: 1px solid var(--v3-green) !important;
    border-radius: 25px !important;
    font-size: 12px;
    font-weight: 800;
}

.kopa-v3-dropdown {
    min-width: 220px;
    padding: 9px !important;
    margin-top: 0 !important;
    background: #fff !important;
    border: 1px solid var(--v3-border) !important;
    border-radius: 15px !important;
    box-shadow: var(--v3-shadow) !important;
}

.kopa-v3-dropdown .dropdown-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 12px !important;
    color: var(--v3-text) !important;
    border-radius: 9px !important;
    font-size: 13px;
    font-weight: 700;
}

.kopa-v3-dropdown .dropdown-item:hover,
.kopa-v3-dropdown .dropdown-item.active {
    color: var(--v3-green) !important;
    background: var(--v3-green-soft) !important;
}

.kopa-v3-dropdown .dropdown-item strong {
    min-width: 26px;
    color: var(--v3-green);
    font-size: 11px;
}

.kopa-v3-more-menu {
    min-width: 265px;
}

.kopa-v3-drop-icon {
    width: 36px;
    height: 36px;
    display: grid;
    place-items: center;
    flex: 0 0 36px;
    color: var(--v3-green);
    background: var(--v3-green-soft);
    border-radius: 10px;
}

.kopa-v3-mobile-actions {
    align-items: center;
    gap: 9px;
}

.kopa-v3-toggler {
    width: 45px;
    height: 45px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 5px;
    padding: 0;
    background: var(--v3-green);
    border: 0;
    border-radius: 12px;
}

.kopa-v3-toggler span {
    width: 21px;
    height: 2px;
    background: #fff;
    border-radius: 3px;
}

/* Mobile menu */

.kopa-v3-offcanvas {
    width: min(92vw, 390px) !important;
    border: 0 !important;
}

.kopa-v3-offcanvas-header {
    min-height: 90px;
    padding: 14px 20px !important;
    background: linear-gradient(135deg, #02371d, #08713c);
}

.kopa-v3-mobile-brand {
    width: 170px;
    height: 60px;
    display: flex;
    align-items: center;
}

.kopa-v3-mobile-brand img {
    width: 100%;
    height: 58px;
    object-fit: contain;
    object-position: left center;
}

.kopa-v3-close {
    width: 40px;
    height: 40px;
    display: grid;
    place-items: center;
    color: #fff;
    background: rgba(255,255,255,.12);
    border: 1px solid rgba(255,255,255,.2);
    border-radius: 11px;
}

.kopa-v3-offcanvas .offcanvas-body {
    padding: 21px !important;
}

.kopa-v3-mobile-title {
    margin-bottom: 12px;
    color: var(--v3-muted);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 1px;
    text-transform: uppercase;
}

.kopa-v3-mobile-links {
    display: grid;
    gap: 5px;
}

.kopa-v3-mobile-links a {
    min-height: 49px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 9px 13px;
    color: var(--v3-text);
    border: 1px solid transparent;
    border-radius: 11px;
    font-size: 14px;
    font-weight: 700;
}

.kopa-v3-mobile-links a:hover,
.kopa-v3-mobile-links a.active {
    color: var(--v3-green);
    background: var(--v3-green-soft);
    border-color: #d6ebdf;
}

.kopa-v3-mobile-request {
    width: 100%;
    margin-top: 20px;
}

.kopa-v3-mobile-staff {
    min-height: 46px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin-top: 10px;
    color: var(--v3-green);
    border: 1px solid var(--v3-border);
    border-radius: 25px;
    font-size: 13px;
    font-weight: 800;
}

.kopa-v3-mobile-languages {
    margin-top: 20px;
    padding: 15px;
    background: #f5f8f6;
    border-radius: 12px;
}

.kopa-v3-mobile-languages > span {
    display: block;
    margin-bottom: 9px;
    color: var(--v3-muted);
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
}

.kopa-v3-mobile-languages > div {
    display: flex;
    gap: 8px;
}

.kopa-v3-mobile-languages a {
    width: 44px;
    height: 38px;
    display: grid;
    place-items: center;
    color: var(--v3-text);
    background: #fff;
    border: 1px solid var(--v3-border);
    border-radius: 9px;
    font-size: 12px;
    font-weight: 800;
}

.kopa-v3-mobile-languages a.active {
    color: #fff;
    background: var(--v3-green);
    border-color: var(--v3-green);
}

/* Footer */

.kopa-v3-footer {
    position: relative;
    width: 100%;
    padding: 72px 0 0;
    overflow: hidden;
    color: rgba(255,255,255,.72);
    background:
        radial-gradient(circle at 90% 15%, rgba(68,155,93,.25), transparent 30%),
        #022d18 !important;
    font-family: "Manrope", sans-serif;
}

.kopa-v3-footer .kopa-v3-container {
    position: relative;
    z-index: 2;
}

.kopa-v3-footer-grid {
    display: grid !important;
    grid-template-columns: minmax(260px, 1.35fr) minmax(150px, .65fr) minmax(170px, .72fr) minmax(280px, 1fr);
    gap: 55px !important;
    align-items: start !important;
    width: 100% !important;
}

.kopa-v3-footer-about,
.kopa-v3-footer-grid > div {
    min-width: 0;
    width: auto !important;
    float: none !important;
    position: static !important;
}

.kopa-v3-footer-logo {
    width: 230px;
    height: 90px;
    display: block;
    margin-bottom: 20px;
    overflow: hidden;
}

.kopa-v3-footer-logo img {
    display: block;
    width: 100%;
    height: 88px;
    object-fit: contain;
    object-position: left center;
    background: #fff;
    border-radius: 14px;
}

.kopa-v3-footer-about > p {
    max-width: 390px;
    margin: 0 0 23px !important;
    color: rgba(255,255,255,.68) !important;
    font-size: 14px !important;
    line-height: 1.8 !important;
}

.kopa-v3-footer h3 {
    position: relative;
    margin: 6px 0 24px !important;
    padding-bottom: 12px;
    color: #fff !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    line-height: 1.3 !important;
}

.kopa-v3-footer h3::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 34px;
    height: 3px;
    background: var(--v3-yellow);
    border-radius: 4px;
}

.kopa-v3-socials {
    display: flex !important;
    flex-wrap: wrap;
    gap: 8px;
}

.kopa-v3-socials a {
    width: 40px;
    height: 40px;
    display: grid !important;
    place-items: center;
    color: #fff !important;
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.13);
    border-radius: 11px;
}

.kopa-v3-socials a:hover {
    color: var(--v3-green) !important;
    background: #fff;
    transform: translateY(-2px);
}

.kopa-v3-footer-links {
    display: grid !important;
    gap: 10px !important;
    padding: 0 !important;
    margin: 0 !important;
    list-style: none !important;
}

.kopa-v3-footer-links li {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
}

.kopa-v3-footer-links a {
    display: inline-flex !important;
    align-items: center;
    gap: 7px;
    color: rgba(255,255,255,.68) !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    line-height: 1.55 !important;
}

.kopa-v3-footer-links a::before {
    content: "\F285";
    font-family: "bootstrap-icons";
    color: #9ed66d;
    font-size: 9px;
}

.kopa-v3-footer-links a:hover {
    color: #fff !important;
    transform: translateX(4px);
}

.kopa-v3-contact-list {
    display: grid !important;
    gap: 11px !important;
}

.kopa-v3-contact-list > a,
.kopa-v3-contact-list > div {
    min-width: 0;
    min-height: 61px;
    display: flex !important;
    align-items: center !important;
    gap: 12px;
    padding: 11px 12px !important;
    color: rgba(255,255,255,.78) !important;
    background: rgba(255,255,255,.055) !important;
    border: 1px solid rgba(255,255,255,.09) !important;
    border-radius: 12px !important;
}

.kopa-v3-contact-list > a > i,
.kopa-v3-contact-list > div > i {
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    flex: 0 0 38px;
    color: #12351f;
    background: var(--v3-yellow);
    border-radius: 10px;
}

.kopa-v3-contact-list span {
    min-width: 0;
    display: flex;
    flex-direction: column;
}

.kopa-v3-contact-list small {
    color: rgba(255,255,255,.48);
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
}

.kopa-v3-contact-list strong {
    overflow-wrap: anywhere;
    color: rgba(255,255,255,.9);
    font-size: 12px;
    font-weight: 700;
}

.kopa-v3-footer-bottom {
    min-height: 72px;
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-top: 58px;
    border-top: 1px solid rgba(255,255,255,.1);
}

.kopa-v3-footer-bottom p {
    margin: 0 !important;
    color: rgba(255,255,255,.54) !important;
    font-size: 12px !important;
}

.kopa-v3-footer-bottom a {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: rgba(255,255,255,.64) !important;
    font-size: 12px;
    font-weight: 700;
}

.kopa-v3-footer-bottom a:hover {
    color: #fff !important;
}

/* Neutralize old footer rules */

.kopa-v3-footer img {
    max-width: 100%;
}

.kopa-v3-footer p,
.kopa-v3-footer ul,
.kopa-v3-footer li {
    transform: none !important;
}

/* Responsive */

@media (min-width: 1200px) and (max-width: 1380px) {
    .kopa-v3-brand {
        width: 150px;
        flex-basis: 150px;
        margin-right: 15px !important;
    }

    .kopa-v3-brand img {
        max-width: 150px;
    }

    .kopa-v3-desktop-menu > .nav-item > .nav-link {
        padding-left: 7px !important;
        padding-right: 7px !important;
        font-size: 12px;
    }

    .kopa-v3-request {
        padding-left: 13px !important;
        padding-right: 13px !important;
    }
}

@media (max-width: 1199.98px) {
    .kopa-v3-navbar,
    .kopa-v3-navbar > .container {
        min-height: 74px;
    }

    .kopa-v3-brand {
        width: 170px;
        height: 60px;
        flex-basis: 170px;
    }

    .kopa-v3-brand img {
        height: 58px;
    }

    .kopa-v3-footer-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 45px !important;
    }
}

@media (max-width: 820px) {
    .kopa-v3-tagline,
    .kopa-v3-top-location {
        display: none;
    }

    .kopa-v3-footer {
        padding-top: 55px;
    }
}

@media (max-width: 767.98px) {
    .kopa-v3-container {
        width: calc(100% - 24px);
    }

    .kopa-v3-topbar-inner {
        min-height: 37px;
    }

    .kopa-v3-topbar {
        min-height: 37px;
    }

    .kopa-v3-topbar-left {
        min-width: 0;
        flex: 1;
        gap: 10px;
    }

    .kopa-v3-top-item {
        min-width: 0;
    }

    .kopa-v3-top-item span {
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .kopa-v3-top-phone {
        display: none;
    }

    .kopa-v3-staff {
        min-height: 37px;
        padding: 0 12px;
    }

    .kopa-v3-staff span {
        display: none;
    }

    .kopa-v3-brand {
        width: 150px;
        flex-basis: 150px;
        margin-right: 0 !important;
    }

    .kopa-v3-mobile-lang {
        display: none;
    }

    .kopa-v3-footer-grid {
        grid-template-columns: 1fr;
        gap: 38px !important;
    }

    .kopa-v3-footer-logo {
        width: 210px;
    }

    .kopa-v3-footer-bottom {
        min-height: auto;
        flex-direction: column;
        align-items: flex-start;
        padding: 21px 0;
        margin-top: 42px;
    }
}

@media (max-width: 380px) {
    .kopa-v3-brand {
        width: 130px;
        flex-basis: 130px;
    }

    .kopa-v3-brand img {
        max-width: 130px;
    }
}
