body { padding-top: 4em; }
body.home { padding-top: 0; }

.page-title {
	margin-top: 1em;
	margin-bottom: .6em;
	font-size: 3em;
	color: #333;
	text-transform: uppercase;
	font-weight: normal;
}


/* menu */

.main-nav {
	background: rgba(0, 0, 0, 0.7);
	color: #fff;
	width: 100%;
	height: 4em;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 9;
}

.gal {
	background: rgba(0, 0, 0, 0.6);
}

.main-nav li { line-height: 4em; }

.main-nav a { text-decoration: none; }

.main-menu a { 
	padding: .6em 1.5em; 
	font-weight: 400; 
	border-radius: .4em;
	transition: .3s;
	text-transform: uppercase;
}

.main-menu .active a { background: #48f; }
.main-menu li:not(.active) a:hover { color: #48f; } 

.social-menu li:not(:last-child) { margin-right: 1.2em; }
.social-menu a { font-size: 1.2em; }

.menu-toggle { display: none; }


/* banner */

.banner {
	height: 100vh;
	background: #222 url('../img/banner.jpg') no-repeat center fixed;
	background-size: cover;
	position: relative;
}

.logo {
	width: 600px;
	height: 450px;
	object-fit: contain;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

.logo-nav {
	height: 2.5em;
	object-fit: contain;
	position: absolute;
	left: 50%;
	top: 45%;
	transform: translate(-50%, -50%);
}

/* categories */

.categories {
	background: #111;
}

.categories-heading {
	color: #ddd;
	text-align: center;
}

.categories-boxes {
	text-align: center;
}

.categories-box {
	display: inline-block;
	width: 32%;
	height: 35em;
	margin-right: calc(2% - 6px);
	margin-top: 2em;
	position: relative;
	overflow: hidden;
}

.categories-box:nth-child(1), 
.categories-box:nth-child(2), 
.categories-box:nth-child(3) {  
  margin-top: 0;
}

.categories-box:nth-child(3n) {  
  margin-right: 0;
}

.categories-box img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.categories-box-description {
	position: absolute;
	width: 80%;
	height: 85%;
	z-index: 2;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	text-align: center;
	border: #fff solid 1px;
	color: #fff;
	letter-spacing: 0.2em;
	transition: .8s;
}

.categories-box-description:hover {
	background: #f7f7f7;
	color: #333;
}

.categories-box-description h2 {
	font-weight: 400;
	text-transform: uppercase;
	position: absolute;
	top: 10%;
	width: 100%;
	text-align: center;
}

.categories-box-description p {
	position: absolute;
	top: 50%;
	transform: translate(0, -50%);
	width: 100%;
	text-align: center;
}

.categories-box-description a {
	text-decoration: none;
	border: #fff solid 1px;
	padding: 0.8em 3em;
	position: absolute;
	bottom: 10%;
	transform: translate(-50%, 0);
}

.categories-box-description:hover a {
	border: #333 solid 1px;
}

.categories-box-description a:hover {
	background: #333;
	color: #f7f7f7;
	transition: .3s;
}

/* about */

.about-portrait {
	width: 30%;
	margin-left: 5em;
	float: left;
}

.about-biography {
	width: 30%;
	margin-left: 4em;
	float: left;
}

.about-biography-heading {
	font-weight: 400;
	font-size: 2.5em;
	margin-bottom: 0.3em;
}

.about-biography-motto {
	font-weight: 400;
	font-size: 1.8em;
	color: #777;
	margin-bottom: 1.5em;
}

.about-biography-motto:before,
.about-biography-motto:after {
	content: '"';
}

.about-biography-text {
	text-align: justify;
	font-size: 1.2em;
	line-height: 1.5em;
}

.about-biography-facts {
	margin-top: 4em;
}

.about-biography-fact {
	width: 32%;
	margin-right: 2%;
	text-align: center;
	font-size: 1.1em;
}

.about-biography-fact i {
	font-size: 1.6em;
	margin-bottom: .3em;
	color: #777;
}

.about-biography-fact:nth-child(3) {  
  margin-right: 0;
}

/* contact */

.contact {
	background: #111;
}

.contact-info {
	margin: 0 auto;
}

.contact-info-list {
	list-style: none;
	text-align: center;
	padding: 1em;
}

.contact-info-list li {
	text-decoration: none;
	margin: 0.5em 0;
	color: #fff;
	font-size: 1.2em;
	font-weight: 400;
}


/* albums */

body.album .main-nav,
body.albums .main-nav { background: #222; }

body.album .albums-wrapper,
body.album .photos-wrapper,
body.albums .albums-wrapper,
body.albums .photos-wrapper { padding-bottom: 5em; }

body.albums .album {
	display: inline-block;
	width: 23.5%;
	height: 26em;
	margin-right: calc(2% - 6px);
	margin-bottom: 2em;
	position: relative;
	overflow: hidden;
	background: #222;
	color: #fff;
}

body.albums .album img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

body.albums .album-content {
	border: 1px solid #fff;
	position: absolute;
	z-index: 4;
	width: 84%;
	height: 84%;
	top: 8%;
	left: 8%;
	text-align: center;
	letter-spacing: .2em;
	transition: .8s;
}

body.albums .album:hover .album-content {
	background: rgba(255, 255, 255, 0.8);
	color: #222;
}

body.albums .album:hover .album-content a {
	border: 1px solid #222;
}

body.albums .album-content h2 {
	margin-top: 1.5em;
	text-transform: uppercase;
	font-weight: normal;
}

body.albums .album-content a {
	position: absolute;
	bottom: 2em;
	transform: translate(-50%, 0);
	border: 1px solid #fff;
	padding: .6em 1.4em;
	text-decoration: none;
	transition: .3s;
}

body.albums .album-content a:hover {
	background: #222;
	color: #fff;
}

.gallery .photos {
	display: flex;
	flex-wrap: wrap;
	gap: 1em;
}

.gallery .photos:after {
    content: "";
    flex: 99999 1 auto;
}

.gallery img {
	flex: 1;
	height: 260px;
	object-fit: cover;
}

/* .gallery .photos {
	display: grid;
	grid-template-columns: repeat(3, 260px);
	grid-template-rows: repeat(3, 260px);
	grid-auto-flow: dense;
	
	display: grid;
	grid-template-columns: repeat(auto-fit, 260px);
	grid-auto-flow: dense;
	grid-gap: 1em;
}

.gallery img {
	width: 100%;
	width: auto;
	height: 300px;
	margin-right: 1em;
	margin-bottom: 1em;
	object-fit: cover;
	cursor: pointer;
} */


/* MEDIA QUERIS */

@media (max-width: 1700px) {
	.about-portrait {
		width: 32%;
	}
}

@media (max-width: 1600px) {
	.about-portrait {
		width: 34%
	}
}

@media (max-width: 1550px) {
	.about-bigraphy {
		width: 35%;
	}
}

@media (max-width: 1500px) {
	.about-portrait {
		width: 36%
	}
}

@media (max-width: 1440px) {
	.about-portrait {
		width: 40%;
	}
}

@media (max-width: 1370px) {
	.about-biography {
		width: 40%
	}
}

@media (max-width: 1328px) {
	.categories-description p {
		margin-bottom: 10em;
	}
}

@media (max-width: 1250px) {
	.about-portrait {
		width: 44%
	}
}

@media (max-width: 1124px) {
	 .about-portrait {
		margin-left: 3em;
		width: 46%;
	}
}

@media (max-width: 1080px) {

	.page-title { text-align: center; }

	body.albums .album,
	.categories-box {
		width: 48%;
		margin-right: 2%
	}

	body.albums .album:nth-child(2n),
	.categories-box:nth-child(2n) {  
  		margin-right: 0;
	}

	body.albums .album:nth-child(3n),
	.categories-box:nth-child(3n) {  
  		margin-right: 2%;
	}

}

@media (max-width: 999px) {
	.about {
		text-align: center;
	}

	.about-portrait {
		width: 80%;
		float: none;
		margin: 0 auto;
		margin-bottom: 2em;
	}

	.about-biography {
		width: 80%;
		float: none;
		margin: 0 auto;
		display: block;
	}
}

@media (max-width: 874px) {
	.about {
		float: none;
		text-align: center;
	}
}

@media (max-width: 700px) {
	.banner {
		/* background: #222 url('../img/banner-mobile.jpg') no-repeat top center fixed; */
		background-position-x: 30%;
	}

	.logo {
		width: 320px;
		height: 320px;
	}

	.container {
		width: 100%;
	}

	body.albums .container { text-align: center; }

	body.albums .album,
	.categories-box {
		width: 80%;
		margin-right: 0;
		margin-bottom: 2em;
		margin-top: 0;
	}

	body.albums .album:nth-child(3n),
	.categories-box:nth-child(3n) {  
  		margin-right: 0;
	}

	body.albums .album:last-child,
	.categories-box:last-child {
		margin-bottom: 0;
	}

	.menu-toggle {
		display: block;
		font-size: 1.5em;
		position: absolute;
		top: 50%;
		transform: translate(0, -50%);
		left: 5%;
	}

	.social-menu {
		margin-right: 5%;
	}

	.main-menu {
		position: absolute;
		top: 4em;
		background: rgba(0,0,0,0.8);
		width: 100%;
		height: 100vh;
		text-align: center;
		padding: 3em 7em 1em;
		display: none;
	}

	.main-menu li { 
		float: none; 
		/* border-bottom: 2px dashed #555; */
	}

	body.album .photos-wrapper { text-align: center; }
	body.album .photos-wrapper img {
		width: 80%;
		height: auto;
	}
}

