@import url('https://fonts.googleapis.com/css2?family=Rock+Salt&display=swap');

body a:focus,
body a:hover,
body a:link,
body a:visited,
body a:focus span,
body a:hover span,
body a:link span,
body a:visited span,
body .menu-item-link-current > span, 
body .menu-item-link:focus > span, 
body .menu-item-link:hover > span {
	filter: none;	
}
body h2 a:hover{
	text-decoration: none;
}
body .bib-fade-in{
	transition: opacity 100ms;
}
body:not(.bib-loaded) .bib-fade-in{
	opacity: 0;
}
body:not(.bib-dev-mode) #wp-admin-bar-exactmetrics_frontend_button,
body:not(.bib-dev-mode) #wp-admin-bar-wp-mail-smtp-menu,
body:not(.bib-dev-mode) #wp-admin-bar-rank-math{
	display: none;
}
.before-header a{
	text-decoration:none;
}
.bib-align-left.wp-block-separator{
	margin-left: 0;
}
.bib-animate{
	opacity: 0;
}
.bib-animation-delay-100{
	animation-delay: 100ms;
}
.bib-animation-delay-200{
	animation-delay: 200ms;
}
.bib-animation-delay-300{
	animation-delay: 300ms;
}
.bib-animation-delay-400{
	animation-delay: 400ms;
}
.bib-animation-delay-500{
	animation-delay: 500ms;
}
.bib-animation-delay-600{
	animation-delay: 600ms;
}
.bib-animation-delay-700{
	animation-delay: 700ms;
}
.bib-animation-delay-800{
	animation-delay: 800ms;
}
.bib-animation-delay-900{
	animation-delay: 900ms;
}
.bib-animation-delay-1000{
	animation-delay: 1000ms;
}
.bib-animation-delay-1100{
	animation-delay: 1100ms;
}
.bib-animation-delay-1200{
	animation-delay: 1200ms;
}
.bib-bg-contain{
	background-size: contain;
	background-repeat: no-repeat;
}
.bib-bg-contain.wp-block-cover .wp-block-cover__image-background{
	object-fit: contain;
}
.bib-bg-dark-grey{
	background-color:#333;
}
.bib-carousel{
	padding-left:50px;
	padding-right:50px;
	position: relative;
}
.bib-carousel .carousel__dots{
	display: none;
}
.bib-col-right-arrow{
	position: relative;
}
.bib-col-right-arrow:after{
	background-color: var(--color-header);
	clip-path: polygon(0 0,100% 50%, 0 100%);
	content: "";
	display: block;
	left: calc(100% + 20px);
	position: absolute;
	top: 50%;
	opacity: 0.4;
	transform: translateY(-50%);
	height: 125px;
	width: 45px;
}
.bib-links-body-color a{
	color: var(--body-color);
}
.bib-has-iframe-bg{
	position: relative;
	overflow: hidden;
}
.bib-has-iframe-bg > .wp-block-group__inner-container:after{
	background-color:rgba(0,0,0,0.65);
	bottom:0;
	content:"";
	display: block;
	left: 0;
	position: absolute;
	right: 0;
	top: 0;
	z-index: 2;
}
.bib-has-iframe-bg > .wp-block-group__inner-container > *{
	z-index: 3;
}
.bib-has-iframe-bg .wp-block-group__inner-container > iframe {
	background-size:cover;
	position: absolute;
	top: 50%;
	left: 50%;
	min-height: 562.5px;
	min-width: 1000px;
	width: 100vw;
	height: 56.25vw;
	transform: translate(-50%, -50%);
	z-index: 1;
}
.bib-condensed-media-text.wp-block-media-text:not(.has-media-on-the-right) .wp-block-media-text__content{
	padding-right:0;
}
.bib-condensed-media-text.wp-block-media-text.has-media-on-the-right .wp-block-media-text__content{
	padding-left:0;
}
.bib-hero-cats {
	margin-bottom: 1em;
	text-align: center;
}
.bib-hero-cats a{
	display:inline-block;
	margin:0 1em 1em;
}
.bib-hidden{
	display:none !important;
}
.bib-links-no-decoration a{
	text-decoration: none;
}
.bib-links-no-decoration a:hover{
	opacity: 0.85;
	text-decoration: none;
}
.bib-links-white a,
.bib-links-white a:hover{
	color:#fff;
}
.bib-masonry-1 article:nth-of-type(2n-1) .entry-image{
	aspect-ratio:1;
	object-fit: cover;
}
.bib-masonry-2 article:nth-of-type(2n-1) .entry-image{
	aspect-ratio:1.75;
	object-fit: cover;
}
.bib-masonry-3 article:nth-of-type(2n) .entry-image{
	aspect-ratio:1;
	object-fit: cover;
}
.bib-post-grid-circle-image .entry-image-link{
	border-radius: 100%;
	overflow: hidden;
}
.bib-post-grid-masonry{
	padding-left:25px;
	padding-right:25px;
}
.bib-post-grid-text-on-hover .entry-wrap{
	display: flex;
	justify-content: center;
	text-align: center;
	opacity: 0;
	transition: all 200ms;
}
.bib-post-grid-text-on-hover .entry:hover .entry-wrap{
	opacity: 1;
}
.bib-post-grid-text-on-hover .entry:hover .entry-overlay{
	background:none;
	background-color:var(--color-secondary);
	opacity: 0.7;
}
.bib-post-grid-text-on-hover .entry:hover .button{
	font-size: 18px;
	color: #fff;
	font-weight: bold;
	border-top: 1px solid #fff;
	border-radius: 0;
	padding-top: 1em;
}
.bib-post-image-larger .entry.entry-grid{
	max-width: 100%;
}
.bib-post-image-larger .entry-image-link{
	border-radius: 100%;
	overflow: hidden;
	width:25%;
}
.bib-sep-align-left.wp-block-separator{
	margin-left: 0;
}
.bib-gallery.alignfull{
	padding-left:25px;
	padding-right:25px;
}
.bib-grid-aspect-ratio-11433.has-image-background .has-image{
	aspect-ratio:1.1433;
}
.bib-grid-aspect-ratio-1185.has-image-background .has-image{
	aspect-ratio:1.185;
}
.bib-grid-aspect-ratio-1345.has-image-background .has-image{
	aspect-ratio:1.345;
}
.bib-grid-aspect-ratio-16.has-image-background .has-image{
	aspect-ratio:1.6;
}
.bib-grid-aspect-ratio-164.has-image-background .has-image{
	aspect-ratio:1.64;
}
.bib-grid-quote{
	align-items: center;
	height:100%;
}
.bib-grid-quote em{
	font-size:0.8em;
}
.bib-grid-quote .mai-icon,
.bib-grid-quote .wp-block-spacer{
	display: none !important;
}
.bib-text-center{
	text-align: center;
}
.bib-text-xxl{
	font-size:72px;
}
.bib_youtube_bg{
	background-position: center;
	background-size: cover; 
	bottom: 0;
	left: 0; 
	opacity: 0.25;
	position: absolute; 
	right: 0;
	top: 0;
}
.entry-content .searchandfilter h4{
	display:inline-block;
	margin-right:1em;
}
.entry-content .searchandfilter ul{
	display: flex;
	gap: 36px;
	justify-content: center;
	margin: 0;
}
.entry-content .searchandfilter select.sf-input-select{
	padding-left:1em;
	padding-right:1em;
}
.nf-form-fields-required{
	display: none;
}
.nf-field-element .nf-fu-fileinput-button,
.nf-field-element .nf-fu-fileinput-button:hover{
	background-color: #fff !important;
	font-weight: normal;
	padding: 0;
	text-transform: none;
}
.wp-block-gallery.has-nested-images figure.wp-block-image figcaption{
	background: rgba(0,0,0,0.7);
	padding: 10px;
}
.wp-block-gallery.has-nested-images:not(.bib-carousel) figure.wp-block-image:not(#individual-image){
	flex-grow: 0;
	height: 200px;
}
.wp-block-gallery.has-nested-images.columns-default:not(.bib-carousel) figure.wp-block-image:not(#individual-image){
	height: 300px;
}
.wp-block-gallery.has-nested-images.columns-4.bib-carousel figure.wp-block-image:not(#individual-image){
	height: 300px;
	width:25%;
}
.wp-block-gallery.has-nested-images.bib-carousel figure.wp-block-image:not(#individual-image){
	margin-top:auto;
}
@media (max-width:599px){
	.bib-center-on-mobile{
		text-align: center;
	}
	.bib-post-image-larger{
		text-align: center;
	}
	.wp-block-image .alignleft,
	.wp-block-image .alignright{
		margin-left:0;
		margin-right:0;
		width:100%;
	}
	.wp-block-media-text__media{
		margin-bottom: 2em !important;
	}
}
@media (max-width:600px){
	.wp-block-gallery.has-nested-images.columns-default:not(.bib-carousel) figure.wp-block-image:not(#individual-image){
		height: 200px;
	}
}
@media (min-width:1400px){
	.bib-grid-quote{
		font-size:calc(2vw - 16px);
	}
	.bib-grid-quote .mai-icon,
	.bib-grid-quote .wp-block-spacer{
		display: block !important;
	}
}

/* 
-------------------------------------------------------- 
-------------------------------------------------------- 
*/

body:not(.single) .has-image .entry-meta.entry-meta-after-content a{
	color:#fff;
}
.bib-case-studies .entry{
	order: 1 !important;
}
.bib-cursive{
	font-family: 'Rock Salt', cursive;
}
.bib-has-iframe-bg{
	align-items: center;
	display: flex;
}
.bib-has-iframe-bg > .wp-block-group__inner-container::after {
	background-color: #08272B;
	opacity:0.2;
}
.bib-has-iframe-bg h1{
	font-size:84px;
}
.bib-small-entry-images img{
	aspect-ratio: 3;
	height: 85px;
	object-fit: contain;
}
.case-study-template-default .wp-block-cover.alignfull.is-alignfull-first,
.page.page-template-default .wp-block-cover.alignfull.has-parallax,
.page.page-template-default .wp-block-cover.alignfull.is-alignfull-first{
	background-color:#333;
}
.entries-grid.has-boxed.has-image-left-full .entry-wrap.entry-wrap-grid{
	padding-bottom:15px;
	padding-top:15px;
}
.entries.has-image-left-top .entry{
	align-items:start;
}
.entry.entry-archive{
	background-color:var(--color-alt);
	box-shadow: var(--shadow);
}
.entry-grid,
.bib-gallery > .mai-columns-wrap > .mai-column > *{
	opacity:0;
	transition: all 500ms;
}
.entry-single ul > li > ul > li{
	list-style: circle;
}
.fancybox__slide.has-iframe .fancybox__content{
	border:1px solid #fff;
	padding: 0;
}
.hs-form-iframe{
	min-height: 100px;
}
.header-section-mobile.header-right-mobile{
	display:none;
}
.header-section.header-right{
	display:flex;
}
.menu-toggle-icon,
.site-header .screen-reader-text{
	background-color:var(--color-link);
	color:#fff;
}
.nf-field .list-select-wrap select{
	padding:14px;
}
.page.page-template-default .wp-block-cover.alignfull.has-parallax.bib-bg-white{
	background-color:#fff;
}
.sqs-image-shape-container-element{
	padding-bottom:0 !important;
}
#cookie-notice div.cookie-notice-container{
	align-items: center;
	display: flex;
	margin:0 auto;
	max-width:1200px;
	padding-left:0;
	padding-right:0;
	text-align: left;
}
#cookie-notice a.button{
	font-size:16px;
}
#cookie-notice a:not(.button){
	color:#fff;
	text-decoration: underline;
}
#cn-close-notice{
	display:none;
}
#cn-notice-buttons{
	min-width:215px;
}
#genesis-content p > a:not(.button),
#genesis-content li > a:not(.button){
	text-decoration: underline;
}
#genesis-content p > a:hover,
#genesis-content li > a:hover{
	opacity: 0.65;
}
#genesis-sidebar-primary .search-form-submit.button-secondary,
#genesis-sidebar-primary .search-form-submit.button-secondary:hover{
	background: none;
	box-shadow: none;
	position: relative;
	left: -25px;
}
#site-footer .wp-block-search .wp-block-search__inside-wrapper{
	width: 100%;
}
@media (max-width:1500px){
	.bib-col-carousel-6 .carousel__button.is-next,
	.bib-col-carousel-6 .carousel__button.is-prev{
		top: 0;
	}
}
@media (max-width:1023px){
	.bib-has-iframe-bg h1{
		font-size:64px;
	}
	.bib-text-xxl{
		font-size:56px;
	}
	.header-section.header-right{
		max-width: 50%;
	}
	.header-section.header-right .wp-block-social-links{
		display:none;
	}
	.site-header{
		position: static;
	}
	.site-header .site-header-wrap{
		justify-content: space-between;
	}
	.wp-block-gallery.has-nested-images.columns-4.bib-carousel figure.wp-block-image:not(#individual-image){
		width:50%;
	}
	#mega-menu-header-right{
		position: absolute !important;
		right: 0 !important;
		width:300px !important;
		width: calc(100vw - (var(--side-spacing) * 2)) !important
	}
	#mega-menu-header-right .mega-menu-flyout > .mega-sub-menu{
		padding-left:15px !important;
		padding-right:15px !important;
	}
}
@media (min-width: 800px) {
  .has-position-absolute {
	left: 0;
	position: absolute !important;
	right: 0;
	width: 100%;
	z-index: 999;
  }
  .has-position-relative{
	  position: relative !important;
  }
}
@media (max-width:767px){
	.bib-has-iframe-bg h1{
		font-size:48px;
	}
	.bib-text-xxl{
		font-size:42px;
	}
	.wp-block-gallery.has-nested-images.columns-4.bib-carousel figure.wp-block-image:not(#individual-image){
		width:100%;
	}
	#cookie-notice div.cookie-notice-container{
		display:block;
		padding: 15px 25px;
		text-align: center;
	}
	#cookie-notice #cn-notice-text{
		margin-bottom:1em;
	}
}
@media (max-width:599px){
	.entry-content .searchandfilter ul{
		display: block;
		text-align: center;
	}
	.bib-col-carousel-6 .carousel__button.is-next,
	.bib-col-carousel-6 .carousel__button.is-prev{
		top: calc(100% - 25px);
	}
}
@media (max-width:400px){
	.bib-has-iframe-bg h1{
		font-size:36px;
	}
	.bib-text-xxl{
		font-size:32px;
	}
}

@media (max-height:900px), (max-aspect-ratio: 1.7){
	.bib-has-iframe-bg{
		width: 100vw;
		height: 100vh;
	}
	
	.bib-has-iframe-bg .wp-block-group__inner-container > iframe {
		position: absolute;
		top: 50%;
		left: 50%;
		max-width:none;
		width: 110vw;
		height: 110vh;
		transform: translate(-50%, -50%);
		z-index: 1;
	}
}

@media (min-aspect-ratio: 16/9) {
  .bib-has-iframe-bg .wp-block-group__inner-container > iframe {
	/* height = 100 * (9 / 16) = 56.25 */
	height: 61.88vw;
  }
}
	
@media (max-aspect-ratio: 16/9) {
  .bib-has-iframe-bg .wp-block-group__inner-container > iframe {
	/* width = 100 / (9 / 16) = 177.777777 */
	width: 195.56vh;
  }
}