/******************************************************************
  Template Name: Phozogy
  Description:  Phozogy photography HTML Template
  Author: Colorlib
  Author URI: https://colorlib.com
  Version: 1.0
  Created: Colorlib
******************************************************************/

/*------------------------------------------------------------------
[Table of contents]

1.  Template default CSS
	1.1	Variables
	1.2	Mixins
	1.3	Flexbox
	1.4	Reset
2.  Helper Css
3.  Header Section
4.  Hero Section
5.  Service Section
6.  Categories Section
7.  Portfolio Section
8.  Trainer Section
9.  Contact
10.  Footer Style

-------------------------------------------------------------------*/

/*----------------------------------------*/

/* Template default CSS
/*----------------------------------------*/

html,
body {
	height: 100%;
	font-family: "Open Sans", sans-serif;
	-webkit-font-smoothing: antialiased;
	font-smoothing: antialiased;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	margin: 0;
	color: #111111;
	font-weight: 400;
	font-family: "Quantico", sans-serif;
}

h1 {
	font-size: 70px;
}

h2 {
	font-size: 36px;
}

h3 {
	font-size: 30px;
}

h4 {
	font-size: 24px;
}

h5 {
	font-size: 18px;
}

h6 {
	font-size: 16px;
}

p {
	font-size: 15px;
	font-family: "Open Sans", sans-serif;
	color: #666666;
	font-weight: 400;
	line-height: 26px;
	margin: 0 0 15px 0;
}

img {
	max-width: 100%;
}

input:focus,
select:focus,
button:focus,
textarea:focus {
	outline: none;
}

a:hover,
a:focus {
	text-decoration: none;
	outline: none;
	color: #fff;
}

ul,
ol {
	padding: 0;
	margin: 0;
}

/*---------------------
  Helper CSS
-----------------------*/

.section-title {
	margin-bottom: 40px;
}

.section-title h2 {
	color: #111111;
	font-weight: 700;
	text-transform: uppercase;
	margin-bottom: 15px;
	padding-bottom: 18px;
}

.section-title p {
	color: #666666;
}

.set-bg {
	background-repeat: no-repeat;
	background-size: cover;
	background-position: top center;
}

.spad {
	padding-top: 100px;
	padding-bottom: 100px;
}

.spad-2 {
	padding-top: 50px;
	padding-bottom: 70px;
}

.text-white h1,
.text-white h2,
.text-white h3,
.text-white h4,
.text-white h5,
.text-white h6,
.text-white p,
.text-white span,
.text-white li,
.text-white a {
	color: #fff;
}

/* buttons */

.primary-btn {
	display: inline-block;
	font-size: 14px;
	padding: 14px 30px;
	color: #ffffff;
	background: #660033;
	text-transform: uppercase;
	font-weight: 700;
	font-family: "Quantico", sans-serif;
	text-decoration: none;
	position: relative;
	overflow: hidden;
	transition: color 0.3s;
}

.primary-btn::after {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(120deg, transparent 0%, rgba(255,255,255,0.18) 50%, transparent 100%);
	transform: translateX(-100%);
	transition: transform 0.4s ease;
}

.primary-btn:hover::after {
	transform: translateX(100%);
}

.primary-btn:hover {
	color: #ffffff;
	text-decoration: none;
}

.site-btn {
	font-size: 14px;
	color: #ffffff;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 2px;
	font-family: "Quantico", sans-serif;
	display: inline-block;
	padding: 14px 30px 12px;
	background: #660033;
	border: none;
	position: relative;
	overflow: hidden;
	transition: color 0.3s;
	cursor: pointer;
}

.site-btn::after {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(120deg, transparent 0%, rgba(255,255,255,0.18) 50%, transparent 100%);
	transform: translateX(-100%);
	transition: transform 0.4s ease;
}

.site-btn:hover::after {
	transform: translateX(100%);
}

.site-btn:hover {
	color: #ffffff;
}

/* Preloder */

#preloder {
	position: fixed;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	z-index: 999999;
	background: #000;
}

.loader {
	width: 40px;
	height: 40px;
	position: absolute;
	top: 50%;
	left: 50%;
	margin-top: -13px;
	margin-left: -13px;
	border-radius: 60px;
	animation: loader 0.8s linear infinite;
	-webkit-animation: loader 0.8s linear infinite;
}

@keyframes loader {
	0% {
		-webkit-transform: rotate(0deg);
		transform: rotate(0deg);
		border: 4px solid #f44336;
		border-left-color: transparent;
	}
	50% {
		-webkit-transform: rotate(180deg);
		transform: rotate(180deg);
		border: 4px solid #673ab7;
		border-left-color: transparent;
	}
	100% {
		-webkit-transform: rotate(360deg);
		transform: rotate(360deg);
		border: 4px solid #f44336;
		border-left-color: transparent;
	}
}

@-webkit-keyframes loader {
	0% {
		-webkit-transform: rotate(0deg);
		border: 4px solid #f44336;
		border-left-color: transparent;
	}
	50% {
		-webkit-transform: rotate(180deg);
		border: 4px solid #673ab7;
		border-left-color: transparent;
	}
	100% {
		-webkit-transform: rotate(360deg);
		border: 4px solid #f44336;
		border-left-color: transparent;
	}
}

.spacial-controls {
	position: fixed;
	width: 111px;
	height: 91px;
	top: 0;
	right: 0;
	z-index: 999;
}

.spacial-controls .search-switch {
	display: block;
	height: 100%;
	padding-top: 30px;
	background: #323232;
	text-align: center;
	cursor: pointer;
}

.search-model {
	display: none;
	position: fixed;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	background: #000;
	z-index: 99999;
}

.search-model-form {
	padding: 0 15px;
}

.search-model-form input {
	width: 500px;
	font-size: 40px;
	border: none;
	border-bottom: 2px solid #333;
	background: none;
	color: #999;
}

.search-close-switch {
	position: absolute;
	width: 50px;
	height: 50px;
	background: #333;
	color: #fff;
	text-align: center;
	border-radius: 50%;
	font-size: 28px;
	line-height: 28px;
	top: 30px;
	cursor: pointer;
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}

/*---------------------
  Header
-----------------------*/

.header-section.header-normal {
	-webkit-box-shadow: none;
	box-shadow: none;
	padding-bottom: 24px;
	background: #ffffff;
}

.header-section .col-lg-12 {
	position: relative;
}

.logo {
	float: left;
	padding: 30px 0;
	margin-right: 80px;
}

.logo a {
	display: inline-block;
}

.nav-menu {
	float: left;
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
}

.nav-menu ul li {
	list-style: none;
	display: inline-block;
	margin-right: 30px;
	position: relative;
}

.nav-menu ul li:last-child {
	margin-right: 0;
}

.nav-menu ul li:hover .dropdown {
	top: 86px;
	opacity: 1;
	visibility: visible;
}

.nav-menu ul li:hover>a:after {
	opacity: 1;
}

.nav-menu ul li.active a:after {
	opacity: 1;
}

.nav-menu ul li a {
	font-size: 16px;
	font-weight: 700;
	text-transform: uppercase;
	color: #111111;
	display: block;
	padding: 32px 8px 30px;
	position: relative;
	font-family: "Quantico", sans-serif;
}

.nav-menu ul li a:after {
	position: absolute;
	left: 0;
	bottom: 0;
	height: 3px;
	width: 100%;
	background: #660033;
	content: "";
	opacity: 0;
	-webkit-transition: all 0.3s;
	-o-transition: all 0.3s;
	transition: all 0.3s;
}

.nav-menu ul li .dropdown {
	position: absolute;
	left: 0;
	top: 105px;
	background: #111111;
	width: 180px;
	z-index: 99;
	opacity: 0;
	visibility: hidden;
	-webkit-transition: all 0.3s;
	-o-transition: all 0.3s;
	transition: all 0.3s;
}

.nav-menu ul li .dropdown li {
	display: block;
	margin-right: 0;
}

.nav-menu ul li .dropdown li a {
	color: #ffffff;
	padding: 5px 18px;
	font-weight: 400;
	text-transform: capitalize;
}

.nav-menu ul li .dropdown li a:after {
	display: none;
}

.top-search {
	font-size: 15px;
	height: 50px;
	width: 50px;
	color: #ffffff;
	background: #660033;
	line-height: 50px;
	text-align: center;
	cursor: pointer;
	float: right;
	margin: 19px 0 16px;
}

.slicknav_menu {
	display: none;
}

/*---------------------
  Hero
-----------------------*/

.hs-slider.owl-carousel .owl-item.active .hs-text h2 {
	top: 0;
	opacity: 1;
}

.hs-slider.owl-carousel .owl-item.active .hs-text p {
	top: 0;
	opacity: 1;
}

.hs-slider.owl-carousel .owl-item.active .hs-text .primary-btn {
	top: 0;
	opacity: 1;
}

.hs-slider.owl-carousel .owl-nav button {
	font-size: 24px;
	color: #ffffff;
	height: 50px;
	width: 50px;
	line-height: 50px;
	text-align: center;
	background: rgba(0, 0, 0, 0.5);
	border-radius: 50%;
	position: absolute;
	left: 100px;
	top: 50%;
	-webkit-transform: translateY(-25px);
	-ms-transform: translateY(-25px);
	transform: translateY(-25px);
}

.hs-slider.owl-carousel .owl-nav button.owl-next {
	left: auto;
	right: 100px;
}

.hs-item {
	height: 900px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	text-align: center;
}

.hs-item .hs-text h2 {
	font-size: 60px;
	color: #ffffff;
	font-weight: 700;
	text-transform: uppercase;
	margin-bottom: 20px;
	position: relative;
	top: 100px;
	-webkit-transition: all 0.3s ease-out;
	-o-transition: all 0.3s ease-out;
	transition: all 0.3s ease-out;
	opacity: 0;
	text-shadow: 0 2px 12px rgba(0, 0, 0, 0.55);
}

.hs-item .hs-text p {
	color: #ffffff;
	line-height: 30px;
	margin-bottom: 32px;
	position: relative;
	top: 100px;
	-webkit-transition: all 0.5s ease-out;
	-o-transition: all 0.5s ease-out;
	transition: all 0.5s ease-out;
	opacity: 0;
	text-shadow: 0 1px 8px rgba(0, 0, 0, 0.55);
}

.hs-item .hs-text .primary-btn {
	position: relative;
	top: 100px;
	-webkit-transition: all 0.7s ease-out;
	-o-transition: all 0.7s ease-out;
	transition: all 0.7s ease-out;
	opacity: 0;
}

/*---------------------
  Services
-----------------------*/

.services-section {
	padding-top: 0;
	padding-bottom: 60px;
}

.services-section.services-normal .container {
	margin-top: 0;
}

.services-section .container {
	position: relative;
	margin-top: -70px;
	z-index: 99;
}

.services-item {
	text-align: center;
	padding: 10px 10px 18px 10px;
	background: #ffffff;
	-webkit-box-shadow: 0px 10px 25px rgba(206, 206, 206, 0.5);
	box-shadow: 0px 10px 25px rgba(206, 206, 206, 0.5);
	margin-bottom: 30px;
}

.services-item img {
	margin-bottom: 28px;
	min-width: 100%;
}

.services-item h3 {
	color: #191039;
	font-weight: 700;
	text-transform: uppercase;
	margin-bottom: 10px;
}

/*---------------------
  Categories Section
-----------------------*/

.right-btn {
	text-align: right;
	padding-top: 24px;
}

.categories-slider.owl-carousel .owl-item.active .cs-item .cs-text h4 {
	opacity: 1;
}

.categories-slider.owl-carousel .owl-item.active .cs-item .cs-text span,
.categories-slider.owl-carousel .owl-item.active .cs-item .cs-text a span {
	opacity: 1;
}

.categories-slider.owl-carousel .owl-nav button {
	font-size: 24px;
	color: #ffffff;
	height: 50px;
	width: 50px;
	line-height: 50px;
	text-align: center;
	background: rgba(0, 0, 0, 0.5);
	border-radius: 50%;
	position: absolute;
	left: 30px;
	top: 152px;
}

.categories-slider.owl-carousel .owl-nav button.owl-next {
	left: auto;
	right: 30px;
}

.cs-item {
	text-align: center;
	width: 100%;
	background: #f5f5f5;
}

.cs-item .cs-pic {
	height: 360px;
}

.cs-item .cs-text {
	padding: 25px 0 22px;
}

.cs-item .cs-text h4 {
	color: #111111;
	font-weight: 700;
	text-transform: uppercase;
	margin-bottom: 10px;
	opacity: 0;
	-webkit-transition: all 0.3s;
	-o-transition: all 0.3s;
	transition: all 0.3s;
}

.cs-item .cs-text span {
	font-size: 17px;
	color: #660033;
	display: block;
	opacity: 0;
	-webkit-transition: all 0.3s;
	-o-transition: all 0.3s;
	transition: all 0.3s;
}

.cs-item .cs-text a {
	text-decoration: none;
}

.cs-item .cs-text a:hover span {
	text-decoration: underline;
}

.categories-slider.owl-carousel .owl-item.active .cs-item .cs-text a span {
	opacity: 1;
}

/*---------------------
  Portfolio
-----------------------*/

.portfolio-section .container-fluid {
	padding-left: 35px;
}

.portfolio-section.portfolio-page {
	padding-top: 60px;
}

.portfolio-section .section-title {
	margin-bottom: 22px;
	text-align: center;
}

.portfolio-section .section-title h2 {
	margin-bottom: 0;
}

.filter-controls {
	margin-bottom: 43px;
	text-align: center;
}

.filter-controls ul li {
	font-size: 17px;
	color: #888888;
	display: inline-block;
	list-style: none;
	margin-right: 60px;
	position: relative;
	cursor: pointer;
}

.filter-controls ul li.active {
	color: #660033;
}

.filter-controls ul li:after {
	position: absolute;
	right: -33px;
	top: -1px;
	content: "|";
	color: #d7d7d7;
}

.filter-controls ul li:last-child {
	margin-right: 0;
}

.filter-controls ul li:last-child:after {
	display: none;
}

/* --- Featured Works: CSS Grid gallery --- */
.portfolio-filter {
	display: grid;
	grid-template-columns: repeat(12, 1fr);
	grid-auto-rows: auto;
	gap: 16px;
	align-items: start;
}

.portfolio-filter .pf-item {
	position: relative;
	overflow: hidden;
	width: auto;
	height: auto;
	float: none;
	margin: 0;
	/* default: 3:2 landscape, 6 cols */
	grid-column: span 6;
	aspect-ratio: 3 / 2;
}

/* 3:2 landscape variants */
.portfolio-filter .pf-item.land-wide {
	grid-column: span 8;
	aspect-ratio: 3 / 2;
}

.portfolio-filter .pf-item.land-narrow {
	grid-column: span 4;
	aspect-ratio: 3 / 2;
}

/* 3:4 portrait */
.portfolio-filter .pf-item.portrait {
	grid-column: span 4;
	aspect-ratio: 3 / 4;
}

.portfolio-filter .pf-item .pf-img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.55s ease;
}

.portfolio-filter .pf-item:hover .pf-img {
	transform: scale(1.04);
}

.portfolio-filter .pf-item .pf-icon {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 36px;
	color: #ffffff;
	opacity: 0;
	transition: opacity 0.3s;
	text-decoration: none;
	background: rgba(0,0,0,0.15);
}

.portfolio-filter .pf-item .pf-icon span {
	display: none;
}

.portfolio-filter .pf-item:hover .pf-icon {
	opacity: 1;
}


/* 4:3 landscape — used in All grid */
.portfolio-filter .pf-item.ratio-43 {
    aspect-ratio: 4 / 3;
}
/* neutralise legacy classes */
.portfolio-filter .pf-item.large-width  { }
.portfolio-filter .pf-item.large-height { }
.portfolio-filter .pf-item.wide        { }
.portfolio-filter .pf-item.xwide       { }
.portfolio-filter .pf-item.half        { }
.portfolio-filter .pf-item.narrow      { }
.portfolio-filter .pf-item.tall        { }

.load-more-btn {
	text-align: center;
	margin-top: 30px;
	overflow: hidden;
}

.load-more-btn.portfolio-btn a {
	background: #660033;
	position: relative;
	overflow: hidden;
	transition: color 0.3s;
}

.load-more-btn.portfolio-btn a::after {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(120deg, transparent 0%, rgba(255,255,255,0.18) 50%, transparent 100%);
	transform: translateX(-100%);
	transition: transform 0.4s ease;
}

.load-more-btn.portfolio-btn a:hover::after {
	transform: translateX(100%);
}

.load-more-btn.portfolio-btn a:hover {
	color: #ffffff;
	text-decoration: none;
}

.load-more-btn a {
	font-size: 15px;
	color: #ffffff;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 2px;
	display: inline-block;
	padding: 15px 102px 13px;
	background: #000606;
	font-family: "Quantico", sans-serif;
}

.load-more-red {
	font-size: 14px;
	color: #ffffff;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 2px;
	display: inline-block;
	padding: 15px 60px 13px;
	background: #660033;
	font-family: "Quantico", sans-serif;
	text-decoration: none;
	position: relative;
	overflow: hidden;
	transition: color 0.3s;
}

.load-more-red::after {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(120deg, transparent 0%, rgba(255,255,255,0.18) 50%, transparent 100%);
	transform: translateX(-100%);
	transition: transform 0.4s ease;
}

.load-more-red:hover::after {
	transform: translateX(100%);
}

.load-more-red:hover {
	color: #ffffff;
	text-decoration: none;
}

/*---------------------
  Call to Action
-----------------------*/

.cta-section {
	position: relative;
	background: #0a0a0a url('') center center / cover no-repeat;
	padding: 90px 0;
	overflow: hidden;
}

.cta-overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(135deg, #660033 0%, #1a0010 60%, #000606 100%);
	opacity: 0.96;
}

.cta-inner {
	position: relative;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 40px;
	flex-wrap: wrap;
}

.cta-text h2 {
	font-size: 26px;
	color: #ffffff;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 1px;
	margin-bottom: 14px;
	line-height: 1.2;
	text-align: left;
}

.cta-text p {
	font-size: 14px;
	color: rgba(255,255,255,0.75);
	max-width: 540px;
	line-height: 1.7;
	margin: 0;
	text-align: left;
}

.cta-btn-wrap {
	display: flex;
	gap: 16px;
	flex-shrink: 0;
	flex-wrap: wrap;
}

.cta-btn {
	display: inline-block;
	font-size: 14px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 2px;
	padding: 14px 36px;
	background: #ffffff;
	color: #660033;
	text-decoration: none;
	font-family: "Quantico", sans-serif;
	position: relative;
	overflow: hidden;
	transition: color 0.3s;
}

.cta-btn::after {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(120deg, transparent 0%, rgba(255,255,255,0.35) 50%, transparent 100%);
	transform: translateX(-100%);
	transition: transform 0.4s ease;
}

.cta-btn:hover::after {
	transform: translateX(100%);
}

.cta-btn:hover {
	color: #660033;
	text-decoration: none;
}

.cta-btn--outline {
	background: transparent;
	color: #ffffff;
	border: 2px solid rgba(255,255,255,0.6);
}

.cta-btn--outline::after {
	background: linear-gradient(120deg, transparent 0%, rgba(255,255,255,0.18) 50%, transparent 100%);
}

.cta-btn--outline:hover {
	color: #ffffff;
	border-color: #ffffff;
	text-decoration: none;
}

@media (max-width: 768px) {
	.cta-inner {
		flex-direction: column;
		text-align: center;
	}
	.cta-text h2 {
		font-size: 20px;
		text-align: center;
	}
	.cta-text p {
		text-align: center;
	}
	.cta-btn-wrap {
		justify-content: center;
	}
}

/*---------------------
  Footer
-----------------------*/

/* =====================
   Footer — 3-Column Layout
   ===================== */

.footer-section {
	background: #000606;
	padding-top: 70px;
}

.footer-inner {
	display: flex;
	justify-content: space-evenly;
	align-items: flex-start;
	text-align: center;
	flex-wrap: wrap;
	padding-bottom: 50px;
	width: 100%;
}

.footer-col {
	display: flex;
	flex-direction: column;
	align-items: center;
	flex: 1;
	padding: 0 20px;
}

.footer-logo-link {
	display: block;
}

.footer-col--logo .footer-logo-link {
	margin-top: -30px;
}

.footer-logo-img {
	width: 160px;
	height: 160px;
	object-fit: contain;
	padding: 12px;
}

.footer-col--logo {
	justify-content: center;
}

.footer-heading {
	font-size: 18px;
	color: #ffffff;
	font-weight: 700;
	letter-spacing: 2px;
	text-transform: uppercase;
	margin-bottom: 22px;
	position: relative;
}

.footer-heading::after {
	content: '';
	display: block;
	width: 30px;
	height: 2px;
	background: #660033;
	margin: 8px auto 0;
}

.footer-social {
	display: flex;
	justify-content: center;
	gap: 18px;
	margin-bottom: 18px;
}

.footer-social a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	border: 1px solid #333;
	border-radius: 50%;
	font-size: 16px;
	color: #ffffff;
	transition: background 0.25s, border-color 0.25s;
}

.footer-social a:hover {
	background: #660033;
	border-color: #660033;
	color: #ffffff;
}

.footer-email {
	font-size: 14px;
	color: #c4c4c4;
	letter-spacing: 0.5px;
	transition: color 0.25s;
}

.footer-email:hover {
	color: #ffffff;
}

.footer-links-grid {
	display: flex;
	gap: 32px;
	justify-content: center;
}

.footer-links {
	list-style: none;
	padding: 0;
	margin: 0;
	text-align: left;
}

.footer-links li {
	margin-bottom: 10px;
}

.footer-links li a {
	font-size: 14px;
	color: #c4c4c4;
	letter-spacing: 0.5px;
	transition: color 0.25s;
}

.footer-links li a:hover {
	color: #ffffff;
}

.footer-bottom {
	font-size: 14px;
	color: #555;
	text-align: center;
	border-top: 1px solid #181d1d;
	padding: 24px 0;
}

@media (max-width: 768px) {
	.footer-inner {
		gap: 40px;
	}
	.footer-col {
		flex: none;
		width: 100%;
	}
	/* Hide logo column in footer on mobile */
	.footer-col--logo {
		display: none;
	}
}

/*---------------------
  Breadcrumb
-----------------------*/

.breadcrumb-option {
	padding-top: 55px;
	text-align: center;
}

.breadcrumb-option .bo-links a {
	font-size: 15px;
	color: #111111;
	margin-right: 20px;
	position: relative;
}

.breadcrumb-option .bo-links a i {
	margin-right: 5px;
}

.breadcrumb-option .bo-links a:after {
	position: absolute;
	right: -18px;
	top: 1px;
	content: "5";
	font-family: "ElegantIcons";
}

.breadcrumb-option .bo-links span {
	font-size: 15px;
	color: #888888;
}

/*--------------------------------- Other Pages Styles -----------------------------*/

/*---------------------
  About Section
-----------------------*/

.about-pic {
	height: 960px;
	position: relative;
}

.about-pic .play-btn {
	height: 100px;
	width: 100px;
	line-height: 100px;
	text-align: center;
	background: #660033;
	font-size: 30px;
	color: #ffffff;
	display: inline-block;
	border-radius: 50%;
	position: absolute;
	right: -50px;
	top: 50%;
	-webkit-transform: translateY(-50px);
	-ms-transform: translateY(-50px);
	transform: translateY(-50px);
	z-index: 9;
}

.about-text {
	background: #f5f5f5;
	padding-left: 60px;
	padding-top: 50px;
	height: 960px;
}

.about-text .section-title {
	text-align: left;
}

.about-text .section-title h2 {
	line-height: 47px;
	margin-bottom: 30px;
	text-align: left;
}

.about-text .section-title p {
	text-align: left;
}

.about-text .at-list .al-item {
	margin-bottom: 50px;
	overflow: hidden;
}

.about-text .at-list .al-item:last-child {
	margin-bottom: 0;
}

.about-text .at-list .al-item .al-pic {
	height: 100px;
	width: 100px;
	line-height: 100px;
	text-align: center;
	background: #ffffff;
	float: left;
	margin-right: 30px;
}

.about-text .at-list .al-item .al-text {
	overflow: hidden;
}

.about-text .at-list .al-item .al-text h5 {
	font-size: 20px;
	color: #111111;
	font-weight: 700;
	text-transform: uppercase;
	margin-bottom: 8px;
}

.about-text .at-list .al-item .al-text p {
	color: #666666;
	margin-bottom: 0;
}

/*---------------------
  Team Section
-----------------------*/

.team-section {
	padding-bottom: 70px;
}

.team-item {
	background: #f5f5f5;
	text-align: center;
	margin-bottom: 30px;
}

.team-item img {
	min-width: 100%;
}

.team-item .ti-text {
	padding: 25px 0;
}

.team-item .ti-text h5 {
	font-size: 20px;
	color: #111111;
	font-weight: 700;
	text-transform: uppercase;
	margin-bottom: 5px;
}

.team-item .ti-text span {
	display: block;
	font-size: 15px;
	color: #660033;
	margin-bottom: 20px;
}

.team-item .ti-text .ti-social a {
	color: #666666;
	font-size: 15px;
	display: inline-block;
	margin-right: 20px;
}

.team-item .ti-text .ti-social a:last-child {
	margin-right: 0;
}

/*---------------------
  Cta Section
-----------------------*/

.cta-section {
	padding-top: 140px;
	padding-bottom: 150px;
}

.cta-text {
	text-align: center;
}

.cta-text h2 {
	font-size: 50px;
	color: #ffffff;
	font-weight: 700;
	text-transform: uppercase;
	margin-bottom: 15px;
}

.cta-text p {
	font-size: 17px;
	line-height: 30px;
	color: #ffffff;
	margin-bottom: 30px;
}

/*---------------------
  Testimonial Section
-----------------------*/

.testimonial-section {
	padding-bottom: 70px;
}

.testimonial-section .section-title {
	text-align: center;
	margin-bottom: 60px;
}

.testimonial-item {
	border-top: 5px solid #e1e1e1;
	padding-top: 30px;
	position: relative;
	margin-bottom: 30px;
}

.testimonial-item:before {
	position: absolute;
	left: 0;
	top: -12px;
	background-image: url(../img/testimonial/quote.png);
	background-repeat: no-repeat;
	content: "";
	height: 26px;
	width: 26px;
	background-color: #ffffff;
}

.testimonial-item .ti-author {
	overflow: hidden;
	margin-bottom: 18px;
}

.testimonial-item .ti-author .ta-pic {
	margin-right: 25px;
	float: left;
}

.testimonial-item .ti-author .ta-pic img {
	height: 90px;
	width: 90px;
	border-radius: 50%;
}

.testimonial-item .ti-author .ta-text {
	overflow: hidden;
	padding-top: 24px;
}

.testimonial-item .ti-author .ta-text h5 {
	color: #111111;
	font-weight: 700;
	text-transform: uppercase;
	margin-bottom: 5px;
}

.testimonial-item .ti-author .ta-text span {
	font-size: 15px;
	color: #888888;
}

.testimonial-item p {
	color: #444444;
	margin-bottom: 0;
}

/*---------------------
  Services Option
-----------------------*/

.services-option {
	padding-top: 20px;
	padding-bottom: 60px;
}

/* Side-by-side layout: text left, image grid right */
.so-layout {
	display: flex;
	gap: 48px;
	align-items: flex-start;
}

.so-text-col {
	flex: 1 1 50%;
	min-width: 0;
}

.so-image-col {
	flex: 1 1 50%;
	min-width: 0;
}

.so-image-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	grid-template-rows: repeat(2, 1fr);
	gap: 10px;
}

.so-image-cell img {
	width: 100%;
	height: 160px;
	object-fit: cover;
	display: block;
}

.so-item {
	margin-bottom: 28px;
}

.so-item .so-title {
	overflow: hidden;
	margin-bottom: 8px;
}

.so-item .so-title .so-number {
	font-size: 16px;
	color: #ffffff;
	font-weight: 600;
	width: 36px;
	height: 36px;
	line-height: 36px;
	text-align: center;
	background: #660033;
	float: left;
	margin-right: 20px;
}

.so-item .so-title h5 {
	font-size: 18px;
	color: #111111;
	font-weight: 700;
	text-transform: uppercase;
	overflow: hidden;
	line-height: 36px;
}

.so-item p {
	color: #666666;
	margin-bottom: 0;
	font-size: 14px;
}

@media (max-width: 900px) {
	.so-layout {
		flex-direction: column;
	}
	.so-text-col,
	.so-image-col {
		flex: none;
		width: 100%;
	}
}

/*---------------------
  Pricing Section
-----------------------*/

.pricing-section {
	padding-bottom: 35px;
	padding-top: 0;
}

.section-title.pricing-title {
	margin-bottom: 110px;
}

.pricing-item {
	position: relative;
	background: #ffffff;
	z-index: 1;
	text-align: center;
	padding-bottom: 20px;
	-webkit-box-shadow: 0px 0px 25px rgba(206, 206, 206, 0.5);
	box-shadow: 0px 0px 25px rgba(206, 206, 206, 0.5);
	margin-bottom: 110px;
}

.pricing-item:after {
	position: absolute;
	left: 50%;
	top: -73px;
	height: 73px;
	width: 150px;
	background: #ffffff;
	content: "";
	border-top-left-radius: 75px;
	border-top-right-radius: 75px;
	z-index: -1;
	-webkit-transform: translateX(-75px);
	-ms-transform: translateX(-75px);
	transform: translateX(-75px);
	-webkit-box-shadow: 0px -8px 25px -8px rgba(206, 206, 206, 0.5);
	box-shadow: 0px -8px 25px -8px rgba(206, 206, 206, 0.5);
	-webkit-transition: all 0.3s;
	-o-transition: all 0.3s;
	transition: all 0.3s;
}

.pricing-item:hover:after {
	background: #660033;
}

.pricing-item:hover .pi-price h2 {
	color: #ffffff;
}

.pricing-item:hover .pi-price span {
	color: #ffffff;
}

.pricing-item:hover .pi-title {
	background: #660033;
}

.pricing-item:hover .pi-title h3 {
	color: #ffffff;
	border-bottom: 1px solid transparent;
}

.pricing-item:hover .pi-text .primary-btn {
	background: #660033;
	color: #ffffff;
}

.pricing-item .pi-price {
	position: absolute;
	top: -32px;
	width: 100%;
	left: 0;
}

.pricing-item .pi-price h2 {
	color: #660033;
	font-weight: 700;
	-webkit-transition: all 0.2s;
	-o-transition: all 0.2s;
	transition: all 0.2s;
}

.pricing-item .pi-price span {
	font-size: 15px;
	color: #111111;
	-webkit-transition: all 0.2s;
	-o-transition: all 0.2s;
	transition: all 0.2s;
}

.pricing-item .pi-title {
	padding-top: 65px;
	padding-left: 20px;
	padding-right: 20px;
	-webkit-transition: all 0.3s;
	-o-transition: all 0.3s;
	transition: all 0.3s;
}

.pricing-item .pi-title h3 {
	color: #111111;
	font-weight: 700;
	padding-bottom: 32px;
	text-transform: uppercase;
	border-bottom: 1px solid #ebebeb;
	-webkit-transition: all 0.2s;
	-o-transition: all 0.2s;
	transition: all 0.2s;
}

.pricing-item .pi-text {
	padding-left: 20px;
	padding-right: 20px;
}

.pricing-item .pi-text ul {
	margin: 25px 0;
}

.pricing-item .pi-text ul li {
	font-size: 15px;
	color: #666666;
	line-height: 42px;
	list-style: none;
}

.pricing-item .pi-text .primary-btn {
	font-size: 15px;
	color: #111111;
	background: #ebebeb;
	padding: 14px 0;
	display: block;
	-webkit-transition: all 0.3s;
	-o-transition: all 0.3s;
	transition: all 0.3s;
}

/*---------------------
  Portfolio Hero
-----------------------*/

.portfolio-hero-section {
	height: 900px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	text-align: center;
}

.ph-text {
	background: rgba(0, 0, 0, 0.7);
	display: inline-block;
	padding: 60px 75px 65px;
	text-align: center;
}

.ph-text h2 {
	color: #ffffff;
	font-weight: 700;
	text-transform: uppercase;
	margin-bottom: 12px;
}

.ph-text ul li {
	list-style: none;
	display: inline-block;
	color: #660033;
	font-size: 15px;
	margin-right: 28px;
	position: relative;
}

.ph-text ul li:after {
	position: absolute;
	right: -20px;
	top: -1px;
	color: #e1e1e1;
	opacity: 0.5;
	content: "|";
}

.ph-text ul li:last-child {
	margin-right: 0;
}

.ph-text ul li:last-child:after {
	display: none;
}

/*---------------------
  Portfolio Details
-----------------------*/

.portfolio-details-section {
	padding-top: 70px;
	padding-bottom: 40px;
}

.pd-text {
	margin-bottom: 70px;
}

.pd-text p {
	font-size: 17px;
	line-height: 30px;
}

.pd-text p:first-child {
	margin-bottom: 30px;
}

.portfolio-pics {
	padding-left: 20px;
	margin-bottom: 50px;
}

.portfolio-details-pic .pdp-item {
	width: calc(20% - 20px);
	float: left;
	height: 360px;
	margin-bottom: 20px;
	margin-right: 20px;
}

.portfolio-details-pic .pdp-item.large-width {
	width: calc(40% - 20px);
}

.portfolio-details-pic .pdp-item.large-height {
	height: 740px;
}

.pd-more-text h2 {
	color: #111111;
	font-weight: 700;
	margin-bottom: 30px;
}

.pd-more-text p {
	font-size: 17px;
	line-height: 30px;
}

/*---------------------
  Recent Photography
-----------------------*/

.recent-photography-section {
	padding-top: 0;
}

.recent-photography-section .section-title {
	padding-top: 50px;
	border-top: 1px solid #e1e1e1;
}

.rp-item {
	text-align: center;
	width: 100%;
	background: #f5f5f5;
	margin-bottom: 30px;
}

.rp-item img {
	min-width: 100%;
}

.rp-item .rp-text {
	padding: 26px 0 25px;
}

.rp-item .rp-text h5 {
	color: #111111;
	font-weight: 700;
	font-size: 20px;
	text-transform: uppercase;
	margin-bottom: 5px;
}

.rp-item .rp-text span {
	font-size: 15px;
	font-weight: 600;
	color: #660033;
	display: block;
}

/*---------------------
  Blog
-----------------------*/

.blog-section {
	padding-top: 0;
}

.blog-item {
	margin-bottom: 50px;
	overflow: hidden;
}

.blog-item .bi-pic {
	float: left;
	margin-right: 30px;
}

.blog-item .bi-text {
	overflow: hidden;
}

.blog-item .bi-text .label {
	font-size: 12px;
	color: #ffffff;
	font-weight: 600;
	display: inline-block;
	background: #660033;
	padding: 2px 12px;
	text-transform: uppercase;
}

.blog-item .bi-text h5 {
	margin-top: 20px;
	margin-bottom: 10px;
}

.blog-item .bi-text h5 a {
	font-size: 20px;
	color: #111111;
	font-weight: 700;
	line-height: 27px;
	text-transform: uppercase;
}

.blog-item .bi-text ul {
	margin-bottom: 14px;
}

.blog-item .bi-text ul li {
	font-size: 13px;
	color: #888888;
	display: inline-block;
	list-style: none;
	margin-right: 24px;
	position: relative;
}

.blog-item .bi-text ul li:after {
	position: absolute;
	right: -17px;
	top: -1px;
	content: "|";
}

.blog-item .bi-text ul li:last-child {
	margin-right: 0;
}

.blog-item .bi-text ul li:last-child:after {
	display: none;
}

.blog-item .bi-text ul li span {
	color: #111111;
}

.blog-item .bi-text p {
	color: #444444;
	line-height: 30px;
	letter-spacing: 0.5px;
	margin-bottom: 0;
}

.blog-pagination a {
	display: inline-block;
	font-size: 20px;
	font-weight: 600;
	background: #f2f2f2;
	color: #111111;
	padding: 12px 22px;
	margin-right: 8px;
	-webkit-transition: all 0.3s;
	-o-transition: all 0.3s;
	transition: all 0.3s;
}

.blog-pagination a:hover {
	color: #ffffff;
	background: #111111;
}

.blog-pagination a:last-child {
	margin-right: 0;
}

.blog-sidebar .bs-item.s-mb {
	margin-bottom: 55px;
}

.blog-sidebar .bs-item h5 {
	font-size: 20px;
	font-weight: 700;
	color: #111111;
	text-transform: uppercase;
	position: relative;
	margin-bottom: 35px;
}

.blog-sidebar .bs-item h5:after {
	position: absolute;
	right: 0;
	top: 10px;
	height: 3px;
	width: 95px;
	background: #e1e1e1;
	content: "";
}

.blog-sidebar .bs-item .bi-feature-post .fp-item {
	overflow: hidden;
	margin-bottom: 30px;
	display: block;
}

.blog-sidebar .bs-item .bi-feature-post .fp-item .fp-pic {
	float: left;
	margin-right: 20px;
}

.blog-sidebar .bs-item .bi-feature-post .fp-item .fp-text {
	overflow: hidden;
}

.blog-sidebar .bs-item .bi-feature-post .fp-item .fp-text h6 {
	font-size: 15px;
	color: #111111;
	font-weight: 700;
	text-transform: uppercase;
	line-height: 20px;
}

.blog-sidebar .bs-item .bi-feature-post .fp-item .fp-text span {
	font-size: 13px;
	color: #888888;
}

.blog-sidebar .bs-item p {
	color: #444444;
	font-weight: 500;
}

.blog-sidebar .bs-item .bi-subscribe form input {
	font-size: 13px;
	color: #444444;
	height: 46px;
	width: 100%;
	border: 1px solid #d7d7d7;
	padding-left: 15px;
	background: transparent;
	margin-bottom: 20px;
}

.blog-sidebar .bs-item .bi-subscribe form input::-webkit-input-placeholder {
	color: #444444;
}

.blog-sidebar .bs-item .bi-subscribe form input::-moz-placeholder {
	color: #444444;
}

.blog-sidebar .bs-item .bi-subscribe form input:-ms-input-placeholder {
	color: #444444;
}

.blog-sidebar .bs-item .bi-subscribe form input::-ms-input-placeholder {
	color: #444444;
}

.blog-sidebar .bs-item .bi-subscribe form input::placeholder {
	color: #444444;
}

.blog-sidebar .bs-item .bi-subscribe form .site-btn {
	width: 100%;
}

.blog-sidebar .bs-item .bi-insta {
	margin-right: -10px;
	overflow: hidden;
}

.blog-sidebar .bs-item .bi-insta img {
	width: calc(50% - 10px);
	float: left;
	margin-right: 10px;
	margin-bottom: 10px;
}

/*---------------------
  Blog Details Section
-----------------------*/

.blog-hero {
	height: 960px;
}

.blog-details-section {
	padding-top: 0;
	padding-bottom: 60px;
}

.blog-details-text {
	background: #ffffff;
	padding-top: 60px;
	padding-left: 55px;
	padding-right: 55px;
	margin-top: -240px;
}

.blog-details-text .bd-title {
	margin-bottom: 60px;
}

.blog-details-text .bd-title .bt-bread {
	margin-bottom: 12px;
}

.blog-details-text .bd-title .bt-bread a {
	font-size: 15px;
	color: #111111;
	margin-right: 20px;
	position: relative;
}

.blog-details-text .bd-title .bt-bread a i {
	margin-right: 5px;
}

.blog-details-text .bd-title .bt-bread a:after {
	position: absolute;
	right: -18px;
	top: 1px;
	content: "5";
	font-family: "ElegantIcons";
}

.blog-details-text .bd-title .bt-bread span {
	font-size: 15px;
	color: #888888;
}

.blog-details-text .bd-title h2 {
	font-size: 42px;
	color: #111111;
	font-weight: 700;
	line-height: 55px;
	margin-bottom: 18px;
}

.blog-details-text .bd-title ul li {
	font-size: 13px;
	color: #888888;
	display: inline-block;
	list-style: none;
	margin-right: 24px;
	position: relative;
}

.blog-details-text .bd-title ul li:after {
	position: absolute;
	right: -17px;
	top: -1px;
	content: "|";
}

.blog-details-text .bd-title ul li:last-child {
	margin-right: 0;
}

.blog-details-text .bd-title ul li:last-child:after {
	display: none;
}

.blog-details-text .bd-title ul li span {
	color: #111111;
}

.blog-details-text .bd-top-text {
	margin-bottom: 50px;
}

.blog-details-text .bd-top-text p {
	font-size: 17px;
	color: #444444;
	line-height: 30px;
}

.blog-details-text .bd-quote {
	border-top: 10px solid #f2f2f2;
	position: relative;
	margin-bottom: 35px;
}

.blog-details-text .bd-quote:after {
	position: absolute;
	left: 0;
	top: -20px;
	background-image: url(../img/blog/details/quote.png);
	height: 22px;
	width: 45px;
	background-repeat: no-repeat;
	background-color: #ffffff;
	content: "";
}

.blog-details-text .bd-quote p {
	font-size: 20px;
	color: #111111;
	line-height: 35px;
	font-weight: 600;
	font-style: italic;
	padding-top: 24px;
}

.blog-details-text .bd-desc {
	margin-bottom: 40px;
}

.blog-details-text .bd-desc p {
	font-size: 17px;
	color: #444444;
	line-height: 30px;
}

.blog-details-text .bd-pics {
	margin-right: -10px;
	overflow: hidden;
	margin-bottom: 34px;
}

.blog-details-text .bd-pics img {
	width: calc(33.33% - 10px);
	float: left;
	margin-right: 10px;
	margin-bottom: 10px;
}

.blog-details-text .bd-last-desc {
	margin-bottom: 40px;
}

.blog-details-text .bd-last-desc p {
	font-size: 17px;
	color: #444444;
	line-height: 30px;
}

.blog-details-text .bd-tag-share {
	overflow: hidden;
	padding-top: 35px;
	border-top: 1px solid #ebebeb;
	margin-bottom: 50px;
}

.blog-details-text .bd-tag-share .tags {
	float: left;
}

.blog-details-text .bd-tag-share .tags a {
	font-size: 13px;
	display: inline-block;
	color: #444444;
	text-transform: uppercase;
	padding: 8px 14px;
	background: #ebebeb;
	margin-right: 9px;
}

.blog-details-text .bd-tag-share .tags a:last-child {
	margin-right: 0;
}

.blog-details-text .bd-tag-share .share {
	float: right;
}

.blog-details-text .bd-tag-share .share span {
	display: inline-block;
	font-size: 15px;
	text-transform: uppercase;
	font-weight: 600;
	color: #111111;
	margin-right: 20px;
}

.blog-details-text .bd-tag-share .share a {
	display: inline-block;
	font-size: 14px;
	color: #ffffff;
	width: 46px;
	height: 46px;
	line-height: 46px;
	text-align: center;
	margin-left: 6px;
}

.blog-details-text .bd-tag-share .share a.facebook {
	background: #3263AF;
}

.blog-details-text .bd-tag-share .share a.twitter {
	background: #40C4FF;
}

.blog-details-text .bd-tag-share .share a.youtube {
	background: #FF0000;
}

.blog-details-text .bd-tag-share .share a.instagram {
	background: -o-linear-gradient(45deg, #af00e1, #ff9e35);
	background: linear-gradient(45deg, #af00e1, #ff9e35);
}

.blog-details-text .bd-related-post {
	margin-bottom: 60px;
}

.blog-details-text .bd-related-post .post-item {
	display: block;
	overflow: hidden;
}

.blog-details-text .bd-related-post .post-item.prev-item .pi-pic {
	float: left;
	margin-right: 30px;
}

.blog-details-text .bd-related-post .post-item.prev-item .pi-text {
	overflow: hidden;
}

.blog-details-text .bd-related-post .post-item.next-item {
	text-align: right;
}

.blog-details-text .bd-related-post .post-item.next-item .pi-pic {
	float: right;
	margin-left: 30px;
}

.blog-details-text .bd-related-post .post-item.next-item .pi-text {
	overflow: hidden;
}

.blog-details-text .bd-related-post .post-item h6 {
	font-size: 15px;
	color: #111111;
	text-transform: uppercase;
	font-weight: 700;
	margin-bottom: 25px;
}

.blog-details-text .bd-related-post .post-item h6 span {
	font-size: 22px;
	position: relative;
	top: 3px;
}

.blog-details-text .bd-related-post .post-item .pi-text .label {
	font-size: 12px;
	color: #ffffff;
	font-weight: 600;
	display: inline-block;
	background: #660033;
	padding: 2px 12px;
	text-transform: uppercase;
}

.blog-details-text .bd-related-post .post-item .pi-text h5 {
	font-size: 20px;
	color: #111111;
	font-weight: 700;
	line-height: 23px;
	letter-spacing: 0.5px;
	margin-top: 10px;
}

.blog-details-text .bd-author {
	background: #f5f5f5;
	padding: 50px;
	margin-bottom: 60px;
}

.blog-details-text .bd-author .avatar-pic {
	float: left;
	margin-right: 30px;
}

.blog-details-text .bd-author .avatar-pic img {
	height: 130px;
	width: 130px;
	border-radius: 50%;
}

.blog-details-text .bd-author .avatar-text {
	overflow: hidden;
}

.blog-details-text .bd-author .avatar-text h4 {
	color: #111111;
	font-weight: 700;
	text-transform: uppercase;
	margin-bottom: 8px;
}

.blog-details-text .bd-author .avatar-text p {
	color: #444444;
	font-size: 17px;
	line-height: 30px;
}

.blog-details-text .bd-author .avatar-text .at-social a {
	font-size: 14px;
	display: inline-block;
	color: #444444;
	margin-right: 15px;
}

.blog-details-text .bd-author .avatar-text .at-social a:last-child {
	margin-right: 0;
}

.blog-details-text .bd-comment-form h4 {
	color: #111111;
	font-weight: 700;
	text-transform: uppercase;
	margin-bottom: 35px;
}

.blog-details-text .bd-comment-form .comment-item {
	margin-bottom: 35px;
}

.blog-details-text .bd-comment-form .comment-item .ci-pic {
	float: left;
	margin-right: 20px;
}

.blog-details-text .bd-comment-form .comment-item .ci-pic img {
	height: 70px;
	width: 70px;
	border-radius: 50%;
}

.blog-details-text .bd-comment-form .comment-item .ci-text {
	overflow: hidden;
}

.blog-details-text .bd-comment-form .comment-item .ci-text h5 {
	font-size: 20px;
	color: #111111;
	font-weight: 700;
	text-transform: uppercase;
	margin-right: 8px;
}

.blog-details-text .bd-comment-form .comment-item .ci-text p {
	color: #444444;
	margin-bottom: 10px;
}

.blog-details-text .bd-comment-form .comment-item .ci-text ul li {
	list-style: none;
	display: inline-block;
	font-size: 12px;
	color: #444444;
	margin-right: 25px;
}

.blog-details-text .bd-comment-form .comment-item .ci-text ul li:last-child {
	margin-right: 0;
}

.blog-details-text .bd-comment-form .comment-item .ci-text ul li i {
	font-size: 14px;
	color: #660033;
	margin-right: 5px;
}

.blog-details-text .bd-comment-form .leave-form {
	padding: 35px 40px 40px 40px;
	border: 1px solid #e1e1e1;
}

.blog-details-text .bd-comment-form .leave-form form input {
	height: 50px;
	width: 100%;
	padding-left: 20px;
	font-size: 14px;
	color: #444444;
	background: #f2f2f2;
	margin-bottom: 20px;
	border: none;
}

.blog-details-text .bd-comment-form .leave-form form input::-webkit-input-placeholder {
	color: #444444;
}

.blog-details-text .bd-comment-form .leave-form form input::-moz-placeholder {
	color: #444444;
}

.blog-details-text .bd-comment-form .leave-form form input:-ms-input-placeholder {
	color: #444444;
}

.blog-details-text .bd-comment-form .leave-form form input::-ms-input-placeholder {
	color: #444444;
}

.blog-details-text .bd-comment-form .leave-form form input::placeholder {
	color: #444444;
}

.blog-details-text .bd-comment-form .leave-form form textarea {
	width: 100%;
	padding-left: 20px;
	padding-top: 12px;
	height: 100px;
	font-size: 14px;
	color: #444444;
	background: #f2f2f2;
	resize: none;
	border: none;
	margin-bottom: 14px;
}

.blog-details-text .bd-comment-form .leave-form form textarea::-webkit-input-placeholder {
	color: #444444;
}

.blog-details-text .bd-comment-form .leave-form form textarea::-moz-placeholder {
	color: #444444;
}

.blog-details-text .bd-comment-form .leave-form form textarea:-ms-input-placeholder {
	color: #444444;
}

.blog-details-text .bd-comment-form .leave-form form textarea::-ms-input-placeholder {
	color: #444444;
}

.blog-details-text .bd-comment-form .leave-form form textarea::placeholder {
	color: #444444;
}

/*---------------------
  Gallery
-----------------------*/

.gallery-section {
	padding-top: 0;
}

.gallery-section .container-fluid {
	padding-left: 35px;
}

.gallery-filter .gf-item {
	width: calc(20% - 20px);
	height: 360px;
	float: left;
	margin-right: 20px;
	margin-bottom: 20px;
	position: relative;
	z-index: 1;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	overflow: hidden;
}

.gallery-filter .gf-item.small-height {
	height: 240px;
}

.gallery-filter .gf-item.medium-small-height {
	height: 410px;
}

.gallery-filter .gf-item.large-small-height {
	height: 440px;
}

.gallery-filter .gf-item.large-height {
	height: 540px;
}

.gallery-filter .gf-item.medium-large-height {
	height: 510px;
}

.gallery-filter .gf-item:after {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.6);
	content: "";
	z-index: -1;
	opacity: 0;
	-webkit-transition: all 0.3s;
	-o-transition: all 0.3s;
	transition: all 0.3s;
}

.gallery-filter .gf-item .gf-icon {
	font-size: 36px;
	color: #ffffff;
	opacity: 0;
	-webkit-transition: all 0.3s;
	-o-transition: all 0.3s;
	transition: all 0.3s;
}

.gallery-filter .gf-item:hover:after {
	opacity: 1;
}

.gallery-filter .gf-item:hover .gf-icon {
	opacity: 1;
}

/*---------------------
  Contact
-----------------------*/

.contact-hero-image {
	position: relative;
	width: 100%;
	height: 500px;
	overflow: hidden;
}

.contact-hero-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.contact-hero-overlay {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(0, 0, 0, 0.28);
}

.contact-hero-label {
	text-align: center;
}

.contact-hero-label span {
	display: block;
	font-family: "Quantico", sans-serif;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 5px;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.7);
	margin-bottom: 12px;
	text-shadow: 0 1px 8px rgba(0, 0, 0, 0.6);
}

.contact-hero-label h1 {
	font-family: "Quantico", sans-serif;
	font-size: 72px;
	font-weight: 700;
	color: #ffffff;
	text-transform: uppercase;
	line-height: 1;
	letter-spacing: 6px;
	text-shadow: 0 2px 16px rgba(0, 0, 0, 0.6);
}

@media (max-width: 768px) {
	.contact-hero-label h1 {
		font-size: 36px;
		letter-spacing: 3px;
	}
}

.contact-text h3 {
	color: #111111;
	font-weight: 700;
	text-transform: uppercase;
	margin-bottom: 15px;
}

.contact-text p {
	color: #111111;
	margin-bottom: 32px;
}

.contact-text .ct-item {
	overflow: hidden;
	margin-bottom: 30px;
}

.contact-text .ct-item .ct-icon {
	height: 80px;
	width: 80px;
	background: #660033;
	border-radius: 50%;
	font-size: 40px;
	line-height: 80px;
	text-align: center;
	color: #ffffff;
	float: left;
	margin-right: 30px;
}

.contact-text .ct-item .ct-text {
	overflow: hidden;
	padding-top: 12px;
}

.contact-text .ct-item .ct-text h5 {
	font-size: 20px;
	color: #111111;
	font-weight: 700;
	text-transform: uppercase;
	margin-bottom: 10px;
}

.contact-text .ct-item .ct-text p {
	color: #444444;
	margin-bottom: 0;
}

.contact-text .ct-item .ct-text ul li {
	list-style: none;
	display: inline-block;
	margin-right: 30px;
	font-size: 15px;
	color: #444444;
	position: relative;
}

.contact-text .ct-item .ct-text ul li:after {
	position: absolute;
	right: -20px;
	top: -2px;
	content: "|";
}

.contact-text .ct-item .ct-text ul li:last-child {
	margin-right: 0;
}

.contact-text .ct-item .ct-text ul li:last-child:after {
	display: none;
}

.contact-form h3 {
	color: #111111;
	font-weight: 700;
	text-transform: uppercase;
	margin-bottom: 35px;
}

.contact-form form input {
	height: 50px;
	width: 100%;
	padding-left: 20px;
	font-size: 14px;
	color: #444444;
	background: transparent;
	margin-bottom: 30px;
	border: 1px solid #e1e1e1;
}

.contact-form form input::-webkit-input-placeholder {
	color: #444444;
}

.contact-form form input::-moz-placeholder {
	color: #444444;
}

.contact-form form input:-ms-input-placeholder {
	color: #444444;
}

.contact-form form input::-ms-input-placeholder {
	color: #444444;
}

.contact-form form input::placeholder {
	color: #444444;
}

.contact-form form textarea {
	width: 100%;
	padding-left: 20px;
	padding-top: 12px;
	height: 100px;
	font-size: 14px;
	color: #444444;
	background: transparent;
	resize: none;
	border: 1px solid #e1e1e1;
	margin-bottom: 24px;
}

.contact-form form textarea::-webkit-input-placeholder {
	color: #444444;
}

.contact-form form textarea::-moz-placeholder {
	color: #444444;
}

.contact-form form textarea:-ms-input-placeholder {
	color: #444444;
}

.contact-form form textarea::-ms-input-placeholder {
	color: #444444;
}

.contact-form form textarea::placeholder {
	color: #444444;
}

/*--------------------------------- Responsive Media Quaries -----------------------------*/

@media only screen and (min-width: 1430px) {
	.container {
		max-width: 1400px !important;
	}
	.blog-details-section .container {
		max-width: 1170px !important;
	}
	.logo {
		margin-right: 150px;
	}
	.about-text {
		padding-left: 100px;
		padding-right: 110px;
	}
	.header-section {
		padding-left: 85px;
		padding-right: 85px;
	}
}

@media only screen and (min-width: 1200px) {
	.container {
		max-width: 1170px;
	}
}

/* Medium Device = 1200px */

@media only screen and (min-width: 992px) and (max-width: 1199px) {
	.hs-slider.owl-carousel .owl-nav button {
		left: 50px;
	}
	.hs-slider.owl-carousel .owl-nav button.owl-next {
		right: 50px;
	}
	.logo {
		margin-right: 20px;
	}
	.nav-menu ul li {
		margin-right: 5px;
	}
	.about-section .col-lg-6 {
		max-width: 100% !important;
		-webkit-box-flex: 0 !important;
		-ms-flex: 0 0 100% !important;
		flex: 0 0 100% !important;
	}
	.about-pic .play-btn {
		right: auto;
		left: 50%;
		-webkit-transform: translate(-50px, -50px);
		-ms-transform: translate(-50px, -50px);
		transform: translate(-50px, -50px);
	}
	.about-text {
		padding-left: 30px;
		padding-bottom: 70px;
		height: auto;
	}
	.blog-sidebar .bs-item h5:after {
		width: 45px;
	}
}

/* Tablet Device = 768px */

@media only screen and (min-width: 768px) and (max-width: 991px) {
	.hs-slider.owl-carousel .owl-nav button {
		left: 10px;
	}
	.hs-slider.owl-carousel .owl-nav button.owl-next {
		right: 10px;
	}
	.about-pic .play-btn {
		right: auto;
		left: 50%;
		-webkit-transform: translate(-50px, -50px);
		-ms-transform: translate(-50px, -50px);
		transform: translate(-50px, -50px);
	}
	.about-text {
		padding-left: 30px;
		padding-bottom: 70px;
		height: auto;
	}
	.blog-sidebar {
		padding-top: 40px;
	}
	.blog-details-text .bd-tag-share .tags {
		float: none;
		margin-bottom: 20px;
	}
	.blog-details-text .bd-tag-share .share {
		float: none;
	}
	.post-item.prev-item {
		margin-bottom: 30px;
	}
	.nav-menu {
		display: none;
	}
	.slicknav_menu {
		display: block;
		background: transparent;
	}
	.slicknav_menu .slicknav_menutxt {
		display: none;
	}
	/* Accessible hamburger — 44×44 minimum tap target */
	.slicknav_btn {
		margin: 0;
		background-color: transparent;
		padding: 10px;
		margin-top: 18px;
		min-width: 44px;
		min-height: 44px;
		display: flex;
		align-items: center;
		justify-content: center;
		border-radius: 4px;
		cursor: pointer;
		float: right;
	}
	.slicknav_btn:focus,
	.slicknav_btn:hover {
		background-color: rgba(102, 0, 51, 0.12);
		outline: 2px solid #660033;
		outline-offset: 2px;
	}
	.slicknav_menu .slicknav_icon-bar {
		background-color: #111;
		width: 24px;
		height: 3px;
		border-radius: 2px;
		display: block;
		margin: 4px 0;
	}
	.slicknav_nav {
		background: #111;
		border-top: 2px solid #660033;
		box-shadow: 0 6px 16px rgba(0,0,0,0.35);
	}
	.slicknav_nav ul {
		margin: 0;
	}
	.slicknav_nav .slicknav_row,
	.slicknav_nav a {
		padding: 14px 24px;
		margin: 0;
		font-size: 14px;
		font-weight: 600;
		letter-spacing: 1px;
		text-transform: uppercase;
		color: #e0e0e0;
		border-bottom: 1px solid #1e1e1e;
		min-height: 48px;
		display: flex;
		align-items: center;
	}
	.slicknav_nav a:hover,
	.slicknav_nav a:focus {
		border-radius: 0;
		background: #660033;
		color: #fff;
		outline: none;
	}
	.slicknav_nav .slicknav_row:hover {
		border-radius: 0;
		background: #660033;
		color: #fff;
	}
	.slicknav_nav .active > a {
		color: #ff6699;
		border-left: 3px solid #660033;
		padding-left: 21px;
	}
	.header-section .container-fluid {
		position: relative;
	}
	.top-search {
		float: none;
		position: absolute;
		right: 50px;
	}
	.logo {
		margin-right: 0;
	}
	.portfolio-filter .pf-item {
		grid-column: span 6;
	}
	.portfolio-filter .pf-item.large-width {
		grid-column: span 6;
	}
	.gallery-filter .gf-item {
		width: calc(33.33% - 20px);
	}
	.portfolio-details-pic .pdp-item {
		width: calc(33.33% - 20px);
	}
	.portfolio-details-pic .pdp-item.large-width {
		width: calc(33.33% - 20px);
	}
}

/* Wide Mobile = 480px */

@media only screen and (max-width: 767px) {
	.about-pic .play-btn {
		right: auto;
		left: 50%;
		-webkit-transform: translate(-50px, -50px);
		-ms-transform: translate(-50px, -50px);
		transform: translate(-50px, -50px);
	}
	.about-text {
		padding-left: 30px;
		padding-bottom: 70px;
		height: auto;
	}
	.blog-sidebar {
		padding-top: 40px;
	}
	.blog-details-text .bd-tag-share .tags {
		float: none;
		margin-bottom: 20px;
	}
	.blog-details-text .bd-tag-share .share {
		float: none;
	}
	.post-item.prev-item {
		margin-bottom: 30px;
	}
	.hs-slider.owl-carousel .owl-nav button {
		left: 0;
	}
	.hs-slider.owl-carousel .owl-nav button.owl-next {
		right: 0;
	}
	.right-btn {
		text-align: left;
		padding-top: 0;
		margin-bottom: 45px;
	}
	.filter-controls ul li {
		margin-right: 10px;
	}
	.filter-controls ul li:after {
		right: -12px;
	}
	.blog-item .bi-pic {
		float: none;
		margin-right: 0;
	}
	.blog-item .bi-text {
		overflow: visible;
		padding-top: 30px;
	}
	.blog-details-text .bd-tag-share .tags a {
		margin-bottom: 15px;
	}
	.blog-details-text .bd-author .avatar-pic {
		float: none;
		margin-right: 0;
	}
	.blog-details-text .bd-author .avatar-text {
		overflow: visible;
		padding-top: 30px;
	}
	.nav-menu {
		display: none;
	}
	.slicknav_menu {
		display: block;
		background: transparent;
	}
	.slicknav_menu .slicknav_menutxt {
		display: none;
	}
	/* Accessible hamburger — 44×44 minimum tap target */
	.slicknav_btn {
		margin: 0;
		background-color: transparent;
		padding: 10px;
		margin-top: 18px;
		min-width: 44px;
		min-height: 44px;
		display: flex;
		align-items: center;
		justify-content: center;
		border-radius: 4px;
		cursor: pointer;
		float: right;
	}
	.slicknav_btn:focus,
	.slicknav_btn:hover {
		background-color: rgba(102, 0, 51, 0.12);
		outline: 2px solid #660033;
		outline-offset: 2px;
	}
	.slicknav_menu .slicknav_icon-bar {
		background-color: #111;
		width: 24px;
		height: 3px;
		border-radius: 2px;
		display: block;
		margin: 4px 0;
	}
	/* Full-width accessible dropdown */
	.slicknav_nav {
		background: #111;
		border-top: 2px solid #660033;
		box-shadow: 0 6px 16px rgba(0,0,0,0.35);
	}
	.slicknav_nav ul {
		margin: 0;
	}
	/* Large tappable links — min 48px height (WCAG 2.5.5) */
	.slicknav_nav .slicknav_row,
	.slicknav_nav a {
		padding: 14px 24px;
		margin: 0;
		font-size: 14px;
		font-weight: 600;
		letter-spacing: 1px;
		text-transform: uppercase;
		color: #e0e0e0;
		border-bottom: 1px solid #1e1e1e;
		min-height: 48px;
		display: flex;
		align-items: center;
	}
	.slicknav_nav a:hover,
	.slicknav_nav a:focus {
		border-radius: 0;
		background: #660033;
		color: #fff;
		outline: none;
	}
	.slicknav_nav .slicknav_row:hover {
		border-radius: 0;
		background: #660033;
		color: #fff;
	}
	/* Active page indicator */
	.slicknav_nav .active > a {
		color: #ff6699;
		border-left: 3px solid #660033;
		padding-left: 21px;
	}
	.header-section .container-fluid {
		position: relative;
	}
	.top-search {
		float: none;
		position: absolute;
		right: 50px;
	}
	.logo {
		margin-right: 0;
	}
	.hs-item {
		height: auto;
		padding: 150px 0 200px;
	}
	.portfolio-hero-section {
		height: auto;
		padding: 150px 0;
	}
	.portfolio-filter .pf-item {
		grid-column: span 6;
	}
	.portfolio-filter .pf-item.large-width {
		grid-column: span 6;
	}
	.gallery-filter .gf-item {
		width: calc(50% - 20px);
	}
	.portfolio-details-pic .pdp-item {
		width: calc(50% - 20px);
	}
	.portfolio-details-pic .pdp-item.large-width {
		width: calc(50% - 20px);
	}
}

/* Small Device = 320px */

@media only screen and (max-width: 479px) {
	.load-more-btn a {
		padding: 15px 70px 13px;
	}
	.ph-text {
		background: rgba(0, 0, 0, 0.7);
		display: inline-block;
		padding: 60px 20px 65px;
		text-align: center;
	}
	.blog-pagination a {
		margin-right: 5px;
	}
	.blog-details-text {
		padding-left: 15px;
		padding-right: 15px;
	}
	.blog-details-text .bd-tag-share .share a {
		margin-bottom: 10px;
	}
	.blog-details-text .bd-related-post .post-item.prev-item .pi-pic {
		float: none;
		margin-right: 0;
	}
	.blog-details-text .bd-related-post .post-item.prev-item .pi-text {
		overflow: visible;
		padding-top: 15px;
	}
	.blog-details-text .bd-related-post .post-item.next-item .pi-pic {
		float: none;
		margin-right: 0;
	}
	.blog-details-text .bd-related-post .post-item.next-item .pi-text {
		overflow: visible;
		padding-top: 15px;
	}
	.blog-details-text .bd-author {
		padding: 30px;
	}
	.blog-details-text .bd-comment-form .leave-form {
		padding: 35px 20px 40px 20px;
	}
	.slicknav_menu {
		display: block;
		background: transparent;
	}
	.slicknav_menu .slicknav_menutxt {
		display: none;
	}
	.slicknav_btn {
		margin: 0;
		background-color: transparent;
		padding: 0;
		margin-top: 30px;
	}
	.slicknav_menu .slicknav_icon-bar {
		background-color: #111;
		width: 20px;
		height: 3px;
	}
	.slicknav_nav {
		background: #111;
	}
	.slicknav_nav ul {
		margin: 0;
	}
	.slicknav_nav a:hover {
		border-radius: 0;
		background: #660033;
		color: #fff;
	}
	.slicknav_nav .slicknav_row:hover {
		border-radius: 0;
		background: #660033;
		color: #fff;
	}
	.slicknav_nav .slicknav_row,
	.slicknav_nav a {
		padding: 8px 30px;
		margin: 0;
	}
	.header-section .container-fluid {
		position: relative;
	}
	.top-search {
		float: none;
		position: absolute;
		right: 50px;
	}
	.logo {
		margin-right: 0;
	}
	.hs-item .hs-text h2 {
		font-size: 38px;
	}
	.portfolio-section .container-fluid,
	.gallery-section .container-fluid {
		padding: 0 30px;
	}
	.portfolio-filter .pf-item {
		grid-column: span 12;
		grid-row: span 1;
	}
	.portfolio-filter .pf-item.large-width {
		grid-column: span 12;
	}
	.gallery-filter .gf-item {
		width: 100%;
	}
	.portfolio-details-pic .pdp-item {
		width: 100%;
	}
	.portfolio-details-pic .pdp-item.large-width {
		width: 100%;
	}
	.about-text .at-list .al-item .al-pic,
	.blog-details-text .bd-comment-form .comment-item .ci-pic {
		float: none;
		margin-right: 0;
		margin-bottom: 25px;
	}
	.blog-hero {
		height: 450px;
	}
	.blog-details-text .bd-pics img {
		width: 100%;
		float: left;
		margin-right: 0;
		margin-bottom: 15px;
	}
	.blog-details-text .bd-title h2 {
		font-size: 36px;
		line-height: normal;
	}
}
.hs-item {
    align-items: flex-end !important;
    padding-bottom: 250px !important;
}

/* =============================================
   CONTACT LEFT COLUMN - Info Blocks
   ============================================= */
.contact-left-info {
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.contact-left-info h3 {
    width: 100%;
    text-align: center;
    margin-bottom: 30px;
}

.contact-info-block {
    width: 100%;
    padding: 20px 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    text-align: center;
}

.contact-info-block:last-child {
    border-bottom: none;
}

.contact-info-block h5 {
    margin-bottom: 10px;
    font-size: 16px;
    letter-spacing: 1px;
    text-transform: uppercase;
}

.contact-info-block p {
    margin-bottom: 0;
    font-size: 14px;
    line-height: 1.7;
    opacity: 0.85;
}

/* =============================================
   CONTACT FORM - Dropdown
   ============================================= */
.contact-dropdown {
    width: 100%;
    background: transparent;
    border: none;
    border-bottom: 1px solid rgba(255, 255, 255, 0.3);
    color: inherit;
    font-size: 14px;
    padding: 12px 0;
    margin-bottom: 20px;
    display: block;
    appearance: none;
    -webkit-appearance: none;
    cursor: pointer;
    outline: none;
    font-family: inherit;
    letter-spacing: 1px;
}

.contact-dropdown option {
    background: #1a1a1a;
    color: #fff;
}

.contact-dropdown:focus {
    border-bottom-color: #fff;
}

/* =============================================
   CONTACT MEDIA SECTION
   ============================================= */
.contact-media-section {
    padding-top: 60px;
    padding-bottom: 80px;
}

.contact-media-title {
    text-align: center;
    margin-bottom: 40px;
}

.contact-media-row {
    display: flex;
    align-items: center;
    justify-content: center;
}

.contact-media-col {
    padding: 0 15px;
}

.contact-image-wrapper {
    border: 4px solid #fff;
    overflow: hidden;
    aspect-ratio: 3 / 2;
    background: #222;
    display: flex;
    align-items: center;
    justify-content: center;
}

.contact-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

@media (max-width: 768px) {
    .contact-media-col {
        margin-bottom: 30px;
    }

    .contact-image-wrapper {
        max-width: 100%;
    }

    .contact-left-info {
        margin-bottom: 40px;
    }
}

/* =============================================
   CONTACT LEFT COLUMN - Alignment Overrides
   ============================================= */
.contact-left-info {
    text-align: left !important;
    align-items: flex-start !important;
}

.contact-left-info h3 {
    text-align: left !important;
}

.contact-info-block {
    text-align: left !important;
}

.contact-info-block h5 {
    text-align: left !important;
}

.contact-info-block p {
    text-align: left !important;
}

/* Two-column row centred */
.contact-section .row {
    display: flex;
    align-items: center;
    justify-content: center;
}

/* =============================================
   DROPDOWN - Boxed Style (matches other inputs)
   ============================================= */
.contact-dropdown-wrapper {
    position: relative;
    width: 100%;
    margin-bottom: 20px;
    border: 1px solid rgba(255, 255, 255, 0.5);
    padding: 2px 0;
}

.contact-dropdown {
    width: 100%;
    background: transparent;
    border: none !important;
    border-bottom: none !important;
    color: inherit;
    font-size: 14px;
    padding: 12px 36px 12px 12px;
    margin-bottom: 0 !important;
    display: block;
    appearance: none;
    -webkit-appearance: none;
    cursor: pointer;
    outline: none;
    font-family: inherit;
    letter-spacing: 1px;
}

.dropdown-arrow {
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    pointer-events: none;
    font-size: 12px;
    opacity: 0.7;
}

/* =============================================
   CONTACT COLUMNS - Parallel alignment & centring
   ============================================= */
.contact-cols-row {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: center !important;
    gap: 60px;
}

.contact-col-left,
.contact-col-right {
    padding-left: 15px;
    padding-right: 15px;
}

/* Make both h3 headings sit at the exact same top position */
.contact-left-info h3,
.contact-form h3 {
    margin-top: 0 !important;
    padding-top: 0 !important;
    line-height: 1.2;
    margin-bottom: 28px !important;
}

/* Tighten spacing between Get in touch h3 and its intro paragraph */
.contact-left-info h3:first-child {
    margin-bottom: 10px !important;
}

/* =============================================
   CONTACT MEDIA - reduced top spacing, no title
   ============================================= */
.contact-media-section {
    padding-top: 20px !important;
    padding-bottom: 60px;
}

/* =============================================
   CONTACT COLUMNS - Wider spread, even spacing
   ============================================= */
.contact-cols-row {
    gap: 40px !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.contact-section .container {
    max-width: 1100px;
}

.contact-col-left,
.contact-col-right {
    flex: 0 0 42% !important;
    max-width: 42% !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
}

/* =============================================
   DROPDOWN - Grey outlined box (visible border)
   ============================================= */
.contact-dropdown-wrapper {
    border: 1px solid #888 !important;
    background: transparent;
}

.contact-dropdown {
    color: #aaa !important;
}

.contact-dropdown option {
    color: #fff;
    background: #222;
}

/* =============================================
   DROPDOWN - Match input border exactly
   ============================================= */
.contact-dropdown-wrapper {
    border: 1px solid #e1e1e1 !important;
    background: transparent;
    height: 50px;
    display: flex;
    align-items: center;
}

.contact-dropdown {
    color: #444444 !important;
    padding: 0 36px 0 20px !important;
    height: 100%;
}

.contact-dropdown option {
    color: #444444;
    background: #fff;
}

/* =============================================
   DROPDOWN - Match input font/color/spacing exactly
   ============================================= */
.contact-dropdown {
    font-size: 14px !important;
    font-family: "Open Sans", sans-serif !important;
    font-weight: 400 !important;
    color: #444444 !important;
    letter-spacing: normal !important;
}

.contact-dropdown-wrapper {
    margin-bottom: 30px !important;
}

/* =============================================
   CTA - Image Only with Text
   ============================================= */
.cta-section.cta-image-only {
    padding: 0;
    background: none;
    overflow: hidden;
}

.cta-image-placeholder {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    overflow: hidden;
}

.cta-full-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.cta-img-content-wrap {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(0, 0, 0, 0.28);
}

.cta-img-content {
    text-align: center;
    padding: 0 20px;
    max-width: 640px;
}

.cta-img-content h2 {
    font-size: 30px;
    color: #ffffff;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 15px;
    line-height: 1.2;
    font-family: "Quantico", sans-serif;
    text-shadow: 0 2px 12px rgba(0, 0, 0, 0.55);
}

.cta-img-content p {
    font-size: 15px;
    color: rgba(255, 255, 255, 0.85);
    line-height: 1.7;
    margin-bottom: 28px;
    text-shadow: 0 1px 8px rgba(0, 0, 0, 0.55);
}

@media (max-width: 768px) {
    .cta-img-content h2 {
        font-size: 20px;
    }
    .cta-img-content p {
        font-size: 13px;
    }
}

/* =============================================
   CONTACT MEDIA - Hover Zoom on Images
   ============================================= */
.contact-image-wrapper {
    overflow: hidden;
}

.contact-image {
    transition: transform 0.55s ease;
}

.contact-image-wrapper:hover .contact-image {
    transform: scale(1.04);
}

/* =============================================
   INDEX SERVICES - Hover Zoom on Images
   ============================================= */
.services-index-img-wrap {
    overflow: hidden;
    margin-bottom: 28px;
    line-height: 0;
}

.services-index-img-wrap img {
    min-width: 100%;
    margin-bottom: 0;
    display: block;
    transition: transform 0.55s ease;
}

.services-item:hover .services-index-img-wrap img {
    transform: scale(1.04);
}

/* =============================================
   ABOUT HERO IMAGE - 16x9 with overlay label
   ============================================= */
.about-hero-image {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    overflow: hidden;
}

.about-hero-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.about-hero-overlay {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(0, 0, 0, 0.28);
}

.about-hero-label {
    text-align: center;
}

.about-hero-label span {
    display: block;
    font-family: "Quantico", sans-serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 5px;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.7);
    margin-bottom: 12px;
    text-shadow: 0 1px 8px rgba(0, 0, 0, 0.6);
}

.about-hero-label h1 {
    font-family: "Quantico", sans-serif;
    font-size: 72px;
    font-weight: 700;
    color: #ffffff;
    text-transform: uppercase;
    line-height: 1;
    letter-spacing: 6px;
    text-shadow: 0 2px 16px rgba(0, 0, 0, 0.6);
}

@media (max-width: 768px) {
    .about-hero-label h1 {
        font-size: 36px;
        letter-spacing: 3px;
    }
    .about-hero-image {
        aspect-ratio: 16 / 9;
        min-height: 220px;
    }
}

/* About section full-width layout after hero */
.about-text--full {
    max-width: 900px;
    margin: 0 auto;
    padding: 60px 40px;
}

@media (max-width: 768px) {
    .about-text--full {
        padding: 40px 20px;
    }
}

/* =============================================
   PORTFOLIO GRID - Ratio-locked cells
   ============================================= */

/* Grid container */
.pf-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 28px;
    padding: 0 28px;
}

/* Base cell */
.pf-cell {
    position: relative;
    overflow: hidden;
    background: #111;
}

/* 3:2 aspect ratio */
.pf-cell.ratio-3x2 {
    aspect-ratio: 3 / 2;
}

/* 4:3 aspect ratio */
.pf-cell.ratio-4x3 {
    aspect-ratio: 4 / 3;
}

.pf-cell .pf-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.55s ease;
}

.pf-cell:hover .pf-img {
    transform: scale(1.04);
}

/* Invisible full-cell click target — no tint, no icon */
.pf-cell .pf-icon {
    position: absolute;
    inset: 0;
    display: block;
    background: transparent;
    opacity: 1;
}

/* Hide plus icon and label entirely */
.pf-cell .pf-icon i,
.pf-cell .pf-label {
    display: none;
}

/* Responsive breakpoints */
@media (max-width: 900px) {
    .pf-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 18px;
        padding: 0 18px;
    }
}

@media (max-width: 560px) {
    .pf-grid {
        grid-template-columns: 1fr;
        gap: 14px;
        padding: 0 14px;
    }
}


/* =============================================
   MAGNIFIC POPUP — Visible gallery arrows
   ============================================= */
.mfp-arrow {
    opacity: 0.85 !important;
}
.mfp-arrow:hover {
    opacity: 1 !important;
}
.mfp-arrow::before,
.mfp-arrow::after {
    border-top-width: 20px !important;
    border-bottom-width: 20px !important;
}
.mfp-arrow-left {
    left: 20px !important;
}
.mfp-arrow-right {
    right: 20px !important;
}
/* Pointer cursor on service index image wrappers */
.services-index-img-wrap {
    cursor: pointer;
}

/* Service card images are clickable */
.services-index-img-wrap a {
    display: block;
    cursor: pointer;
}

/* ============================================================
   MOBILE NAV — always-visible Home / Contact links in header
   Applies to all mobile breakpoints (≤ 991px)
   ============================================================ */
@media only screen and (max-width: 991px) {

    /* Hide the hamburger menu entirely */
    .slicknav_menu {
        display: none !important;
    }

    /* Make the nav-menu visible and flex on mobile */
    .nav-menu {
        display: block !important;
        float: none !important;
        position: static !important;
        transform: none !important;
        width: 100%;
    }

    /* Header becomes a flex column so logo sits above links */
    .header-section .col-lg-12 {
        display: flex;
        flex-direction: column;
        align-items: center;
        padding: 0;
    }

    /* Logo centred, tighter padding on mobile */
    .logo {
        float: none;
        margin-right: 0;
        padding: 18px 0 10px;
    }

    /* Link row — side by side, centred */
    .nav-menu ul {
        display: flex;
        justify-content: center;
        gap: 0;
        margin: 0;
        padding: 0;
    }

    .nav-menu ul li {
        display: flex;
        align-items: center;
        margin-right: 0;
    }

    /* Tappable links — min 48px height (WCAG 2.5.5) */
    .nav-menu ul li a {
        font-size: 13px;
        font-weight: 700;
        letter-spacing: 1.5px;
        padding: 14px 22px;
        color: #111111;
        display: flex;
        align-items: center;
        min-height: 48px;
        border-bottom: 3px solid transparent;
        transition: color 0.2s, border-color 0.2s;
    }

    /* Remove the ::after pseudo underline — we use border-bottom instead */
    .nav-menu ul li a:after {
        display: none !important;
    }

    /* Active page highlight */
    .nav-menu ul li.active a,
    .nav-menu ul li a:hover,
    .nav-menu ul li a:focus {
        color: #660033;
        border-bottom-color: #660033;
        outline: none;
    }

    /* Thin separator between links */
    .nav-menu ul li + li {
        border-left: 1px solid #e0e0e0;
    }

    /* Give the whole header a clean bottom border */
    .header-section.header-normal {
        padding-bottom: 0;
        border-bottom: 1px solid #f0f0f0;
    }
}

/* ============================================================
   MOBILE NAV v2 — polished logo + nav layout (≤ 991px)
   ============================================================ */
@media only screen and (max-width: 991px) {

    /* Header: matches page background, subtle bottom border */
    .header-section.header-normal {
        padding-bottom: 0 !important;
        background: #ffffff !important;
        border-bottom: 1px solid #e8e8e8 !important;
        box-shadow: none !important;
    }

    /* Stack logo + nav, centred */
    .header-section .col-lg-12 {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        padding: 0 !important;
    }

    /* Logo: balanced breathing room */
    .logo {
        float: none !important;
        margin-right: 0 !important;
        padding: 20px 0 6px !important;
    }

    /* Nav bar below logo — divider blends with page bg */
    .nav-menu {
        display: block !important;
        float: none !important;
        position: static !important;
        transform: none !important;
        width: 100% !important;
        border-top: 1px solid #e8e8e8;
    }

    /* Links row — full-width, even split */
    .nav-menu ul {
        display: flex !important;
        justify-content: center !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .nav-menu ul li {
        display: flex !important;
        align-items: stretch !important;
        margin-right: 0 !important;
        flex: 1 !important;
        justify-content: center !important;
    }

    /* Tappable links — uppercase micro-label style */
    .nav-menu ul li a {
        font-size: 11px !important;
        font-weight: 700 !important;
        letter-spacing: 2px !important;
        text-transform: uppercase !important;
        padding: 12px 16px !important;
        color: #666666 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 100% !important;
        min-height: 44px !important;
        border-bottom: 2px solid transparent !important;
        transition: color 0.2s, border-color 0.2s, background 0.2s !important;
    }

    .nav-menu ul li a:after {
        display: none !important;
    }

    /* Active state */
    .nav-menu ul li.active a {
        color: #660033 !important;
        border-bottom-color: #660033 !important;
        background: rgba(102, 0, 51, 0.04) !important;
    }

    /* Hover / focus state */
    .nav-menu ul li a:hover,
    .nav-menu ul li a:focus {
        color: #660033 !important;
        border-bottom-color: #660033 !important;
        background: rgba(102, 0, 51, 0.04) !important;
        outline: none !important;
    }

    /* Divider between nav items */
    .nav-menu ul li + li {
        border-left: 1px solid #ececec;
    }
}

/* ============================================================
   PORTFOLIO PAGE — replace bare white with neutral grey
   ============================================================ */
.portfolio-section.portfolio-page {
    background: #f5f5f5;
}

/* ============================================================
   MOBILE — Filter nav: consistent with desktop style
   ============================================================ */
@media only screen and (max-width: 991px) {

    /* ── Filter nav: match desktop inline text style ── */
    .filter-controls {
        margin-bottom: 28px !important;
        padding: 0 16px !important;
        text-align: center !important;
    }

    .filter-controls ul {
        display: flex !important;
        flex-wrap: wrap !important;
        justify-content: center !important;
        gap: 0 !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    .filter-controls ul li {
        display: inline-flex !important;
        align-items: center !important;
        margin-right: 0 !important;
        font-size: 13px !important;
        font-weight: 700 !important;
        letter-spacing: 1px !important;
        text-transform: uppercase !important;
        color: #888888 !important;
        background: none !important;
        border-radius: 0 !important;
        padding: 8px 18px !important;
        cursor: pointer !important;
        border: none !important;
        position: relative !important;
        transition: color 0.2s !important;
        white-space: nowrap !important;
    }

    /* Restore the "|" separators between items */
    .filter-controls ul li:after {
        display: block !important;
        position: absolute !important;
        right: -1px !important;
        top: 50% !important;
        transform: translateY(-50%) !important;
        content: "|" !important;
        color: #d7d7d7 !important;
        font-weight: 400 !important;
    }

    .filter-controls ul li:last-child:after {
        display: none !important;
    }

    .filter-controls ul li.active {
        color: #660033 !important;
        background: none !important;
        border: none !important;
    }

    .filter-controls ul li:hover {
        color: #660033 !important;
        background: none !important;
        border: none !important;
    }
}

/* ============================================================
   ALL GRID — Desktop: restore original 12-col grid layout
   (gr2 class is inert on desktop — no row overrides)
   ============================================================ */

/* ============================================================
   ALL GRID — Mobile: 2-column dynamic layout
   All images 2 per row; portraits keep 3:4 ratio side by side
   ============================================================ */
@media only screen and (max-width: 991px) {
    #allGrid.portfolio-filter {
        display: grid !important;
        grid-template-rows: unset !important;
        grid-auto-flow: row !important;
        grid-auto-columns: unset !important;
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 16px !important;
        overflow-x: visible !important;
        overflow-y: visible !important;
        padding-bottom: 0 !important;
        height: auto !important;
        align-items: stretch !important;
    }

    /* All items default: half width, 3:2 landscape */
    #allGrid.portfolio-filter .pf-item,
    #allGrid.portfolio-filter .pf-item.land-wide,
    #allGrid.portfolio-filter .pf-item.land-narrow,
    #allGrid.portfolio-filter .pf-item.mob-land {
        grid-column: span 1 !important;
        grid-row: unset !important;
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        aspect-ratio: 3 / 2 !important;
    }

    /* Portrait: side by side, 3:4 */
    #allGrid.portfolio-filter .pf-item.portrait {
        grid-column: span 1 !important;
        grid-row: unset !important;
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        aspect-ratio: 3 / 4 !important;
    }

    /* Solo full-width landscape */
    #allGrid.portfolio-filter .pf-item.mob-full {
        grid-column: 1 / -1 !important;
        aspect-ratio: 3 / 2 !important;
    }

    /* All images fill their cell */
    #allGrid.portfolio-filter .pf-item .pf-img {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
        display: block !important;
    }

    /*
       Mobile visual order (desktop HTML order stays unchanged):
       Row 1:  pf-1 + pf-5        landscape pair
       Row 2:  pf-11 + pf-18      portrait pair
       Row 3:  pf-6 + pf-12       landscape pair
       Row 4:  pf-7 + pf-22       landscape pair
       Row 5:  pf-2               solo wide
       Row 6:  pf-21 + pf-8       landscape pair
       Row 7:  pf-3 + pf-9        portrait pair
       Row 8:  pf-19 + pf-4       landscape pair
       Row 9:  pf-14              solo wide
       Row 10: pf-20 + pf-13      landscape pair
       Row 11: pf-23 + pf-15      landscape pair
       Row 12: pf-17              solo wide  ← moved here
       Row 13: pf-24 + pf-10      landscape pair
       Row 14: pf-25 + pf-16      landscape pair
    */
    /* nth-child = position in HTML source */
    #allGrid.portfolio-filter .pf-item:nth-child(1)  { order: 1; }  /* pf-1  → row 1 */
    #allGrid.portfolio-filter .pf-item:nth-child(2)  { order: 2; }  /* pf-5  → row 1 */
    #allGrid.portfolio-filter .pf-item:nth-child(3)  { order: 3; }  /* pf-11 → row 2 portrait */
    #allGrid.portfolio-filter .pf-item:nth-child(4)  { order: 23; } /* pf-17 → row 12 solo */
    #allGrid.portfolio-filter .pf-item:nth-child(5)  { order: 5; }  /* pf-6  → row 3 */
    #allGrid.portfolio-filter .pf-item:nth-child(6)  { order: 6; }  /* pf-12 → row 3 */
    #allGrid.portfolio-filter .pf-item:nth-child(7)  { order: 11; } /* pf-21 → row 6 */
    #allGrid.portfolio-filter .pf-item:nth-child(8)  { order: 9; }  /* pf-2  → row 5 solo */
    #allGrid.portfolio-filter .pf-item:nth-child(9)  { order: 4; }  /* pf-18 → row 2 portrait */
    #allGrid.portfolio-filter .pf-item:nth-child(10) { order: 7; }  /* pf-7  → row 4 */
    #allGrid.portfolio-filter .pf-item:nth-child(11) { order: 8; }  /* pf-22 → row 4 */
    #allGrid.portfolio-filter .pf-item:nth-child(12) { order: 13; } /* pf-3  → row 7 portrait */
    #allGrid.portfolio-filter .pf-item:nth-child(13) { order: 19; } /* pf-13 → row 10 */
    #allGrid.portfolio-filter .pf-item:nth-child(14) { order: 12; } /* pf-8  → row 6 */
    #allGrid.portfolio-filter .pf-item:nth-child(15) { order: 15; } /* pf-19 → row 8 */
    #allGrid.portfolio-filter .pf-item:nth-child(16) { order: 21; } /* pf-23 → row 11 */
    #allGrid.portfolio-filter .pf-item:nth-child(17) { order: 17; } /* pf-14 → row 9 solo */
    #allGrid.portfolio-filter .pf-item:nth-child(18) { order: 14; } /* pf-9  → row 7 portrait */
    #allGrid.portfolio-filter .pf-item:nth-child(19) { order: 16; } /* pf-4  → row 8 */
    #allGrid.portfolio-filter .pf-item:nth-child(20) { order: 18; } /* pf-20 → row 10 */
    #allGrid.portfolio-filter .pf-item:nth-child(21) { order: 22; } /* pf-15 → row 11 */
    #allGrid.portfolio-filter .pf-item:nth-child(22) { order: 25; } /* pf-24 → row 13 */
    #allGrid.portfolio-filter .pf-item:nth-child(23) { order: 26; } /* pf-10 → row 13 */
    #allGrid.portfolio-filter .pf-item:nth-child(24) { order: 28; } /* pf-16 → row 14 */
    #allGrid.portfolio-filter .pf-item:nth-child(25) { order: 27; } /* pf-25 → row 14 */
}

/* Mobile nav brand logo */
.slicknav_brand {
    display: flex;
    align-items: center;
    padding: 7px 12px;
    height: 44px;
}
.slicknav_brand img {
    height: 30px;
    width: auto;
}

/* Home page: header matches the grey portfolio section background */
body.page-home .header-section.header-normal {
    background: #f5f5f5 !important;
}
