@font-face {
	font-family: 'FFDINWebLight';
	src: url('fonts/3184DB_0_0.eot');
	src: url('fonts/3184DB_0_0.eot?#iefix') format('embedded-opentype'), url('fonts/3184DB_0_0.woff2') format('woff2'), url('fonts/3184DB_0_0.woff') format('woff'), url('fonts/3184DB_0_0.ttf') format('truetype');
}

/* GLOBAL STYLING
--------------------------------------------- */

/* TOC
	0. Global
		0.1. C-Frame
			0.1.1. Nav
			0.1.2. Header
			0.1.3. Body
			0.1.4. Footer
	1. Pages (pages.css)
	2. About Us (abouts.css)
	6. Contact Us (contacts.css)
*/

/* 0. Global
------------------------------------------------ */

* {
	box-sizing: border-box;
}

html {
	font-family: Helvetica, Arial, sans-serif;
	font-size: 62.5%;
}

a {
	text-decoration: none !important;
}

.clearfix:after {
	content: ".";
	display: block;
	clear: both;
	visibility: hidden;
	line-height: 0;
	height: 0;
}


/* 0.1. Global > C-Frame
------------------------------------------------ */

body {
	position: relative;
}


/* 0.1.1. Global > C-Frame > Nav
------------------------------------------------ */

body > nav {
	background-color: #1e1b1b;
	bottom: 0;
	left: 0;
	padding: 50px 0 0 0;
	position: absolute;
	top: 0;
	transition: transform 0.3s ease;
	transform: translateX(-100%);
	z-index: 9999;
	width: 100%;
}

body > nav.show {
	transform: translateX(-54px);
}

body > nav > .close {
	position: absolute;
	right: -54px;
	top: 0;
}

body > nav header {
	color: #fff;
	font-family: 'Lobster Two', cursive;
	font-size: 2.2rem;
	font-style: italic;
	font-weight: 700;
	letter-spacing: 0.01em;
	height: auto;
	margin: 0 0 30px 122px;
}

body > nav ul {
	list-style: none;
	margin: 0 0 0 122px;
	padding: 0;
}

body > nav ul li a {
	color: rgba(255, 255, 255, 0.9);
	display: inline-block;
	font-family: "ff-din-web", Helvetica, Arial, sans-serif;
	font-size: 1.8rem;
	font-weight: 400;
	letter-spacing: 0.01em;
	padding: 20px 0;
	text-transform: uppercase;
}

body > nav ul li a.c {
	background: transparent url('/img/global/nav/icon_hover.png') no-repeat left top 22px / 13px auto;
	color: #8d7671;
	margin-left: -24px;
	padding: 20px 18px 20px 24px;
}

body > nav ul li a:hover {
	color: rgba(255, 255, 255, 1.0);
	text-decoration: underline !important;
}

body > nav div.social_c {
	align-items: center;
	border-bottom: 1px solid rgba(255, 255, 255, 0.1);
	border-top: 1px solid rgba(255, 255, 255, 0.1);
	display: flex;
	margin: 20px 0 0 54px;
	overflow: hidden;
	padding: 12px 0;
	position: relative;
}

body > nav div.social_c a {
	height: 30px;
	opacity: 0.25;
	text-indent: -9999px;
	transition: opacity 0.2s ease;
	width: 50%;
}

body > nav div.social_c a:hover {
	opacity: 0.5;
}

body > nav div.social_c a.fb {
	background: transparent url('/img/global/nav/icon_social_fb.svg') no-repeat center center / contain;
}

body > nav div.social_c a.fb:hover {
	background: transparent url('/img/global/nav/icon_social_fb.svg') no-repeat center center / contain;
}

body > nav div.social_c a.linkedin {
	background: transparent url('/img/global/nav/icon_social_li.svg') no-repeat center center / contain;
}

body > nav div.social_c a.linkedin:hover {
	background: transparent url('/img/global/nav/icon_social_li.svg') no-repeat center center / contain;
}

body > nav div.social_c div {
	background-color: rgba(255, 255, 255, 0.1);
	bottom: 0;
	left: 40%;
	position: absolute;
	transform: rotate(-45deg);
	transform-origin: 2px 0;
	height: 1px;
	width: 80px;
}

/* https://github.com/callmenick/Animating-Hamburger-Icons */

.c-hamburger {
	-moz-appearance: none;
	-webkit-appearance: none;
	-webkit-transition: background 0.3s;
	border: none;
	border-radius: 0;
	box-shadow: none;
	cursor: pointer;
	display: block;
	font-size: 0;
	height: 54px;
	margin: 0;
	overflow: hidden;
	padding: 0;
	position: relative;
	text-indent: -9999px;
	transition: background 0.3s;
	width: 54px;
}

.c-hamburger:focus {
	outline: none;
}

.c-hamburger span {
	background: white;
	display: block;
	height: 3px;
	left: 15px;
	position: absolute;
	right: 15px;
	top: 25px;
}

.c-hamburger span::before {
	top: -7px;
}

.c-hamburger span::before,
.c-hamburger span::after {
	background-color: #fff;
	content: "";
	display: block;
	height: 3px;
	left: 0;
	position: absolute;
	width: 100%;
}

.c-hamburger span::after {
	bottom: -7px;
}

.c-hamburger--htx {
	background-color: #af3e21 !important;
}

.c-hamburger--htx span {
	-webkit-transition: background 0s 0.3s;
	transition: background 0s 0.3s;
}

.c-hamburger--htx span::before {
	-webkit-transition-property: top, -webkit-transform;
	transition-property: top, transform;
}

.c-hamburger--htx span::before,
.c-hamburger--htx span::after {
	-webkit-transition-delay: 0.3s, 0s;
	-webkit-transition-duration: 0.3s, 0.3s;
	transition-delay: 0.3s, 0s;
	transition-duration: 0.3s, 0.3s;
}

.c-hamburger--htx span::after {
	-webkit-transition-property: bottom, -webkit-transform;
	transition-property: bottom, transform;
}

/* active state, i.e. menu open */
.c-hamburger--htx.is-active {
	background-color: #af3e21;
}

.c-hamburger--htx.is-active span {
	background: none;
}

.c-hamburger--htx.is-active span::before,
.c-hamburger--htx.is-active span::after {
	-webkit-transition-delay: 0s, 0.3s;
	transition-delay: 0s, 0.3s;
}

.c-hamburger--htx.is-active span::before {
	-ms-transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
	top: 0;
	transform: rotate(45deg);
}

.c-hamburger--htx.is-active span::after {
	-ms-transform: rotate(-45deg);
	-webkit-transform: rotate(-45deg);
	bottom: 0;
	transform: rotate(-45deg);
}

@media (min-width: 470px) {
	body > nav {
		padding: 121px 0 0 0;
		position: fixed;
		transform: translateX(-424px);
		width: 424px;
	}

	body > nav header {
		font-size: 3.0rem;
	}

	body > nav div.social_c {
		margin: 105px 0 0 54px;
	}

	body > nav div.social_c a {
		height: 40px;
	}

	body > nav div.social_c div {
		width: 94px;
	}

}


/* 0.1.2. Global > C-Frame > Header
------------------------------------------------ */

body.blur {
	overflow: hidden;
	position: fixed;
}

header {
	position: relative;
	height: 180px;
}

header > a {
	display: block;
	height: 100px;
	position: absolute;
	right: 0;
	top: 0;
	width: 100px;
}

header > a > img {
	width: 100%;
}

header div.title {
	background-color: rgba(39, 35, 34, 0.5);
	bottom: 0;
	color: #fff;
	font-family: "FFDINWebLight", Helvetica, Arial, sans-serif;
	font-size: 3.3rem;
	letter-spacing: 0.01em;
	line-height: 1;
	padding: 10px 0 4px 45px;
	position: absolute;
	text-transform: uppercase;
	width: 100%;
	z-index: 1;
}

header div.arrow_right {
	border-bottom: none;
	border-left: 75px solid rgba(160, 53, 30, 0.5);
	border-right: none;
	border-top: 75px solid transparent;
	bottom: 0;
	height: 0;
	left: 0;
	position: absolute;
	width: 0;
}

#outer_overall_c {
	overflow: hidden;
	transition: transform 0.3s ease;
}

body.blur #outer_overall_c {
	/* should be -54px, but the animation isn't perfect on some browsers, resulting in a gap */
	transform: translateX(100%) translateX(-55px);
}

@media (min-width: 768px) {
	body.blur {
		position: static;
	}

	body.blur #outer_overall_c {
		/* should be 370px, but the animation isn't perfect on some browsers, resulting in a gap */
		transform: translateX(369px);
	}

	header {
		height: 360px;
	}

	header div.title {
		font-size: 7.2rem;
		padding: 16px 0 2px 0;
	}

	header div div {
		margin: 0 auto;
		max-width: 880px;
	}

	header div.arrow_right {
		border-bottom: 265px solid transparent;
		border-left: 265px solid rgba(160, 53, 30, 0.5);
		border-top: 265px solid transparent;
		bottom: -265px;
	}
}


/* 0.1.3. Global > C-Frame > Body
------------------------------------------------ */

.hs_button {
	border-radius: 0;
	color: #fff;
	display: inline-block;
	background-color: #a7341c;
	font-family: "ff-din-web", Helvetica, Arial, sans-serif;
	font-size: 1.8rem;
	font-weight: 400;
	padding: 20px 45px;
	text-transform: uppercase;
}

.hs_button:hover {
	background-color: #982b19;
}

.hs_button i {
	display: inline-block;
	margin-left: 20px;
}

section h2 {
	margin-top: 0;
}

section.intro {
	position: relative;
	z-index: 1;
}

section.intro div.arrow_left {
	border-bottom: 20px solid #af3e21;
	border-left: 20px solid transparent;
	border-right: 20px solid transparent;
	border-top: none;
	height: 0;
	margin-left: -20px;
	position: absolute;
	right: -20px;
	top: -20px;
	width: 0;
}

section.intro div.breadcrumb {
	display: none;
}

section.intro div.textured {
	background: #af3e21 url('/img/global/triangle_texture.svg') repeat top center / 46px 46px;
	-webkit-clip-path: polygon(0 18px, calc(100% - 18px) 18px, 100% 0, 100% 100%, 18px 100%, 0 calc(100% - 18px));
	clip-path: polygon(0 18px, calc(100% - 18px) 18px, 100% 0, 100% 100%, 18px 100%, 0 calc(100% - 18px));
	color: #fff;
	margin: -18px 0 0 0;
	padding: 63px 45px 45px 45px;
}

section.intro div.textured .cave_c {
	display: none;
}

section.intro h2 {
	color: #fff;
	font-family: 'Lobster Two', cursive;
	font-size: 2.3rem;
	font-style: italic;
	font-weight: 700;
	letter-spacing: 0.01em;
	line-height: 2.7rem;
}

section.intro p {
	font-family: "FFDINWebLight", Helvetica, Arial, sans-serif;
	font-size: 1.6rem;
	letter-spacing: 0.01em;
	line-height: 2.2rem;
}

section.subfooter {
	display: flex;
	flex-direction: column-reverse;
	position: relative;
}

section.subfooter div.arrow_left {
	border-bottom: 50px solid transparent;
	border-left: none;
	border-right: 50px solid rgba(170, 159, 124, 0.5);
	border-top: 50px solid transparent;
	height: 0;
	right: 0;
	position: absolute;
	top: -50px;
	width: 0;
}

section.subfooter div.subfooter_left_c div.subfooter_left {
	height: 150px;
}

section.subfooter div.subfooter_right_c div.subfooter_right {
	background-color: #bbb08e;
	color: #fff;
	padding: 45px;
	position: relative;
}

section.subfooter div.subfooter_right_c div.subfooter_right div.icons {
	display: flex;
	justify-content: space-between;
	height: 55px;
	margin-bottom: 35px;
}

section.subfooter div.subfooter_right_c div.subfooter_right div.icons div {
	height: 55px;
	position: relative;
	width: 55px;
}

section.subfooter div.subfooter_right_c div.subfooter_right div.icons div:nth-child(1)::after,
section.subfooter div.subfooter_right_c div.subfooter_right div.icons div:nth-child(2)::after {
	color: rgba(255, 255, 255, 0.3);
	content: '\f111';
	font-family: 'Font Awesome 5 Pro';
	font-weight: 900;
	left: 22vw;
	position: absolute;
	transform: scale(0.5);
	top: 22px;
}

section.subfooter div.subfooter_right_c div.subfooter_right h2 {
	color: #fff;
	font-family: 'Lobster Two', cursive;
	font-size: 2.2rem;
	font-style: italic;
	font-weight: 700;
	letter-spacing: 0.01em;
	line-height: 2.7rem;
}

section.subfooter div.subfooter_right_c div.subfooter_right p {
	font-family: "FFDINWebLight", Helvetica, Arial, sans-serif;
	font-size: 1.6rem;
	letter-spacing: 0.01em;
	line-height: 2.2rem;
}

section.subfooter div.subfooter_right_c div.subfooter_right a.cta {
	color: #bbb08e;
	background-color: rgba(255, 255, 255, 0.9);
	display: inline-block;
	font-family: "ff-din-web", Helvetica, Arial, sans-serif;
	font-size: 1.6rem;
	font-weight: 400;
	letter-spacing: 0.01em;
	margin: 20px 0 0 0;
	padding: 18px 24px;
	text-transform: uppercase;
}

section.subfooter div.subfooter_right_c div.subfooter_right a.cta:hover {
	background-color: rgba(255, 255, 255, 1.0);
}

section.subfooter div.subfooter_right_c div.subfooter_right a.cta:active {
	background-color: rgba(255, 255, 255, 0.9);
}

section.subfooter div.subfooter_right_c div.subfooter_right a.cta i {
	font-size: 2rem;
	margin-left: 15px;
	position: relative;
	top: 1px;
}

#darken_l {
	background-color: #1e1b1b;
	bottom: 0;
	left: 0;
	opacity: 0;
	pointer-events: none;
	position: fixed;
	right: 0;
	top: 0;
	transition: opacity 0.3s ease;
	z-index: 101;
}

#darken_l.show {
	opacity: 0.8;
}

@media (min-width: 768px) {
	section.intro {

	}

	section.intro div.textured {
		background: #af3e21 url('/img/global/triangle_texture.svg') repeat bottom -16px center / 60px 60px;
		-webkit-clip-path: polygon(0 90px, calc(100% - 90px) 90px, 100% 0, 100% calc(100% - 20px), calc(50% + 20px) calc(100% - 20px), 50% 100%, calc(50% - 20px) calc(100% - 20px), 180px calc(100% - 20px), 0 calc(100% - 200px));
		clip-path: polygon(0 90px, calc(100% - 90px) 90px, 100% 0, 100% calc(100% - 20px), calc(50% + 20px) calc(100% - 20px), 50% 100%, calc(50% - 20px) calc(100% - 20px), 180px calc(100% - 20px), 0 calc(100% - 200px));
		margin: -90px 0 0 0;
		padding: 210px 125px 115px 125px;
		position: relative;
	}

	section.intro div.textured .cave_c {
		background: transparent url('/img/global/ee/easter_egg_cave.svg') no-repeat center center / 180px auto;
		bottom: 17px;
		cursor: pointer;
		display: block;
		height: 148px;
		left: calc(50% + 509px);
		position: absolute;
		width: 180px;
	}

	section.intro div.textured .cave_c:hover {
		background: transparent url('/img/global/ee/easter_egg_cave_hover.svg') no-repeat center center / 180px auto;
	}

	section.intro div.max_width_c {
		margin: 0 auto;
		max-width: 880px;
	}

	section.intro div.breadcrumb {
		display: block;
		position: absolute;
		top: 120px;
		width: 880px;
	}

	section.intro div.breadcrumb a,
	section.intro div.breadcrumb span {
		background-color: rgba(255, 255, 255, 0.1);
		color: rgba(255, 255, 255, 0.3);
		display: inline-block;
		font-family: "ff-din-web", Helvetica, Arial, sans-serif;
		font-size: 1.4rem;
		font-weight: 400;
		letter-spacing: 0.01em;
		margin: 0 8px 0 0;
		padding: 4px 8px 2px 8px;
		text-transform: uppercase;
	}

	section.intro div.breadcrumb a {
		color: #fff;
	}

	section.intro h2 {
		font-size: 3.0rem;
		line-height: 4.6rem;
	}

	section.intro p {
		font-size: 2.2rem;
		line-height: 3.4rem;
		padding: 0 30px 0 0;
	}

	section.subfooter {
		flex-direction: row;
	}

	section.subfooter div.arrow_left {
		border-bottom: 125px solid transparent;
		border-right: 125px solid rgba(170, 159, 124, 0.5);
		border-top: 125px solid transparent;
		top: -125px;
		z-index: 1;
	}

	section.subfooter div.subfooter_left_c {
		width: 50%;
	}

	section.subfooter div.subfooter_left_c div.subfooter_left {
		bottom: 0;
		height: auto;
		left: -10%;
		position: absolute;
		top: 0;
		width: 70%;
	}

	section.subfooter div.subfooter_right_c {
		width: 50%;
	}

	section.subfooter div.subfooter_right_c div.subfooter_right {
		align-items: flex-start;
		-webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 70px 100%, 0 calc(100% - 70px));
		clip-path: polygon(0 0, 100% 0, 100% 100%, 70px 100%, 0 calc(100% - 70px));
		display: flex;
		flex-direction: column;
		justify-content: center;
		min-height: 630px;
		padding: 0 60px;
	}

	section.subfooter div.subfooter_right_c div.subfooter_right div.icons {
		height: 100px;
		max-width: 370px;
		width: 100%;
	}

	section.subfooter div.subfooter_right_c div.subfooter_right div.icons div {
		width: 100px;
		height: 100px;
	}

	section.subfooter div.subfooter_right_c div.subfooter_right div.icons div:nth-child(1)::after,
	section.subfooter div.subfooter_right_c div.subfooter_right div.icons div:nth-child(2)::after {
		display: none;
	}

	section.subfooter div.subfooter_right_c div.subfooter_right h2 {
		font-family: 'Lobster Two', cursive;
		font-size: 3.0rem;
		font-style: italic;
		font-weight: 700;
		line-height: 4.2rem;
		margin-bottom: 15px;
	}

	section.subfooter div.subfooter_right_c div.subfooter_right p {
		font-size: 2.2rem;
		line-height: 3.4rem;
		max-width: 450px;
	}

	section.subfooter div.subfooter_right_c div.subfooter_right p:last-child {
		margin-bottom: 0;
	}

	section.subfooter div.subfooter_right_c div.subfooter_right a.cta {
		font-size: 1.8rem;
		padding: 15px 20px;
	}

	section.subfooter div.subfooter_right_c div.subfooter_right a.cta i {
		top: 0;
	}
}

/* Placeholder text color -- selectors need to be separate to work. */

::-webkit-input-placeholder {
	color: #dcdbdb;
	font-family: "ff-din-web", Helvetica, Arial, sans-serif;
	font-weight: 400;
}

:-moz-placeholder {
	color: #dcdbdb;
	font-family: "ff-din-web", Helvetica, Arial, sans-serif;
	font-weight: 400;
}

::-moz-placeholder {
	color: #dcdbdb;
	font-family: "ff-din-web", Helvetica, Arial, sans-serif;
	font-weight: 400;
	opacity: 1; /* Since FF19 lowers the opacity of the placeholder by default */
}

:-ms-input-placeholder {
	color: #dcdbdb;
	font-family: "ff-din-web", Helvetica, Arial, sans-serif;
	font-weight: 400;
}


/* 0.1.4. Global > C-Frame > Footer
------------------------------------------------ */

footer {
	background-color: #4c3c39;
	font-size: 1.0rem;
	position: relative;
	text-align: center;
}

footer div.arrow_right {
	border-bottom: 20px solid transparent;
	border-left: 20px solid #4c3c39;
	border-right: none;
	border-top: 20px solid transparent;
	height: 0;
	left: 0;
	position: absolute;
	top: -20px;
	width: 0;
}

footer nav ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

footer nav ul li {
	border-bottom: 1px solid #534340;
}

footer nav ul li:last-child {
	border-bottom: none;
}

footer nav ul li a {
	color: rgba(255, 255, 255, 0.9);
	display: inline-block;
	font-family: "ff-din-web", Helvetica, Arial, sans-serif;
	font-size: 1.6rem;
	font-weight: 400;
	letter-spacing: 0.01em;
	padding: 24px 0 16px 0;
	text-align: center;
	text-transform: uppercase;
}

footer nav ul li a.c {
	background: transparent url('/img/global/footer/icon_footer_hover.png') no-repeat left top 23px / 10px auto;
	color: #8d7671;
	padding: 20px 18px;
}

footer nav ul li a:hover {
	color: rgba(255, 255, 255, 1.0);
	text-decoration: underline !important;
}

footer nav img {
	margin: 55px auto;
	width: 270px;
}

footer div.social_legal {
	background-color: #272322;
	display: flex;
	flex-direction: column;
	padding: 25px 0;
}

footer div.social_legal > div:first-child {
	display: flex;
	justify-content: center;
	margin: 0 0 25px 0;
}

footer div.social_legal > div:first-child a {
	height: 25px;
	margin: 0 5px;
	text-indent: -9999px;
	width: 25px;
}

footer div.social_legal > div:first-child a.fb {
	background: transparent url('/img/global/footer/fb_default.svg') no-repeat center center / contain;
}

footer div.social_legal > div:first-child a.fb:hover {
	background: transparent url('/img/global/footer/fb_hover.svg') no-repeat center center / contain;
}

footer div.social_legal > div:first-child a.linkedin {
	background: transparent url('/img/global/footer/li_default.svg') no-repeat center center / contain;
}

footer div.social_legal > div:first-child a.linkedin:hover {
	background: transparent url('/img/global/footer/li_hover.svg') no-repeat center center / contain;
}

footer div.social_legal > div:nth-child(2) {
	color: #4c3c39;
	letter-spacing: 0.025em;
	line-height: 1.25;
	margin: 0 0 10px 0;
	text-transform: uppercase;
}

footer div.social_legal > div:last-child a {
	color: #4c3c39;
	letter-spacing: 0.025em;
	line-height: 1.25;
	text-transform: uppercase;
}

@media (min-width: 768px) {
	footer {
		font-size: 1.4rem;
	}

	footer div.arrow_right {
		border-bottom: 70px solid transparent;
		border-left: 70px solid #4c3c39;
		border-top: 70px solid transparent;
		top: -70px;
	}

	footer nav ul li {
		border: none;
		display: inline-block;
	}

	footer nav ul li a {
		display: block;
		font-size: 1.8rem;
		margin: 30px 45px;
		padding: 0;
	}

	footer nav ul li a.c {
		background: transparent url('/img/global/footer/icon_footer_hover.png') no-repeat left top 2px / 14px auto;
		padding: 0 0 0 25px;
	}

	footer nav img {
		margin: 130px auto 180px auto;
		width: 590px;
	}

	footer div.social_legal {
		flex-direction: row-reverse;
		justify-content: center;
	}

	footer div.social_legal > div:first-child {
		display: flex;
		justify-content: center;
		margin: 0 0 0 25px;
	}

	footer div.social_legal > div:first-child a {
		height: 35px;
		width: 35px;
	}

	footer div.social_legal > div:nth-child(2) {
		line-height: 35px;
		margin: 0 0 0 25px;
	}

	footer div.social_legal > div:last-child {
		line-height: 35px;
	}
}
