.icon-grid {
    display: flex;
    flex-flow: row wrap;
    justify-content: center;
    gap: 20px;
    text-align: left;
}

.icon-grid .item {
    position: relative;
    flex: 0 1 100%;
    display: flex;
    flex-flow: column nowrap;
    background-color: #ffffff;
    border: solid 1px var(--wp--preset--color--bg-light, #F8F5F0);
}

.icon-grid.is-style-dark .item {
    background-color: var(--wp--preset--color--secondary, #222222);
    border-color: var(--wp--preset--color--secondary, #222222);
}

.icon-grid .background-icon {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    opacity: 5%;
    padding: 5%;
}

.icon-grid.is-style-dark .background-icon {
    opacity: 8%;
}

.icon-grid .background-icon > svg > * {
    fill: var(--wp--preset--color--primary, #BD9E77);
}

.icon-grid .background-icon > svg {
    width: 50%;
    height: auto;
    max-width: 100%;
    max-height: 100%;
}

.icon-grid .icon {
    width: 2.4em;
    height: 2.4em;
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
}

.icon-grid .icon > svg > * {
    fill: var(--wp--preset--color--primary, currentColor);
}

.icon-grid h3 {
    color: var(--wp--preset--color--secondary, #222222);
    font-size: 1.25rem;
    text-transform: uppercase;
    margin-top: 0.6em;
    margin-bottom: 0.5em;
}

.icon-grid.is-style-dark h3 {
    color: #ffffff;
}

.icon-grid p {
    color: var(--wp--preset--color--content, #898989);
    font-size: 16px;
    margin-top: 0;
}

.icon-grid.is-style-dark p {
    color: #ffffff;
}

.icon-grid p:last-child {
    margin: 0;
}

.icon-grid .item-wrapper {
	padding: 30px;
	transition: transform 0.15s linear;
}

.icon-grid a:hover .item-wrapper {
    transform: scale(1.05);
}

.icon-grid a .item-wrapper .background-icon {
	transition: transform 0.15s linear;
}

.icon-grid a:hover .item-wrapper .background-icon {
	transform: scale(0.75);
}

/* Small devices (landscape phones, 576px and up) */
@media (min-width: 576px) {

    .icon-grid > .item {
        flex-basis: calc((100% - 20px) / 2);
    }

}

/* Large devices (desktops, 992px and up) */
@media (min-width: 992px) {

    .icon-grid > .item {
        flex-basis: calc((100% - 40px) / 3);
    }

}