/*
	Theme Name: Smart Payment Technologies
	Theme URI: ?
	Description: Custom WP theme for Smart Payment Technologies
	Version: 0.1
	Author: Creative Direction
	Author URI: https://creativedirection.info
*/

/*------------------------------------*\
    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%;
}
body {
	font-family: "halyard-text", sans-serif;
	font-weight: 300;
	font-style: normal;
	font-size:17px;
	color:#0F2435;
	line-height:1.45;
}
/* clear */
.clear:before,
.clear:after {
    content:' ';
    display:table;
}

.clear:after {
    clear:both;
}
.clear {
    *zoom:1;
}
img {
	max-width:100%;
	vertical-align:bottom;
	height:auto;
}
a {
	color:#3e8af7;
	text-decoration:none;
}
a:hover {
/*	color:#3e8af7;*/
}
a:focus {
	outline:0;
}
a:hover,
a:active {
	outline:0;
}
input:focus {
	outline:0;
	border:1px solid #04A4CC;
}
h1, h2, h3, h4, h5, h6 {
	font-family: "halyard-display", sans-serif;
	font-weight: 400;
	font-style: normal;
	line-height:1;
	margin-top: 0;
}
h1 {
	font-size: 4.21em;
}
.home h1 {
	font-size: 4.8em;
}
h2 {
	font-size:2.6em;
	font-weight: 300;
}
h3 {
	font-size: 2.1em;
	font-weight:300;
/*	letter-spacing: -0.025em;*/
}
h4 {
	font-size: 1.7em;
	font-weight:300;
	letter-spacing: -0.01em;
}
p {
	margin-top: 0;
}

strong {
	font-weight:500;
}

figure {
	margin-bottom: 0;
}

/*------------------------------------*\
    STRUCTURE
\*------------------------------------*/
.inner {
	width:95%;
	max-width: 1458px;
	margin: 0 auto;
	position: relative;
}
.inner-narrow {
	width:85%;
	max-width: 1300px;
	margin: 0 auto;
	position: relative;
}

.inner-narrower {
	width:75%;
	max-width: 1100px;
	margin: 0 auto;
	position: relative;
}
.narrow {
	width:55%;
	max-width: 800px;
	margin: 0 auto;
	position: relative;
}
.narrower {
	width:40%;
	max-width: 700px;
	margin: 0 auto;
	position: relative;
}

/* wrapper */
.wrapper {
	position:relative;
}
/* header */
.header {
	position: fixed;
	z-index:99;
	width:100%;
	transition: 0.6s all;
}

.header .inner {
}
.header-inner {
	width: 100%;
	height:100px;
	align-items: center;
	display: flex;
	justify-content: space-between;
}
.header-contact {
	font-weight:500;
	font-size:1.05em;
	background-color: #96F5C2;
	color:#0F2435;
	border-radius: 50px;
	padding:calc(0.7em - 2.5px) 55px calc(0.7em - 2.5px) 1.3em;
	position: relative;
	transition:0.6s all;
	margin-right: 3px;
	display: inline-block;
	text-decoration: none;
/*	height:50px;*/
}
.header-contact:after {
	content:'';
	display: block;
	position: absolute;
	right:20px;
	top:50%;
	transform: translateY(-50%);
	height:25px;
	width:25px;
	background-image: url(img/header-contact-arrow.svg);
	background-position: center;
	background-size: contain;
	background-repeat: no-repeat;
	transition:0.6s all;
}

.header-contact:hover {
	background-color: #C4FFE0;
}
.header-contact:hover:after {
	transform: translateY(-50%) rotate(-45deg);
}
/* logo */
.logo {
	transition:0.6s all;
}
.scrolled .logo {
	opacity:0;
}

.home-button {
	transition:0.6s all;
	opacity: 1;
	width: 26px;
	margin-right: 15px;
	margin-top: 12px;
	margin-left: 25px;
	height:26px;
	background-image: url(img/home-button.svg);
	background-position: center center;
	background-repeat: no-repeat;
}
.home-button:hover {
	background-image: url(img/home-button-hover.svg);
}
.home-button:not(.scrolled .home-button) {
/*	display: none;*/
	width: 0 !important;
	opacity:0;
	margin-right: 0;
	margin-left: 0;
}
.logo-img {

}
/* nav */
.nav {

}
/* footer */
.pre-footer {
	background-color: #fff;
	padding-top: 100px;
	padding-bottom: 50px;
	z-index:2;
	display: block;
	position: relative;
}
.footer {
	background-color: #0F2435;
	border-top:1px solid #707070;
	display: block;
	position: relative;
	z-index:2;
}

.footer-main {
/*	display: grid;*/
	display:flex;
	justify-content: space-between;
	grid-template-columns: repeat(5,1fr);
	gap:2em;
	padding:100px 0 100px;
	color:#9FA7AE;
}

.footer-main ul, .footer-bottom-inner ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.footer-main a {
	color: #fff;
	text-decoration: none;
	transition:0.6s all;
}
.footer-main a:hover {
	color:#AFD1FC;
}
.footer-social {
	display: flex;
	justify-content: flex-end;
	gap:1em;
}
.footer-social svg * {
	transition:0.6s all;
}
.footer-social svg:hover * {
	fill:#fff;
}

.below-socials {
	float:right;
	margin-top:2.5em;
}

.footer-compliance-logos {
	display: flex;
	justify-content: space-around;
	gap:2em;
}

.footer-bottom, .footer-bottom a {
	color:#BFC3C7;
}
.footer-bottom-inner {
	border-top:1px solid #40515E;
	padding:1em 0 2em 0;
	display: flex;
	justify-content: space-between;
}


.footer-bottom-inner ul {
	display: flex;
	justify-content: space-between;
	gap:2em;
}

.footer-bottom-bottom {
	text-align: right;
	margin-bottom: 2em;
}

/*------------------------------------*\
    PAGES
\*------------------------------------*/
.generic-header {
	background: linear-gradient(64deg,rgb(255,255,255) 0%,rgb(191,218,253) 67%,rgb(255,255,255) 100%);
	height:40vh;
	margin-bottom: 4em;
}
.generic-hero {
	height:100%;
	background-image: url(img/services-bg.svg);
	background-repeat: no-repeat;
	background-position: center right;
	background-size: contain;
	display: flex;
	align-items: center;
}
.homepage-content { /* this is to negate the parallax stuff on the homepage hero */
	z-index:2;
}

.services-hero {
	background-image: url(img/services-bg.svg);
	background-repeat: no-repeat;
	background-position: center right;
	background-size: contain;
}
.about-hero {
	background-image: url(img/about-hero.svg);
	background-repeat: no-repeat;
	background-position: center right;
	background-size: contain;
/*	max-height:625px;*/
}

.timeline-title-date {
	margin-bottom: 0;
}



/* Service block */
.button-outer {
	display: table !important;
	position: relative;
	border-radius:40px;
	overflow: hidden;
	font-family: "halyard-display", sans-serif;
}

.button-outer a {
	display: table-cell;
	padding:0.6em 1em 0.6em 50px;
/*	padding:0.7em 1em 0.4em 50px;*/
	text-transform: uppercase;
	transition:0.3s all;
	position: relative;
	font-weight: 500;
	text-decoration: none;
	letter-spacing: 0.04em;
}
.button-text {
	position: relative;
	letter-spacing: 0.02em;
	font-size:1.05em;
}
.button-outer:hover a {
	padding:0.6em 50px 0.6em 1em;
/*	padding:0.7em 50px 0.4em 1em;*/
}
.button-outer a::after {
	height:40px;
	width:40px;
	content:'';
	display: block;
	position: absolute;
	left:3px;
	top:50%;
	transition:0.3s all;
	transform-origin:center;
	background-position: center center;
	background-repeat: no-repeat;
	transform:translateY(-50%);
}

.button-outer a:hover::after {
	left:calc(100% - 3px);
	transform: translate(-100%, -50%);
}

/*------------------------------------*\
    BITS N BOBS
\*------------------------------------*/

.pad-2em {
	padding: 2em;
}
.search-toggle {
	z-index: 10;
}
.search-box {
	width: calc(100% - 250px);
}
.search-box input {
	width: 100%;
	border:0;
	outline:0;
	padding-left:1em;
}
.has-border-radius {
	border-radius: 20px;
}


.has-border-radius-top {
	border-radius: 40px 40px 0 0;
	overflow: hidden;
}

.has-border-radius-bottom {
	border-radius: 0 0 40px 40px;
	overflow: hidden;
}
.has-border-radius-bottom-right, .has-border-radius-bottom-right img {
	border-radius: 0 0 20px 0;
}

.has-gap {
	gap:100px;
}



.blue-gradient-1 strong {
	background: linear-gradient(90deg, #3D8AF7 0%, #B0D1FC 100%);
}
.text-gradient {
	z-index:1;
	position: relative;
}
.text-gradient strong {
	font-weight: normal;
  -webkit-background-clip: text;
	background-clip: text !important;
  -webkit-text-fill-color: transparent;
	color:transparent;
	font-weight:inherit;
}


.slick-disabled {
	opacity:0.3;
}

/*------------------------------------*\
	RESET GUTENBERG STUFF
\*------------------------------------*/
.wp-block-verse {
	text-transform: uppercase;
	font-size: 1.05em;
	letter-spacing: 0.02em;
	font-family: "halyard-text", sans-serif;
	font-weight: 500;
	font-style: normal;
	color:#3D8AF7;
}
.wp-block-quote {
	border-left-color: #3E8AF7;
	margin-left: 1em;
	padding-top:0.5em;
/*	padding-bottom: 0.5em;*/
	padding-left: 2em;
}

:where(.wp-block-group.has-background) {
	padding:0;
}
.wp-block-image {
	margin-bottom: 0;
}

.wp-block-cover {
	z-index: 3;
    overflow: visible;
}
.has-border-radius-bottom .wp-block-cover__background {
	border-radius:0 0 40px 40px;
}

.wp-block-list, .accordion ul {
	list-style: none;
	margin: 0;
	padding: 0;
}
.wp-block-list li, .accordion ul li {
	padding-left: 20px;
	position: relative;
	margin-bottom: 1em;
}

.wp-block-list li:before, .accordion ul li:before {
	position: absolute;
	content:'';
	display: block;
	top:8px;
	left:0;
	height:12px;
	width: 12px;
	background-image: url(img/bullet-point-arrow.svg);
	background-size: contain;
}
:where(.wp-block-columns.is-layout-flex) {
	margin-bottom: 0;
}

/*------------------------------------*\
	FORMS
\*------------------------------------*/
.gfield_label { 
	color:#0f2435 !important;
/*	text-transform: uppercase !IMPORTANT;*/
	font-size:1em;
	font-weight: 500 !important;
	margin-bottoom:0.8em !important;
}
.gfield_required {
	font-style: normal !important;
	color:#40515e !important;
	font-size:1em !important;
	font-weight: 400 !important;
	margin-left:3px;
}
.gform_wrapper.gravity-theme .gfield input:not(input[type="checkbox"], input[type="radio"]), 
.gform_wrapper.gravity-theme .gfield input[type="text"],
.gform_wrapper.gravity-theme .gfield input[type="email"], 
.gform_wrapper.gravity-theme .gfield input[type="tel"], 
.gform_wrapper.gravity-theme .gfield select, 
.gform_wrapper.gravity-theme .gfield textarea, 
.gform_wrapper.gravity-theme .gfield number {
	padding:1.1em !important;
	border-radius:3px;
	resize: none;
	border:none;
	min-height:40px;
	margin-bottom: 1em;
	position: relative;
	box-shadow: 0px 3px 10px rgba(15, 64, 91, 0.1) !important;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}


.gform_wrapper.gravity-theme .gfield select {
  appearance: none;
  -webkit-appearance: none;
  position: relative;
}

.ginput_container_select {
	position: relative;
}

.gform_wrapper.gravity-theme .ginput_container_select::after {
	display: block;
	content:'';
	height:20px;
	width: 17px;
	background-image: url(img/nav-down.svg);
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center center;
	position: absolute;
	right:1.3em;
	top:50%;
	transform: translateY(-80%);	
	z-index:1;
	pointer-events: none;
}

.gform_wrapper.gravity-theme .gfield input[required] {
  background-image: radial-gradient(red 15%, transparent 16%);
  background-size: 1em 1em;
  background-position: top right;
  background-repeat: no-repeat
}



	.submit-container {
		display: table;
		position: relative;
		border-radius:40px;
		overflow: hidden;
		background-color: #96F5C2;
	}
	.submit-container:hover {
		background-color: #F3A797;
	}

	.submit-container input[type="submit"] {
		background-color: transparent;
		display: table-cell;
		padding:0.6em 1em 0.6em 50px;
		text-transform: uppercase;
		transition:0.3s all;
		position: relative;
		font-weight: 500;
		text-decoration: none;
		border:none;
		margin-bottom: 0 !important;
		color:#0F2336;
	}


	.submit-container .button-text {
		position: relative;
		letter-spacing: 0.02em;
		font-size:1.05em;
	}


	.submit-container:hover input[type="submit"] {
		padding:0.6em 50px 0.6em 1em;
	}


.submit-container::after {
	height:40px;
	width:40px;
	content:'';
	display: block;
	position: absolute;
	left:3px;
	top:50%;
	transition:0.3s all;
	transform-origin:center;
	background-position: center center;
	background-repeat: no-repeat;
	transform:translateY(-50%);
  	background-image: url(img/button-arrow.php?text_colour=0F2336);
  	z-index:2;
}


.submit-container:hover::after {
  background-image: url(img/button-arrow.php?text_colour=0F2336);

/*  left:unset;*/
/*  right:0.5em;*/
	left:calc(100% - 3px);
	transform: translate(-100%, -50%);
}

.submit-container.big-button input[type="submit"]:hover::after {
	transform:translateY(-50%) scale(0.9) rotate(-45deg);
}



/* BLOG LIST */
.blog-list-container {
	display: grid;
	margin-top: 30px;
	grid-template-columns: repeat(3,1fr);
	gap:2em;

}

.blog-list-container .wp-post-image {
	aspect-ratio: 470 / 300;
	border-radius: 15px;
	margin-bottom: 15px;
}

.blog-list-container h2 {
	font-size: 1.4em;
	font-weight: 400;
}

.blog-list-container article h2 a {
	color:#0F2435;
	transition:0.6s color;
}

.blog-list-container article:hover h2 a {
	color:#3e8af7;
}


.blog-list-container article {
	position: relative;
}
.blog-list-container article .category a {
	position: absolute;
	top:10px;
	left:10px;
    display: inline-block;
    padding:0.3em 0.6em;
    border-radius:3px;
    margin-right:5px;
    text-transform: uppercase;
    color:#0F2435;
    width: max-content;    
    font-size: 0.7em;
    letter-spacing: 0.02em;
    font-weight: 600;
}

.blog-list-container .date {
	font-size: 0.94em;
	color:#9FA7AE;
}


/* Blog single */

.single-article-container {
	background-color: #fff;
	padding-top:50px;
	min-height:100vh;
	padding-bottom: 100px;
}
.single-article-container h1 {
	font-size: 4em;
}

a.blog-category {
	display: block;
	color:#F31C4E;
	font-size:0.7em;
	text-transform: uppercase;
	margin-bottom:1rem;
}


.blog-single-category {
	color:#F31C4E;
	text-transform: uppercase;
	font-size:0.9em;
	margin-bottom:1em;
	border-radius: 3px;
}

.blog-single-category-separator {
	color:#FFD387;
}

.single-blog-title {
	line-height:1.4em;
	font-size:5em;
}

.single-article-top {
	margin-top:75px;
	display: grid;
	grid-template-columns: 45% 50%;
	grid-gap: 5%;
	max-width:100%;
	margin-bottom:75px;
}
.single-article-top-left {
	display:flex;
	justify-content: space-between;
	flex-direction: column;
}
.single-article-category, .single-article-top-left .knowledge-base-date  {
	background-color: #EBF3FF;
	color:#3e8af7;
	border-radius: 3px;
    padding: 0.5em 1em;
    text-transform: uppercase;
    border-radius: 3px;
    font-family: "halyard-book", sans-serif;
    font-size: 14px;
    font-weight: 500;
    margin:10px 0;
    display: inline-block;
    transition:0.6s all;
}
.single-article-category:hover {
	background-color:#DFEDFE;
}
.single-article-top-left .knowledge-base-date {
	color:#000;
	background-color: #ECEDEF;
	margin-right: 1em;
}

.single-article-top-right img {
	max-width:100%;
}

.single-article-top-left h6 {
	color:#C0B8B4;
	margin-bottom:0;
}

.single-article-top-right img {
	box-shadow: 0px 3px 10px rgba(105, 92, 81, 0.2);
	border-radius: 10px;
}


.single-article-footer {
	background-color: #AFD1FC;
	padding:75px 0;
}

.single-article-footer .inner {
	display: grid;
	grid-template-columns: repeat(2,1fr);
	grid-gap: 2em;
}

#single-article-left .single-article-featured-image {
	margin:4rem 0;
	display: block;
}

#latest-articles-sticky {
	position: sticky;
	top:100px;
}

.article-recent-post {

}

#single-article-left p:first-of-type {
	margin-top:0;
}

#single-article-right {
	padding-left:3em;
/*	width:30%;*/
}

#single-article-right a {
	margin-bottom:3px;
	padding:2em;
	width: 100%;
	display:block;
	color:#0F2234;
	background-color:#EBF3FF;
	border-radius: 3px;
	transition:0.6s all;
}
#single-article-right a:last-of-type {
	border:0;
}

#single-article-right a:hover {
	background-color: #DFEDFE;
}

.single-article-main {
	display: grid;
	grid-template-columns: 55% 40%;
	grid-gap: 5%;
	margin-bottom:75px;
}


/* Mobile nav */

.mobile-nav {
	display: none;
	position: fixed;
	top:0;
	left:0;	
	background-color: #0f2435;
	background-image: url(img/mobile-nav-bg.svg);
	background-repeat: no-repeat;
	background-position: center center;
/*	background-blend-mode: difference;*/
	background-size: contain;
	width: 100%;
	min-height:100vh;
	font-size:1.3em;
	font-weight: 500;
	letter-spacing: 0.015em;
/*	text-transform: uppercase;*/
}

.mobile-nav-inner {
	display: flex;
	align-items: center;
	min-height:100vh;
}

.mobile-nav ul {
	list-style:none;
}

.mobile-nav ul li {
	margin-bottom: 1.3em;
}

.mobile-nav a {
	color:#fff;
}

.mobile-nav-button {
	display: none;
	height:30px;
	width:40px;
	z-index:9999;
	top:50%;
	transform:translateY(-50%);
	position: absolute;
	right:30px;
}


.mobile-nav-button .hamburger-inner,
.mobile-nav-button .hamburger-inner:before,
.mobile-nav-button .hamburger-inner:after  {
	background-color: #408AF7;
}
.hamburger {
	padding:0 !important;
}
.hamburger.is-active .hamburger-inner, 
.hamburger.is-active .hamburger-inner::after, 
.hamburger.is-active .hamburger-inner::before {
	background-color: #fff !important;
}


/*.home .mobile-nav-button .hamburger-inner,
.home .mobile-nav-button .hamburger-inner:before,
.home .mobile-nav-button .hamburger-inner:after,
.home .hamburger.is-active .hamburger-inner, 
.home .hamburger.is-active .hamburger-inner::after, 
.home .hamburger.is-active .hamburger-inner::before {
	background-color: #fff !important;
}*/

/* pagination */

.pagination {
	margin:10px 0px;
	padding:10px 0px;
	display:flex;
	position:relative;
	justify-content: center;
	margin:3em auto;
	text-align:center;
	gap:1px;
}

.page-numbers {
	display:flex;
	justify-content: center;
	align-items: center;
	width:50px;
	height:50px;
	font-size:0.8em;
	color:#fff;
	text-align:center;
	text-decoration:none;
	transition:0.6s all;
	position: relative;
	background-color: #0F2336;
	font-family: n27regular, sans-serif;
}

.page-numbers span {
	z-index:2;
}

.page-numbers.current {
	color:#fff;
	background-color:#3E8AF7;
}

.page-numbers:hover {
	color:#fff;
	text-decoration:none;
	background-color:#AFD1FC;
	color:#0F2336;
} 

.prev, .next {
	background-color: transparent !important;
	color:#0F2336 !important;
	font-size:1.4em;
}


/* Search results */
.search-results main, .search-no-results main, .category main {
	padding-top: 100px;
}

/*------------------------------------*\
   TYPOGRAPHY
\*------------------------------------*/
@font-face {
    font-family: 'n27regular';
    src: url('fonts/n27-regular-webfont.eot');
    src: url('fonts/n27-regular-webfont.eot?#iefix') format('embedded-opentype'),
         url('fonts/n27-regular-webfont.woff2') format('woff2'),
         url('fonts/n27-regular-webfont.woff') format('woff'),
         url('fonts/n27-regular-webfont.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;

}

.has-n-27-regular-font-family {
	font-family: n27regular;
}

/*------------------------------------*\
    RESPONSIVE
\*------------------------------------*/

@media only screen and (max-width:1280px) {
	.inner, .inner-narrow, .inner-narrower, .narrow, .narrower {
		width:90%;
	}
	.inner .inner {
		width: 100%;
	}
	.footer-main {
		display: flex;
		flex-direction: column;
		gap:2em;
		padding-bottom:50px;
	}
	.footer-bottom-inner {
		flex-direction: column-reverse;
	}
	.footer-bottom-inner ul {
		flex-direction: column;
		gap:0;
		margin-bottom:1em;
	}
	.footer-social {
		justify-content: flex-start;
	}
	.below-socials {
		float:unset;
	}
}
@media only screen and (max-width:1024px) {
	.scrolled .logo {
		opacity:1;
	}

	.scrolled .header { 
		background-color: #fff;
	}
	.hide-tablet {
		display: none;
	}
	.has-gap {
		gap:30px;
	}
	.home .wp-block-cover__background, .about-hero {
		background: #BBD7FC !important;
		background: linear-gradient(73deg, rgba(254,254,254,1) 0%, rgba(187,215,252,1) 100%) !important;
	}
	:where(.wp-block-columns.is-layout-flex) {
		gap:0;
	}
	.home h1 {
		font-size:3.4em;
	}
	h1 {
		font-size:3.4em !important;
	}
	.about-title {
		font-size:2.3em !important;
	}
	.single-article-top-left h1 {
		font-size:2.8em !important;
	}
	.homepage-intro p {
		font-size:2em !important;
	}
	.services-hero {
		background-image: none;
	}
	.is-layout-flow > .alignright {
		float: unset;
		margin: 0;
	}
	.mobile-nav-button {
		display: block;
		right:0;
	}
	.blog-list-container {
		grid-template-columns: 100%;
	}

	.single-article-container { 
		padding-bottom: 0;
	}
	.single-article-top, .single-article-main {
		grid-template-columns: 100%;
		gap:2em;
		padding-bottom: 0;
	}
	#single-article-right {
		padding-left: 0;
	}
	.pre-footer {
		padding-top: 50px;
	}
	.footer-main {
		padding-top: 50px;
	}

}

@media only screen and (-webkit-min-device-pixel-ratio:1.5),
	   only screen and (min-resolution:144dpi) {

}

/*------------------------------------*\
    MISC
\*------------------------------------*/

::selection {
	background:#3D8AF7;
	color:#FFF;
	text-shadow:none;
}
::-webkit-selection {
	background:#3D8AF7;
	color:#FFF;
	text-shadow:none;
}
::-moz-selection {
	background:#3D8AF7;
	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;
}
.sticky {

}
.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;
	}
}


/*! normalize.css v2.1.3 | MIT License | git.io/normalize */

/* ==========================================================================
   HTML5 display definitions
   ========================================================================== */

/**
 * Correct `block` display not defined in IE 8/9.
 */

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
nav,
section,
summary {
    display: block;
}

/**
 * Correct `inline-block` display not defined in IE 8/9.
 */

audio,
canvas,
video {
    display: inline-block;
}

/**
 * Prevent modern browsers from displaying `audio` without controls.
 * Remove excess height in iOS 5 devices.
 */

audio:not([controls]) {
    display: none;
    height: 0;
}

/**
 * Address `[hidden]` styling not present in IE 8/9.
 * Hide the `template` element in IE, Safari, and Firefox < 22.
 */

[hidden],
template {
    display: none;
}

/* ==========================================================================
   Base
   ========================================================================== */

/**
 * 1. Set default font family to sans-serif.
 * 2. Prevent iOS text size adjust after orientation change, without disabling
 *    user zoom.
 */

html {
    font-family: sans-serif; /* 1 */
    -ms-text-size-adjust: 100%; /* 2 */
    -webkit-text-size-adjust: 100%; /* 2 */
}

/**
 * Remove default margin.
 */

body {
    margin: 0;
}

/* ==========================================================================
   Links
   ========================================================================== */

/**
 * Remove the gray background color from active links in IE 10.
 */

a {
    background: transparent;
}

/**
 * Address `outline` inconsistency between Chrome and other browsers.
 */

a:focus {
    outline: thin dotted;
}

/**
 * Improve readability when focused and also mouse hovered in all browsers.
 */

a:active,
a:hover {
    outline: 0;
}

/* ==========================================================================
   Typography
   ========================================================================== */

/**
 * Address variable `h1` font-size and margin within `section` and `article`
 * contexts in Firefox 4+, Safari 5, and Chrome.
 */

h1 {
    font-size: 2em;
    margin: 0.67em 0;
}

/**
 * Address styling not present in IE 8/9, Safari 5, and Chrome.
 */

abbr[title] {
    border-bottom: 1px dotted;
}

/**
 * Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome.
 */

b,
strong {
    font-weight: bold;
}

/**
 * Address styling not present in Safari 5 and Chrome.
 */

dfn {
    font-style: italic;
}

/**
 * Address differences between Firefox and other browsers.
 */

hr {
    -moz-box-sizing: content-box;
    box-sizing: content-box;
    height: 0;
}

/**
 * Address styling not present in IE 8/9.
 */

mark {
    background: #ff0;
    color: #000;
}

/**
 * Correct font family set oddly in Safari 5 and Chrome.
 */

code,
kbd,
pre,
samp {
    font-family: monospace, serif;
    font-size: 1em;
}

/**
 * Improve readability of pre-formatted text in all browsers.
 */

pre {
    white-space: pre-wrap;
}

/**
 * Set consistent quote types.
 */

q {
    quotes: "\201C" "\201D" "\2018" "\2019";
}

/**
 * Address inconsistent and variable font size in all browsers.
 */

small {
    font-size: 80%;
}

/**
 * Prevent `sub` and `sup` affecting `line-height` in all browsers.
 */

sub,
sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
}

sup {
    top: -0.5em;
}

sub {
    bottom: -0.25em;
}

/* ==========================================================================
   Embedded content
   ========================================================================== */

/**
 * Remove border when inside `a` element in IE 8/9.
 */

img {
    border: 0;
}

/**
 * Correct overflow displayed oddly in IE 9.
 */

svg:not(:root) {
    overflow: hidden;
}

/* ==========================================================================
   Figures
   ========================================================================== */

/**
 * Address margin not present in IE 8/9 and Safari 5.
 */

figure {
    margin: 0;
}

/* ==========================================================================
   Forms
   ========================================================================== */

/**
 * Define consistent border, margin, and padding.
 */

fieldset {
    border: 1px solid #c0c0c0;
    margin: 0 2px;
    padding: 0.35em 0.625em 0.75em;
}

/**
 * 1. Correct `color` not being inherited in IE 8/9.
 * 2. Remove padding so people aren't caught out if they zero out fieldsets.
 */

legend {
    border: 0; /* 1 */
    padding: 0; /* 2 */
}

/**
 * 1. Correct font family not being inherited in all browsers.
 * 2. Correct font size not being inherited in all browsers.
 * 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome.
 */

button,
input,
select,
textarea {
    font-family: inherit; /* 1 */
    font-size: 100%; /* 2 */
    margin: 0; /* 3 */
}

/**
 * Address Firefox 4+ setting `line-height` on `input` using `!important` in
 * the UA stylesheet.
 */

button,
input {
    line-height: normal;
}

/**
 * Address inconsistent `text-transform` inheritance for `button` and `select`.
 * All other form control elements do not inherit `text-transform` values.
 * Correct `button` style inheritance in Chrome, Safari 5+, and IE 8+.
 * Correct `select` style inheritance in Firefox 4+ and Opera.
 */

button,
select {
    text-transform: none;
}

/**
 * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
 *    and `video` controls.
 * 2. Correct inability to style clickable `input` types in iOS.
 * 3. Improve usability and consistency of cursor style between image-type
 *    `input` and others.
 */

button,
html input[type="button"], /* 1 */
input[type="reset"],
input[type="submit"] {
    -webkit-appearance: button; /* 2 */
    cursor: pointer; /* 3 */
}

/**
 * Re-set default cursor for disabled elements.
 */

button[disabled],
html input[disabled] {
    cursor: default;
}

/**
 * 1. Address box sizing set to `content-box` in IE 8/9/10.
 * 2. Remove excess padding in IE 8/9/10.
 */

input[type="checkbox"],
input[type="radio"] {
    box-sizing: border-box; /* 1 */
    padding: 0; /* 2 */
}

/**
 * 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome.
 * 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome
 *    (include `-moz` to future-proof).
 */

input[type="search"] {
    -webkit-appearance: textfield; /* 1 */
    -moz-box-sizing: content-box;
    -webkit-box-sizing: content-box; /* 2 */
    box-sizing: content-box;
}

/**
 * Remove inner padding and search cancel button in Safari 5 and Chrome
 * on OS X.
 */

input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
    -webkit-appearance: none;
}

/**
 * Remove inner padding and border in Firefox 4+.
 */

button::-moz-focus-inner,
input::-moz-focus-inner {
    border: 0;
    padding: 0;
}

/**
 * 1. Remove default vertical scrollbar in IE 8/9.
 * 2. Improve readability and alignment in all browsers.
 */

textarea {
    overflow: auto; /* 1 */
    vertical-align: top; /* 2 */
}

/* ==========================================================================
   Tables
   ========================================================================== */

/**
 * Remove most spacing between table cells.
 */

table {
    border-collapse: collapse;
    border-spacing: 0;
}

/* ==============================
   GENERAL NAVIGATION STYLES
============================== */
.menu-container {
    display: flex;
    justify-content: space-between;
}
.main-nav {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 5px 3px 5px 5px;
    position: relative;
    z-index: 1000;
    background-color: #fff;
    border-radius:50px;
    height:56px;
    box-shadow: 0px 10px 30px rgba(15, 36, 53, 0.1);
    overflow: hidden;
}

.nav-menu {
    display: flex;
    list-style: none;
    margin: 0;
    padding: 0;
/*    gap:20px;*/
}

.nav-menu > .nav-item {
    position: relative;
    padding: 0 15px;
    position: relative;
    font-size:1.05em;
    display: flex;
    align-items: center;
}
.nav-menu > .nav-item > a {
    font-family: "halyard-text", sans-serif;
    font-weight:500 !important;
    letter-spacing: -0.02em;
}

.nav-menu > .nav-item.menu-item-has-children {
    padding-right:50px;
}


.nav-menu > .nav-item.menu-item-has-children > a::after  {
    content:'';
    display: block;
    position: absolute;
    right:15px;
    top:50%;
    transform: translateY(-50%);
    background-image: url(img/nav-down.svg);
    height:7.517px;
    width:15px;
    background-size: contain;
    background-position: center center;
    background-repeat: no-repeat;
    transition: 0.1s all;
    transform-origin: center;
    aspact-ratio:213 / 425;
}

.nav-menu > .nav-item.menu-item-has-children:hover > a::after  {
    transform: rotate(180deg);
}

.nav-menu > .nav-item > .menu-link {
    color:#0F2435;
    text-decoration: none;
    font-weight: 500;
    transition: color 0.3s ease-in-out;
    padding:5px 10px;
}



/* ==============================
   FIX: OFFSET SUBMENUS USING PADDING
============================== */
.submenu-wrapper {
    position: absolute;
    left: 0;
    width: 100%;
    padding-top: 60px;
    visibility: hidden;
    opacity: 0;
    transition: opacity 0.3s ease-in-out;
    pointer-events: none;
}

/* Inner container for background */
.submenu-content {
    background: #fff;
    padding: 20px;
    border-radius:0 0 4px 4px;
    min-width: 250px;
    box-shadow: 0 4px 6px rgba(0,0,0,0.2);
    border-top:3px solid #0F2435;
    width:auto;
    width:40vw;
    transform:translateX(-33%);
}
.submenu-content:not(:has(.two-column-menu)) {
    padding-top: 40px;
}
.submenu-content:has(.two-column-menu) {
    width:65vw;
}

/* Show submenu only when hovering */
.nav-item:hover > .submenu-wrapper,
.submenu-wrapper:hover {
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
    transition: 0.6s all;
}

.main-nav .current-menu-item a, .nav-item:hover a {
    background-color: #ECEDEF;
    border-radius:50px;
}

/* ==============================
   FIX: BUSINESS SECURITY TWO-COLUMN MENU
============================== */
.two-column-menu {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    

    padding: 20px;
    border-radius: 4px;
    gap: 40px;
}

/* Ensure columns are aligned properly */
.submenu-column {
    width: 100%;
    padding: 10px 20px;
    list-style:none;
}

.submenu-column:nth-of-type(1) {
    width: 30%;
    min-width:375px;
}
.submenu-column:nth-of-type(2) {
    width: 68%;
    border-left:1px solid #ccc;
    padding-left:2em;
}

/* Properly style submenu headings */
.explore-security .submenu-heading {
    color: #0F2435;
}
.submenu-heading {
    font-weight: bold;
    margin-bottom: 1.4em;
    font-size: 1.158em;
    display: block;
    border-bottom: 2px solid rgba(255, 255, 255, 0.2);
    padding-bottom: 8px;
}

ul.sub-menu-inner {
    margin: 0;
    padding: 0;
}

/* ==============================
   SINGLE-COLUMN MENU STYLING
============================== */
.sub-menu:not(.two-column-menu) {
    display: flex;
    flex-direction: column;
/*    width: 300px;*/
}

/* ==============================
   MENU ITEMS STYLING
============================== */
.sub-menu-item {
/*    padding: 12px 15px;*/
    margin: 0;
    padding:0;
    list-style:none;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    color:#0F2435;
    position: relative;
}

.sub-menu-item:not(.explore-item) {
    background-size: 0px;
    background-repeat: no-repeat;
    background-position: top 3em right 3em;
    transition:0.6s all;
    margin-bottom: 1em;
    padding-right:50px;
}
.sub-menu-item:not(.explore-item):hover {
    background-size:25px;
    background-image: url(img/icon-arrow-up-right.svg);
    background-position: top 16px right 13px;
}

.explore-item:after {
    content:'';
    display: block;
    position: absolute;
    top: 5px;
    right: 0;
    height: 17px;
    width: 22px;
    background-image: url(img/explore-arrow.svg);
    background-repeat: no-repeat;
    background-position: center;
    transition:0.6s all;
    transform:rotate(0deg);
    transform-origin: center center;
}

.explore-item:hover:after {
    transform: rotate(-45deg);
}

.sub-menu-item a.menu-link {
    color:#0E405B;

}

.sub-menu-item > a {
    font-weight:500;
}
.sub-menu-item > a > span {
    display: block;
    color:#6F8C9C;
    margin-bottom: 1em;
/*    font-weight: normal;*/
}

.sub-menu-item:last-child {
    border-bottom: none;
}

.sub-menu-item .menu-link {
    color: #ffffff;
    display: block;
    text-decoration: none;
    transition: color 0.3s ease-in-out;
}

.sub-menu-item:hover .menu-link {
}

.search-box {
    display: none;
    position: absolute;
    top:50%;
    left:0;
    transform: translateY(-50%);
}
.search-box input {

    height:60px;
/*    width:400px;*/
}

.header.search-open .main-nav ul {
    opactiy:0;
    visibility: hidden;
    pointer-events: none;
}
.header.search-open:before {
    content:'';
    display: block;
    height:calc(100% + 1px);
    width:100%;
    background-color: rgba(0, 0, 0, 0.6);
}

#search-toggle {
    background: transparent;
    border:0;
    margin:0 20px;
}

body.subnav-open .modal-bg {
    display: block;
}

/* ==============================
   RESPONSIVE DESIGN (MOBILE MENU)
============================== */

@media only screen and (max-width:1400px) {
    #search-toggle {
        display: none;
    }
    .main-nav, .header-contact {
/*        font-size:0.8em;*/
    }
}
@media only screen and (max-width:1280px) {

    .main-nav, .header-contact {
/*        font-size:0.9em;*/
    }
}
@media (max-width: 1024px) {
    .menu-container {
        width: 100%;
    }
    #menu-main-menu {
        display: flex;
        position: relative;
        min-height:100vh;
        width: 100%;
    }
    .submenu-content {
        width: 100%;
        transform:none;
    }
    .menu-wrapper {
        display: none;
        width: 100%;
        position: fixed;
        top:0;
    }
    .main-nav {
        flex-direction: column;
        align-items: flex-start;
        padding: 0;
    }

    .nav-menu {
        flex-direction: column;
        display: none;
        width: 100%;
        position: absolute;
        top: 100%;
        left: 0;
        background: #0d1b2a;
    }

    .nav-menu.active {
        display: block;
    }

    .nav-menu > .nav-item {
        width: 100%;
        text-align: center;
        padding: 12px 0;
    }
    .nav-menu > .nav-item:first-of-type {
        padding-left: 0;
    }

    .submenu-wrapper {
        position: static;
        display: none;
    }

    .nav-item:hover > .submenu-wrapper {
        display: block;
    }

    .two-column-menu {
        flex-direction: column;
        width: 100%;
    }

    .submenu-column {
        width: 100%;
    }
}


/*!
 * Hamburgers
 * @description Tasty CSS-animated hamburgers
 * @author Jonathan Suh @jonsuh
 * @site https://jonsuh.com/hamburgers
 * @link https://github.com/jonsuh/hamburgers
 */.hamburger{padding:15px 15px;display:inline-block;cursor:pointer;transition-property:opacity,filter;transition-duration:.15s;transition-timing-function:linear;font:inherit;color:inherit;text-transform:none;background-color:transparent;border:0;margin:0;overflow:visible}.hamburger.is-active .hamburger-inner,.hamburger.is-active .hamburger-inner::after,.hamburger.is-active .hamburger-inner::before{background-color:#762CD6}.hamburger-box{width:35px;height:24px;display:inline-block;position:relative}.hamburger-inner{display:block;top:50%;margin-top:-2px}.hamburger-inner,.hamburger-inner::after,.hamburger-inner::before{width:35px;height:4px;background-color:#762CD6;border-radius:0;position:absolute;transition-property:transform;transition-duration:.15s;transition-timing-function:ease}.hamburger-inner::after,.hamburger-inner::before{content:"";display:block}.hamburger-inner::before{top:-10px}.hamburger-inner::after{bottom:-10px}.hamburger--collapse .hamburger-inner{top:auto;bottom:0;transition-duration:.13s;transition-delay:.13s;transition-timing-function:cubic-bezier(.55,.055,.675,.19)}.hamburger--collapse .hamburger-inner::after{top:-20px;transition:top .2s .2s cubic-bezier(.33333,.66667,.66667,1),opacity .1s linear}.hamburger--collapse .hamburger-inner::before{transition:top .12s .2s cubic-bezier(.33333,.66667,.66667,1),transform .13s cubic-bezier(.55,.055,.675,.19)}.hamburger--collapse.is-active .hamburger-inner{transform:translate3d(0,-10px,0) rotate(-45deg);transition-delay:.22s;transition-timing-function:cubic-bezier(.215,.61,.355,1)}.hamburger--collapse.is-active .hamburger-inner::after{top:0;opacity:0;transition:top .2s cubic-bezier(.33333,0,.66667,.33333),opacity .1s .22s linear}.hamburger--collapse.is-active .hamburger-inner::before{top:0;transform:rotate(-90deg);transition:top .1s .16s cubic-bezier(.33333,0,.66667,.33333),transform .13s .25s cubic-bezier(.215,.61,.355,1)}.hamburger--collapse-r .hamburger-inner{top:auto;bottom:0;transition-duration:.13s;transition-delay:.13s;transition-timing-function:cubic-bezier(.55,.055,.675,.19)}.hamburger--collapse-r .hamburger-inner::after{top:-20px;transition:top .2s .2s cubic-bezier(.33333,.66667,.66667,1),opacity .1s linear}.hamburger--collapse-r .hamburger-inner::before{transition:top .12s .2s cubic-bezier(.33333,.66667,.66667,1),transform .13s cubic-bezier(.55,.055,.675,.19)}.hamburger--collapse-r.is-active .hamburger-inner{transform:translate3d(0,-10px,0) rotate(45deg);transition-delay:.22s;transition-timing-function:cubic-bezier(.215,.61,.355,1)}.hamburger--collapse-r.is-active .hamburger-inner::after{top:0;opacity:0;transition:top .2s cubic-bezier(.33333,0,.66667,.33333),opacity .1s .22s linear}.hamburger--collapse-r.is-active .hamburger-inner::before{top:0;transform:rotate(90deg);transition:top .1s .16s cubic-bezier(.33333,0,.66667,.33333),transform .13s .25s cubic-bezier(.215,.61,.355,1)}

