@import url("RobotoSlab_VariableFont_wght/stylesheet.css");
@import url("Belleza_Regular/stylesheet.css");
h2.count-num {
	font-size:5vw;
	padding-top:0vw;
}
.col {width: 100%}
span.line {
  display: inline-block;
}
 .colored h4 {
	color: #a3d7ff;
	padding-top:1vw;
}
:root { font-size: 62.5%; }
html, body { }
* {
    box-sizing: border-box
}
input:focus,
select:focus,
textarea:focus,
button:focus {
    outline: 0
}

body::-webkit-scrollbar {
    width: .7vw;
}
 
body::-webkit-scrollbar-track {
    -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.3);
}
 
body::-webkit-scrollbar-thumb {
  background-color: darkgrey;
  outline: 1px solid slategrey;
}
#head .body {
	float:left;
	display:block;
	width:auto;
	max-width:340px;
}
.page {
    /* background: #fff; */
    z-index: 99;
    position: relative;
    top: 0;
}
body {
    margin: 0;
    padding: 0;
    font: 18px/25px lato;
    color: #282e32;
    background-color:black;
}
section {
	padding-right: 0;
	padding-left: 0;
}
#logo {
	max-height: 65px;
	margin-top:0px;
	/* margin-left:-20px; */
}
#head {
    background: #0000008c;
    padding: 30px 0;
    color: #fff;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-align: center
}
#head .colset {
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex
}
#head .logo {
    padding-left: 14px;
    float: left;
}
#head img {
    -webkit-align-self: center;
    align-self: center
}
#head strong a {
    position: relative;
    display: inline-block;
    padding: 14px 20px;
    border-radius: 999px;
    background: linear-gradient(135deg, #ffffff 0%, #dff2ff 50%, #91dfff 100%);
    color: #061c2c;
    font-size: 16px;
    font-weight: 900;
    letter-spacing: .08em;
    -webkit-align-self: center;
    align-self: center;
    text-align: right;
    float: right;
    font-family: Lato, Arial, sans-serif;
    box-shadow: 0 14px 34px rgba(0, 0, 0, .22);
    overflow: hidden;
    text-decoration:none;
    text-transform: uppercase;
    transition: transform .28s ease, box-shadow .28s ease, color .28s ease;
}
#head strong a:before {
    content: '';
    position: absolute;
    top: 0;
    left: -80%;
    width: 55%;
    height: 100%;
    background: linear-gradient(110deg, transparent, rgba(255,255,255,.75), transparent);
    transform: skewX(-20deg);
    transition: left .55s ease;
}
#head strong a:hover,
#head strong a:focus-visible {
    color: #001b2f;
    transform: translateY(-3px) scale(1.03);
    box-shadow: 0 20px 46px rgba(91, 164, 221, .38);
}
#head strong a:hover:before,
#head strong a:focus-visible:before {
    left: 125%;
}
#head strong a:active {
    transform: translateY(-1px) scale(1.01);
}
nav,
#head .nav {
    font-weight: 300;
    text-align: center;
    -ms-flex: 1;
    -webkit-flex: 1;
    flex: 1;
    -webkit-align-self: center;
    align-self: center;
    font-size: 26px;
}
nav {
    display: inline-block;
}
nav ul,
.nav ul {
    margin: 0;
    padding: 0
}
nav li,
.nav li {
    display: inline-block;
    position: relative;
    letter-spacing: .5px
}
nav a,
.nav a {
	color: #5ba4dd;
	text-transform: uppercase;
	text-decoration: none;
	padding-top: 10px;
	padding-right: 10px;
	padding-left: 10px;
	padding-bottom: 10px;
	display: inline-block;
}
nav a:hover,
.nav a:hover {
	color: black;
	background:white;
}
nav .menu .cta a {
    padding: 0
}
nav .menu .cta a:hover {
    color: black;
    background: transparent;
}
.menu .colset ul {
    float: left;
}
.menu hr {
    border-bottom-color: #eee;
}
nav .menu .cta img {
    padding-top: 10px;
}
.has-menu a {
	color: #5ba4dd;
}
.menu a {color:black;}

.u-wrap {
    /* max-width: 1920px; */
    margin: 0 auto;
    padding: 0px 4%;
    position: relative;
}
.u-wrap:after {
    content: ' ';
    display: block;
    height: 0;
    clear: both
}
.colset:after {
    
    display: block;
    clear: both
}
.menu .width-1\/3 {
    width: 33.33%
}
.menu .width-1\/2 {
    width: 50%
}
.col {
    float: left;
	padding: 0 3%;
}
#head .nav {
    text-align: left;
    padding: 0 40px
}
.action-menu-toggle {
    float: right
}
#head .nav a {
    text-transform: none;
    font-size: 18px;
    font-weight: 400;
    padding: 5px 15px;
    border-radius: 20px
}
#head input {
    margin-top: 40px;
    width: 100%;
    border: 0;
    padding: 7px 20px;
    font: 16px/20px lato;
    border-radius: 20px;
    background: #fff url(img/glass.png) no-repeat right center
}
#head .menu a {
    font-size: 13px;
	line-height: 20px;
}
.width-1\/2 {
    width: calc(50% - 20px);
    max-width: 50%
}
.width-1\/3 {
    width: calc(33.33% - 20px);
    max-width: 33.33%
}
.width-1\/4 {
    width: calc(25% - 20px);
    max-width: 25%
}
.block-center {
    margin-left: auto;
    margin-right: auto
}
.col:last-child {
    margin-right: 0
}
.nav--stacked {
    margin-bottom: 0;
    padding: 20px 0
}
.nav--stacked ul {
    margin: 0;
    padding: 0;
    list-style: none
}
.nav--stacked a {
    color: inherit;
    text-decoration: none;
    display: block;
    padding: 5px 0
}
.nav a img {
    vertical-align: middle
}
h1,
.h1 {
	 font-size: 5em;
	 font-family: "Belleza Regular";
	 margin: 0px 0 13px 0;
	 font-style: inherit;
	 font: bold;
	 line-height: 1em;
}
h2,
.h2 {
	line-height: 1;
    font-size: 3.5em;
    font-family: "Belleza Regular";
    text-align: center;
    margin: 22px 0 0px 0;
}
.u-wrap .text-center h1 {
    padding: 0px 0px 4px 0;
    font-style: inherit;
    color: #ffffff;
    letter-spacing: 0;
}

h3 {
    margin: 0 0 5px 0;
    font: bold 28px/30px lato;
    letter-spacing: -1px
}
h4 {
    margin: 0 0 20px 0;
    font: bold 24px/30px lato
}
p {
    font-family: 'Lato';
    color: #343434;
    margin: 0 0 20px 0;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
.text-center p {
	font-size: 1.7rem;
    line-height: 1.5;
}
.active a {
    background: #3f4448
}
.articleset {
    padding: 20px 0
}
article {
    text-align: center;
    position: relative
}
.photo img {
    display: block;
    width: 100%;
    margin: 0 0 20px 0
}
.hr {
    border-bottom: 1px solid #d1d9de;
    margin: 0 0 40px 0;
    color: #adb7bd;
    text-align: center;
    text-transform: uppercase
}
.hr .title {
	border-radius: 3em;
    position: relative;
    background: #fff;
    display: inline-block;
    bottom: -14px;
    padding: 0 20px;
    letter-spacing: 5px;
}
main {
    padding: 20px 0;
    display: block
}
main header {
    padding: 40px 0
}
footer {
	padding: 60px 0;
	background: #282e32;
	color: #fff;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	font-size: 11px;
}
address {
    font-style: normal;
    line-height: 30px
}
address h4 {
    margin: 0 0 10px 0;
    line-height: 30px
}

/* show aside on less than wide screens */

.aside {
    background: #3f4448;
    color: #fff;
    padding: 30px;
    text-align: center;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.5);
    z-index: 999
}

.aside article {
    padding: 0 0 30px 0;
    margin: 0 0 30px 0;
    position: relative;
    font-size: 14px
}

.aside article:after {
    
    display: block;
    position: absolute;
    width: 50%;
    left: 25%;
    bottom: 0;
    border-bottom: 1px solid #65696d
}

.aside img {
    display: block;
    margin: 0 auto 20px auto;
}

.aside h3 {
    font-weight: 200
}

.aside article a {
    color: inherit
}


@media only screen and (min-width: 1400px) {
    body {
        display: -webkit-flex;
        display: flex
    }
    .page {
        background-color: #000000;
        -webkit-flex: 1;
        flex: 1;
    }
    .aside {
        width: 310px;
        background: #3f4448;
        color: #fff;
        padding: 30px;
        text-align: center;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
        box-shadow: 0 0 5px rgba(0, 0, 0, 0.5);
        z-index: 999
    }
    .aside .w-wrap {
        position: fixed;
        padding: 30px;
        top: 10px;
        right: 10px;
        bottom: 10px;
        width: 300px;
        z-index: 9999;
        overflow: auto;
        background: #3f4448
    }
    .aside article {
        padding: 0 0 30px 0;
        margin: 0 0 30px 0;
        position: relative;
        font-size: 14px
    }
    .aside article:after {
        
        display: block;
        position: absolute;
        width: 50%;
        left: 25%;
        bottom: 0;
        border-bottom: 1px solid #65696d
    }
    .aside h3 {
        font-weight: 200
    }
    .aside article a {
        color: inherit
    }
}
.button {
    color: white!important;
    background: #3e7cad;
    display: inline-block;
    padding: 5px 30px;
    border-radius: 20px;
    color: inherit;
    text-decoration: none;
    -webkit-transition-duration: 0.3s;
    transition-duration: 0.3s;
	margin-left:20px;
}

.button:hover {
	background-color: #0f79cd;
	color: white;
}

.buttontop {
	margin-left: 20px;
    background: #6F97B2;
    display: inline-block;
    padding: 5px 30px;
    border-radius: 20px;
    color: inherit;
    text-decoration: none;
    -webkit-transition-duration: 0.3s;
    transition-duration: 0.3s;
}

.buttontop:hover {
    background-color: #6e7d88;
    color: white;
}

.kicker {
    text-transform: uppercase;
    text-align: center;
    color: #939598;
    letter-spacing: 2px;
    margin: 0 0 10px 0
}
.articleset {
    overflow: hidden
}
.colset-8 article,
.colset-8 header {
    float: left;
    width: 12.5%;
    margin: 0;
    padding: 0
}
.colset-8 img {
    margin: 0;
    width: 100%;
    display: block
}
.text-center {
    text-align: center
}
header {
    padding: 0;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}
.col header {
    padding: 0
}
header h3 {
    margin: 0 0 5px 0
}
#feature {
    padding-top: 42px;
    color: #fff;
    background: #000000 url(images/bg.jpg) no-repeat center -100px;
    height: 1000px;
    position: relative;
    margin-top: 57px;
}
#feature:after {
    
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    background: url(data/hp-overlay2.png) no-repeat no-repeat center -100px;
    pointer-events: none;
	content: " ";
}
.timeline {
    border: 1px solid transparent;
    height: 0;
    width: 100%;
    position: relative;
    margin: 25px 0 100px 0
}
.timeline a {
    height: 16px;
    width: 16px;
    border-radius: 50%;
    position: absolute;
    background: #ccc;
    top: -8px
}
.timeline .arrow {
    height: 0;
    width: 0;
    position: absolute;
    top: -8px;
    right: -8px;
    border: 8px solid transparent;
    border-left: 8px solid #ccc
}
.timeline .color-one {
    position: absolute;
    left: 0;
    right: 75%;
    top: 0;
    bottom: 0;
    border: 1px solid #f05e45
}
.timeline .color-one a {
    background: #f05e45
}
.timeline .color-two {
    position: absolute;
    left: 25%;
    right: 25%;
    top: 0;
    bottom: 0;
    border: 1px solid #f4a34c
}
.timeline .color-two a {
    background: #f4a34c
}
.timeline .color-three {
    position: absolute;
    left: 75%;
    right: 0;
    top: 0;
    bottom: 0;
    border: 1px solid #48c5a2
}
.timeline .color-three a {
    background: #48c5a2
}
.timeline .color-three .arrow {
    border-left-color: #48c5a2
}
.timeline .label {
    text-align: center;
    position: absolute;
    left: -30px;
    right: -30px;
    bottom: 30px;
    font-size: 12px;
    line-height: 15px
}
.timeline .label.bottom {
    bottom: auto;
    top: 25px
}
h3.color-one {
    color: #f05e45
}
h3.color-two {
    color: #f4a34c
}
h3.color-three {
    color: #48c5a2
}
.theme-b {
    background: #2962b6;
    color: #fff
}
.block-center {
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-align-items: center;
    align-items: center
}
.block-center:first-child {
    margin-left: 0
}
header h2 {
    margin: 0 0 5px 0
}
.rounded img {
    border-radius: 50%;
    overflow: hidden
}
.articleset.colset-8:hover article,
.articleset.colset-8:hover header {
    -webkit-transition: opacity 1s;
    transition: opacity 1s;
    opacity: .5
}
.articleset.colset-8 .group:hover article,
.articleset.colset-8 .group:hover header {
    -webkit-transition: opacity 1s;
    transition: opacity 1s;
    opacity: 1
}
img {
    max-width: 100%
}
main {
    background-color: white;
    padding: 0;
}
main .copy {
    width: calc(66.666% - 40px);
    float: left
}
main .full-width {
    width: 100%;
    float: none
}
main aside {
    width: calc(-6.667000000000002%);
    float: right
}
p.strong {
    font: 300 32px/40px lato;
    margin: 0 0 40px 0
}
#feature .u-wrap {
    height: 580px
}
#feature blockquote {
    bottom: 25px;
    right: 0;
    position: absolute;
    font: italic 30px/30px georgia;
    text-align: right;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    color: #fff
}
#feature blockquote strong {
    font: italic 50px/50px georgia;
    letter-spacing: -2px;
    display: block
}
.pull-right {
    float: right;
    margin: 0 -58% 20px 40px
}
.follow {
    line-height: 32px;
    vertical-align: middle;
    overflow: hidden;
    clear: both;
    border-top: 1px solid #ccc;
    padding: 20px 0;
    border-top: 20px solid #fff;
    box-shadow: 0 -1px 0 #ddd;
    text-transform: uppercase;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-size: 12px;
    letter-spacing: 2px
}
.follow img {
    width: 36px;
    margin-left: 5px;
    float: right
}
.follow strong {
    padding: 2px 0;
    white-space: nowrap;
    float: left
}
.action-menu-toggle {
    display: none
}
@media only screen and (max-width: 1200px) {
    main .copy {
        width: 100%;
        float: none
    }
    .pull-right {
        float: none;
        margin: 0 0 40px 0
    }
    .action-menu-toggle {
        display: block;
        padding: 10px;
        margin-right: -10px
    }
    nav ul,
    nav strong {
        display: none
    }
    #head strong {
        display: none
    }
}
@media only screen and (min-width: 1201px) {
    .mobile-nav {
        display: none!important
    }
}
nav .menu {
	position: absolute;
	background: #fff;
	z-index: 999;
	width: 500px;
	text-align: left;
	padding-top: 0;
	padding-right: 15px;
	padding-bottom: 10px;
	display: none;
	padding-left: 5px;
}
nav .menu .col {
    margin: 0
}
nav .menu h5 {
    font-size: 19px;
	margin-bottom: 3px;
}
nav .menu li {
    display: block
}
nav .menu li img {
    width: 20px;
    vertical-align: middle;
    margin-right: 5px;
    position: relative;
    top: -3px
}
nav .menu a {
    color: #222;
    display: block;
    -webkit-transition: all .5s;
    transition: all .5s
}
nav .menu a:hover {
    color: #000;
    background: #eee
}
hr {
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    border-bottom: 1px solid #ccc;
    margin: 15px 15px 0 15px
}
.mobile-nav {
    background: rgba(0, 0, 0, 0.9);
    position: fixed;
    width: 100%;
    z-index: 0;
    padding: 0;
    text-align: center;
    z-index: 999;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0
}
.mobile-nav ul {
    position: absolute;
    margin: 0;
    padding: 0;
    list-style: none;
    top: 50%;
    width: 100%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%)
}
.mobile-nav a {
    color: #fff;
    text-decoration: none;
    padding: 20px;
    font-size: 22px;
    display: block;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-weight: 300;
    transition: all .5s
}
.mobile-nav a:hover {
    background: #222
}
.mobile-nav .action-close {
    position: absolute;
    top: 5px;
    right: 10px;
    z-index: 99999
}

a img {
    border: 0
}
nav .cta {
    display: flex;
    align-content: center
}
@media only screen and (max-width: 440px) {
    .width-1\/4-sm {
        width: 25%
    }
    .width-1\/3-sm {
        width: 25%
    }
    .width-1\/2-sm {
        width: 50%
    }
    .width-1\/1-sm {
        width: 100%
    }
    .text-center-sm {
        text-align: center
    }
    .hidden-sm {
        display: none
    }
    .clear-sm {
        clear: left
    }
	h2.count-num {
    font-size: 12vw;
    padding-top: 0vw;
	line-height: .6;
	}
	.colored h4 {
    padding-top: 4vw;
	}
	
}
@media only screen and (min-width: 441px) and (max-width: 1200px) {
    .width-1\/4-md {
        width: 25%
    }
    .width-1\/3-md {
        width: 33.33%
    }
    .width-1\/2-md {
        width: 50%;
		padding: 2% 2%;
    }
    .width-1\/1-md {
        width: 100%
    }
    .hidden-md {
        display: none
    }
    .clear-md {
        clear: left
    }
	h2.count-num {
    font-size: 9vw;
    padding-top: 0vw;
	line-height: .7;
	}
}
@media only screen and (min-width: 1201px) {
    .width-1\/4-lg {
        width: 25%
    }
    .width-1\/3-md {
        width: 33.33%
    }
    .width-1\/2-lg {
        width: 50%
    }
    .width-1\/1-lg {
        width: 100%
    }
    .hidden-lg {
        display: none
    }
    .clear-lg {
        clear: left
    }
}
.rewui-panel {
    background: #3a3c3e;
    position: fixed;
    top: 20px;
    right: 20px;
    bottom: 20px;
    border-radius: 5px;
    width: 340px;
    z-index: 9999;
    font-family: lato;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.3)
}
.rewui-panel-wrap {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    overflow: auto
}
.rewui-input {
    background: #2f3234;
    color: #8a9398;
    border: 0;
    padding: 10px;
    border-radius: 2px;
    box-shadow: inset 1px 1px 2px rgba(0, 0, 0, 0.1);
    flex: 1;
    font-size: 16px;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}
.rewui-panel-section {
    padding: 30px
}
.rewui-color-button {
    display: inline-block;
    border: 1px solid #565a5d;
    border-radius: 2px;
    width: 40px;
    margin-left: 10px;
    position: relative
}
.rewui-color {
    display: flex;
    width: 100%
}
.rewui-color-button-swatch {
    position: absolute;
    top: 5px;
    right: 5px;
    bottom: 5px;
    left: 5px;
    background: #212426
}
.rewui-label {
    color: #a9b0b4;
    font-size: 11px;
    text-transform: uppercase
}
.rewui-panel-section {
    border-bottom: 1px solid #4b4f52
}
.rewui-font {
    display: flex
}
.rewui-select {
    background: #44484b;
    color: #8a9398;
    border: 1px solid #565a5d;
    padding: 10px;
    border-radius: 2px;
    flex: 1;
    font-size: 16px;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    -webkit-appearance: none;
    appearance: none;
    background: url(data:image/gif;base64,R0lGODlhCgAFAIABAP///////yH5BAEAAAEALAAAAAAKAAUAAAIKhI+BGboNGWxmFgA7) no-repeat right 15px center
}
.rewui-file {
    padding-bottom: 100%;
    background: #222;
    overflow: hidden;
    position: relative;
    background: #3d4144;
    border: 1px dashed #61686c;
    border-radius: 5px
}
.rewui-file input {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    opacity: 0
}
.rewui-file:after {
    content: "Choose...";
    color: #8a9398;
    display: block;
    text-align: center;
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    transform: translateY(-50%);
    pointer-events: none
}
.rewui-row {
    padding-bottom: 20px
}
.rewui-row:last-child {
    padding-bottom: 0
}
.dept {
    display: inline
}
.dept h3 {
    float: left;
    width: 12.5%;
    background: #ccc;
    color: #fff;
    font-size: 12px;
    line-height: 15px;
    position: relative;
    text-align: center;
    margin: 0;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}
.dept h3:after {
    
    display: block;
    padding-bottom: 100%
}
.dept h3 span {
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    text-transform: uppercase;
    letter-spacing: 1px;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%)
}
.dept p,
.dept .description {
    display: none
}
.staff-member {
    float: left;
    width: 12.5%;
    position: relative;
    overflow: hidden
}
.staff-member:after {
    
    display: block;
    padding-bottom: 100%
}
.staff-member img {
    display: block;
    position: absolute
}
.staff-member p {
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    color: #fff;
    padding: 20px;
    margin: 0;
    font-size: 12px;
    line-height: 15px;
    background: -moz-linear-gradient(top, rgba(0, 0, 0, 0) 0, rgba(0, 0, 0, 0.75) 72%, rgba(0, 0, 0, 0.75) 100%);
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, rgba(0, 0, 0, 0)), color-stop(72%, rgba(0, 0, 0, 0.75)), color-stop(100%, rgba(0, 0, 0, 0.75)));
    background: -webkit-linear-gradient(top, rgba(0, 0, 0, 0) 0, rgba(0, 0, 0, 0.75) 72%, rgba(0, 0, 0, 0.75) 100%);
    background: -o-linear-gradient(top, rgba(0, 0, 0, 0) 0, rgba(0, 0, 0, 0.75) 72%, rgba(0, 0, 0, 0.75) 100%);
    background: -ms-linear-gradient(top, rgba(0, 0, 0, 0) 0, rgba(0, 0, 0, 0.75) 72%, rgba(0, 0, 0, 0.75) 100%);
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0, rgba(0, 0, 0, 0.75) 72%, rgba(0, 0, 0, 0.75) 100%);
    text-transform: uppercase;
    letter-spacing: 1px;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}
.staff-member p strong {
    display: block;
    text-transform: uppercase
}
hr.company {
    display: none
}
hr.empty {
    background: transparent;
    height: 60px;
    border: 0
}
.dept-management h3 {
    background: #fd69a4
}
.dept-executive-staff h3 {
    background: #63c134
}
.dept-randd h3 {
    background: #7548a5
}
.dept-design h3 {
    background: #845652
}
.dept-marketing h3 {
    background: #f3352a
}
.dept-programming h3 {
    background: #1dbdb0
}
.dept-support h3 {
    background: #f1836f
}
.dept-sales h3 {
    background: #466fe1
}
.dept-idx h3 {
    background: #c16ade
}
.dept-human-resources h3 {
    background: #c16ade
}
.dept-accounting-and-billing h3 {
    background: #f48930
}
.dept-idx h3 {
    background: #449d0f
}
.dept-system-administration h3 {
    background: #ff997d
}
.dept-data-feed-analysis h3 {
    background: #666
}
@media only screen and (min-width: 1400px) {
    .dept h3,
    .staff-member {
        width: 10%
    }
}
@media only screen and (max-width: 1200px) {
    .dept h3,
    .staff-member {
        width: 25%
    }
}
@media only screen and (max-width: 800px) {
    .dept h3,
    .staff-member {
        width: 50%
    }
	#logo { 
		margin-bottom: -5px;
		max-height: 52px;
		margin-top: -3px;
		margin-left: -15px;
	}
	.hamburger {
		margin-top: 9px !important;
	}
}
.theme-c {
    background: #3069bd url(data/bg-meeting.jpg) no-repeat;
    color: #fff;
    position: relative;
    z-index: 900;
    background-size: cover
}
.photo {
    margin: 0 0 20px 0
}
.photo img {
    margin: 0
}
.photo-rounded {
    overflow: hidden;
    border-radius: 800px
}
.padded {
    padding: 20px
}
.slideset .slide {
    position: absolute;
    left: 50%;

    -webkit-transition: opacity 1s ease-out;
    transition: opacity 1s ease-out;	
	position: absolute;
    top: 204px;
    width: 694px;
    /* height: 410px; */
    height: 422px;
    overflow: hidden;
    margin-left: -347px;
 
}
.slideset .slide img {
    max-width: 999px
}
.slideset .hidden {
    opacity: 0;
    pointer-events: none !important;
}
#button2 {display:none};
@media only screen and (min-width: 800px) {
	p .button:last-child {
		margin-left: 10px
	}
}
@media only screen and (max-width: 1200px) {
    h1,
    .h1 {
        font-size: 8vw;
    }
    #feature {
        font-size: 16px;
        overflow: hidden
    }
}
@media only screen and (max-width: 1000px) {
    h1,
    .h1 {
        font-size: 8vw;
        letter-spacing: -1px;
    }
	#feature {
		margin-top: 80px;
	}
}
@media only screen and (max-width: 800px) {
	#caption-2 {display:none;}
    #feature {
		padding-top: 0!important;
		color: #fff;
		background: url(images/bg_thin.jpg) no-repeat center -20px;
		background-size: auto 700px;
		height: 680px;
		position: relative;
		font-size: 14px;
		line-height: 15px;
		overflow: hidden;
		margin-top: 80px;
    }
    h1,
    .h1 {
        font-size: 4em;
    }
    #feature {
        padding-top: 40px
    }
    #feature header {
        padding-bottom: 20px
    }
    .slideset .slide {
	width: 430px;
    height: 261px;
    margin-left: -215px;
    top: 200px;
    }
    .caption {
        background: #282e32
    }
	.button {
	width: auto;
    display: block;
    margin: 15px 25vw 0 25vw;
	padding: 10px 30px;
	}
	.u-wrap {
		padding:0;
	}
    #hp-projects .col {
        margin-right: 0
    }
	#button1 {display:none}
	#button2 {display:block}
}
@media only screen and (max-width: 667px) {
	h1 {
		font-size: 5.4em;
	}
	#cta2 {
		display:none;
	}
	#button2 {display:none;}
}

.caption {
    background: rgba(16, 17, 18, 0.5);
    text-align: center;
    padding: 35px;
    position: absolute;
    left: 0;
    bottom: 0;
    right: 0;
    z-index: 999;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    max-width: 9999px;
    margin: 0 0 0 0;
}
#demo {
    left: -75px;
    top: 600px;
    position: absolute;
    z-index: 9999
}
.hr .title {
	font-weight:900;
    color: #0d74c4;
    font-size: 14px;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
#hp-projects {
    max-width: 1240px;
    margin: 0 auto;
    position: relative
}
#hp-projects .col {
    margin-right: 40px
}
#hp-projects .col:last-child {
    margin-right: 0
}
#hp-projects article .body {
    padding: 20px
}
#hp-projects article .body .button {
    color: #fff;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}
.rslides {
    position: relative;
    list-style: none;
    overflow: hidden;
    width: 100%;
    padding: 0;
    margin: 0
}
.rslides article {
    -webkit-backface-visibility: hidden;
    position: absolute;
    display: none;
    width: 100%;
    left: 0;
    top: 0
}
.rslides article:first-child {
    position: relative;
    display: block;
    float: left
}
.rslides_tabs {
    list-style: none;
    margin: 0;
    padding: 30px 0 20px 0;
    text-align: center
}
.rslides_tabs li {
    list-style: none;
    margin: 0 6px;
    padding: 0;
    display: inline-block;
    font-size: 0;
    height: 15px;
    width: 15px;
    border-radius: 10px;
    background: #ccd4dd;
    border: 1px solid #9eadbe;
    border-radius: 20px
}
.rslides_tabs li a {
    display: block;
    height: 15px;
    width: 15px
}
.rslides_tabs li.rslides_here {
    background: #8093aa;
    border-color: #7087a0
}
.screenshot {
    display: inline-block;
    max-width: 100%;
    position: relative;
    padding: 41px 0 0 0;
    border: 1px solid #99999a;
    border-radius: 3px;
    overflow: hidden
}
.screenshot img {
    display: block;
    background: #333
}
.screenshot:before {
    display: block;
    
    background: url(data/ss-tl.png) no-repeat;
    height: 41px;
    position: absolute;
    top: 0;
    left: 0;
    right: 32px
}
.screenshot:after {
    display: block;
    
    background: url(data/ss-tr.png) no-repeat;
    height: 41px;
    position: absolute;
    right: 0;
    top: 0;
    width: 32px
}
.testimonial {
    color: #5c6267
}
.testimonial a {
    text-decoration: none;
    color: inherit
}
.testimonial img {
    display: block;
    width: 90%;
    margin: 0 auto 60px auto;
    border: 0;
    border-radius: 5px;
    overflow: hidden
}
.testimonial blockquote:before {
    font-family: georgia;
    bottom: auto;
    left: auto;
    display: block
}
.social {
    padding-top: 10px
}
.social a {
    display: inline-block
}
.social img {
    width: 36px;
    margin-right: 3px
}
.copyright {
    border-top: 1px solid #4e5153;
    padding: 20px 0
}

.slide.hidden {
    pointer-events: none;
}

.colset_2 {
    margin: 0 0 40px;
    position: relative;
}
.colset_2::after, .colset_2::before {
    
    display: table;
}
.colset_2::after {
    clear: both;
    content: " . ";
    display: block;
    height: 0;
    overflow: hidden;
}
.colset_2 h3 {
    font: 400 20px/20px "Proxima Nova";
}
.colset_2 p {
    color: #666;
    font: 14px/25px "Proxima Nova Lite";
    margin: 0 0 10px;
    overflow: hidden;
}
.colset_2 article {
    clear: left;
    float: left;
    left: 100%;
    margin-left: -100%;
    position: relative;
    width: 48.685%;
}
.colset_2 article:nth-child(2n+2) {
    clear: none;
    float: left;
    left: 100%;
    margin-left: -48.685%;
    position: relative;
    width: 48.685%;
}
.colset_2.compact {
    border-left: 1px solid #eee;
    border-top: 1px solid #eee;
}

.colset_4::after, .colset_4::before {
    
    display: table;
}
.colset_4::after {
    clear: both;
    content: " . ";
    display: block;
    height: 0;
    overflow: hidden;
}
.colset_4::after, .colset_4::before {
    
    display: table;
}
.nav.orient-cols,
#phone {
  display: none!important;
}
@media (min-width: 1025px) {
  .nav.orient-cols,
  #phone {
    display: block!important;
  }
}
.launch-nav {
  float: right;
  margin-right: 30px;
  margin-top: 34px;
}
@media (min-width: 481px) {
  .launch-nav {
    margin-right: 0;
    margin-top: 9px;
  }
}
@media (min-width: 1025px) {
  .launch-nav {
    display: none;
  }
}
.m-nav-overlay {
  width: 100vw;
  padding-top: 20px;
  position: absolute;
  z-index: 2000;
  left: 0;
  right: 0;
  background: #000000eb;
  visibility: hidden;
  opacity: 0;
  transition: opacity .4s;
  outline: none;
  padding-bottom: 30px;
}
@media (min-width: 1201px) {
  .m-nav-overlay {
    display: none;
  }
}
.page-section {
background-color: white;
box-shadow: 0px 0px 20px #000000a3;
padding: 2vw 2vw 3vw 2vw;
}
@media only screen and (max-width: 441px) {
	.m-nav-overlay {
		top: 60px;
	}
	#feature {
		overflow-x: hidden;
		transform-origin: top left;
		transform: scale(74%);
		width: 135.23%;
		margin-bottom: -185px;
	}
	  #logo {
	float: left;
    max-height: 42px;
    margin-top: 0;
    margin-left: 0px;
    height: 34px;
  }
  #feature {
		margin-top: 67px;
	}
	.text-center p {
    font-size: 5vw;
	}
	.hr {
		border:0;
	}
	.hr .title {
    letter-spacing: 3px;
	}
	.page-section {
		padding: 8vw 2vw 10vw 2vw;
	}
	.colored .page-section {
	padding-bottom: 12.3vw;
	}
}
@media only screen and (min-width: 441px) and (max-width: 600px) {
	.m-nav-overlay {
		top: 63px;
	}
}

.m-nav-overlay--active {
  visibility: visible;
  opacity: 1;
}
.m-nav,
.m-nav__sub-menu {
  list-style: none;
}
.m-nav {
  padding-left: 0;
  position: relative;
  max-width: 1240px;
  text-align: left;
  margin: 0 30px;
  -webkit-user-select: none; /* Chrome/Safari */        
-moz-user-select: none; /* Firefox */
-ms-user-select: none; /* IE10+ */
}
.m-nav:last-child {
  border-bottom: 1px solid #434d54;
}
.m-nav__item,
.m-nav__sub-item {
  border-top: 1px solid #434d54;
  cursor: pointer;
  position: relative;
  padding: 3vh 0 3vh 2vw;
}
.m-nav__link {
  line-height: 50px;
  font-size: 6vw;
  text-decoration: none;
  color: #fff;
  text-transform: uppercase;
  font-family: Lato;
  font-weight: 600;
  letter-spacing: 1px;
  display: block;
  background: none;
}
.m-nav__link:focus {
  outline: none;
  color: #fff;
  background: none;
}
.m-nav__link:active {
  background: none!important;
}
.m-nav__sub-menu {
  display: none;
  margin: 0;
  padding: 0;
  background: #363e43;
}
.m-nav__sub-link {
  text-decoration: none !important;
  color: #fff !important;
  line-height: 50px;
  font-size: 13px;
  padding-left: 30px;
  font-family: Lato;
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: 1px;
  display: block;
}
.m-nav__sub-link:active {
  background: none!important;
}
.arrow {
  display: inline-block;
  float: right;
}
.arrowUp:before {
  content: "\f077";
  font-family: fontawesome!important;
  speak: none;
  font-style: normal;
  font-weight: 400;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  color: #fff;
  right: 0;
}
.arrowDown:before {
  content: "\f078";
  font-family: fontawesome!important;
  speak: none;
  font-style: normal;
  font-weight: 400;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  color: #fff;
  right: 0;
}
.hamburger {
  display: inline-block;
  cursor: pointer;
  transition-property: opacity, filter;
  transition-duration: 0.15s;
  transition-timing-function: linear;
  font: inherit;
  color: inherit;
  text-transform: none;
  background-color: transparent;
  border: 0;
  margin: 0;
  overflow: visible;
  margin-top: 16px;
}
@media (min-width: 1201px) {
  .hamburger {
    display: none;
  }
}
@media (max-width: 1201px) {
	 #feature:after {
		background: none;
  }
}
@media (max-width: 480px) {
	.hamburger {
		margin-top: 3px !important;
	}
	#logo {
		margin-top: -5px;
	}
}
.hamburger:hover {
  opacity: 0.7;
}
.hamburger-box {
	padding-right:40px;
  width: 24px;
  height: 24px;
  display: inline-block;
  position: relative;
}
.hamburger-inner {
  display: block;
  top: 50%;
  margin-top: -px;
}
.hamburger-inner,
.hamburger-inner::before,
.hamburger-inner::after {
  width: 24px;
  height: 2px;
  background-color: #fff;
  position: absolute;
  transition-property: transform;
  transition-duration: 0.15s;
  transition-timing-function: ease;
}
.hamburger-inner::before,
.hamburger-inner::after {
  content: "";
  display: block;
}
.hamburger-inner::before {
  top: -7px;
}
.hamburger-inner::after {
  bottom: -7px;
}
.hamburger--boring .hamburger-inner,
.hamburger--boring .hamburger-inner::before,
.hamburger--boring .hamburger-inner::after {
  transition-property: none;
}
.hamburger--boring.is-active .hamburger-inner {
  transform: rotate(45deg);
}
.hamburger--boring.is-active .hamburger-inner::before {
  top: 0;
  opacity: 0;
}
.hamburger--boring.is-active .hamburger-inner::after {
  bottom: 0;
  transform: rotate(-90deg);
}
#head .u-wrap {
	padding: 0 .5%;
}

@font-face {
font-family:'fontawesome';
src:url('../inc/skins/brew/fnt/fontawesome.eot');
src:url('../inc/skins/brew/fnt/fontawesome.eot?#iefix') format('embedded-opentype'),url('../inc/skins/brew/fnt/fontawesome.woff') format('woff'),url('../inc/skins/brew/fnt/fontawesome.ttf') format('truetype'),url('../inc/skins/brew/fnt/fontawesome.svg#fontawesome') format('svg');
font-weight:normal;
font-style:normal;
}

#head {
	width:100%;
	position: fixed;
	z-index: 5000;
	background: #0000005e;
	padding: 15px 0 13px 0;
	top: 0;
}
.subh1 {
	font-weight: 400;
    color: #c5c5c5;
	font-size: 2.1rem;
	line-height: 1.5;
}
@media.logos div img { 
width:500px; 
}
.grayimg {
	filter: grayscale(1);
    opacity: .6;
}


.logos-wide {display:block}

.mega-nav__item > a {
	border-radius: 999px;
	font-size: 21px;
	font-weight: 800;
	letter-spacing: .08em;
}
a:focus-visible,
button:focus-visible {
	outline: 3px solid #91dfff;
	outline-offset: 4px;
}
.launch-nav {
	border: 0;
	background: transparent;
	cursor: pointer;
}
.mega-nav__item.active > a,
.mega-nav__item > a:hover {
	background: #ffffff;
	color: #061c2c;
}
nav .mega-menu {
	left: 50%;
	transform: translateX(-50%);
	width: min(1040px, 92vw);
	padding: 0;
	border: 1px solid rgba(255,255,255,.2);
	border-radius: 24px;
	background: linear-gradient(135deg, rgba(5,26,42,.98), rgba(16,86,133,.98));
	box-shadow: 0 28px 80px rgba(0, 0, 0, .42);
	overflow: hidden;
	color: #ffffff;
}
.mega-menu:before {
	content: '';
	position: absolute;
	inset: 0;
	background:
		radial-gradient(circle at 18% 20%, rgba(91, 164, 221, .42), transparent 28%),
		radial-gradient(circle at 86% 82%, rgba(255, 255, 255, .16), transparent 26%);
	pointer-events: none;
}
.mega-menu__feature,
.mega-menu__columns {
	position: relative;
	z-index: 1;
}
.mega-menu__feature {
	float: left;
	width: 31%;
	min-height: 320px;
	padding: 34px 28px;
	background: rgba(255,255,255,.1);
	backdrop-filter: blur(10px);
}
.mega-menu__feature span {
	display: inline-block;
	margin-bottom: 18px;
	color: #9ed9ff;
	font: 900 15px/1 Lato;
	letter-spacing: .16em;
	text-transform: uppercase;
}
.mega-menu__feature p {
	color: #ffffff;
	font: 400 24px/1.25 Lato;
	text-align: left;
}
nav .mega-menu .mega-menu__feature a {
	display: inline-block;
	margin-top: 28px;
	padding: 13px 18px;
	border-radius: 999px;
	background: #ffffff;
	color: #0b3958;
	font-size: 14px;
	font-weight: 900;
	letter-spacing: .08em;
}
.mega-menu__columns {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
	padding: 28px;
	overflow: hidden;
}
.mega-menu__column h5 {
	margin: 0 0 12px;
	color: #95d7ff;
	font-size: 14px;
	letter-spacing: .16em;
	text-transform: uppercase;
}
nav .mega-menu__column a {
	margin-bottom: 10px;
	padding: 14px 14px 13px;
	border: 1px solid rgba(255,255,255,.12);
	border-radius: 16px;
	background: rgba(255,255,255,.08);
	color: #ffffff;
	text-transform: none;
}
nav .mega-menu__column a:hover {
	background: rgba(255,255,255,.18);
	color: #ffffff;
	transform: translateY(-2px);
}
.mega-menu__column strong,
.mega-menu__column em {
	display: block;
}
.mega-menu__column strong {
	margin-bottom: 4px;
	font-size: 16px;
	line-height: 1.2;
}
.mega-menu__column em {
	color: #c7e9ff;
	font-size: 13px;
	font-style: normal;
	line-height: 1.35;
	text-transform: none;
}
@media only screen and (max-width: 1200px) {
	.mega-nav__item > a,
	nav .mega-menu {
		display: none;
	}
}

.m-nav__toggle {
	width: 100%;
	border: 0;
	text-align: left;
	cursor: pointer;
}
#foot {
	background: #001b2f;
	padding: 72px 0 40px;
}
.site-footer {
	max-width: 1320px;
	margin: 0 auto;
	padding: 0 5vw;
	text-align: left;
}
.site-footer__brand {
	display: grid;
	grid-template-columns: 240px minmax(260px, 1fr) auto;
	gap: 30px;
	align-items: center;
	width: 100%;
	box-sizing: border-box;
	padding-bottom: 34px;
	border-bottom: 1px solid rgba(255,255,255,.12);
}
.site-footer__brand img {
	max-width: 220px;
	height: auto;
}
.site-footer__brand p {
	max-width: 650px;
	color: #c3d7e4;
	font-size: 17px;
	line-height: 1.55;
	text-align: left;
}
#foot .site-footer__cta,
#foot .site-footer__cta:link,
#foot .site-footer__cta:visited {
	display: inline-block;
	white-space: nowrap;
	padding: 14px 18px;
	border-radius: 999px;
	background: #ffffff;
	color: #062033;
	font-size: 14px;
	font-weight: 900;
	letter-spacing: .08em;
	text-decoration: none;
	text-transform: uppercase;
}
#foot .site-footer__cta:hover,
#foot .site-footer__cta:active {
	background: #dff2ff;
	color: #062033;
}
#foot .site-footer__nav {
	display: grid;
	grid-template-columns: repeat(5, minmax(160px, 1fr));
	gap: 28px;
	width: 100%;
	box-sizing: border-box;
	flex: none;
	padding: 38px 0 32px;
	text-align: left;
}
#foot .site-footer__nav-group {
	min-width: 0;
}
#foot .site-footer__nav h5 {
	margin: 0 0 14px;
	color: #91dfff;
	font-size: 14px;
	font-weight: 900;
	letter-spacing: .16em;
	text-transform: uppercase;
}
#foot .site-footer__nav p {
	margin: 18px 0 8px;
	color: #ffffff;
	font-size: 13px;
	font-weight: 800;
	letter-spacing: .08em;
	line-height: 1.2;
	text-transform: uppercase;
}
#foot .site-footer__nav p:first-of-type {
	margin-top: 0;
}
#foot .site-footer__nav a,
#foot .site-footer__nav a:link,
#foot .site-footer__nav a:visited {
	display: block;
	padding: 6px 0;
	color: #dceef8;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.3;
	text-decoration: none;
	text-transform: none;
}
#foot .site-footer__nav a:hover,
#foot .site-footer__nav a:active {
	color: #ffffff;
	background: transparent;
}
.site-footer__base {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 18px;
	padding-top: 22px;
	border-top: 1px solid rgba(255,255,255,.12);
	color: #86a2b3;
	font-size: 14px;
}
#foot .site-footer__base a {
	padding: 0;
	color: #dceef8;
}
@media only screen and (max-width: 1000px) {
	.site-footer__brand,
	#foot .site-footer__nav {
		grid-template-columns: 1fr 1fr;
	}
	.site-footer__brand {
		align-items: start;
	}
	.site-footer__cta {
		justify-self: start;
	}
}
@media only screen and (max-width: 640px) {
	.site-footer {
		padding: 40px 7vw 24px;
	}
	.site-footer__brand,
	#foot .site-footer__nav,
	.site-footer__base {
		display: block;
	}
	.site-footer__brand p,
	.site-footer__cta,
	.site-footer__nav-group,
	.site-footer__base span {
		margin-top: 18px;
	}
}
.logos-thin{display:none}
@media only screen and (max-width: 1000px) {
	.logos-wide {display:none}
	.logos-thin{display:block}
}
section.colored {
	background-image: url(images/hero-design3.jpg);
    background-color: #215d8cba;
	background-size: cover;
}
div.colored {
    background-color: #215d8cba;
}
.colored h2 {
	color:white;
}

.home-lab-section {
	--pointer-x: 50%;
	--pointer-y: 50%;
	--tilt-x: 0deg;
	--tilt-y: 0deg;
	--drift-x: 0px;
	--drift-y: 0px;
	position: relative;
	overflow: hidden;
	padding: 74px 0;
	background:
		radial-gradient(circle at var(--pointer-x) var(--pointer-y), rgba(118, 206, 255, .36), transparent 340px),
		linear-gradient(115deg, transparent 0 31%, rgba(255, 255, 255, .08) 31.2% 31.8%, transparent 32% 100%),
		linear-gradient(65deg, transparent 0 53%, rgba(163, 215, 255, .11) 53.2% 53.8%, transparent 54% 100%),
		linear-gradient(rgba(255, 255, 255, .045) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255, 255, 255, .04) 1px, transparent 1px),
		linear-gradient(135deg, #051a2a 0%, #12384f 44%, #0f6f91 100%);
	background-size: auto, auto, auto, 46px 46px, 46px 46px, auto;
	color: #ffffff;
	box-shadow: inset 0 18px 45px rgba(0, 0, 0, .2);
}
.home-effects-ready .home-lab-section,
.home-effects-ready .home-flow-section {
	opacity: 0;
	transform: translateY(30px);
	transition: opacity .7s ease, transform .7s ease;
}
.home-effects-ready .home-lab-section.is-visible,
.home-effects-ready .home-flow-section.is-visible {
	opacity: 1;
	transform: translateY(0);
}
.home-lab-section:before,
.home-lab-section:after {
	content: "";
	position: absolute;
	inset: auto;
	pointer-events: none;
}
.home-lab-section:before {
	width: 62vw;
	height: 62vw;
	right: -22vw;
	top: -34vw;
	border-radius: 50%;
	border: 1px solid rgba(255, 255, 255, .16);
	transform: translate(var(--drift-x), var(--drift-y));
	animation: labSpin 24s linear infinite;
	transition: transform .2s ease-out;
}
.home-lab-section:after {
	left: 0;
	right: 0;
	bottom: 0;
	height: 1px;
	background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .8), transparent);
}
.home-lab-spotlight {
	position: absolute;
	inset: 0;
	pointer-events: none;
	background:
		radial-gradient(circle at 18% 30%, rgba(255, 255, 255, .12), transparent 230px),
		radial-gradient(circle at 82% 72%, rgba(93, 190, 255, .2), transparent 280px),
		repeating-linear-gradient(120deg, transparent 0 18px, rgba(255, 255, 255, .035) 18px 19px, transparent 19px 44px);
	mix-blend-mode: screen;
	opacity: .72;
	transform: translate(calc(var(--drift-x) * .35), calc(var(--drift-y) * .35));
	transition: transform .2s ease-out;
}
.home-lab-wrap {
	display: grid;
	grid-template-columns: minmax(280px, .8fr) minmax(420px, 1.2fr);
	gap: 44px;
	align-items: center;
	z-index: 1;
}
.home-lab-copy {
	text-align: left;
}
.home-lab-copy h2 {
	color: #ffffff;
	text-align: left;
	margin-top: 10px;
	font-size: 5.2rem;
}
.home-lab-copy p {
	color: #d9f1ff;
	font-size: 2rem;
	line-height: 1.6;
	text-align: left;
	margin: 0 0 28px 0;
}
.home-eyebrow {
	display: inline-block;
	color: #a3d7ff;
	text-transform: uppercase;
	letter-spacing: 2px;
	font-size: 1.3rem;
	font-weight: 700;
}
.home-lab-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
	perspective: 1000px;
}
.home-lab-card {
	position: relative;
	min-height: 230px;
	padding: 26px;
	border: 1px solid rgba(255, 255, 255, .2);
	border-radius: 8px;
	text-decoration: none;
	color: #ffffff;
	background: rgba(255, 255, 255, .1);
	backdrop-filter: blur(12px);
	box-shadow: 0 18px 40px rgba(0, 0, 0, .22);
	transform: perspective(900px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y));
	transition: transform .28s ease, border-color .28s ease, background .28s ease, opacity .5s ease;
	will-change: transform;
}
.home-effects-ready .home-lab-card {
	opacity: 0;
	transform: translateY(18px) perspective(900px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y));
}
.home-effects-ready .home-lab-section.is-visible .home-lab-card {
	opacity: 1;
	transform: perspective(900px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y));
}
.home-effects-ready .home-lab-section.is-visible .home-lab-card:hover {
	transform: translateY(-8px) perspective(900px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y));
}
.home-lab-card:hover {
	background: rgba(255, 255, 255, .18);
	border-color: rgba(255, 255, 255, .55);
	color: #ffffff;
	transform: translateY(-8px) perspective(900px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y));
}
.home-lab-card span {
	color: #7bd2ff;
	font-size: 1.4rem;
	font-weight: 900;
	letter-spacing: 1px;
}
.home-lab-card h3 {
	color: #ffffff;
	text-shadow: none;
	font-family: "RobotoSlab VariableFont wght";
	font-size: 2.5rem;
	line-height: 1.15;
	padding: 0;
	margin: 22px 0 12px 0;
	letter-spacing: 0;
}
.home-lab-card p {
	color: #eaf7ff;
	font-size: 1.65rem;
	line-height: 1.5;
	text-align: left;
	margin: 0;
}

.home-flow-section {
	opacity: 1;
	transform: none;
	padding: 70px 0 78px 0;
	background: #ffffff;
	transition: opacity .6s ease, transform .6s ease;
}
.home-flow-section h2 {
	margin-top: 0;
}
.home-flow-intro {
	text-align: center!important;
	font-size: 2rem!important;
	margin-bottom: 34px;
}
.home-flow-track {
	position: relative;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 12px;
	max-width: 1180px;
	margin: 0 auto;
	padding-top: 16px;
}
.home-flow-track:before,
.home-flow-progress {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	height: 5px;
	border-radius: 999px;
}
.home-flow-track:before {
	width: 100%;
	background: #d5e9f7;
}
.home-flow-progress {
	width: 25%;
	background: linear-gradient(90deg, #3e7cad, #22a2e8, #91dfff);
	transition: width .35s ease;
}
.home-flow-step {
	border: 0;
	border-radius: 8px;
	background: #eaf6ff;
	padding: 24px;
	text-align: left;
	min-height: 176px;
	cursor: pointer;
	box-shadow: 0 10px 26px rgba(32, 89, 128, .12);
	transition: transform .25s ease, background .25s ease, box-shadow .25s ease;
}
.home-effects-ready .home-flow-step {
	opacity: 0;
	transform: translateY(18px);
	transition: opacity .45s ease, transform .45s ease, background .25s ease, box-shadow .25s ease;
}
.home-effects-ready .home-flow-section.is-visible .home-flow-step {
	opacity: 1;
	transform: translateY(0);
}
.home-effects-ready .home-flow-section.is-visible .home-flow-step:nth-child(2) {
	transition-delay: 80ms;
}
.home-effects-ready .home-flow-section.is-visible .home-flow-step:nth-child(3) {
	transition-delay: 150ms;
}
.home-effects-ready .home-flow-section.is-visible .home-flow-step:nth-child(4) {
	transition-delay: 220ms;
}
.home-effects-ready .home-flow-section.is-visible .home-flow-step:nth-child(5) {
	transition-delay: 290ms;
}
.home-flow-step strong {
	display: block;
	color: #0d4e7e;
	font-size: 2.4rem;
	font-family: "RobotoSlab VariableFont wght";
	margin-bottom: 12px;
}
.home-flow-step span {
	color: #343434;
	display: block;
	font: 1.7rem/1.5 Lato;
}
.home-flow-step.active,
.home-flow-step:hover,
.home-flow-step:focus {
	background: #12384f;
	transform: translateY(-8px);
	box-shadow: 0 18px 42px rgba(18, 56, 79, .28);
	outline: 0;
}
.home-effects-ready .home-flow-section.is-visible .home-flow-step.active,
.home-effects-ready .home-flow-section.is-visible .home-flow-step:hover,
.home-effects-ready .home-flow-section.is-visible .home-flow-step:focus {
	transform: translateY(-8px);
}
.home-flow-step.active strong,
.home-flow-step:hover strong,
.home-flow-step:focus strong,
.home-flow-step.active span,
.home-flow-step:hover span,
.home-flow-step:focus span {
	color: #ffffff;
}

@keyframes labSpin {
	from { transform: rotate(0deg); }
	to { transform: rotate(360deg); }
}

@media only screen and (max-width: 900px) {
	.home-lab-wrap,
	.home-lab-grid,
	.home-flow-track {
		grid-template-columns: 1fr;
	}
	.home-lab-copy h2 {
		font-size: 4rem;
	}
	.home-flow-track:before,
	.home-flow-progress {
		display: none;
	}
}

@media only screen and (max-width: 520px) {
	.home-lab-section,
	.home-flow-section {
		padding: 48px 0;
	}
	.home-lab-card,
	.home-flow-step {
		min-height: 0;
	}
}

@media (prefers-reduced-motion: reduce) {
	.home-lab-section:before,
	.home-lab-card,
	.home-flow-section,
	.home-flow-step,
	.home-effects-ready .home-lab-section,
	.home-effects-ready .home-flow-section,
	.home-effects-ready .home-lab-card,
	.home-effects-ready .home-flow-step {
		animation: none;
		transition: none;
		transform: none;
		opacity: 1;
	}
}
