section.qrcode-types {
    $show-all-body-class: 'qrcode-types-show-all';

    margin-top: 7rem;
    text-align: center;

    @include title-styles;

    .boxes {
        display: grid;
        width: 100%;
        grid-template-columns: repeat(4, 1fr);
        border: 1px solid var(--blue-gray-0);
        border-radius: 1rem;
        overflow: hidden;
    }

    .show-more {
        font-size: 1.3rem;
        margin: 2rem 0;
        cursor: pointer;
        user-select: none;
        -webkit-user-select: none;
        color: var(--blue-gray-1);
        transition: color ease 0.2s;
        &:hover {
            color: var(--blue-text-color);
        }

        .#{$show-all-body-class} & {
            display: none;
        }
    }

    .single-box {
        padding: 1rem;
        border: 1px solid var(--blue-gray-0);

        @for $i from 5 through 25 {
            &:nth-child(#{$i}) {
                display: none;
                animation: single-box-animation
                    0.3s
                    #{0.1s *
                    ($i - 5)}
                    ease-in
                    both;
            }

            .#{$show-all-body-class} &:nth-child(#{$i}) {
                display: block;
            }
        }

        @keyframes single-box-animation {
            from {
                padding: 0;
                opacity: 0;
            }

            to {
                padding: 1rem;
                opacity: 1;
            }
        }

        .heading {
            font-size: 1.3rem;
            font-weight: 400;
            display: flex;
            justify-content: center;
            svg {
                margin-right: 0.5rem;

                [dir='rtl'] & {
                    margin-right: 0;
                    margin-left: 0.5rem;
                }
            }
        }

        .badge {
            background-color: var(--blue-gray-0);
            margin: auto;
            width: min-content;
            color: var(--blue-gray-1);
            padding: 0.5rem;
            border-radius: 1.5rem;
        }

        p {
            color: var(--blue-gray-1);
            line-height: 1.7;
        }
    }

    @media (max-width: 900px) {
        .boxes {
            grid-template-columns: 1fr 1fr;
        }
    }

    @media (max-width: 500px) {
        .boxes {
            grid-template-columns: 1fr;
        }
    }
}
