.tag {
	display: inline-block;
}

.tag-link > a {
	transition: color $default-transition-time;
}

.tag-group {
	// Set the font-size of the parent element to 0, in order to remove whitespace
	// made visible because of 'display: inline-block' property
	// https://stackoverflow.com/questions/19038799#19038859
	font-size: 0;
	margin-left: -5px;
}

.tag-group > .tag {
	font-size: $font-size-base;
	margin-left: 5px;
}

.tag-group.multiline > .tag {
	margin-bottom: 5px;
}

.tag.addon {
	margin-left: 0;
}

.tag-btn {
	display: inline-block;
	margin-bottom: 5px;
	vertical-align: top;
}

.tag-btn > button {
	border: 0;
	font-size: $font-size-base;
	padding: 1px 4px;
}

.tag-btn.addon > button {
	border-style: solid;
	border-width: 0 0 0 1px;
}

.tag-btn:not(.addon),
.tag-btn.addon + .tag,
.tag + .tag-btn:not(.addon) {
	@include td-margin(left, 5px);
}

.tag-link,
.tag-btn > button {
	transition-duration: $default-transition-time;
	transition-property: #{'color background-color border-color box-shadow'};

	&:hover,
	&:focus,
	&.highlight {
		box-shadow: $shadow-sm-offset-x $shadow-sm-offset-y $shadow-sm-blur $default-shadow;
	}
}
