/* pt-sans-regular - latin */
@font-face {
	font-family: 'PT Sans';
	font-style: normal;
	font-weight: 400;
	src: local(''),
		url('../assets/fonts/pt-sans-v17-latin/pt-sans-v17-latin-700.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
		url('../assets/fonts/pt-sans-v17-latin/pt-sans-v17-latin-regular.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* pt-sans-italic - latin */
@font-face {
	font-family: 'PT Sans';
	font-style: italic;
	font-weight: 400;
	src: local(''),
		url('../assets/fonts/pt-sans-v17-latin/pt-sans-v17-latin-italic.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
		url('../assets/fonts/pt-sans-v17-latin/pt-sans-v17-latin-italic.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* pt-sans-700 - latin */
@font-face {
	font-family: 'PT Sans';
	font-style: normal;
	font-weight: 700;
	src: local(''),
		url('../assets/fonts/pt-sans-v17-latin/pt-sans-v17-latin-700.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
		url('../assets/fonts/pt-sans-v17-latin/pt-sans-v17-latin-700.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* pt-sans-700italic - latin */
@font-face {
	font-family: 'PT Sans';
	font-style: italic;
	font-weight: 700;
	src: local(''),
		url('../assets/fonts/pt-sans-v17-latin/pt-sans-v17-latin-700italic.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
		url('../assets/fonts/pt-sans-v17-latin/pt-sans-v17-latin-700italic.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}

/* Globals  ________________________________________________________ */


:root {
	--dark-blue: #322c86;
	--light-blue: #0092d3;
	--purple: #6d3f92;
	--orange: #fcbe15;
	--green: #1e560e;
}

.dark-blue, .et_pb_text h2.dark-blue { color: var(--dark-blue); }
.light-blue, .et_pb_text h2.light-blue { color: var(--light-blue); }
.purple, .et_pb_text h2.purple { color: var(--purple); }
.orange { color: var(--orange); }
.green { color: var(--green); }


p { padding: 0; margin: 0 0 1.5rem; }

button, a.button, input[type=button], input[type=submit] {
	background: var(--green); 
	color: white;
	padding: 0.3em 1em;
	font-weight: bold; 
	border: none;
	font-size: 20px;
}

.et_pb_text a, .et_pb_post_content a { text-decoration: underline; }

.et_pb_bg_layout_dark a { color: var(--orange); }

a:hover, button:hover, a.button:hover, input[type=button]:hover, input[type=submit]:hover {
	opacity: 0.8;
	cursor: pointer;
} 

h2, h3, h4, h5, h6 {  padding: 0; margin: 0 0 1em; }
h1 {color: var(--purple); }
h2, .et_pb_text h2 {color: var(--dark-blue);  font-size: 24px; }
h3, .et_pb_text h3 {color: var(--light-blue);  font-size: 20px;  }
h4, .et_pb_text h4 {color: var(--purple);  font-size: 16px;  }


h2.circles { 
	display: inline-block;
	background: url(/wp-content/uploads/2022/02/icg.icon_.32h.png) no-repeat right center; 
	padding: 0 70px 0 0;
	font-size: 32px;
}

h2.circles-24 { background-image: url(/wp-content/uploads/2022/02/icg.icon_.24h.png); font-size: 24px; }
h2.circles-32 { background-image: url(/wp-content/uploads/2022/02/icg.icon_.32h.png); font-size: 32px; }
h2.circles-36 { background-image: url(/wp-content/uploads/2022/02/icg.icon_.36h.png); font-size: 36px; }

.et_pb_blurb h4 { color: #322c86; font-size: 1.4rem;  }

.blobz::after {
	content: "<span class='fa-solid fa-user'></span>";
}

h2 .svg-inline--fa.fa-w-16 { width: 20px; height: 20px; }

.label { display: inline-block; background: black;  color: white;  padding: 0.25em 0.5em; }
.label.discount-label {background: var(--orange); }


.inline-buttons {
	text-align: right;
}

.inline-buttons .et_pb_button_module_wrapper {
	display: inline-block;
	margin-left: 0.5rem;
}

.panel { background: #EEE; padding: 1rem; margin: 0 0 1.5rem; border: solid 3px #d1453c; }
.panel.warning { background: #fff3cd; border-color: #ffeeba;  color: #856404; }


/* Header  ________________________________________________________ */

.top-bar, .main-header { padding-top: 0 !important;  padding-bottom: 0 !important; }

/* Grids (posts, users, adverts)  ________________________________________________________ */

.et_pb_post, .sqe-posts__item, .icg-adverts .adverts-flexbox-item {
	box-shadow: 0 0.2rem 0.4rem 0 rgb(0 0 0 / 20%);
	border-bottom: 0.5rem solid var(--purple);
	transition: all .3s ease;
	border: solid 1px #eee;
}

p.post-meta, .et_pb_bg_layout_light .et_pb_post p.post-meta { color: var(--light-blue);  text-transform: uppercase;  font-size: 14px; font-weight: bold; }

.icg-adverts .adverts-flexbox-item { background: var(--purple);  border: none; }
.icg-adverts .adverts-flexbox-title { color: white; }


/* Search  ________________________________________________________ */


/* Main menu search */
.et_pb_menu__close-search-button, .et_pb_menu__search input, .et_pb_menu__search input::placeholder, .et_pb_menu__search .et_pb_menu__search-form .et_pb_menu__search-input {
	color: white !important;
}
.et_pb_menu .et_pb_menu__search-container {
	left: auto;
	max-width: 50%;
	right: 0;
}
.et_pb_menu .et_pb_menu__search-form, .et_pb_fullwidth_menu .et_pb_menu__search-form {
	/* background-color: rgb(0,0,0); */
	background-color: var(--dark-blue);
	padding: 0.5rem 0.5rem;
	font-size: 16px;
}



/* Directory  ________________________________________________________ */

.consultants-filter {  }
.consultants-filter .facetwp-facet { margin-bottom: 0;  }
.consultants-filter input.facetwp-search { padding: 1rem;  font-size: 1.2em;  color: #222;   }

.sqe-posts.sqe-users { margin-left: 0;  margin-right: 0; }

.author .meta { font-weight: bold; margin-bottom: 1.5rem; }

.author .profile-photo { margin-bottom: 1rem; }
.author .logo { max-height: 100px; margin-bottom: 1rem;  }

.author .contacts ul { list-style: none; padding: 0; margin: 0 0 1.5rem; }
.author .contacts ul li a { text-decoration: none; }

.old-profile { background: #EEE; padding: 1.5rem; margin: 0 0 1.5rem; }
.old-profile .old-block { background: white; padding: 1rem; margin-bottom: 1rem;  }
.old-profile h3 { margin: 0 0 1.5rem; }


/*

.directory .et_pb_team_member { background: #eee;  padding: 1rem; }

.et_pb_gutters3 .directory .et_pb_column_1_4 { width: 23%;  margin-right: 2%; }

.directory img { margin-bottom: 1rem; }
.directory .name { font-weight: bold; margin-bottom: 0.25rem; padding: 0;  }
.directory .jobtitle { font-weight: bold; }
.directory .overview { margin-top: 1rem; font-size: 90%; }



*/


/* Adverts  ________________________________________________________ */

.advert-image-wrapper { margin-bottom: 1.5rem; }

.advert .excerpt { margin-bottom: 1em; }

ul.advert-details { list-style: none; padding: 0; margin: 0 0 1.5rem; }
ul.advert-details li { margin-bottom: 0.5rem; padding-bottom: 0.5rem; border-bottom: dotted 1px #CCC; }
ul.advert-details li a { text-decoration: none; color: #222; }



/* MemberPress  ________________________________________________________ */

.mepr-signup-form { background: #eee;  padding: 1rem;  margin: 0 0 2rem; }
.mp-form-label { font-weight: bold; margin-bottom: 0.5rem; }

a.have-coupon-link { display: none; }

.mepr_mepr_customer_type { margin-top: 1rem; }
.mepr_mepr_customer_type label { font-weight: bold; }


.mepr-signup-form  .mepr-price { font-weight: bold; }

.mepr_bbpress_subscriptions { display: none; }

.mp_wrapper table.mepr-account-table .mepr-account-actions a.mepr-account-purchase { display: none; }

.mepr_vat_customer_type_row { display: none !important; }


/* Square Eye posts grid  ________________________________________________________ */

.sqe-posts {
	display: flex;
	flex-wrap: wrap;
	margin-left: -1rem;
	margin-right: -1rem;
	margin-bottom: 2rem;
}

.sqe-posts__item {
	width: 100%;
}

.et_pb_text .sqe-posts a { text-decoration: none;  color: black; }

/*
.sqe-posts.areas a { text-align: center;  height: 100px;  margin: 1%; width: 23%;  
display: flex;
justify-content: center;
align-content: center;
flex-direction: column;
}
.sqe-posts.areas a:hover { opacity: 0.8; }
.sqe-posts.areas a h3 { color: white; text-transform: uppercase;  }
.sqe-posts.areas a:hover h3 { color: white; }
*/

/*
* MOBILE SEARCH
*/
#shiftnav-toggle-main .shiftnav-main-toggle-content-after {
	display: inline-flex;
	align-items: center;
}

.mobile-search {
	z-index: 21 !important;
}

.mobile-search__trigger {
	background: transparent;
	position: relative;
	top: 1px;
	padding: 0.3rem 0.5rem;
}

.mobile-search__trigger svg {
	height: 1rem;
	width: 1rem;
}

.mobile-search__trigger svg path {
	fill: white;
}

.mobile-search__container {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	background-color: var(--light-blue);
	z-index: 99;
	opacity: 0;
	visibility: hidden;
	transform: translateY(-2rem);
	transition: opacity .4s, visibility .4s, transform .4s;
}

.mobile-search__container.active {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.mobile-search__container form {
	display: flex;
	width: 100%;
	justify-content: center;
}

.mobile-search__input-group {
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: flex-start;
	width: 100%;
	max-width: calc(100% - 3rem);
}

.mobile-search__label {
	font-size: 2.5rem;
	margin-bottom: 1rem;
}

.mobile-search__input {
	width: 100%;
	font-size: 1.5rem;
	line-height: 1.5;
	background-color: transparent !important;
	border-style: solid !important;
	border-width: 0 0 2px 0 !important;
	border-color: white !important;
	color: white !important;
}

.mobile-search ::placeholder {
	color: rgba(255, 255, 255, 0.5);
	opacity: 1;
}

.mobile-search__close {
	background: transparent;
	position: absolute;
	top: 1.5rem;
	right: 1.5rem;
	padding: 0;
}

.mobile-search__close svg {
	width: 3rem;
    height: 3rem;
}

.mobile-search__close svg path {
	fill: white;
}


@media only screen and (min-width: 40.063em) {
	.sqe-posts__item { margin-bottom: 1em; }
	.sqe-posts--col-1 .sqe-posts__item,
	.sqe-posts--col-2 .sqe-posts__item { width: 100%; }
	.sqe-posts--col-3 .sqe-posts__item,
	.sqe-posts--col-4 .sqe-posts__item { width: 48%; margin-right: 2%; }
} /* min-width 641px, medium screens */

@media only screen and (min-width: 64.063em) {
	.sqe-posts__item { margin-bottom: 1em; }
	.sqe-posts--col-1 .sqe-posts__item { width: 100%; }
	.sqe-posts--col-2 .sqe-posts__item { width: 48%; margin-right: 2%; }
	.sqe-posts--col-3 .sqe-posts__item { width: 32%; margin-right: 1%; }
	.sqe-posts--col-4 .sqe-posts__item { width: 24%; margin-right: 1% }
} /* min-width 1025px, large screens */

.sqe-posts__item {
	padding: 1rem;
	background-color: transparent;
	transition: background-color .4s;
}

.user-image {
	width: 33%;
	float: left;
}

.sqe-posts__img img {
}

.user-details {
	float: right;
	width: 60%;
}

.user-details .role { color: black; }
.user-details .email { text-decoration: underline; }

.sqe-posts__title {
	transition: color .4s;
}

.sqe-posts__meta,
.sqe-posts__excerpt {
	color: #333333;
}

.sqe-posts__item:hover {
	opacity: 1;
	background-color: #EEEEEE;
}

.sqe-posts__item:hover .sqe-posts__title {
	color: #077481;
}


/* Knowledge / portfolio filter  ________________________________________________________ */


.et_pb_portfolio_filter a { text-decoration: none; background: #EEE; border-color: white;  }

.et_pb_filterable_portfolio .et_pb_portfolio_filters li a:hover, .et_pb_filterable_portfolio .et_pb_portfolio_filters li a.active { background: #DDD; }

.et_pb_portfolio_items a { text-decoration: none; }
.et_pb_portfolio_items p.post-meta { text-transform: none; }


/* BBPress  ________________________________________________________ */ 

#bbpress-forums .bbp-body, #bbpress-forums .bbp-forum-info, #bbpress-forums .bbp-forum-info .bbp-forum-content, #bbpress-forums p.bbp-topic-meta { font-size: 18px; }

#bbpress-forums #bbp-search-form #bbp_search { font-size: 16px;  padding: 0.25rem 0.5rem; }

a.bbp-forum-title { font-weight: bold; }


/* 404  ________________________________________________________ */

.error404 .et_pb_post { border: none; box-shadow: none; }


/*
* ALGOLIA CONSULTANTS
*/

.consultants a {
	text-decoration: none;
}

.consultants-search__form {
	display: flex;
    position: relative;
	margin-bottom: 1rem;
	text-align: center; 
}

#consultants-search { 
	/* max-width: 800px; */
	margin: 0 auto;
}

.consultants-search__input {
	width: 100%;
    outline: none;
    box-shadow: none;
    padding: 0.5rem 2rem 0.5rem 0.75rem;
    font-size: 1rem;
}

.consultants-search__submit {
	position: absolute;
    top: 0;
    right: 0;
    height: 100%;
    width: 2rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.consultants-search__submitIcon {
	height: 1rem;
    width: 1rem;
}

.consultants-stats {
	margin-bottom: 1.5rem;
}

.consultants-hits {
	display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 2rem;
}

@media screen and (min-width: 768px) {
	.consultants-hits {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media screen and (min-width: 1024px) {
	.consultants-hits {
		grid-template-columns: repeat(3, 1fr);
	}
}

.consultants-hit {
	display: flex;
    background-color: white;
    opacity: 1 !important;
    width: 100%;
	padding: 0.5rem;
	box-shadow: 0 0.2rem 0.4rem 0 rgba(0,0,0,.2);
    border-bottom: 0.5rem solid var(--light-blue);
    
}

.consultants-hit__img {
	width: 5rem;
    min-width: 5rem;
    height: 100%;
}

.consultants-hit__imgHolder {
	width: 100%;
    padding-top: 100%;
    position: relative;
    overflow: hidden;
}

.consultants-hit__imgHolder img {
	position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.consultants-hit__content {
	padding-left: 0.5rem;
}

.consultants-hit__title {
	font-size: 1.2rem;
    line-height: 1.2;
    color: var(--light-blue);
    margin-bottom: 0.25rem;
}

.consultants-hit__meta {
	color: var(--dark-blue);
    font-size: 1rem;
    margin-bottom: 0;
    line-height: 1.2;
}

.consultants-hit__text {
	font-size: 0.9rem;
    color: #222222;
    line-height: 1.2;
    margin-bottom: 0;
    margin-top: 0.5rem;
}

/**
 * POSTS
 */
.posts {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 2rem;
	margin-bottom: 2rem;
}

@media screen and (max-width: 1024px) {
	.posts {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media screen and (max-width: 768px) {
	.posts {
		grid-template-columns: repeat(1, 1fr);
	}
}

.posts-item {
	display: block;
}

.posts-item__inner {
	text-decoration: none;
	display: flex;
	width: 100%;
	flex-direction: column;
	background-color: white;
	opacity: 1 !important;
	color: #666666;
	box-shadow: 0 0.2rem 0.4rem 0 rgba(0, 0, 0, 0.2);
	transition: box-shadow 0.2s ease-in-out;
}

.posts-item__inner:hover {
	color: #666666;
	box-shadow: 0 0.2rem 0.4rem 0 rgba(0, 0, 0, 0.4);
}

.posts-item__img {
	width: 100%;
	position: relative;
	padding-top: 56.25%;
	overflow: hidden;
}

.posts-item__img img {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.posts-item__content {
	padding: 1rem;
}

.posts-item__title {
	color: var(--dark-blue);
	margin-bottom: 1rem;
}

.posts-item__text strong {
	color: black;
}

.posts-item__text p:last-of-type {
	margin-bottom: 0;
}

/* MEDIA QUERIES _____________________ */


/* Small __________________ */

@media only screen { } /* Define mobile styles */

@media only screen and (max-width: 40em) { } /* max-width 640px, mobile-only styles, use when QAing mobile issues */

/* Medium __________________ */

@media only screen and (min-width: 40.063em) { } /* min-width 641px, medium screens */

@media only screen and (min-width: 40.063em) and (max-width: 64em) { } /* min-width 641px and max-width 1024px, use when QAing tablet-only issues */

/* Large __________________ */

@media only screen and (min-width: 64.063em) { } /* min-width 1025px, large screens */

@media only screen and (min-width: 64.063em) and (max-width: 90em) { } /* min-width 1025px and max-width 1440px, use when QAing large screen-only issues */

/* X Large __________________ */

@media only screen and (min-width: 90.063em) { } /* min-width 1441px, xlarge screens */

@media only screen and (min-width: 90.063em) and (max-width: 120em) { } /* min-width 1441px and max-width 1920px, use when QAing xlarge screen-only issues */

/* XX Large __________________ */

@media only screen and (min-width: 120.063em) { } /* min-width 1921px, xxlarge screens */