/*
Theme Name: Figpress Child
Theme URI: http://www.figmints.com/
Description: Custom Wordpress Child Theme Boilerplate for Figmints Clients.
Author: Figmints Delicious Design
Author URI: http://www.figmints.com/
Template: figpress
Version: 3.1
Text Domain: figmints
*/

:root {
  --ws-gap: 1.5em;

  --ws-navy: #15213E;
  --ws-orange: #E33D00;
  --ws-orange-2: #CB2F02;
  --ws-orange-3: #AA2E00;
  --ws-orange-4: #E46934;

  --ws-gradient: linear-gradient(180deg, rgba(228,105,52,1) 0%, rgba(203,47,2,1) 100%);
  --ws-gradient-2: linear-gradient(90deg, rgba(228,105,52,1) 0%, rgba(203,47,2,1) 100%);

  --ws-gap: 1.5em;

}


.sr-only {
  border: 0;
  clip: rect(0,0,0,0);
  height: 1px;
  margin: -1px;
  padding: 0;
  position: absolute;
  overflow: hidden;
  width: 1px;
}



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

header.navigation ul .sub-menu {
  width: 19.375rem;
}

.sticky-cta {
  display: block;
  width: 12rem;
  background: #cb2f02;
  position: fixed;
  top: 60%;
  right: 0;
  padding: .5rem;
  border: 1px solid rgba(0,0,0,0.25);
  border-radius: 3px 0 0  3px;
  text-align: center;
  transition: all .2s ease;
  z-index: 1;
}

.sticky-cta:is(:hover,:focus) {
  width: 12.5rem;
  background: #e46934;
  padding: .5rem 1rem .5rem .5rem;
}

.sticky-cta p {
  color: #FFF;
  margin: 0;
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.25;
  text-transform: uppercase;
}

body .wysiwyg-content-wrap ul li:not(.gfield) {
  color: #474747;
}

header .sub-menu li a {
  color: #DC3B00 !important;
}

header .sub-menu li a:is(:hover,:focus-visible) {
  color: var(--ws-navy) !important;
}

.wrap {
  margin-inline: auto;
  max-width: calc(74em + 2* var(--ws-gap));
  padding-inline: var(--ws-gap);
  width: 100%;
  overflow: hidden;
  padding-top: 3em;
}

h2 {
  color: var(--ws-navy);
}

.fig-btn {
  white-space: normal;
}

.fig-btn.black {
  background: #000;
  color: #FFF;
}

.fig-buttons .fig-btn {
  display: inline-block;
  margin: 0 .5em .5em 0;
}


:is(button, .button) {
  background: #FFF;
  border: 2px solid #979797;
  color: #000;
  cursor: pointer;
  display: inline-block;
  font-size: clamp(1em, 0.955em + 0.23vw, 1.125em);
  font-weight: 900;
  margin: .3125em;
  outline: 0;
  padding: .5em 1em;
  transition: all .3s ease;
}



/* "Content with image block" additional CSS classes: ------------------------------ */
.content-with-image-wrap.no-shadow .image-area img {
  box-shadow: none !important;
}


.content-with-image-wrap.auto-width .image-area img {
  display: block;
  margin: 0 auto;
  width: auto !important;
}



/* Logo images on /services/lab-testing-capabilities/ page ------------------------------ */
.lab-testing-capabilities img.alignright {
  max-width: min(50%, 6em);
}



/* Default template ------------------------------ */
.wysiwyg-content-wrap.main-heading {
  margin: 0 0 1em;
  	border-top: 4px solid var(--ws-orange-2);
  padding-top: 2.875em;  

}

.wysiwyg-content-wrap.main-heading h1 {
  line-height: 1.2;
  margin: 0 0 1rem;
}


/* Hide gray box h1 */
.page-title-hero-wrap {
  content-visibility: hidden;
  display: none;
}

body:not(.home)>header+.wrapper article {
  border-top: 4px solid var(--ws-orange-2);
  padding-top: 1em
}




/* THREE COLUMN CONTENT BLOCK ------------------------------ */

.three-column-wrap {
  display: flex;
  gap: 1.5em;
}

.three-column-wrap {
  flex: 1;
}

.three-column-wrap img {
  width: auto;
}



/*  HOMEPAGE ROTATOR ------------------------------ */
.hero-slider .outer-container {
  max-width: 100%;
}

.hero-slider .inner-con {
  align-items: center;
  display: flex;
  height: 100%;
}

.hero-slider .content-con {
  padding-block: clamp(4rem, 0.636rem + 16.82vw, 13.25rem);
}

.hero-slider .hero-title {
  font-size: clamp(1.25em, 0.705em + 2.73vw, 2.75em);
  line-height: 1.1;
  margin: 0 0 .375em;
}




/* FLEXBOX COLUMNS ------------------------------ */

.ws-flex {
  display: flex;
  flex-wrap: wrap;
  gap: var(--ws-gap);
}

.ws-flex>:is(article,div,li) {
  width: calc( 99.9% / var(--ws-column-count) - ( var(--ws-gap) * ( var(--ws-column-count) - 1 ) / var(--ws-column-count) ) );
}





/* GALLERY TEMPLATE ------------------------------ /
* - /gallery/ page
*/

.quiz_promo_banner {
  overflow: hidden;
}

.page-template-template-gallery .quiz_promo_banner {
  content-visibility: hidden;
  display: none;
}


.gallery {
  border-top: 4px solid var(--ws-orange-2);
  padding-block: 2.875em 4em;
}

.gallery h1 {
  font-size: 2.25em;
  font-weight: 800;
  margin: 0 0 1rem;
}

.gallery .title {
  color: #AA2E00;
  display: block;
  margin: 0 0 .5em;
  position: relative;
  text-transform: uppercase;
}

.gallery strong.title {
  color: var(--ws-navy);
  font-size: clamp(1.25em, 1.182em + 0.34vw, 1.438em);
}

.gallery h2.title {
  color: var(--ws-navy);
  font-size: clamp(1.625em, 1.534em + 0.45vw, 1.875em);
}


.gallery .title::before {
  border-top: 1px solid #929497;
  content: '';
  height: 0;
  inset: 46% 0 0 0;
  opacity: .5;
  position: absolute;
}

.gallery .title>span {
  background: #FFF;
  display: inline-block;
  padding-inline: 0 .5em;
  position: relative;
}

.gallery .button {
  background: var(--ws-gradient);
  color: #333;
  display: table;
  margin: 2em auto 0;
  padding: 0.1875em;
  position: relative;
}

.gallery .button>span {
  background: #FFF;
  display: block;
  font-size: 1.125em;
  font-weight: 800;
  padding: .5625em 1em;
  text-transform: uppercase;
  transition: all .3s ease;
}


/* Jump links: */
.gallery .jump-links {
  margin: 0 0 4em;
}

.gallery .jump-links .category + .category {
  margin: 2em 0 0;
}

.gallery ul.subcategories {
  --ws-column-count: 4;
  row-gap: .75em;
}

.gallery ul.subcategories>li {
  margin: 0;
}

.gallery ul.subcategories>li>a {
  display: block;
  font-size: clamp(1em, 0.955em + 0.23vw, 1.125em);
  font-weight: 700;
  line-height: 1.1;
}

.gallery ul.subcategories>li>a::after {
  background: url('./images/icons/angle-down.svg') no-repeat center / contain;
  content: '';
  margin-left: .25em;
  padding-left: .875em;
}




/* Galleries: */

.gallery .galleries .category + .category {
  margin: clamp(3em, 2.273em + 3.64vw, 5em) 0 0;
}

.gallery .galleries .subcategory + .subcategory {
  margin-top: clamp(3em, 2.636em + 1.82vw, 4em);
}

.gallery h3 {
  font-size: clamp(1.5em, 1.409em + 0.45vw, 1.75em);
}

.gallery .rotator {
  display: flex;
  justify-content: center;
  margin: 2em auto;
  max-width: calc(63.75em + 2 * var(--ws-gap));
  padding-inline: var(--ws-gap);
  width: 100%;
}

.gallery .rotator .slide {
  padding: 0 1em;
  flex: 1 0 auto;
  width: 25%;
}


.gallery .rotator .slide>a {
  display: block;
}

.gallery .rotator img {
  aspect-ratio: 1;
  display: block;
  height: 12.5em;
  margin-inline: auto;
  object-fit: contain;
  transition: all .5s ease;
}





/* FLOATING TAKE OUR QUIZ CALLOUT ------------------------------  /
* - /gallery/ page
*/

.take-our-quiz {
  position: fixed;
  z-index: 10;
}

.take-our-quiz .top {
  background: #D8D8D8;
  padding: 1.875em .75em 1.375em .875em;
  position: relative;
  transition: all .3s ease;
  z-index: 0;
}

.take-our-quiz .top::before {
  background: var(--ws-gradient-2);
  content: '';
  height: .5em;
  inset: 0 0 auto;
  position: absolute;
}

.take-our-quiz .top>span {
  color: #000;
  display: block;
  line-height: 1.11;
  position: relative;
  text-wrap: pretty;
  transition: all .3s ease;
}


.take-our-quiz .bottom {
  background: var(--ws-orange);
  color: #FFF;
  font-weight: 800;
  padding: .7em .5em;
  text-align: center;
  text-transform: uppercase;
}

.take-our-quiz .bottom>span {
  display: block;
}


/* FOOTER */
.footer-middle-con .row {
  justify-content: space-between;
}

.footer-middle-con .widget {
  margin: 0 0 2em;
  width: 24%;
}

footer .locations address {
  color: #FFF;
  font-style: normal;
  margin: 0 0 1.25em;
}

footer .locations address :is(strong, span) {
  display: block;
  margin: 0 0 .25em;
}

footer .locations address span.mb {
  margin-bottom: 1em;
}

/* Social */
footer ul.social {
  display: flex;
  gap: .5em;
}

footer ul.social a {
  aspect-ratio: 1;
  background: var(--ws-orange);
  display: block;
  height: 1.75em;
  position: relative;
  transition: all .3s ease;
}

footer ul.social a:is(:hover,:focus-visible) {
  background: #000;
}

footer ul.social a::before {
  background: #FFF;
  content: '';
  inset: 0;
  mask: no-repeat center / auto 1.25em;
  position: absolute;
}

footer ul.social a.linkedin::before { mask-image: url('./images/icons/linkedin.svg'); }
footer ul.social a.facebook::before { mask-image: url('./images/icons/facebook.svg'); }
footer ul.social a.instagram::before { mask-image: url('./images/icons/instagram.svg'); }
footer ul.social a.youtube::before { mask-image: url('./images/icons/youtube.svg'); }

footer .footer-top-con {
  align-items: center;
}
.footer-certifications {
  display: flex;
  flex-wrap: wrap;
  gap: 1.875rem;
  align-items: center;
  margin-left: auto;
}
.footer-certifications img {
  height: 4.125rem;
  display: block;
}
.footer-certifications .amazon-apass {
  background: #FFF;
  padding: 6px;
}
.footer-certifications .amazon-apass img {
  height: 2rem;
  margin: 0 auto;
}
.footer-con .footer-certifications p {
  margin: 4px 0 0;
  line-height: 1;
  color: #000;
  font-weight: 700;
}




/* CALLOUTS BLOCKS ------------------------------ */

.callouts {
  margin-block: 0 3em;
  --ws-gap: clamp(1.25em, 1.159em + 0.45vw, 1.5em);
}

.callouts h2 {
  margin: 0 0 .25em;
}

.callouts>.outer-container>ul.ws-flex:first-child {
  margin-top: 2em;
}

.callouts ul.ws-flex {
  justify-content: center;
}

.callouts figure {
  display: block;
  margin: 0 0 1.5em;
  width: 100%;
}

.callouts figure img {
  aspect-ratio: 16 / 9;
  height: 100%;
  object-fit: contain;
  width: 100%;
}

.callouts a {
  border: 1px solid var(--ws-orange);
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: var(--ws-gap) var(--ws-gap) calc(var(--ws-gap) * 1.333);
  text-align: center;
  --ws-padding: clamp(1rem, 0.818rem + 0.91vw, 1.5rem);
}

.callouts a>div {
  align-items: start;
  display: flex;
  flex-direction: column;
  flex: 1 0 auto;
}

.callouts strong.title {
  display: block;
  font-size: clamp(1.25em, 1.205em + 0.23vw, 1.375em);
  margin: 0 0 .25em;
  width: 100%;
}

.callouts p {
  margin-block: 0 1.25em;
  text-wrap: pretty;
}

.callouts span.button {
  margin: auto auto 0;
  padding: .5em 1.5em;
}


/* -----~~~~~===== STYLE.CSS =====~~~~~----- */

.breadcrumbs {
    border-top: 4px solid #CB2F02;
    margin: 0 !important;
    text-align: center;
}

body.home .breadcrumbs {display: none;}