/*
	Theme Name: C3 Post Trade
	Description: Custom theme for C3 Post Trade by Direction Forward
	Version: 1.0
	Author: Direction Forward (@direction4ward)
	Author URI: https://directionforward.com
*/

/*------------------------------------*\
    MAIN
\*------------------------------------*/

/* global box-sizing */

*, *:after, *:before {
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-font-smoothing: antialiased;
	font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

/* html element 62.5% font-size for REM use */

html {
	font-size: 62.5%;
	overscroll-behavior: none;
}

body {
	font-family: 'Open Sans', Helvetica, Arial, sans-serif;
	font-weight: 400;
	font-size: 28px;
	line-height: 1.5em;
	color: #64626A;
	overscroll-behavior: none;
}

/* clear */

.clear:before, .clear:after {
	content: ' ';
	display: table;
}

.clear:after {
	clear: both;
}

.clear {
	zoom: 1;
}

img {
	max-width: 100%;
	vertical-align: bottom;
}

a {
	text-decoration: none;
}

a:focus, a:hover, a:active {
	outline: 0;
}

input:focus {
	outline: 0;
}

/*------------------------------------*\
    LINKS
\*------------------------------------*/

/* Slide up */

article .content-block a, article .legal-content a {
	position: relative;
	color: #60B097;
	overflow: hidden;
	display: inline-block;
	vertical-align: bottom;
}

article .content-block a::before, article .legal-content a::before {
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
	width: 100%;
	height: 100%;
	background-color: rgb(96 176 151 / 0.2);
	content: '';
	-webkit-transition: -webkit-transform 0.2s;
	transition: transform 0.2s;
	-webkit-transform: translateY(95%);
	transform: translateY(95%);
}

article .content-block a:hover::before, article .content-block a:focus::before, article .legal-content a:hover::before, article .legal-content a:focus::before {
	-webkit-transform: translateY(0);
	transform: translateY(0);
}

article .office-holder a, .joinus a {
	position: relative;
	color: #ffffff;
	overflow: hidden;
	display: inline-block;
	vertical-align: bottom;
}

article .office-holder a::before, .joinus a::before {
	position: absolute;
	top: 0;
	left: 0;
	/*z-index: -1;*/
	width: 100%;
	height: 100%;
	background-color: rgb(255 255 255 / 0.2);
	content: '';
	-webkit-transition: -webkit-transform 0.2s;
	transition: transform 0.2s;
	-webkit-transform: translateY(95%);
	transform: translateY(95%);
}

article .office-holder a:hover::before, article .office-holder a:focus::before, .joinus a:hover::before, .joinus a:focus::before {
	-webkit-transform: translateY(0);
	transform: translateY(0);
}

/*------------------------------------*\
    STRUCTURE
\*------------------------------------*/

/* wrapper */

.wrapper {
	max-width: 1280px;
	width: 85%;
	margin: 0 auto;
	position: relative;
	padding: 4em 0 0 0;
}
.wrapper.popover {
	z-index: 999;
}

body.page-template-template-contact .wrapper {
	padding-top: 2.5em;
}

/* header */

.header {
	position: absolute;
	width: 100%;
	height: 55px;
	margin: 7.5vh 0 0 0;
}

.header-holder {
	width: 75%;
	position: relative;
	margin: 0 auto 0 auto;
}

/* logo */

.logo {
	float: left;
	width: 205px;
	height: 100%;
	text-align: left;
	position: relative;
	z-index: 100;
	height: 55px;
}

.logo.sticky {
	position: fixed;
}

.mobile-menu.sticky {
	position: fixed;
	right: 5%;
}

.logo a {
	display: block;
}

.logo-img {
	max-height: 55px;
	margin: 0 auto 0 0;
	max-width: 205px;
	vertical-align: middle;
}

/* nav */

.nav {
	max-width: calc(100% - 205px);
	float: right;
	font-size: 1.6rem;
	text-align: right;
	position: relative;
	z-index: 100;
	line-height: 55px;
}

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

.nav ul li {
	display: inline-block;
	margin: 0 1.5em 0 1.5em;
}

.nav a {
	color: white;
	font-weight: 400;
	display: block;
}

.nav li:not(.cta-menu-demo) a {
	background-image: linear-gradient(#38B396, #38B396);
	background-size: 0 2px, auto;
	background-repeat: no-repeat;
	background-position: center 80%;
	transition: all .200s ease-out;
}

.nav li:not(.cta-menu-demo) a:hover {
	background-size: 100% 2px, auto;
}

.nav li:not(.cta-menu-demo) a.hovered {
	background-size: 100% 2px, auto;
}

.nav li:not(.cta-menu-demo).current-page-ancestor a {
	background-size: 100% 2px, auto;
}
body.page-id-358 .nav li:not(.cta-menu-demo).current-page-ancestor a {
	background-size: 0 2px, auto;
}
body.page-id-358 .nav li:not(.cta-menu-demo).current-page-ancestor a:hover {
	background-size: 100% 2px, auto;
}

/* hide sub menus in main menu in favour of push menu(s) */
.nav .sub-menu {
	display: none;
}

/* push menu */

.push {
	display: none;
	position: relative;
	width: 100%;
	background: rgb(34, 38, 41);
	background: linear-gradient(0deg, rgba(34, 38, 41, 1) 0%, rgba(44, 52, 63, 1) 100%);
	padding: 3.5% 12.5% 3.5% 12.5%;
}

.push-holder {

}

.push-holder ul {
	list-style: none;
	padding: 0 0 0 0;
	margin: 0 0 0 0;
}

.push-holder ul.sub-menu {
	margin: 1em 0 0 0;
}

.push-holder ul.sub-menu li {
	margin: 0 0 1em 0;
	border-bottom: 1px solid #b1d7cc;
	transition: border .200s ease-out;
    padding-bottom: 1em;
}
.push-holder ul.sub-menu li:hover {
	border-bottom: 1px solid #51947f;
}

.push-holder ul.sub-menu li:last-of-type {
	margin: 0 0 0 0;
}
.push-holder ul.sub-menu li:last-of-type {
	border-bottom: none;
}

.push-holder ul.sub-menu a {
	color: #b1d7cc;
	transition: color .200s ease-out;
}
.push-holder ul.sub-menu a:hover {
	color: #51947f;
}

.push-holder>ul {
	display: flex;
	justify-content: space-between;
	font-size: 1.6rem;
	line-height: 1.65em;
}
.push-holder>ul>li {
	flex-basis: 100%;
	padding-right: 4em;
}

.push-header>a {
    display: inline-block;
	pointer-events: none;
	font-weight: 700;
	border-bottom: 1px solid white;
	padding-bottom: 5px;
	color: white;
	width: 100%;
}

.cta-menu-demo {
	background: white;
	line-height: 45px;
	border-radius: 55px;
	text-transform: uppercase;
	letter-spacing: 1px;
	font-size: 1.1rem;
	margin-right: 0 !important;
	top: 0;
	position: relative;
	box-shadow: 8px 8px 20px rgb(0 0 0 / 0.15);
	transition: top 0.100s linear, box-shadow 0.100s linear;
}

.cta-menu-demo:hover {
	top: 2px;
	box-shadow: 8px 6px 20px rgb(0 0 0 / 0.50);
}

.cta-menu-demo a {
	padding: 0 2em 0 2em;
	font-weight: 700;
	color: #3465AE;
}

/* videos */
.videos-holder {
	margin: 4em 0 0 0;
}
.video-holder-inner {
	display: flex;
}
.videos-holder .the-details {
	flex: 5;
}
.videos-holder .the-spacer {
	flex: 4;
}
.videos-holder .the-details > p:first-of-type {
	color: #60b097;
	margin-top: 0;
}
.videos-holder .the-details .videos-date {
	font-style: italic;
    font-weight: 600;
    color: #9BA0A4;
    font-size: 0.777em;
    line-height: 1.5em;
    letter-spacing: -0.016em;
	margin-top: 0;
}
.video-holder-video {
	margin: 1em auto 4em 0;
	width: 90%;
	background-color: white;
	border: 20px solid white;
	box-shadow: 0 10px 40px rgba(0, 0, 0, .10);
	border-radius: 20px;
	z-index: 999;
    position: relative;
}
.video-holder-video video {
	width: 100%;
	height: auto;
	border-radius: 20px;
	display: block;
}
.video-forms-preview {
	position: relative;
	cursor: pointer;
}
.video-forms-preview img.go-play {
	position: absolute;
	left: 50%;
    top: 50%;
    margin-left: -75px;
    margin-top: -75px;
}
.video-forms-preview img:not(.go-play) {
	width: 100%;
	height: auto;
	border-radius: 20px;
	display: block;
}

/* sidebar */

.sidebar {}

/* footer */

.footer {
	background-color: #2B343F;
	color: white;
	padding: 5% 12.5% 5% 12.5%;
}

.footer p {
	margin: 0 0 0 0;
}

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

.footer-holder {
	display: flex;
	flex-wrap: nowrap;
	justify-content: flex-start;
	align-items: flex-start;
}

.footer .footer-logo {
	padding-right: 5%;
}

.footer .footer-logo img {
	width: 50px;
	height: auto;
}

.footer .linkedin {
	float: right;
}

.footer .linkedin img {
	width: 30px;
	height: auto;
	vertical-align: top;
}

.footer .bhpatron img {
	width: 155px;
	height: auto;
	vertical-align: top;
}

.footer .bhpatron {
	display: inline-block;
}

.footer .footer-spacer {
	flex: 1;
}

.footer .footer-logo,
.footer .footer-contact {
	font-size: 0.55em;
	line-height: 1.25em;
	padding-right: 5%;
}
.footer .footer-contact {
	min-width: 150px;
}
.footer .footer-logo a,
.footer .footer-contact a {
	color: white;
	text-decoration: underline;
}
.footer .footer-logo strong,
.footer .footer-contact strong {
	margin-bottom: 0.5em;
	display: block;
}

.footer .copyright {
	font-size: 0.475em;
	color: #8D8D8D;
}

.footer .copyright div {
	display: inline-block;
}

.footer .copyright a {
	margin: 0 1em 0 1em;
	color: #8D8D8D;
}

/*------------------------------------*\
    PAGES
\*------------------------------------*/

.fader {
	display: none;
}

.splash {
	width: 100%;
	position: relative;
	height: 100vh;
	/*height: -webkit-fill-available;*/
	display: table;
}

body.page-template-template-legal .splash {
	height: 25vh;
}

body.page-template-template-legal .splash h2 {
	display: none;
}

body:not(.home) .splash {
	background: rgb(96, 176, 151);
	background: radial-gradient(circle at 89% 95%, rgba(96, 176, 151, 1) 0%, rgba(52, 101, 174, 1) 69%, rgba(46, 54, 100, 1) 100%);
	background-attachment: fixed;
}

body.page-template-template-contact .splash {
	height: auto;
}

/*sub services pages*/

body.parent-pageid-8 .splash {
	height: 75vh;
	text-align: center;
}
body.parent-pageid-8 .splash-content-holder {
	max-width: 865px;
}
body.page-template-template-screenshots.parent-pageid-8 .splash-content-holder {
	max-width: 1140px;
}

.page-icon {
	margin-top: 1em;
	margin-bottom: 1em;
	max-width: 68px;
	max-height: 68px;
}

/*special contact page*/

body.page-template-template-contact {
	background: rgb(96, 176, 151);
	background: radial-gradient(circle at 89% 95%, rgba(96, 176, 151, 1) 0%, rgba(52, 101, 174, 1) 69%, rgba(46, 54, 100, 1) 100%);
	background-attachment: fixed;
}

.splash-image {
	left: 0;
	top: 0;
	position: absolute;
	width: 100%;
	height: 100%;
	background-repeat: no-repeat;
	background-position: center bottom;
	background-size: 100% auto;
	background-attachment: fixed;
}

body.about .splash-image {
	background-position: center top;
}

.splash-content {
	display: table-cell;
	position: relative;
	vertical-align: bottom;
	padding: calc(7.5% + 55px) 12.5% 7.5% 12.5%;
	width: 100%;
	height: 100%;
}

body.page-template-template-contact .splash-content {
	padding-bottom: 2.5%;
	padding-top: calc(12.5% + 55px);
}

.splash-content-holder {
	position: relative;
	z-index: 2;
	width: auto;
	display: inline-block;
}

.splash-content-holder h3, .splash-content-holder h1, .splash-content-holder h2, .splash-content-holder a {
	display: inline-block;
}

.screenshots-splash-holder {
	display: flex;
	text-align: left;
	align-items: center;
}
.screenshots-splash-icon {
	flex: 4;
}
.screenshots-splash-spacer {
	flex: 1;
}
.screenshots-splash-header {
	flex: 8;
}
.screenshots-icon {
	width: 100%;
	max-width: 290px;
}

/*screenshots*/
.screenshots-holder {
	display: flex;
}
.screenshots-images {
	flex: 4;
	font-style: italic;
	font-weight: 600;
	color: #9BA0A4;
	font-size: 0.45em;
	line-height: 1.5em;
	letter-spacing: -0.016em;
}
.screenshots-images p {
	padding-left: 10px;
	margin: 0.5em 0 1em 0;
}
.screenshots-spacer {
	flex: 1;
}
.screenshots-content {
	flex: 4;
}

.a-screenshot {
	position: relative;
}
.a-screenshot:nth-of-type(1) {
	width: 75%;
	margin: 0 auto 0 0;
}
.a-screenshot:nth-of-type(2) {
	width: 82.5%;
	margin: -33.3333333333% 0 2.5% auto;
}
/*.a-screenshot:nth-of-type(1)::after {
	position: absolute;
	content: " ";
	background-image: url('img/arrow1.svg');
	background-repeat: no-repeat;
	background-position: center center;
	background-size: contain;
	width: 65px;
    height: 70px;
	z-index: 100;
    bottom: calc(2.5vh - 70px);
	left: 12.5%;
}
.a-screenshot:nth-of-type(1).arrowHeight::after {
	transform: scale(0.5) translateY(-50%);
}
.a-screenshot:nth-of-type(2)::after {
	position: absolute;
	content: " ";
	background-image: url('img/arrow2.svg');
	background-repeat: no-repeat;
	background-position: center center;
	background-size: contain;
	width: 95px;
    height: 105px;
	z-index: 100;
    bottom: calc(5vh - 105px);
	right: 12.5%;
}
.a-screenshot:nth-of-type(2).arrowHeight::after {
	transform: scale(0.75) translateY(-25%);
}*/
.a-screenshot:nth-of-type(3),
.a-screenshot:nth-of-type(4) {
	width: 100%;
	margin: 0 auto 2.5% auto;
}
.a-screenshot:nth-of-type(1) .a-screenshot-holder {
	background-color: #d8d8d8;
	box-shadow: 0 10px 40px rgba(0, 0, 0, 0.1);
    border-radius: 10px;
}
.a-screenshot:nth-of-type(2) .a-screenshot-holder {
	background-color: #d8d8d8;
	box-shadow: 0 10px 40px rgba(0, 0, 0, 0.1);
    border-radius: 17.5px;
}
.a-screenshot:nth-of-type(3) .a-screenshot-holder,
.a-screenshot:nth-of-type(4) .a-screenshot-holder {
	background-color: #d8d8d8;
	box-shadow: 0 10px 40px rgba(0, 0, 0, 0.1);
    border-radius: 20px;

}

.a-screenshot-holder {
	position: relative;
}
.a-screenshot-holder img:first-of-type {
	position: absolute;
}

/*home*/

#particles-js {
	left: 0;
	top: 0;
	position: absolute;
	width: 100%;
	height: 100%;
	background: rgb(96, 176, 151);
	background: radial-gradient(circle at 89% 95%, rgba(96, 176, 151, 1) 0%, rgba(52, 101, 174, 1) 69%, rgba(46, 54, 100, 1) 100%);
	background-attachment: fixed;
	z-index: 1;
}

hr {
	background-color: #DEE4E8;
	border: none;
	height: 1px;
	width: 75%;
	text-align: center;
	margin: 4em auto 3em auto;
	padding: 0 0 0 0;
}

.content-block {
	margin: 0 auto 4em auto;
	text-align: center;
}

.content-block p {
	color: #38B396;
	margin: 0 auto 1em auto;
}

body.about .content-block p {
	color: unset;
}

.content-boxes {
	display: flex;
	margin: 5em auto 0 auto;
	justify-content: space-between;
	width: 95%;
}

.content-box {
	flex-basis: 30%;
	background: #FFFFFF;
	box-shadow: 0 10px 40px 0 rgba(0, 0, 0, 0.10);
	border-radius: 16px;
	transition: box-shadow 400ms ease-in;
	padding: 3.3% 3.3% 5% 3.3%;
	position: relative;
	min-width: 275px;
}

.content-box img {
	max-width: 40px;
	max-height: 40px;
}

.content-box.smaller-padding {
	padding: 2.5% 2.5% 2.5% 2.5%;
}

.content-box:hover {
	box-shadow: 0 10px 40px 0 #9BA0A4;
}

.content-box img {
	float: left;
}

.content-box p {
	font-size: 0.6em;
	line-height: 1.75em;
	margin: 1em 0 1em 0;
}

.content-box a {
	color: #38B396;
	font-size: 0.5em;
	font-weight: 600;
	display: block;
	position: absolute;
	bottom: 5%;
}

.content-box a svg {
	position: relative;
	right: -6px;
	width: 12px;
	bottom: -1px;
	height: 12px;
}

.content-box a svg #chevron {
	opacity: 1;
	transition: opacity 200ms ease-out;
}

.content-box a svg #tick {
	opacity: 0;
	transition: opacity 200ms ease-out;
}

.content-box a:hover svg #chevron {
	opacity: 0;
}

.content-box a:hover svg #tick {
	opacity: 1;
}

.person-box {
	flex-basis: 28%;
	text-align: center;
	font-size: 0.6em;
	line-height: 1.75em
}

.person-headshot {
	border-radius: 50%;
	box-shadow: 0 10px 40px 0 rgba(0, 0, 0, 0.10);
	width: 75%;
	margin: 0 auto 1.5em auto;
}

.person-box img {
	width: 100%;
}

.legal-content {
	width: 80%;
	margin: 0 auto 0 0;
	font-size: 0.6em;
	line-height: 1.75em;
}

.legal-content input {
	display: inline-block;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	border-radius: 0;
}

.legal-content input[type=email] {
	border: #DEE4E8 1px solid;
	padding: 5px;
}

.legal-content input[type=submit] {
	background: #60B097;
	border: #60B097 1px solid;
	color: white;
	text-transform: uppercase;
	padding: 5px 1em 5px 1em;
}

/*------------------------------------*\
    BUTTONS
\*------------------------------------*/

.cta-button {
	background: white;
	text-transform: uppercase;
	letter-spacing: 1.31px;
	font-size: 1.4rem;
	top: 0;
	padding: 0.6em 2.25em 0.6em 2.25em;
	border-radius: 100px;
	position: relative;
	box-shadow: 8px 8px 20px rgb(0 0 0 / 0.15);
	transition: top 0.100s linear, box-shadow 0.100s linear;
	color: #60B097;
	font-weight: 600;
	display: inline-block;
	min-width: 260px;
	text-align: center;
}

.cta-button:hover {
	top: 2px;
	box-shadow: 8px 6px 20px rgb(0 0 0 / 0.50);
}

/*------------------------------------*\
    SERVICES
\*------------------------------------*/

.dashboard {
	position: relative;
	background-color: #EEF1F3;
	background: linear-gradient(180deg, rgba(238, 241, 243, 0.50) 0%, #DEE4E8 100%);
	/*background-attachment: fixed;*/
	text-align: center;
	overflow: hidden;
	margin-top: 4em;
}

.dashboard .wrapper {
	padding-bottom: 4em;
}

.dashboard img {
	margin-top: 2em;
	width: 100%;
	margin-bottom: 2em;
	max-width: 1200px;
}

.dashboard-circle {
	border-radius: 50%;
	background-color: white;
	position: absolute;
	width: 200%;
	height: 100vh;
	/*bottom: -51%;*/
	bottom: -90vh;
	left: -50%;
}

.dashboard-link {
	cursor: pointer;
}
.hvr-grow {
    transform-origin: center;
	transform-box: fill-box;
    transform: translateZ(0);
    box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    backface-visibility: hidden;
    -moz-osx-font-smoothing: grayscale;
    transition-duration: 0.3s;
    transition-property: transform, filter;
	-webkit-filter: drop-shadow( 0px 0px 0px rgba(0, 0, 0, .25));
	filter: drop-shadow( 0px 0px 0px rgba(0, 0, 0, .25));
}
.hvr-grow:hover,
.hvr-grow:focus,
.hvr-grow:active {
    transform: scale(1.1);
	-webkit-filter: drop-shadow( 0px 0px 10px rgba(0, 0, 0, .25));
	filter: drop-shadow( 0px 0px 10px rgba(0, 0, 0, .25));
}


.joinus {
	position: relative;
	background-color: #EEF1F3;
	background-image: linear-gradient(131deg, #60B097 0%, #3465AE 100%);
	background-attachment: fixed;
	text-align: center;
	overflow: hidden;
}

.joinus .content-block {
	margin: 10% auto 5% auto;
}

.joinus h4, .joinus p {
	color: white;
	max-width: 820px;
	margin: 0 auto 0 auto;
}

.joinus-circle {
	border-radius: 50%;
	background-color: white;
	position: absolute;
	width: 220%;
	height: 100vh;
	bottom: 80%;
	left: -60%;
}

.services-details {
	width: 80%;
	margin: 0 auto 0 auto;
}

.services-block {
	width: 50%;
}

.services-image {
	width: 35%;
}

.services-image img {
	width: 100%;
	margin-top: 0.5em;
	margin-bottom: 1em;
}

.services-details:nth-of-type(odd) .services-block {
	float: right;
}

.services-details:nth-of-type(odd) .services-image {
	float: left;
}

.services-details:nth-of-type(even) .services-block {
	float: left;
}

.services-details:nth-of-type(even) .services-image {
	float: right;
}

/* services sub pages */

body.parent-pageid-8 .services-details .services-block {
	float: right;
}

body.parent-pageid-8 .services-details .services-image {
	float: left;
}

.services-details:last-of-type {
	margin-bottom: 3em;
}

.the-details {
	font-size: 0.575em;
	line-height: 1.5em;
}

.the-details p {
	margin: 2em 0 1em 0;
}

.the-details li {
	margin-bottom: 1em;
}

.the-details small {
	display: block;
    line-height: 1.5em;
    font-size: 0.8em;
    margin: 2em 0 1em 0;
}

.the-details h4 {
	margin: 2em 0 1em;
}
.the-details h4:first-of-type {
	margin-top: 0;
}

.the-details a {
	display: inline-block;
	border-radius: 55px;
	text-transform: uppercase;
	letter-spacing: 1.22px;
	color: white;
	background-color: #60B097;
	padding: 0 2em 0 2em;
	font-weight: 600;
	line-height: 2.70em;
	top: 0;
	position: relative;
	box-shadow: 8px 8px 20px rgb(0 0 0 / 15%);
	transition: top 0.100s linear, box-shadow 0.100s linear;
	margin: -1em 0 1em 0;
}

.the-details a:hover {
	top: 2px;
	box-shadow: 8px 6px 20px rgb(0 0 0 / 50%);
}

/*------------------------------------*\
    FORMS
\*------------------------------------*/

.grecaptcha-badge {
	display: none !important;
}

.demo {
	position: relative;
	min-height: 30vh;
	background-color: #EEF1F3;
	padding: 5em 12.5% 5em 12.55%;
	text-align: center;
	overflow: hidden;
}

.demo-circle {
	border-radius: 50%;
	background-color: white;
	position: absolute;
	/*width: 150%;
    height: 100%;
    bottom: 87.5%;
	left: -25%;*/
	width: 200%;
	height: 100vh;
	bottom: 80%;
	left: -50%;
}

body.page-template-template-contact .demo-circle {
	background: rgb(96, 176, 151);
	background: radial-gradient(circle at 89% 95%, rgba(96, 176, 151, 1) 0%, rgba(52, 101, 174, 1) 69%, rgba(46, 54, 100, 1) 100%);
	background-attachment: fixed;
}

body.services .demo-circle, body.parent-pageid-8 .demo-circle {
	background-image: linear-gradient(131deg, #60B097 0%, #3465AE 100%);
	background-attachment: fixed;
}

.demo-mask {
	position: absolute;
	background-image: url(img/mask-logo.svg);
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	background-position: 1750% 10%;
	background-repeat: no-repeat;
	background-size: 97.5% auto;
	/* background-attachment: fixed;*/
}

.demo-holder {
	position: relative;
}

.demo h4 {
	max-width: 820px;
	margin: 1.5em auto 1em auto;
}

.gform_required_legend, .gform_validation_errors, #field_1_2, #field_2_2, #field_3_7, #field_5_2, .gform_wrapper div.validation_error, .gform_validation_container, .gfield.hidden_label>label {
	display: none !important;
}

ul.gform_fields {
	list-style: none;
	margin: 0 0 0 0;
	padding: 0 0 0 0;
}

.gfield .validation_message {
	color: #2b343f;
	margin: 0.5em 0 1em 0;
	font-size: 0.75em;
}

.demo-holder form {
	position: relative;
	width: 60%;
	margin: 0 auto 0 auto;
	top: 0;
	max-width: 820px;
}

.demo-holder form input {
	border-radius: 100px;
	box-shadow: 8px 8px 20px rgb(0 0 0 / 0.15);
	transition: top 0.100s linear, box-shadow 0.100s linear, background-color 0.100s linear;
}

.demo-holder form input[type=email],
.demo-holder form input[type=text],
.demo-holder form input[type=tel] {
	width: 100%;
	border: none;
	background: white;
	letter-spacing: 1.31px;
	font-size: 1.4rem;
	padding: calc(5px + 1em) calc(190px + 2.25em) calc(5px + 1em) 2.25em;
	font-weight: 600;
	margin: 0 0 1em 0;
}

.demo-holder form input[type=email]:hover, .demo-holder form input[type=email]:focus-within,
.demo-holder form input[type=text]:hover, .demo-holder form input[type=text]:focus-within,
.demo-holder form input[type=tel]:hover, .demo-holder form input[type=tel]:focus-within {
	top: 2px;
	box-shadow: 8px 6px 20px rgb(0 0 0 / 0.50);
}

.demo-holder form input[type=submit] {
	position: absolute;
	top: 5px;
	right: 5px;
	border: none;
	background: #60B097;
	letter-spacing: 1.22px;
	font-size: 1.4rem;
	padding: 1em 2.25em 1em 2.25em;
	color: white;
	font-weight: 600;
}
.gform_wrapper input[type=submit]:hover {
	background: #589984 !important;
}

/* modal form */

.overlay-fader {
	display: none;
	position: fixed;
	width: 100%;
	height: 100%;
	opacity: 0.5;
	background-color: #2B343F;
	z-index: 998;
}

.overlay-forms {
	-webkit-transform: translate(-50%, 0);
	-ms-transform: translate(-50%, 0);
	transform: translate(-50%, 0);
	left: 50%;
	display: none;
	background-color: #ffffff;
	color: #64626A;
	position: absolute;
	top: calc(7.5vh + 7.5vh + 55px);
	z-index: 999;
	padding: 0 0 0 0;
	border: none;
	overflow-y: scroll;
	border-radius: 15px;
	box-shadow: 0px 5px 20px 0px rgb(0 0 0 / 20%);
}

.video-forms .close-dialog,
.overlay-forms .close-dialog {
	position: absolute;
    top: 2.5vh;
    right: 2.5vh;
	width: 30px;
	height: 30px;
}

.video-forms .close-dialog img,
.overlay-forms .close-dialog img {
	vertical-align: middle;
}

.video-forms form,
.overlay-forms-holder {
	text-align: center;
	width: 75%;
	margin: 7.5vh auto 7.5vh auto;
}

.video-forms h4,
.overlay-forms-holder h4 {
	color: #38B396;
	margin-top: 0;
}
.video-forms > p {
	text-align: center;
	margin-left: auto;
	margin-right: auto;
}

.video-forms input,
.overlay-forms input {
	width: 95%;
	margin: 0 auto 2em auto;
	border-radius: 100px;
	border: 1px solid #adadad;
	font-size: 0.65em;
	padding: 2% 5%;
	letter-spacing: 0.05em;
	font-weight: 600;
}
.video-forms input[type="submit"],
.overlay-forms input[type="submit"] {
	margin-top: 2em;
	margin-bottom: 4em;
	width: auto;
	border: none;
	background-color: #38B396;
	color: white;
	text-transform: uppercase;
	display: block;
}
.video-forms .gfield .validation_message,
.overlay-forms .gfield .validation_message {
	margin: -1.75em 0 1.25em 0;
	font-size: 0.65em;
	color: #7b7b7b;
}

.video-forms a,
.gfield p a,
.overlay-forms a {
	color: inherit;
	text-decoration: underline;
	white-space: nowrap;
}

.video-forms input::-webkit-input-placeholder,
.overlay-forms input::-webkit-input-placeholder {
	/* Chrome/Opera/Safari */
	text-transform: uppercase;
}
.video-forms input::-moz-placeholder,
.overlay-forms input::-moz-placeholder {
	/* Firefox 19+ */
	text-transform: uppercase;
}
.video-forms input:-ms-input-placeholder,
.overlay-forms input:-ms-input-placeholder {
	/* IE 10+ */
	text-transform: uppercase;
}
.video-forms input:-moz-placeholder,
.overlay-forms input:-moz-placeholder {
	/* Firefox 18- */
	text-transform: uppercase;
}


/*------------------------------------*\
	MAPS
\*------------------------------------*/

.office-holder {
	color: white;
	width: 100%;
	margin: 0 auto calc(2em + 14px) auto;
	display: flex;
	justify-content: space-evenly;
	text-align: center;
	text-align: center;
	align-items: center;
	font-size: 1.35em;
	line-height: 1.35em;
}

@supports (-ms-ime-align: auto) {
	.office-holder {
		justify-content: space-around;
	}
}

@media all and (-ms-high-contrast: none) {
	.office-holder {
		justify-content: space-around;
	}
}

.office-holder:nth-of-type(2n-1) {
	flex-direction: row;
}

.office-holder:nth-of-type(2n-0) {
	flex-direction: row-reverse;
}

.contact-links {
	font-size: 0.6em;
	line-height: 1.75em
}

.force-map {
	margin: 0 auto 0 auto;
	width: 460px;
	height: 460px;
	/*border-radius: 2560px;*/
	overflow: unset !important;
}

.office-map {
	position: relative;
}
.office-map > div > div {
	background-color: transparent !important;
}
.office-map .gm-style > div:nth-of-type(1),
.office-map .gm-style > div:nth-of-type(2),
.office-map .gm-style > div:nth-of-type(3) {
	border-radius: 2560px;
	overflow: hidden;
}
.gm-style-cc > div:first-of-type div,
.gmnoprint > div:first-of-type div {
	background-color: transparent !important;
}

.force-map .gm-style img[src$='.svg'] {
	width: 50px !important;
	height: 50px !important;
}

.gm-style > div:nth-last-of-type(3) {
	display: none;
}
.gm-style > div:last-of-type {
	height: 100%;
    position: relative;
    width: 100%;
    text-align: center;
    margin: 0 auto 0 auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
	align-content: flex-end;
	height: calc(100% + 16px);
	z-index: -1;
}
.gm-style > div:last-of-type > div {
	position: relative !important;
	left: 0;
}
.gm-style > div:last-of-type > div span,
.gm-style > div:last-of-type > div button,
.gm-style > div:last-of-type > div a {
	font-size: 8px !important;
    color: white !important;
}


/*------------------------------------*\
	TYPOGRAPHY
\*------------------------------------*/

/*Light 300
Regular 400
Semi-bold 600
Bold 700*/

h1 {
	font-size: 1.9em;
	font-weight: 600;
	color: white;
	line-height: 1.30em;
	margin: 0 0 0 0;
}

h1 span {
	font-weight: 400;
}

h2 {
	font-size: 1.0em;
	font-weight: 400;
	color: white;
	margin: 0.5em 0 2.25em 0;
}

h3 {
	font-size: 0.65em;
	font-weight: 600;
	color: white;
	line-height: 1.0em;
	margin: 0 0 1em 3px;
}

h4 {
	font-size: 1.35em;
	font-weight: 600;
	color: #293440;
	line-height: 1.35em;
	margin: 0 0 1em 0;
}

h5 {
	color: #293440;
	font-weight: 700;
	margin: 0 0 0 2.5em;
}

strong {
	font-weight: 700;
}

/*------------------------------------*\
    RESPONSIVE
\*------------------------------------*/

.forcehide {
	display: none;
}
.mobile-menu {
	display: none;
}

@supports (-webkit-touch-callout: none) {
	.splash, body:not(.home) .splash {
		height: -webkit-fill-available;
		background-attachment: unset;
	}
	.splash-image {
		background-attachment: unset;
	}
	body.page-template-template-contact {
		background-attachment: unset;
	}
	body.page-template-template-contact .splash {
		height: auto;
		background: none;
	}
}

@media only screen and (max-width:1440px) {
	.nav ul li {
		margin: 0 0.75em 0 0.75em;
	}
}

@media only screen and (max-width:1280px) {
	.demo-holder form {
		position: relative;
		width: 50%;
	}
	.nav .cta-menu-demo {
		/*display: none;*/
	}
}

@media only screen and (max-width:1080px) {
	.header-holder {
		width: 85%;
	}
	.demo-holder form {
		position: relative;
		width: 75%;
	}
	.splash-content {
		padding: calc(7.5% + 55px) 7.5% 7.5% 7.5%;
	}
	.footer {
		padding: 5% 7.5% 5% 7.5%;
	}
	.logo {
		width: 165px;
	}
}

@media only screen and (max-width:810px) {
	body {
		font-size: 18px;
	}
	#particles-js, body:not(.home) .splash {
		background-attachment: unset;
	}
	.splash-image {
		background-size: auto 50%;
		background-attachment: unset;
	}
	body.servicees .splash-image {
		background-position: center bottom;
	}
	body.contact .splash {
		background: none;
	}
	body.page-template-template-contact {
		background-attachment: none;
	}
	body.page-template-template-contact .splash-content {
		padding-bottom: 10%;
		padding-top: calc(25% + 55px);
	}
	.wrapper {
		width: 90%;
	}
	.dashboard .wrapper {
		padding-bottom: 1em;
		padding-top: 3em;
	}
	.logo {
		width: 165px;
	}
	.header {
		margin: 3.33333333vh 0 0 0;
	}
	.nav {
		position: fixed;
		left: 0;
		top: 0;
		/*height: 100vh;
		height: -webkit-fill-available;*/
		height: calc(100vh + 100px);
		background-color: #2B343F;
		width: 100%;
		max-width: unset;
		z-index: 99;
		padding-top: 100px;
		text-align: center;
		display: none;
	}
	.mobile-menu-holder {
		display: table;
		width: 90%;
		margin: 0 auto 0 auto;
		height: 90%;
	}
	.mobile-menu {
		display: block;
		z-index: 100;
		height: 25px;
		width: 30px;
		position: absolute;
		right: 0;
		margin-top: 10px;
	}
	.mobile-menu.sticky {
		right: 7.5%;
	}
	.mobile-menu div {
		width: 100%;
		height: 2px;
		background-color: white;
		position: absolute;
		transition: all 100ms linear;
	}
	.mobile-menu div.top {
		top: 0;
	}
	.mobile-menu div.mid {
		top: 50%;
		margin-top: -1px;
	}
	.mobile-menu div.bot {
		bottom: 0;
	}
	.mobile-menu.imopen div.top {
		transform: rotate(45deg);
		top: 50%;
		width: 107.5%;
		left: -2.5%;
	}
	.mobile-menu.imopen div.mid {
		opacity: 0;
	}
	.mobile-menu.imopen div.bot {
		transform: rotate(-45deg);
		bottom: calc(50% - 2px);
		width: 107.5%;
		left: -2.5%;
	}
	.nav ul {
		display: table-cell;
		vertical-align: middle;
		position: relative;
		padding-bottom: 55px;
	}
	.nav ul li {
		display: block;
		margin: 0 5% 0 5%;
	}
	.nav ul li:last-of-type {
		width: 70%;
		font-size: 0.5em;
		margin: 5% 15% 0 15%;
	}
	.nav .sub-menu {
		padding: 0 0 0 0;
	}
	.nav .sub-menu li {
		margin: 0 0 0 0;
		line-height: 1.5em;
	}
	.nav .sub-menu li:last-of-type {
		font-size: inherit;
		width: unset;
		margin: unset;
	}
	.nav .sub-menu a {
		color: #b1d7cc;
		font-size: 1em;
	}
	.nav a {
		font-size: 1.6em;
		line-height: 1.6em;
		font-weight: 600;
	}
	.nav li:not(.cta-menu-demo) a:hover {
		background-size: 0;
	}
	.cta-menu-demo a {
		padding: 0.5em 2em 0.5em 2em;
	}
	.legal-content {
		width: 100%;
	}
	.footer-holder {
		display: block;
	}
	.footer-holder>div {
		margin: 1em 0 2em 0;
	}
	.footer-holder>div:first-of-type {
		margin-top: 2em;
	}
	.footer .footer-logo,
	.footer .footer-contact {
		font-size: 0.65em;
	}
	.footer .linkedin {
		float: left;
		margin-right: 7.5%;
	}
	.copyright {
		margin: 1em 0 0 0;
	}
	.content-block {
		width: 90%;
	}
	.content-boxes {
		width: 90%;
		display: block;
		/*margin: 3em 10% 0 10%;*/
	}
	.content-box {
		padding: 7.5%;
		margin-bottom: 1em;
		font-size: 1.25em;
	}
	.content-box.smaller-padding {
		padding: 5%;
	}
	.content-box h5 {
		line-height: 40px;
	}
	.content-box p {
		margin-bottom: 3em;
	}
	.content-box a {
		bottom: calc(1em + 7.5%);
	}
	.person-box {
		font-size: 0.9em;
		margin-bottom: 5em;
		line-height: 1.6em;
	}
	.services-details:nth-of-type(odd) .services-block {
		float: none;
		width: 100%;
	}
	.services-details:nth-of-type(odd) .services-image {
		float: none;
		width: 50%;
	}
	.services-details:nth-of-type(even) .services-block {
		float: none;
		width: 100%;
	}
	.services-details:nth-of-type(even) .services-image {
		float: none;
		width: 50%;
	}
	.demo-holder form {
		width: 90%;
	}
	.demo-holder form input {
		text-align: center;
	}
	.demo-holder form input[type=submit] {
		position: relative;
		width: 100%;
		left: unset;
		right: unset;
		padding: calc(5px + 1em) 2.25em calc(5px + 1em) 2.25em;
	}
	.demo-holder form input[type=email], .demo-holder form input[type=text], .demo-holder form input[type=tel] {
		padding: calc(5px + 1em) 2.25em calc(5px + 1em) 2.25em;
		margin-bottom: 1em;
	}
	.demo-circle, .joinus-circle, .dashboard-circle {
		width: 300%;
		left: -100%;
	}
	.dashboard-circle {
		bottom: -95vh;
	}
	.demo {
		padding: 5em 5% 5em 5%;
	}
	.demo-mask {
		background-position: -125% -250%;
		background-size: 125vw auto;
	}
	.splash-content {
		padding-bottom: 15%;
	}
	h1 {
		font-size: 1.75em;
	}
	h4 {
		font-size: 1.05em;
	}
	.the-details {
		font-size: 0.7em;
	}
	.office-holder {
		display: block;
		margin-bottom: 3em;
	}
	.force-map {
		width: 320px;
		height: 320px;
	}
	.person-headshot {
		width: 50%;
	}

	.overlay-forms {
		top: calc(3.33333333vh + 55px);
		width: 92.5%;
		margin: 0 3.75% 0 3.75%;
	}
	.video-forms {
		width: 100%;
	}
	.video-forms > p {
		width: 90%;
	}
	.video-forms form,
	.overlay-forms-holder {
		width: 90%;
	}
	.video-forms input,
	.overlay-forms input {
		width: 100%;
		font-size: 0.9em;
		padding: 4% 10%;
	}

	.screenshots-splash-holder {
		display: block;
	}
	.screenshots-splash-icon {
		max-width: 35%;
		margin: 0 auto 1em 0;
	}
	.screenshots-images {
		font-size: 0.7em;
	}
	.screenshots-holder {
		display: block;
	}
	.screenshots-spacer {
		padding-top: 2em;
	}
	/*.a-screenshot:nth-of-type(1)::after {
		bottom: calc(5% - 30px);
		left: 10%;
		width: 30px;
		height: 32px;
	}
	.a-screenshot:nth-of-type(2)::after {
		bottom: calc(22.5% - 60px);
		right: 10%;
		width: 54px;
		height: 60px;
	}*/

	.video-holder-inner {
		display: block;
	}
	.video-holder-video {
		width: 100%;
		border-radius: 10px;
		border-width: 10px;
	}
	.video-forms-preview img.go-play {
		zoom: 0.5;
	}



}

@media only screen and (min-width:320px) {}

@media only screen and (min-width:480px) {}

@media only screen and (min-width:768px) {}

@media only screen and (min-width:1024px) {}

@media only screen and (min-width:1140px) {}

@media only screen and (min-width:1280px) {
	.content-block p {
		width: 65%;
	}
	.splash-content-holder {
		/*width: 100%;*/
	}
}

@media only screen and (-webkit-min-device-pixel-ratio:1.5), only screen and (min-resolution:144dpi) {}

/*------------------------------------*\
    MISC
\*------------------------------------*/

::selection {
	background: #04A4CC;
	color: #FFF;
	text-shadow: none;
}

::-webkit-selection {
	background: #04A4CC;
	color: #FFF;
	text-shadow: none;
}

::-moz-selection {
	background: #04A4CC;
	color: #FFF;
	text-shadow: none;
}

/*------------------------------------*\
    WORDPRESS CORE
\*------------------------------------*/

.alignnone {
	margin: 5px 20px 20px 0;
}

.aligncenter, div.aligncenter {
	display: block;
	margin: 5px auto 5px auto;
}

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

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

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

a img.alignnone {
	margin: 5px 20px 20px 0;
}

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

a img.aligncenter {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.wp-caption {
	background: #FFF;
	border: 1px solid #F0F0F0;
	max-width: 96%;
	padding: 5px 3px 10px;
	text-align: center;
}

.wp-caption.alignnone {
	margin: 5px 20px 20px 0;
}

.wp-caption.alignleft {
	margin: 5px 20px 20px 0;
}

.wp-caption.alignright {
	margin: 5px 0 20px 20px;
}

.wp-caption img {
	border: 0 none;
	height: auto;
	margin: 0;
	max-width: 98.5%;
	padding: 0;
	width: auto;
}

.wp-caption .wp-caption-text, .gallery-caption {
	font-size: 11px;
	line-height: 17px;
	margin: 0;
	padding: 0 4px 5px;
}

.bypostauthor {}

/*------------------------------------*\
    PRINT
\*------------------------------------*/

@media print {
	* {
		background: transparent !important;
		color: #000 !important;
		box-shadow: none !important;
		text-shadow: none !important;
	}
	a, a:visited {
		text-decoration: underline;
	}
	a[href]:after {
		content: " (" attr(href) ")";
	}
	abbr[title]:after {
		content: " (" attr(title) ")";
	}
	.ir a:after, a[href^="javascript:"]:after, a[href^="#"]:after {
		content: "";
	}
	pre, blockquote {
		border: 1px solid #999;
		page-break-inside: avoid;
	}
	thead {
		display: table-header-group;
	}
	tr, img {
		page-break-inside: avoid;
	}
	img {
		max-width: 100% !important;
	}
	@page {
		margin: 0.5cm;
	}
	p, h2, h3 {
		orphans: 3;
		widows: 3;
	}
	h2, h3 {
		page-break-after: avoid;
	}
}