@font-face {
	font-family: 'Mabry-Pro-Light';
	src: url('/fonts/MabryProLight.woff2') format('woff2');
}

html, body {
	position:relative;
	width: 100%;
	height: 100%;
	max-height: 100%;
	margin:0;
	padding:0;
	background: #e8c6b4;
	overflow: hidden;
}

body.index,
body.contact {
	background: #c6593e;
}

body.the-undefined {
	background: #d9a44a;
}

h1, h2, h3, h4, h5, h6, p, ul, button, .menu-item, .sub-menu-item, div[data-control] {
	font-family: 'Mabry-Pro-Light', sans-serif;
	font-size: 19px;
	font-weight: normal;
	line-height: 1.33;
	margin:0;
	padding:0;
}

p.large {
	font-size: 12.5vw;
}

p.medium {
	font-size: 8vw;
	line-height: 1;
	text-align: center;
	
}
p.small {
	font-size: 15px;
	line-height: 1.66;
}
p.x-small {
	font-size: 8px;
	line-height: 1.66;
}

a {
	text-decoration: none;
	color: #000;
}

.menu-item,
div[data-control] {
	position: relative;
	text-transform: uppercase;
	letter-spacing: 3px;
	border-top: 1px solid #000;
	padding: 15px 0; 
}
.menu-item.no-border {
	border-top: 0;
}
.menu-item.border-bottom {
	border-bottom: 1px solid #000;
}
div[data-control]:hover {
	cursor: pointer;
}
div[data-control] .menu-plus {
	position: absolute;
	top:12px;
	right: 0;
	left:auto;
	pointer-events: none;
}
.sub-menu-item {
	padding-bottom: 2.5px;
}

p.uppercase {
	text-transform: uppercase;
	letter-spacing: 1px;
	margin-top: 5px;
}
#menu {
    width: calc(100% - 120px);
    height: calc(86.666% - 180px);
    background: #d9a44a;
    position: absolute;
    top: -86.666%;
    left: 0;
    right: 0;
    z-index: 101;
    padding: 120px 60px 60px;
    overflow-x: scroll;
    transition: 500ms ease-in-out top;
}

body.the-undefined #menu,
body.the-undefined #about {
	background: #e8c6b4;
}


#menu.open {
	top: 0;
}
body.contact #menu {
    width: calc(100% - 120px);
    height: calc(100% - 180px);
    background: #d9a44a;
    position: absolute;
    top: -100%;
    left: 0;
    right: 0;
    z-index: 101;
    padding: 120px 60px 60px;
    overflow-x: scroll;
    transition: 500ms ease-in-out top;
}
body.contact #menu.open {
	top: 0;	
}
div[data-accordion-group] {
	width: 50%;
}
.sub-menu-item:first-of-type {
	padding-top: 5px;	
}
.accordion.open {
	margin-bottom: 20px;
}
#logo-frame {
	position: absolute;
	top: 0;
	left:0;
	right:0;
	bottom:0;
	width: 100%;
	height: 100%;
	background: #e8c6b4;
	z-index: 200;
}
#logo-frame.remove {
	top: -100%;
	transition: 500ms ease-in-out;	
}
#logo {
	position: absolute;
	width: 40vw;
	top: auto;
	left: 0;
	right: 0;
	bottom: 0;
	margin: 0 auto calc((6.666vh * 2));;
}
#logo path {
	width: 100%;
	height: auto;
}
#about {
    width: calc(100% - 120px);
    height: calc(86.666% - 195px);
    background: #c6593e;
    position: absolute;
    bottom: -86.666%;
    left: 0;
    right: 0;
    z-index: 101;
    padding: 75px 60px 120px;
    overflow-x: scroll;
    transition: 500ms ease-in-out bottom;
}

#about.open {
	bottom: 0;
}

#about.mustard {
	background: #d9a44a;
}

#content {
    width: calc(100% - 120px);
    height: calc(100% - 195px);
    background: #c6593e;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 99;
	padding: 135px 60px 60px;
    overflow-x: scroll;
}

#about h1,
#about h2,
#content h1,
#content h2 {
	text-transform: uppercase;
	letter-spacing: 3px;
	margin: 0 0 5px;
}
#content h2,
#about h2 {
	font-size: 10px;
	letter-spacing: 2px;
}

.text-container {
	width: 45%;
	max-width: 784px;
}
.footer-container {
	width: calc(100% - 120px);
	position: absolute;
	bottom: calc(3.854% * 2);
}
.text-container p,
.footer-container p {
	margin: 15px 0 0;
}
.footer-container p {
	font-size: 12px;
}
.footer-container p span.uppercase {
	text-transform: uppercase;
	letter-spacing: 1px;
}
.text-container p:first-of-type {
	margin: 30px 0 0;
}
.text-container hr,
.footer-container hr {
    color: #000;
    width: 30px;
    margin: 0;
    border: 0;
    border-bottom: 1px solid #000;
    margin: 25px 0 0;
}

.caption {
	position: absolute;
	bottom: calc(6.666vh - 6px);
	left: calc(6.666vh);
	z-index: 1;
	
}

.caption h1,
.caption h2,
.caption h3,
.caption p {
	font-size: 19px;
}

.caption p.small {
	font-size: 8px;
}

.main-carousel,
.no-fade-carousel {
	opacity: 0;
}

.main-carousel.load,
.no-fade-carousel.load {
	opacity: 1;
	transition: 500ms ease-in-out opacity;
}

.main-carousel .caption h1,
.main-carousel .caption h2,
.main-carousel .caption h3,
.main-carousel .caption p,
.no-fade-carousel .caption h1,
.no-fade-carousel .caption h2,
.no-fade-carousel .caption h3,
.no-fade-carousel .caption p,
.gif-carousel .caption h1,
.gif-carousel .caption h2,
.gif-carousel .caption h3,
.gif-carousel .caption p {
	font-size: 19px;
}

.main-carousel .caption p.small,
.no-fade-carousel .caption p.small,
.gif-carousel .caption p.small {
	font-size: 8px;
}

svg path {
	fill: #000;
}

.icon {
	width: 30px;
	height: 30px;
	z-index: 100;
}
.icon:hover {
	cursor: pointer;
}

.mute,
.unmute {
	position: fixed;
	right: calc(6.666vh - 8px);
	bottom: 6.666vh;
	z-index: 99;
}

.mute {
	display: none;
}

.unmute {
	display: none;
}

.menu {
	position: fixed;
	top: calc(6.666vh - 4px);
	left: 0;
	right: 0;
	margin: 0 auto;
	z-index: 102;
}

.menu .middle-1,
.menu .middle-2 {
	-webkit-transform-origin: center center;
	-ms-transform-origin: center center;
	-moz-transform-origin: center center;
	transform-origin: center center;
	transform: rotate(0deg);
	transition: 500ms;
}

.menu.active .middle-1 {
	-webkit-transform-origin: center center;
	-ms-transform-origin: center center;
	-moz-transform-origin: center center;
	transform-origin: center center;
	transform: rotate(45deg);
	transition: 500ms;
}

.menu.active .middle-2 {
	-webkit-transform-origin: center center;
	-ms-transform-origin: center center;
	-moz-transform-origin: center center;
	transform-origin: center center;
	transform: rotate(-45deg);
	transition: 500ms;
}

.menu .top,
.menu .bottom {
	opacity: 1;
	transition: 500ms;
}

.menu.active .top,
.menu.active .bottom {
	opacity: 0;
	transition: 500ms;
}

#plus-container {
	width: 50%;
	height: calc(30px + (6.666vh * 2));
	position: fixed;
	bottom: 0;
	left: 0;
	right: 0;
	margin: 0 auto;
	z-index: 102;
	background: transparent;
}
#plus-container.show {
	width: 100%;
	background: transparent;	
}
.plus {
	position: absolute;
	bottom: 6.666vh;
	left: 0;
	right: 0;
	margin: 0 auto;
	
}

.plus .horizontal,
.plus .vertical {
	-webkit-transform-origin: center center;
	-ms-transform-origin: center center;
	-moz-transform-origin: center center;
	transform-origin: center center;
	transform: rotate(0deg);
	transition: 500ms;
}

.plus.active .horizontal,
.plus.active .vertical {
	-webkit-transform-origin: center center;
	-ms-transform-origin: center center;
	-moz-transform-origin: center center;
	transform-origin: center center;
	transform: rotate(45deg);
	transition: 500ms;
}

.menu-plus .horizontal {
	-webkit-transform-origin: center center;
	-ms-transform-origin: center center;
	-moz-transform-origin: center center;
	transform-origin: center center;
	transform: rotate(0deg);
	transition: 500ms;
}

.menu-plus.active .horizontal {
	-webkit-transform-origin: center center;
	-ms-transform-origin: center center;
	-moz-transform-origin: center center;
	transform-origin: center center;
	transform: rotate(0deg);
	transition: 500ms;
}

.menu-plus .vertical {
	-webkit-transform-origin: center center;
	-ms-transform-origin: center center;
	-moz-transform-origin: center center;
	transform-origin: center center;
	transform: rotate(0deg);
	opacity: 1;
	transition: 500ms;
}

.menu-plus.active .vertical {
	-webkit-transform-origin: center center;
	-ms-transform-origin: center center;
	-moz-transform-origin: center center;
	transform-origin: center center;
	transform: rotate(0deg);
	opacity: 0;
	transition: 500ms;
}

.arrow-right,
.arrow-left {
	position: fixed;
	right: calc(6.666vh - 8px);
	top: calc(50% - 13px);
	z-index: 99;
}
.arrow-left {
	left: calc(6.666vh - 8px);
	right: auto;	
}

.home-carousel,
.main-carousel,
.no-fade-carousel,
.gif-carousel,
.type-carousel {
	width: 100%;
	height: 100%;
}
.type-carousel {
	position: absolute;
	top:0;
	left:0;
	right:0;
	bottom:0;
	z-index: 100;	
}

.slick-list,
.slick-track,
.slick-slide {
	width: 100%;
	height: 100%;
}

.flex,
.flex-left,
.flex-right {
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
}
.flex-grid,
.logo-grid {
	width: 100%;
	height: 100%;
	display: flex;
}
.logo-grid {
	align-items: center;
	justify-content:flex-end;
	grid-gap: 30px;	
}
.flex-item {
	width: 50%;
}
img.logo-1 {
	width: 80px;
	height:80px;
}
img.logo-2 {
	width: 123px;
	height:61px;
}
img.logo-3 {
	width: 160px;
	height:60px;
}
.flex-left {
	justify-content: left;
 	margin-left: 17.96875vw;
}
.flex-right {
	justify-content: right;	
	margin-left: -17.96875vw;
}

.flex.grid-gap-2 {
	grid-gap: calc(3.854% * 2);	
}
.flex.grid-gap-3 {
	grid-gap: calc(3.854% * 1);	
}

.vh-33 {
	width: auto;
	height: 33.333%;
}
.vh-46 {
	width: auto;
	height: 46.666%;
}
.vh-60 {
	width: auto;
	height: 60%;
}
.vh-73 {
	width: auto;
	height: 73.333%;
}
	
.vh-100 {
	width: auto;
	height: 100%;
}

.landscape {
	display: block!important;
}
.portrait {
	display: none!important;
}

p.indent {
	padding: 0 0 0 60px;
}
p.indent-first {
	margin: 40px 0 0;
}
p.indent-last {
	margin: 15px 0 40px;
}

@media (max-width: 1024px) and (orientation: portrait) {
	#menu {
    	height: calc(100% - 240px);
		top: -100%;
		padding: 120px 60px 120px;
	}
	body.contact #menu {
		height: calc(100% - 240px);
		top: -100%;
		padding: 120px 60px 120px;
	}
	#about {
    	height: calc(100% - 315px);
		bottom: -100%;
		padding: 135px 60px 180px;
	}
	
	#content {
	    height: calc(100% - 240px);
	    padding: 120px 60px 120px;
	}
	
	#content h1 {
    margin-top: 15px;
}

	div[data-accordion-group] {
		width: 100%;
	}
	
	div[data-control] .menu-plus {
		top:15px;
		right: 0;
		left:auto;
	}
	
	#logo {
		width: 50vw;
		margin: 0 auto calc((6.666vh * 2));;
	}

	.text-container {
		width: 100%;
	}
	
	.caption {
		bottom: 120px;
		left: 0;
		right: 0;
		
	}
	.caption h1,
	.caption h2,
	.caption h3,
	.caption p {	
		font-size: 16px;
		text-align: center;
	}
	.main-carousel .caption h1,
	.main-carousel .caption h2,
	.main-carousel .caption h3,
	.main-carousel .caption p,
	.no-fade-carousel .caption h1,
	.no-fade-carousel .caption h2,
	.no-fade-carousel .caption h3,
	.no-fade-carousel .caption p,
	.gif-carousel .caption h1,
	.gif-carousel .caption h2,
	.gif-carousel .caption h3,
	.gif-carousel .caption p {
		font-size: 16px;
	}
	
	.main-carousel .caption p.small,
	.no-fade-carousel .caption p.small,
	.gif-carousel .caption p.small {
		font-size: 8px;
	}
	.icon {
		width: 30px;
		height: 30px;
	}
	.menu {
		top: calc(60px - 4px);
	}
	
	#plus-container {
		width: 50%;
		height: calc(20px + (60px * 2));
	}
	#plus-container.show {
		width: 100%;
		background: #c6593e;
		transition: 500ms ease-in-out all;
	}
	
	body.the-undefined #plus-container.show {
		background: #e8c6b4;
	}

	.plus {
		bottom: 60px;		
	}

	.arrow-right,
	.arrow-left,
	.mute,
	.unmute {
		right: 54px;
		top: auto;
		bottom: 63px;
	}
	.mute,
	.unmute {
		bottom: 80px;
	}
	.arrow-left {
		right: auto;
		left:54px;
	}
	.flex.grid-gap-2 {
		grid-gap: 30px;
		width: calc(100% - 160px);
		margin: 0 auto;	
	}
	.flex.grid-gap-3 {
		grid-gap: 15px;
		width: calc(100% - 440px);
		margin: 0 auto;	
	}
	
	.small-cols-3 {
		width: calc(35%);
		height:auto;
	}
	.small-cols-6 {
		width: calc(50%);
		height:auto;
	}
	.small-cols-9 {
		width: calc(65%);
		height:auto;
	}
	
	.small-margin-left-30 {
		margin-left: 30px;
	}
	
	.small-margin-0 {
		width: calc(100%);
		height: auto;
	}
	
	.small-margin-15 {
		width: calc(100% - 60px);
		height: auto;
	}
		
	.small-margin-30 {
		width: calc(100% - 120px);
		height: auto;
	}
	.small-margin-60 {
		width: calc(100% - 240px);
		height: auto;
	}
	.small-margin-90 {
		width: calc(100% - 450px);
		height: auto;
	}
	.small-cover {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
	.flex-grid {
		display: block;	
	}
	.logo-grid {
    	align-items: center;
		justify-content: flex-start;
    	grid-gap: 20px;
	}
	.flex-item {
		width: 100%;
	}
	
	img.logo-1 {
		width: 50px;
		height:auto;
		margin-top:40px;
		
	}
	img.logo-2 {
		width: 93px;
		height:auto;
		margin-top:40px;
	}
	img.logo-3 {
		width: 130px;
		height:auto;
		margin-top:40px;
	}
	
	.landscape {
		display: none!important;
	}
	.portrait {
		display: block!important;
	}
	p.large {
		font-size: 12.5vw;
	}
	

} @media (max-width: 960px) and (orientation: portrait) {

	.main-carousel .caption h1,
	.main-carousel .caption h2,
	.main-carousel .caption h3,
	.main-carousel .caption p,
	.no-fade-carousel .caption h1,
	.no-fade-carousel .caption h2,
	.no-fade-carousel .caption h3,
	.no-fade-carousel .caption p,
	.gif-carousel .caption h1,
	.gif-carousel .caption h2,
	.gif-carousel .caption h3,
	.gif-carousel .caption p {
		font-size: 16px;
	}
	
	.main-carousel .caption p.small,
	.no-fade-carousel .caption p.small,
	.gif-carousel .caption p.small {
		font-size: 8px;
	}
	.small-margin-0 {
		width: calc(100%);
		height: auto;
	}
	.small-margin-15 {
		width: calc(100% - 90px);
		height: auto;
	}
	.small-margin-30 {
		width: calc(100% - 180px);
		height: auto;
	}
	.small-margin-60 {
		width: calc(100% - 360px);
		height: auto;
	}
	.small-margin-90 {
		width: calc(100% - 540px);
		height: auto;
	}	
	.flex-grid {
		display: block;	
	}
	.flex-item {
		width: 100%;
	}
	.landscape {
		display: none!important;
	}
	.portrait {
		display: block!important;
	}
	p.large {
		font-size: 12.5vw;
	}


} @media (max-width: 767px) and (orientation: portrait) {

	
	h1, h2, h3, h4, h5, h6, p, ul, button, .menu-item, .sub-menu-item, div[data-control] {
		font-size: 16px;
	}
	
	h2 {
		font-size: 10px;
	}
	
	#menu {
		width: calc(100% - 60px);
    	height: calc(100% - 210px);
		top: -100%;
		padding: 90px 30px 120px;
	}
	body.contact #menu {
		width: calc(100% - 60px);
    	height: calc(100% - 210px);
		top: -100%;
		padding: 90px 30px 120px;
	}
	#about {
		width: calc(100% - 60px);
    	height: calc(100% - 225px);
		bottom: -100%;
		padding: 105px 30px 120px;
	}
	

	#content {
		width: calc(100% - 60px);
		height: calc(100% - 210px);
		padding: 90px 30px 120px;
	}
	#content h1 {
		margin-top: 15px;
	}
	
	
	.caption {
		bottom: 80px;		
	}
	
	.caption h1,
	.caption h2,
	.caption h3,
	.caption p {
		font-size: 16px;
	}
	
	.main-carousel .caption h1,
	.main-carousel .caption h2,
	.main-carousel .caption h3,
	.main-carousel .caption p,
	.no-fade-carousel .caption h1,
	.no-fade-carousel .caption h2,
	.no-fade-carousel .caption h3,
	.no-fade-carousel .caption p,
	.gif-carousel .caption h1,
	.gif-carousel .caption h2,
	.gif-carousel .caption h3,
	.gif-carousel .caption p {
		font-size: 16px;
	}
	
	.main-carousel .caption p.small,
	.no-fade-carousel .caption p.small,
	.gif-carousel .caption p.small {
		font-size: 8px;
	}
	
	.main-carousel .gif-carousel .caption p,
	.no-fade-carousel .gif-carousel .caption p {
		font-size: 16px!important;
	}
	
	p.indent {
		padding: 0 0 0 30px;
	}
	
	p.indent-first {
		margin: 30px 0 0;
	}
	
	
	
	.icon {
		width: 20px;
		height: 20px;
	}
	
	.menu {
		top: calc(30px - 4px);
	}
	
	#plus-container {
		width: 50%;
		height: calc(20px + (30px * 2));
	}
	
	#plus-container.show {
		width: 100%;
		background: #c6593e;
		transition: 500ms ease-in-out all;
	}

	
	.plus {
		bottom: 30px;		
	}

	.arrow-right,
	.arrow-left,
	.mute,
	.unmute {
		bottom: 33px;
	}
	
	.mute,
	.unmute {
		bottom: 80px;
	}


	
	.arrow-right,
	.arrow-left,
	.mute,
	.unmute {
		right: 24px;
	}
	.arrow-left {
		left:24px;
	}
	
	
	.flex.grid-gap-2 {
		grid-gap: 15px;
		width: calc(100% - 75px);
		margin: 0 auto;	
	}
	.flex.grid-gap-3 {
		grid-gap: 15px;
		width: calc(100% - 200px);
		margin: 0 auto;	
	}
	.small-cols-3 {
		width: calc(35%);
		height:auto;
	}
	.small-cols-6 {
		width: calc(50%);
		height:auto;
	}
	.small-cols-9 {
		width: calc(65%);
		height:auto;
	}
	
	.small-margin-left-30 {
		margin-left: 30px;
	}
	.small-margin-left-60 {
		margin-left: 60px;
	}
	.small-margin-left-90 {
		margin-left: 90px;
	}
	
	.small-margin-15 {
		width: calc(100% - 30px);
		height: auto;
	}
		
	.small-margin-30 {
		width: calc(100% - 60px);
		height: auto;
	}
	.small-margin-60 {
		width: calc(100% - 120px);
		height: auto;
	}
	.small-margin-90 {
		max-width: 50%;
		width: calc(100% - 180px);
		height: auto;
		
	}
	.small-cover {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
	.flex-grid {
		display: block;	
	}
	.flex-item {
		width: 100%;
	}
	.landscape {
		display: none!important;
	}
	.portrait {
		display: block!important;
	}
	p.large,
	p.medium {
		font-size: 12.5vw;
	}
 
} @media (max-width: 374px) {
	
	img.logo-1 {
		width: 40px;
	}
	img.logo-2 {
		width: 73px;
	}
	img.logo-3 {
		width: 110px;
	}
	
	.small-margin-60 {
		width: calc(100% - 180px);
		height: auto;
	}
	.small-margin-90 {
		max-width: 50%;
		width: calc(100% - 240px);
		height: auto;
		
	}
	
	
	.footer-container {
	    width: 100%;
	    position: relative;
	    bottom: auto;
	    margin-top: 30px;
	}
	
}

