﻿expand-collapse {
    position: relative;
    display: block;
}

    expand-collapse .group-title {
        cursor: pointer;
        color: #262626;
        user-select: none;
        padding-left: 25px;
        background-color: #d2d2d2;
        transition: color 0.2s cubic-bezier(0.770, 0.000, 0.175, 1.000) 0s;
    }

        expand-collapse .group-title.full-width {
            padding: 0 25px;
            margin: 0 -25px;
        }

        expand-collapse .group-title.text-style {
            background-color: transparent;
            border-bottom: 2px solid #d2d2d2;
            padding-left: 0;
        }

        expand-collapse .group-title.uppercase {
            text-transform: uppercase;
        }

        expand-collapse .group-title .title {
            display: inline-block;
            font-weight: bold;
            font-size: 16px;
            line-height: 15px;
            clear: both;
            margin: 0;
            padding: 10px 0;
        }

            expand-collapse .group-title .title:hover .icon {
                color: #262626;
            }

        expand-collapse .group-title .icon {
            position: absolute;
            display: block;
            top: 3px;
            right: 25px;
            width: 13px;
            height: 13px;
            color: #262626;
        }

        expand-collapse .group-title.full-width .icon {
            right: 0;
        }

            expand-collapse .group-title .icon:before {
                position: absolute;
                content: '\f068';
                font-family: Font Awesome\ 5 Free;
                font-weight: 900;
                font-size: 16px;
                transition: all 0.4s cubic-bezier(0.770, 0.000, 0.175, 1.000) 0s;
            }

            expand-collapse .group-title .icon:after {
                position: absolute;
                content: '\2b';
                transform: rotate(-180deg) scaleY(0);
                font-family: Font Awesome\ 5 Free;
                font-weight: 900;
                font-size: 16px;
                transition: all 0.4s cubic-bezier(0.770, 0.000, 0.175, 1.000) 0s;
            }

            expand-collapse .group-title .icon.close:after {
                transform: rotate(0deg) scaleY(1);
            }

            expand-collapse .group-title .icon.close:before {
                transform: rotate(180deg);
                opacity: 0;
            }

    expand-collapse .group-content {
        display: grid;
        grid-template-rows: 0fr;
        margin: 10px 0;
        transition: grid-template-rows 0.4s cubic-bezier(0.770, 0.000, 0.175, 1.000) 0s;
    }

        expand-collapse .group-content.open {
            grid-template-rows: 1fr;
        }

        expand-collapse .group-content .content-container {
            padding: 0;
            overflow: hidden;
            font-size: 16px;
        }