body,
html {
	font-family: 'Playfair Display', serif;
	text-rendering: optimizeLegibility !important;
	-webkit-font-smoothing: antialiased !important;
	color: #555;
	font-weight: 400;
	width: 100% !important;
	height: 100% !important;
}

h1 {
	color: #333;
	font-size: 64px;
	font-weight: 800;
	margin-top: 0;
	text-transform: uppercase;
	margin-bottom: 10px;
}

h2 {
	margin: 0 0 20px 0;
	font-weight: 700;
	font-size: 42px;
	color: #333;
	text-transform: uppercase;
}

h3 {
	font-size: 18px;
	text-transform: uppercase;
	margin-bottom: 20px;
}

h4 {
	font-size: 14px;
	letter-spacing: 1px;
	margin-bottom: 20px;
	text-transform: uppercase;
}

h5 {
	text-transform: uppercase;
	font-weight: 700;
	line-height: 20px;
}

p.intro {
	margin: 12px 0 0;
	line-height: 24px;
}

a {
	color: #222;
}

a:hover,
a:focus {
	text-decoration: none;
	color: #000;
}

ul,
ol {
	list-style: none;
}

ul,
ol {
	padding: 0;
}

#filters ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	margin: 0;
	padding: 0;
}

#filters ul li {
	display: flex;
	align-items: center;
}

#filters ul li + li::before {
	content: '☩';
	color: #c0180b;
	font-size: 14px;
	margin: 0 15px;
	opacity: 0.85;
}

#filters ul li a {
	cursor: pointer;
}

#filters ul li a h5 {
	border: none !important;
	border-bottom: 2px solid transparent !important;
	color: #5a4a3a !important;
	background: transparent !important;
	font-weight: 700;
	font-size: 13px;
	padding: 2px 2px;
	margin: 0;
	transition: all 0.3s ease;
	position: relative;
	z-index: 1;
	letter-spacing: 1px;
}

#filters ul li a:hover h5 {
	background: transparent !important;
	color: #8b251d !important;
}

#filters ul li a.active h5 {
	background: transparent !important;
	color: #c0180b !important;
	border-bottom: 2px solid #c0180b !important;
}

hr {
	height: 6px;
	width: 70px;
	position: relative;
	background: #444;
	margin-bottom: 20px;
	margin-left: 0;
	border: 0;
}

.btn:active,
.btn.active {
	background-image: none;
	outline: 0;
	-webkit-box-shadow: none;
	box-shadow: none;
}

a:focus,
.btn:focus,
.btn:active:focus,
.btn.active:focus,
.btn.focus,
.btn:active.focus,
.btn.active.focus {
	outline: none;
	outline-offset: none;
}

.section-title {
	margin-bottom: 50px;
}

.btn-custom {
	font-family: 'Playfair Display', serif;
	text-transform: uppercase;
	color: #444;
	background-color: transparent;
	border: 2px solid #444;
	padding: 14px 20px;
	margin: 0;
	font-size: 14px;
	border-radius: 0;
	margin-top: 20px;
	margin-right: 30px;
	transition: all 0.5s;
}

.btn-custom:hover,
.btn-custom:focus,
.btn-custom.focus,
.btn-custom:active,
.btn-custom.active {
	color: #eee;
	background-color: #444;
}

/* Header Section */
#gallery.intro {
	display: table;
	width: 100%;
	height: 100vh;
	padding: 0;
	/* background: url(../img/intro-bg.jpg) center center no-repeat; */
	background-image: linear-gradient(to right, rgba(12, 2, 28, 0.9), rgba(179, 185, 212, 0.1)), url(../img/IMG_2245_blur.jpg);
	background-color: #e5e5e5;
	-webkit-background-size: cover;
	-moz-background-size: cover;
	background-size: cover;
	-o-background-size: cover;
}

.header-btn-container {
	padding-top: 3em;
	margin-left: 30%;
}

.btn-hdr {
	/* box-shadow: 3px 3px 3px black; */
	background: transparent;
	border: 2px solid #fff;
	color: #fff;
}

.intro .fa {
	font-size: 94px;
	margin-bottom: 40px;
	color: #fff;
}

.intro p {
	color: #444;
	margin: 10px 0 20px 0;
	font-size: 22px;
}

header .intro-text {
	padding-top: 250px;
	padding-bottom: 200px;
}

.logo img {
	width: 220px;
	margin-left: 5em;
	padding-left: 1em;
	/* border: none; */
}

.logo {
	margin-top: 7%;
}

.page-scroll {
	color: #222 !important;
}

/* Portfolio Section */
#portfolio-wrap {
	width: 100%;
}

.row-img {
	display: block;
	column-count: 4;
	column-gap: 8px;
	padding: 0 4px;
	width: 90%;
	margin-bottom: 30px;
}

/* Optional invisible weight for left-heavy bias, kept very minimal to prevent bottom padding */
.row-img::after {
	content: "";
	display: block;
	height: 20px; 
	break-inside: avoid;
}

.column {
	display: contents;
}

.portfolio-item {
	break-inside: avoid;
	margin-bottom: 8px;
}

.portfolio-item img {
	margin-top: 0px;
	vertical-align: middle;
	width: 100%;
	padding: 10px;
}

/* Responsive layout - makes a three column-layout instead of four columns */
@media screen and (max-width: 992px) {
	.row-img {
		column-count: 3;
	}
}

/* Responsive layout - makes a two column-layout */
@media screen and (max-width: 800px) {
	.row-img {
		column-count: 2;
	}
}

/* Responsive layout - makes the columns stack on top of each other */
@media screen and (max-width: 480px) {
	.row-img {
		column-count: 1;
	}
}

.visible {
	display: block;
}

.hidden {
	display: none;
}

#atelier-expand {
	background: #ede6da;
}

#atelier-expand .container {
	width: 90%;
	padding-top: 6em;
}

#filters {
	margin-left: 0;
	margin-top: 30px;
	margin-bottom: 30px;
}

#portfolio {
	padding: 20px 0 30px 0;
}

.categories {
	margin-bottom: 50px;
}

ul li {
	cursor: pointer;
}

ul.cat li {
	display: inline-block;
}

ol.type li {
	display: inline-block;
	margin-right: 20px;
}

ol.type li a {
	font-family: 'Montserrat', sans-serif;
	color: #5a4a3a;
	font-size: 14px;
	padding: 10px 20px;
	border: 2px solid #8b7b6b;
	border-radius: 0;
	text-transform: uppercase;
	transition: all 0.3s ease;
}

ol.type li a.active {
	background: #5a1a1a;
	border-color: #5a1a1a;
	color: #fff;
}

ol.type li a:hover {
	background: #8b7b6b;
	border-color: #8b7b6b;
	color: #fff;
}

.portfolio-item {
	margin: 10px 0;
	-webkit-transition: all 0.5s ease-out;
	-moz-transition: all 0.5s ease-out;
	-ms-transition: all 0.5s ease-out;
	-o-transition: all 0.5s ease-out;
	transition: all 0.5s ease-out;
}

.portfolio-item .hover-bg {
	overflow: hidden;
	position: relative;
}

.hover-bg .hover-text {
	position: absolute;
	text-align: center;
	margin: 0 auto;
	color: #333;
	background: rgba(255, 255, 255, 0.75);
	height: 100%;
	width: 100%;
	opacity: 0;
	transition: all 0.5s;
}

.hover-bg .hover-text .overlay-caption {
	display: table;
	height: 100%;
	width: 100%;
}

.hover-bg .hover-text .overlay-caption .overlay-content {
	display: table-cell;
	vertical-align: middle;
}

.hover-bg:hover .hover-text {
	opacity: 1;
}

.lb-data .lb-number {
	display: none !important;
}


.big-icon img {
	width: 300px;

}

@media screen and (min-width: 1800px) {
	.logo {
		margin-top: 18%;
	}

	.header-btn-container {
		padding-top: 5em;
		margin-left: 40%;
	}

	#atelier-expand .container {
		width: 70%;
		padding-top: 6em;
	}
}

@media screen and (max-width: 768px) {
	.intro {
		height: 700px;
	}

	.logo-container {
		flex-direction: column;
		margin-top: 40%;
	}

	.logo img {
		width: 200px;
		margin-left: 27%;
	}

	.header-btn-container {
		padding-top: 3em;
	}

	.btn-hdr {
		margin-left: 10%;
	}

	#atelier-expand .container {
		width: 100%;
		padding-top: 6em;
	}

	#filters ul li + li::before {
		margin: 0 6px;
		font-size: 10px;
	}

	#filters ul li a h5 {
		font-size: 11px;
		padding: 2px 2px;
		letter-spacing: 0px;
	}
}

/* Footer Section*/
section {
	min-height: 100vh;
	margin-bottom: -150px;
}

.push {
	height: 150px;
}