.top-banner {
	position: relative;
	margin-bottom: 40px;
}
.blog-template .top-banner {
	margin-bottom: 0;
}
.top-banner:after {
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	display: block;
	background: rgba(5, 19, 27, 0.6);
}
.top-banner .image-layer {
	padding-top: 65%;
	background: #000;
}
.portfolio-details-template .top-banner .image-layer {
	padding-top: 95%;
}
.portfolio-details-template .top-banner .text-layer {
	top: 30%;
}
.top-banner .text-layer {
	position: absolute;
	left: 0;
	right: 0;
	top: 45%;
	color: #fff;
	z-index: 10;	
}
@keyframes decorAnimation {
  from {
    left: -100%
  }
  to {
	left: 0;
  }
}
.thank-template .top-banner .image-layer {
	padding-top: 567px;
}
.error-template .top-banner .image-layer {
	padding-top: 624px;
}
.thank-template .text-layer {
	top: 10%;
}
.error-template .text-layer {
	top: 8%;
}
.top-banner .decor-element {
	position: absolute;
	top: -43px;
	width: 50%;
	animation-name: decorAnimation;
	animation-duration: 1s;
	z-index: 10;
	border-top: 1.5px solid #ffffff;
	display: none;
}
.top-banner .decor-element span {
	width: 18px;
	height: 20px;
	position: absolute;
	right: 0;
	top: -10px;
	right: -8px;
	display: inline-block;
}
.top-banner .text-layer h1 {
	text-transform: uppercase;
	text-align: center;
}
.top-banner.left-oriented .text-layer h1 {
	text-align: left;
	max-width: 820px;
	font-weight: 500;
	font-size: 24px;
	line-height: 32px;
}
.single-post .top-banner .text-layer h1 {
	max-width: none;
}
.contact-page.top-banner .text-layer h1 {
	font-size: 18px;
	line-height: 24px;
	font-weight: 400;
}
.contact-page.top-banner .text-layer h1 .phone-caption {
	font-size: 30px;
	line-height: 32px;
	font-weight: 700;
	display: block;
}
.contact-page.top-banner .text-layer h1 .phone-caption a {
	color: #fff;
	text-decoration: none;
}
@media (min-width: 414px) {
	.top-banner .image-layer {
		padding-top: 56%;
	}
}
@media (min-width: 480px) {
	.top-banner .image-layer {
		padding-top: 46%;
	}
}
@media (min-width: 768px) {
	.top-banner .text-layer {
		top: 45%;
	}
	.top-banner.left-oriented .text-layer {
		top: 40%;
	}	
	.single-post .top-banner .text-layer {
		top: 30%;
	}
	.thank-template .text-layer,
	.error-template .text-layer {
		top: 10%;
	}
	.top-banner .image-layer {
		padding-top: 39%;
	}
	.thank-template .top-banner .image-layer {
		padding-top: 53%;
	}
	.error-template .top-banner .image-layer {
		padding-top: 63%;
	}
	.top-banner.left-oriented .text-layer h1 {
		font-size: 42px;
		line-height: 50px;
	}
	.portfolio-details-template .top-banner .image-layer,
	.single-post .top-banner .image-layer {
		padding-top: 50%;
	}
	.top-banner {
		margin-bottom: 0;
	}
	.contact-page.top-banner .text-layer h1 {
		font-size: 28px;
		line-height: 40px;
	}
	.contact-page.top-banner .text-layer h1 .phone-caption {
		font-size: 50px;
		line-height: 60px;
	}
}
@media (min-width: 1200px) {
	.top-banner.left-oriented .text-layer h1 {
		font-size: 56px;
		line-height: 60px;
		padding-left: 85px;
	}
	.top-banner .text-layer {
		top: 50%;
	}
	.top-banner.left-oriented .text-layer {
		top: 40%;
	}
	.thank-template .text-layer {
		top: 25%;
	}
	.error-template .text-layer {
		top: 12%;
	}
	.top-banner .decor-element {
		display: block;
	}
	.top-banner.left-oriented .decor-element {
		top: 22px;
		width: 7%;
	}
	.portfolio-details-template .top-banner .image-layer,
	.single-post .top-banner .image-layer {
		padding-top: 39%;
	}	
	.contact-page.top-banner .text-layer h1 {
		font-size: 48px;
		line-height: 60px;
	}
	.contact-page.top-banner .text-layer h1 .phone-caption {
		font-size: 80px;
		line-height: 90px;
	}
	.error-template .top-banner .image-layer {
		padding-top: 53%;
	}
}
@media (min-width: 1400px) {
	.top-banner.left-oriented .decor-element {
		width: 9.5%;
	}
}
@media (min-width: 1600px) {
	.top-banner.left-oriented .decor-element {
		width: 12%;
	}
}