:root {
	/* Padding/Margins */
	--site-padding-left: 0.65rem;
	--horiztonal-padding-top: 68%;
	--vertical-padding-top: 136%;

	/* Typography */
	--font-serif: normal 400 1em/1.6 "webMrsEaves", serif;
	--font-sans-serif: normal 400 1em/1.6 "Lato", sans-serif;
	/* Colors */
	--color-black: #000;
	--color-white: #fff;
	--color-orange: #ff7120;
	--color-green: rgb(65, 74, 74);

	/* Transitions */
	--barba-transition-timing: 1.05s;
}
@media screen and (min-width: 40em) {
	:root {
		--site-padding-left: 2rem;
		--barba-transition-timing: 1.35s;
	}
}

/*--------------------------------------------------------------
## Animations
--------------------------------------------------------------*/

@keyframes fadein {
	0% {
		opacity: 0.3;
	}

	50% {
		opacity: 1;
	}

	100% {
		opacity: 0.3;
	}
}

@-webkit-keyframes fadein {
	0% {
		opacity: 0.3;
	}

	50% {
		opacity: 1;
	}

	100% {
		opacity: 0.3;
	}
}

@-moz-keyframes fadein {
	0% {
		opacity: 0.3;
	}

	50% {
		opacity: 1;
	}

	100% {
		opacity: 0.3;
	}
}

@-o-keyframes fadein {
	0% {
		opacity: 0.3;
	}

	50% {
		opacity: 1;
	}

	100% {
		opacity: 0.3;
	}
}

@-webkit-keyframes bounce {
	0% {
		-webkit-transform: translateY(0) rotate(45deg);
		transform: translateY(0) rotate(45deg);
	}

	88% {
		-webkit-transform: translateY(0) rotate(45deg);
		transform: translateY(0) rotate(45deg);
	}

	91% {
		-webkit-transform: translateY(-0.25em) rotate(45deg);
		transform: translateY(-0.25em) rotate(45deg);
	}

	94% {
		-webkit-transform: translateY(0.15em) rotate(45deg);
		transform: translateY(0.15em) rotate(45deg);
	}

	97% {
		-webkit-transform: translateY(-0.1em) rotate(45deg);
		transform: translateY(-0.1em) rotate(45deg);
	}

	100% {
		-webkit-transform: translateY(0) rotate(45deg);
		transform: translateY(0) rotate(45deg);
	}
}

@keyframes bounce {
	0% {
		-webkit-transform: translateY(0) rotate(45deg);
		transform: translateY(0) rotate(45deg);
	}

	88% {
		-webkit-transform: translateY(0) rotate(45deg);
		transform: translateY(0) rotate(45deg);
	}

	91% {
		-webkit-transform: translateY(-0.25em) rotate(45deg);
		transform: translateY(-0.25em) rotate(45deg);
	}

	94% {
		-webkit-transform: translateY(0.15em) rotate(45deg);
		transform: translateY(0.15em) rotate(45deg);
	}

	97% {
		-webkit-transform: translateY(-0.1em) rotate(45deg);
		transform: translateY(-0.1em) rotate(45deg);
	}

	100% {
		-webkit-transform: translateY(0) rotate(45deg);
		transform: translateY(0) rotate(45deg);
	}
}

/*--------------------------------------------------------------
# Transitions
--------------------------------------------------------------*/
.transition-out #primary-container:first-child main {
	transform: translate3d(0, 0, 0);
	filter: blur(5px);
	transition: filter 0.48s ease-in;
}
#primary-container.hidden {
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	width: 100%;
	min-height: 100vh;
	min-height: 100svh;
}

/*--------------------------------------------------------------
# Components
--------------------------------------------------------------*/

body {
	font-size: 17px;
	color: #000;
	font: var(--font-serif);
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
	transition: background-color 1s cubic-bezier(0.36, 0.4, 0.56, 0.73);
}

main {
	opacity: 0;
	position: relative;
	min-height: 100vh;
	min-height: 100svh;
}
.wp-admin main {
	opacity: 1;
}

.page-loaded main {
	opacity: 1;
	transition: opacity 1s ease;
}
body:not(.transition-out) #primary-container {
	transition: opacity 0.75s ease;
}
body:not(.transition-out).navigation-toggled #primary-container {
	opacity: 0.1 !important;
	transition: opacity 0.85s 0.05s ease;
}

h3 {
	font-size: 1em;
	margin-top: 0;
}
body h4 {
	font-size: 1rem;
	margin: 1rem 0 0;
	line-height: 1;
	display: block;
	margin: 1.6rem 0 0.1em;
	color: #fff;
	font-style: italic;
	text-transform: capitalize;
}
body p {
	margin-top: 0;
}
ul {
	list-style: none;
	padding: 0;
	margin: 0;
}
li {
	list-style: none;
	line-height: 1.4;
}

.the-content-container {
	margin: 0 0 1.5em;
}
.use-sequential-loading .grid-item {
	opacity: 0;
}
.use-sequential-loading .grid-item.item-loaded {
	opacity: 1;
	transition-property: opacity;
	transition-duration: 0.84s;
}

.image-holder:has(.ratio) {
	position: relative;
	width: 100%;
	height: auto;
	margin: 0;
	transition: opacity 0.45s ease;
}
.image-holder.is-horizontal .ratio {
	padding-top: var(--horiztonal-padding-top);
}
.image-holder.is-vertical .ratio {
	padding-top: var(--vertical-padding-top);
}
.image-holder .ratio img {
	display: block;
	position: absolute;
	height: 100%;
	width: 100%;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	-o-object-fit: cover;
	object-fit: cover;
	font-family: "object-fit: cover;";
}

.link-to {
	position: relative;
}
.link-to a {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	height: auto;
	width: 100%;
	z-index: 100;
}
.site-branding {
	position: relative;
	max-width: 12rem;
}
@media screen and (min-width: 40em) {
	.site-branding {
		max-width: 16rem;
	}
	.site-branding .link-to a {
		position: absolute;
		width: 100%;
	}
}

.page-inset main {
	padding: 9.55rem 0.25rem 0 2rem;
}
@media screen and (min-width: 500px) {
	.page-inset main {
		padding: 5.5rem 0.5rem 0 2rem;
	}
}
@media screen and (min-width: 40em) {
	.page-inset main {
		padding: 9.3rem 1rem 0 9rem;
	}
}

.text-block {
	margin: 0 0 2rem;
}
.page-new .wp-block-heading {
	text-transform: uppercase;
	line-height: 1;
	color: #aaa7a0;
	margin-bottom: 1em;
}
ul.dyad-linked-list li {
	line-height: 1.2;
	margin: 0 0 1em;
}
@media screen and (min-width: 40em) {
	ul.dyad-linked-list li {
		line-height: 1.4;
		margin: 0;
	}
}

.website-link,
.inDev {
	margin-left: 0;
	font-style: italic;
	display: inline;
	-webkit-transition: all 0.5s;
	-o-transition: all 0.5s;
	transition: all 0.5s;
	white-space: nowrap;
}
.gallery .website-link,
.gallery .inDev {
	display: inline-block;
	transform: translateY(0.025em);
}
.intLink,
.intLink:visited {
	color: #aaa7a0;
	transition: color 0.4s;
}

input[type="tel"] {
	min-width: 10rem;
	border: 1px solid #ccc;
	background: 0 0;
}
#submitButton {
	border: none;
	background: 0 0;
	box-shadow: none;
	letter-spacing: 1px;
}
/*--------------------------------------------------------------
# Layouts
--------------------------------------------------------------*/
.flex-grid {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	-ms-flex-flow: row wrap;
	flex-flow: row wrap;
	margin: 0 auto;
	width: 100%;
	--item-margin-right: 0.75rem;
}
.flex-grid .grid-item {
	flex: 0 0 100%;
}
@media screen and (min-width: 45em) {
	.flex-grid .grid-item {
		flex: 0 0 calc(50% - var(--item-margin-right));
	}
}
@media screen and (min-width: 65em) {
	.flex-grid .grid-item {
		flex: 0 0 calc(33.3333% - var(--item-margin-right));
	}
}
/* ======================= */
/* SITE FOOTER */
/* ======================= */
#colophon {
	display: none;
	padding: 2rem var(--site-padding-left);
}
.hide-site-footer footer#colophon {
	display: none;
}
