:root {
	--vh: calc(100vh / 1px);
	--vw: calc(100vw / 1px);

	--bg-dark: #121212;
	--bg-primary: #5B6D92;
	--bg-primary-subtle: rgba(91, 109, 146, .32);
	--border-dark: #121212;
	--border-primary-subtle: rgba(91, 109, 146, .24);
	--link-dark: #121212;
	--link-primary: #5B6D92;
	--link-white: #FFFFFF;
	--text-body: #28333E;
	--text-dark: #121212;
	--text-primary: #5B6D92;
}

a {
	color: var(--link-dark) !important;
	transition: color .15s ease-in-out;
}

a.lg > .img-fluid {
	transition: box-shadow .15s ease-in-out;
}

a:not(.lg)::before {
	background-color: var(--bg-dark);
	bottom: 0;
	content: "";
	height: 0.125rem;
	left: 0;
	position: absolute;
	width: 100%;
	transform: scaleX(0);
	transform-origin: right;
	transition: transform .15s ease-in-out;
	z-index: -1;
}

a.active, 
a:focus-visible, 
a:hover {
	color: var(--link-primary) !important;
}

a:focus-visible, 
.navbar .navbar-toggler:focus {
	box-shadow: none !important;
	outline: 0.125rem solid var(--border-primary-subtle) !important;
	outline-offset: 0.25rem;
}

a.lg:focus-visible > .img-fluid, 
a.lg:hover > .img-fluid {
	box-shadow: none;
	transition: box-shadow .15s ease-in-out;
}

a.active::before, 
a:focus-visible::before, 
a:hover::before {
	background-color: var(--bg-primary);
	transform: scaleX(1);
	transform-origin: left;
}

body {
	color: var(--text-body);
	font-family: "Inter", sans-serif;
}

.bg-primary-subtle {
	background-color: var(--bg-primary-subtle);
}

.bi::before, 
[class^="bi-"]::before, 
[class*=" bi-"]::before {
	display: inline-block;
	font-family: bootstrap-icons !important;
	font-style: normal;
	font-variant: normal;
	font-weight: normal !important;
	text-transform: none;
	vertical-align: -0.156rem;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.bi-facebook::before {
	content: "\f344";
}

.bi-instagram::before {
	content: "\f437";
}

.bi-twitter-x::before {
	content: "\f8db";
}

.border-primary-subtle {
	border-color: var(--border-primary-subtle) !important;
}

.card {
	border-bottom-width: 0.125rem !important;
	border-color: var(--border-primary-subtle) !important;
	color: var(--text-body);
}

.container-lg, 
.gx-64px {
	--bs-gutter-x: 4rem;
}

.fancybox__caption {
	align-self: flex-end;
	color: var(--text-body);
	padding: 2rem 0;
}

.fs-4 {
	font-size: 1.5rem !important;
}

.fs-64px {
	font-size: 4rem;
}

.hr {
    width: 2rem;
    height: 0.125rem;
    background-color: var(--bg-primary-subtle);
}

.lg-backdrop {
	background: rgba(255, 255, 255, .96);
	backdrop-filter: blur(0.25rem) !important;
	z-index: 980;
}

.lg-outer, 
.lg-outer .lg .lg-item {
	z-index: 980;
}

.lg-outer .lg {
	overflow: inherit;
}

.lg-outer .lg .lg-actions .lg-icon, 
.lg-outer .lg .lg-sub-html, 
.lg-outer .lg .lg-toolbar {
	background-color: transparent;
	z-index: 980;
}

.lg-outer .lg .lg-actions .lg-next, 
.lg-outer .lg .lg-actions .lg-prev, 
.lg-outer .lg .lg-toolbar .lg-close {
	border-radius: 0;
	color: var(--link-dark);
	font-size: 1.25rem;
	height: 2rem;
	left: 0;
	margin-top: -2.25rem;
	padding: 0;
	transition: color .15s ease-in-out;
	width: 2rem;
}

.lg-outer .lg .lg-actions .lg-next {
	left: auto;
	right: 0;
}

.lg-outer .lg .lg-actions .lg-next:focus-visible, 
.lg-outer .lg .lg-actions .lg-next:hover, 
.lg-outer .lg .lg-actions .lg-prev:focus-visible, 
.lg-outer .lg .lg-actions .lg-prev:hover, 
.lg-outer .lg .lg-toolbar .lg-close:focus-visible, 
.lg-outer .lg .lg-toolbar .lg-close:hover {
	color: var(--link-white);
	transition: color .15s ease-in-out;
}

.lg-outer .lg .lg-actions .lg-next::before, 
.lg-outer .lg .lg-actions .lg-prev::before, 
.lg-outer .lg .lg-toolbar .lg-close::before {
	background-color: var(--bg-dark);
	bottom: 0;
	content: "";
	height: 100%;
	left: 0;
	position: absolute;
	width: 100%;
	transform: scaleX(0);
	transform-origin: right;
	transition: transform .15s ease-in-out;
	z-index: -1;
}

.lg-outer .lg .lg-actions .lg-next:focus-visible::before, 
.lg-outer .lg .lg-actions .lg-next:hover::before, 
.lg-outer .lg .lg-actions .lg-prev:focus-visible::before, 
.lg-outer .lg .lg-actions .lg-prev:hover::before, 
.lg-outer .lg .lg-toolbar .lg-close:focus-visible::before, 
.lg-outer .lg .lg-toolbar .lg-close:hover::before {
	background-color: var(--bg-primary);
	transform: scaleX(1);
	transform-origin: left;
}

.lg-outer .lg .lg-image, 
.shadow-xl {
	box-shadow: 1.25rem 1.375rem 2.75rem 0rem rgba(0, 0, 0, .24);
}

.lg-outer .lg .lg-img-wrap {
	padding: 0;
	position: relative;
}

.lg-outer .lg .lg-item {
	padding: 10.25rem 0 11.75rem 0;
}

.lg-outer .lg .lg-sub-html {
	color: var(--text-body);
	display: flex;
	padding: 2rem 0;
	position: absolute;
	text-align: start;
}

.lg-outer .lg .lg-toolbar {
	top: 6.25rem;
}

.lg-outer .lg .lg-toolbar  #lg-counter {
	color: var(--text-body);
	padding: 0.25rem 0;
}

.lg-outer .lg .lg-toolbar .lg-close {
	margin-top: 0;
	position: relative;
}

.mb-32px, 
.my-32px {
	margin-bottom: 2rem;
}

.mh-192px {
	max-height: 12rem;
}

.ms-32px {
	margin-left: 2rem;
}

.mt-32px, 
.my-32px {
	margin-top: 2rem;
}

.navbar a {
	z-index: 990;
}

.navbar .list-inline a {
	color: var(--link-dark) !important;
	line-height: 2rem;
	transition: color .15s ease-in-out;
	width: 2rem;
}

.navbar .list-inline a::before {
	height: 100%;
}

.navbar .list-inline a.active, 
.navbar .list-inline a:focus-visible, 
.navbar .list-inline a:hover {
	color: var(--link-white) !important;
}

.navbar .list-inline a:focus-visible, 
.navbar .list-inline a:hover {
	transition: color .15s ease-in-out;
}

.navbar .navbar-toggler {
	z-index: 990;
}

.navbar .navbar-toggler .navbar-toggler-icon {
	background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2818, 18, 18, 1%29' stroke-linecap='square' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

.navbar .navbar-toggler:focus-visible .navbar-toggler-icon {
	background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2891, 109, 146, 1%29' stroke-linecap='square' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

.navbar #lang.list-inline .list-inline-item:first-child::after {
	content: "/" / "";
	margin-left: 1rem;
	position: relative;
	z-index: 990;
}

.p-32px, 
.pb-32px, 
.py-32px {
	padding-bottom: 2rem;
}

.p-32px, 
.pe-32px, 
.px-32px {
	padding-right: 2rem;
}

.p-32px, 
.px-32px {
	padding-left: 2rem;
}

.p-32px, 
.pt-32px, 
.py-32px {
	padding-top: 2rem;
}

.table > :not(caption) > * > * {
	background-color: transparent;
	border-bottom-width: 0.125rem;
	box-shadow: none;
	color: var(--text-body);
	padding: 2rem 1rem;
}

.table > :not(caption) > * > *:first-child {
	padding-left: 0;
}

.table > :not(caption) > * > *:last-child {
	padding-right: 0;
}

.text-dark {
	color: var(--text-dark) !important;
}

.text-primary {
	color: var(--text-primary) !important;
}

.top-32px {
	top: 2rem;
}

.vr {
    height: 4rem;
    width: 0.125rem;
    background-color: var(--bg-primary-subtle);
}

#bg-gradient-home {
	background: linear-gradient(180deg, rgba(255, 255, 255, .64) 40%, rgba(255, 255, 255, 0) 80%);
	height: max(16rem, 16vw);
}

#bg-home {
	background-image: url("../img/home.webp");
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
}

#bg-home #bg-bw-home {
	background-image: url("../img/bw-home.svg");
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	left: calc(var(--vw) * -1px);
	mix-blend-mode: color;
	width: calc(var(--vw) * 2px);
}

#bg-signature {
	background-image: url("../img/signature.png");
	background-position: 100% 0;
	background-repeat: no-repeat;
	background-size: contain;
	min-height: 4rem;
}

#collective-exhibitions > tbody > tr:hover > td .mh-192px, 
#personal-exhibitions > tbody > tr:hover > td .mh-192px {
	transition: .3s ease-in-out;
	transition-behavior: allow-discrete;
}

#works .img-fluid:hover {
	box-shadow: 1.25rem 1.375rem 2.75rem 0rem rgba(0, 0, 0, .24);
	opacity: 1;
	transition: .3s ease-in-out;
	transition-behavior: allow-discrete;
} 

#works-menu {
	display: inherit;
	transition: .15s ease-in-out;
	transition-behavior: allow-discrete;
	transition-delay: .15s;
	visibility: hidden;
	z-index: -1;
}

#works-menu.show {
	transition-delay: 0s;
	visibility: visible !important;
	z-index: 980;
}

#works-menu .inner-works-menu {
	left: 50%;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
}

#works-menu .inner-works-menu li {
	opacity: 0;
}

#works-menu.show .inner-works-menu li {
	opacity: 1;
	transition: opacity .3s ease-in-out;
	transition-delay: .15s;
}

@media (min-width: 1200px) {
	.masonry-item {
		width: 25%;
	}
}

@media (min-width: 992px) {
	.lg-outer .lg .lg-img-wrap {
		padding: 0 8rem;
	}

	.lg-outer .lg .lg-item {
		padding-top: 6.25rem;
	}

	.lg-outer .lg .lg-toolbar {
		margin-top: -5.25rem;
		top: 50%;
	}

	.mx-lg-32px {
		margin-right: 2rem;
		margin-left: 2rem;
	}

	.my-lg-n32px {
		margin-bottom: -2rem;
		margin-top: -2rem;
	}

	.navbar .navbar-collapse {
		transition: none;
	}

	.opacity-16 {
		opacity: .16;
	}

	.ps-lg-32px {
		padding-left: 2rem !important;
	}

	#bg-signature {
		min-height: 16rem;
	}

	#works-menu.show {
		background: rgba(255, 255, 255, .96);
		backdrop-filter: blur(0.25rem) !important;
	}

	#works-menu .inner-works-menu {
		top: calc(50% + 2.188rem);
	}
}

@media (min-width: 992px) and (max-width: 1199.98px) {
	.masonry-item {
		width: 33.33333333%;
	}
}

@media (min-width: 768px) and (max-width: 991.98px) {
	.masonry-item {
		width: 50%;
	}
}

@media (max-width: 991.98px) {
	.lg-outer .lg .lg-actions {
		display: none;
	}

	.navbar .navbar-collapse {
		display: inherit;
		height: 100%;
		position: fixed;
		left: 0;
		top: 0;
		transition: .15s ease-in-out;
		transition-behavior: allow-discrete;
		transition-delay: .15s;
		visibility: hidden;
		width: 100%;
		z-index: -1;
	}

	.navbar .navbar-collapse.show {
		background: rgba(255, 255, 255, .96);
		backdrop-filter: blur(0.25rem) !important;
		transition-delay: 0s;
		visibility: visible;
		z-index: 985;
	}
	
	.navbar .navbar-collapse .inner-main-menu {
		left: 50%;
		position: absolute;
		top: calc(50% + 2.25rem);
		transform: translate(-50%, -50%);
	}

	.navbar .navbar-collapse .inner-main-menu > .fs-4 {
		font-size: 4rem !important;
	}

	.navbar .navbar-collapse .inner-main-menu ul li {
		opacity: 0;
	}

	.navbar .navbar-collapse.show .inner-main-menu ul li {
		opacity: 1;
		transition: opacity .3s ease-in-out;
		transition-delay: .15s;
	}

	.navbar .navbar-collapse.show:has(#works-menu.show) .inner-main-menu > ul > li > a {
		visibility: hidden;
	}
}

@media (max-width: 767.98px) {
	.masonry-item {
		width: 100%;
	}

	#mountain-white-shadow {
		max-width: 16rem;
	}
}

*:focus:not(:focus-visible) {
	outline: none;
}

:heading {
	text-wrap: balance;
}

p {
	text-wrap: pretty;
}
