.ALL-SOFTWARE .row::before,
.ALL-SOFTWARE .row::after {
	content: "";
	display: block;
	overflow: hidden;
}

.ALL-SOFTWARE :is(h2) {
	pointer-events: none;
}

.ALL-SOFTWARE :is(h2, h3) a:hover {
	color: var(--green);
}

.ALL-SOFTWARE h3 a {color: var(--primary-orange);}
.ALL-SOFTWARE h3 a:hover {color: var(--dark-navy);}

.ALL-SOFTWARE h3 a svg {
	display: inline-block;
	vertical-align: middle;
	width: 32rem;
	height: 24rem;
	margin: -12rem 0 -12rem 8rem;
	transform: translate(0, -2rem);
	transition: transform 0.25s;
}

.ALL-SOFTWARE h3 a:hover svg {
	transform: translate(8rem, -2rem);
}

.ALL-SOFTWARE .group:not(:first-child) {
	margin-top: 96rem;
}

.ALL-SOFTWARE .subgroup {
	margin-top: 48rem;
	padding-top: 48rem;
	border-top: 1rem solid var(--grey);
}

.ALL-SOFTWARE .link {
	margin-top: 32rem;
	position: relative;
	padding-left: 40rem;
	min-height: 24rem;
	font-weight: 600;
	box-sizing: border-box;
}

.ALL-SOFTWARE .link a {
	display: inline-block;
	vertical-align: top;
}

.ALL-SOFTWARE .link img {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 24rem;
	height: 24rem;
}

.ALL-SOFTWARE .link a span {
    display: flex;
    align-items: center;
}

.ALL-SOFTWARE .link a svg {
	display: inline-block;
	vertical-align: middle;
	width: 24rem;
	height: 18rem;
	margin: 0 0 0 12rem;
	flex: 0 0 auto;
	transition: transform 0.25s;
}

.ALL-SOFTWARE .link a:hover svg {
	transform: translate(8rem, 0);
}

.ALL-SOFTWARE .description {
	font-size: 16rem;
	font-weight: 400;
	text-wrap: balance;
}

.ALL-SOFTWARE .table-of-contents {
	box-shadow: inset 1rem 0 0 var(--grey);
}

.ALL-SOFTWARE .table-of-contents a {
	display: inline-block;
	vertical-align: top;
	box-shadow: inset 1rem 0 0 var(--grey);
	color: var(--dark-navy);
	padding: 0 0 0 16rem;
	transition: box-shadow 0.25s;

}
.ALL-SOFTWARE .table-of-contents a:hover {
	box-shadow: inset 4rem 0 0 var(--green);
	color: var(--green);
}

.ALL-SOFTWARE .table-of-contents li {margin: 16rem 0;}
.ALL-SOFTWARE .table-of-contents > ul > li {margin: 32rem 0;}
.ALL-SOFTWARE .table-of-contents > ul ul {margin-top: 16rem;}
.ALL-SOFTWARE .table-of-contents > ul > li > a {text-transform: uppercase; font-weight: 600;}



@media screen and (min-width: 961px) {
	.ALL-SOFTWARE .table-of-contents {position: sticky; top: 128rem; margin-right: 16rem;}
	.ALL-SOFTWARE .links:first-child {margin-top: -32rem;}
	.ALL-SOFTWARE .links {display: flex; flex-wrap: wrap; justify-content: space-between;}
	.ALL-SOFTWARE .link {flex: 0 0 auto; width: calc(50% - 16rem);}
}


@media screen and (max-width: 960px) {
	.ALL-SOFTWARE .b-columns .b-column[data-width="4"]:first-child {display: none;}

	.ALL-SOFTWARE .table-of-contents {margin-bottom: 32rem;}
	.ALL-SOFTWARE .table-of-contents li {margin: 8rem 0;}
	.ALL-SOFTWARE .table-of-contents > ul > li {margin: 24rem 0;}
	.ALL-SOFTWARE .table-of-contents > ul ul {margin-top: 8rem;}

	.ALL-SOFTWARE .group:not(:first-child) {margin-top: 64rem;}
	.ALL-SOFTWARE .subgroup {margin-top: 24rem; padding-top: 24rem;}
	.ALL-SOFTWARE .link {margin-top: 24rem;}
}

.ALL-SOFTWARE .menu-highlight :is(a) {
	box-shadow: inset 4rem 0 0 var(--green);
	color: var(--green);
}



