/*
Theme Name: Foundation Master Theme
Author: Paragram
Author URI: https://paragram.co/
Description: Parent WordPress theme for use with Foundation Software's Marketing websites. Originally developed by Paragram.
Version: 1.0.0
License: Copyright 2024, Foundation Software
*/

/* Variables */
:root {
	--admin-bar-height: 0;
	--header-height: 114px;
	--mobile-admin-bar-height: 0;
	--mobile-header-height: 60px;
}

body:has(#wpadminbar) {
	--header-height: 146px;
	--mobile-header-height: 106px;

	--admin-bar-height: 32px;
	--mobile-admin-bar-height: 46px;
}

/* CORE CLASSES ------------------------------------------------- */
h1,
h2,
h3,
h4,
h5 {
  color: var(--text);
  font-weight: 700;
  line-height: 1.1em;
}
h1 {
  font-size: 60px;
}
h2 {
  font-size: 50px;
}
h3 {
  font-size: 40px;
}
h4 {
  font-size: 30px;
}
h5 {
  font-size: 20px;
}

/* other elements */
p {
  font-size: 20px;
  line-height: 1.25em;
}
a {
  color: var(--text);
  text-decoration: underline;
}
a:hover {
  text-decoration: none;
}
ul,
ol {
  padding-left: 1em;
  font-size: 20px;
  line-height: 1.25em;
}
ul li,
ol li {
  margin: 0 0 0.75em;
}
img { max-width: 100%; }


/* CUSTOM CLASSES ----------------------------------------------- */
.left {
  text-align: left;
}
.center {
  text-align: center;
}
.right {
  text-align: right;
}
ul.custom-list {
  list-style-type: none;
  padding: 0 0 0 18px;
}
ul.custom-list li {
  padding-left: 30px;
  margin: 0 0 0.75em;
  background: transparent url('img/custom-bullet.png') left top 7px no-repeat;
  background-size: 12px 12px;
  font-size: 18px;
}
ul.custom-list li:last-child {
  margin: 0;
}
.visually-hidden {
  border: 0;
  padding: 0;
  margin: 0;
  position: absolute !important;
  height: 1px;
  width: 1px;
  overflow: hidden;
  clip: rect(1px 1px 1px 1px); /* IE6, IE7 - a 0 height clip, off to the bottom right of the visible 1px box */
  clip: rect(1px, 1px, 1px, 1px); /*maybe deprecated but we need to support legacy browsers */
  clip-path: inset(50%); /*modern browsers, clip-path works inwards from each corner*/
  white-space: nowrap; /* added line to stop words getting smushed together (as they go onto seperate lines and some screen readers do not understand line feeds as a space */
}


/* MIGRATED TABLE CSS ------------------------------------------- */
.uabb-table-inner-wrap,
.uabb-table-inner-wrap * {
  box-sizing: border-box;
}
.uabb-table-inner-wrap {
  border: none;
  border-collapse: collapse;
  width: 100%;
  margin: 0;
}
.uabb-table-inner-wrap .table-header-th {
  padding: 10px;
  font-size: 20px;
  font-weight: 700;
  text-align: center;
}
.uabb-table-inner-wrap .table-header-th .th-style {
  padding-right: 15px;
}
.uabb-table-inner-wrap .uabb-table-features .tbody-row:nth-child(odd) {
  background: #ccc;
}
.uabb-table-inner-wrap .uabb-table-features .table-body-td {
  vertical-align: middle;
  padding: 10px;
  font-size: 20px;
  text-align: left;
}
.uabb-table-inner-wrap .uabb-table-features .table-body-1 .before-icon,
.uabb-table-inner-wrap .uabb-table-features .table-body-2 .before-icon {
  display: inline-block;
  height: 22px;
  width: 22px;
  background: transparent url('img/spacer.gif') center center no-repeat;
  background-size: 100% 100%;
}
.uabb-table-inner-wrap .uabb-table-features .table-body-1 .before-icon {
  background-image: url('img/static-icons/checkbox-green.png');
}
.uabb-table-inner-wrap .uabb-table-features .table-body-2 .before-icon {
  background-image: url('img/static-icons/checkbox-black.png');
}


/* MODAAL LIBRARY MODIFICATIONS --------------------------------- */
.modaal-content-container {
  padding: 20px;
}

.modaal {
	display: none;
}

/* iframe tweaks */
.modaal-content-container h2 {
	margin: 0 auto 1rem;
	text-align: center;
}

.modaal-content-container iframe {
	border: 0;
	width: 100%;
}


/* SITE LOGO ---------------------------------------------------- */
.site-logo {
  display: block;
  position: relative;
  height: 43px;
  width: 224px;
  background: transparent url('img/logo-white.png') 0 0 no-repeat;
  background-size: 100% 100%;
}
.site-logo .logo-link {
  display: block;
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  color: #000;
  text-align: left;
  text-indent: -9999em;
}
.workmax-logo {
  display: block;
  position: relative;
  height: 43px;
  width: 224px;
}
.workmax-logo.header .svg-icon.workmax-logo.monochromatic .path,
#footer .vcard .org .svg-icon.workmax-logo.monochromatic .path {
  fill: var(--white);
}


/* GLOBAL ------------------------------------------------------- */
body {
  background: #efefef url('img/bg/body-texture_expanded.jpg') center top no-repeat repeat;
  font-family: "proxima-nova",sans-serif;
}
#page {
  position: relative;
  width: 100%;
  max-width: 2560px;
  margin: 0 auto;
  box-shadow: 1px 1px 10px rgba(0, 0, 0, 0.2);
	top: var(--admin-bar-height);
}

/* disable page scrolling when menu is open and visible */
@media screen and (max-width: 1200px) {

  html.mobile-menu-open body {
    overflow: hidden;
    height: 100%;
  }

}


/* HEADER ------------------------------------------------------- */
#header,
#header * {
  box-sizing: border-box;
}
#header {
  position: relative;
  z-index: 3;
  width: 100%;
}
#header > .wrap {
  max-width: 2560px;
  width: 100%;
  margin: 0 auto;
}
#header.fixed,
#header.sticky {
  left: 0;
  top: var(--admin-bar-height);
  width: 100%;
}
#header.fixed {
  position: fixed;
}
#header.sticky {
  position: sticky;
}
#header .header-main {
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
  gap: 0 20px;
  justify-content: space-between;
  position: relative;
  height: 70px;
  width: 100%;
  padding: 0 135px;
  background-color: var(--text);
  transition: background-color 200ms ease-in-out;
}
/* .scrolled-header #header .header-main {
  background-color: var(--text);
} */
#header .wrap .col-main {
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
  gap: 0 20px;
  justify-content: flex-start;
}
#header .wrap .col-secondary {
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
  gap: 0 20px;
  justify-content: flex-end;
}

.ppc-header-cta,
.omc-header-cta {
	display: inline-block;
    color: var(--brand-green);
    font-size: 20px;
    font-weight: 700;
    line-height: 1.5em;
    text-decoration: none;
}

.ppc-header-cta > i {
	display: none;
}

#header .header-search-row {
	background-color: var(--text);
	display: none;
}

#header .header-search-row .search-form-wrap {
	padding: 1em 135px;
}

#header .header-search-row .search-form-input {
	border: 0;
	flex: 1 1 100%;
	padding: 1em 1.5em;
}

/* Offsetting Converge banner for admins */
.ancr-group.ancr-pos-top > .ancr {
	top: var(--admin-bar-height);
}

/* CONTENT ------------------------------------------------------ */
#main {
  box-sizing: border-box;
  clear: both;
  position: relative;
  z-index: 1;
}
#main-wrap {
  box-sizing: border-box;
  margin: 0 auto;
}
#content {
  box-sizing: border-box;
}
#content > *:first-child {
  margin-top: 0;
}
#content > *:last-child {
  margin-bottom: 0;
}


/* FOOTER ------------------------------------------------------- */
#footer,
#footer * {
  box-sizing: border-box;
}
#footer {
  clear: both;
  position: relative;
  z-index: 1;
  background-color: var(--text);
  color: var(--white);
}
#footer > .wrap {
  position: relative;
  height: 100%;
  width: 100%;
  padding: 80px 135px 105px;
}
/* PPC/OMC Footer variation */
.page-template-page_omc #footer > .wrap {
	padding: 80px 135px;
}

/* top row */
#footer .top-row {
  display: flex;
  flex-flow: row wrap;
  align-items: flex-end;
  justify-content: space-between;
}

/* vcard */
#footer .vcard {
  text-align: left;
}
#footer .vcard .org {
  height: 58px;
  width: 305px;
  margin: 0 0 15px;

}
#footer .vcard .tel a {
  display: block;
  color: var(--white);
  font-size: 17px;
  line-height: 1.3em;
  font-weight: 700;
  text-decoration: none;
}
#footer .vcard .adr {
  font-size: 17px;
  line-height: 1.3em;
}

/* copyright */
#footer .copyright {
  width: 100%;
  margin: 30px 0 50px;
  padding: 15px 0 0;
  border-top: 1px solid var(--brand-green);
  font-size: 14px;
  line-height: 1.5em;
  text-align: right;
}
#footer .copyright span {
  display: inline-block;
  white-space: nowrap;
}
#footer .copyright.ppc {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin: 30px 0 0;
}

/* bottom row */
#footer .bottom-row {
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-flow: row wrap;
  -webkit-flex-flow: row wrap;
  flex-flow: row wrap;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
}

/* additional software products */
#footer .asp-section .title {
  margin: 0 0 20px;
  color: var(--white);
  font-size: 13px;
  font-weight: 700;
}
#footer .asp-section .logos {
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-flow: row wrap;
  -webkit-flex-flow: row wrap;
  flex-flow: row wrap;
  justify-content: flex-start;
  gap: 15px 35px;
}
#footer .asp-section .logos .logo img {
  display: block;
  height: 55px;
  width: auto;
}

/* legal links */
#legal-navigation > .menu {
  display: flex;
  flex-flow: row nowrap;
  justify-content: flex-end;
  list-style-type: none;
  margin: 0;
  padding: 0;
}
#legal-navigation > .menu > li {
  margin: 0;
}
#legal-navigation > .menu > li > a {
  padding: 0 1em;
  border-left: 1px solid var(--white);
  color: var(--white);
  font-size: 13px;
  font-weight: 700;
  line-height: 1em;
  text-decoration: none;
}
#legal-navigation > .menu > li:first-child > a {
  padding-left: 0;
  border-left: none;
}
#legal-navigation > .menu > li:last-child > a {
  padding-right: 0;
}
#legal-navigation > .menu > li > a:hover {
  text-decoration: underline;
}
#legal-navigation > .menu > li ul {
  display: none;
}



/* BLOG LANDING PAGE -------------------------------------------- */
.blog-list,
.blog-list * {
  box-sizing: border-box;
}
.blog-list article.post {
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-flow: row nowrap;
  -webkit-flex-flow: row nowrap;
  flex-flow: row nowrap;
  padding-bottom: 2em;
  border-bottom: 1px solid #224882;
  margin-bottom: 2em;
}
.blog-list article.post .content {
  width: 100%;
}
.blog-list article.post .thumbnail {
  width: 200px;
}
.blog-list article.post .thumbnail img {
  display: block;
  max-width: 100%;
}
.blog-list article.post .thumbnail + .content {
  width: calc(100% - 200px);
  padding-left: 30px;
}
.blog-list article.post .content h2 {
  margin: 0 0 0.5em;
}
.blog-list article.post .content .blog-taxonomy {
  margin: 0 0 1em;
}
.blog-list article.post .content .blog-taxonomy a {
  display: inline-block;
  padding-right: 0.5em;
  border-right: 1px solid #000;
  margin-right: 0.5em;
  line-height: 1em;
}
.blog-list article.post .content .blog-taxonomy a:last-child {
  padding-right: 0;
  border-right: none;
  margin-right: 0;
}
.blog-list article.post .content .blurb {
  margin: 0 0 1.5em;
}

/* BLOG PAGINATION ---------------------------------------------- */
.blog-list-pagination {
  margin-top: 50px;
}
.blog-list-pagination .navigation h2 {
  display: none;
}
.blog-list-pagination .nav-links {
  text-align: center;
}
.blog-list-pagination .page-numbers {
  display: inline-block;
  padding: 0 0.2em;
  text-decoration: none;
}
.blog-list-pagination .page-numbers.current {
  font-weight: 700;
}

/* SINGLE RESOURCE PAGE ----------------------------------------- */
/* podcast extras */
.podcast-extras,
.podcast-extras * {
  box-sizing: border-box;
}
.podcast-extras > .wrap {
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-flow: row nowrap;
  -webkit-flex-flow: row nowrap;
  flex-flow: row nowrap;
  align-items: center;
  justify-content: flex-start;
  gap: 30px;
  max-width: 1920px;
  margin: 0 auto;
  padding: 120px 300px 60px;
}
.podcast-extras.pe-cols-2 > .wrap {
  justify-content: space-between;
}
.podcast-extras .podcast-embed {
  width: 100%;
}
.podcast-extras .podcast-embed p {
  margin: 0 !important;
}
.podcast-extras.pe-cols-2 .podcast-embed {
  width: calc(100% - 300px);
}
.podcast-extras .podcast-links {
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-flow: row nowrap;
  -webkit-flex-flow: row nowrap;
  flex-flow: row nowrap;
  align-items: center;
  gap: 20px;
}
.podcast-extras .podcast-links strong {
  display: block;
  white-space: nowrap;
}
.podcast-extras .podcast-links ul {
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-flow: row nowrap;
  -webkit-flex-flow: row nowrap;
  flex-flow: row nowrap;
  align-items: center;
  gap: 8px;
  list-style-type: none;
  padding: 0;
  margin: 0;
}
.podcast-extras .podcast-links ul li {
  margin: 0;
}
.podcast-extras .podcast-links ul li a {
  display: block;
  overflow: hidden;
  height: 40px;
  width: 40px;
  background: transparent url('img/spacer.gif') center center no-repeat;
  background-size: 100% 100%;
  text-align: left;
  text-indent: -9999em;
}
.podcast-extras .podcast-links ul li.google a {
  background-image: url('img/static-icons/podcast-google.png');
}
.podcast-extras .podcast-links ul li.spotify a {
  background-image: url('img/static-icons/podcast-spotify.png');
}
.podcast-extras .podcast-links ul li.apple a {
  background-image: url('img/static-icons/podcast-apple.png');
}
.podcast-extras .podcast-links ul li.youtube a {
  background-image: url('img/static-icons/podcast-youtube.png');
}
.podcast-extras .post-date {
	font-weight: 700;
	white-space: nowrap;
}

/* post metadata */
.single .show-post-metadata {
  text-align: center;
}
.single .show-post-metadata, .single .show-post-metadata * {
  box-sizing: border-box;
}
.single .show-post-metadata > .wrap {
  max-width: 1920px;
  margin: 0 auto;
  padding: 50px 300px;
  font-weight: 700;
  text-transform: uppercase;
  text-align: center;
}
.single .show-post-metadata + .wp-block-group > .wp-block-group__inner-container {
	padding: 0 30px 135px;
    max-width: 1160px;
}
.single .show-post-metadata .post-featured-img {
  margin-bottom: 1.4em;
}
.single .show-post-metadata .post-metadata-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.7em;
}
.single .show-post-metadata .post-metadata-wrap element {
  display: block;
  height: 0.9em;
  width: 1px;
  background: var(--brand-grey);
  opacity: 0.5;
}
.single .show-post-metadata .post-author-link {
  display: flex;
  align-items: center;
  gap: 1em;
}
.single .show-post-metadata .post-author-img {
  /* border-radius: 50%; */
  height: 90px;
  width: 90px;
  object-fit: cover;
  object-position: 100% 0%;
}
.single .podcast-extras + .show-post-metadata > .wrap {
  padding-top: 0 !important;
}
.single a.blog-cta-image {
  display: block;
  text-align: center;
}
.blog-post {
	display: flex;
	gap: 2em;
}

.blog-post .left-col {
	position: sticky;
	top: var(--header-height);
	height: fit-content;
}

.blog-post #ez-toc-container {
	width: auto;
	border: none;
	box-shadow: none;
}

.blog-post .ez-toc-title-container {
	border-bottom: 5px solid var(--brand-green);
	margin-bottom: .5em;
	padding-bottom: .5em;
}

.blog-post > .right-col .wp-block-group__inner-container {
	padding: 0;
}

/* RSS FEED BLOCK ----------------------------------------------- */
.rss-feed-block,
.rss-feed-block * {
  box-sizing: border-box;
}
.rss-feed-block .rss-feed-item .rss-feed-item-link .rss-feed-item-date {
  display: block;
}
.rss-feed-block .rss-feed-item .rss-feed-item-link .rss-feed-item-image {
  display: block;
}
.rss-feed-block .rss-feed-item .rss-feed-item-link .rss-feed-item-image img {
  display: block;
  max-width: 100%;
}
.rss-feed-block .rss-feed-item .rss-feed-item-link .rss-feed-item-title {
  display: block;
}
.rss-feed-block .rss-feed-item .rss-feed-item-link .rss-feed-item-description {
  display: block;
}


/* TEAM MEMBER INFO BLOCK --------------------------------------- */
.team-member-info,
.team-member-info * {
  box-sizing: border-box;
}
.team-member-info {
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-flow: row nowrap;
  -webkit-flex-flow: row nowrap;
  flex-flow: row nowrap;
}
.team-member-info .col-image {
  width: 425px;
  background: var(--brand-grey) url('img/spacer.gif') center top no-repeat;
  background-size: cover;
}
.team-member-info .col-image img {
  display: none;
}
.team-member-info .col-info {
  width: 100%;
}
.team-member-info .col-image + .col-info {
  width: calc(100% - 425px);
}
.team-member-info .col-info {
  width: 100%;
  padding: 70px;
}
.team-member-info .col-info > *:first-child {
  margin-top: 0;
}
.team-member-info .col-info > *:last-child {
  margin-bottom: 0;
}
.team-member-info .col-info h1.tm-name {
  margin: 0 0 1em;
  font-size: 50px;
  font-weight: 700;
}
.team-member-info .col-info .tm-position {
  margin: -2.25em 0 0;
  padding: 0 0 1.5em;
  font-size: 22px;
  font-weight: 500;
}
.team-member-info .col-info .tm-info-item {
  font-size: 20px;
  font-weight: 500;
  line-height: 1.5em;
}
.team-member-info .col-info .tm-info-item strong {
  font-weight: 700;
}
.team-member-contact-info {
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-flow: row wrap;
  -webkit-flex-flow: row wrap;
  flex-flow: row wrap;
  gap: 35px;
  margin-top: 35px;
}


/* SEARCH FORM -------------------------------------------------- */
/* generated via get_search_form() */
.search-form,
.search-form * {
  box-sizing: border-box;
}

.search-form-input {
	padding: .922em 1.5em;
    border-radius: 0;
    font-size: 16px;
    border: 1px solid var(--grey);
    line-height: 1em;
	flex: 1 1 100%;
	width: 100%;
}

.search-submit {
	font-size: 16px;
}

/* Search langing page */
.search-form-wrap {
	display: flex;
	justify-content: space-between;
	gap: 1em;
}

#content .search-form-wrap {
	margin-bottom: 2em;
	max-width: 550px;
}


/* SEARCH RESULTS ----------------------------------------------- */
#search-results,
#search-results * { box-sizing: border-box; }
#search-results .search-result {
  margin: 0 0 2em;
}
#search-results .search-result .title {
  margin: 0 0 0.5em;
  font-weight: 700;
}


/* ACCESSIBILITY - SKIP TO MAIN CONTENT ------------------------- */
a.skip-main {
  overflow: hidden;
  position: absolute;
  z-index: -999;
  left: -999px;
  top: auto;
  width: 1px;
  height: 1px;
  background-color: #000;
  color: #fff;
}
a.skip-main:focus,
a.skip-main:active {
  overflow: auto;
  z-index: 999;
  left: auto;
  top: auto;
  width: 30%;
  height: auto;
  padding: 5px;
  border: 4px solid red;
  border-radius: 15px;
  margin: 10px 35%;
  font-size: 1.2em;
  text-align: center;
}


/* WORDPRESS CORE OVERRIDES ------------------------------------- */


/* CUSTOM CSS CLASSES ----------------------------------------- */
.features-grid {
	row-gap: 30px;
}

/* Text-based Features grid on the "Who We Serve" pages */
.features-text-grid {
	gap: 2em 1em;
    align-items: flex-start;
    justify-content: space-evenly;
}

.features-text-grid .wp-block-group {
	flex: 0 0 calc(33% - 1em);
}

/* SVG Icon formatting (mainly for text grid above) */
.features-text-grid svg {
	display: inline-block;
	vertical-align: middle;
}

/* Custom Link at the bottom of the Events page */
.tribe-events .events-footer {
	margin-top: 2em;
}

.tribe-events .events-footer a {
	text-decoration: underline;
}

.pardot-embed-container iframe {
	width: 100%;
	border: 0;
}

.form-wrapper {
	padding: 15px;
	background-color: #ffff;
	box-shadow: 0px 4px 20px #919191;
}

.form-wrapper h2 {
	margin: 15px 0px;
}

/* 2025 Design Updates --------------------------------------------- */
/* half color-block content section updates */
.block-section {
	margin-left: 48px;
	margin-right: 48px;
}
.block-section .wrap {
	background-color: var(--white);
}


/* CUSTOM DEBUGGING --------------------------------------------- */
.debug,
.debug * {
  box-sizing: border-box;
}
.debug {
  padding: 20px;
}
.debug .debug-section + .debug-section {
  margin-top: 1em;
}
.debug .debug-title {
  margin: 0 0 0.25em;
  font-weight: 700;
}