/* ibm-plex-mono-700 - latin */
@font-face {
	font-family: 'PlexMono';
	font-style: normal;
	font-weight: 700;
	src: local(''),
		url('./fonts/ibm-plex-mono-v11-latin-700.woff2') format('woff2'),
		/* Chrome 26+, Opera 23+, Firefox 39+ */
		url('./fonts/ibm-plex-mono-v11-latin-700.woff') format('woff');
	/* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}

/* ibm-plex-mono-700italic - latin */
@font-face {
	font-family: 'PlexMono';
	font-style: italic;
	font-weight: 700;
	src: local(''),
		url('./fonts/ibm-plex-mono-v11-latin-700italic.woff2') format('woff2'),
		/* Chrome 26+, Opera 23+, Firefox 39+ */
		url('./fonts/ibm-plex-mono-v11-latin-700italic.woff') format('woff');
	/* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}

/* ibm-plex-sans-500 - latin */
@font-face {
	font-family: 'PlexSans';
	font-style: normal;
	font-weight: 500;
	src: local(''),
		url('./fonts/ibm-plex-sans-v13-latin-500.woff2') format('woff2'),
		/* Chrome 26+, Opera 23+, Firefox 39+ */
		url('./fonts/ibm-plex-sans-v13-latin-500.woff') format('woff');
	/* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}

/* ibm-plex-sans-regular - latin */
@font-face {
	font-family: 'PlexSans';
	font-style: normal;
	font-weight: 400;
	src: local(''),
		url('./fonts/ibm-plex-sans-v13-latin-regular.woff2') format('woff2'),
		/* Chrome 26+, Opera 23+, Firefox 39+ */
		url('./fonts/ibm-plex-sans-v13-latin-regular.woff') format('woff');
	/* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}

/* Interstate */
@font-face {
	font-family: 'Interstate';
	font-style: 500;
	src: local(''),
		url('./fonts/interstate-light.woff2') format('woff2'),
		/* Chrome 26+, Opera 23+, Firefox 39+ */
		url('./fonts/interstate-light.woff') format('woff');
	/* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}


* {
	box-sizing: border-box;
}


body,
html {
	margin: 0;
	padding: 0;
	font-weight: 400;
	font-size: 16px;
	font-family: 'PlexSans', sans-serif;
}


p {
	margin: 0 0 30px;
	line-height: 28px;
	font-size: 18px;
}

p:last-child {
	margin: 0;
}

h1 {
	margin: 0 0 44px;
	line-height: 58px;
	font-size: 54px;
	font-family: 'PlexSans', Courier, monospace;
}

h2 {
	margin: 0 0 40px;
	line-height: 38px;
	font-size: 28px;
	font-family: 'PlexMono', Courier, monospace;
}

h3 {
	margin: 0 0 40px;
	line-height: 38px;
	font-size: 28px;
	font-family: 'PlexMono', Courier, monospace;
}


h4 {
	margin: 0 0 40px;
	line-height: 30px;
	font-size: 22px;
	font-family: 'PlexMono', Courier, monospace;
}

.sc {
	font-style: normal;
	/* disable italics */
	font-variant: small-caps;
}

.label {
	margin: 0 0 30px;
	font-size: 18px;
	font-family: 'PlexMono', Courier, monospace;
}

@media only screen and (max-width: 640px) {
	h1 {
		margin: 0 0 44px;
		line-height: 44px;
		font-size: 40px;
	}

	h2 {
		margin: 0 0 30px;
		line-height: 38px;
		font-size: 28px;
		font-family: 'PlexMono', Courier, monospace;
	}

	h3 {
		margin: 0 0 30px;
		line-height: 38px;
		font-size: 28px;
		font-family: 'PlexMono', Courier, monospace;
	}
	
	h4 {
		margin: 0 0 30px;
		line-height: 30px;
		font-size: 22px;
		font-family: 'PlexMono', Courier, monospace;
	}

	.label {
		margin: 0 0 20px;
		font-size: 16px;
	}
}


/* Header */
header {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 130px;
	z-index: 2;
}


/* Logo */
.logo {
	color: rgba(255, 255, 255, 0);
	position: absolute;
	top: 60px;
	left: 8%;
	width: 140px;
	height: 28px;
	background-image: url("./img/logo-white.svg");
}

@media only screen and (max-width: 640px) {
	.logo {
		top: 30px;
		width: 110px;
		height: 22px;
	}
}


/* Logo */
.navlogo {
	color: rgba(255, 255, 255, 0);
	position: absolute;
	right: 8%;
	top: 10px;
	width: 140px;
	height: 28px;
	background-image: url("./img/logo-white.svg");
}

@media only screen and (max-width: 640px) {
	.navlogo {
		width: 110px;
		height: 22px;
	}
}

/* Logo */
.boothlogo {
	color: rgba(255, 255, 255, 0);
	position: absolute;
	top: 60px;
	left: 8%;
	width: 280px;
        height: 140px;
	background-image: url("./img/boothfulllogo_reverse_concentric.png");
}

@media only screen and (max-width: 640px) {
	.boothlogo {
		top: 30px;
		background-size: 100px 50px;
		width: 100px;
		height: 50px;
	}
}

/* Logo */
.boothfootlogo {
	color: rgba(55, 255, 255, 0);
	position: absolute;
	top: 60px;
	left: 8%;
	width: 50px;
	height: 50px;
	background-image: url("./img/boothfulllogo_reverse.png");
}

@media only screen and (max-width: 640px) {
	.boothfootlogo {
		top: 30px;
		width: 34px;
		height: 34px;
	}
}

/* Main Nav */
nav {
	position: absolute;
	top: 65px;
	right: 8%;
}

nav ul {
	display: flex;
	gap: 48px;
	list-style: none;
	margin: 0;
	text-transform: uppercase;
	font-family: "PlexMono";
	font-size: 18px;
}

nav ul li {
	position: relative;
	margin: 0;
}

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

nav li.is-selected::after {
	content: "";
	display: block;
	position: absolute;
	bottom: -10px;
	left: 0;
	width: 100%;
	height: 2px;
	background-color: white;
}

nav.is-dark a {
	color: black;
}

nav.is-dark li.is-selected::after {
	background-color: black;
}

@media only screen and (max-width: 640px) {
	nav {
		top: 28px;
	}

	nav ul {
		font-size: 15px;
		gap: 21px;
	}

	nav.sm-light a {
		color: white;
	}

	nav.sm-light li.is-selected::after {
		background-color: white;
	}
}


/* Footer */
footer {
	position: relative;
	width: 100%;
	padding: 80px 8% 60px 8%;
}

footer .logo {
	background-image: url("./img/logo-black.svg");
}

footer .boothlogo {
	background-image: url("./img/booth_full_official.svg");
}

footer nav a {
	color: black;
}

footer nav li.is-selected::after {
	background-color: black;
}


/* Footer Terms */
.terms {
	position: relative;
	text-align: right;
}

.terms nav {
	position: relative;
	display: inline-block;
	top: 0;
	right: 0;
	margin: 40px 0 0 0;
}

.terms nav ul {
	gap: 0;
}

.terms nav a {
	padding-right: 10px;
	margin-right: 10px;
	border-right: 1px solid black;
	font-size: 15px;
	font-family: "Interstate";
}

.terms nav li:last-child a {
	padding-right: 0;
	margin-right: 0;
	border-right: none;
}

.copyright {
	margin-left: 40px;
}


/* Hero */
.hero {
	position: relative;
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: center;
	color: white;
	text-align: center;
	min-height: 60vw;
	max-height: 1024px;
	overflow: hidden;
}

.hero .content {
	max-width: 800px;
	padding: 150px 8%;
}

.hero.is-short {
	min-height: auto;
	height: auto;
	text-align: left;
}

.hero.is-short .content {
	padding: 150px 50px 50px 50px;
	margin: 0 auto;
	width: 800px;
}

@media only screen and (min-width: 1400px) {
	.hero {
		min-height: auto;
		height: 60vw;
		max-height: 1024px;
	}

	.hero .content {
		padding: 150px 80px;
	}
}

@media only screen and (max-width: 640px) {
	.hero {
		height: auto;
		min-height: none;
	}

	.hero .content {
		max-width: 800px;
		padding: 32vw 8vw 8vw 8vw;
	}

	.hero.is-short .content {
		padding: 28vw 8vw 8vw 8vw;
		margin: 0 auto;
		max-width: 800px;
	}
}


/* Split */
.split {
	position: relative;
	display: flex;
	align-items: center;
	min-height: 60vw;
	max-height: 1024px;
}

.split .content,
.split .image {
	flex: 1 50%;
}

.split .content {
	padding: 8%;
	min-height: 100%;
}

.split .image {
	align-self: stretch;
}

.split .image.is-inset img {
	top: 80px;
	left: 80px;
	height: calc(100% - 160px);
	width: calc(100% - 80px);
}

.split.is-flipped {
	flex-direction: row-reverse;
}

.split .content.is-dark,
.split.is-dark {
	color: white;
	background: black;
}

.split .content.is-dark::before {
	content: "";
	display: block;
	background: black;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 50%;
	z-index: -1;
}

.split.is-nav-safe .content {
	padding-top: 120px;
}

.split.is-short {
	min-height: auto;
}

@media only screen and (max-width: 640px) {
	.split {
		display: block;
		min-height: none;
		max-height: none;
	}

	.split .content {
		min-height: none;
	}

	.split.is-nav-safe .content {
		padding-top: 50px;
	}

	.split .image {
		height: 50vh;
	}

	.split .content.is-dark::before {
		display: none;
	}

	.split .image.is-inset img {
		top: 8vw;
		left: 8%;
		height: calc(100% - 8vw);
		width: 84vw;
	}

	.split .image.sm-inset img {
		top: 8vw;
		left: 8%;
		height: calc(100% - 8vw);
		width: 84vw;
	}
}


/* Banner */
.banner {
	background-color: #F3F3F3;
	padding: 85px 8%;
}

.banner .content {
	max-width: 800px;
	margin: 0 auto;
	text-align: center;
}

.banner p {
	font-size: 28px;
	line-height: 40px;
}

.banner p b {
	font-family: "PlexMono";
}


/* CTA Form */
.cta-form {
	color: black;
	position: relative;
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: center;
	text-align: center;
	padding: 80px 8%;
}

.cta-form .content {
	width: 100%;
	max-width: 800px;
}


/* Article */
article {
	padding: 85px 0;
}

article .content {
	padding: 0 50px;
	margin: 0 auto;
	max-width: 800px;
}

article .article-image {
	position: relative;
	margin: 50px 0;
}

article .article-image img {
	margin-left: -22%;
	width: 144%;
	height: auto;
}

article .article-image video {
	width: 100%;
	height: auto;
}

article .article-image .caption {
	color: white;
	position: absolute;
	bottom: 45px;
	left: calc(-22% + 45px);
	right: calc(-22% + 45px);
	line-height: 30px;
}

article h3 {
	margin: 0 0 20px;
	line-height: 30px;
	font-size: 24px;
}

article .sc {
	font-style: normal;
	/* disable italics */
	font-variant: small-caps;
	font-variant-numeric: oldstyle-nums;
}

@media only screen and (max-width: 640px) {
	article {
		padding: 40px 0;
	}

	article .content {
		padding: 0 8%;
	}

	article .article-image img {
		margin-left: -10%;
		width: 120%;
		height: auto;
	}

	article .article-image video {
		width: 100%;
		height: auto;
	}

	article .article-image .caption {
		color: rgb(143, 143, 143);
		position: relative;
		margin-top: 20px;
		line-height: 20px;
		bottom: auto;
		left: auto;
		right: auto;
	}

	article h3 {
		margin: 0 0 20px;
		line-height: 30px;
		font-size: 22px;
	}

	article .sc {
		font-style: normal;
		/* disable italics */
		font-variant: small-caps;
		font-variant-numeric: oldstyle-nums;
	}
}


/* Image */
.image {
	position: relative;
}

.image img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}


/* Background */
.background {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: -1;
	background-color: black;
}

.background .overlay {
	background-color: rgba(0, 0, 0, .6);
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.background img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}


/* Tag */
.tag {
	display: inline-block;
	color: white;
	background-color: black;
	padding: 0 20px;
	height: 36px;
	line-height: 36px;
	font-family: "PlexMono";
}

/* Date */
.date {
	display: inline-block;
	line-height: 30px;
	white-space: nowrap;
}


/* Button */
.button {
	display: inline-flex;
	gap: 10px;
	align-items: center;
	color: white;
	background-color: black;
	padding: 0 20px;
	height: 52px;
	line-height: 48px;
	margin-top: 15px;
	font-family: "PlexMono";
	font-size: 18px;
	text-decoration: none;
}

.is-dark .button {
	color: black;
	background-color: white;
}


/* Form */
form {
	display: flex;
	gap: 20px;
	padding: 0 8%;
}

form button {
	color: black;
	background-color: white;
	border: none;
	padding: 0;
	width: 120px;
	height: 52px;
	line-height: 48px;
	font-family: "PlexMono";
	font-size: 18px;
	cursor: pointer;
}

form fieldset {
	position: relative;
	flex: 1;
	padding: 0;
	border: none;
}

form fieldset img {
	position: absolute;
	top: 14px;
	left: 15px;
}

form fieldset input {
	width: 100%;
}

form input[type=text] {
	color: white;
	background-color: transparent;
	padding: 0 0 0 15px;
	height: 52px;
	border: 2px solid white;
	padding: 0 0 0 50px;
	margin-right: 20px;
	font-family: "Interstate";
	font-size: 15px;
}

form input[type=text]::placeholder {
	color: white;
	font-family: "Interstate";
	font-size: 15px;
}

form input[type=text]:focus::placeholder {
	color: transparent !important;
}

form input[type=text]:-webkit-autofill+img,
form input[type=text]:-webkit-autofill+img {
	filter: invert(1);
}

form select.region-select {
	color: black;
	background-color: white;
	height: 52px;
	border: 2px solid black;
	padding: 0 0 0 10px;
	font-family: "Interstate";
	font-size: 15px;
	width: 100%;
}

form.is-dark button {
	color: white;
	background-color: black;
}

form.is-dark input[type=text] {
	color: black;
	border: 2px solid black;
}

form.is-dark input[type=text]::placeholder {
	color: black;
}

form .h {
	display: none;
}

@media only screen and (max-width: 640px) {
	form {
		flex-direction: column;
		margin: 50px 0 0 0;
		padding: 0;
	}
}

/* Cards */
.cards {
	display: flex;
	flex-wrap: wrap;
	gap: 50px;
	padding: 8vw;
}

.card {
	flex-basis: calc(33.333% - 34px);
	margin-bottom: 50px;
}

/* .card:first-child {
	display: none;
} */

@media only screen and (max-width: 800px) {
	.card {
		flex-basis: calc(50% - 25px);
		margin-bottom: 80px;
	}
}

@media only screen and (max-width: 640px) {
	.cards {
		padding-top: 70px;
		display: block;
	}

	.card {
		flex-basis: calc(33.333% - 34px);
		margin-bottom: 80px;
	}
}
