@import url('https://fonts.googleapis.com/css2?family=Josefin+Sans:ital,wght@0,100..700;1,100..700&display=swap');


body {
	margin:0;
	color:#333;
	background:#fff;
	scroll-behavior: smooth;
	overflow-x: hidden;

	cursor: url("../assets/mobile-cursor.svg") 8 8, auto;
	cursor: url("../assets/mobile-cursor.svg") 8 8, pointer;
	cursor: url("../assets/mobile-cursor.svg") 8 8, text;
}

.video {
	width: 100%;
	height: 700px;
	background-color: #ececec;
	background-attachment: fixed;
	background-repeat: no-repeat;
	background-position: center;
	/*background-image: url("../assets/blurred-exhibit.jpg");*/
	background-size: 140%;
	transition: background-size 0.05s cubic-bezier(0.20, 0.21, 0.19, 1.04);
	overflow: hidden;

	display: grid;
	place-items: center;
}
.video video {
	width: 100%;
	max-width: 1450px;
}
.video iframe {
	width: 100%;
	height: 700px;
}

.transition {
	opacity: 0;
	z-index: 0;
	transition: opacity 1.8s cubic-bezier(0.20, 0.21, 0.19, 1.04);
}
.transition.is-visible {
	opacity: 1;
}
.transition.right {
	opacity: 0;
	z-index: 0;
	transform: translateX(-50px);
	transition: opacity 1.8s cubic-bezier(0.20, 0.21, 0.19, 1.04), transform 1.8s cubic-bezier(0.20, 0.21, 0.19, 1.04);
}
.transition.right.is-visible {
	opacity: 1;
	transform: translateX(0px);
}
.transition.left {
	opacity: 0;
	z-index: 0;
	transform: translateX(50px);
	transition: opacity 1.8s cubic-bezier(0.20, 0.21, 0.19, 1.04), transform 1.8s cubic-bezier(0.20, 0.21, 0.19, 1.04);
}
.transition.left.is-visible {
	opacity: 1;
	transform: translateX(0px);
}

.page {
	padding-top: 40px;
	padding-left: 40px;
	padding-right: 40px;
}

html {
	font-size:62.5%;
	font-family: "Josefin Sans", sans-serif;
	font-optical-sizing: auto;
	font-weight: 500;
	font-style: normal;
}


a[href^="tel"] {
  color: inherit;
  text-decoration: inherit;
}

.inline-red {
	font-weight: 500;
	color: #FB2205;
}
.inline-aqua {
	font-weight: 500;
	color: #03B7CF;
}
.inline-yellow {
	font-weight: 500;
	color: #FFB401;
}

.subfooter {
	background-color: white;
	height: 10px;
	display: grid;
	place-items: center;
}
.subfooter p {
	color: black;
	text-align: center;
}

.red {
	color: #FB2205;
}
.aqua {
	color: #03B7CF;
}

.lens-box {
	transform: scale(0.7);
	z-index: -1;
	pointer-events: none;
	position: absolute;

	margin-left: -790px;
	margin-top: -110px;
	display: none;
}

.three-img {
	display: flex;
	flex-direction: column;
	width: 60%;
	z-index: -100;
}
.three-img img {
	width: 100%;
	margin-bottom: 20px;
	margin-right: 3vw;
	z-index: 1;
}

.lens-container {
	touch-action: none;
	height: 500px;
	z-index: 990;
	margin-left: 400px;
	margin-bottom: 350px
	/*mix-blend-mode: color;*/
}
.lens {
	touch-action: none;
	position: absolute;
	transform: scale(0.56);
	transition: transform 0.6s cubic-bezier(0.20, 0.21, 0.19, 1.04);
}
.lens img {
	position: absolute;
}

.by-michael {
	width: 300px;
	margin-left: 0px;
}

.columns {
	display: flex;
	flex-direction: column-reverse;
	padding-top: 30px;
	height: fit-content;
}
.row {
	width: 100%;
	height: fit-content;
	margin-bottom: 30px;
}

.lens-origin {
	z-index: 200;
}
.lens-origin:hover {
	z-index: 300;
}

.lens-origin-1 {
	transform: translateX(-400px) translateY(65px);
}
.lens-origin-2 {
	transform: translateX(-400px) translateY(265px);
}
.lens-origin-3 {
	transform: translateX(-400px) translateY(365px);
}
.lens-origin-4 {
transform: translateX(-400px) translateY(565px);
}


.lens-color {
	z-index: 70;
	mix-blend-mode: overlay;
	opacity: 0.6;
}
.lens-color-bg {
	z-index: -100;
	mix-blend-mode: color;
	opacity: 0.8;
}
.lens-outline {
	z-index: 71;
	mix-blend-mode: overlay;
}
.lens-logo {
	z-index: 7;
}

.lens .drag-icon {
	visibility: hidden;
	z-index: 100;
}

footer {
	display: grid;
	place-items: center;

	background-color: #03B7CF;
	border-top-style: none;
	border-width: 8px;
	border-color: #03B7CF;
	height: 600px;
	width: 100%;
	margin-top: 100px;
	padding-bottom: 5vh;
	draggable: true;
	margin-bottom: -100px;
}
footer img {
	width: 40%;
	margin-left: 30%;
	margin-top: 40px;
	max-width: 300px;
	transform-origin: center;
}
footer p {
	color: white;
	text-align: center;
	margin-top: 15px;
	font-weight: 600;
	width: 60%;
	
}
footer h2 {
	font-variant: small-caps;
	text-transform: uppercase;

	color: white;
	text-align: left;
	font-size: 24px;
	margin-left: 0px;
	margin-bottom: 0px;
}
footer .reversed-logo {
	color: white;
	text-align: center;
	transform: translateY(30px);
	font-size: 40px;
	margin-left: initial;
}
footer ul {
	color: white;
	font-size: 14px;
	line-height: 22px;
	width: 70%;
	list-style-type: none;
	padding: 0;
	margin: 0;
	text-align: center;
}

footer li {
	font-weight: 300;
	text-align: center;
}

h1 {
	font-size: 44pt;
	font-weight: bold;
}

h3 {
	font-size: 13pt;
	color: #4b4a52;
}
h2 {
	font-weight: 900;
	font-size: 22px;
}
h2.brown {
	color: #8E371B;
}
h4,
h5,
h6,
p {
	color: #929599;
	line-height: 26pt;
	font-weight: initial;
	font-size: 14pt;
	font-weight: 300;
	color: black;
	margin:0 0 0.8rem;
	padding:0;
	margin-top: -10px;
	margin-bottom: 40px;
}

.quote {
	width: 100%;
	height: fit-content;
}


.start-quote {
    width: 75px;
    height: 75px;
    margin-left: -20vw;
}
.end-quote {
    width: 35px;
    height: 35px;
    transform: translateX(12vw) translateY(-40px);
}

.quote-body {
	font-weight: 400;
	width: 100%;
}
	.quote-author {
	text-align: right;
	font-size: 18px;
	width: 100%;
	font-weight: 400;
	}

.date {
	font-size: 30px;
	margin-top: 40px;
}
.date-sub {
	margin-top: 10px;
	margin-bottom: 80px;
}

.lens-container {
    position: relative;
    height: 0;
    margin: 0;
}

.lens-origin-1 {
    transform: translateX(20px) translateY(-600px); /* over painting 1 */
}
.lens-origin-2 {
    transform: translateX(45%) translateY(-420px);  /* also over painting 1 */
}
.lens-origin-3 {
    transform: translateX(20px) translateY(-1300px); /* over painting 2 */
}
.lens-origin-4 {
    transform: translateX(20px) translateY(-2000px); /* over painting 3 */
}

@media only screen and (min-width:769px) {

		body {
		cursor: url("../assets/mobile-cursor.svg") 8 8, auto;
		cursor: url("../assets/cursor.svg") 8 8, pointer;
		cursor: url("../assets/cursor.svg") 8 8, text;
	}


	.quote {
    width: 100%;
    max-width: 350px;
}
.start-quote {
    color: #03B7CF;
    text-align: left;
}
.quote-body {
    text-align: center;
    font-size: 24px;
    width: 100%;
    font-weight: 400;
    letter-spacing: -1px;
    min-height: 150px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.end-quote {
    color: #FB2205;
    text-align: right;
}
.quote-author {
    text-align: right;
    font-size: 24px;
    width: 100%;
    font-weight: 600;
    letter-spacing: -1px;
}
	.date {
		font-size: 60px;
		opacity: 1;
		font-variant: small-caps;
		text-transform: uppercase;
		margin-top: 10px;
	}
	.date-sub {
		margin-top: -40px;
		margin-bottom: 80px;
	}

	.three-img {
		display: flex;
		flex-direction: row;
		width: 100%;
		margin-left: 40px;
		margin-bottom: 100px;
		height: 56vw;
	}
.three-img section {
    width: 85%;
    margin-right: 1%;
    display: flex;
    flex-direction: column;
    align-items: center;
    transform: translateX(-20px);
    height: 300px;                   
}
	.three-img img {
		width: 100%;
		margin-bottom: 20px;
	}
	.row {
		width: 50%;
	}
	.columns {
		flex-direction: row;
	}
	.by-michael {
		width: 300px;
		margin-left: 40%;
		transition: transform 0.4s cubic-bezier(0.20, 0.21, 0.19, 1.04);
	}
	.by-michael:hover {
		transform: scale(1.06);
		cursor: url("../assets/link-cursor.svg") 8 8, auto;
	}
	.lens-container {
		transform: translateY(-900px);
		margin-left: 50%;
	}

	.lens-origin-1 {
		transform: translateX(-155px) translateY(65px);
	}
	.lens-origin-2 {
		transform: translateX(72px) translateY(65px);
	}
	.lens-origin-3 {
		transform: translateX(-360px) translateY(65px);
	}
	.lens-origin-4 {
	transform: translateX(-400px) translateY(60px);
	}

	.lens {
		position: absolute;
		transform: scale(0.60);
		transition: transform 0.6s cubic-bezier(0.20, 0.21, 0.19, 1.04);
		z-index: 1000;
	}
	.lens:hover {
		/*transform: scale(0.62);*/
		cursor: url("../assets/cursor-move-v2.svg") 8 8, auto;
		z-index: 100;
	}
	.lens:hover .drag-icon {
		visibility: visible;
	}

}

@media only screen and (min-width:1125px) {

}