:root {
    --footer-icon-block--columns: 4;
    --footer-icon-block--min: 200px;
    --footer-icon-block--gap: 20px;
    --footer-icon-block--gap-width: calc((var(--footer-icon-block--columns) - 1) * var(--footer-icon-block--gap));
    --footer-icon-block--max: calc((100% - var(--footer-icon-block--gap-width)) / var(--footer-icon-block--columns));
}

.footer-icon-blocks {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(max(var(--footer-icon-block--min), var(--footer-icon-block--max)), 1fr));
    gap: var(--footer-icon-block--gap);
}

.footer-icon-block {
    display: flex;
    flex-direction: column;
    text-align: center;
    gap: 1rem;
}

.footer-icon-block__icon-holder {

}

.footer-icon-block__icon {
    color: var(--color-primary);
    font-size: 3rem;
}

.footer-icon-block__title {
    font-size: 1.2em;
    color: var(--color-light);
}

.footer-icon-block__description {
    color: var(--color-desc);
    font-weight: 300;
}