#voucher_special {
	/* Location ping toggles */
	&.ni_voucher-location-ping-enabled #change_hosting_location select {
		display: none;
	}

	&.ni_voucher-location-ping-enabled #change_hosting_location {
		display: block !important;
		width: 100%;
		max-width: 100%;
		min-width: 0;
	}

	/* Location Picker Container */
	.ni_voucher-location-picker {
		position: relative;
		width: 100%;
		max-width: 100%;
		min-width: 0;
		box-sizing: border-box;
	}

	.ni_voucher-location-picker__title {
		color: #ddd;
		font-size: 11px;
		font-weight: 700;
		text-transform: uppercase;
		letter-spacing: 0.08em;
		margin: 0 0 8px;
	}

	.ni_voucher-location-picker__trigger {
		width: 100%;
		max-width: 100%;
		min-width: 0;
		min-height: 48px;
		border: 1px solid #ffd744;
		background: #1f1f1f;
		color: #ffffff;
		display: flex;
		align-items: center;
		padding: 10px 14px;
		text-align: left;
		box-sizing: border-box;
		overflow: hidden;
		gap: 10px;

		&:hover,
		&:focus {
			border-color: #ffe57a;
			outline: none;
		}
	}

	.ni_voucher-location-picker__latency {
		width: 56px;
		min-width: 56px;
		flex-shrink: 0;
		border-radius: 2px;
		background: #2d8f62;
		color: #ffffff;
		font-weight: 700;
		font-size: 12px;
		line-height: 1;
		text-align: center;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		padding: 6px 8px;

		&.is-loading {
			background: #4b4b4b;
			color: transparent;

			&::before {
				content: "";
				width: 12px;
				height: 12px;
				border: 2px solid rgba(255, 255, 255, 0.35);
				border-top-color: #ffffff;
				border-radius: 50%;
				animation: voucher-ping-spinner 700ms linear infinite;
			}
		}
	}

	.ni_voucher-location-picker__label {
		flex: 1 1 0%;
		width: 0;
		min-width: 0;
		font-size: 20px;
		line-height: 1.2;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
	}

	.ni_voucher-location-picker__caret {
		width: 10px;
		height: 10px;
		min-width: 10px;
		flex-shrink: 0;
		border-right: 2px solid #c9c9c9;
		border-bottom: 2px solid #c9c9c9;
		transform: rotate(45deg) translateY(-2px);
	}

	.ni_voucher-location-picker__menu {
		position: absolute;
		left: 0;
		right: 0;
		top: calc(100% + 6px);
		background: #2a2a2a;
		border: 1px solid #404040;
		max-height: 270px;
		overflow-y: auto;
		z-index: 30;
		box-sizing: border-box;
	}

	.ni_voucher-location-picker__options {
		list-style: none;
		margin: 0;
		padding: 8px;
	}

	.ni_voucher-location-picker__entry + .ni_voucher-location-picker__entry {
		margin-top: 4px;
	}

	.ni_voucher-location-picker__option {
		width: 100%;
		max-width: 100%;
		min-width: 0;
		border: 1px solid transparent;
		background: #353535;
		color: #ffffff;
		display: flex;
		align-items: center;
		padding: 8px 10px;
		text-align: left;
		box-sizing: border-box;
		overflow: hidden;
		gap: 10px;

		&:hover,
		&:focus {
			border-color: #ffd744;
			outline: none;
		}

		&.is-selected {
			border-color: #ffd744;
			background: #2f2f2f;

			.ni_voucher-location-picker__option-selected {
				opacity: 1;
			}
		}

		&.is-disabled,
		&.is-disabled:hover {
			opacity: 0.45;
			cursor: not-allowed;
			border-color: transparent;
		}
	}

	.ni_voucher-location-picker__option-latency {
		width: 56px;
		min-width: 56px;
		flex-shrink: 0;
		border-radius: 2px;
		background: #2d8f62;
		color: #ffffff;
		font-size: 12px;
		font-weight: 700;
		text-align: center;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		padding: 6px 8px;

		&.is-placeholder {
			background: #4b4b4b;
			color: #d0d0d0;
		}

		&.is-loading {
			background: #4b4b4b;
			color: transparent;

			&::before {
				content: "";
				width: 12px;
				height: 12px;
				border: 2px solid rgba(255, 255, 255, 0.35);
				border-top-color: #ffffff;
				border-radius: 50%;
				animation: voucher-ping-spinner 700ms linear infinite;
			}
		}
	}

	.ni_voucher-location-picker__option-label {
		flex: 1 1 0%;
		width: 0;
		min-width: 0;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
	}

	.ni_voucher-location-picker__option-selected {
		color: #ffd744;
		font-size: 14px;
		opacity: 0;
		flex-shrink: 0;
	}
}

#VoucherStartGame {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;

	/* cross-browser SVG arrow that works everywhere, including iOS <3 */
	background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23ffffff' d='M10.293 3.293 6 7.586 1.707 3.293A1 1 0 0 0 .293 4.707l5 5a1 1 0 0 0 1.414 0l5-5a1 1 0 0 0-1.414-1.414z'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 14px center;
	padding-right: 36px;
}

@keyframes voucher-ping-spinner {
	from {
		transform: rotate(0deg);
	}
	to {
		transform: rotate(360deg);
	}
}

@media (max-width: 767px) {
	#voucher_special .ni_voucher-location-picker__label,
	#voucher_special .ni_voucher-location-picker__option-label {
		font-size: 16px !important;
		white-space: normal !important;
		word-break: break-word !important;
		width: auto !important;
		line-height: 1.35 !important;
		overflow: visible !important;
	}

	#voucher_special .ni_voucher-location-picker__trigger,
	#voucher_special .ni_voucher-location-picker__option {
		min-height: 52px !important;
		height: auto !important;
		padding: 12px 14px !important;
	}
}
