:root {
  --color--main:#3C4CC4;
  --color--main--background:#F0F2FE;
  --color--main--medium:#D1D6FA;
  --color--main--borders:#858FE0;
  --color--main--brandblack:#3C4CC4;
  --color--black:#000C66;
  --color--highlight:#FCFF28;
  --color--white:#ffffff;
  --color--green: #00AD43;
  --color--green--dark: #00993B;

--font--title--family--xlarge:"Flexa";
--font--title--size--xlarge:4.0625rem;
--font--title--weight--xlarge:500;
--font--title--line-height--xlarge:95%;
--font--title--letter-spacing--xlarge:-0.1625rem;
--font--title--casing--xlarge:normal;

--font--title--family--medium:"Circular";
--font--title--size--medium:2.25rem;
--font--title--weight--medium:700;
--font--title--line-height--medium:100%;
--font--title--letter-spacing--medium:0rem;
--font--title--casing--medium:normal;

--font--title--family--small:"Circular";
--font--title--size--small:1.5rem;
--font--title--weight--small:900;
--font--title--line-height--small:100%;
--font--title--letter-spacing--small:0;
--font--title--casing--small:normal;

--font--caption--family--small:"Circular";
--font--caption--size--small:1rem;
--font--caption--weight--small:500;
--font--caption--line-height--small:140%;
--font--caption--letter-spacing--small:0;
--font--caption--casing--small:normal;

--font--text--family--large:"Alpina";
--font--text--size--large:1.375rem;
--font--text--weight--large:300;
--font--text--line-height--large:150%;
--font--text--letter-spacing--large:0;
--font--text--casing--large:normal;

--font--input--family--medium:"Manifold Sans";
--font--input--size--medium:1.25rem;
--font--input--weight--medium:600;
--font--input--line-height--medium:auto;
--font--input--letter-spacing--medium:-0.0125;
--font--input--casing--medium:normal;

--font--title--family--dropcap:"Studioworks Flair";
}

html {
  font-size: 100%; /* Usually 16px */
}

#main-page{
	position: relative;
	z-index: 1000;
}


body{
	background-color: var(--color--main--background);
	margin: 0;
	color: var(--color--black);
	padding: 0;
	margin: 0;
	font-size: 1rem;
}

#overlay{
	position: fixed;
	top:0;
	left: 0;
	width: 100%;
	height: 100%;
	background:var(--color--white);
	mix-blend-mode: multiply;
	pointer-events: none;
	z-index:2000;
}

* {
box-sizing: border-box;
}

strong{font-weight:500;}


header.site{
	display: grid;
	grid-column: left-edge / right-edge;
	grid-template-columns: subgrid;
	background-color: var(--color--main);
	align-items: stretch;
	justify-content: center;
	border-bottom: solid .5rem var(--color--highlight);
	height: calc(5rem + .125rem);
	z-index:1000;
	position:relative;
	display: grid;
	grid-template-columns: [left-edge] 1fr [main-left] 2fr [main-center] 2fr [main-right] 1fr [right-edge];

	a{
		text-decoration:none;
		color: white;

		&:hover{
			color: yellow;
		}
		&.brand{
			width: 14rem;
			justify-self: center;
			grid-column: left-edge / main-left;
			padding: 0 .75rem;
		}
	}
	ul{
		margin-top:calc(.75rem + 1px);
		color:white;
		border-top: .125rem solid rgba(255,255,255,.3);
		border-bottom: .125rem solid rgba(255,255,255,.3);
		text-align:right;
		position: relative;
		z-index: 2;

		li{
			display:inline-block;
			padding:.3rem 1rem;
			/* border-left: solid .125rem rgba(255,255,255,.3); */
			padding-left: 1.5rem;

			&:last-child{
				padding-right: 1rem;
			}
		}
	}
}

p a{
	text-decoration: underline;
	color: var(--color--main);

	&:hover{
		color: var(--color--black);
	}
}

a.brand{
	display: flex;
	justify-content: end;
	align-items: center;

	img.logo {
		max-width: 100%;
		}
}

nav.main {
	grid-column: main-left / right-edge;
	display: flex;
	flex-direction: column;
	justify-content: center;
	border-left: solid .125rem rgba(255,255,255,.3);
	flex-grow: 1;
	text-align: center;
	font-family: var(--font--title--family--small);
	font-size: 0.75rem;
	font-weight: 900;
	line-height: 1.25;
	letter-spacing: 0.15rem;
	text-transform: uppercase;
	width: 100%;

	ul {
		border: solid 0 var(--color--main--borders);
		border-width: .125rem 0;
		display: flex;
		align-items: center;
		justify-content: end;
		list-style-type: none;
		padding: 0;
		margin: 0;

		& li {
			/* border-left: solid .125rem var(--color--main--borders); */
			padding: 0.375rem 1rem;
			display:inline-block;
			}

			span.hide{
				opacity: 0;
			}
		}
	a {
		color: white;
		text-decoration: none;
		}
}

.mobile-break{
	display:none;
}

p{
	font-size: 1.375rem;
	font-weight: 300;
	line-height: 1.5;
	font-family:var(--font--text--family--large);
}

h1{
	margin-bottom:0.9375rem;
	margin-top: 0;
	font-size: 6rem;
	font-weight: 500;
	line-height: 0.95;
	letter-spacing: 0rem;
	font-family:var(--font--title--family--dropcap);
}

section.full h1.dropdown{
	font-size: 4.5rem;
	font-weight: (--font--title--family--xlarge);
}

h2{
	font-weight: 700;
	font-size: 1.75rem;
	line-height: 1.25;
	margin-top: 0;
	margin-bottom: 1.75rem;
	border-bottom: solid 0.5rem var(--color--main--borders);
	padding-bottom: 1.75rem;
	font-family: var(--font--title--family--medium);
}

ul{
	list-style: none;
	display: block;
	margin-top:2rem;
	padding-left: 0;

	h3{
		font-family:var(--font--title--family--xlarge);
		border-bottom: solid 0.125rem var(--color--main--borders);
		font-size: 1.75rem;
		padding-bottom: 1rem;
		margin-bottom: 1.5rem;
		font-weight: var(--font--title--weight--xlarge);
	}
}


section{
	border-bottom: .125rem solid var(--color--main--borders);
	padding: 5em 5em 5em;

	&.full{
		padding: 0;

		h1{
			font-size: 6rem;
			border-bottom: none;
			font-family: var(--font--title--family--dropcap);
			letter-spacing: 0;
			font-kerning: normal;
		}

		&.sign-up{
			background-color: var(--color--highlight);
			text-align:center;
			padding: 3.5rem;

			h2, p{
				max-width: 40rem;
				margin: 0 auto;
			}

			h2{
				margin-bottom: 1.5rem;
			}
		}

		&.referral{
			background-color: var(--color--highlight);
			text-align:center;
			padding: 1rem 3.5rem;
			/* display: flex; */
			display: none;
			align-items:center;
			justify-content: center;

			p{
				padding-right: 2rem;
				font-weight: 700;
				font-family: var(--font--title--family--small);
				font-size: 1.25rem;
				margin:0;
			}
			&.visible{
				display: flex;
			}
		}

		&.testimonials{
			background-color: var(--color--main--medium);

			&.team #team{
				border-bottom:none;
				header{
					max-width: 60rem;
					padding: 0 3rem;
					margin: 0 auto;
					text-align:center;
				}
				header+p{
					margin: 0 auto 1rem;
					max-width: 60rem;
					padding: 0 3rem;
				}

				ul{
					margin-top: 3rem;
				}
			}
		}

		#testimonials ul, #team ul{
			display: grid;
			grid-template-columns: 1fr 1fr 1fr 1fr;
			column-gap: 2rem;
			margin-top: 0;

			.member-photo{
				border-radius: 50%;
				width: 100%;
				overflow:hidden;
				position:relative;
				display:flex;

				&.sean {
					.photo-overlay{
						background-color: var(--color--main);
					}

					.photo-overlay2{
						background-color: var(--color--main--background);
					}
				}

				&.nick {
					.photo-overlay{
						background-color: var(--color--main);
					}
					.photo-overlay2{
						background-color: var(--color--highlight);
					}
				}

				&.jess {
					.photo-overlay{
						background-color: var(--color--black);
					}
					.photo-overlay2{
						background-color: var(--color--main--medium);
					}
				}

				.photo-overlay{
					position:absolute;
					inset: 0;
					background-color: var(--color--black);
					mix-blend-mode: screen;
					pointer-events: none;
				}
				.photo-overlay2{
					content:"";
					position:absolute;
					inset: 0;
					background-color: var(--color--main--borders);
					mix-blend-mode: multiply;
					pointer-events: none;
				}

				img{
					max-width: 105%;
					position:relative;
				}

			}

			li{
				background-color: var(--color--white);
				padding: 2rem;
				font-size: 1.5rem;
				line-height: 2rem;
				font-family: var(--font--text--family--large);
				box-shadow: .25rem .25rem .25rem var(--color--main--borders);

				p{
					padding: 0 0 0 1.25rem;
					position:relative;
					z-index: 100;

					&:before{
						content: "“";
						color: var(--color--main--borders);
						font-size: 5rem;
						line-height: 3rem;
						position: absolute;
						top: .85rem;
						left: -.75rem;
						z-index: 0;
					}
					&:after{
						content: "”";
						color: var(--color--main--borders);
						font-size: 5rem;
						position: relative;
						top: 2.5rem;
						line-height: 0;
						margin-left: .25rem;
					}
				}

				h3{
					margin-bottom: 1rem;
				}
				p.bio{
					padding: 0;
					font-size: 1.15rem;
					margin: 0;

					&:before{
						content: none;
					}
					&:after{
						content: none;
					}

				}
			}

			li .credit{
				font-size: 1.25rem;
				font-family: var(--font--title--family--small);
				display:block;
				margin-top: 1rem;
				text-align:right;
			}
		}

		&.dark{
			background-color: var(--color--main);
			text-align:center;
			padding: 5rem;
			color: var(--color--white);

			p{
				max-width: 60rem;
				margin: 0 auto 3rem;
				color: var(--color--white);
			}

			h2{
				border-bottom: .25rem solid var(--color--highlight);
				color: var(--color--highlight);
				margin-bottom: 1.25rem;
			}

			#feature-list{
				display: grid;
				grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
				column-gap: 3rem;
				text-align:center;
				margin: 0 auto;
				border-bottom: none;
				padding: 0;

				ul{
					margin-top: 0;
				}

				ul li, .list ul li{
					font-family: var(--font--title--family--small);
					font-weight: 500;
					font-size: 1.15rem;
					line-height: 1.75rem;
					margin-bottom: 1.5rem;
					color: var(--color--white);
					text-align:left;
				}

				h3{
					font-size: 2rem;
					font-weight: 500;
					line-height: 0.95;
					letter-spacing: 0rem;
					font-family:var(--font--title--family--xlarge);
					margin-bottom: 1.65rem;
					border-bottom: solid 0.125rem var(--color--highlight);
					padding-bottom: 1.5rem;
					color: var(--color--white);
					margin-top: 0;
					text-align:left;
				}
			}
		}
	}
}


.text-block{
	margin: 3.5rem auto;

	&.left{
		padding-right: 3rem;
		max-width: 50rem;
	}

	&.right{
		padding-left: 3rem;
		max-width: 50rem;
	}

	p{
		&.dropcap{
			&:first-letter{
				color: var(--color--main);
				font-size: 10rem;
				line-height: 5.5rem;
				margin-right: 1rem;
				margin-top: .85rem;
				float:left;
				font-family: var(--font--title--family--dropcap);
				font-weight: 900;
				text-shadow: 4px 4px 4px white;
			}
			&.dropdown{
				&:first-letter{
					line-height: 7rem;
					margin-top: .85rem;
					font-weight: 900;
				}
			}
		}
	}
}

.highlight{
	background-color: var(--color--highlight);
	padding:0 .25rem;
	margin-left: -.25rem;
}

section.quote{
	background-color: var(--color--highlight);
	border-top: .125rem solid var(--color--main--borders);

	p{
		max-width: 80rem;
		margin:0 auto 1rem;
	}
}

input{
	background-color: white;
	border: .125rem solid var(--color--main--borders);
	padding: 1rem .5rem 1.25rem;
	font-size: 1.25rem;
	text-align:center;
	font-family: var(--font--title--family--medium);
	font-weight: 700;
	transition: background-color ease-in-out .5s;

	&:focus{
		background-color: var(--color--highlight);
		outline: none;
	}
}

p.intro{
	font-family: var(--font--title--family--small);
	font-weight: 300;
	font-size: 2rem;
	max-width: 80rem;
	margin: 0 auto;
}




/* ************************************************************************** Top SECTION */

#section-top{
	background-color: inherit;
	display: grid;
	grid-template-columns: [text-left] 1.5fr [example] 1fr;
	margin-top:-.125rem;
	padding: 0 0;
	z-index:0;

	.text-block{
		align-content:center;
		padding: 3rem;
		max-width: 50rem;

		&.success{
			h3{
				font-family: var(--font--title--family--small);
				font-weight: 700;
				border-bottom: .125rem solid var(--color--main--borders);
				padding-bottom: 1.5rem;
				margin-bottom: .75rem;
			}
			h3+p, p.hereforyou{
				font-family: var(--font--title--family--small);
				font-weight: 500;
				font-size: 1.15rem;
			}
			p.credit{
				font-family: var(--font--title--family--small);
				font-weight: 500;
				font-size: 1.15rem;
			}

			section.note{
				text-align:left;
				background-color: var(--color--white);
				padding: 2rem 3rem .75rem;
				border: .5rem solid var(--color--main--borders);
				box-shadow: .25rem .25rem .25rem var(--color--main--medium);
				color: var(--color--black);

				h3{
					font-size: 1.5rem;
					margin-top: 1rem;
				}
			}
		}
	}
	h1{
		font-size:12rem;
		letter-spacing: 0;
		text-transform:uppercase;
		line-height:9.5rem;
		padding-bottom:1.5rem;
		text-align:center;
		font-family: var(--font--title--family--dropcap);

		&.dropdown{
			font-size:8.5rem;
			text-transform:none;
			line-height:6.5rem;
			letter-spacing: -.2rem;
			font-family: var(--font--title--family--dropcap);
			font-weight: var(--font--title--family--xlarge);
		}
	}
	h2{
		text-align:center;
	}

	p{
		margin-bottom: 3rem;
	}

	.example {
		overflow:hidden;
		/* display:grid; */
		/* align-content:center; */
		justify-content:center;
		position:relative;
		background-color: var(--color--main--background);
		border-left: .125rem solid var(--color--main--borders);

		img{
			/* max-height:65rem; */
			/* display: block;
			position: relative;
			bottom: 0;
			opacity: .6;
			mix-blend-mode: multiply; */
			height: 100%;
			width: 100%;
			object-fit: cover;
		}
	}
}

button{
	background-color: var(--color--green);
	color: var(--color--white);
	padding: 1rem 3rem;
	border:none;
	font-family: var(--font--title--family--small);
	font-weight: 500;
	font-size: 1.25rem;
	display:block;
	margin: 1rem auto 1rem;
	position:relative;
	z-index: 1;
	border-radius: .25rem;
	transition: background-color ease-in-out .3s;

	&:hover{
		background-color: var(--color--green--dark);
		cursor: url('/static/images/pixelcursor.svg')0, auto;
		cursor: -webkit-image-set(url('/static/images/pixelcursor-2x.svg') 2x), pointer;
	}
}

a.button{
	text-decoration: none;
}

.button-deets{
	font-size: 1rem;
	font-weight: 700;
	font-family: var(--font--title--family--small);
	font-color: var(--color--main);
	text-align:center;
}

.streamline {
  color: var(--color--main--blacks);
  width: 108%;
  height: auto;
  margin-left:-5%; /* or any responsive value */
}

@keyframes arrow-animation {
  0% {top:-1rem;}
  50% {top: 1rem;}
  100% {top:-1rem;}
}

@keyframes arrow-animation-left {
  0% {right:-1rem;}
  50% {right: 1rem;}
  100% {right:-1rem;}
}

.arrow{
	display:block;
	margin: 0 auto;

	&.up{
		rotate: 180deg;
	}

	&.left{
		rotate: 90deg;
	}
}

.learnmore{
	margin: 1.5rem auto 0;
	position: relative;
	top:-1rem;
	animation-name: arrow-animation;
	animation-duration: 2s;
	animation-iteration-count: infinite;
	display: grid;
	grid-template-columns: 1fr;

	.learn-more{
		text-align:center;
		font-family: var(--font--title--family--small);
		font-weight: 700;
		letter-spacing: 1px;
		font-size: 1rem;
	}

	&.type{
		grid-template-columns: 1fr 2fr;
		animation-name: arrow-animation-left;
		margin: 0;
		top: 0;
		text-align:left;
		align-items:center;
	}
}

#form-field-wrapper{
	display:grid;
	grid-template-columns: 2fr 1fr;

}



/* ************************************************************************** Manage Clients SECTION */

.example-wrapper{
	display: grid;
	margin:0 auto;

	.text-block{
		padding: 3.5rem;
		align-content: center;
		margin: 0 auto;
		z-index: 100;
		position:relative;
		text-align:left;
		max-width: 50rem;
	}

	.example img{
		max-width: 100%;
		border: solid .125rem var(--color--main--borders);
		border-radius: .5rem;
	}

	&.split{
		grid-template-columns: 1fr 1fr;
		background-color: var(--color--black);
		color: var(--color--white);
		position: relative;
		overflow:hidden;

		.text-block{
			align-content:normal;
		}

		p a{
			color: var(--color--highlight);
			&:hover{
				color: var(--color--white);
			}
		}

		h2{
			border-bottom: .25rem solid var(--color--highlight);
		}
	}

	&.right{
		grid-template-columns: [text-left] 1fr [example] 1.25fr;

		.example{
			padding: 2rem 2rem 2rem 0rem;
			/* border-left: solid .125rem var(--color--main--borders); */
		}
	}

	&.left{
		grid-template-columns: 1.25fr 1fr;

		.example{
			padding: 2rem 0rem 2rem 2rem;
		}
	}
}

.ampersand{
	font-family: var(--font--title--family--dropcap);
	font-size: 110rem;
	line-height: 0rem;
	color: var(--color--main);
	opacity: .2;
	position: absolute;
	top: 45%;
	bottom: 50%;
	width: 100%;
	text-align:center;
	z-index: 0;
}

section.center{
	text-align:center;
	background-color: var(--color--main--borders);
	padding: 3.5rem;

	.example{
		padding: 2rem 2rem 2rem 2rem;
		max-width: 80rem;
		margin: 0 auto;
	}

	.example img{
		max-width: 100%;
		border: solid .125rem var(--color--main--borders);
		border-radius: .5rem;
	}

	p{
		max-width: 60rem;
		margin: 0 auto;
	}
}

/* ************************************************************************** Type SECTION */

#section-type{
	background-color: var(--color--black);
	color: white;

	h2{
		color: rgba(255,255,255,.7);
		border-bottom: solid 0.5rem var(--color--highlight);
	}
}

ul.font-samples{
	margin-left:0;
	margin-top:3rem;
	padding-left:0;

	li {
		border-top: solid .125rem var(--color--highlight);
		min-height: 8.44rem;
		padding-top: 0.8rem;
		display: flex;
		justify-content: space-between;
		font-family: var(--font--title--family--small);
		font-size: 1rem;
		font-weight: 500;
		color: rgba(255,255,255,.7);
	}

	.font-preview {
		text-align: right;
		max-width: 60%;
		margin-bottom: 3rem;
		color: white;
	}
}

ul.font-samples {

	.large-headlines .font-preview {
		font-family: var(--font--title--family--dropcap);
		font-size: var(--font--title--size--xlarge);
		font-weight: var(--font--title--weight--xlarge);
		line-height: var(--font--title--line-height--xlarge);
		letter-spacing: 0;
		text-transform: var(--font--title--casing--xlarge);
	}

	.medium-headlines .font-preview {
		font-family: var(--font--title--family--medium);
		font-size: var(--font--title--size--medium);
		font-weight: var(--font--title--weight--medium);
		line-height: var(--font--title--line-height--medium);
		letter-spacing: var(--font--title--letter-spacing--medium);
		text-transform: var(--font--title--casing--medium);
	}

	.small-headlines .font-preview {
		font-family: var(--font--title--family--small);
		font-size: var(--font--title--size--small);
		font-weight: var(--font--title--weight--small);
		line-height: var(--font--title--line-height--small);
		letter-spacing: var(--font--title--letter-spacing--small);
		text-transform: var(--font--title--casing--small);
	}

	.small-text .font-preview {
		font-family: var(--font--caption--family--small);
		font-size: var(--font--caption--size--small);
		font-weight: var(--font--caption--weight--small);
		line-height: var(--font--caption--line-height--small);
		letter-spacing: var(--font--caption--letter-spacing--small);
		text-transform: var(--font--caption--casing--small);
	}

	.large-text .font-preview {
		font-family: var(--font--text--family--large);
		font-size: var(--font--text--size--large);
		font-weight: var(--font--text--weight--large);
		line-height: var(--font--text--line-height--large);
		letter-spacing: var(--font--text--letter-spacing--large);
		text-transform: var(--font--text--casing--large);
		text-align: left;
	}

	.input-text .font-preview {
		font-family: var(--font--input--family--medium);
		font-size: var(--font--input--size--medium);
		font-weight: var(--font--input--weight--medium);
		line-height: var(--font--input--line-height--medium);
		letter-spacing: var(--font--input--letter-spacing--medium);
		text-transform: var(--font--input--casing--medium);
	}
}

ul.font-samples.original{
	.large-headlines .font-preview {
		letter-spacing: 0;
	}
}

* {
	box-sizing: border-box;
}

.form-field label{
	font-family: var(--font--title--family--medium);
	font-weight: 700;
	font-size: 1.25rem;
	color: var(--color--highlight);
}
select#font-selector{
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	-webkit-padding-end: 20px;
	  -moz-padding-end: 20px;
	font-size: 1.25rem;
	font-family: var(--font--title--family--medium);
	padding: .75rem 1rem;
	margin-left: 1rem;
	background-color: white;
}


/* ************************************************************************** Color SECTION */


#section-color-wrapper{
	background-color: ;
	display: grid;
	grid-template-columns: [example] 1fr [text-right] 1fr;
	overflow:hidden;
	max-width:115rem;
	margin:0 auto;
}

#section-color {
	.highlight{
		background-color: var(--color--highlight);
	}
	.text.block{
		align-content:center;

		p.note{
			font-size: 1.1rem;
			font-family: var(--font--title--family--small);
			line-height: 1.40;
			font-weight: 500;
			margin-top:2rem;
		}
	}
	.example .page{
		background-color: white;
		border: .125rem solid var(--color--main--borders);
		width: 100%;
		height: auto;
		position:relative;
		overflow:hidden;
	}
}

#swatch-wrapper{
	display:grid;
	grid-template-columns: [primary-color] 3fr [small-swatches] 1fr;
	margin-top: 2.5rem;
	position:relative;
}

.color-control{
	box-sizing:border-box;
	border: .125rem solid var(--color--main--borders);
	margin-bottom: 1rem;

	.swatch{
		background-color: var(--color--main);
		height: 11.65rem;
	}

	&:hover{
		border: .125rem solid var(--color--highlight);
	}
}

.label-wrap{
	background-color: white;
	border-top: .125rem solid var(--color--main--borders);
	margin-top:-4px;
	display:grid;
	grid-template-columns: [label] 4fr [picker] .75fr;
	color: var(--color--black);

	p{
		font-size: 1rem;
		line-height: 1.15;
		font-weight: 900;
		margin: 1rem 1.25rem 0;
		border-bottom: .125rem solid var(--color--main--borders);
		padding-bottom: .75rem;
		font-family: var(--font--title--family--small);
	}

	p.hex{
		border-bottom:none;
		font-family: var(--font--input--family--medium);
		letter-spacing: 1px;
		position:relative;
		top:-.15rem;
	}
}

.picker{
	display:flex;
	align-items:center;
	justify-content: center;
	border-left: .125rem solid var(--color--main--borders);
	margin-top:-.125rem;
	position: relative;
	width: 6rem;
}

.swatch-picker{
	width:4rem;
	height: 4rem;
	background-image: conic-gradient(red, yellow, #00bc40, #0052ff, #b300ff);
	border-radius:2rem;
	padding: 1rem;
}

#small-swatches{
	display:grid;
	grid-template-columns: 1fr 1fr 1fr;
}

ul.swatches{
	margin-top: 0;
	text-align: right;        /* Right-align text inside list items */
	display: flex;            /* Optional: align items horizontally or vertically */
	flex-direction: column;   /* Keep items in a vertical list */
	align-items: flex-end;
	margin-left: 2rem;

	li{
		display:block;
		width: 3rem;
		height: 3rem;
		border: .125rem solid var(--color--main--borders);
		margin-bottom: -.125rem;
		position:relative;
		z-index:1;
	}
}

ul#blacks{
	.color-1{background-color:#3C4CC4;}
	.color-2{background-color:#322D2A}
	.color-3{background-color:#000000}
	.color-4{background-color:#583C09}
	.color-5{background-color:#084C83}
	.color-6{background-color:#136748}
}

ul#page-tints{
	.color-1{background-color:#ffffff}
	.color-2{background-color:#FFFDF8}
	.color-3{background-color:#FFFBEF}
	.color-4{background-color:#FDFDFD}
	.color-5{background-color:#FAFDFF}
	.color-6{background-color:#FFFAFD}
}

ul#highlights{
	.color-1{background-color:#FCFF28}
	.color-2{background-color:#C9FB6D}
	.color-3{background-color:#BAFBC4}
	.color-4{background-color:#C4E9F8}
	.color-5{background-color:#E1DAFD}
	.color-6{background-color:#FFD3DE}
}

#blacks .color-brandblack {
  background-color: var(--color--main--brandblack);
}

#page-tints .color-white{
	background-color: var(--color--white);
}

ul li.active::after {
  content: "";
  position: absolute;
  top: .15rem;
  right: .15rem;
  width: 2.5rem;
  height: 2.5rem;
  background-image: url('data:image/svg+xml;utf8,<svg fill="black" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M20.285 6.709l-11.025 11.025-5.544-5.543 1.414-1.415 4.13 4.13 9.611-9.611z"/></svg>');
  background-size: contain;
  background-repeat: no-repeat;
}

ul#blacks li.active::after{
	  background-image: url('data:image/svg+xml;utf8,<svg fill="white" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M20.285 6.709l-11.025 11.025-5.544-5.543 1.414-1.415 4.13 4.13 9.611-9.611z"/></svg>');
}

ul.swatches li:hover:after{
	display:flex;
}

#small-swatches ul.swatches li:hover{
	border: .125rem solid var(--color--highlight);
	z-index:2;
}

/* ************************************************************************** Payments SECTION */

#section-payments{
	overflow: hidden;
	position:relative;
	padding-bottom: 0;
}

section#payments{
	border-bottom: 0;
	padding-bottom:0;
}

@keyframes page-scroll{
	0% { top: 25rem; }
	100% {top: calc(0rem - 2em);}
}

@media (prefers-reduced-motion: no-preference) {
  .page-animation{
	animation: page-scroll 1s forwards;
	animation-delay: .5s;
	}
}

#payments-sidebar-wrapper{
	display:grid;
	grid-template-columns: 1fr 1fr 1fr 1fr;
	column-gap: 2rem;
	margin:0 auto;
}

.payment-sidebar{
	border: .125rem solid var(--color--main--borders);
	padding: 2rem 2rem;
	background-color: white;
	font-family: var(--font--title--family--medium);
	border-bottom: 0;

	label{
		text-transform: uppercase;
		font-weight: 700;
		letter-spacing: .2rem;
		font-size: .75rem;
		border-bottom: .125rem solid var(--color--main--borders);
		padding-bottom: .5rem;
		width: 100%;
		display:block;
	}

	h3{
		font-size: 2.5rem;
		line-height: 2.5rem;
		margin: .5rem 0 2.5rem;
		font-family: var(--font--title--family--xlarge);
		font-weight: 500;
	}

	ul{
		margin-top: 1.25rem;
	}

	ul li{
		margin-bottom: 1.5rem;
		font-size: 1.15rem;
		line-height: 1.5rem;
	}

	input{
		width: 100%;
		height: 50px;
		text-align:left;
		font-size: 1.25rem;
		padding: 1.25rem 1.25rem;
		font-weight: 400;
	}

	button{
		width: 100%;
	}

	.feed-wrap{
		display: grid;
		grid-template-columns: 2fr 1fr;
		margin-bottom: 1.25rem;
	}

	.feed-wrap > div:nth-child(2) {
	  text-align: right;
	}

	.feed-wrap.label{
		border-bottom: .125rem solid var(--color--main--borders);
		padding-bottom: .5rem;
	}

	label.payment-label{
		margin-bottom: .25rem;
		border-bottom: 0;
		text-transform: none;
		letter-spacing: 0;
		font-size: 1rem;
		margin-top: 2rem;
	}

	p{
		text-align: left;
		font-size: 1rem;
		font-weight: 500;
		font-family: var(--font--title--family--medium);
		margin-bottom: 1rem;
	}

	p.address{
		font-size: 1.25rem;
		margin-bottom: 1.5rem;
	}

	.paid{
		border:0;
		background-color: inherit;
	}

	.paid h3{
		color: var(--color--main);
	}

	strong{
		font-weight: 700;
	}

	ul li .select{
		border: .125rem solid var(--color--main--borders);
		width: 1.5rem;
		height: 1.5rem;
		border-radius: .75rem;
		margin-right: .75rem;
		float:left;
	}

	ul li .preferred{
		float:right;
		color: var(--color--main);
	}

}

.select.selected:before{
	content: "";
	width: .75rem;
	height: .75rem;
	border-radius: .5rem;
	background-color: var(--color--black);
	display: block;
	position:relative;
	top: .265rem;
	left: .265rem;
}

#section-payments .subsection{
	position: relative;
}

#payments .page-payments{
	background-color: white;
	border: .125rem solid var(--color--main--borders);
	width: 100%;
	height: auto;
	position:relative;
	overflow:hidden;
	top:25rem;
}

.gradient-overlay{
	background: linear-gradient(rgba(255,255,255,0), var(--color--main--background) 100%);
	pointer-events:none;
	position: absolute;
	height: 20%;
	width: 100%;
	z-index: 5000;
	bottom:0;
}


/* ************************************************************************** Who For SECTION */

ul#professions li{
	font-size: 1.65rem;
	font-weight: 300;
	line-height: 1.5;
	max-width: 40rem;
	font-style: italic;
	font-family: var(--font--text--family--large);
	margin-bottom:.5rem;
	opacity: 0;
	transform: translateX(50px);
	transition: opacity 0.25s ease, transform 0.25s ease;

	&.visible {
	  opacity: 1;
	  transform: translateX(0);
	}
}

#bracket{
	font-size: 60rem;
	line-height: 50rem;
	font-weight: 300;
	font-family: var(--font--text--family--large);
	font-weight:100;
	display:flex;
	justify-content: center;
	align-content:center;
	color: var(--color--main);
}

#who-for{
	display:flex;
	align-items:center;
	margin-top:1rem;
	justify-content: right;

	svg.logotype2{
		width: 25rem;
		margin-top: .5rem;
	}

	i{
		font-size: 1.75rem;
		margin-left: 1rem;
		margin-top:1.25rem;
		font-family: var(--font--text--family--large);
		font-weight: 400;
		letter-spacing:0;
	}
}

h1#who-for{
margin-top: 0rem;
}

#section-who-for {
	background-color:var(--color--highlight);
	display: grid;
	grid-template-columns: [who-for] 1.5fr [bracket] .5fr [professions] 1.25fr;
	overflow:hidden;

	ul{
		padding-left:0;
		margin: 2rem 1rem;
	}
	.highlight{
		background-color: white;
	}
}

/* ************************************************************************** Team SECTION */

#section-top.team{
	display: block;

	p{
		font-size: 1.75rem;
	}

	.text.block{
		max-width: 80rem;
		padding: 6rem 5rem 6rem;
	}

	h1{
		font-size: 6rem;
		line-height: 5rem;
		margin: 0 auto;
	}

	h2{
		text-align:center;
	}
}

#section-team{
	padding: 0;
	background-color: var(--color--main--medium);
	border-bottom: none;
	position:relative;
}

#team-wrapper{
	max-width: 90rem;
	margin: 0 auto;
	z-index:100;
	position:relative;
}

#section-team:before{
	content: "";
	position: absolute;
	inset: 0;
	z-index: 0;
	background-color: rgba(255, 255, 255, 0.25);
	-webkit-mask-image: url("../images/SW_pattern_repeat.svg");
	  mask-image: url("../images/SW_pattern_repeat.svg");
	  -webkit-mask-repeat: repeat;
	  mask-repeat: repeat;
	  -webkit-mask-size: 20rem;
	  mask-size: 20rem;
	  -webkit-mask-position: center;
	  mask-position: center;
}

#section-team ul{
	padding-left: 0;
	padding-top: 1.5rem;
	border-top: .125rem solid var(--color--main--borders);

	li{
		display: inline-block;
		font-family: var(--font--title--family--small);
		font-weight: 700;
		font-size: 1.25rem;
		letter-spacing: .05rem;
		color: var(--color--main);
		padding-right: .6rem;

		:last-child:after{
			content:"";
		}

		:after{
			content:"â€¢";
			padding-left:.75rem;
			color: var(--color--main--borders);
		}

		a{
			text-decoration: none;
			color: var(--color--main);
		}
	}
}

.team-member{
	display:grid;
	grid-template-columns: [team-photo]1fr [bio-wrapper]1.5fr;
	border-bottom: .125rem solid var(--color--main--borders);
	background-color: white;

	&:last-child{
		border-bottom: none;
	}

	.bio{
		max-width: 48rem;
		margin:0 auto;
	}

	.bio h2 + p:first-letter{
		font-size: 6.5rem;
		margin-right: .1em;
		font-weight: 900;
		color: var(--color--main);
		font-family: var(--font--title--family--small);
		padding-right: .25rem;
		line-height: 5.5rem;
		margin-right: .1em;
		margin-top: .25rem;
		float: left;
		display: block;
		position: relative;
		text-shadow: .45rem .45rem var(--color--main--medium);
	}
}

.bio-wrapper{
	border-left: .125rem solid var(--color--main--borders);
	padding: 4rem 5rem 4rem 5rem;
	align-content:center;
	border-right: .125rem solid var(--color--main--borders);
}

.team-photo{
	position:relative;
	display: inline-flex;
	align-items: center;
	justify-content:center;
	overflow:hidden;
	max-height: 58rem;
	border-left: .125rem solid var(--color--main--borders);
}

#section-team {
	img{
		max-height: 100%;
		position:relative;
		z-index: 1;
	}
	.photo-overlay{
		position:absolute;
		inset: 0;
		background-color: var(--color--black);
		mix-blend-mode: screen;
		pointer-events: none;
	}
	.photo-overlay2{
		content:"";
		position:absolute;
		inset: 0;
		background-color: var(--color--main--borders);
		mix-blend-mode: multiply;
		pointer-events: none;
	}

	.sean {
		.photo-overlay{
			background-color: var(--color--main);
		}

		.photo-overlay2{
			background-color: var(--color--main--background);
		}
	}

	.nick {
		.photo-overlay{
			background-color: var(--color--main);
		}
		.photo-overlay2{
			background-color: var(--color--highlight);
		}
	}

	.jess {
		.photo-overlay{
			background-color: var(--color--black);
		}
		.photo-overlay2{
			background-color: var(--color--main--medium);
		}
	}
}

/* ************************************************************************** compare */

section.full.section-chart {
	margin: 0 auto;
	background: white;
	border-bottom: 0;
	padding: 3rem;
	border-bottom: .125rem solid var(--color--main--borders);

	h3{
		font-family: var(--font--title--family--medium);
		letter-spacing: .12rem;
		border-bottom: .125rem solid var(--color--main--borders);
		text-transform: uppercase;
		padding-bottom: 1rem;
		margin-top: 2rem;
		margin-bottom: 0rem;
		color: var(--color--main);
		font-size: 1rem;
	}
	div{
		max-width: 90rem;
		margin: 0 auto;
	}

	div.chart{
		border-left: .125rem solid var(--color--main--borders);
		border-right: .125rem solid var(--color--main--borders);
		margin: 0 0rem 3rem;
	}

	div.chart-intro{
		display: grid;
		grid-template-columns: 2fr 1fr;
		column-gap: 3rem;
		margin: 2rem 0 2rem;

		p{
			font-family: var(--font--title--family--medium);
			margin-top: .5rem;
			font-weight: 400;
			color: var(--color--black);

			&.big{
				font-weight: 700;
				font-size: 1.75rem;
				line-height: 1.25;
				color: var(--color--black);
				margin-top: 0;

				strong{
					font-weight: 700;
					color: var(--color--black);
					background-color: var(--color--highlight);
					padding: 0 .25rem;
					margin: 0 -.25rem;
				}
			}
		}
	}

	.red{ color: #FF5320;}
	.green{color: #00AD43}

	ul.chart-row{
		display: grid;
		grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
		column-gap: 0px;
		margin-left: -1px;
		padding: 0;
		/* margin-bottom: -.125rem; */
		border-bottom: .125rem solid var(--color--main--borders);
		margin: 0;

		&.headline {
			margin: 0 0rem;
			li{
				border: none;
				padding: 1.25rem 0;
				font-weight: 700;
				font-size: 1rem;
				background-color: white;
			}
		}

		li{
			font-family: var(--font--title--family--small);
			font-weight: 400;
			font-size: 1.5rem;
			letter-spacing: .025rem;
			color: var(--color--black);
			border-right: .125rem solid var(--color--main--borders);
			width: 100%;
			text-align:center;
			padding: 1.65rem 0;
			justify-content: center;
			align-content: center;
			background-color: white;

			&.red{
				color: #FF5320;
				font-weight: 500;
			}
			&.green{
			color: #00AD43;
			font-weight: 500;
			}
			&:last-child{
				border-right: none;
			}
			&.company{
				background-color: var(--color--main--medium);
				text-align:left;
				padding-left: 1.5rem;
				color: var(--color--black);
			}
		}
	}
}

.note{
	font-family: var(--font--title--family--small);
	margin-top:1rem;
	text-align: right;
	display: block;
	color: var(--color--main);
	margin-bottom:3rem;
}

.max-fee{
	font-size: 1rem;
	font-weight: 500;
	display:block;
}

.red{
	font-size: 1rem;
	font-weight: 500;
}



section#no-list{
	background-color: var(--color--highlight);
}

section#no-list ul li{
	font-family: var(--font--title--family--medium);
	font-size: 1.5rem;
	font-weight: 500;
	margin-bottom: 1.5rem;
	line-height: 2.5rem;
}

section#no-list ul li.active{
	background-color: white;
	padding: 0 .25rem;
	margin: 0 -.25rem 1.5rem;
}

section#no-list div{
	display:grid;
	grid-template-columns: 1fr 2fr;
	column-gap: 3rem;
	max-width: 90rem;
	margin: 0 auto;
}

.hidden{
	display:none;
}



/* ************************************************************************** footer */

dt{
	font-family: var(--font--title--family--medium);
	font-weight: 700;
	letter-spacing: .05rem;
}

dd{
	font-family: var(--font--title--family--medium);
	font-weight: 500;
	text-align:right;
	margin-inline-start:.25rem;
}

footer {
	background-color: var(--color--main--medium);

	form {
		display: flex;  /* Change from block to flex */
		height: 3rem;
		margin-top: 2rem;
		justify-content: center;
		align-items: center;
		margin: 0 auto 3rem;

		label {
			font-weight: var(--font--title--weight--small--small);
			font-family: var(--font--title--family--small);
			margin-right: 1rem;
			flex-shrink: 0;  /* Prevent label from shrinking */
		}

		input {
			flex: 1;  /* This makes the input grow to fill available space */
			min-width: 0;  /* Allows input to shrink below its content size if needed */
		}

		button {
			margin: 0 0 0 1.25rem;
			flex-shrink: 0;  /* Prevent button from shrinking */
		}
	}

	ul{
		padding: 0;
		margin: 0;

		li{
			margin-bottom: 1rem;
		}
	}

	.contact .contact-list div{
		display: grid;
		grid-template-columns: auto auto;
		column-gap: 2rem;
		margin: 1.5rem 0;
	}
	a{
		text-decoration: none;
		color: var(--color--black);

		&:hover{
			color: var(--color--main);
		}
	}

	.collapsed{
		display:grid;
		grid-template-columns: min-content auto auto 12rem;
		grid-template-rows: min-content auto;

		.logo-footer{
			padding: 1rem 1.25rem;
			border-right: solid .125rem var(--color--main--borders);
		}

		.footerToggle{
			grid-column: 4 / 5;
			text-align: right;
			padding: 0 1rem;
			display: flex;
			align-items: center;

			label{
				display:none;
			}
		}
	}

	.main-footer{
		display: grid;
		border-top: solid .125rem var(--color--main--borders);
		grid-template-columns: min-content auto auto 12rem;
	}
	.message{
		grid-column: 2 / 3;
		align-content:center;
		max-width: 80rem;
		padding: 0 3rem;
		margin: 0 auto;

		p{
			margin-top: 2rem;
			margin-bottom: 2.5rem;
		}
	}
	.contact{
		border-left: .125rem solid var(--color--main--borders);
		padding: 0 1.5rem;
		grid-column: 3 / 4;
	}
	.studioworks{
		border-left: .125rem solid var(--color--main--borders);
		padding: 0 1.5rem;
		grid-column: 4 / 5;

		ul li{
			border-bottom: .125rem solid white;
			padding-bottom: 1rem;
			font-family: var(--font--title--family--medium);
			font-weight: 700;
			letter-spacing: .05rem;
		}

		ul li:last-child{
			border-bottom: none;
		}
	}
	h3{
		border-bottom: solid .125rem var(--color--main--borders);
		padding-bottom: 1rem;
		margin-bottom: 1rem;
		font-family: var(--font--title--family--medium);
		font-weight: 700;
		letter-spacing: .15rem;
		text-transform: uppercase;
		font-size: .85rem;
		margin-top: 1.25rem;
	}
}
