/*
	BASE
	- defined by 'b-' or base tag
	- 'alt-' classes should always be attached and never declaired alone
*/



/* TEXT */

body {
	margin: 0;
	font-family: 'Raleway', sans-serif;
	font-size: 16px;
	font-weight: 500;
	line-height: 28px;
	color: #5A5A5E;
	background: #fff;
	overflow-y: scroll;

	text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	-webkit-tap-highlight-color: transparent;
}

h1, h2, h3, h4, h5, h6 {
	color: #101820;
	line-height: 1.25;
	margin: 40px 0 0 0;
	font-weight: 800;
}

h1:first-child,
h2:first-child,
h3:first-child,
h4:first-child,
h5:first-child,
h6:first-child {
	margin-top: 0 !important;
}

h1, .b-h1 {font-size:52px;}
h2, .b-h2 {font-size:42px;}
h3, .b-h3 {font-size:38px;}
h4, .b-h4 {font-size:32px;}
h5, .b-h5 {font-size:26px;}
h6, .b-h6 {font-size:20px;}

h1 a, h2 a, h3 a, h4 a, h5 a, h6 a {color:inherit;}

.b-large-text {font-size:18px; line-height:30px; font-weight:500;}
.b-num {font-family:sans-serif;}

@media screen and (max-width: 1200px) {
	h1 br, h2 br, h3 br, h4 br, h5 br, h6 br {display:none;}
}

@media screen and (max-width: 900px) {
	h1, .b-h1 {font-size:36px;}
	h2, .b-h2 {font-size:30px;}
	h3, .b-h3 {font-size:28px;}
	h4, .b-h4 {font-size:26px;}
	h5, .b-h5 {font-size:22px;}
	h6, .b-h6 {font-size:20px;}
	.b-large-text {font-size:16px; line-height:28px;}
}



/* LINKS */

.visually-hidden {
	clip-path: inset(100%);
	clip: rect(1px, 1px, 1px, 1px);
	height: 1px;
	overflow: hidden;
	position: absolute;
	white-space: nowrap;
	width: 1px;
 }


a {
	color: #EA7926;
	background-color: transparent;
	text-decoration: none;
	transition: color 0.25s;
}

a:hover {color: #15181F;}
a:focus {outline:none;}
a svg {fill:currentColor;}

.b-link {
	text-transform: uppercase;
	letter-spacing: 0.05em;
	font-size: 14px;
	font-weight: 700;
	white-space: nowrap;
}

.b-link::after {
	content: "";
	display: inline-block;
	vertical-align: middle;
	border: 2px solid currentColor;
	border-width: 0 2px 2px 0;
	transform: rotate(-45deg);
	width: 6px;
	height: 6px;
	margin: -3px 2px 0 4px;
}



/* BASIC TAGS */

p {
	margin: 20px 0 0 0;
}

ul, ol {
	margin: 20px 0 0 0;
	padding: 0 0 0 20px;
}

li {
	margin: 10px 0 0 0;
	padding: 0;
}

strong, b {
	font-weight: 700;
}

em, i {
	font-style: italic;
}

img, svg {
	display: block;
	max-width: 100%;
	height: auto;
	border: none;
}

hr {
	margin: 40px 0;
	padding: 0;
	background: none;
	border: none;
	border-bottom: 1px solid #ccc;
}

blockquote {
	position: relative;
	background: #eee;
	padding: 40px;
	margin: 40px 0;
}

table {
	margin: 40px 0;
	width: 100%;
	border-spacing: 0;
	border-collapse: collapse;
}

table td {
	padding: 5px;
	border: 1px solid #ccc;
	border-width: 1px 0;
}

iframe {
	max-width: 100%;
	border: none;
	overflow: auto;
}

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

label,
button {
	cursor: pointer;
}

article,
aside,
footer,
header,
main,
section {
	display: block;
}

section {
	padding: 0.01em 0;
}

p:first-child,
ul:first-child,
ol:first-child,
li:first-child,
hr:first-child,
blockquote:first-child,
table:first-child {
	margin-top: 0 !important;
}



/* BUTTON */

.b-button {
	cursor: pointer;
	max-width: 100%;
	vertical-align: top;
	display: inline-block;
	box-sizing: border-box;
	color: #fff;
	font-family: inherit;
	font-weight: 700;
	font-size: 14px;
	line-height: 50px;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	height: 50px;
	width: auto;
	padding: 0 20px;
	background: #15181F;
	box-shadow: inset 0 0 0 1px #15181F;
	border: none;
	border-radius: 0;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	text-align: center;
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	transition: color 0.25s, background 0.25s, box-shadow 0.25s;
}

.b-button:hover,
.b-button:focus {
	background-color: transparent;
	box-shadow: inset 0 0 0 1px #15181F;
	color: #101820;
}

.b-button:focus {
	outline: none;
}

.b-button.alt-inverted {background:#fff; color:#15181F;}
.b-button.alt-inverted:focus,
.b-button.alt-inverted:hover {background-color:transparent; box-shadow:inset 0 0 0 1px #fff; color: #fff;}

.b-button.alt-outline {background-color:transparent; box-shadow:inset 0 0 0 1px #15181F; color:#101820;}
.b-button.alt-outline:focus ,
.b-button.alt-outline:hover {color:#fff; background:#101820; box-shadow:inset 0 0 0 1px #101820;}

.b-button.alt-outline-inverted {background-color:transparent; box-shadow:inset 0 0 0 1px #fff; color:#fff;}
.b-button.alt-outline-inverted:focus ,
.b-button.alt-outline-inverted:hover {color:#101820; background:#fff; box-shadow:inset 0 0 0 1px #fff;}

@media screen and (min-width: 901px) {
	* + p:last-child .b-button {margin-top:10px;}
}

@media screen and (max-width: 900px) {
	.b-button {font-size:12px; line-height:40px; height:40px; padding:0 15px;}
}



/* PAGE */

.b-page {
	overflow: hidden;
	border-right: 0 solid #fff; /* used when scroll is disabled */
	background: #fff;
	max-width: 100%;
	min-width: 320px;
}

.b-page-head {
	position: absolute;
	z-index: 2;
	top: 0;
	left: 0;
	right: 0;
	height: 100px;
	transition: background 0.25s;
}

.b-page-head + .b-page-body {
	position: relative;
	z-index: 1;
	border-top: 100px solid transparent;
}

.b-page[data-scroll] .b-page-head {
	position: fixed;
	top: -100px;
	transition: transform 0.25s;
	background: #fff;
}

.b-page[data-scroll="up"] .b-page-head {
	transform: translate(0, 100%);
}

.b-page-foot {
	position: relative;
	z-index: 1;
}

.b-page-background {
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background: linear-gradient(30deg, #edf8ec, #d1e8f7, #fddadd, #FFFAE2);
}

.b-page-background::after {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background: linear-gradient(rgba(255,255,255,0) 10%, rgba(255,255,255,1) 80%);
}

#gradient-canvas {
	display: block;
	--gradient-color-1: #edf8ec;
	--gradient-color-2: #d1e8f7;
	--gradient-color-3: #fddadd;
	--gradient-color-4: #FFFAE2;
}

@media screen and (max-width: 900px) {
	.b-page-head {height:60px;}
	.b-page-head + .b-page-body {border-top-width:60px;}
	.b-page[data-scroll] .b-page-head {top:-60px; height:60px;}
	#gradient-canvas {display:none;}
}



/* FRAME */

.b-frame {
	max-width: 1200px;
	margin: 0 auto;
	padding: 120px 40px;
}

.b-head {
	max-width: 900px;
	text-align: center;
	margin: 0 auto 60px;
}

.b-foot {
	max-width: 900px;
	text-align: center;
	margin: 60px auto 0;
}

.b-container {
	overflow: hidden;
	position: relative;
	margin: 0 auto;
	max-width: 1520px;
	background: #fff;
	box-shadow: 0 10px 20px 0 rgba(0,0,0,0.05), 0 40px 50px 0 rgba(0,0,0,0.05);
}

.b-container > .b-frame {position:relative;}
.b-frame + .b-frame {padding-top:0;}

.b-frame.alt-first {padding-top:80px;}
.b-frame.alt-min-pad-top {padding-top:40px;}
.b-frame.alt-min-pad-bottom {padding-bottom:40px}
.b-head.alt-left {margin-left:0; text-align:left;}

@media screen and (min-width: 1201px) {
	.b-container.alt-bottom-cta {margin-bottom:-60px; z-index:1;}
}

@media screen and (max-width: 1200px) {
	.b-head br,
	.b-foot br {display:none;}
}

@media screen and (max-width: 900px) {
	.b-frame {max-width:400px; padding:60px 20px;}
	.b-head {margin-bottom:40px; text-align:left;}
	.b-foot {margin-top:40px; text-align:left;}
	.b-frame.alt-first {padding-top:20px;}
	.b-frame.alt-min-pad-top {padding-top:20px;}
	.b-frame.alt-min-pad-bottom {padding-bottom:20px;}
}



/* NAV & MODAL */

.b-nav,
.b-modal {
	display: block !important;
	pointer-events: none;
	overflow: hidden;
	position: fixed;
	z-index: 3;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	opacity: 0;
	visibility: hidden;
	transition: visibility 0s 0.25s, opacity 0.25s;
}

#toggle-nav:checked ~ .b-nav,
#toggle-modal:checked ~ .b-modal {
	pointer-events: auto;
	opacity: 1;
	visibility: visible;
	transition: visibility 0s 0s, opacity 0.25s;
}

.b-modal-overlay {
	position: absolute;
	top: -100px;
	bottom: -100px;
	left: -100px;
	right: -100px;
	background: #000;
	opacity: 0.8;
}

.b-modal-content {
	position: absolute;
	top: 50%;
	left: 50%;
	max-width: 100%;
	max-height: 100%;
	transform: translate(-50%, -50%);
}

.b-nav {top:100px;}

@media screen and (max-width: 900px) {
	.b-nav {top:60px;}
}



/* UTILITY */

.b-scrollbar {
	width: 100px;
	height: 100px;
	overflow: scroll;
	position: absolute;
	top: -9999px;
}

.b-disabled {
	opacity: 0.25 !important;
	pointer-events: none !important;
}

.b-hidden {
	display: none !important;
}

.b-box {
	padding: 20px;
	background: #eee;
}

.b-bottom-offset {
	box-shadow: inset 0 -240px #15181f, 0 1px #15181f;
}

@media screen and (max-width: 1800px) {
	.b-hidden-1800 {display:none !important;}
}

@media screen and (max-width: 1500px) {
	.b-hidden-1500 {display:none !important;}
}

@media screen and (max-width: 1200px) {
	.b-hidden-1200 {display:none !important;}
}

@media screen and (max-width: 900px) {
	.b-hidden-900 {display:none !important;}
	.b-bottom-offset {box-shadow: inset 0 -60px #15181f, 0 1px #15181f;}
}

@media screen and (max-width: 600px) {
	.b-hidden-600 {display:none !important;}
}



/* SPACERS */

.b-spacer {
	display: block;
	clear: both;
}

.b-spacer[data-height="20"] {height:20px;}
.b-spacer[data-height="40"] {height:40px;}
.b-spacer[data-height="60"] {height:60px;}
.b-spacer[data-height="80"] {height:80px;}
.b-spacer[data-height="100"] {height:100px;}
.b-spacer[data-height="120"] {height:120px;}

.b-frame > .b-spacer:first-child {display:none;}

@media screen and (max-width: 900px) {
	.b-spacer[data-height="60"],
	.b-spacer[data-height="80"],
	.b-spacer[data-height="100"],
	.b-spacer[data-height="120"] {height:60px;}
}



/* COLUMNS */

.b-columns {
	display: flex;
	flex-wrap: wrap;
	margin: -20px;
}

.b-column {
	padding: 20px;
	box-sizing: border-box;
	flex: 0 0 auto;
	align-items: stretch;
}

.b-column[data-width="1/1"] {width:100.0%;}
.b-column[data-width="1/2"] {width:50.00%;}
.b-column[data-width="1/3"] {width:33.33%;}
.b-column[data-width="1/4"] {width:25.00%;}
.b-column[data-width="1/5"] {width:20.00%;}
.b-column[data-width="1/6"] {width:16.66%;}
.b-column[data-width="1/7"] {width:14.27%;}
.b-column[data-width="1/8"] {width:12.50%;}

.b-column[data-width="2/3"] {width:66.66%;}
.b-column[data-width="2/4"] {width:50.00%;}
.b-column[data-width="2/5"] {width:40.00%;}
.b-column[data-width="2/6"] {width:33.33%;}
.b-column[data-width="2/7"] {width:28.56%;}
.b-column[data-width="2/8"] {width:25.00%;}

.b-column[data-width="3/4"] {width:75.00%;}
.b-column[data-width="3/5"] {width:60.00%;}
.b-column[data-width="3/6"] {width:50.00%;}
.b-column[data-width="3/7"] {width:42.84%;}
.b-column[data-width="3/8"] {width:37.50%;}

.b-column[data-width="4/5"] {width:80.00%;}
.b-column[data-width="4/6"] {width:66.66%;}
.b-column[data-width="4/7"] {width:57.13%;}
.b-column[data-width="4/8"] {width:50.00%;}

.b-column[data-width="5/6"] {width:83.33%;}
.b-column[data-width="5/7"] {width:71.41%;}
.b-column[data-width="5/8"] {width:62.50%;}

.b-column[data-width="6/7"] {width:85.70%;}
.b-column[data-width="6/8"] {width:75.00%;}

.b-column[data-width="7/8"] {width:87.50%;}

.b-column[data-width="auto"] {flex:1 1;}

/* alts */

.b-columns.alt-tight {margin:-10px;}
.b-columns.alt-tight > .b-column {padding:10px;}

.b-columns.alt-collapse {margin:0;}
.b-columns.alt-collapse > .b-column {padding:0;}

.b-columns.alt-center {justify-content:center;}
.b-columns.alt-middle {align-items:center;}

.b-column.alt-right {align-self:flex-end;}

@media screen and (min-width: 1201px) {
	.b-columns.alt-loose {margin:-40px;}
	.b-columns.alt-loose > .b-column {padding:40px;}
}

@media screen and (max-width: 900px) {
	.b-column[data-width] {width:100%; flex: 0 0 auto;}
	.b-column[data-width]:empty {display:none;}
}



/* IMAGE */

.b-image {
	position: relative;
	overflow: hidden;
	margin: 0 auto;
}

.b-image > span {
	display: block;
}

.b-image > img {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	max-width: none;
}

.b-image-fallback {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: #eee no-repeat center;
	background-size: cover;
}

.b-image[data-fill="landscape"] > img {width:100%; height:auto;}
.b-image[data-fill="portrait"] > img {width:auto; height:100%;}



/* HEXEGON MASK */

.b-hexagon {
	position: relative;
	overflow: hidden;
	visibility: hidden;
	transform: rotate(120deg);
}

.b-hexagon::after {
	content: "";
	display: block;
	padding-bottom:116%;
}

.b-hexagon-in1 {
	overflow: hidden;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	transform: rotate(-60deg);
}

.b-hexagon-in2 {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: no-repeat center;
	background-size: cover;
	visibility: visible;
	transform: rotate(-60deg);
}

.b-hexagon-caption {
	position: absolute;
	bottom: 28%;
	left: 5%;
	padding: 5px 10px;
	font-weight: 700;
	background: #fff;
	color: #101820;
}

.b-hexagon-link {
	position: absolute;
	top: 50%;
	left: 10px;
	right: 10px;
	transform: translate(0, -50%);
	text-align: center;
	font-size: 26px;
	line-height: 28px;
	font-weight: 800;
	color: #fff;
	text-shadow: 2px 2px 8px #000;
}

.b-hexagon-link:hover {
	color: #fff;
}

.b-hexagon-link::after {
	content: "";
	display: block;
	position: absolute;
	top: -999px;
	bottom: -999px;
	left: 0;
	right: 0;
}

@media screen and (max-width: 900px) {
	.b-hexagon-caption {padding:0 6px; font-size:12px;}
	.b-hexagon-link {font-size:16px; line-height:18px; text-shadow:1px 2px 4px rgba(0,0,0,0.5);}
}



/* LISTS */

ul.b-checklist {
	list-style: none;
	padding: 0;
}

ul.b-checklist > li {
	background: url(../img/ui-checkbox.svg) no-repeat 0 2px;
	padding: 0 0 0 30px;
}



/* DECORATIONS */

.b-deco {
	position: absolute;
}

.b-deco.alt-hexagon {
	width: 500px;
	height: 580px;
	background: url(../img/deco-hexagon.svg) no-repeat center;
}

.b-deco.alt-hexagon-color {
	width: 500px;
	height: 580px;
	background: url(../img/deco-hexagon-color.svg) no-repeat center;
}

@media screen and (max-width: 900px) {
	.b-deco {display:none;}
}



/* WORDPRESS */

.aligncenter {
	margin: 40px auto;
}

.alignleft {
	float: left;
	margin: 0 20px 20px 0;
}

.alignright {
	float: right;
	margin: 0 0 20px 20px;
}

@media screen and (max-width: 900px) {
	.aligncenter,
	.alignleft,
	.alignright {float:none; margin:40px auto;}
}



/* FLICKITY */

.flickity-button {
	background: no-repeat center url(../img/ui-flickity-arrow.svg) !important;
	box-shadow: none !important;
	width: 51px;
	height: 56px;
	padding: 0;
}

.flickity-prev-next-button {border-radius:0;}
.flickity-prev-next-button.previous {transform:scaleX(-1) translateY(-50%);}
.flickity-button svg {display:none;}

.flickity-page-dots {bottom:0;}
.flickity-page-dots .dot {margin:0 5px;}
.flickity-page-dots .dot.is-selected {transform:scale(1.25);}
