@keyframes hero {
	from {
		opacity: 0;
	}

	5% {
		opacity: 1;
	}

	25% {
		opacity: 1;
	}

	30% {
		opacity: 0;
	}

	to {
		opacity: 0;
	}
}

@keyframes hero-title {
	from {
		color: var(--foundation-white);
		text-shadow: var(--lift-text-6);
	}

	50% {
		color: var(--foundation-white);
		text-shadow: var(--lift-text-6);
	}

	55% {
		color: var(--foundation-primary);
		text-shadow: none;
	}

	75% {
		color: var(--foundation-primary);
		text-shadow: none;
	}

	80% {
		color: var(--foundation-white);
		text-shadow: var(--lift-text-6);
	}

	to {
		color: var(--foundation-white);
		text-shadow: var(--lift-text-6);
	}
}

@keyframes hero-subtitle {
	from {
		color: var(--foundation-white);
		text-shadow: var(--lift-text-4);
	}

	50% {
		color: var(--foundation-white);
		text-shadow: var(--lift-text-4);
	}

	55% {
		color: var(--foundation-black);
		text-shadow: none;
	}

	75% {
		color: var(--foundation-black);
		text-shadow: none;
	}

	80% {
		color: var(--foundation-white);
		text-shadow: var(--lift-text-4);
	}

	to {
		color: var(--foundation-white);
		text-shadow: var(--lift-text-4);
	}
}

.hero,
.hero .morning,
.hero .afternoon,
.hero .evening,
.hero .night {
	background-position: center bottom;
	background-size: cover;
	background-repeat: no-repeat;
}

.hero {
	position: relative;
	padding-top: 3rem;
	background-color: #84a575;
	background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAARCAIAAAAg6XlfAAAAAXNSR0IArs4c6QAAAAlwSFlzAAALEwAACxMBAJqcGAAAA+ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IlhNUCBDb3JlIDUuNC4wIj4KICAgPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICAgICAgPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIKICAgICAgICAgICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICAgICAgICAgICB4bWxuczp0aWZmPSJodHRwOi8vbnMuYWRvYmUuY29tL3RpZmYvMS4wLyIKICAgICAgICAgICAgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIgogICAgICAgICAgICB4bWxuczpleGlmPSJodHRwOi8vbnMuYWRvYmUuY29tL2V4aWYvMS4wLyI+CiAgICAgICAgIDxkYzpzdWJqZWN0PgogICAgICAgICAgICA8cmRmOkJhZy8+CiAgICAgICAgIDwvZGM6c3ViamVjdD4KICAgICAgICAgPHRpZmY6T3JpZW50YXRpb24+MTwvdGlmZjpPcmllbnRhdGlvbj4KICAgICAgICAgPHRpZmY6Q29tcHJlc3Npb24+MDwvdGlmZjpDb21wcmVzc2lvbj4KICAgICAgICAgPHRpZmY6UmVzb2x1dGlvblVuaXQ+MjwvdGlmZjpSZXNvbHV0aW9uVW5pdD4KICAgICAgICAgPHRpZmY6WVJlc29sdXRpb24+NzI8L3RpZmY6WVJlc29sdXRpb24+CiAgICAgICAgIDx0aWZmOlhSZXNvbHV0aW9uPjcyPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8eG1wOkNyZWF0b3JUb29sPlBpeGVsbWF0b3IgMy44LjU8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPGV4aWY6UGl4ZWxYRGltZW5zaW9uPjQwPC9leGlm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');
	color: var(--foundation-white);
}

.hero::before,
.hero .morning,
.hero .afternoon,
.hero .evening,
.hero .night {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
}

.hero::before {
	content: '';
	z-index: 1;
	background-image: linear-gradient(0deg, rgba(0, 0, 0, 0.75), transparent 45%);
}

.hero .morning,
.hero .afternoon,
.hero .evening,
.hero .night {
	animation: 20s infinite hero;
}

.hero .afternoon,
.hero .evening,
.hero .night {
	opacity: 0;
}

.hero .morning {
	background-image: url('/hero-morning.jpeg');
}

.hero .afternoon {
	background-image: url('/hero-afternoon.jpeg');
	background-position: center;
	animation-delay: 5s;
}

.hero .evening {
	background-image: url('/hero-evening.jpeg');
	animation-delay: 10s;
}

.hero .night {
	background-image: url('/hero-night.jpeg');
	animation-delay: 15s;
}

.hero hgroup,
.hero aside {
	position: relative;
	z-index: 2;
}

.hero hgroup {
	margin-bottom: 2rem;
}

.hero hgroup > h1 {
	text-shadow: var(--lift-text-6);
	animation: 20s infinite hero-title;
}

.hero hgroup > p {
	text-shadow: var(--lift-text-4);
	animation: 20s infinite hero-subtitle;
}

.hero a {
	display: inline-block;
}

.hero .cite {
	margin-left: -0.5em;
}

#web-movie-iframe {
	position: absolute;
	top: 0;
	width: 100%;
	height: 100%;
	border-width: 0;
	z-index: 2;
}

.paddedSection {
	padding-top: 2.5rem;
	padding-bottom: 2.5rem;
}

.sectionHeading {
	margin-bottom: 1rem;
}

.sectionHeading .h1,
.sectionHeading .h2 {
	font-weight: bold;
	color: var(--foundation-primary);
}

.o-inverse .sectionHeading .h1,
.o-inverse .sectionHeading .h2 {
	color: var(--foundation--white);
}

.sectionHeading p {
	display: inline-block;
	padding-top: 0.5rem;
	border-top: 1px solid var(--foundation-medium-gray);
}

.serviceBanner {
	padding-top: 2rem;
	margin-bottom: 2rem;
	background:
		radial-gradient(
			circle at top left,
			rgba(189, 111, 39, 0.6),
			rgba(0, 0, 0, 0.6)
		),
		url('/images/v7/heroes/language-consulting.jpeg') center 40% / cover,
		var(--foundation-dark-gray);
	color: var(--foundation-white);
}

dl.servicesNavigation {
	margin-bottom: 0;
}

.servicesNavigation,
.servicesNavigation .callout {
	border: 1px solid var(--foundation-black);
}

.servicesNavigation .callout {
	padding-top: 2rem;
	padding-bottom: 2rem;
	margin-bottom: 0;
	background-color: var(--foundation-dark-gray);
	color: var(--foundation-white);
}

.servicesNavigation a {
	padding-bottom: 0.5rem;
	border-bottom: 2px solid var(--foundation-primary);
	color: inherit;
}

.servicesNavigation a:hover,
.servicesNavigation a:focus {
	text-decoration: none;
}

.servicesNavigation dt {
	margin-bottom: 1rem;
	font-weight: bold;
}

.servicesNavigation strong {
	display: inline-block;
	margin-bottom: 1rem;
}

.servicesNavigation .translation {
	background:
		linear-gradient(rgba(0, 0, 0, 0.6)),
		url('/images/v7/heroes/translation.jpeg') center / cover;
}

.servicesNavigation .translation a {
	border-bottom: 2px solid var(--palette-translation);
}

.servicesNavigation .interpretation {
	background:
		linear-gradient(rgba(0, 0, 0, 0.6)),
		url('/images/v7/heroes/interpretation.jpeg') center / cover;
}

.servicesNavigation .interpretation a {
	border-bottom: 2px solid var(--palette-interpretation);
}

.servicesNavigation .movie {
	background:
		linear-gradient(rgba(0, 0, 0, 0.6)),
		url('/images/v7/heroes/movie.jpeg') center / cover;
}

.servicesNavigation .movie a {
	border-bottom: 2px solid var(--palette-movie);
}

.servicesNavigation .staffing {
	background:
		linear-gradient(rgba(0, 0, 0, 0.6)),
		url('/images/v7/heroes/staffing.jpeg') center / cover;
}

.servicesNavigation .staffing a {
	border-bottom: 2px solid var(--palette-staffing);
}

.servicesNavigation .englishtraining {
	background:
		linear-gradient(rgba(0, 0, 0, 0.6)),
		url('/images/v7/heroes/englishtraining.jpeg') center / cover;
}

.servicesNavigation .englishtraining a {
	border-bottom: 2px solid var(--palette-englishtraining);
}

.servicesNavigation .design {
	background:
		linear-gradient(rgba(0, 0, 0, 0.6)),
		url('/images/v7/heroes/design.jpeg') center / cover;
}

.servicesNavigation .design a {
	border-bottom: 2px solid var(--palette-design);
}

.servicesNavigation .callout:hover,
.servicesNavigation .callout:focus {
	box-shadow:
		inset 3px 3px var(--palette-highlight),
		inset -3px -3px var(--palette-highlight);
	border-color: var(--palette-highlight);
}

.servicesNavigation .callout:hover a,
.servicesNavigation .callout:focus a {
	border-bottom-color: var(--palette-highlight);
}

.navigationCard {
	border-width: 0;
}

.navigationCard strong {
	display: inline-block;
	font-weight: bold;
}

.navigationCard a:hover,
.navigationCard a:focus {
	text-decoration: none;
}

.navigationCard:hover,
.navigationCard:focus {
	box-shadow:
		inset 2px 2px var(--palette-highlight),
		inset -2px -2px var(--palette-highlight);
}

.pickupCard {
	margin-bottom: 0;
}

.pickupCard .card-divider {
	color: var(--foundation-white);
}

.pickupCard .translation {
	background-color: var(--palette-translation);
}

.pickupCard .interpretation {
	background-color: var(--palette-interpretation);
}

.pickupCard .movie {
	background-color: var(--palette-movie);
}

.pickupCard .staffing {
	background-color: var(--palette-staffing);
}

.pickupCard .englishtraining {
	background-color: var(--palette-englishtraining);
}

.pickupCard .design {
	background-color: var(--palette-design);
}

.aboutSubsection {
	margin-top: 5rem;
	margin-bottom: 5rem;
	padding-bottom: 1rem;
	background-image: linear-gradient(to right, transparent, var(--foundation-light-gray));
	background-position: center top 4rem;
	background-repeat: no-repeat;
}

.aboutSubsection-odd {
	background-image: linear-gradient(to left, transparent, var(--foundation-light-gray));
}

.aboutSubsection .h1 {
	font-size: 3rem;
	line-height: 1;
	font-weight: bold;
	text-transform: uppercase;
	letter-spacing: -0.03em;
	color: var(--foundation-secondary);
}

.aboutSubsection .h4 {
	font-weight: bold;
}

.features .card {
	border-width: 0;
	background: transparent;
	color: inherit;
}

.features .card .button {
	border-radius: 5000px;
}

.banners {
	background-color: #fbfbf3;
}

.banners figcaption {
	margin-top: 1rem;
}

.banners .h5 {
	font-weight: bold;
	color: var(--foundation-primary);
}

.news-heading {
	position: relative;
	padding-top: 1rem;
	background: #785907;
	color: var(--foundation-white);
}

.news-heading::before {
	content: '';
	position: absolute;
	top: 0;
	right: 100%;
	width: 100vw;
	height: 100%;
	background-color: inherit;
}

.news-heading .h1 {
	font-weight: bold;
}

.news-heading p {
	display: inline-block;
	padding-top: 0.5rem;
	border-top: 1px solid var(--foundation-white);
}

.news-date {
	margin-bottom: 0;
	font-weight: bold;
	color: var(--foundation-primary);
}

.recruitment {
	background-color: var(--foundation-primary);
	background:
		linear-gradient(rgb(1 106 58 / 80%), rgb(1 106 58 / 80%)),
		url('/recruitment-background.jpeg') bottom center / auto no-repeat,
		#4ea2f3;
	color: var(--foundation-white);
}

.recruitment .sectionHeading .h1,
.recruitment .sectionHeading .h2 {
	color: var(--foundation-white);
}

.recruitment nav + hgroup {
	margin-top: 5rem;
}

.recruitment .h5 {
	color: var(--foundation-primary);
	font-weight: bold;
}

.recruitment ol > li {
	break-inside: avoid;
	margin-bottom: 1rem;
}

.recruitment-subHeading p {
	position: relative;
	padding: 0 2rem;
	border-top-width: 0;
}

.recruitment-subHeading p::before,
.recruitment-subHeading p::after {
	content: '';
	display: block;
	position: absolute;
	top: 50%;
	width: 1.5rem;
	border-top: 1px solid var(--foundation-white);
}

.recruitment-subHeading p::before {
	left: 0;
}

.recruitment-subHeading p::after {
	right: 0;
}

.asideBanner figcaption {
	margin-top: 1rem;
}

/* Small only */
@media screen and (max-width: 39.9375em) {
	.cell.aboutSubsection-image {
		margin-left: 0;
		width: calc(100% - 0.937rem);
	}

	.aboutSubsection-odd .cell.aboutSubsection-image {
		margin-left: 0.9375rem;
	}
}

/* Medium and up */
@media screen and (min-width: 40em) {
	.hero {
		padding-bottom: 0.5rem;
	}

	.hero hgroup {
		margin-bottom: 3rem;
	}

	.hero .thumbnail {
		margin-bottom: 0;
	}

	.paddedSection {
		padding-top: 5rem;
		padding-bottom: 5rem;
	}

	.serviceBanner {
		padding-top: 4rem;
		padding-bottom: 2rem;
	}

	.features .cell:nth-child(2n+2) {
		border-left: 1px solid rgba(254, 254, 254, 0.3);
	}

	.news-heading {
		padding-top: 2rem;
		padding-right: 2rem;
		padding-bottom: 1rem;
	}

	.recruitment ol {
		column-gap: 0.9375rem;
	}

	.recruitment ol {
		column-count: 2;
	}
}

/* Large and up */
@media screen and (min-width: 64em) {
	.hero {
		padding-top: 8rem;
		padding-bottom: 1rem;
	}

	.hero hgroup {
		margin-bottom: 4rem;
	}

	.serviceBanner {
		padding-top: 6rem;
		padding-bottom: 4rem;
	}

	.servicesNavigation .callout {
		padding: 3rem 2rem;
	}

	.aboutSubsection .h1 {
		font-size: 6rem;
	}

	.aboutSubsection-image img {
		max-width: none;
		float: right;
	}

	.aboutSubsection-odd .aboutSubsection-image img {
		float: left;
	}

	.features .cell {
		border-left: 1px solid rgba(254, 254, 254, 0.3);
	}

	.features .cell:first-child {
		border-left-width: 0;
	}

	.recruitment {
		background-size: cover;
	}
}
