/*
Theme Name: David Noble
Description: David Noble WP theme.
Author: Target Marketing
Author URI: https://www.targetmktng.com/
Version: 1.0
*/

html, body, div, span, h1, h2, h3, h4, h5, h6, p, blockquote, a, em, img, q, strong, dl, dt, dd, ol, ul, li, fieldset, form, input, select, textarea, label, legend, table
{padding: 0; margin: 0; border: 0; list-style-type: none; line-height:100%; outline: 0; font-weight: inherit; font-style: inherit; font-size: 100%; font-family: inherit; vertical-align: baseline;}

/*
font-family: "roc-grotesk", sans-serif; 200 300 400 500 600 700
font-family: "Inter", sans-serif; 400 500 700
*/

:root {
	--transition1: all .3s ease;
	
	--white: #fff;
	--black: #000;
	--body: #0D0D0D;
	--dark: #171717;
	--yellow: #F2C94C;
	
	--font1: "roc-grotesk", sans-serif;
	--font2: "Inter", sans-serif;
	
	--plyr-color-main: #F2C94C;
}

body, html {height: 100%;}
body {font: 1em var(--font1); color: var(--body); background: var(--white); -webkit-text-size-adjust: none;}
a {color: var(--body); text-decoration: none; transition: var(--transition1);}
a:hover {color: var(--body);}
input, select, textarea, button {font: 1em var(--font1); color: var(--body); 
	transition: var(--transition1); -webkit-border-radius: 0; border-radius: 0; -webkit-appearance: none;
}
input[type="submit"], input[type="reset"], button, label {cursor: pointer; padding: 0; border: 0;}
button, html input[type="button"], input[type="reset"], input[type="submit"] {-webkit-appearance: button;}
textarea {overflow: auto;}
table {border-collapse: separate; border-spacing: 0;}
a:active {outline: 0;} *:focus {outline: none;}
blockquote:before, blockquote:after, q:before, q:after { content: ""; }
blockquote, q { quotes: "" ""; }
header, section, nav, hgroup, footer, article { display: block; }
strong, b {font-weight: 600;}
em, i {font-style: italic;}
p {line-height: 150%;}
*, :before, :after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;	
}
.center {text-align: center !important;}
.tleft {text-align: left;}
.tright {text-align: right;}
.margin-0 {margin: 0 !important;}
.padding-0 {padding: 0 !important;}
.border-0 {border: 0 !important;}
.padding-bottom-0 {padding-bottom: 0 !important;}
.padding-top-0 {padding-top: 0 !important;}
.clear {clear: both;}
img, svg, video {max-width: 100%; height: auto; vertical-align: middle;}
.uppercase {text-transform: uppercase}
.no-case {text-transform: none !important;}
.relative {position: relative;}
.overflow-hidden {overflow: hidden;}
.rounded {
	-webkit-border-radius: 100%;
	border-radius: 100%;
}
div.rounded {overflow: hidden;}
button::-moz-focus-inner {padding: 0; border: 0}
:required {-webkit-box-shadow: none; box-shadow: none;}
.element-hidden {display: none;}
.full-width {width: 100%; min-width: 10px !important;}

/* WP Styles */
.alignleft {
	display: inline;
	float: left;
}
.alignright {
	display: inline;
	float: right;
}
.aligncenter {
	display: block;
	margin-left: auto;
	margin-right: auto;
}
img.size-auto,
img.size-full,
img.size-large,
img.size-medium,
.attachment img,
.widget-area img {
	max-width: 100%;
	height: auto;
}
img.alignleft {
	margin: 0 2em 2em 0;
}
img.alignright {
	margin: 0 0 2em 2em;
}
.wp-caption {
	max-width:100%;
	text-align: center;
	margin: 0 0 30px 0;
}
.wp-caption:last-child {margin: 0;}
.wp-caption .wp-caption-text {
	padding: 10px 0 0 0; text-align: center;
}
.wp-smiley {
	margin: 0;
}
img#wpstats{display: none}
/* WP Styles */

span.edit-link a {position: fixed; bottom: 0; left: 0; z-index: 99999; background: red; color: var(--white) !important; font-size: 1em; padding: 10px;}

::-moz-selection {background: var(--body); color: var(--white);}
::selection {background: var(--body); color: var(--white);}

*::-webkit-input-placeholder {color: var(--white); opacity: 0.5;}
*::-moz-placeholder {color: var(--white); opacity: 0.5;}
*:-ms-input-placeholder {color: var(--white); opacity: 0.5;}
*:-moz-placeholder {color: var(--white); opacity: 0.5;}
input:focus::-webkit-input-placeholder, textarea:focus::-webkit-input-placeholder { color: transparent !important; }
input:focus:-moz-placeholder, textarea:focus:-moz-placeholder { color: transparent !important; }
input:focus::-moz-placeholder, textarea:focus::-moz-placeholder { color: transparent !important; }
input:focus:-ms-input-placeholder, textarea:focus:-ms-input-placeholder { color: transparent !important; }

.wrapper {padding: 0 50px;}
.valign {display: inline-block; vertical-align: middle; width: 100%;}
.valign.bottom {vertical-align: bottom;}
.valign.top {vertical-align: top;}

.padding-content {padding: 100px 0;}
.padding-content-small {padding: 70px 0;}
.half-content {width: 50%;}

.flex-row {
	display: flex;	
}
.flex-row.align-center {
	justify-content: center;
	align-items: center;	
}
.flex-row.align-justify {
	justify-content: space-between;
}
.flex-row.align-center-justify {
	justify-content: space-between;
	align-items: center;	
}
.flex-row.wrap {flex-wrap: wrap;}

.bg-cover {background-repeat: no-repeat; background-position: center top; background-size: cover;}
.bg-fixed {background-attachment: fixed;}
.touchevents .bg-fixed {background-attachment: scroll;}

.entry-content p, .entry-content .as-p {margin: 0 0 30px 0; font-size: 1.125em;}
.entry-content p:last-child, .entry-content .as-p:last-child {margin: 0 !important;}
.entry-content center {line-height: 150%}
.entry-content blockquote {margin: 0 0 30px 0; padding: 0 0 0 54px; position: relative;}
.entry-content blockquote:last-child {margin-bottom: 0;}
.entry-content blockquote:before {content: ""; display: block; width: 36px; height: 28px; background: url(images/icon-quote-white.svg) no-repeat 0 0 / cover; position: absolute; left: 0; top: 2px;}
.entry-content blockquote p:last-child:not(:first-child) {position: relative; padding: 0 0 0 40px;}
.entry-content blockquote p:last-child:not(:first-child):before {content: ""; width: 23px; height: 3px; background: var(--yellow); position: absolute; left: 0; top: 10px;}
.entry-content hr {padding: 0; margin: 0 auto 30px auto; border: 0; width: 150px; height: 2px; background: var(--yellow);}
.clear_column + hr {margin-top: 30px;}
.entry-content ul, .entry-content ol {margin: 0 0 30px 0;}
.entry-content ul:last-child, .entry-content ol:last-child {margin: 0;}
.entry-content li {margin: 0 0 20px 0; line-height: 150%; position: relative; padding: 0 0 0 20px; font-size: 1.125em;}
.entry-content li:last-child {margin-bottom: 0;}
.entry-content ul li:before {content: " "; display: block; width: 10px; height: 10px; background: var(--yellow); position: absolute; left: 0; top: 7px;
	-webkit-border-radius: 100%;
	border-radius: 100%;
}
.entry-content ol li {list-style-type: decimal; list-style-position: outside; padding: 0; margin: 0 0 20px 18px;}
.entry-content ol ul {margin-top: 20px !important;}
.entry-content ol ul li:before {display: none;}
.entry-content iframe {max-width: 100%; margin: 0 0 30px 0;}
.entry-content iframe:last-child {margin: 0;}
.entry-content img + img {margin: 0 0 0 30px;}

.entry-content a:not([class]), .entry-content a[class=""] {
	background-image: linear-gradient(var(--body), var(--body)), linear-gradient(var(--yellow), var(--yellow));
	background-size: 100% 1px, 0 1px;
	background-position: 100% 95%, 0 95%;
	background-repeat: no-repeat;
	transition: background-size 0.5s linear;	
}
.entry-content a:not([class]):hover, .entry-content a[class=""]:hover {
	background-size: 0 1px, 100% 1px;
}
.bg-body a, .bg-dark a {color: var(--white);}
.bg-body .entry-content a:not([class]), .bg-body .entry-content a[class=""],
.bg-dark .entry-content a:not([class]), .bg-dark .entry-content a[class=""] {
	background-image: linear-gradient(var(--white), var(--white)), linear-gradient(var(--yellow), var(--yellow));
}

.one_half {padding: 0 3vw 0 0;}
.one_half.last_column {padding: 0 0 0 3vw;}
.one_third {padding: 0 3vw 0 0;}
.one_third + .one_third {padding: 0 1.5vw;}
.one_third.last_column {padding: 0 0 0 3vw;}
.one_fourth {padding: 0 3vw 0 0;}
.three_fourth.last_column {padding: 0 0 0 3vw;}
.content-column.full_width {padding: 0; margin: 0 0 6vw 0;}
.clear_column {margin: 0 0 6vw 0;}
.clear_column:last-child, .content-column.full_width:last-child {margin: 0 !important;}

body.mce-content-body {margin: 20px; height: auto;}

/* SITE */

[data-effect*="fade"] {opacity: 0;}
[data-effect*="slide"] {transform: translate3d(0, 200%, 0);}

.font2 {font-family: var(--font2);}

.in-middle {padding: 0 8%;}
.in-middle.md {padding: 0 20%;}

.row-two-columns-style-1 .col-1 {padding: 0 4% 0 0;}
.row-two-columns-style-1 .col-2 {padding: 0 0 0 4%;}

h1, .h1 {font-size: clamp(2.5em, 6.3vw, 6.625em); font-weight: 300; line-height: 110%; margin: 0 0 20px 0;}
h1 strong, .h1 strong {font-weight: 500;}
h2, .h2 {font-size: clamp(2em, 5.7vw, 5.625em); font-weight: 200; line-height: 110%; margin: 0 0 20px 0;}
h2 strong, .h2 strong {font-weight: 500;}
h3, .h3 {font-size: 2.25em; line-height: 140%; margin: 0 0 25px 0;}
h4, .h4 {font-size: 1.875em; line-height: 140%; margin: 0 0 25px 0;}
h5, .h5 {font-size: 1.5em; font-weight: 500; line-height: 140%; margin: 0 0 25px 0;}
h5 em, .h5 em {font-style: normal;
	background-image: linear-gradient(var(--yellow), var(--yellow));
	background-size: 100% 3px;
	background-position: 0 95%;
	background-repeat: no-repeat;	
}
h6, .h6 {font-size: 1.25em; font-weight: 500; line-height: 140%; margin: 0 0 25px 0;}

h1:last-child, h2:last-child, h3:last-child, h4:last-child, h5:last-child, h6:last-child,
.h1:last-child, .h2:last-child, .h3:last-child, .h4:last-child, .h5:last-child, .h6:last-child {margin: 0;}

.bg-white {background-color: var(--white);}
.bg-body {background-color: var(--body);}
.bg-black {background-color: var(--black);}
.bg-dark {background-color: var(--dark);}
.bg-yellow {background-color: var(--yellow);}

.color-white {color: var(--white);}
.color-body {color: var(--body);}
.color-black {color: var(--black);}
.color-dark {color: var(--dark);}
.color-yellow {color: var(--yellow);}

a.button, .button a, button.button, input.button, span.button {display: inline-block; vertical-align: middle; position: relative;
	background: var(--body); color: var(--white);
	line-height: 46px; text-align: center; font-size: 1rem; font-weight: 700; font-family: var(--font2); text-transform: uppercase;
	padding: 0 25px; transition: var(--transition1);
}
a.button:hover, .button a:hover, button.button:hover, input.button:hover, span.button:hover, a:hover span.button {background: #3D3D3D; color: var(--white);}

.button.full-width {width: 100%; padding: 0 10px;}

a.button.white,
.button.white a,
button.button.white,
input.button.white,
span.button.white {background: var(--white); color: var(--body);}

a.button.white:hover,
.button.white a:hover,
button.button.white:hover,
input.button.white:hover,
span.button.white:hover,
a:hover span.button.white {background: #CFCFCF; color: var(--body);}

a.button.bordered,
.button.bordered a,
button.button.bordered,
input.button.bordered,
span.button.bordered {background: none; border: solid 2px var(--body); color: var(--body); line-height: 42px; padding: 0 23px;}

a.button.bordered:hover,
.button.bordered a:hover,
button.button.bordered:hover,
input.button.bordered:hover,
span.button.bordered:hover,
a:hover span.button.bordered {background: var(--body); color: var(--white);}

a.button.bordered.white,
.button.bordered.white a,
button.button.bordered.white,
input.button.bordered.white,
span.button.bordered.white {background: none; border: solid 2px var(--white); color: var(--white); line-height: 42px; padding: 0 23px;}

a.button.bordered.white:hover,
.button.bordered.white a:hover,
button.button.bordered.white:hover,
input.button.bordered.white:hover,
span.button.bordered.white:hover,
a:hover span.button.bordered.white {background: var(--white); color: var(--body);}

a.button.simple,
.button.simple a,
button.button.simple,
input.button.simple,
span.button.simple {line-height: 100%; padding: 0; background: none !important; color: var(--body) !important;}

a.button.simple.with-arrow,
.button.simple.with-arrow a,
button.button.simple.with-arrow,
input.button.simple.with-arrow,
span.button.simple.with-arrow {padding: 0 36px 0 0;}

a.button.simple.with-arrow:hover,
.button.simple.with-arrow a:hover,
button.button.simple.with-arrow:hover,
input.button.simple.with-arrow:hover,
a:hover span.button.simple.with-arrow {padding: 0 42px 0 0;}

a.button.simple.with-arrow:before,
.button.simple.with-arrow a:before,
button.button.simple.with-arrow:before,
input.button.simple.with-arrow:before,
span.button.simple.with-arrow:before {content: ""; display: block; width: 24px; height: 12px; background: url(images/icon-arrow-1.svg) no-repeat 0 0; position: absolute; right: 0; top: 2px;}

.button-group {font-size: 0; white-space: nowrap; margin: 0 0 30px 0;}
.button-group:last-child {margin: 0;}
.button-group > div {display: inline-block; vertical-align: middle; font-size: 1rem; text-align: center;}
.button-group > div p {margin: 0 !important; padding: 0 !important;}
.button-group > div + div {margin: 0 0 0 30px;}
.button-group.center > div {margin: 0 15px !important;}

#header {position: fixed; left: 0; top: 0; z-index: 10000; width: 100%;
	transition: var(--transition1);
}
#header .content {height: 110px;
	transition: var(--transition1);
}
#header:before {content: " "; display: block; width: 100%; height: 100%; position: absolute; left: 0; bottom: 100%; background: var(--body); pointer-events: none;
	transition: var(--transition1);
}

.site-logo a {display: inline-block; vertical-align: middle; font-size: 2.5em; color: var(--white); text-transform: uppercase; font-weight: 200; margin: 4px 0 0 0;}

.main-menu {font-size: 0;}
.main-menu .level-0 {display: inline-block; vertical-align: middle;}
.main-menu .level-0:not(.icon):not(.button) {font-size: 1rem; position: relative;}
.main-menu .level-0 + .level-0 {margin: 0 0 0 40px;}
.main-menu .level-0:not(.icon):not(.button) > a {display: inline-block; vertical-align: middle; position: relative;
	color: var(--white); font-family: var(--font2); font-weight: 500; padding: 10px 0; line-height: 120%; text-align: center;
}
.main-menu .level-0:not(.icon):not(.button) > a:after {
	content: '';
	position: absolute;
	width: 100%;
	transform: scaleX(0);
	height: 2px;
	bottom: 0;
	left: 0;
	background-color: var(--yellow);
	transform-origin: bottom right;
	transition: transform 0.25s ease-out;
}
.main-menu .level-0:not(.icon):not(.button):hover > a:after,
.main-menu .level-0.current-menu-item:not(.icon):not(.button):not(.menu-item-object-custom) > a:after,
.main-menu .level-0.current-menu-ancestor:not(.icon):not(.button):not(.menu-item-object-custom) > a:after {
	transform: scaleX(1);
	transform-origin: bottom left;
}

.menu-item.icon {display: inline-block; vertical-align: middle; position: relative;}
.menu-item.icon + .icon {margin: 0 0 0 12px;}
.menu-item.icon > a {display: inline-block; vertical-align: middle; width: 48px; line-height: 48px; background: var(--yellow); font-size: 0 !important; 
	position: relative; text-align: center;
	border-radius: 100%;
}
.menu-item.icon:hover > a {background: var(--white);}
.menu-item.icon img {max-height: 20px; width: auto;}
.menu-image-title-after.menu-image-not-hovered img {padding: 0;}
.menu-image-title-after.menu-image-title {padding: 0; display: none;}

.main-menu .sub-menu-div {position: absolute; left: 50%; top: 120%; padding: 20px 0 0 0; z-index: 5;
	-webkit-transform: translateX(-50%); transform: translateX(-50%);
	opacity: 0; pointer-events: none;
	transition: var(--transition1);
}
.main-menu .level-0:hover .sub-menu-div, .main-menu .level-0.clicked .sub-menu-div {opacity: 1; pointer-events: auto; top: 80%;}
.main-menu .sub-menu {background: var(--yellow); min-width: 200px; padding: 20px; position: relative;}
.main-menu .sub-menu:before {content: " "; display: block; width: 12px; height: 12px; background: var(--yellow); position: absolute; left: 50%; top: -2px;
	-webkit-transform: rotate(45deg) translateX(-50%); transform: rotate(45deg) translateX(-50%);
}
.main-menu .sub-menu li {position: relative; text-align: center;}
.main-menu .sub-menu li + li {margin: 10px 0 0 0;}
.main-menu .sub-menu a {display: inline-block; vertical-align: middle; position: relative;
	color: var(--body); font-family: var(--font2); font-weight: 500; padding: 5px 0; line-height: 120%; text-align: center;
}
.main-menu .sub-menu a:hover {text-decoration: underline;}

.fixed #header:before {bottom: 0;}
.header-up #header {top: -110px;}

.white-header #header:before {background: var(--white);}
.white-header #header .site-logo a {color: var(--body);}
.white-header #header .main-menu .level-0:not(.icon):not(.button) > a {color: var(--body);}
.white-header #header .main-menu .button > a {border-color: var(--body); color: var(--body);}
.white-header #header .main-menu .button > a:hover {background: var(--body); color: var(--white);}

.padding-from-header {padding: 110px 0 0 0;}

/* #hero .content {padding: 0 0 0 4%; position: relative; z-index: 2;}
#hero .content .entry-content {width: 120%;}
#hero .image {position: relative; text-align: right;}
#hero .image:before {content: ""; display: block; width: 100%; aspect-ratio: 1 / 1; position: absolute; left: 0; top: 0;
	background: #1E1E1E; border-radius: 100%; filter: blur(58.5px);
}
#hero .image .img {display: inline-block; width: 74%; position: relative;}
#hero .image .img .tagline {position: absolute; left: 0; bottom: 50px; width: 100%; text-align: center; font-size: 0; padding: 20px 20px 10px 20px;
	background: rgba(255, 255, 255, 0.1);
	box-shadow: 0px 0px 19px rgba(255, 255, 255, 0.09);
	-webkit-backdrop-filter: blur(15px);
	backdrop-filter: blur(15px);	
}
#hero .image .img .tagline li {display: inline-block; vertical-align: top; font-size: 1.125rem; font-weight: 300; margin: 0 0 10px 0; padding: 0 12px 0 8px; position: relative;}
#hero .image .img .tagline li:after {content: ""; display: block; width: 4px; height: 4px; border-radius: 100%; background: var(--yellow);
	position: absolute; right: 0; top: 5px;
}
#hero .image .img .tagline li:last-child {padding-right: 0;}
#hero .image .img .tagline li:last-child:after {display: none;} */

.tagline-dots {text-align: center; font-size: 0; padding: 20px 20px 10px 20px;
	background: rgba(255, 255, 255, 0.1);
	box-shadow: 0px 0px 19px rgba(255, 255, 255, 0.09);
	-webkit-backdrop-filter: blur(15px);
	backdrop-filter: blur(15px);	
}
.tagline-dots li {display: inline-block; vertical-align: top; font-size: 1.125rem; font-weight: 300; margin: 0 0 10px 0; padding: 0 12px 0 8px; position: relative;}
.tagline-dots li:after {content: ""; display: block; width: 4px; height: 4px; border-radius: 100%; background: var(--yellow);
	position: absolute; right: 0; top: 5px;
}
.tagline-dots li:last-child {padding-right: 0;}
.tagline-dots li:last-child:after {display: none;}

#hero-frontpage {position: relative;}
#hero-frontpage .video {position: absolute; left: 0; top: 0; width: 100%; height: 100%;}
#hero-frontpage .video:before {content: ""; display: block; position: absolute; left: 0; top: 0; z-index: 1; width: 100%; height: 100%; background: var(--body); opacity: 0.6;}
#hero-frontpage .video video {position: absolute; left: 0; top: 0; width: 100%; height: 100%; object-fit: cover;}
#hero-frontpage .wrapper {position: relative; z-index: 2;}
#hero-frontpage .content {padding: 0 0 0 4%; min-height: 60vh; display: flex; align-items: center;}
#hero-frontpage .content .entry-content {margin: 16% 0;}
#hero-frontpage .content .entry-content h1 {width: 120%;}
#hero-frontpage .tagline {display: flex; align-items: flex-end;}
#hero-frontpage .tagline-dots {margin: 0 0 8% 0;}

/* #hero-speaking .content {padding: 0 0 0 8%; margin: -8% 0 0 0;}
#hero-speaking .image {position: relative; overflow: hidden;}
#hero-speaking .image .img {display: inline-block; width: 68%; margin: 0 0 -10% 0;}
#hero-speaking .tagline-dots {position: absolute; left: 0; bottom: 8%;} */

.testimonials-grid {display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px;}
.testimonial-text {border: solid 2px #272727; padding: 25px; position: relative;}
.testimonial-text:before {content: ""; display: block; position: absolute; left: 25px; top: -20px; width: 100px; height: 28px; background: url(images/icon-quote.svg) no-repeat 0 0;}
.testimonial-text p {font-size: 1.125em;}
.testimonial-text .more {color: var(--yellow); text-transform: uppercase; font-weight: 500;
	background-image: linear-gradient(var(--yellow), var(--yellow)), linear-gradient(var(--white), var(--white));
	background-size: 100% 1px, 0 1px;
	background-position: 100% 95%, 0 95%;
	background-repeat: no-repeat;
	transition: background-size 0.5s linear;	
}
.testimonial-text .more:hover {
	background-size: 0 1px, 100% 1px;
}
.testimonial-meta {margin: 20px 0 0 0;}
.testimonial-meta .image {width: 64px; border: solid 1px var(--yellow); border-radius: 100%; padding: 3px;}
.testimonial-meta .image-bg {padding: 100% 0 0 0; border-radius: 100%;}
.testimonial-meta .meta {width: calc(100% - 64px); padding: 0 0 0 15px; font-weight: 300;}
.testimonial-meta .meta .name {font-weight: 500; font-size: 1.125em;}
.testimonial-meta .meta .tagline {margin: 2px 0 0 0;}
.testimonial-meta .meta .tagline p {line-height: 130%;}
.testimonial-window .testimonial-text {border: 0; padding: 0;}
.testimonial-window .testimonial-text:before {display: none;}

.gscrollbar-fixer {margin: 0 !important;}
.goverlay {background: rgba(0, 0, 0, 0.6) !important; -webkit-backdrop-filter: blur(2px); backdrop-filter: blur(2px);}
.glightbox-clean .gslide-media {box-shadow: none !important; padding: 86px 20px 20px 20px;}
.glightbox-clean .gslide-media.gslide-video {padding: 0;}
.gslide-inline .ginlined-content {padding: 0 !important;}

.lightbox-window-close {position: absolute; right: 30px; top: 20px; width: 46px; height: 46px; border: solid 2px var(--yellow); background: url(images/icon-x.svg) no-repeat center center; font-size: 0;}
.lightbox-window-close:hover {border-color: var(--body);}
.lightbox-window-wrapper {padding: 0 10px 10px 10px;}

#row-about .video {height: 100%; margin: 0 0 0 -50px; position: relative;}
#row-about .video video {position: absolute; left: 0; top: 0; width: 100%; height: 100%; object-fit: cover;}
#row-about .content .entry-content {padding: 0 8%;}

#row-rtl .hero {padding: 0 4% 0 0;}

.screen-reader-response, .wpcf7-not-valid-tip {display: none !important;}
.wpcf7-not-valid {border-color: red !important;}
.wpcf7 .wpcf7-spinner {pointer-events: none; position: absolute; right: 100%; top: 10px; margin: 0 10px 0 0 !important;}
.wpcf7-response-output {text-align: center; color: var(--white); width: 100%; padding: 10px !important; background: red; 
	margin: 0 0 20px 0 !important; border: 0 !important; line-height: 150%;
}
.wpcf7 form.sent .wpcf7-response-output {background: var(--yellow); color: var(--body);}
.grecaptcha-badge {display: none !important;}

#footer .form {padding-top: 50px; padding-bottom: 50px;}
.footer-form-with-border #footer .form {border-top: solid 1px #2E2E2E;}
#footer .form .col-1 {padding: 0 8% 0 0;}
#footer .form .fields {display: grid; grid-template-columns: repeat(4, 1fr); grid-gap: 20px;}
#footer .form .field {grid-column: span 2; position: relative; line-height: 50%;}
#footer .form .field:before {content: ""; display: block; width: 0; height: 2px; background: var(--yellow); position: absolute; left: 0; bottom: 0; z-index: 2; transition: var(--transition1);}
#footer .form .field:focus-within:before {width: 100%;}
#footer .form .double {grid-column: span 4;}
#footer .form .double .wpcf7-form-control-wrap {line-height: 50%;}
#footer .form .terms {grid-column: span 3; padding: 0 20px 0 0;}
#footer .form .terms p {font-size: 0.813em; font-weight: 300;}
#footer .form .submit {text-align: right; position: relative;}
#footer .form .input {width: 100%; max-width: 100%; height: 46px; padding: 0 10px; background: none; border-bottom: solid 2px var(--white); color: var(--white);}
#footer .form .input:focus {background: rgba(255, 255, 255, 0.1);}
#footer .form textarea.input {height: 120px; padding: 10px; resize: none;}
#footer .form .select {position: relative;}
#footer .form .select:before {content: " "; display: block; width: 8px; height: 8px; border: solid 2px var(--white); 
	position: absolute; z-index: 20; pointer-events: none; right: 10px; top: 15px; border-top: 0; border-left: 0;
	transform: rotate(45deg);
}
#footer .form select.input {color: rgba(255, 255, 255, 0.5); -moz-appearance: none; text-indent: 0.01px; text-overflow: ""; cursor: pointer;}
#footer .form select.input::-ms-expand {display: none;}
#footer .form select.input option {background: var(--dark); color: var(--white);}
#footer .content {padding: 50px 0; border-top: solid 1px #2E2E2E;}
#footer .bottom {text-align: center; padding: 0 0 50px 0;}
#footer .bottom p {display: inline-block; vertical-align: middle; font-size: 0.875em; margin: 0 5px;}
#footer .bottom p + p:before {content: ""; display: inline-block; vertical-align: middle; width: 4px; height: 4px; background: var(--yellow); border-radius: 100%; margin: 0 10px 0 0;}

.page-sub-nav {font-size: 0; text-align: center; margin: 0 0 -20px 0;}
.page-sub-nav li {display: inline-block; vertical-align: top; font-size: 1rem; margin: 0 20px 20px 20px;}
.page-sub-nav a {display: inline-block; padding: 8px 0; position: relative;}
.page-sub-nav a:after {
	content: '';
	position: absolute;
	width: 100%;
	transform: scaleX(0);
	height: 2px;
	bottom: 0;
	left: 0;
	background-color: var(--yellow);
	transform-origin: bottom right;
	transition: transform 0.25s ease-out;
}
.page-sub-nav a:hover:after,
.page-sub-nav .selected a:after {
	transform: scaleX(1);
	transform-origin: bottom left;
}

.alm-btn-wrap {text-align: center;}
.alm-load-more-btn {margin: 70px 0 0 0;}
.alm-load-more-btn.done {display: none;}

.blog-posts {padding: 0 12%; margin: 0 0 -50px 0;}
.blog-post {margin: 0 0 50px 0;}
.blog-post a {display: block;}
.blog-post .post-image {display: block; width: calc(50% - 100px); border: solid 1px var(--body); overflow: hidden; -webkit-mask-image: -webkit-radial-gradient(white, black); font-size: 0;}
.blog-post .post-image-cover {display: block; padding: 60% 0 0 0; backface-visibility: hidden; transition: all 2s ease; transform: scale(1.01); will-change: transform;}
.blog-post a:hover .post-image-cover {transform: scale(1.1);}
.blog-post .post-image-logo {display: block; padding: 60% 0 0 0; position: relative;}
.blog-post .post-image-logo img {position: absolute; left: 50%; top: 50%; transition: all 2s ease; transform: translate(-50%, -50%); max-width: 85%; max-height: 55%; width: auto; height: auto; will-change: transform;}
.blog-post a:hover .post-image-logo img {transform: translate(-50%, -50%) scale(1.1);}
.blog-post .post-content {display: block; width: calc(50% + 100px); padding: 0 0 0 30px;}
.blog-post .post-type {display: inline-block; height: 24px; line-height: 24px; padding: 0 8px; border: solid 1px var(--body); font-size: 0.75em; font-weight: 500; text-transform: uppercase; margin: 0 0 20px 0; transition: var(--transition1);}
.blog-post a:hover .post-type {background: var(--body); color: var(--white);}
.blog-post .post-title {display: block; font-size: 1.25em; font-weight: 500; line-height: 140%; margin: 0 0 20px 0;}
.blog-post .post-title:last-child {margin: 0;}

.topics-grid {display: grid; gap: 50px; grid-template-columns: repeat(3, 1fr);}
.topics-grid .topic {border: solid 1px var(--body); padding: 40px 40px 86px 40px; position: relative;}
.topics-grid .topic.title {border: 0; padding: 40px 0;}
.topics-grid .topic .title {margin: 0 0 20px 0;}
.topics-grid .topic .text {margin: 0 0 25px 0;}
.topics-grid .topic .text:last-child {margin: 0;}
.topics-grid .topic .cta {position: absolute; bottom: 40px;}
.topics-grid .topic.talk {padding: 40px; display: flex; align-items: center; justify-content: center; text-align: center;}

.slick-track {display: flex !important;}
.slick-slide {height: inherit !important;}
.services-slideshow-wrap {width: 170%; margin: 0 0 0 -20px; position: relative;}
.services-slideshow .service {border: solid 1px #272727; padding: 30px; min-height: 100%; margin: 0 20px;}
.services-slideshow .service .image {width: 28%; padding: 34% 0 0 0; position: relative;}
.services-slideshow .service .image .caption {position: absolute; left: 0; bottom: 0; background: rgba(23, 23, 23, 0.8); padding: 8px 10px 5px 10px;}
.services-slideshow .service .image .caption p {font-size: 0.875em;}
.services-slideshow .service .content {width: 72%; padding: 0 0 0 50px;}
.services-slideshow .service .content .align {min-height: 100%; align-items: center; flex-grow: 1;}
.services-slideshow .service .content .entry-content {width: 100%;}
.services-slideshow-nav {position: absolute; right: -50px; top: 0; width: calc(15% + 50px); height: 100%; font-size: 0; display: flex; align-items: center; justify-content: center;
	background: linear-gradient(270deg, #272727 17.39%, rgba(39, 39, 39, 0) 100%);
}
.services-slideshow-nav .slick-prev {display: none !important; transform: rotate(180deg);}
.services-slideshow-nav .slick-arrow {display: inline-block; width: 48px; height: 48px; background: var(--body); border-radius: 100%; filter: drop-shadow(0px 0px 8px rgba(255, 255, 255, 0.25));}
.services-slideshow-nav .slick-arrow:hover {background: var(--yellow); filter: drop-shadow(0px 0px 12px rgba(255, 255, 255, 0.45));}

.js-tabs-row:not(:first-child) {display: none;}

.clients-grid {display: grid; gap: 30px; grid-template-columns: repeat(4, 1fr);}
.clients-grid .client {border: solid 1px #272727; padding: 15px;}
.clients-grid .client .title {font-size: 1.25em; line-height: 130%;}

#hero-about .content {padding: 0 8%;}
#hero-about .image .img {margin: 0 0 0 -8%;}

.content-rows .row + .row {margin: 70px 0 0 0;}
.content-rows .row .col-1 {padding: 0 4% 0 0;}
.content-rows .row .col-2 {padding: 0 0 0 4%;}
.content-rows .row:nth-child(2n+1) .col-1 {order: 2; padding: 0 0 0 4%;}
.content-rows .row:nth-child(2n+1) .col-2 {padding: 0 4% 0 0;}

.icon-play {display: inline-block; width: 64px; height: 64px; background: var(--white) url(images/icon-play.svg) no-repeat calc(50% + 2px) center; border-radius: 100%; font-size: 0; transition: var(--transition1);}
a:hover .icon-play {background-color: var(--yellow);}

.video-inline-full-row .title {order: 2; width: 40%; padding: 0 0 0 8%;}
.video-inline-full-row .title + .video {width: 60%;}
.video-inline-full-row .video-link {display: block; position: relative;}
.video-inline-full-row .video-link .icon-play {position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%);}

.videos-list {display: grid; gap: 60px; grid-template-columns: repeat(2, 1fr);}
.videos-list a {display: flex; align-items: center; flex-wrap: wrap;}
.videos-list .image {display: block; width: 56%;}
.videos-list .image-bg {display: block; padding: 60% 0 0 0; position: relative;}
.videos-list .image-bg .icon-play {position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%) scale(0.8);}
.videos-list .image-after {width: 44%; padding: 0 0 0 30px;}
.videos-list .title {display: block; font-size: 1.438em; font-weight: 500; line-height: 130%;}
.videos-list .cta {display: inline-block; text-transform: uppercase; margin: 20px 0 0 0; position: relative; padding: 0 36px 0 0; transition: var(--transition1);}
.videos-list .cta:after {content: ""; display: block; width: 24px; height: 13px; background: url(images/icon-arrow-2.svg) no-repeat 0 0; position: absolute; right: 0; top: 2px;}
.videos-list a:hover .cta {padding-right: 40px;}

/* MOBILE */
.hamburger {
	width: 46px; line-height: 46px; font-size: 0;
	display: none; order: 0; background: var(--white);
	cursor: pointer;
	transition-property: opacity, filter;
	transition-duration: 0.15s;
	transition-timing-function: linear;
}
.hamburger-box {
	width: 24px;
	height: 20px;
	display: inline-block; vertical-align: middle;
	position: relative;
}
.hamburger-inner {
	display: block;
	top: 50%;
	margin-top: -1px; }
	.hamburger-inner, .hamburger-inner::before, .hamburger-inner::after {
	width: 24px;
	height: 2px;
	background: var(--body);
	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: -8px; }
	.hamburger-inner::after {
	bottom: -8px; }
	.hamburger--spin .hamburger-inner {
	transition-duration: 0.22s;
	transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
	.hamburger--spin .hamburger-inner::before {
	transition: top 0.1s 0.25s ease-in, opacity 0.1s ease-in; }
	.hamburger--spin .hamburger-inner::after {
	transition: bottom 0.1s 0.25s ease-in, transform 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19); }

	.hamburger--spin.opened .hamburger-inner {
	transform: rotate(225deg);
	transition-delay: 0.12s;
	transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
	.hamburger--spin.opened .hamburger-inner::before {
	top: 0;
	opacity: 0;
	transition: top 0.1s ease-out, opacity 0.1s 0.12s ease-out; }
	.hamburger--spin.opened .hamburger-inner::after {
	bottom: 0;
	transform: rotate(-90deg);
	transition: bottom 0.1s ease-out, transform 0.22s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1); }

.white-header .hamburger {background: var(--body);}
.white-header .hamburger-inner, .white-header .hamburger-inner::before, .white-header .hamburger-inner::after {background: var(--white);}

#mobile-menu {position: fixed; left: 100%; top: 0; z-index: 9000; pointer-events: none; font-size: 0;
	width: 100%; height: 100vh; background: var(--body); text-align: right; padding: 90px 0 0 0;
	transition: all .5s ease;
}
#mobile-menu-wrap {
	line-height: calc(100vh - 90px); height: calc(100vh - 90px);
	overflow: auto; -webkit-overflow-scrolling: touch;
}
#mobile-menu-wrap > ul:first-child {display: inline-block; width: 100%; vertical-align: middle; padding: 90px 0; margin: -90px 0 0 0;}
#mobile-menu.opened {left: 0; pointer-events: auto;}
#mobile-menu .level-0 {padding: 20px 50px 20px 20px; margin: 0 !important; font-size: 1rem;
	position: relative; top: 20px; opacity: 0; transition: opacity .3s .2s ease, top .3s .2s ease;
}
#mobile-menu.opened .level-0 {opacity: 1; top: 0;}
#mobile-menu .level-0:nth-child(1) {-webkit-transition-delay: .2s; transition-delay: .2s;}
#mobile-menu .level-0:nth-child(2) {-webkit-transition-delay: .25s; transition-delay: .25s;}
#mobile-menu .level-0:nth-child(3) {-webkit-transition-delay: .3s; transition-delay: .3s;}
#mobile-menu .level-0:nth-child(4) {-webkit-transition-delay: .35s; transition-delay: .35s;}
#mobile-menu .level-0:nth-child(5) {-webkit-transition-delay: .4s; transition-delay: .4s;}
#mobile-menu .level-0:nth-child(6) {-webkit-transition-delay: .45s; transition-delay: .45s;}
#mobile-menu .level-0:nth-child(7) {-webkit-transition-delay: .5s; transition-delay: .5s;}
#mobile-menu .level-0:nth-child(8) {-webkit-transition-delay: .55s; transition-delay: .55s;}
#mobile-menu .level-0:nth-child(9) {-webkit-transition-delay: .6s; transition-delay: .6s;}
#mobile-menu .level-0:nth-child(10) {-webkit-transition-delay: .65s; transition-delay: .65s;}
#mobile-menu .level-0:nth-child(11) {-webkit-transition-delay: .7s; transition-delay: .7s;}
#mobile-menu .level-0:nth-child(12) {-webkit-transition-delay: .75s; transition-delay: .75s;}
#mobile-menu .level-0:nth-child(13) {-webkit-transition-delay: .8s; transition-delay: .8s;}
#mobile-menu .level-0:nth-child(14) {-webkit-transition-delay: .85s; transition-delay: .85s;}
#mobile-menu .level-0:not(.icon):not(.button) > a {display: inline-block; vertical-align: middle;
	color: var(--white); font-family: var(--font2); font-weight: 500; font-size: 1.25em;
}
#mobile-menu .level-0:not(.menu-item-has-children) {padding: 0;}
#mobile-menu .level-0:not(.menu-item-has-children):not(.icon):not(.button) > a {width: 100%; padding: 20px 50px 20px 20px;}
#mobile-menu .level-0:not(.icon):not(.button) > a:hover {color: var(--yellow);}

#mobile-menu .level-0.menu-item-has-children {cursor: pointer;}
#mobile-menu .level-0.menu-item-has-children:before {content: " "; display: block; width: 50px; height: 100%; position: absolute; right: 0; top: 0; z-index: 20; cursor: pointer;}
#mobile-menu .level-0.menu-item-has-children:after {content: " "; display: block; width: 10px; height: 10px; 
	border: solid 2px var(--yellow); border-top: 0; border-left: 0; position: absolute; right: 22px; top: 22px; z-index: 21; cursor: pointer;		
	transform: rotate(45deg);
	transition: var(--transition1);
}

#mobile-menu .level-0.menu-item-has-children.opened:after {
	top: 27px;
	transform: rotate(225deg);		
}

#mobile-menu .sub-menu {display: none; margin: 30px 0 0 0;}
#mobile-menu .sub-menu li {position: relative;}
#mobile-menu .sub-menu li + li {margin: 20px 0 0 0;}
#mobile-menu .level-1 > a {display: block;
	color: var(--white); font-family: var(--font2); font-weight: 500;
}
#mobile-menu .level-1 > a:hover {color: var(--yellow);}

/*#mobile-menu .level-0.icon {margin: 20px 50px 0 0 !important; width: auto; vertical-align: top;}
#mobile-menu .level-0.icon + .icon {margin-left: -40px !important;}
#mobile-menu .level-0.icon.menu-item-has-children {display: none;}
#mobile-menu .level-0.icon:before, #mobile-menu .level-0.icon:after {display: none;}*/

#mobile-menu .level-0.button {margin: 20px 0 0 0 !important; padding: 0 50px;}
/* END MOBILE */