.btn-group,
.btn-group-vertical {
	position: relative;
	display: inline-flex;
	vertical-align: middle;
}

.btn-group > .btn,
.btn-group-vertical > .btn {
	position: relative;
	flex: 1 1 auto;
}

.btn-group > .btn-check:checked + .btn,
.btn-group > .btn-check:focus + .btn,
.btn-group > .btn:hover,
.btn-group > .btn:focus,
.btn-group > .btn:active,
.btn-group > .btn.active,
.btn-group-vertical > .btn-check:checked + .btn,
.btn-group-vertical > .btn-check:focus + .btn,
.btn-group-vertical > .btn:hover,
.btn-group-vertical > .btn:focus,
.btn-group-vertical > .btn:active,
.btn-group-vertical > .btn.active {
	z-index: 1;
}

.btn-toolbar {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
}

.btn-toolbar .input-group {
	width: auto;
}

.btn-group > .btn:not(:first-child),
.btn-group > .btn-group:not(:first-child) {
	margin-left: -2px;
}

.btn-group > .btn:not(:last-child):not(.dropdown-toggle),
.btn-group > .btn-group:not(:last-child) > .btn {
	border-top-right-radius: 0;
	border-bottom-right-radius: 0;
}

.btn-group > .btn:nth-child(n + 3),
.btn-group > :not(.btn-check) + .btn,
.btn-group > .btn-group:not(:first-child) > .btn {
	border-top-left-radius: 0;
	border-bottom-left-radius: 0;
}

.dropdown-toggle-split {
	padding-right: 0.65625rem;
	padding-left: 0.65625rem;
}

.dropdown-toggle-split::after,
.dropup .dropdown-toggle-split::after,
.dropend .dropdown-toggle-split::after {
	margin-left: 0;
}

.dropstart .dropdown-toggle-split::before {
	margin-right: 0;
}

.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split {
	padding-right: 0.75rem;
	padding-left: 0.75rem;
}

.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split {
	padding-right: 1.3125rem;
	padding-left: 1.3125rem;
}

.btn-group-vertical {
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
}

.btn-group-vertical > .btn,
.btn-group-vertical > .btn-group {
	width: 100%;
}

.btn-group-vertical > .btn:not(:first-child),
.btn-group-vertical > .btn-group:not(:first-child) {
	margin-top: -2px;
}

.btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle),
.btn-group-vertical > .btn-group:not(:last-child) > .btn {
	border-bottom-right-radius: 0;
	border-bottom-left-radius: 0;
}

.btn-group-vertical > .btn ~ .btn,
.btn-group-vertical > .btn-group:not(:first-child) > .btn {
	border-top-left-radius: 0;
	border-top-right-radius: 0;
}

.btn {
	position: relative;
	z-index: 0;
	display: inline-block;
	text-align: center;
	border: 2px solid transparent;
	font-weight: 500;
	letter-spacing: -.01em;
	color: #fff;
	background: #177ee5;
	transition: all 0.2s ease-in-out;
	overflow: hidden;
	will-change: transform;
	padding: 0.6875rem 0.875rem;
	font-size: 0.9375rem;
	border-radius: 0.625rem;
	padding-top: 0.875rem;
}

.btn::after {
	position: absolute;
	left: 50%;
	top: 50%;
	z-index: -1;
	padding-left: 150%;
	padding-bottom: 150%;
	content: '';
	background: #112950;
	transform: translate(-50%, -50%) scale(0);
	transition: .5s;
	border-radius: 50%;
}

.btn:hover, .btn.hover, .btn:active, .btn.active {
	text-decoration: none;
	color: #fff;
	background: #1265b7;
	border-color: #112950;
}

.btn:hover::after, .btn.hover::after, .btn:active::after, .btn.active::after {
	transform: translate(-50%, -50%) scale(1);
}

.btn:focus, .btn.focus {
	outline: 0;
}

.btn.disabled, .btn:disabled {
	opacity: 0.65;
	pointer-events: none;
}

* + .btn {
	margin-top: 1.375rem;
}

.btn-outline {
	color: #112950;
	background: transparent;
	border-color: #177ee5;
}

.btn-outline:hover {
	color: #fff;
	background-color: #177ee5;
}

.btn-shadow {
	box-shadow: 5px 6px 18px rgba(17, 41, 80, 0.12);
}

.btn-shadow:hover {
	box-shadow: none;
}

.btn-block {
	display: flex;
	justify-content: center;
	width: 100%;
}

.btn-icon {
	font-size: 1.3em;
	margin: -4px 0.625rem 0;
	vertical-align: middle;
}

.btn-icon:first-child {
	margin-left: 0;
}

.btn-icon:last-child {
	margin-right: 0;
}

.btn-lg, .btn-group-lg > .btn {
	padding: 1.4375rem 1.75rem;
	font-size: 0.9375rem;
	border-radius: 0.625rem;
}

.btn-group-1 {
	margin-bottom: -0.9375rem;
	margin-left: -1.875rem;
}

.btn-group-1:empty {
	margin-bottom: 0;
	margin-left: 0;
}

.btn-group-1 > * {
	margin-top: 0;
	margin-bottom: 0.9375rem;
	margin-left: 1.875rem;
}

* + .btn-group-1 {
	margin-top: 1.5625rem;
}

.context-dark .btn-outline {
	color: #fff;
	background: transparent;
	border-color: #177ee5;
}

.context-dark .btn-outline:hover {
	color: #fff;
	background-color: #177ee5;
}

@media (min-width: 1600px) {
	.btn-lg, .btn-group-lg > .btn {
		padding: 1.4375rem 1.75rem;
	}
}