/*
Theme Name: Ron Johnson
Version: 6.1.1
Description: Customizable responsive accessible Wordpress child theme created by CyberOptik
Author: CyberOptik
Author URI: https://www.cyberoptik.net/
Template: optik-theme-6
*/





/******************************************************************************
 * * *  IMPORTS & VARIABLES  * * * * * * * * * * * * * * * * * * * * * * * * *
******************************************************************************/

@import url("../optik-theme-6/style.css");



/* Add font imports here */

/***  MONTSERRAT  ***/

/* Normal */
@font-face {
  font-family: 'Montserrat';
  font-weight: normal;
  src: url('fonts/Montserrat/Montserrat-Regular.ttf');
}

/* Italic */
@font-face {
  font-family: 'Montserrat';
  font-style: italic;
  font-weight: normal;
  src: url('fonts/Montserrat/Montserrat-Italic.ttf');
}

/* Semi Bold */
@font-face {
  font-family: 'Montserrat';
  font-weight: 600;
  src: url('fonts/Montserrat/Montserrat-SemiBold.ttf');
}

/* Bold */
@font-face {
  font-family: 'Montserrat';
  font-weight: bold;
  src: url('fonts/Montserrat/Montserrat-Bold.ttf');
}

/***  Outfit  ***/

/* Normal */
@font-face {
  font-family: 'Outfit';
  font-weight: normal;
  src: url('fonts/Outfit/Outfit-Regular.ttf');
}

/* Semi Bold */
@font-face {
  font-family: 'Outfit';
  font-weight: 600;
  src: url('fonts/Outfit/Outfit-SemiBold.ttf');
}

/* Bold */
@font-face {
  font-family: 'Outfit';
  font-weight: bold;
  src: url('fonts/Outfit/Outfit-Bold.ttf');
}

/* Bold */
@font-face {
  font-family: 'Outfit';
  font-weight: 900;
  src: url('fonts/Outfit/Outfit-Black.ttf');
}

/******************************************************************************
 * * *  STRUCTURAL ELEMENTS  * * * * * * * * * * * * * * * * * * * * * * * * * 
******************************************************************************/



/***  UNIVERSAL STYLES  ***/

html {
  scroll-padding: 150px;
	font-size: 16px;
}

body {
	line-height: 1.6em;
	font-family: var(--wp--custom--font--1);
	color: var(--wp--custom--dark--2);
	font-weight:500;
}

:focus-visible {
	box-shadow: 0 0 0 2px white !important;
	outline: 2px solid var(--wp--custom--secondary--light) !important;
	outline-offset: 2px;
}



/***  BACK TO TOP BUTTON  ***/

.btt-button {
	border-radius: var(--wp--custom--radius--full);
}

.btt-button [class*="fa"] {
	border-radius: var(--wp--custom--radius--full);
	border: 1px solid var(--wp--custom--primary--main);
	background-color: var(--wp--custom--primary--main);
	font-weight: 300;
	color: white;
	box-shadow: var(--wp--custom--shadow--1);
}

.btt-button:hover [class*="fa"] {
	border-color: var(--wp--custom--primary--main);
	background-color: var(--wp--custom--primary--light);
	color: var(--wp--custom--secondary--dark);
	box-shadow: var(--wp--custom--shadow--2);
	transform: scale(1.02) translateY(-2px);
}





/******************************************************************************
 * * *  CONTENT STYLES  * * * * * * * * * * * * * * * * * * * * * * * * * * * *
******************************************************************************/



/***  TEXT & LINKS  ***/

a {
	color: var(--wp--custom--primary--main);
}

a:hover {
	color: var(--wp--custom--primary--dark);
}

a:not([class]):not(.menu a):not(figure a) {
	border-bottom: 1px dotted currentColor;
}


a:not([class]):not(.menu a):not(figure a):hover {
	border-bottom-style: solid;
}



/***  HEADINGS  ***/

h1, h2, h3, h4, h5, h6 {
	font-weight: bold;
	color: var(--wp--custom--secondary--main);
	font-family: var(--wp--custom--font--2);
}

.pre-title, 
.is-style-pre-title {
	text-transform: uppercase;
	font-size: 1.15em;
	color: var(--wp--custom--primary--main);
	font-family: var(--wp--custom--font--2);
	letter-spacing: 0.1em;
	margin: 0 !important;
}

.is-style-pre-title + .wp-block-heading {
	margin-top: 0;
}

h1 {
	font-size: 3.75em;
}

h2 {
	font-size: 2.7em;
}

h3 {
	font-size: 1.8em;
}

h4 {
	font-size: 1.5em;
}

h5 {
	font-size: 1.15em;
}

h6 {
	font-size: 1em;
}


/**Mobile & Tablet**/
@media screen and (min-width: 601px) and (max-width: 1024px) {
  h1 { font-size: 2.2em; }
  h2 { font-size: 2em; }
  h3 { font-size: 1.8em; }
  h4 { font-size: 1.5em; }
  h5 { font-size: 1.125em; }
  h6 { font-size: 1em; }
}

@media screen and (max-width: 600px){
h1 {font-size: 1.75em;}
h2 {font-size: 1.5em; }
h3 {font-size: 1.25em;  }
h4 {font-size: 1.125em;}
h5 {font-size: 1em;}
h6 {font-size: 0.875em;}
}


/***  IMAGES & MEDIA  ***/

figure.is-style-fancy {
	position: relative;
}

figure.is-style-fancy:first-child {
	margin-top: -30px !important;
}

figure.is-style-fancy:last-child {
	margin-bottom: -30px !important;
}

figure.is-style-fancy img {
	padding: 24px;
	border-radius: 50%;
	width: 100%;
	height: auto;
	aspect-ratio: 1 / 1;
    object-fit: cover;
    object-position: center;
}

figure.is-style-fancy:before {
	position: absolute;
    top: 50%;
    left: 50%;
    z-index: 1;
    transform: translateX(-50%) translateY(-50%);
    width: calc(100% - 70px);
    height: calc(100% - 70px);
    border-radius: 50%;
    border: 18px solid var(--wp--custom--primary--light);
    outline: 6px solid var(--wp--custom--primary--main);
    content: '';
    opacity: 0.75;
    box-sizing: border-box;
}

figure.is-style-fancy:after {
	position: absolute;
    top: 50%;
    left: 50%;
    z-index: 1;
    transform: translateX(-50%) translateY(-50%);
    width: 100%;
    height: 100%;
    border-radius: 50%;
    border: 6px solid var(--wp--custom--light--2);
    content: '';
    opacity: 0.75;
    box-sizing: border-box;
}

figure.is-style-shadow img {
    box-shadow: var(--wp--custom--shadow--3);
    border-radius: var(--wp--custom--radius--lg);
}




/***  BORDERS & DIVIDERS  ***/

hr, .divider {
	display: block;
	width: 100%;
	height: 1px;
	border: 0;
	border-top: 1px solid #e2e2e2;
	margin: 2.5em auto;
	padding: 0;
}



/***  BUTTONS  ***/

.button, 
.wp-block-button__link, 
.button-outline, 
.is-style-outline .wp-block-button__link {
	padding: 0.75em 1.5em;
	border-color: var(--wp--custom--primary--main);
	border-radius: var(--wp--custom--radius--sm);
	background-color: var(--wp--custom--primary--main);
	color: white;
	box-shadow: var(--wp--custom--shadow--1);
	text-transform:uppercase;
	font-family:var(--wp--custom--font--2);
	font-weight:600;
	letter-spacing:1px;
	transition-duration: 500ms;
}

.button:hover, 
.wp-block-button__link:hover, 
.button-outline:hover,
.is-style-outline .wp-block-button__link:hover {
	border-color: var(--wp--custom--primary--dark);
	background-color: var(--wp--custom--primary--light);
	color: var(--wp--custom--secondary--dark);
	box-shadow: var(--wp--custom--shadow--2);
	transform: scale(1.02) translateY(-2px);
}

.button [class*="fa"], 
.wp-block-button__link [class*="fa"], 
.button:hover [class*="fa"], 
.wp-block-button__link:hover [class*="fa"] {
	color: inherit !important;
}

/* Outlined Button */

.button-outline, 
.is-style-outline .wp-block-button__link {
	background: none;
	color: var(--wp--custom--primary--main);
}

.button-outline:hover,
.is-style-outline .wp-block-button__link:hover {
	border-color: var(--wp--custom--secondary--main);
	background: none;
	color: var(--wp--custom--secondary--main);
}



/***  ICONS  ***/

.fa {
	font-weight: 300;
}

/* Icon Colors */

.fa, .fas, .far, .fal, .fab {
	color: var(--wp--custom--primary--main);
}

a .fa, a .fas, a .far, a .fal, a .fab {
	color: var(--wp--custom--primary--main);
}

a:hover .fa, a:hover .fas, a:hover .far, a:hover .fal, a:hover .fab {
	color: var(--wp--custom--secondary--main);
}

/* Icon Backgrounds */

.fa-bg {
	background-color: var(--wp--custom--primary--main);
	color: white;
}

a .fa-bg {
	background-color: var(--wp--custom--primary--main);
	color: white;
}

a:hover .fa-bg {
	background-color: var(--wp--custom--secondary--main);
	color: white;
}

/* Icon Borders */

.fa-br {
	border-color: var(--wp--custom--primary--main);
}

a .fa-br {
	border-color: var(--wp--custom--primary--main);
}

a:hover .fa-br {
	border-color: var(--wp--custom--secondary--main);
}



/***  LISTS  ***/

.arrow-list li:before, 
.check-list li:before, 
.check-circle-list li:before, 
.icon-list li:before, 
.contact-list li:before, 
.arrow-list li [class*="fa"], 
.check-list li [class*="fa"], 
.check-circle-list li [class*="fa"], 
.icon-list li [class*="fa"], 
.contact-list li [class*="fa"] {
	color: var(--wp--custom--primary--main);
}



/***  FORMS  ***/

/* Inputs */

input[type="text"], input[type="email"], input[type="number"], 
input[type="password"], input[type="search"], input[type="tel"], 
input[type="url"], input[type="date"], input[type="datetime-local"], 
input[type="month"], input[type="time"], input[type="week"], 
textarea, select, .filter-reset {
	border-radius: var(--wp--custom--radius--xs);
}

input[type="text"]:focus, input[type="email"]:focus, input[type="number"]:focus, 
input[type="password"]:focus, input[type="search"]:focus, input[type="tel"]:focus, 
input[type="url"]:focus, input[type="date"]:focus, input[type="datetime-local"]:focus, 
input[type="month"]:focus, input[type="time"]:focus, input[type="week"]:focus, 
textarea:focus, select:focus {
	border-color: var(--wp--custom--primary--main);
}

/* Buttons */

input[type="submit"], 
input[type="reset"], 
input[type="button"], 
form button {
	border-color: var(--wp--custom--primary--main);
	background-color: var(--wp--custom--primary--main);
	border-radius: var(--wp--custom--radius--xs);
	color: white;
}

input[type="Submit"]:hover, 
input[type="reset"]:hover, 
input[type="button"]:hover, 
form button:hover {
	border-color: var(--wp--custom--primary--light);
	background-color: var(--wp--custom--primary--light);
	color: white;
}

input[type="Submit"]:active, 
input[type="reset"]:active, 
input[type="button"]:active, 
form button:active {
	border-color:  var(--wp--custom--primary--dark);
	background-color:  var(--wp--custom--primary--dark);
	color: white;
}





/******************************************************************************
 * * *  HEADER STYLES  * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
******************************************************************************/



/***  SCROLL BAR  ***/

.scroll-bar {
	background-color: white;
	border-bottom: 1px solid var(--wp--custom--light--1);
}

.scroll-bar-container {
	max-width: none;
}

.scroll-logo {
	max-height: 50px;
}



/***  TOP BAR  ***/

.top-bar {
	background-color: var(--wp--custom--light--2);
}



/***  HEADER  ***/

.header {
	border-bottom: 1px solid var(--wp--custom--light--1);
}

.header-container {
	max-width: none;
}

.header-masthead {
	padding-top: 20px;
	padding-bottom: 20px;
}

.header-logo {
	max-height: 70px;
}

.header-logo svg { width: 100%; }

/* Menu Button */

.header .menu-button [class*="fa"], 
.header .menu-button:hover [class*="fa"] {
	color: var(--wp--custom--dark--1);
}

.header .menu-button.active [class*="fa"] {
	background-color: var(--wp--custom--primary--main);
	color: white;
}



/***  NAVBAR  ***/

.navbar {
}



/***  NAV MENUS  ***/

.nav-menu > li > a, 
.nav-menu > li > span, 
.nav-menu > li > button {
	color: var(--wp--custom--dark--3);
	font-family:var(--wp--custom--font--2);
	text-transform:uppercase;
	font-weight:600;
	letter-spacing:1px;
}

@media screen and (min-width:1025px) and (max-width: 1080px) {
	.nav-menu > li > a, 
	.nav-menu > li > span, 
	.nav-menu > li > button {
		font-size: 0.8em;
		padding-left:3px;
		padding-right:3px;
	}
	
	.nav-menu > li {
		padding:0 5px;
	}
}

@media screen and (min-width:1081px) and (max-width: 1185px) {
	.nav-menu > li > a, 
	.nav-menu > li > span, 
	.nav-menu > li > button {
		font-size: 0.83em;
		padding-left:5px;
		padding-right:5px;
	}
	
	.nav-menu > li {
		padding:0 5px;
	}
}

.single-post .nav-menu > li.posts-link > a, 
.category .nav-menu > li.posts-link > a, 
.single-service .nav-menu > li.services-link > a, 
.single-career .nav-menu > li.careers-link > a, 
.single-resource .nav-menu > li.resources-link > a, 
.nav-menu > li.current-menu-ancestor > a, 
.nav-menu > li.current-menu-ancestor > span, 
.nav-menu > li.current-menu-ancestor > button, 
.nav-menu > li.current-menu-item > a, 
.nav-menu > li.current-menu-item > span, 
.nav-menu > li.current-menu-item > button, 
.nav-menu > li:hover > a, 
.nav-menu > li:hover > span, 
.nav-menu > li:hover > button {
	color: var(--wp--custom--primary--main);
}

/* Nav Button */

.nav-menu > li.nav-button {
	background-color: transparent !important;
}

.nav-menu > li.nav-button > a {
	margin-left: 10px;
	margin-right: 10px;
	border: 1px solid var(--wp--custom--primary--main);
	background-color: var(--wp--custom--primary--main);
	border-radius: var(--wp--custom--radius--sm);
	color: white;
}

.nav-menu > li.nav-button > a:hover {
	border-color: var(--wp--custom--primary--main);
	background-color: var(--wp--custom--primary--light);
	color: var(--wp--custom--secondary--dark);
}

/* Dropdowns */

.nav-menu li ul li:first-child {
	padding-top: 8px;
}
.nav-menu li ul li:last-child {
	padding-bottom: 8px;
}

.nav-menu li ul > li > a, 
.nav-menu li ul > li > span, 
.nav-menu li ul > li > button {
	color: var(--wp--custom--dark--3);
}

.single-careers .nav-menu li ul li.careers-link > a, 
.nav-menu li ul li.current-menu-item > a, 
.nav-menu li ul li.current-menu-item > span, 
.nav-menu li ul li.current-menu-item > button, 
.nav-menu li ul li:hover > a, 
.nav-menu li ul li:hover > span, 
.nav-menu li ul li:hover > button {
	color: var(--wp--custom--primary--main);
}

/* Nested Dropdowns */

.nav-menu li ul li ul {
	top: -8px;
}



/***  HIDDEN NAV  ***/

.hidden-nav-overlay .hidden-nav, 
.hidden-nav-overlay .hidden-nav-inner {
	background-color: var(--wp--custom--secondary--dark);
}

.hidden-nav.active .hidden-nav-inner {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: var(--wp--custom--spacer--lg);
	width: 100%;
	height: 100%;
	
}

.hidden-menu li a {
	font-family:var(--wp--custom--font--2);
	text-transform:uppercase;
	font-weight:600;
	letter-spacing:1px;
	color: white;
}

.hidden-menu li.current-menu-item > a {
	color: var(--wp--custom--primary--light);
}

.hidden-nav-overlay .hidden-nav.active .menu-close-button [class*="fa-"] {
	color: white;
}





/******************************************************************************
 * * *  BODY STYLES  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
******************************************************************************/



/***  BANNER  ***/

.banner, 
.is-style-banner {
	background-color: var(--wp--custom--dark--1)!important;
	text-align: center;
	color: white;
	position: relative;
	z-index: 1;
	-webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="100" height="1000" viewBox="0 0 100 1000" preserveAspectRatio="none"><path d="M 0,990 Q 50,1010 100,990 L 100,0 L 0,0 Z" fill="black"/></svg>');
	-webkit-mask-size: 200% auto;
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-position: 40% bottom;
	mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="100" height="1000" viewBox="0 0 100 1000" preserveAspectRatio="none"><path d="M 0,990 Q 50,1010 100,990 L 100,0 L 0,0 Z" fill="black"/></svg>');
	mask-size: 200% auto;
	mask-repeat: no-repeat;
	mask-position: 40% bottom;
}

.banner h1.headline,
.banner .wp-block-heading, 
.is-style-banner h1.headline,
.is-style-banner .wp-block-heading {
	color: white;
}

.banner-inner, 
.is-style-banner {
	padding-top: var(--wp--custom--spacer--xl);
	padding-bottom: var(--wp--custom--spacer--xl);
	min-height: 350px;
}

.banner a:not(.button, .wp-block-button__link), 
.is-style-banner a:not(.button, .wp-block-button__link) {
	color: var(--wp--custom--primary--light);
}

.banner a:not(.button, .wp-block-button__link):hover, 
.is-style-banner a:not(.button, .wp-block-button__link):hover {
	color: white;
}

/***  ENTRY NAVBAR  ***/

.entry-menu > li > a {
	color: var(--wp--custom--dark--3);
}

.entry-menu > li.current-menu-item > a, 
.entry-menu > li:hover > a {
	color: var(--wp--custom--primary--main);
}



/***  MAIN  ***/

.main {
	padding-top:  var(--wp--custom--spacer--xxl);
	padding-bottom:  var(--wp--custom--spacer--xxl);
}



/***  ARCHIVE  ***/

/* Entry Cols */

.entry-cols .entry-link {
	border-radius: var(--wp--custom--radius--sm);
	border:1px solid var(--wp--custom--light--1);
	background-color:var(--wp--custom--light--3);
	overflow: hidden;
	color: var(--wp--custom--dark--2);
}

.entry-cols .entry-link:hover {
	transform: translateY(-3px);
	border:1px solid var(--wp--custom--dark--3);
}

.entry-cols .entry-icon-wrap:first-child {
	padding: 30px 30px 0;
}

.entry-cols .entry-icon svg {
	width: 60px;
	fill: var(--wp--custom--primary--main);
}

.entry-cols .entry-text-wrap {
	padding: 30px;
}

.includes-link-text .entry:not(.col-full) .entry-text-wrap {
	padding-bottom: 80px;
}

.entry-cols .entry:not(.col-full) .entry-link-text-wrap {
	left: 30px;
	bottom: 30px;
}

.entry-cols .entry-link .entry-link-text {
	color: var(--wp--custom--primary--main);
}

.entry-cols .entry-link:hover .entry-link-text {
	color: var(--wp--custom--primary--dark);
}

/* Archive Pagination */

.archive-pagination a {
	border-radius: var(--wp--custom--radius--xl);
	border-color: var(--wp--custom--light--1);
	color: var(--wp--custom--primary--main);
}

.archive-pagination a:hover {
	border-color: var(--wp--custom--primary--light);
	color: var(--wp--custom--primary--light);
}

.archive-pagination a [class*="fa"], 
.archive-pagination a:hover [class*="fa"] {
	color: inherit !important;
	transition: all 0ms ease-in-out;
}



/***  SINGLE  ***/

.single-post .main-inner .entry:first-child:last-child {
	max-width: none;
}

.entry-author-avatar img {
	border-radius: 50%;
}

.single .entry-meta {
	display: flex;
	flex-direction: row;
	justify-content: center;
	row-gap: var(--wp--custom--spacer--xs);
	column-gap: var(--wp--custom--spacer--sm);
	margin-top: 1em;
}

@media screen and (max-width: 900px) {
	.single .entry-meta {flex-direction: column;}
}




/******************************************************************************
 * * *  FOOTER STYLES  * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
******************************************************************************/



/***  CTA BAR  ***/

.cta-bar, 
.is-style-cta {
	position: relative;
	z-index: 1;
	padding: 0;
	color: inherit;
	-webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="100" height="1000" viewBox="0 0 100 1000" preserveAspectRatio="none"><path d="M 0,10 Q 50,-10 100,10 L 100,1000 L 0,1000 Z" fill="black"/></svg>');
	-webkit-mask-size: 200% auto;
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-position: center top;
	mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="100" height="1000" viewBox="0 0 100 1000" preserveAspectRatio="none"><path d="M 0,10 Q 50,-10 100,10 L 100,1000 L 0,1000 Z" fill="black"/></svg>');
	mask-size: 200% auto;
	mask-repeat: no-repeat;
	mask-position: 60% top;
}

.cta-bar > .container, 
.is-style-cta {
  max-width: none;
  padding: 0;
}



/***  FOOTER  ***/

.footer {
	padding-top: var(--wp--custom--spacer--lg);
	padding-bottom: var(--wp--custom--spacer--lg);
	background-color: var(--wp--custom--dark--1);
	font-size: 0.9em;
	overflow: hidden;
}

.footer a {
	color: var(--wp--custom--primary--light);
}

.footer a:hover {
	color: white;
}

.footer .menu a {
	color: white;
}

.footer .menu a:hover {
	color: var(--wp--custom--primary--light);
}



/***  6.3 BOTTOM BAR  ***/

.bottom-bar {
	border-top:1px solid var(--wp--custom--dark--2);
	background-color: var(--wp--custom--dark--1);
	font-size: 0.9em;
	color: var(--wp--custom--light--2);
}

.bottom-bar a {
	color: var(--wp--custom--primary--light);
}

.bottom-bar a:hover {
	color: white;
}

/* Menus */

.bottom-bar .menu a {
	color: white;
}

.bottom-bar .menu a:hover {
	color: var(--wp--custom--primary--light);
}





/******************************************************************************
 * * *  7 CUSTOM STYLES  * * * * * * * * * * * * * * * * * * * * * * * * * * * 
******************************************************************************/

/* Add custom theme styles here */

@media screen and (max-width: 900px) {
  .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column { flex-basis: 100% !important; }
}

/* Position */
.position-relative { position: relative; }

/* Adjust Image Size */
@media screen and (max-width: 900px) {
  .wp-block-image { 
    max-width: 75%;
    margin-left: auto;
    margin-right: auto;
   }
}

@media screen and (min-width: 601px) and (max-width: 900px) {
  .wp-block-image.reduced-width { max-width: 50%; }
}

/* Size Contraints */

@media screen and (max-width: 900px) {
  .tablet-w-600 { 
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
  }

  .tablet-w-600-center {
    text-align: center;
  }

  .tablet-w-600-center .wp-block-outermost-icon-block { justify-content: center; }
}

/* LG 1024 */
@media screen and (max-width: 1024px) {
  .stack-section-lg { flex-direction: column; }

  .stack-section-lg.reverse-section { flex-direction: column-reverse; }
}

@media screen and (min-width: 901px) and (max-width: 1024px) {
  .stack-section-lg .wp-block-image {
    max-width: 65%;
    margin-left: auto;
    margin-right: auto;
  }
}

/* Smaller Button Text Size */
@media screen and (max-width: 600px) {
  .button-small.wp-block-button, 
  .button-small .wp-block-button { font-size: 0.9em; }
}



/***  ICON CARDS  ***/

.cards {
	text-align: center;
}

.cards .wp-block-column {
	display: flex;
	flex-direction: column;
  	position: relative;
	background-color: rgba(0, 0, 0, 0.9);
	padding: var(--wp--custom--spacer--md) var(--wp--custom--spacer--sm);
	transition: all 350ms ease-in-out;
	align-items: stretch;
	color: white;
	transition: 500ms all ease-in-out;
}

.cards .wp-block-column:hover {
	background-color: rgba(0, 0, 0, 0.75);
	color: white;
	transform: scale(1.02) translateY(-2px);
	box-shadow: var(--wp--custom--shadow--3);
}

.cards .wp-block-outermost-icon-block {
	justify-content: center;
}

.cards .wp-block-column .wp-block-heading, 
.cards .wp-block-column .wp-block-heading a {
	color: var(--wp--custom--secondary--light);
	border-bottom: none;
	transition: all 350ms ease-in-out;
}

.cards .wp-block-column:hover .wp-block-heading, 
.cards .wp-block-column:hover .wp-block-heading a, 
.cards .wp-block-column:hover .wp-block-heading a:hover {
	color: white;
}

.cards .wp-block-column .heading-abs {
  display: block!important;       
  width: 100%!important;          
  text-align: center!important;   
  margin-bottom: 1.25rem;
  padding: 0;      
}

.cards .wp-block-buttons {
	margin-top: auto;
}

@media (max-width: 768px) {
  .cards .wp-block-button {
    position: static;
    transform: none;
    margin-top: 20px;
  }
}

/*
.icon-cards .wp-block-column .heading-abs::before,
.icon-cards .wp-block-column .heading-abs::after{
  width: calc(50% - 4rem);
}
*/

.font-2 {
	font-family: var(--wp--custom--font--2);
}

/* Photo frame */

.photo-frame {
  position: relative;
  display: inline-block;
}

.photo-frame::before {
  content: "";
  position: absolute;
  top: -30px;
  left: -30px;
  width: 100%;
  height: 100%;
  background-color: var(--wp--custom--secondary--main);
  z-index: 0;
}

.photo-frame img {
  display: block;
  position: relative;
  z-index: 1;
  max-width: 100%;
}

/** outside border **/

.border-out {
  aspect-ratio: 1;
  border-radius: 50%;
  border: 10px solid #e5e5e5;
  overflow: hidden;    
}


/***  BOX COLS  ***

.box-cards {
	text-align: center;
	cursor:pointer;

}

.box-cards .wp-block-buttons { margin-top: auto; }

.box-cards .wp-block-column {
	display: flex;
  flex-direction: column;
	position: relative;
	background-color:var(--wp--custom--light--1);
	padding: var(--wp--custom--spacer--sm) var(--wp--custom--spacer--sm);
	transition: all 350ms ease-in-out;
}

.box-cards .wp-block-column:hover {
	background-color: var(--wp--custom--light--2);
}

.box-cards .wp-block-column .wp-block-heading, 
.box-cards .wp-block-column .wp-block-heading a {
	color: var(--wp--custom--primary--main);
	border-bottom: none;
	transition: all 350ms ease-in-out;
}

.box-cards .wp-block-column:hover .wp-block-heading, 
.box-cards .wp-block-column:hover .wp-block-heading a, 
.box-cards .wp-block-column:hover .wp-block-heading a:hover {
	color: white;
}

.box-cards .wp-block-outermost-icon-block {
	justify-content: center;
}

/** CTA Customization **/
/* Connect on LinkedIn label */
.wp-block-column .linkedin-connect {
    position: relative;
    display: inline-block;
    margin: 2.25rem auto 1.25rem;
    padding: 0 1.25rem;
    font-size: 0.95rem;
    letter-spacing: 0.02em;
    color: rgba(255, 255, 255, 0.75);
}

/* Abstract divider lines *
.wp-block-column .linkedin-connect::before,
.wp-block-column .linkedin-connect::after {
    content: "";
    position: absolute;
    top: 50%;
    width: 90px;
    height: 1px;
    background: linear-gradient(
        to right,
        rgba(255,255,255,0),
        rgba(255,255,255,0.35),
        rgba(255,255,255,0)
    );
    transform: translateY(-50%);
}

.wp-block-column .linkedin-connect::before {
    right: 100%;
    margin-right: 1rem;
}

.wp-block-column .linkedin-connect::after {
    left: 100%;
    margin-left: 1rem;
}
/*



/** Heading Modification line abstract**/

.heading-abs {
    position: relative;
    display: inline-block;
    font-size: 3rem;
    font-weight: 700;
    color: #3b82f6; 
    padding: 0 3.5rem;
    margin-bottom: 1.25rem;
}

/*
.heading-abs::before,
.heading-abs::after {
    content: "";
    position: absolute;
    top: 50%;
    width: 48px;
    height: 2px;
    transform: translateY(-50%);
    border-radius: 2px;
}


.heading-abs::before {
    left: 0;
    background: linear-gradient(
        90deg,
        rgba(59,130,246,0),
        rgba(59,130,246,0.5),
        rgba(59,130,246,1)
    );
}
.heading-abs::after {
    right: 0;
    background: linear-gradient(
        90deg,
        rgba(59,130,246,1),
        rgba(59,130,246,0.5),
        rgba(59,130,246,0)
    );
}
*/

.section-heading {
    position: relative;
    text-align: center; /* or left */
    padding-bottom: 1.25rem;
    margin-bottom: 2rem;
}

/* Abstract line */
.section-heading::after {
    content: "";
    display: block;
    width: clamp(80px, 12vw, 160px);
    height: 2px;
    margin: 1rem auto 0; /* centers under heading */
    border-radius: 3px;
	background: var(--wp--custom--primary--main);
    /*
    background: linear-gradient(
        90deg,
        rgba(59,130,246,0),
        rgba(59,130,246,0.45),
        rgba(59,130,246,1),
        rgba(59,130,246,0.45),
        rgba(59,130,246,0)
    );
	*/
}



/***  INTRO HEADING  ***/

.wp-block-heading.is-style-intro,
.entry-category-title.is-style-intro {
    position: relative;
	  margin-bottom: 0.7em;
}

.wp-block-heading.is-style-intro {
  margin-top: 0;
}

.wp-block-heading.is-style-intro + p {
	margin-top: -0.75em;
}

p.is-style-intro {
	font-size: var(--wp--preset--font-size--medium);
}

/* Abstract line */

.wp-block-heading.is-style-intro::after,
.entry-category-title.is-style-intro::after {
    content: "";
    display: block;
    width: clamp(40px, 6vw, 80px);
    height: 2px;
	margin-top: 20px;
    border-radius: 3px;
	background: var(--wp--custom--primary--main);
}

.entry-category-title.is-style-intro::after { margin-top: 8px; }

.wp-block-heading.has-text-align-center.is-style-intro::after,
.entry-category-title.has-text-align-center.is-style-intro::after {
	margin-left: auto;
	margin-right: auto;
}



/***  OUTLINED HEADING  ***/

.wp-block-heading.is-style-outlined {
	color: rgba(0,0,0,0) !important;
    -webkit-text-stroke: 3px var(--wp--custom--primary--main);
    text-stroke: 3px var(--wp--custom--primary--main);
}



/* PRESENTATION BG CARDS */
 
.presentation-bg-card{
  border-radius: 18px;
  overflow: hidden;
  box-shadow: var(--wp--custom--shadow--3);
  transition: box-shadow .35s ease;
}
.presentation-bg-card:hover {
  box-shadow: var(--wp--custom--shadow--4);
}

.presentation-bg-link {
  position: relative;
  isolation: isolate;                 
  display: flex;
  flex-direction: column;
  padding: 20px;
  min-height: 360px;    
  height: 100%;   
  background-size: cover;
  background-position: center;
  color: white;
  border-radius: 2px;
  overflow: hidden;
  text-decoration: none;
  transition: transform .4s ease, border-color .4s ease;
  box-sizing: border-box;
}

@media screen and (max-width: 600px) {
  .presentation-bg-link { min-height: auto; }
}

.presentation-bg-card:hover .presentation-bg-link,
.presentation-bg-link:hover{
  transform: translateY(-6px);
  border-color: rgba(0,0,0,.14);
}


.presentation-bg-link::before,
.presentation-bg-link::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;                         
  pointer-events:none;
}


.presentation-bg-link::before{
  background: linear-gradient(
    to top,
    rgba(0,0,0,.70),
    rgba(0,0,0,.20)
  );
}

.presentation-bg-link::after{
  background: linear-gradient(
    to top,
    rgba(0, 120, 60, 0.92),
    rgba(22, 194, 107, 0.75)
  );
  opacity: 0;
  transition: opacity .35s ease;
}

.presentation-bg-card:hover .presentation-bg-link::after,
.presentation-bg-link:hover::after{
  opacity: 1;
}

.presentation-content{
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  height: 100%;
  width: 100%;
}

.presentation-content,
.presentation-content *{
  color: white !important;
}


.presentation-date-bg {
  font-size: 14px;
  opacity: .85;
  margin-bottom: 8px;
  display: block;
  color: white;
}


.presentation-title-bg {
  margin: 0 0 12px 0 !important;
  color: white !important;
}
.presentation-title-bg a {
  color: white !important;
  text-decoration: none;
}


.presentation-excerpt-bg {
  color: white;
}

.presentation-content-bg {
  height: inherit;
  display: flex;
  flex-direction: column;
}

.presentation-bottom { margin-top: auto; }

.presentation-btn {
  display: inline-block;
  background: var(--wp--custom--primary--main);
  color: white!important;
  padding: 12px 26px;
  border-radius: 8px;
  font-weight: 600;
  text-decoration: none;
  transition: transform .25s ease;
}

.presentation-bg-card:hover .presentation-btn,
.presentation-bg-link:hover .presentation-btn{
  transform: translateY(-1px);
}

.presentation-bg-link:hover a.presentation-excerpt-bg {
	color:white!important;
}

/* Reverse Section */
@media screen and (max-width: 900px){
	.reverse-section {
    flex-direction: column-reverse;
	}
}
/* Media Queries*/
/* iPad Mini & iPad Air (Contact Page) */
@media screen and (max-width: 820px) {
	.contact-two {
		flex-wrap: nowrap!important;
	}
}
/* Mobile */
@media screen and (max-width: 600px){
	.contact-two {
		flex-wrap: wrap!important;
	}
}



.contact-row .wp-block-outermost-icon-block:hover {
  transform: translateY(-1px);
}

/** BORDER BOX **/

.border-box {
	border-top: 2px solid var(--wp--custom--light--2);
}

/** Filter wisdom **/
.presentation-library {
    display: grid;
    grid-template-columns: 260px 1fr;
    gap: 3rem;
    max-width: 1200px;
    margin: 0 auto;
}

.presentation-sidebar {
    border-right: 1px solid #e5e7eb;
    padding-right: 1.5rem;
}

.presentation-filters {
    list-style: none;
    padding: 0;
}

.presentation-filters li {
    margin-bottom: 0.75rem;
}

.presentation-filters label {
    cursor: pointer;
    font-size: 1rem;
	font-family:var(--wp--custom--font--2);
}

.presentation-filters .count {
    color: #6b7280;
    font-size: 0.85rem;
}

.presentation-list {
    display: flex;
    flex-direction: column;
    gap: 2.5rem;
}

.presentation-item {
    display: grid;
    grid-template-columns: 1fr 180px;
    gap: 2rem;
    padding-bottom: 2.5rem;
    border-bottom: 1px solid var(--wp--custom--light--1);
	transform: translateY(0);
    transition: transform 250ms ease, box-shadow 250ms ease;
}

.presentation-meta {
    font-size: 0.75rem;
    color: var(--wp--custom--dark--3);
}

.presentation-title {
    font-size: 1.5rem;
    margin: 0.5rem 0;
}

.presentation-title a {
    text-decoration: none;
    color: var(--wp--custom--secondary--main);
}

.presentation-excerpt {
    color: var(--wp--custom--dark--2);
}

.presentation-thumb img {
    width: 100%;
    border-radius: 4px;
}

.presentation-btn {
    display: inline-block;
    margin-top: 0.75rem;
	font-size:0.95em;
    text-decoration: none;
	text-transform:uppercase;
	background-color: var(--wp--custom--primary--main);
	font-family:var(--wp--custom--font--2);
}

.presentation-btn::after {
    content: "  →";
    margin-left: 3px;
}

.presentation-item:hover .presentation-btn {
   background-color: var(--wp--custom--primary--dark);
}

.presentation-library .presentation-item:hover {
  transform: translateY(-5px);
  cursor:pointer;
}


@media (max-width: 900px) {
    .presentation-library {
        grid-template-columns: 1fr;
    }

    .presentation-item {
        grid-template-columns: 1fr;
    }
}

/* Archive Filter */
.archive-navbar .filter-form > * { margin-bottom: 6px; }



/***  POST COLS  ***/

.post-cols .post-link {
	border-radius: var(--wp--custom--radius--lg);
	box-shadow: var(--wp--custom--shadow--3);
}

.post-cols .post-link:hover {
	box-shadow: var(--wp--custom--shadow--4);
	transform: scale(1.01) translateY(-3px);
}

.post-cols .entry-thumb-wrap:after {
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 100%;
	background-color: var(--wp--custom--secondary--dark);
	opacity: 0.3;
	content: '';
	transition: 300ms all ease-in-out;
}

.post-cols .post-link:hover .entry-thumb-wrap:after {
	opacity: 0.6;
}

.post-cols .post:not(.col-full) .post-link-text-wrap {
	position: static;
}

.includes-link-text .post:not(.col-full) .post-text-wrap {
	padding: var(--wp--custom--spacer--sm);
}

.post-cols .post-text-wrap {
	position: absolute;
	bottom: 0;
	left: 0;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	gap: 10px;
	padding: var(--wp--custom--spacer--sm);
	color: white;
}

.post-cols .post-link .post-title {
	margin-bottom: 0;
	color: inherit !important;
}

.post-cols .post-link .post-excerpt-wrap {
	max-height: 0;
	overflow: hidden;
	transition: 600ms all ease-in-out;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;  
  overflow: hidden;
}

.post-cols .post-link:hover .post-excerpt-wrap {
	max-height: 250px;
}

.post-cols .post-link .post-link-text {
	color: white;
}


.post-cols .post-link:hover .post-link-text {
	color: var(--wp--custom--primary--light);
}

.post-cols .post-link .post-link-text .fa, 
.post-cols .post-link:hover .post-link-text .fa, 
.post-cols .post-link .post-link-text .fa:hover {
	color: currentColor;
}

@media screen and (max-width: 1400px) {
  .post-cols .post-link .post-excerpt-wrap { display: none; }
}

@media screen and (max-width: 1200px) {
	.post-cols .post-link-text-wrap {display: none;}
}




/***  POST SINGLE  ***/

.single-post .post-meta {
	text-transform: uppercase;
}

.single-post .post-meta .post-cat-link:not(:last-child):after {
	display: inline-block;
	margin-left: 10px;
	margin-right: 10px;
	content: '·';
}

.single-post.category-presentations .main-inner .entry:first-child:last-child { max-width: 1200px; }

/***  BOX SHADOW  ***/

.is-style-shadow-box {
	padding: var(--wp--custom--spacer--sm);
	background-color: white;
	border-radius: var(--wp--custom--radius--md);
	box-shadow: var(--wp--custom--shadow--3);
	color: var(--wp--custom--dark--2);
}

.is-style-shadow-box .wp-block-heading {
	color: var(--wp--custom--secondary--main);
}



/***  HEADING BAR  ***/

.is-style-top-left-curve, 
.is-style-top-right-curve, 
.is-style-bottom-left-curve, 
.is-style-bottom-right-curve {
	position: relative;
	z-index: 1;	
	-webkit-mask-size: 200% auto;
	-webkit-mask-repeat: no-repeat;
	mask-size: 200% auto;
	mask-repeat: no-repeat;
}

.is-style-top-left-curve, 
.is-style-top-right-curve {
	-webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="100" height="1000" viewBox="0 0 100 1000" preserveAspectRatio="none"><path d="M 0,10 Q 50,-10 100,10 L 100,1000 L 0,1000 Z" fill="black"/></svg>');
	mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="100" height="1000" viewBox="0 0 100 1000" preserveAspectRatio="none"><path d="M 0,10 Q 50,-10 100,10 L 100,1000 L 0,1000 Z" fill="black"/></svg>');
}

.is-style-top-left-curve {
	-webkit-mask-position: 60% top;
	mask-position: 60% top;
}

.is-style-top-right-curve {
	-webkit-mask-position: 40% top;
	mask-position: 40% top;
}

.is-style-bottom-left-curve, 
.is-style-bottom-right-curve {
	-webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="100" height="1000" viewBox="0 0 100 1000" preserveAspectRatio="none"><path d="M 0,990 Q 50,1010 100,990 L 100,0 L 0,0 Z" fill="black"/></svg>');
	mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="100" height="1000" viewBox="0 0 100 1000" preserveAspectRatio="none"><path d="M 0,990 Q 50,1010 100,990 L 100,0 L 0,0 Z" fill="black"/></svg>');
}

.is-style-bottom-left-curve {
	-webkit-mask-position: 60% bottom;
	mask-position: 60% bottom;
}

.is-style-bottom-right-curve {
	-webkit-mask-position: 40% bottom;
	mask-position: 40% bottom;
}



/***  REVERSE COLUMNS  ***/

@media screen and (min-width: 601px) {
	.reverse-on-desktop-tablet {
		flex-direction: row-reverse;
	}
}



/* Short Archive */
.short-archive .post-category-title {
  font-size: 2.4em;
}

.short-archive .short-archive-more {
  margin-top: 24px;
  text-align: center;
}

.short-archive .post-title { font-size: 1.8em; }

@media screen and (min-width: 901px) and (max-width: 1600px) {
	.short-archive .post-title { font-size: 1.6em; }
}

@media screen and (min-width: 901px) and (max-width: 1200px) {
	.short-archive .post-title { font-size: 1.4em; }
}

@media screen and (min-width: 901px) and (max-width: 1000px) {
	.short-archive .post-title { font-size: 1.1em; }
}

@media screen  and (min-width: 601px) and (max-width: 900px) {
	.short-archive .post-title { font-size: 1.6em; }
}

@media screen  and (min-width: 601px) and (max-width: 720px) {
	.short-archive .post-title { font-size: 1.2em; }
}

/* Video Border */
.video-border iframe { 
  padding: 6px;
  background: linear-gradient(90deg, rgba(12, 167, 74, 1) 0%, rgba(31, 66, 137, 1) 100%);
  border-radius: var(--wp--custom--radius--lg);
}

/* Posts Full */

.posts-full {
	display: flex;
	flex-direction: column;
	gap: var(--wp--custom--spacer--xxl);	
}
.posts-full .post-title { text-align: center; }



/***  TIMELINE  ***/

.timeline {
	border-left: 2px solid var(--wp--custom--primary--light);
	padding-left: var(--wp--custom--spacer--md);
}

.timeline .wp-block-group {
	position: relative;
}

.timeline .wp-block-group:before {
	position: absolute;
	top: 7px;
	left: calc( ( var(--wp--custom--spacer--md) + 8px ) * -1 );
	width: 10px;
	height: 10px;
	border-radius: var(--wp--custom--radius--full);
	border: 2px solid white;
	outline: 2px solid var(--wp--custom--primary--light);
	background-color: var(--wp--custom--primary--main);
	content: '';
}

.timeline .wp-block-heading {
	margin-bottom: 0.5em;
}

.timeline .wp-block-heading + p {
	margin-top: 0.5em;
}




