html {
	font-size: calc(100vh / 760);
}

html,
body {
	margin: 0;
	padding: 0;
	font-family: alright sans;
	color: #ffffff;
	background-color: #2242cc;
	height: 100%;
	width: 100%;
	display: block;
}

body {
	overscroll-behavior: none;
	overflow-x: hidden;
}

body.isTouch {
		overflow: hidden;
	}

body.isTouch #stage {
			position: absolute;
		}

* {
	position: relative;
	box-sizing: border-box;
	margin: 0;
	padding: 0;
	border: 0;
	-webkit-tap-highlight-color: rgba(255, 255, 255, 0);
	-webkit-font-smoothing: antialiased;
	-webkit-text-size-adjust: none;
}

*.disabled {
		pointer-events: none;
		cursor: default;
	}

.all-caps {
	text-transform: uppercase;
}

sup {
	font-size: 0.5em;
	font-weight: 300;
}

.BambooHR-ATS-board h2 {
		font-size: 19rem !important;
		color: #fff !important;
		border-bottom: 1px solid #fff !important;
	}

.BambooHR-ATS-board ul {
		font-size: 12rem !important;
	}

.BambooHR-ATS-board ul.BambooHR-ATS-Jobs-List li {
				display: flex;
				flex-direction: row;
				justify-content: space-between;
			}

.BambooHR-ATS-board ul li {
			color: #fff !important;
		}

.BambooHR-ATS-board a {
		font-size: 16rem !important;
	}

.BambooHR-ATS-board .BambooHR-ATS-blankState {
		color: #adadad;
		font-size: 15rem !important;
	}

.BambooHR-ATS-board .BambooHR-ATS-blankState strong {
			font-size: 16rem !important;
		}

#BambooHR-Footer {
	font-size: 12rem !important;
	color: #fff !important;
	margin: 9rem 9rem 0 0 !important;
}

#scrollArea {
	position: absolute;
	width: 0;
	height: 0;
	overflow: hidden;
}

#stage {
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	overflow: hidden;
}

#contactForm input,
	#contactForm .select,
	#contactForm .select select,
	#contactForm textarea {
		font-family: inherit;
		font-size: 1em;
		padding: 0.4em;
		display: inline-block;
		color: inherit;
	}

#contactForm .select select {
		padding-left: 0;
	}

#contactForm textarea {
		width: 100%;
		height: 6em;
		resize: none;
	}

#contactForm textarea::-webkit-input-placeholder {
		color: inherit;
	}

#contactForm textarea:-moz-placeholder {
		/* Firefox 18- */
		color: inherit;
	}

#contactForm textarea::-moz-placeholder {
		/* Firefox 19+ */
		color: inherit;
	}

#contactForm textarea:-ms-input-placeholder {
		color: inherit;
	}

#contactForm textarea::placeholder {
		color: inherit;
	}

#contactForm input,
	#contactForm .select {
		width: 50%;
	}

#contactForm ::placeholder {
		color: inherit;
		opacity: ;
	}

#contactForm :-ms-input-placeholder {
		color: inherit;
	}

#contactForm ::-ms-input-placeholder {
		color: inherit;
	}

#contactForm .field {
		/* background-color: rgba(0, 0, 0, 0.1); */
		border-bottom: 1px solid white;
		background: transparent !important;
		background-color: transparent !important;
		border-radius: 0.2em;
	}

#contactForm .field.error {
			border-bottom: 1px solid red;
			color: red;
		}

#contactForm .field.error ::placeholder {
				color: red;
				opacity: 1;
			}

#contactForm .field.error :-ms-input-placeholder {
				color: red;
			}

#contactForm .field.error ::-ms-input-placeholder {
				color: red;
			}

#contactForm .field input {
			color: inherit;
		}

#contactForm .table {
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		margin-bottom: 0.5em;
	}

#contactForm .table .row {
			display: flex;
			flex-direction: row;
		}

#contactForm .table .row > * {
				margin: 0.25em;
			}

#contactForm button {
		font-size: 1em;
		color: #ffffff;
		padding: 0.5em;
		font-weight: 700;
		text-transform: uppercase;
		background-color: transparent;
		letter-spacing: 0.05em;
		border-radius: 0.2em;
		margin: 0.25em;
		/* border-bottom: 1px solid white; */
		cursor: pointer;
	}

#contactForm .select:after {
			content: "";
			width: 0;
			height: 0;
			border-left: 0.33em solid transparent;
			border-right: 0.33em solid transparent;
			border-top: 0.33em solid #ffffff;
			position: absolute;
			right: 0.5em;
			top: calc(50% - 0.16em);
			user-select: none;
			pointer-events: none;
		}

#contactForm .select select {
			width: 100%;
			background: transparent;
			background-color: transparent;
			-webkit-appearance: none;
			-moz-appearance: none;
			appearance: none;
			font-family: inherit;
		}

#contactForm .select select option {
			background: white;
			color: black;
			font-family: inherit;
		}

#stats {
	position: absolute;
	top: 0;
	left: 0;
	font-size: 20rem;
}

#bg {
	position: absolute;
	width: 100%;
	height: 100%;
	opacity: 1;
	-webkit-transition: opacity 0.66s ease;
	-moz-transition: opacity 0.66s ease;
	-ms-transition: opacity 0.66s ease;
	-o-transition: opacity 0.66s ease;
	transition: opacity 0.66s ease;
	background-color: #2242cc;
}

#bg:after {
		position: absolute;
		width: 100%;
		height: 100%;
		content: "";
		background-color: rgba(58, 73, 214, 0.6);
		opacity: 0;
		transition: opacity 0.5s ease 0s;
		pointer-events: none;
	}

#bg * {
		position: absolute;
		top: 0;
		left: 0;
	}

#introOverlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #2242cc;
}

#cinematic {
	text-align: center;
	margin-top: 25rem;
}

#cinematic .headline {
		font-size: 12.5rem;
		font-weight: 400;
		letter-spacing: 0.15em;
		text-transform: uppercase;
	}

#cinematic .message {
		margin-top: 3em;
		font-size: 11rem;
		font-weight: 400;
		letter-spacing: 0.15em;
	}

#cinematic .message p {
			margin-bottom: 1em;
		}

#cinematic .message p:last-child {
				margin-bottom: 0;
			}

#cinematic a {
		border-bottom: 1rem solid rgba(255, 255, 255, 0);
		transition: border-bottom 0.5s ease 0s;
	}

#cinematic a:hover {
			border-bottom: 0.5rem solid rgba(255, 255, 255, 1);
		}

#stage #logo {
	position: absolute;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	left: 0;
	margin-left: 0;
	height: 100%;
	top: 0;
	user-select: none;
	text-align: center;
}

#stage #logo img {
		position: relative;
		width: 270rem;
		height: auto;
		display: inline-block;
	}

#stage #logo .logo-wrapper {
		width: 500rem;
		transform-origin: 50% 0;
	}

#introText {
	position: absolute;
	width: 100%;
	text-align: center;
	font-size: 12rem;
	text-transform: uppercase;
	font-weight: 700;
	letter-spacing: 0.4em;
	bottom: 20rem;
}

#introText a {
		display: inline-block;
		position: relative;
		font-size: 1.2em;
	}

#introText #arrowDown {
		position: relative;
		width: 3.25em;
	}

#hamburger {
	position: absolute;
	left: 30rem;
	top: 30rem;
	width: 32rem;
	height: 32rem;
}

#hamburger svg {
		position: absolute;
		width: 100%;
		height: 100%;
	}

#ui {
	position: static;
	-webkit-transition: opacity 0.66s ease;
	-moz-transition: opacity 0.66s ease;
	-ms-transition: opacity 0.66s ease;
	-o-transition: opacity 0.66s ease;
	transition: opacity 0.66s ease;
}

#titles {
	position: absolute;
	text-align: center;
	width: 80%;
	left: 10%;
	height: 560rem;
	margin-top: -220rem;
	top: 50%;
	opacity: 0;
	transition: opacity 0.66s ease;
}

#titles.init {
		opacity: 1;
	}

#titles .project {
		position: absolute;
		width: 100%;
		top: 0;
	}

#titles .project.hidden #title {
				opacity: 0;
				/*
					transform: scaleX(0.25) scaleY(0.25);
					-ms-transform: scaleX(0.25) scaleY(0.25);
					-webkit-transform: scaleX(0.25) scaleY(0.25);
					*/
			}

#titles .project #title {
			position: relative;
			width: 100%;
			opacity: 0.4;
			-webkit-transition: opacity 0.5s ease;
			transition: opacity 0.5s ease;
			user-select: none;
		}

#titles .project #title.bold {
				opacity: 1;
			}

#titles .project #title p {
				font-size: 50rem;
				line-height: 1em;
				letter-spacing: 0.1em;
				font-weight: 200;
				text-transform: uppercase;
			}

#titles .project #title p.largest {
					font-size: 70rem;
				}

#titles .project #title p.larger {
					font-size: 65rem;
				}

#titles .project #title p.smaller {
					font-size: 37.5rem;
					letter-spacing: 0.15em;
				}

#titles .project #title p.smallest {
					font-size: 32.5rem;
					letter-spacing: 0.15em;
				}

#titles .project #title p.thiniest {
					font-size: 30rem;
					letter-spacing: 0.15em;
				}

#titles .project #title p.extra-small {
					font-size: 16rem;
					font-weight: 300;
				}

#titles .project .projectContent {
			position: absolute;
			width: 100%;
		}

#titles .project #client {
			position: absolute;
			font-size: 12rem;
			font-weight: 800;
			letter-spacing: 0.4em;
			text-transform: uppercase;
			width: 100%;
			top: -1em;
			transform: translateY(-100%);
			-ms-transform: translateY(-100%);
			-webkit-transform: translateY(-100%);
		}

#titles .project #extra {
			position: relative;
			font-size: 16rem;
			font-weight: 300;
			letter-spacing: 0.05em;
			width: 100%;
			margin-top: 10rem;
			text-transform: uppercase;
		}

.icon {
	width: 40rem;
	height: auto;
}

#tools {
	position: absolute;
	bottom: -50rem;
	width: 100%;
	text-align: center;
	-webkit-transition: All 0.5s ease 0s;
	-moz-transition: All 0.5s ease 0s;
	-ms-transition: All 0.5s ease 0s;
	-o-transition: All 0.5s ease 0s;
	transition: All 0.5s ease 0s;
}

#tools.visible {
		bottom: 40rem;
	}

#tools .icon {
		margin: 0 5rem;
	}

#tools a {
		display: inline-block;
	}

a {
	cursor: pointer;
	color: #ffffff;
	text-decoration: none;

	/*
		&:link {
			color: #ffffff;
		}

		&:hover {
			text-decoration: underline;
		}
		*/
}

br.portrait {
	display: none;
}

.hasOverlay #stage #ui {
			opacity: 0;
		}

.hasOverlay #stage #bg:after {
				opacity: 1;
			}

.project #contactForm {
		width: 40%;
		margin-left: 30%;
	}

.project .info {
		display: none;
	}

.project .info.visible {
			display: block;
		}

.projectNav {
	position: relative;
}

.projectNav a {
		position: relative;
		font-weight: 700;
		font-size: 10rem;
		display: inline-block;
		margin: 5rem;
		text-transform: uppercase;
		letter-spacing: 0.2em;
		padding: 1.5em;
	}

.projectNav a .arrow {
			position: absolute;
			width: 11rem;
			height: 6rem;
			left: 50%;
			margin-left: -5.5rem;
			bottom: 0;
			opacity: 0;
		}

.projectInfo {
	position: relative;
}

.projectInfo .info {
		position: absolute;
		top: 0;
		width: 56%;
		margin-left: 22%;
		font-size: 12rem;
		font-weight: 400;
		letter-spacing: 0.05em;
		line-height: 1.4em;
	}

.projectInfo .info p {
			margin: 10rem 0;
		}

.projectInfo .info a {
			border-bottom: 1rem solid rgba(255, 255, 255, 0.5);
			transition: border-bottom 0.5s ease 0s;
		}

.projectInfo .info a:hover {
				border-bottom: 0.5rem solid rgba(255, 255, 255, 1);
			}

.projectInfo #awards {
		font-family: Knockout, Helvetica, Arial;
		font-size: 11rem;
		letter-spacing: 0.2em;
		line-height: 1.5em;
		width: 54%;
		margin-left: 23%;
		text-transform: uppercase;
	}

.projectInfo #awards .award {
			margin: 0 10rem;
			display: block;
		}

.projectInfo #awards .show {
			/* margin-left: 5rem; */
			font-weight: bold;
		}

.projectInfo #awards .prize {
			/* margin-right: 5rem; */
		}

.projectInfo #description p.available > * {
					font-family: Knockout, Helvetica, Arial;
					font-size: 11rem;
					margin: 0 20rem;
					display: inline-block;
					text-transform: uppercase;
					letter-spacing: 0.2em;
					line-height: 1.4em;
				}

.projectInfo #description p.awards {
				text-align: center;
				margin-top: 1em;
			}

.projectInfo #description p.awards a {
					text-decoration: none;
					border: none;
				}

.projectInfo #description p.awards > * {
					display: inline-block;
					margin: 0 20rem;
					vertical-align: middle;
				}

.projectInfo #description p.awards > *:first-child {
						margin-left: 0;
					}

.projectInfo #description p.awards > *:last-child {
						margin-right: 0;
					}

.projectInfo #description .store-links {
			padding: 0;
			display: inline-block;
			font-weight: bold;
		}

.projectInfo #description .store-links .available-on {
				position: relative;
				text-align: center;
				display: block;
				font-size: 11rem;
				margin: 0.5em 0;
			}

.projectInfo #description .store-links .store-links-row {
				display: block;
				padding: 0 0 0.75em;
				font-size: 10rem;
			}

.projectInfo #description .store-links .store-links-row:last-child {
					padding-bottom: 0;
				}

.projectInfo #description .store-links .store-links-row > * {
					font-size: 1em;
					margin: 0.25em 1em;
					display: inline-block;
				}

.projectInfo #description .store-links .store-links-row > * a {
						text-transform: uppercase;
						font-size: 1em;
						white-space: nowrap;
						text-decoration: none;
						border-bottom: none !important;
						display: inline-block;
					}

.projectInfo #description .store-links .store-links-row > * a:last-child {
							margin-right: 0;
						}

.projectInfo #description .store-links .store-links-row > * img.store-icon {
						font-size: 1em;
						height: 1.5em;
						display: inline-block;
						vertical-align: middle;
					}

.projectInfo #description .store-links .store-links-row > * img.store-icon + span {
							margin-left: 1em;
							display: inline-block;
							vertical-align: middle;
						}

.projectInfo #description .store-links .store-links-row > * img.store-icon.icon-meta-quest {
							height: 1.25em;
						}

.projectInfo #description .store-links .store-links-row > * img.store-icon.icon-meta-quest-tv {
							height: 1.25em;
						}

.projectInfo #description .store-links .store-links-row > * img.store-icon.icon-5g-360 {
							height: 2.5em;
						}

.projectInfo #description .store-links .store-links-row > * img.store-icon.icon-dome-360 {
							height: 3em;
						}

.projectInfo #description .store-links .store-links-row > * img.store-icon.icon-infinity {
							height: 2.85em;
						}

.projectInfo #description .store-links .store-links-row > * img.store-icon.icon-giant-screen {
							height: 2em;
						}

.projectInfo #description .store-links .store-links-row > * img.store-icon.icon-telco-logos {
							height: 3em;
						}

.projectInfo #credits {
		font-family: Knockout, Helvetica, Arial;
		font-size: 11rem;
		letter-spacing: 0.2em;
		line-height: 1.5em;
		width: 54%;
		margin-left: 23%;
		text-transform: uppercase;
	}

.projectInfo #credits span {
			display: inline;
			margin-left: 5rem;
			margin-right: 5rem;
		}

.vignette {
	position: absolute;
	width: 100%;
	height: 100%;
	pointer-events: none;
}

.social {
	position: absolute;
	right: 30rem;
	white-space: nowrap;
	-webkit-transition: bottom 0.5s ease 0s;
	-moz-transition: bottom 0.5s ease 0s;
	-ms-transition: bottom 0.5s ease 0s;
	-o-transition: bottom 0.5s ease 0s;
	transition: bottom 0.5s ease 0s;
	bottom: 40rem;
}

.social a {
		position: relative;
		display: inline-block;
		margin: 0 5rem;
	}

.social a img {
			position: relative;
			display: block;
			width: 20rem;
			height: 16rem;
		}

#stage .social {
		bottom: -40rem;
	}

#stage .social.visible {
			bottom: 40rem;
		}

.icon {
	-webkit-transition: all 0.2s ease;
	-moz-transition: all 0.2s ease;
	-ms-transition: all 0.2s ease;
	-o-transition: all 0.2s ease;
	transition: all 0.2s ease;
}

.icon:hover {
		transform: scaleX(1.1) scaleY(1.1);
		-ms-transform: scaleX(1.1) scaleY(1.1);
		-webkit-transform: scaleX(1.1) scaleY(1.1);
	}

.icon:active {
		transform: scaleX(0.9) scaleY(0.9);
		-ms-transform: scaleX(0.9) scaleY(0.9);
		-webkit-transform: scaleX(0.9) scaleY(0.9);
	}

.st0 {
	stroke: #ffffff;
	stroke-miterlimit: 2;
	stroke-width: 1px;
	fill: transparent;
}

a:hover .st0, a:active .st0 {
			stroke-width: 2px;
		}

.testCanvas {
	position: absolute;
	top: 0;
	left: 0;
}

.overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	display: none;
	text-align: center;
	font-size: 0;
	white-space: nowrap;
}

.overlay nobr {
		white-space: nowrap;
	}

.overlay.visible {
		display: block;
	}

.overlay * {
		white-space: normal;
	}

.overlay .table {
		display: inline-table;
		position: relative;
		height: 100%;
		vertical-align: top;
	}

.overlay #menu {
		text-align: right;
		margin-right: 125rem;
	}

.overlay #menu a {
			display: block;
			font-size: 14rem;
			margin: 20rem 0;
			color: #ffffff;
			opacity: 0.5;
			text-transform: uppercase;
			font-weight: 700;
			transition: opacity 0.5s ease 0s;
		}

.overlay #menu a:hover {
				opacity: 1;
			}

.overlay #menu a.selected {
				opacity: 1;
			}

.overlay #menu a:first-child {
				margin-top: 0;
			}

.overlay #menu a:last-child {
				margin-bottom: 0;
			}

.overlay #contents {
		width: 600rem;
		text-align: left;
	}

.overlay #closeButton {
		position: absolute;
		display: inline-block;
		left: 50%;
		margin-left: -20rem;
		bottom: 40rem;
	}

.overlay .content {
		width: 100%;
		height: 100%;
		vertical-align: middle;
		display: none;
		font-size: 15rem;
		font-weight: 200;
	}

.overlay .content.visible {
			display: table-cell;
		}

.overlay .content .overlayContent {
			min-height: 350rem;
		}

.overlay .content#about ul,
			.overlay .content#about li {
				list-style-type: circle;
			}

.overlay .content#about li {
				margin-bottom: 0.75em;
			}

.overlay .text {
		position: absolute;
		text-align: left;
		width: 100%;
		height: 68%;
		top: 20%;
		overflow: hidden;
		scroll-behavior: auto;
		padding-bottom: 60rem;
		padding-top: 60rem;
		-webkit-mask-image: -webkit-linear-gradient(
			top,
			rgba(0, 0, 0, 0),
			rgba(0, 0, 0, 1),
			rgba(0, 0, 0, 1),
			rgba(0, 0, 0, 1),
			rgba(0, 0, 0, 1),
			rgba(0, 0, 0, 1),
			rgba(0, 0, 0, 1),
			rgba(0, 0, 0, 1),
			rgba(0, 0, 0, 1),
			rgba(0, 0, 0, 0)
		);
		/*
		p {
			&:last-child {
				margin-bottom: 0;
			}
		}
		*/
	}

.overlay p {
		margin-bottom: 1em;
	}

.overlay #team a {
			font-family: inherit;
			color: inherit;
			font-weight: inherit;
		}

.overlay #team .icon-email {
			width: auto;
			height: 0.5em;
			display: inline-block;
			opacity: 0.85;
			transition: opacity 0.5s ease;
			margin-bottom: 0.1em;
			margin-left: 0.25em;
		}

.overlay #team .icon-email path {
				fill: #ffffff;
			}

.overlay #team hr {
			display: block;
			width: 100%;
			height: 0.1rem;
			background-color: white;
			margin-bottom: 1em;
		}

.overlay #team .team-name {
			text-transform: uppercase;
		}

.overlay #team .team-title {
			font-size: 0.8em;
		}

.overlay .closeOverlay {
		position: absolute;
		width: 100%;
		height: 100%;
		left: 0;
		top: 0;
		display: none;
	}

.overlay .content .list > div {
				width: 50%;
				/*padding-left: 0.75em;*/
				padding-right: 0.75em;
			}

.overlay.visible .closeOverlay {
			display: block;
		}

#press {
	font-size: 14rem;
}

#press .quote {
		font-size: 0.8em;
		display: none;
	}

#press a {
		font-size: 12rem;
		line-height: 1.2;
		display: inline-block;
		font-weight: 200;
	}

#press a b {
			font-weight: 400;
			font-size: 15rem;
		}

#press a:hover b {
				text-decoration: underline;
				text-decoration-color: rgba(255, 255, 255, 0.5);
			}

#press a::after {
			bottom: -4rem;
			height: 0.01em;
			content: none;
		}

#careers {
	font-size: 14rem;
}

#careers .quote {
		font-size: 0.8em;
		display: block;
	}

#careers a {
		font-size: 18rem;
		line-height: 1.2em;
	}

#carrieres {
	font-size: 14rem;
}

#carrieres .quote {
		font-size: 0.8em;
		display: block;
	}

#carrieres a {
		font-size: 18rem;
		line-height: 1.2em;
	}

#contact a {
		font-weight: 400;
	}

#contact #menu {
		display: none;
	}

#contact .contact-text {
		margin-bottom: 30rem;
	}

#contact .contact-links {
		font-size: 14rem;
		list-style-type: none;
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
	}

#contact .contact-links li {
			margin-bottom: 0.9em;
			flex-grow: 1;
			flex-shrink: 1;
			width: 100%;
		}

#contact .contact-links li span.contact-link-title {
					display: block;
				}

#contact .contact-links li:last-child {
				margin-bottom: 30rem;
			}

#contact #contactForm {
		margin-bottom: 3em;
	}

#contact #contactForm .form-content {
			display: none;
		}

#contact #contactForm .form-content.visible {
				display: block;
			}

#contact #contactForm .form-body {
			font-size: 12rem;
		}

#contact #contactForm .row {
			width: 100%;
		}

#contact .addresses {
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
		width: 100%;
	}

#contact .addresses .address-container {
			flex-grow: 1;
			flex-shrink: 1;
			width: 50%;
		}

#contact .address {
		position: relative;
		font-size: 0;
	}

#contact .address b {
			font-weight: 400;
		}

#contact .address p {
			position: relative;
			display: inline-block;
			margin-left: 2%;
			margin-right: 2%;
			text-align: left;
			font-size: 14rem;
			vertical-align: top;
			font-weight: 200;
			line-height: 1.4;
			margin-bottom: 1em;
		}

#contact .address p:first-child {
				margin-left: 0%;
			}

#contact .address p:last-child {
				margin-right: 0%;
			}

#contact a {
		border-bottom: 0.5rem solid rgba(255, 255, 255, 0);
		transition: border-bottom 0.5s ease 0s;
	}

#contact a:hover {
			border-bottom: 0.5rem solid rgba(255, 255, 255, 1);
		}

#talent {
	position: static;
}

#talent #jobs {
		position: static;
	}

#talent #job-description {
		position: static;
	}

#talent .text a.button {
			display: inline-block;
			font-weight: 400;
			margin-top: 1em;
			font-size: 0.8em;
			margin-left: 2em;
		}

#talent .text a.button:first-child {
				margin-left: 0;
			}

h1 {
	font-size: 1.6em;
	font-weight: 400;
	margin: 0.5em 0;
}

h2 {
	font-size: 1.2em;
	font-weight: 400;
	margin: 0.5em 0;
}

.text ul {
		list-style: disc;
		margin: 0.5em 0;
	}

.text ul li {
			margin-left: 1em;
		}

.text a {
		font-weight: 400;
	}

.text a:after {
			content: "";
			position: absolute;
			bottom: 0;
			left: 0;
			width: 100%;
			display: block;
			height: 0.05em;
			background-color: #ffffff;
			opacity: 0;
			transition: opacity 0.3s ease 0s;
		}

.text a:hover:after {
				opacity: 1;
			}

#mapContainer {
	position: absolute;
	top: 0;
	left: 0;
	width: 600rem;
}

#mapContainer .map {
		visibility: hidden;
	}

.map {
	position: relative;
	width: 100%;
	height: 120rem;
	margin-top: 15rem;
}

#sideMenu {
	position: absolute;
	top: 0;
	height: 100%;
	display: table;
	right: -250rem;
	transition: right 0.66s ease 0s;
}

#sideMenu.visible {
		right: 20rem;
	}

#sideMenu #cell {
		position: relative;
		top: 0;
		left: 0;
		height: 100%;
		display: table-cell;
		vertical-align: middle;
		text-align: left;
	}

.sideProject {
	position: relative;
	display: block;
	white-space: nowrap;
	padding: 4rem 0;
	text-align: right;
}

.sideProject #circle {
		position: relative;
		display: inline-block;
		width: 6rem;
		height: 6rem;
		border-radius: 20rem;
		margin-left: 10rem;
		margin-right: 10rem;
		/*
		border-width: 2rem;
		border-style: solid;
		border-color: #ffffff;
		*/
		box-shadow: inset 0px 0px 0px 1px #fff;
		overflow: hidden;
		vertical-align: middle;
		z-index: 0;
	}

.sideProject #circle #fill {
			position: relative;
			display: block;
			width: 100%;
			height: 100%;
			background-color: #ffffff;
			transform: scaleX(0) scaleY(0);
		}

.sideProject #title {
		position: absolute;
		display: inline-block;
		font-size: 10rem;
		vertical-align: middle;
		letter-spacing: 0.15em;
		font-weight: 400;
		text-transform: uppercase;
		color: #ffffff;
		white-space: nowrap;
		opacity: 0;
		right: 30rem;
		top: 50%;
		transform: translateY(-50%);
		transition: opacity 0.5s ease 0s;
	}

.sideProject.selected #circle #fill {
				transform: scaleX(1) scaleY(1);
				-ms-transform: scaleX(1) scaleY(1);
				-webkit-transform: scaleX(1) scaleY(1);
			}

.sideProject.selected #title {
			font-weight: 700;
			opacity: 1;
		}

.sideProject:hover #title {
			opacity: 1;
		}

.awards img {
		width: 50rem;
	}

.awards img.sundance {
			width: 75rem;
		}

.awards img.sundance2 {
			width: 65rem;
		}

.awards img.hotdocs {
			width: 75rem;
			display: none;
		}

.awards img.tribeca {
			width: 45rem;
		}

.awards img.sxsw {
			width: 60rem;
		}

.awards img.sxsw2017 {
			width: 50rem;
		}

.languageMenu {
	position: absolute;
	display: block;
	right: 30rem;
	top: 30rem;
	font-size: 10rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.3em;
	line-height: 2.5em;
}

.languageMenu .button {
		position: relative;
		display: inline-block;
		cursor: pointer;
	}

.languageMenu .button .arrow {
			display: inline-block;
			vertical-align: middle;
			width: 11rem;
			height: 6rem;
			margin-left: 7.5rem;
			-webkit-transition: -webkit-transform 0.5s;
			transition: transform 0.5s;
		}

.languageMenu .other {
		position: relative;
		display: block;
		overflow: hidden;
	}

.languageMenu .other .list {
			position: relative;
			display: block;
			border-bottom: solid 1px;
			transform: translateY(-98%);
		}

.languageMenu .other a {
			position: relative;
			display: block;
		}

.languageMenu.opened .button .arrow {
				transform: rotate(180deg);
				-ms-transform: rotate(180deg);
				-webkit-transform: rotate(180deg);
			}

@media all and (orientation: landscape) and (max-width: 1280px) {
	html {
		/* font-size: calc(100vw * 10 / 1024); */
		font-size: calc(100vh / 800);
	}

	.projectInfo #credits {
		width: 64%;
		margin-left: 18%;
	}

	.projectInfo .info {
		width: 60%;
		margin-left: 20%;
	}
}

@media all and (orientation: landscape) and (max-width: 980px) {
	html {
		/* font-size: calc(100vw * 10 / 1024); */
		font-size: calc(100vh / 680);
	}
	/* .sideProject {
		padding: 0;
	} */
			#stage .overlay #contents {
				width: 400rem;
			}
}

@media all and (orientation: portrait) {
	html {
		font-size: calc(100vw / 768);
	}

	br.portrait {
		display: block;
	}

	#titles {
		width: 80%;
		left: 10%;
		height: 550rem;
		margin-top: -250rem;
	}
				#titles .project #title p {
					font-size: 40rem;
				}

					#titles .project #title p.largest {
						font-size: 50rem;
					}

					#titles .project #title p.larger {
						font-size: 45rem;
					}

					#titles .project #title p.smaller {
						font-size: 30rem;
					}

					#titles .project #title p.smallest {
						font-size: 25rem;
					}

					#titles .project #title p.extra-small {
						font-size: 16rem;
						font-weight: 300;
					}
			#titles .project #client {
				width: 90%;
				left: 5%;
			}
		#stage #logo .logo-wrapper {
			width: 500rem;
		}

	.overlay {
		padding: 160rem 40rem 120rem;
	}

		.overlay #menu {
			margin-right: 0;
			/*margin-bottom: 30rem;*/
			text-align: center;
			width: 100%;
		}

			.overlay #menu a {
				display: inline-block;
				margin: 0.5em 1em;
			}

		.overlay .table {
			display: table;
			position: relative;
			height: auto;
			vertical-align: top;
		}

		.overlay #contents {
			text-align: left;
			width: 100%;
			/*height: 450rem;*/
			height: 100%;
		}

		.overlay .text {
			height: 100%;
			top: 0%;
			padding-bottom: 50rem;
			padding-top: 50rem;
		}
		.projectInfo .info {
			width: 90% !important;
			margin-left: 5% !important;
		}
		.sideProject #title {
			display: none;
		}

	.languageMenu {
		font-size: 15rem;
	}

	/*
		.st0 {
			stroke-width:1.5rem;
		}
	*/
}

@media all and (orientation: portrait) and (max-width: 640px) {
	html {
		font-size: calc(100vw / 480);
	}
				#titles .project #title p {
					font-size: 30rem;
				}

					#titles .project #title p.largest {
						font-size: 35rem;
					}

					#titles .project #title p.larger {
						font-size: 32.5rem;
					}

					#titles .project #title p.smaller {
						font-size: 20rem;
					}

					#titles .project #title p.smallest {
						font-size: 20rem;
					}

					#titles .project #title p.extra-small {
						font-size: 12rem;
						font-weight: 300;
					}
		#stage #logo .logo-wrapper {
			width: calc(100% - 60rem);
			transform-origin: 50% 0;
		}
			#contact .contact-links li {
				width: 100%;
			}
			#contact .address p {
				display: block;
				width: 100%;
				margin-left: 0;
				margin-right: 0;
			}

				#contact .address p:first-child {
					margin-left: 0;
				}

				#contact .address p:last-child {
					margin-right: 0;
				}
		#sideMenu.visible {
			right: 10rem;
		}
		.projectNav a {
			padding: 1.5em 0.5em;
		}

	.map {
		height: 100rem;
	}
}

html.standalone {
	font-size: 0.8px;
}

html.standalone body {
		padding: 20rem;
		font-size: 12rem;
	}

html.standalone h1,
	html.standalone h2,
	html.standalone h3,
	html.standalone h4,
	html.standalone h5,
	html.standalone h6 {
		font-weight: bold;
	}

html.standalone p {
		margin: 1em 0;
	}

html.standalone #logo {
		position: relative;
		text-align: center;
		display: block;
		padding: 30rem 0;
	}

html.standalone #logo img {
			position: relative;
			height: auto;
			display: inline-block;
			width: 110rem;
		}

html.standalone .standalone-content {
		position: relative;
		margin: 0 auto;
		margin-bottom: 8em;
		line-height: 1.2;
		max-width: 100%;
	}

html.standalone .standalone-content a {
			text-decoration: underline;
		}

html.standalone .standalone-content p {
			line-height: 1.2;
		}

html.standalone .social {
		position: relative;
		text-align: right;
	}

html.standalone .languageMenu {
		font-size: 12rem;
		right: 20rem;
		top: 20rem;
	}

@media all and (min-width: 480px) {
	html.standalone {
		font-size: 0.9px;
	}

		html.standalone .standalone-content {
			max-width: 459rem;
		}
}

@media all and (min-width: 780px) {
	html.standalone {
		font-size: 1px;
	}

		html.standalone body {
			padding: 30rem;
		}

		html.standalone .standalone-content {
			max-width: 627rem;
		}
}

@media all and (min-width: 1200px) {
	html.standalone {
		font-size: 1.2px;
	}

		html.standalone body {
			padding: 40rem;
		}

		html.standalone .standalone-content {
			max-width: 638rem;
		}
}

