.sn-portfolio-sidebar {
    position: sticky;
    top: 118px;

    width: 100%;
    min-width: 0;
}

/* ==========================================================
   Navigation
   ========================================================== */

.sn-portfolio-sidebar__nav {
    overflow: hidden;

    background: #fff;
    border: 1px solid #e6e6e2;
    border-radius: 4px;
}

.sn-portfolio-sidebar__group + .sn-portfolio-sidebar__group {
    border-top: 1px solid #ececea;
}

/* Works both for button and link */

.sn-portfolio-sidebar__link {
    position: relative;

    display: flex;
    align-items: center;
    justify-content: space-between;

    box-sizing: border-box;
    width: 100%;
    min-height: 50px;
    padding: 0 16px;

    border: 0;
    border-radius: 0;
    outline: 0;

    background: transparent;
    cursor: pointer;

    font-family: inherit;
    font-size: 13px;
    line-height: 1.25;
    font-weight: 400;
    text-align: left;
    text-decoration: none;

    color: #333;

    appearance: none;
    -webkit-appearance: none;

    transition:
        color .2s ease,
        background-color .2s ease;
}

a.sn-portfolio-sidebar__link,
a.sn-portfolio-sidebar__link:visited {
    color: #333;
    text-decoration: none;
}

.sn-portfolio-sidebar__link:hover,
.sn-portfolio-sidebar__link:focus,
.sn-portfolio-sidebar__group.is-open > .sn-portfolio-sidebar__link {
    color: #5f936f;
    background: #fafafa;
    text-decoration: none;
}

.sn-portfolio-sidebar__link:focus-visible {
    outline: 1px solid rgba(95, 147, 111, .45);
    outline-offset: -1px;
}

/* Arrow */

.sn-portfolio-sidebar__arrow {
    flex: 0 0 4px;

    width: 4px;
    height: 4px;
    margin-left: 12px;

    background:
        url("/upload/scandinord/icons/arrow.webp")
        center center / contain no-repeat;

    transition: transform .25s ease;
}

.sn-portfolio-sidebar__group.is-open
.sn-portfolio-sidebar__arrow {
    transform: rotate(180deg);
}

/* ==========================================================
   Submenu
   ========================================================== */

.sn-portfolio-sidebar__submenu {
    display: none;
    padding: 0 16px 14px;
}

.sn-portfolio-sidebar__group.is-open
.sn-portfolio-sidebar__submenu {
    display: block;
}

.sn-portfolio-sidebar__sublink {
    display: block;
    padding: 4px 0;

    font-size: 12px;
    line-height: 1.35;
    font-weight: 400;

    color: rgba(40, 40, 40, .62);
    text-decoration: none;

    transition: color .2s ease;
}

.sn-portfolio-sidebar__sublink:visited {
    color: rgba(40, 40, 40, .62);
}

.sn-portfolio-sidebar__sublink:hover,
.sn-portfolio-sidebar__sublink:focus,
.sn-portfolio-sidebar__sublink.is-active {
    color: #5f936f;
    text-decoration: none;
}

/* ==========================================================
   Consultation card
   ========================================================== */

.sn-portfolio-sidebar__consult {
    margin-top: 14px;
    padding: 22px 18px 20px;

    text-align: center;

    background: #f7f7f5;
    border-radius: 2px;
}

.sn-portfolio-sidebar__phone {
    width: 52px;
    height: 52px;
    margin: 0 auto 22px;

    background:
        url("/upload/scandinord/icons/phone.svg")
        center center / contain no-repeat;

    font-size: 0;
}

.sn-portfolio-sidebar__consult-title {
    margin-bottom: 10px;

    font-size: 14px;
    line-height: 1.25;
    font-weight: 600;

    color: #333;
}

.sn-portfolio-sidebar__consult-text {
    max-width: 210px;
    margin: 0 auto 18px;

    font-size: 12px;
    line-height: 1.35;

    color: rgba(40, 40, 40, .65);
}

.sn-portfolio-sidebar__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    box-sizing: border-box;
    width: 100%;
    min-height: 38px;
    padding: 0 18px;

    border-radius: 999px;

    background: #5f936f;
    color: #fff;

    font-size: 12px;
    font-weight: 600;
    text-decoration: none;

    transition: background-color .2s ease;
}

.sn-portfolio-sidebar__btn:visited {
    color: #fff;
}

.sn-portfolio-sidebar__btn:hover,
.sn-portfolio-sidebar__btn:focus {
    background: #4f7d5d;
    color: #fff;
    text-decoration: none;
}

/* ==========================================================
   Responsive
   ========================================================== */

@media (max-width: 991px) {
    .sn-portfolio-sidebar {
        position: static;
    }

    .sn-portfolio-sidebar__consult {
        display: none;
    }
}