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

:root {

	--white: #ffffff; 
	--light-grey: #F3F3F3;
	--grey: #D9D9D9;
	--black: #101820;

	--black-2: #0D1318;


	/* spacing */

	--base-unit: 8rem;

	--s1: calc(var(--base-unit) * 1);
	--s2: calc(var(--base-unit) * 1.5);
	--s3: calc(var(--base-unit) * 2);
	--s4: calc(var(--base-unit) * 3);
	--s5: calc(var(--base-unit) * 4);
	--s6: calc(var(--base-unit) * 6);
	--s7: calc(var(--base-unit) * 8);
	--s8: calc(var(--base-unit) * 12);
	--s9: calc(var(--base-unit) * 16);
	--s10: calc(var(--base-unit) * 24);
	--s11: calc(var(--base-unit) * 32);
	--s12: calc(var(--base-unit) * 48);

	--ns1: calc(var(--s1) * -1);
	--ns2: calc(var(--s2) * -1);
	--ns3: calc(var(--s3) * -1);
	--ns4: calc(var(--s4) * -1);
	--ns5: calc(var(--s5) * -1);
	--ns6: calc(var(--s6) * -1);
	--ns7: calc(var(--s7) * -1);
	--ns8: calc(var(--s8) * -1);
	--ns9: calc(var(--s9) * -1);
	--ns10: calc(var(--s10) * -1);
	--ns11: calc(var(--s11) * -1);
	--ns12: calc(var(--s12) * -1);

	--hs: 1.25em;
	--ps: 0.75em;

	--col-width: 72rem;
	--col-gutter: 32rem;

	--col-1: calc((var(--col-width) + var(--col-gutter)) * 1 - var(--col-gutter));
	--col-2: calc((var(--col-width) + var(--col-gutter)) * 2 - var(--col-gutter));
	--col-3: calc((var(--col-width) + var(--col-gutter)) * 3 - var(--col-gutter));
	--col-4: calc((var(--col-width) + var(--col-gutter)) * 4 - var(--col-gutter));
	--col-5: calc((var(--col-width) + var(--col-gutter)) * 5 - var(--col-gutter));
	--col-6: calc((var(--col-width) + var(--col-gutter)) * 6 - var(--col-gutter));
	--col-7: calc((var(--col-width) + var(--col-gutter)) * 7 - var(--col-gutter));
	--col-8: calc((var(--col-width) + var(--col-gutter)) * 8 - var(--col-gutter));
	--col-9: calc((var(--col-width) + var(--col-gutter)) * 9 - var(--col-gutter));
	--col-10: calc((var(--col-width) + var(--col-gutter)) * 10 - var(--col-gutter));
	--col-11: calc((var(--col-width) + var(--col-gutter)) * 11 - var(--col-gutter));
	--col-12: calc((var(--col-width) + var(--col-gutter)) * 12 - var(--col-gutter));

	--frame-width: var(--col-12);
	--frame-width-wide: 1300rem;
	--page-head-height: var(--s8);
	--page-head-height-compressed: var(--s7);
	--scrollbar-width: 0px;
	--page-width: calc(100vw - var(--scrollbar-width));
	--notification-height: var(--s6);
}

/* REM SCALING */

html {font-size: 1px;}

@media (width <= 1400px) {html{font-size: 0.975px;}}
@media (width <= 1360px) {html{font-size: 0.950px;}}
@media (width <= 1320px) {html{font-size: 0.925px;}}
@media (width <= 1280px) {html{font-size: 0.900px;}}
@media (width <= 1240px) {html{font-size: 0.875px;}}
@media (width <= 1200px) {html{font-size: 0.850px;}}
@media (width <= 1160px) {html{font-size: 0.825px;}}
@media (width <= 1120px) {html{font-size: 0.800px;}}
@media (width <= 1080px) {html{font-size: 0.775px;}}
@media (width <= 1040px) {html{font-size: 0.750px;}}
@media (width <= 1000px) {html{font-size: 0.725px;}}
@media (width <=  960px) {html{font-size: 1.000px;}}

@media (width > 1920px) {html{font-size: 1.25px;}}

/* TEXT */

html {
	scroll-behavior: smooth;
	overflow-y: scroll;
	text-size-adjust: 100%;
	-webkit-font-smoothing: antialiased;
	-webkit-tap-highlight-color: transparent;
}

body {
	margin: 0;
	font-family: 'Raleway', sans-serif;
	font-size: 16rem;
	font-weight: 500;
	line-height: 1.6;
	color: #2F353B;
	background: #fff;
}

h1, h2, h3, h4, h5, h6 {
	margin: 1.25em 0 0 0;
	line-height: 1.25;
	font-weight: 600;
	text-wrap: balance;
}

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:52rem;}
h2, .b-h2 {font-size:42rem;}
h3, .b-h3 {font-size:38rem;}
h4, .b-h4 {font-size:32rem;}
h5, .b-h5 {font-size:26rem;}
h6, .b-h6 {font-size:20rem;}

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

.b-h5.alt-2 {font-size: 22rem; font-weight: 700;}
.b-large-text {font-size:18rem; line-height:1.3; font-weight:500;}
.b-text-large-head {font-size: 28rem; line-height: 1.4;}
.b-num {font-family:sans-serif;}
.b-eyebrow {
	text-transform: uppercase;
	font-weight: 600;
	font-size: 14rem;
	letter-spacing: 0.84rem;
}

.b-eyebrow + h1, 
.b-eyebrow + h2, 
.b-eyebrow + h3 {
	margin-top: 20rem;
}

@media (width <= 1200px) {
	h1 br, h2 br, h3 br, h4 br, h5 br, h6 br {display:none;}
}

@media (width <= 960px) {
	h1, .b-h1 {font-size:36rem;}
	h2, .b-h2 {font-size:30rem;}
	h3, .b-h3 {font-size:28rem;}
	h4, .b-h4 {font-size:26rem;}
	h5, .b-h5 {font-size:22rem;}
	h6, .b-h6 {font-size:20rem;}
	.b-large-text {font-size:16rem; line-height:1.4;}
}

html {
	scroll-behavior: smooth;
}


/* 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: inherit;
	background-color: transparent;
	text-decoration: underline;
	transition: all 0.25s;
}

a:hover {text-decoration: 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: 2rem solid currentColor;
	border-width: 0 2rem 2rem 0;
	transform: rotate(-45deg);
	width: 6rem;
	height: 6rem;
	margin: -3rem 2rem 0 4rem;
}

.b-link:focus-within {
	border: 2rem solid #000;
}


/* BASIC TAGS */

p {
	margin: var(--ps) 0;
}

ul, ol {
	margin: var(--ps) 0;
	padding: 0 0 0 1em;
}

li ul, li ol {
	margin-top: 0;
}

li {
	margin: calc(var(--ps) / 2) 0;
}

strong, b {
	font-weight: 700;
}

em, i {
	font-style: italic;
}

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

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

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

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

table td {
	padding: 5rem;
	border: 1rem solid #ccc;
	border-width: 1rem 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;
}

span {display: inline;}


/* 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: 14rem;
	line-height: 50rem;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	height: 50rem;
	width: auto;
	padding: 0 20rem;
	background: #15181F;
	box-shadow: inset 0 0 0 1rem #15181F;
	border: none;
	border-radius: 0;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	text-decoration: none;
	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-within {
	background-color: transparent;
	box-shadow: inset 0 0 0 1rem #15181F;
	color: #101820;
}

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

.b-button svg {
	display: inline-block;
	vertical-align: middle;
	margin: 0 0 0 16rem;
	fill: currentColor;
	transform: translateX(-4rem);
}

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

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

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

.b-button.alt-arrow {
	margin: 0;
	padding: 0 20rem 0 0;
	background: transparent;
	color: var(--black);
	font-size: 16rem;
	border-radius: 0;
	border-bottom: 1rem solid var(--grey);
	text-overflow: unset;
	white-space: normal;
	width: 100%;
	word-break: break-word;
	box-shadow: none;
	text-align: left;
	position: relative;
}

.b-button.alt-arrow::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 0;
	height: 1rem;
	border-bottom: 1rem solid var(--black);
	transition: 1s cubic-bezier(.8,0,.2,1);
}

.b-button.alt-arrow.alt-first {
	border-top: 1px solid var(--grey);
}

.b-button.alt-arrow:hover::after {
	width: 100%;
}


.b-button.alt-arrow svg {transition: 0.2s transform;}
.b-button.alt-arrow:hover svg {transform: translateX(0);}
a:hover .b-button.alt-arrow svg {transform: translateX(0);}

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

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



/* PAGE */

.b-page {
	border-right: 0 solid #fff; /* used when scroll is disabled */
	max-width: 100%;
	min-width: 320px;
	max-width: 2560px;
	margin: 0 auto;
	margin-top: var(--notification-height);
	overflow: clip;
}

.b-page-head {
	position: absolute;
	z-index: 2;
	top: 0;
	left: 0;
	right: 0;
	max-width: 100%;
	min-width: 320px;
	max-width: 2560px;
	margin: 0 auto;
	height: var(--page-head-height);
	transition: background 0.25s;
}
.announcement + .b-page-head {
	top: 44rem;
}

.b-page-head + .b-page-body {
	position: relative;
	z-index: 1;
	border-top: 50rem solid transparent;
}
.announcement + .b-page-head + .b-page-body {
	border-top: 144rem solid transparent;
}

.b-page[data-scroll] .b-page-head {
	position: fixed;
	top: -100rem;
	transition: transform 0.25s;
	background: #fff;
}
.b-page[data-scroll] .announcement + .b-page-head {
	position: fixed;
	top: -56rem;
	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 (min-width: 961px) {
	/* PAGE ANIMATIONS */

	.gradient-background {
		height: 600rem;
		background: linear-gradient(62deg, #edf8ec, #d1e8f7, #fddadd, #FFFAE2);
		animation: gradient 15s ease infinite; 
		background-size: 300% 300%;
		filter: blur(100px);
	}
	
	
	@-webkit-keyframes gradient{
		0% {
		background-position: 0 50%;
		}
		50% {
		background-position: 100% 50%;
		}
		100% {
		background-position: 0% 50%;
		}
	}
	@keyframes gradient{
		0% {
		background-position: 0 50%;
		}
		50% {
		background-position: 100% 50%;
		}
		100% {
		background-position: 0% 50%;
		}
	}
}


@media screen and (max-width: 960px) {
	.b-page-head {height:60rem;}
	.b-page-head + .b-page-body {border-top-width:30rem;}
	.b-page[data-scroll] .b-page-head {top:-60rem; height:60rem;}

	.announcement + .b-page-head {top:72rem;}
	.announcement + .b-page-head + .b-page-body {border-top-width:132rem;}

	.b-page[data-scroll] .announcement + .b-page-head {top:12rem; height:60rem;}
	#gradient-canvas {display:none;}
}
/* @media screen and (max-width: 402px) {

	.announcement + .b-page-head {top:100px;}
	.announcement + .b-page-head + .b-page-body {border-top-width:160px;}
	.b-page[data-scroll] .announcement + .b-page-head {top:40px; height:60px;}
} */



/* FRAME */

.b-frame {
	position: relative;
	max-width: var(--frame-width);
	margin: 0 auto;
	padding: var(--s9) var(--s5);
}

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

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

.b-foot.alt-steps {
	max-width: 1200rem;
}

.b-container {
	overflow: hidden;
	position: relative;
	margin: 0 auto;
	max-width: 1520rem;
	background: #fff;
	box-shadow: 0 10rem 20rem 0 rgba(0,0,0,0.05), 0 40rem 50rem 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:80rem;}
.b-frame.alt-min-pad-top {padding-top:40rem;}
.b-frame.alt-min-pad-bottom {padding-bottom:40rem;}
.b-frame.alt-no-pad-top {padding-top:0;}
.b-frame.alt-no-pad-bottom {padding-bottom:0;}
.b-head.alt-left {margin-left:0; text-align:left;}

.b-frame.alt-tight {padding-top: 80rem; padding-bottom: 80rem;}

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

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

@media screen and (min-width: 961px) {
	.b-frame.alt-no-pad-top-desktop {padding-top:0;}
	.b-frame.alt-no-pad-bottom-desktop {padding-bottom:0;}
}

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



/* NAV & MODAL */

.b-nav,
.b-modal,
.b-popup {
	display: block !important;
	pointer-events: none;
	overflow: hidden;
	position: fixed;
	z-index: 7;
	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,
#auto-popup-modal:checked ~ .b-modal {
	pointer-events: auto;
	opacity: 1;
	visibility: visible;
	transition: visibility 0s 0s, opacity 0.25s;
}

.b-modal-overlay {
	position: absolute;
	top: -100rem;
	bottom: -100rem;
	left: -100rem;
	right: -100rem;
	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:144rem;}

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



/* UTILITY */

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

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

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

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

.b-bottom-offset {
	box-shadow: inset 0 -240rem #15181f, 0 1rem #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: 960px) {
	.b-hidden-900 {display:none !important;}
	.b-bottom-offset {box-shadow: inset 0 -60rem #15181f, 0 1rem #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:20rem;}
.b-spacer[data-height="28"] {height:28rem;}
.b-spacer[data-height="40"] {height:40rem;}
.b-spacer[data-height="60"] {height:60rem;}
.b-spacer[data-height="80"] {height:80rem;}
.b-spacer[data-height="96"] {height:96rem;}
.b-spacer[data-height="100"] {height:100rem;}
.b-spacer[data-height="120"] {height:120rem;}

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

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

/* SKIP LINKS */

.b-skip-links {
	z-index: 3;
	position: absolute;
	top: 0;
	left: 0;
	padding: 5rem 10rem;
	font-size: 15rem;
}

.b-skip-links a {
	color: var(--white);
	pointer-events: none;
	opacity: 0;
	transition: opacity 0.25s;
}

.b-skip-links a:focus {opacity: 1;}

@media screen and (max-width: 960px) {
	.b-skip-links {display: none;}
}

/* COLUMNS */

.b-columns {
	display: flex;
	flex-wrap: wrap;
	margin: var(--ns3);
}

.b-column {
	padding: var(--s3);
	box-sizing: border-box;
	flex: 0 0 auto;
	max-width: 100%;
}

.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:-10rem;}
.b-columns.alt-tight > .b-column {padding:10rem;}

.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:-40rem;}
	.b-columns.alt-loose > .b-column {padding:40rem;}
}

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

.b-columns.alt-flickity {overflow: hidden; justify-content: flex-start; flex-wrap: nowrap;}
.b-columns.alt-flickity.flickity-enabled {overflow: visible; display: block; margin-top: 0; margin-bottom: 100px;}
.b-columns.alt-flickity.flickity-enabled .b-column {display: block; padding-top: 0; padding-bottom: 0;}
.b-columns.alt-flickity.flickity-enabled.alt-middle .b-column {display: flex; flex-direction: column; justify-content: center; padding: 0; margin: 20rem;}

@media screen and (max-width: 960px) {
	.b-columns.alt-flickity.flickity-enabled {margin-bottom: 50px;}
	.b-columns.alt-flickity.flickity-enabled .b-column {padding-bottom: 20rem;}
}

/* FLEX */ 


.b-flex {
	display: flex;
	gap: 15rem;
	flex-flow: row wrap;
}

/* button center */

.buttons.alt-center {
	display: flex;
	justify-content: center;
}

/* SECTION */ 

.b-section[data-variant="light"] {background: var(--white);}
.b-section[data-variant="grey"] {background: var(--grey);}
.b-section[data-variant="gradient"] {background: no-repeat center url(../img/cta-gradient-bg.png); background-size: cover;}
.b-section[data-variant="gradient-modal"] {background: no-repeat center url(../img/gradient-modal.jpeg); background-size: cover;}
.b-section[data-variant="aih-points"] {background: #F2F2F2 no-repeat url(../img/aih-points-bg.jpg) bottom center; background-size: cover;}
.b-section[data-variant="sih-points"] {background: #F2F2F2 no-repeat url(../img/sih-points-bg.jpeg) bottom center; background-size: cover;}
.b-section[data-variant="sih-points-v2"] {background: #F2F2F2 no-repeat url(../img/sih-points-bg.jpeg) calc(50% + 16rem) 100%; background-size: cover;}
.b-section[data-variant="eth-points"] {background: #F2F2F2 no-repeat url(../img/eth-points-bg.jpeg) bottom center; background-size: cover;}
.b-section[data-variant="expert-advisory"] {background: #FFFFFF no-repeat url(../img/experts-advisory-bg.svg) bottom center; background-size: cover;}
.b-section[data-variant="creative-studio"] {
	background: 
	url(../img/tech-transfer-pfa-deco.svg) calc(50% - 430rem) -189rem / 564.371rem 657rem no-repeat,
	url(../img/tech-transfer-pfa-deco.svg) calc(50% + 620rem) calc(100% + 202rem) / 564.371rem 657rem no-repeat
}


.b-section .background {
	position: absolute;
	z-index: 0;
	inset: 0;
}
.b-section > .b-frame:has(+ .background) { position: relative; z-index: 1; }
.b-section:has(> .background) { position: relative; }

@media screen and (max-width: 960px) {
	.b-section[data-variant="aih-points"],
	.b-section[data-variant="sih-points"],
	.b-section[data-variant="sih-points-v2"],
	.b-section[data-variant="creative-studio"],
	.b-section[data-variant="eth-points"] {background-image: 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.alt-maxed { max-width: 168rem; }
.b-hexagon.alt-maxed-lg { max-width: 224rem; }

.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: 5rem 10rem;
	font-weight: 700;
	background: #fff;
	color: #101820;
}

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

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

.b-hexagon-link:focus-within {
	border: 2rem solid #000;
}

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

@media screen and (max-width: 960px) {
	.b-hexagon-caption {padding:0 6rem; font-size:12rem;}
	.b-hexagon-link {font-size:16rem; line-height:18rem; text-shadow:1rem 2rem 4rem 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 2rem;
	padding: 0 0 0 30rem;
}


ol.b-list {
	padding: 0;
	counter-reset: items;}

ol.b-list > li {
	padding-left: 60rem;
	position: relative;
	display: block;
	counter-increment: items;
	border-bottom: 1rem solid #CFD2D4;
	padding-bottom: 20rem;
	margin-top: 20rem;

}

ol.b-list > li::before {
	content: "0" counter(items)". ";
	position: absolute;
	top: 0;
	left: 0;
}


/* DECORATIONS */

.b-deco {
	position: absolute;
}

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

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

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



/* WORDPRESS */

.aligncenter {
	margin: 40rem auto;
}

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

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

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



/* FLICKITY */

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

.flickity-button:hover {
	background: no-repeat center url(../img/flickity-arrow-hover.svg) !important;
}

.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 5rem;}
.flickity-page-dots .dot.is-selected {transform:scale(1.25);}

