.tm-button {
	@extend %transit;
	position: relative;
	display: inline-block;
	text-align: center;
	white-space: nowrap;
	line-height: 1.2;
	border-style: solid;
	cursor: pointer;

	&.tm-button-full-wide {
		width: 100% !important;
	}

	&.style-flat {
		padding: 0 36px;
		height: 56px;
		line-height: 56px;
		border-width: 0;
		border-radius: 5px;

		&:hover {
			transform: translateY(-3px);
		}

		&.icon-right {
			.button-icon {
				margin-left: 10px;
			}
		}

		&.icon-left {
			.button-icon {
				margin-right: 10px;
			}
		}

		.button-icon {
			display: inline-block;
			vertical-align: middle;
			line-height: 0;
			font-size: 20px;

			i {
				&:before {
					position: relative;
					top: -1px;
				}
			}
		}

		&.tm-button-lg {
			padding: 0 40px;
			height: 64px;
			line-height: 64px;
			font-size: 16px;
		}

		&.tm-button-sm {
			padding: 0 30px;
			height: 48px;
			line-height: 48px;
			font-size: 14px;
		}

		&.tm-button-xs {
			padding: 0 20px;
			height: 40px;
			line-height: 40px;
			font-size: 13px;
		}
	}

	&.style-solid {
		padding: 0 36px;
		height: 56px;
		line-height: 54px;
		border-width: 1px;
		border-radius: 5px;
		background-position: left center !important;
		background-origin: border-box;

		&:hover {
			transform: translateY(-3px);
		}

		&:not(:hover) {
			background: transparent;
		}

		&.icon-right {
			.button-icon {
				margin-left: 10px;
			}
		}

		&.icon-left {
			.button-icon {
				margin-right: 10px;
			}
		}

		.button-icon {
			display: inline-block;
			vertical-align: middle;
			line-height: 0;
			font-size: 20px;
		}

		&.tm-button-lg {
			padding: 0 40px;
			height: 64px;
			line-height: 62px;
			font-size: 16px;
		}

		&.tm-button-sm {
			padding: 0 30px;
			height: 48px;
			line-height: 46px;
			font-size: 14px;
		}

		&.tm-button-xs {
			padding: 0 20px;
			height: 40px;
			line-height: 38px;
			font-size: 13px;
		}
	}

	&.style-text {
		padding: 0;
		border: 0;
		font-weight: 500;
		font-size: 14px;
		color: #333;

		.button-text {
			padding: 5px 0;
		}

		&.icon-right {
			padding-right: 20px !important;

			.button-icon {
				left: auto;
				right: 1px;
			}
		}

		&.icon-left {
			padding-left: 20px !important;

			.button-icon {
				left: 1px;
				right: auto;
			}
		}

		.button-icon {
			font-size: 14px;
			position: absolute;
			top: 50%;
			transform: translate(0, -50%);
			right: 20px;
			line-height: 0;
			color: inherit;

			&:before {
				line-height: 0;
			}
		}

		&.tm-button-lg {
			font-size: 16px;
		}

		&.tm-button-sm {
			font-size: 13px;
		}

		&.tm-button-xs {
			font-size: 12px;
		}
	}

	&.style-image {
		border: 0;
		background: none;
		border-radius: 5px;
		box-shadow: 0 0 20px rgba(51, 51, 51, .1);
		overflow: hidden;

		&:hover {
			transform: translateY(-3px);
		}

		img {
			display: block;
		}
	}

	&.style-image-text {
		font-size: 20px;
		font-weight: 500;
		border: 0;
		height: 60px;
		line-height: 60px;

		> div {
			display: flex;
			align-items: center;
		}

		img {
			flex-shrink: 0;
			margin-right: 10px;
		}

		&.tm-button-lg {
			height: 68px;
			line-height: 68px;
		}

		&.tm-button-sm {
			height: 50px;
			line-height: 50px;
		}

		&.tm-button-xs {
			height: 40px;
			line-height: 40px;
		}
	}

	&.tm-button-icon-move {
		.button-icon {
			@extend %transit;
		}

		&.icon-left {
			&:hover {
				.button-icon {
					transform: translate(-5px, -50%);
				}
			}
		}

		&.icon-right {
			&:hover {
				.button-icon {
					transform: translate(5px, -50%);
				}
			}
		}
	}
}

.rev-btn {
	transition: background-color .3s cubic-bezier(.645, .045, .355, 1), border-color .5s cubic-bezier(.645, .045, .355, 1), color .5s cubic-bezier(.645, .045, .355, 1) !important;

	&.tm-button.rs-hover-ready {
		transition: all .3s cubic-bezier(.645, .045, .355, 1) !important;

		&:hover {
			transform: translateY(-3px) !important;
		}
	}
}

.rev_slider {

	.left-icon {
		margin-right: 10px;
	}

	.right-icon {
		margin-left: 10px;
	}
}

.btn-text-popup-video {
	.button-text {
		font-size: 15px;
		letter-spacing: 0;
		text-transform: none;
		font-weight: normal;
	}
}
