.gel-banner {
	.btn-md:not(.btn-link) {
		padding: 0 1.87rem;
	}

	.btn-light {
		box-shadow: 0 4px 9px rgba(0, 0, 0, 0.05);
	}

	.btn-link.btn-light {
		&:hover, &:active, &:focus {
			color: inherit !important;
		}
	}
}

.gel-banner-title {
	font-size: 34px;
	line-height: 1.3;
}

.gel-banner-description {
	font-size: 18px;
}

.gel-banner-title + .gel-banner-description {
	margin-top: 0.5rem;
}

.gel-banner-description + .gel-banner-action,
.gel-banner-title + .gel-banner-action {
	margin-top: 1.5rem;
}

.gel-banner-style-01 {
	.gel-banner-content {
		color: var(--g5-color-heading);
		left: 50px;
	}

	&.gel-banner-show-all, &.gel-banner:hover {
		.gel-banner-content {
			top: 40px;
			@include transform(none);
		}
	}
}

.gel-banner-style-04 {
	.gel-banner-title {
		font-size: 40px;
	}

	.gel-banner-description {
		margin-top: 0.8rem;
	}

	.gel-banner-action {
		margin-top: 2rem;
	}

	.gel-banner-content {
		left: 50px;
		@include transition(all .5s);
	}

	&.gel-banner-show-all .gel-banner-content,
	&:hover .gel-banner-content {
		@include transform(translateY(calc(-100% - 50px)));
		top: 100%;
	}
}


.gel-banner-style-05 {
	&.gel-banner-show-all .gel-banner-content {
		top: auto;
	}

	&.gel-banner-show-all, &.gel-banner:hover {
		.gel-banner-content {
			bottom: 32px;
			@include transform(none);
		}

	}

	.gel-banner-action {
		margin-top: 14px;
	}
}

.custom-banner-07 {
	&.gel-banner-show-all, &.gel-banner:hover {
		.gel-banner-content {
			top: 50%;
			transform: translateY(-50%);
			@include transform(translateY(-50%));
		}
	}
}

.custom-banner-01, .custom-banner-07 {
	.gel-banner-title {
		font-size: 15px;
		letter-spacing: 0.1em;
		text-transform: uppercase;
	}

	.gel-banner-description {
		font-weight: 600;
		font-size: 34px;
		line-height: 1.3;
		margin-top: 1rem;
	}
}

.custom-banner-02 {
	.gel-banner-content {
		left: 0;
		height: 100%;
		width: 100%;
		padding: 30px 40px 40px;

	}

	.btn {
		position: absolute;
		bottom: 30px;
		left: 40px;
	}

	&.gel-banner-show-all, &.gel-banner:hover {
		.gel-banner-content {
			top: 0;
		}
	}

	.gel-banner-description {
		font-weight: 600;
		margin-top: 0.8rem;
	}
}

.custom-banner-03 {
	.gel-banner-title {
		font-family: Tuesday Night;
		font-weight: 400;
		font-size: 48px;
	}

	.gel-banner-description {
		font-size: 40px;
		font-weight: 600;
	}

	.gel-btn > a {
		padding: 0 17px;
	}

	&.gel-banner-style-04 {
		.gel-banner-action {
			margin-top: 27px;
		}

		.gel-banner-description {
			margin-top: 5px;
		}
	}
}

.gel-banner-style-05, .custom-banner-02, .custom-banner-05, .custom-banner-08, .custom-banner-11 {
	.btn.btn-link {
		@include d-flex();
		padding: 0;
		box-shadow: none;

		&:after {
			font-family: var(--g5-font-icon-primary);
			margin-left: 5px;
			content: "\e901";
		}
	}
}

.custom-banner-04.gel-banner-style-05 {
	.gel-banner-title {
		font-size: 40px;
	}

	&.gel-banner-show-all .gel-banner-content,
	&:hover .gel-banner-content {
		bottom: 43px;
	}
}

.custom-banner-05.gel-banner-style-05 {
	&.gel-banner-show-all .gel-banner-content,
	&:hover .gel-banner-content {
		bottom: 30px;
	}
}

.custom-banner-05.gel-banner-style-04 {
	.gel-banner-title {
		font-size: 34px;
		line-height: 1.3;
	}

	.gel-banner-content {
		left: 40px;
	}

	&.gel-banner-show-all .gel-banner-content,
	&:hover .gel-banner-content {
		@include transform(translateY(calc(-100% - 35px)));
	}

	.gel-banner-action {
		margin-top: 1rem;
	}
}

.custom-banner-06.gel-banner-style-01 {

	&.gel-banner-show-all .gel-banner-content, &.gel-banner:hover .gel-banner-content {
		top: 50px;
	}

	.gel-btn .btn {
		padding: 0 20px;
	}
}

.custom-banner-08.gel-banner {

	.gel-banner-content {
		color: var(--g5-color-light);
	}

	.gel-banner-title {
		font-size: 40px;
	}

	.gel-banner-title + .gel-banner-description {
		margin-top: 0.7rem;
	}

	.gel-banner-action {
		margin-top: 1.2rem;
	}

	.btn {
		border-bottom: 2px solid currentColor;
	}
}

.custom-banner-09.gel-banner {
	.gel-banner-content {
		max-width: 325px;
	}

	.gel-banner-title {
		font-size: 42px;
		line-height: 1.24;
	}

	.gel-banner-description {
		color: #777;
	}


	.gel-banner-title + .gel-banner-description {
		margin-top: 1.3rem;
	}

	.gel-banner-action {
		margin-top: 2rem;
	}

}

.custom-banner-10 {
	.gel-effect-bg-image:after {
		opacity: 1;
	}
}

.custom-banner-10, .custom-banner-10-not-overlay {
	&.gel-banner-show-all, &.gel-banner:hover {
		.gel-banner-content {
			bottom: 38px;
		}

	}

	.gel-effect-bg-image:after {
		background-color: rgba(0, 0, 0, .23);
	}

	.gel-banner-title {
		font-family: var(--g5-display-2-font);
		font-weight: 400;
	}

	.gel-banner-action {
		margin-top: 0;
	}

	.btn {
		border-bottom: 1px solid currentColor;
		line-height: 1;
		font-weight: 500;

		&:after {
			display: none;
		}

		&:hover {
			border-color: currentColor;
		}
	}

}

.custom-banner-11 {
	.gel-image-effect:after {
		opacity: 0.5;
		background: -o-linear-gradient(273.96deg, rgba(0, 0, 0, 0.78) -2%, rgba(0, 0, 0, 0) 51.61%);
		background: linear-gradient(176.04deg, rgba(0, 0, 0, 0.78) -2%, rgba(0, 0, 0, 0) 51.61%);
	}

	.gel-banner-description {
		font-family: var(--g5-display-2-font);
		font-weight: 400;
		font-size: 68px;
		text-transform: uppercase;
	}

	.gel-banner-action {
		margin-top: 15px;

		.btn.btn-link {
			border-bottom: 2px solid;
			padding-bottom: 4px;
		}
	}

	.gel-banner-title {
		font-size: 24px;
	}
}

.custom-banner-12.gel-banner-style-04 {
	.gel-banner-title, .gel-banner-title a {
		@include d-flex();
		@include flex-column();
	}

	.gel-banner-title {
		mark {
			color: inherit;
			font-size: 18px;
			background-color: transparent;
		}
	}

	.gel-banner-action {
		margin-top: 0;

		.btn {
			font-size: 0;
			width: 48px;
			height: 48px;
			padding: 0;
			border-radius: 50%;
			background-color: currentColor;
			border: none;
			letter-spacing: -3px;

			&:after, &:before {
				font-weight: 600;
				font-family: var(--g5-font-icon);
				content: "\f054";
				font-size: 18px;
				color: var(--g5-color-heading);
				display: inline-block;
				@include transition(opacity .3s);
				@include transform(translateX(-5px));


			}

			&:before {
				visibility: hidden;
				opacity: 0;
			}

			&:hover {
				background-color: var(--g5-color-heading);
				border-color: var(--g5-color-heading);

				&:after, &:before {
					color: #fff;
				}
			}


		}
	}

	&:hover {
		.gel-banner-action .btn {
			&:after, &:before {
				@include transform(translateX(0));
				-webkit-animation-name: bounceAlpha;
				animation-name: bounceAlpha;
				-webkit-animation-duration: 1.4s;
				animation-duration: 1.4s;
				-webkit-animation-iteration-count: infinite;
				animation-iteration-count: infinite;
				-webkit-animation-timing-function: linear;
				animation-timing-function: linear;

			}

			&:before {
				visibility: visible;
				opacity: 1;
				-webkit-animation-delay: 0.2s;
				animation-delay: 0.2s;
			}
		}
	}

	.gel-banner-content {
		left: 30px;
		right: 30px;
		@include d-flex();
		@include align-items-center();
		@include justify-content-between();
		@include transform(translateY(calc(-100% - 30px)));
	}
}

@keyframes bounceAlpha {
	0% {
		opacity: 1;
		@include transform(translateX(0) scale(1));
	}
	25% {
		opacity: 0;
		@include transform(translateX(10px) scale(0.9));
	}
	26% {
		opacity: 0;
		@include transform(translateX(-10px) scale(0.9));
	}
	55% {
		opacity: 1;
		@include transform(translateX(0) scale(1));
	}
}

.custom-overlay-layer:after {
	content: "";
	opacity: 0.5;
	background: -o-linear-gradient(273.96deg, rgba(0, 0, 0, 0.78) -2%, rgba(0, 0, 0, 0) 51.61%);
	background: linear-gradient(176.04deg, rgba(0, 0, 0, 0.78) -2%, rgba(0, 0, 0, 0) 51.61%);
	position: absolute;
	display: block;
	top: 0;
	width: 100%;
	height: 100%;
	z-index: 0;
}

.banner-title-font-display-2 {
	.gel-banner-title {
		font-family: var(--g5-display-2-font);
		font-weight: 400;
	}
}

.banner-desc-font-display-2 {
	.gel-banner-description {
		font-family: var(--g5-display-2-font);
		font-weight: 400;
	}
}


.custom-banner-over-lay .gel-effect-bg-image:before {
	content: '';
	background: -webkit-gradient(linear, left top, left bottom, color-stop(57.87%, rgba(0, 0, 0, 0)), to(rgba(0, 0, 0, 0.57)));
	background: -o-linear-gradient(top, rgba(0, 0, 0, 0) 57.87%, rgba(0, 0, 0, 0.57) 100%);
	background: linear-gradient(180deg, rgba(0, 0, 0, 0) 57.87%, rgba(0, 0, 0, 0.57) 100%);
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	z-index: 1;
	top: 0;
}

@media (min-width: 1200px) {
	.custom-banner-09.gel-banner {
		&.gel-banner-show-all .gel-banner-content,
		&:hover .gel-banner-content {
			top: 70px;
			left: 55px;
		}
	}
}

@media (min-width: 768px) {
	.custom-banner-08.gel-banner {
		&.gel-banner-show-all .gel-banner-content,
		&:hover .gel-banner-content {
			top: 50px;
			left: 60px;
		}
	}
}

@media (max-width: 1200px) {
	.height-banner-md-330 .gel-banner-bg {
		height: 330px;
		padding-bottom: 0 !important;
	}

	.height-banner-lg-400 .gel-banner-bg {
		height: 400px;
		padding-bottom: 0 !important;
	}
}

@media (max-width: 991px) {
	.height-banner-md-350 .gel-banner-bg {
		height: 350px;
		padding-bottom: 0 !important;
	}
}

@media (max-width: 480px) {
	.height-banner-sm-500 .gel-banner-bg {
		height: 500px;
		padding-bottom: 0 !important;
	}

	.gel-banner-bg {
		padding-bottom: 100% !important;
	}

	.custom-banner-01 .gel-banner-description,
	.custom-banner-07 .gel-banner-description {
		font-size: 28px;
	}

	.gel-banner-title {
		font-size: 28px;
	}
	.gel-banner-style-04 {
		.gel-banner-content {
			left: 30px;
		}

		&.gel-banner-show-all .gel-banner-content,
		&:hover .gel-banner-content {
			@include transform(translateY(calc(-100% - 30px)));
		}
	}
}