/*
 Theme Name:   Ad Astra Child
 Theme URI:    http://ad-astra.bold-themes.com
 Description:  Ad Astra child theme
 Author:       BoldThemes
 Author URI:   http://bold-themes.com
 Template:     ad-astra
 Version:      1.0.0
 Tags:         one-column, right-sidebar, custom-menu, featured-images, sticky-post, theme-options, threaded-comments, translation-ready
 Text Domain:  ad-astra-child
*/


/* ===================================================================
 *
 * FFC - Misc updates - 2025-02
 *
 * ================================================================ */
 
/* ---- Something in the theme is causing horizontal scroll on mobile -------------------------*/
 
 .bt-page-wrap,
 .bt-content-wrap,
 .bt-content-holder,
 .bt-content {
   max-width: 100%!important;
   overflow: hidden!important;
 }
 
 /* ---- Some pages rely on max-width that's being overridden above ^^^ ----------------*/
 
 .blog.btWithSidebar .bt-content-holder {
   max-width: 1080px!important;
 }
 
 
 /* ---- Split industries nav into two cols -------------------------*/

@media (min-width: 1200px) { 
 
 #menu-item-5027 > ul {
    display: grid;
    grid-auto-flow: column;
    grid-template-columns: 45% 55%;
    grid-template-rows: repeat(8, auto);
    width: 400px;
 }
 
 #menu-item-3275 > ul > li {
   white-space: nowrap;
  }
}

@media ( max-width: 1199px ) {
  
  #menu-main-menu .sub-menu {
    background-color: #eee;
  }
  
  .btMenuVertical .mainHeader nav li.current-menu-item > a:after {
    height: 1px;
    background-color: #777;
  }
}

@media ( max-width: 767px ) {
  
  .bt_bb_row_holder {
    /* margin-left: 0;
    margin-right: 0; */
  }
}

.bt-site-footer .bt_bb_section .bt_bb_cell {

}

/* ----------------------------------------------------------------------------
  AD ASTRA UPDATE - Some features seem to be broken after update - 2025-01
  These styles mitigate the issues caused by this
------------------------------------------------------- */

/* ---- Hide connecting lines on "Process Steps." They're no longer positioned correctly. -------------------------*/
.bt_bb_line_color_dark_transparent.bt_bb_process .bt_bb_process_step:after, .bt_bb_line_color_dark_transparent.bt_bb_process .bt_bb_process_step:before {
  display: none!important;
}


/* ----------------------------------------------------
  Global
------------------------------------------------------- */

.btBoxedPageBoxed1600 .bt-page-wrap {
  max-width: 100%;
}

/* ----------------------------------------------------
  Sticky footer
------------------------------------------------------- */

.bt-page-wrap {
  display: flex;
  flex-direction: column;
}

.bt-page-wrap .bt-content-wrap {
  flex: 1;
}

/* ----------------------------------------------------
  Typo
------------------------------------------------------- */

body {
  line-height: 1.7;
}

p, dl, address, cite {
  margin-bottom: 1.3em;
}

.bt-light-skin, .btLightSkin {
  color: #3b3b3b;
}

.btArticleContent li {
  margin-bottom: 1em;
}

@media ( max-width: 600px ) {
  
  .mobile-left {
    text-align: left!important;
  }
}

@media ( max-width: 993px ) {
  
  h1 {
    font-size: 2.5rem;
  }
}

@media ( max-width: 769px ) {
  
  h1 {
    font-size: 1.875rem;
  }
}

/* ----------------------------------------------------
  Nav
------------------------------------------------------- */

.main-header-inner .bt-logo-area .port {
  padding: 0 20px;
}

.btMenuVertical:not(.btStickyHeaderActive) .bt-vertical-header-top {
  box-shadow: 0 5px 30px 0 rgba(0,0,0,.1);
}

.btMenuVertical .bt-logo-area .logo img {
  
}

@media ( max-width: 767px ) {
  
  .btMenuVertical .bt-logo-area .logo img {
    max-width: 230px;
    width: auto!important;
    height: auto!important;
  }
}

.btMenuHorizontal .menuPort > nav > ul > li > a {
  padding: 0 8px;
}

.btMenuHorizontal .menuPort nav > ul > li > a:after {
  /* bottom: -webkit-calc(50px * .15);
  bottom: -moz-calc(50px * .15);
  bottom: calc(50px * 0.15); */
  bottom: -webkit-calc(50px * .09);
  bottom: -moz-calc(50px * .09);
  bottom: calc(50px * 0.09);
}

.btMenuHorizontal .topBarInMenu {
  margin-left: 25px;
}

@media ( min-width: 1200px ) and (max-width:1400px ) {
  
  :not(.btMenuBelowLogo).btMenuHorizontal .menuPort nav {
    padding-left: 0;  
  }
  
  .btMenuHorizontal .menuPort > nav > ul > li > a {
    padding: 0 6px;
    font-size: 0.9em;
  }

}

/* ----------------------------------------------------
  Sticky header
------------------------------------------------------- */

.btStickyHeaderActive.btBoxedPageBoxed1600 .mainHeader {
  max-width: none;
}

.btMenuHorizontal.btStickyHeaderOpen .mainHeader {
  border-radius: 0!important;
  padding: 10px;
}

/* ----------------------------------------------------
  Overlays
------------------------------------------------------- */

@media (max-width: 992px) {
  
  .overlay-dark-mobile .bt_bb_overlay {
    background: rgba(0,0,0,.75)!important;
  }
}

/* ----------------------------------------------------
  Bold Builder card overrides
------------------------------------------------------- */

.bt_bb_card.bt_bb_shape_hard_rounded {
  box-shadow: 0 0 20px rgb(237 211 183 / 45%);
}

.bt_bb_card_content_inner .bt_bb_image {
  text-align: center;
}

.bt_bb_card_content_inner .bt_bb_image > span {
  display: inline-block!important;
  width: auto;
}

.bt_bb_card .bt_bb_card_content .bt_bb_card_content_inner:after {
  height: 2.3em;
}

.bt_bb_card.card-plain .bt_bb_card_content .bt_bb_card_content_inner > .bt_bb_image {
  margin: 0;
}



/* ----------------------------------------------------
  Flex columns
------------------------------------------------------- */

.equal-height-cols .bt_bb_column_content,
.equal-height-cols .bt_bb_column_content_inner {
  display: flex;
  flex-direction: column;
}

.equal-height-cols .bt_bb_column_content,
.equal-height-cols .bt_bb_column_content_inner,
.equal-height-cols .bt_bb_card {
  flex: 1 1 auto;
}

#testimonial-section .equal-height-cols .bt_bb_column_content_inner {
  background: white;
  padding: 30px 30px 0;
  border-radius: 8px;
  margin-bottom: 40px;
}

@media (max-width: 992px) {
  
  .equal-height-cols .bt_bb_column_content {
    margin-bottom: 30px;
  }
  
  .equal-height-cols .bt_bb_card .bt_bb_image span,
  .equal-height-cols .bt_bb_card .bt_bb_image img {
    width: 100%;
  }
  
  #testimonial-section .equal-height-cols .bt_bb_column_content_inner {
    margin-bottom: 0;
    padding-bottom: 30px;
  }
}

@media ( max-width: 767px ) {
  
  .equal-height-cols .bt_bb_card .bt_bb_image span,
  .equal-height-cols .bt_bb_card .bt_bb_image img {
    width: 100%; 
  }
}

/* ----------------------------------------------------
  Homepage
------------------------------------------------------- */

/* ---- Manually resize columns -------------------------*/

@media ( min-width: 769px ) {
  
  #home-hero #home-hero-col-1 {
    padding-top: 5vw;
    padding-bottom: 5vw;
  }
}

@media ( min-width: 999px ) {

  #home-hero #home-hero-col-1 {
    flex-basis: 48%;
    max-width: 48%;
    padding-bottom: 0;
  }
  
  #home-hero #home-hero-col-2 {
    flex-basis: 52%;
    max-width: 52%;
  }
}

@media ( min-width: 1201px ) {

  #home-hero #home-hero-col-1 {
    padding-top: 75px;
  }
}

@media ( max-width: 999px ) {
  
  #home-hero #home-hero-col-2 {
    justify-content: flex-start;
  }
}



/* ---- END Manually resize columns -------------------------*/

#home-hero .bt_bb_headline_superheadline {
  display: none!important;
}

#home-hero .bt_bb_headline h1 {
  /* font-size: 3rem; */
  font-size: clamp(40px, 3.4vw, 48px);
  line-height: 1.05;
}

.hero-copy p {
  font-size: 1.2rem;
  line-height: 1.6;
}

#home-hero-btn-1,
#home-hero-btn-2 {
  margin-bottom: 15px!important;
}

@media ( max-width: 1199px ) {
  
  #home-hero .bt_bb_headline h1 {
    font-size: clamp(30px, 3.4vw, 36px)!important;
    line-height: 1.05;
  }
  
  .hero-copy p {
    font-size: 1.1rem;
  }
}

@media ( max-width: 767px ) {
  
  .hero-copy p {
    font-size: 1.1rem;
  }
  
  #home-hero-btn-1,
  #home-hero-btn-2 {
    width: 280px;
  }
}

@media ( max-width: 600px ) {
  
  .hero-copy p {
    font-size: 1.1rem;
  }
}

/* ----------------------------------------------------
  Home hero animation elements
------------------------------------------------------- */

#home-hero {
  
}

#home-hero-animation-wrapper {
  position: relative; 
}

#home-hero-title,
#home-hero-copy,
#home-hero-buttons {
  opacity: 0;
}

#home-hero.loaded #home-hero-title {
  animation: fade-in .6s .3s forwards ease;
}

#home-hero.loaded #home-hero-copy {
  animation: fade-in .6s .7s forwards ease;
}

#home-hero.loaded #home-hero-buttons {
  animation: fade-in .6s 1.1s forwards ease;
}

#home-hero-image {
  transform: translateX(-50%);
  left: 47%;
  position: relative;
  max-width: 112%;
  opacity: 0;
}

#home-hero.loaded #home-hero-image {
  animation: fade-in-right .5s forwards ease;
}

.home-hero-icon-wrapper {
  position: absolute;
  z-index: 1;
  opacity: 0;
}

.home-hero-icon {
  width: 100%;
  height: auto;
}

#home-hero.loaded #home-hero-icon-mail-wrapper {
  max-width: 18%;
  top: 25%;
  left: 21%;
}

#home-hero.loaded #home-hero-icon-heart-wrapper {
  max-width: 16%;
  top: 54%;
  left: 60%;
}

#home-hero.loaded #home-hero-icon-browser-wrapper {
  max-width: 19%;
  top: 15%;
  left: 80%;
}

#home-hero.loaded #home-hero-icon-mail-wrapper {
  animation: slide-in-blurred-br .8s 1.1s cubic-bezier(0.230, 1.000, 0.320, 1.000) forwards,
             float 3s 1.9s forwards linear infinite;
}

#home-hero.loaded #home-hero-icon-heart-wrapper {
  animation: slide-in-blurred-tl .8s 1.6s cubic-bezier(0.785, 0.135, 0.150, 0.860) forwards,
             float 3s 2.4s forwards linear infinite;
}

#home-hero.loaded #home-hero-icon-browser-wrapper {
  animation: slide-in-blurred-bl .8s 2.1s cubic-bezier(0.230, 1.000, 0.320, 1.000) forwards,
             float 3s 2.9s forwards linear infinite;
}

#home-hero-icon-mail  {
  animation: throb 4s 1.1s forwards ease infinite;
}

#home-hero-icon-browser {
  animation: throb 4s 1.6s forwards ease infinite;
}

#home-hero-icon-heart  {
  animation: throb 4s 2.1s forwards ease infinite;
}

@media ( min-width: 769px ) {
  
  #home-hero-image {
    max-width: none;
    transform: none;
    width: 125%;
    position: relative;
    left: -15%;
    bottom: -40px;
  }
}

@media ( max-width: 999px ) {
  
  #home-hero-icon-wrapper-mail  {
    max-width: 18%;
    /* top: 22%;
    left: 18%; */
  }
  
  #home-hero-icon-wrapper-heart  {
    max-width: 16%;
    /* top: 54%;
    left: 60%; */
  }
  
  #home-hero-icon-wrapper-browser {
    max-width: 19%;
    /* top: 15%;
    left: 80%; */
  }
}

/* ----------------------------------------------------
  Home hero animations
------------------------------------------------------- */

@keyframes fade-in {
  0% {
    transform: translate(-7%, 0%);
    opacity: 0;
  }
  100% {
    transform: translate(0%, 0%);
    opacity: 1;
  }
}

@keyframes fade-in-right {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@keyframes slide-in-blurred-br {
  0% {
    transform: translate(100%, 100%) skew(60deg, 20deg);
    transform-origin: 50% 50%;
    filter: blur(20px);
    opacity: 0;
  }
  100% {
    transform: translate(7%) skew(0deg, 0deg);
    transform-origin: 50% 50%;
    filter: blur(0);
    opacity: 1;
  }
}

@keyframes slide-in-blurred-bl {
  0% {
    transform: translate(-100%, 100%) skew(-60deg, 20deg);
    transform-origin: 50% 50%;
    filter: blur(20px);
    opacity: 0;
  }
  100% {
    transform: translate(7%) skew(0deg, 0deg);
    transform-origin: 50% 50%;
    filter: blur(0);
    opacity: 1;
  }
}

@keyframes slide-in-blurred-tl {
  0% {
    transform: translate(-60%, -50%) skew(50deg, 0deg);
    transform-origin: 50% 50%;
    /* filter: blur(20px); */
    opacity: 0;
  }
  100% {
    transform: translate(7%) skew(0deg, 0deg);
    transform-origin: 50% 50%;
    /* filter: blur(0); */
    opacity: 1;
  }
}

@keyframes float {
    0% {
      transform: rotate(0deg) translateX(7%) rotate(0deg);
    }
    
    25% {
      transform: rotate(90deg) translateX(7%) rotate(-90deg);
    }
    
    50% {
      transform: rotate(180deg) translateX(7%) rotate(-180deg);
    }
    
    75% {
      transform: rotate(270deg) translateX(7%) rotate(-270deg);
    }
  
    100% {
      transform: rotate(360deg) translateX(7%) rotate(-360deg);
    }
}

@keyframes throb {
  0% {
    transform: scale(1.0);
  }
  
  25% {
    transform: scale(1.1);
  }
  
  50% {
    transform: scale(1.0);
  }
  
  75% {
    transform: scale(1.1);
  }
  
  100% {
    transform: scale(1.0);
  }
}

@-webkit-keyframes puff-in-hor {
  0% {
    -webkit-transform: scaleX(2);
            transform: scaleX(2);
    -webkit-filter: blur(4px);
            filter: blur(4px);
    opacity: 0;
  }
  100% {
    -webkit-transform: scaleX(1);
            transform: scaleX(1);
    -webkit-filter: blur(0px);
            filter: blur(0px);
    opacity: 1;
  }
}
@keyframes puff-in-hor {
  0% {
    -webkit-transform: scaleX(2);
            transform: scaleX(2);
    -webkit-filter: blur(4px);
            filter: blur(4px);
    opacity: 0;
  }
  100% {
    -webkit-transform: scaleX(1);
            transform: scaleX(1);
    -webkit-filter: blur(0px);
            filter: blur(0px);
    opacity: 1;
  }
}


@keyframes appear {
  
  from {
    opacity: 0;
    transform: scale(.3);
  }
  
  to {
    opacity: 1;
    transform: scale(1);
  }
}


/* ----------------------------------------------------
  Blog
------------------------------------------------------- */

:not(.btWithSidebar) .btPostListColumns .bt_bb_headline .bt_bb_headline_tag {
  font-size: 2rem;
}

/* ---- FFC - Manually added h1 to child theme, as there's no option in Ad Astra -------------------------*/

h1#blog-header {
  font-size: 30px;
  padding-left: 22px;
}

@media ( min-width: 769px ) {
  
  h1#blog-header {
    font-size: 40px;
    padding-left: 34px;
  }
}

@media ( min-width: 993px ) {
  
  h1#blog-header {
    font-size: 45px;
  }
}

@media ( min-width: 1201px ) {
  
  h1#blog-header {
    font-size: 48px;
  }
}

/* ----------------------------------------------------
  Bold Builder overrides
------------------------------------------------------- */

/* ---- 2/3 + 1/3 columns fix at large screen size ---------*/

@media ( min-width: 1240px ) {

  .bt_bb_row.bt_bb_row_width_boxed_1200 .bt_bb_row_holder .bt_bb_column.col-xl-8 {
    -webkit-flex-basis: 66.666666%;
    flex-basis: 66.666666%;
    max-width: 66.666666%;
  }
  
  .bt_bb_row.bt_bb_row_width_boxed_1200 .bt_bb_row_holder .bt_bb_column.col-xl-4 {
    -webkit-flex-basis: 33.333333%;
    flex-basis: 33.333333%;
    max-width: 33.333333%;
  }
}

/* ---- Allow sider sections on mobile -------------------------*/

@media ( max-width: 767px ) {
  
  .bt_bb_layout_boxed_600 .bt_bb_cell
  .bt_bb_layout_boxed_700 .bt_bb_cell,
  .bt_bb_layout_boxed_800 .bt_bb_cell,
  .bt_bb_layout_boxed_900 .bt_bb_cell,
  .bt_bb_layout_boxed_1000 .bt_bb_cell,
  .bt_bb_layout_boxed_1100 .bt_bb_cell,
  .bt_bb_layout_boxed_1200 .bt_bb_cell,
  .bt_bb_layout_boxed_1300 .bt_bb_cell,
  .bt_bb_layout_boxed_1400 .bt_bb_cell,
  .bt_bb_layout_boxed_1500 .bt_bb_cell,
  .bt_bb_layout_boxed_1600 .bt_bb_cell  {
    /* max-width: calc(100% - 20px); */
    /** Overriding a bunch of goofy styles that cause horizontal scrolling on mobile **/
    max-width: 95%;
    width: 100%;
    flex-basis: unset;
    --webkit-flex-basis: unset;
  }
}


/* ----------------------------------------------------
  Industry stat blocks
------------------------------------------------------- */

@media (min-width:993px) {
  
  .industry-stat-section .bt_bb_column,
  .industry-stat-section .bt_bb_column_content,
  .industry-stat-section .bt_bb_column_content_inner {
    display: flex;
    flex: 1;
  }
}

.industry-stat-section .bt_bb_card {
  margin-bottom: 20px;
}

.industry-stat-section .bt_bb_card .bt_bb_card_content {
  padding-top:0;
  padding-bottom: .5em;
}

.industry-stat-section .bt_bb_card .bt_bb_card_content .bt_bb_image img {
  margin: 0 auto;
}

.stat-container {
  font-size: 1.4rem;
  line-height: 1.2;
  margin: 0 auto;
  text-align: center;
  /* max-width: 260px;  */
}

.stat-container-wide {
  font-size: 1.4rem;
  line-height: 1.3;
  margin: 0 auto;
  max-width: 330px;
}

.stat-lg {
  font-size: 90px;
  font-weight: 700;
  color: #dd3333;
  text-align: center;
  display: block;
  margin: -20px 0 0;
}

@media ( max-width: 900px ) {
  
  .stat-lg {
    font-size: 55px;
  }   
}

/* ===================================================================
 *
 * Knowledge Center & Case Studies
 *
 * ================================================================ */
 
/* ----------------------------------------------------
   Views
 ------------------------------------------------------- */
 
 #wpv-view-layout-3142,
 #wpv-view-layout-3152 {
    display: flex;
    flex-wrap: wrap;
  }
 
 .view-result {
   margin-bottom: 30px;
   padding-bottom: 30px;
   border-bottom: 1px solid #ddd;
 }
 
 .view-pagination {
   display: block;
   text-align: center;
 }
 
 .view-pagination ul {
   list-style: none;
   margin-left: 0;
   display: inline-block;
 }
 
 .view-pagination ul li {
   padding: 4px 8px;
   display: inline-block;
   margin: 0 2px;
 }
 
 .view-pagination ul li:hover {
   background: #eee;  
 }
 
 .view-pagination ul li.wpv_page_current {
   background: #ddd;
 }
 
 /* ----------------------------------------------------
   Filter Forms
 ------------------------------------------------------- */
 
 #case-studies-filter-wrapper,
 #knowledge-center-filter-wrapper {
   position: relative;
   left: 50%;
   margin-left: -50vw;
   width: 100vw;
   background-color: #fff;
 }
 
.wpv-filter-form {
  padding-bottom: 30px;
  margin-bottom: 40px;
  display: flex;
  justify-content: center;
  align-items: flex-end;
}
 
 .wpv-filter-form .filter-group {
    margin: 0 20px 20px 0;
    display: inline-block;
    width: 200px;
    max-width: 100%;
  }
  
  .wpv-filter-form .filter-group.form-group {
    width: 300px;
    max-width: 100%;
 }
 
 .wpv-filter-form .button-group {
   margin: 0 20px 20px 0;
   display: inline-block;
   width: 100px;
   max-width: 100%;
 }
 
 .wpv-filter-form .button-group input {
   cursor: pointer;
   background: #666;
   color: #fff;
   width: auto;
 }
 
 .wpv-filter-form .button-group input:hover {
   background-color: #333;
 }
 
 .wpv-filter-form .filter-label {
   display: inline-block;
   font-weight: 600; 
 }
 
 .wpv-filter-form select {
   font-size: 1em;
 }
 
 @media ( max-width: 800px ) {
   
   .wpv-filter-form {
     padding: 0 30px 30px;
     flex-direction: column;
     align-items: flex-start;
   }
   
   .wpv-filter-form .filter-group,
   .wpv-filter-form .filter-group.form-group,
   .wpv-filter-form .filter-group input {
     margin-right: 0;
     width: 100%;
   }
   
   .wpv-filter-form .filter-label {
      font-size: .9em;
    }
    
    .wpv-filter-form .filter-group select,
    .wpv-filter-form .filter-group input {
      font-size: .9em;
    }
   
 }

/* ----------------------------------------------------
  Knowledge Center content - ported GoodLayers styles from PGM
 ------------------------------------------------------- */
 
 .gdlr-core-column-first {
   clear:left;
 }
 
 /* .gdlr-core-column-15 {
    float: left;
    width: 25%;
  }
 
 .gdlr-core-column-20 {
     float: left;
     width: 33.3333%;
 } */
 
 @media only screen and (max-width: 767px) {
  .gdlr-core-column-10, .gdlr-core-column-12, .gdlr-core-column-15, .gdlr-core-column-20, .gdlr-core-column-24, .gdlr-core-column-30, .gdlr-core-column-36, .gdlr-core-column-40, .gdlr-core-column-45, .gdlr-core-column-48, .gdlr-core-column-50, .gdlr-core-column-60 {
     width: 100%;
  }
}

/* @media (max-width: 767px) {
  
  .js-wpv-filter-form-3152,
  #wpv-view-layout-3152 {
    text-align: center;
  }
} */

/* #wpv-view-layout-3152 .gdlr-core-column-20 {
  padding: 0 10px;
}

#wpv-view-layout-3152 .resource-image img {
  -webkit-transition: all .2s ease;
  -moz-transition: all .2s ease;
  -ms-transition: all .2s ease;
  -o-transition: all .2s ease;
  transition: all .2s ease;
  -webkit-transform: scale(0.9);
  -moz-transform: scale(0.9);
  -ms-transform: scale(0.9);
  -o-transform: scale(0.9);
  transform: scale(0.9);
  max-height: 250px;
  width: auto;
}

#wpv-view-layout-3152 .resource-image:hover img {
  -webkit-transform: scale(.95);
  -moz-transform: scale(.95);
  -ms-transform: scale(.95);
  -o-transform: scale(.95);
  transform: scale(.95);
} */

.js-wpv-view-layout .resource-type, .gdlr-core-pbf-column .resource-type {
  font-size: 1.1em;
  font-weight: 600;
  margin-bottom: .5em;
  text-transform: uppercase;
}

.js-wpv-view-layout .resource-title, .gdlr-core-pbf-column .resource-title {
  font-size: 1.2em;
  margin-bottom: 0.5em;
}

 /* ----------------------------------------------------
   Case Studies & Knowledge Center blocks
 ------------------------------------------------------- */

 
 .filter-form .js-wpv-dps-spinner {
   align-self: center;
  }
 
 .gdlr-core-column-15.case-study-block-outer,
 .gdlr-core-column-20.case-study-block-outer {
   display: flex;
   margin: 0 15px;
   position: relative;
   top: 0;
   transition: top 300ms ease;
 }
 
 .gdlr-core-column-15.case-study-block-outer {
    flex-basis: calc(25% - 30px);
  }
 
 .gdlr-core-column-20.case-study-block-outer {
   flex-basis: calc(33% - 30px);
 }
 
 .case-study-block-outer:hover {
    top: -6px;
  } 
 
 .case-study-block {
   flex: 1;
   margin-bottom: 30px;
   border-radius: 6px;
   padding: 20px;
   background-color: #fff;
   box-shadow: 0 0 20px rgb(237 211 183 / 45%);
 }
 
 .case-study-block img {
   display: block;
   margin-bottom: 1em;
 }
 
 .case-study-block .case-study-title {
   margin-top: 0.3em;
   font-size: 1.2em;
 }
 
 .case-study-block .case-study-type {
    text-transform: uppercase;
    font-size: 0.8em;   
 }
 
 .case-study-block p {
   font-size: 0.9em;
   line-height: 1.45!important;
 }
 
 /* ---- Hide empty <p> caused by WP Toolset bug -------------------------*/
 
 .case-study-block p:empty {
   display: none;
  }
 
 @media (max-width: 991px) {
    
    .gdlr-core-column-15.case-study-block-outer,
    .gdlr-core-column-20.case-study-block-outer {
      margin: 0 10px;
      flex-basis: calc(33% - 20px);
    }
    
    .case-study-block {
      padding: 15px;
    }
  }
  
  @media (max-width: 767px) {
     
     .gdlr-core-column-15.case-study-block-outer,
     .gdlr-core-column-20.case-study-block-outer {
      flex-basis: calc(50% - 20px);
     }
   }
   
   @media (max-width: 479px) {
     
    .gdlr-core-column-15.case-study-block-outer,
    .gdlr-core-column-20.case-study-block-outer {
      flex: unset;
      margin: 0;
    }
  }
 
 /* ----------------------------------------------------
  Case study pages 
 ------------------------------------------------------- */
 
 .case-study-descrip p {
   font-size: 1.3em;
 }
 
 .case-study-img {
   box-shadow: 10px 10px 20px rgba(0,0,0,.1);
   border: 1px solid #ddd;
 }

/* ----------------------------------------------------
  Trustpilot reviews
------------------------------------------------------- */

.review-block-container {
  display: flex;
  flex-wrap: wrap;
}

.trustpilot-block {
  flex: 1 0 20%;
  text-align: center;
  max-width: 100%;
}

.trustpilot-block .review-total {
  margin-bottom: 8px;
}

.trustpilot-block img {
  max-width: 126px;
}

.review-block {
  flex: 1 22%;
  padding: 0 12px;
}

.review-stars {
  margin-bottom: 10px;
}

.review-stars i {
  color: #46b67a;
  font-size: 24px;  
}

.review-quote {
  font-size: .94rem;
}

.review-byline {
  
}

.review-name {
  font-weight: 500;
}

.review-addtl-info {
  font-style: italic;
  color: #777;
  font-size: .9rem;
}

/* ---- Star variants -------------------------*/

.review-stars.stars-4 i:nth-child(5) {
  color: #ccc;
}

@media (max-width: 900px) {
  
  .trustpilot-block {
    flex-direction: row;
    justify-content: center;
    align-items: center;
    padding-bottom: 35px;
  }
  
  .trustpilot-data {
    margin-right: 30px;
  }
  
  .trustpilot-block img {
    max-width: 160px;
  }
  
  .review-block-container {
    display: flex;
  }
  
  .review-block {
    flex: 1 0 auto;
    padding: 0 0 35px 0;
    max-width: 100%;
  } 
}

/* ----------------------------------------------------
  FooBar notifications
------------------------------------------------------- */

.fbr-item-inner {
  font-family: "Red Hat Text", Arial, Helvetica, sans-serif;
  font-weight: 500;
}

#foobar_cta_5162.fbr-custom-color .fbr-content {
  font-family: "Red Hat Text", sans-serif;
}

#foobar_cta_5162 .fbr-item .fbr-button {
  font-weight: 600!important;
}

@media ( max-width: 782px ) {
  #foobar_cta_5162.fbr-font-18px {
    font-size: 16px;
    line-height: 1.4;
  }
}

@media (min-width: 600px) {
  
  /* ---- Uncomment to include background image -------------------------*/
  
  #foobar_cta_5162.fbr-custom-color .fbr-content {
    /* background-image: url(/wp-content/themes/ad-astra-child/images/national-inserts.webp);
    background-position: left 21% top 6px;
    background-repeat: no-repeat;
    background-size: 190px; */
  }
  
  #foobar_cta_5162 .fbr-item-inner {
    /* margin-left: 200px; */
  }
}

@media (min-width: 1500px) {
  #foobar_cta_5162.fbr-custom-color .fbr-content {
    /* background-position:  left 30% top; */
  }
}

@media (max-width: 1100px) {
  
  #foobar_cta_5162 .fbr-message {
    /* font-size: 16px; */
  }
  
  #foobar_cta_5162.fbr-custom-color .fbr-content {
    /* background-position: 2% top; */
  }
}

/* ===================================================================
 *
 * WP Forms overrides
 *
 * ================================================================ */
 
 div.wpforms-container-full .wpforms-form .wpforms-field-label {
   font-weight: 600;
}

div.wpforms-container-full .wpforms-form input[type=submit],
div.wpforms-container-full .wpforms-form button[type=submit] {
  background-color: #da291c;
  color: #fff;
  border: none;
  border-radius: 6px;
  font-weight: 600;
  transition: background-color, .2s;
}

div.wpforms-container-full .wpforms-form input[type=submit]:hover,
div.wpforms-container-full .wpforms-form button[type=submit]:hover {
  background-color: #FB2E20;
}

 @media ( max-width: 600px ) {
   
   /* ---- Make fields full width at mobile sizes -------------------------*/
   div.wpforms-container-full .wpforms-form .wpforms-one-half {
     width: 100%;
     margin-left: 0;
   }
   
   div.wpforms-container-full .wpforms-form .wpforms-field-label {
     font-size: 15px;
   }
 }

/* ===================================================================
 *
 * Individual page overrides
 *
 * ================================================================ */

/* ---- Hide standard headers to make room for videos -------------------------*/

/** Why Mover Marketing?, Testimonials **/
.page-id-53 .btPageHeadline,
.page-id-68 .btPageHeadline {
  display: none;
}

.bt_bb_headline .bt_bb_headline_subheadline {
  font-size: 1.125rem;
}

@media ( max-width:768px ) {
  
  .bt_bb_section.bt_bb_video > video {
    left: 50%;
    transform: translateX(-50%);
  }
  
  .home .bt_bb_section.bt_bb_video > video {
    left: 30%;
    transform: translateX(-30%);
  }
}

/* ===================================================================
 *
 * Advertising Inquiry form overrides
 *
 * ================================================================ */
 
.wpforms-field-phone .iti__dropdown-content li:not(.iti-0__item-us-preferred),
.wpforms-field-phone button.iti__selected-country .iti__arrow {
  display: none!important;
}

.wpforms-field-phone button.iti__selected-country {
  cursor: default!important;
  pointer-events: none;
}


 /* ----------------------------------------------------
   Privacy Policy Page
 ------------------------------------------------------- */
 
 #policy-copy {
   max-width: 850px;
   padding: 0 15px;
   margin-left: auto;
   margin-right: auto;
 }
 
 #policy-copy h3,
 #policy-copy h4 {
   margin-top: 1.8em; 
   padding-bottom: .7em;
 }
 
 #policy-copy h3 + h4 {
   margin-top: .7em;
  }
 
 #policy-copy h4 {
   font-size: 22px;
 }
 
 #policy-copy a {
   color: #006feb;
 }
 
 #policy-copy table {
   table-layout: fixed;
   margin: 4em 0;
 }
 
 #policy-copy .table-scroll {
   overflow: auto;
 }
 
 @media (max-width: 860px) {
   
   #policy-copy .table-scroll table {
     width: 800px;
   }
   
   #policy-copy .table-scroll td {
     font-size: .75em;
     min-width: 150px; 
   }
 }
 
 #policy-copy th {
   font-weight: 600;
 }
 
 #policy-copy td,
 #policy-copy th {
   font-size: .9em;
 }
 
 #policy-copy td {
   vertical-align: top;
 }
 
 #policy-copy p,
 #policy-copy li {
   font-size: .95em;
 }
 
 #policy-copy ul {
   margin-left: 2em;
   margin-bottom: 30px;
 }
 
 #policy-copy li {
   margin: 1.1em 0;
 }
 
 #policy-copy table li {
   margin: .5em 0;
 }

/* ===================================================================
 *
 * Misc Ad Astra hardcoded overrides
 *
 * ================================================================ */

/* ---- Colors -------------------------*/

.bt_bb_color_scheme_14.bt_bb_button.bt_bb_style_filled a,
.bt_bb_color_scheme_14.bt_bb_button.bt_bb_style_filled:hover a,
.bt_bb_color_scheme_14.bt_bb_button.bt_bb_style_filled a:hover {
  /* background-color: #543e2f!important; */
}

/* ---- Typo -------------------------*/

h2 { font-size: 2.1em; }
h3 { font-size: 1.8em; }
h4 { font-size: 1.6em; }
h5 { font-size: 1.4em; }

.bt_bb_size_medium.bt_bb_headline h1,
.bt_bb_size_medium.bt_bb_headline h2,
.bt_bb_size_medium.bt_bb_headline h3,
.bt_bb_size_medium.bt_bb_headline h4,
.bt_bb_size_medium.bt_bb_headline h5,
.bt_bb_size_medium.bt_bb_headline h6 {
  font-size: 2.7rem;
}

.bt_bb_size_small.bt_bb_headline h1,
.bt_bb_size_small.bt_bb_headline h2,
.bt_bb_size_small.bt_bb_headline h3,
.bt_bb_size_small.bt_bb_headline h4,
.bt_bb_size_small.bt_bb_headline h5,
.bt_bb_size_small.bt_bb_headline h6 {
  font-size: 1.4rem;
}

@media ( max-width: 1199px ) {
  
  body {
    font-size: 15px;
  }
  
  h2 { font-size: 1.8em; }
  h3 { font-size: 1.7em; }
  h4 { font-size: 1.6em; }
  h5 { font-size: 1.3em; }
}

@media ( max-width: 767px ) {

  h2 { font-size: 1.6em; }
  h3 { font-size: 1.4em; }
  h4 { font-size: 1.3em; }
  h5 { font-size: 1.1em; }
}

/* ---- Icons -------------------------*/

*[data-ico-remixicons-system]:before {
  display: block;
  margin-top: 3px;
}

/* ---- Properly space headings in blog posts -------------------------*/

.btArticleContent h2,
.btArticleContent h3,
.btArticleContent h4,
.btArticleContent h5,
.btArticleContent h6 {
  margin-top: 1.4em;
}


/* ---- Bold Builder GUI-selected font sizes aren't properly enforced at breakpoints -------------------------*/

.bt_bb_size_normal.bt_bb_headline h1 {
  font-size: 1.875rem!important;
}

.bt_bb_size_normal.bt_bb_headline h2,
.bt_bb_size_normal.bt_bb_headline h3,
.bt_bb_size_normal.bt_bb_headline h4,
.bt_bb_size_normal.bt_bb_headline h5,
.bt_bb_size_normal.bt_bb_headline h6 {
  font-size: 1.7rem!important;
}

/* ---- Remove negative margin that slams copy into card image -------------------------*/
 
.bt_bb_card.bt_bb_image_position_image_beneath_content .bt_bb_card_content .bt_bb_card_content_inner .bt_bb_image {
  margin-bottom: 0em;
}

/* ---- Enlarge review stars -------------------------*/

.bt_bb_testimonial .btReviewStars {
  font-size: 3em;
}

/* ---- Prevent Ad Astra hardcoded "width:auto!important" from making embed buttons huge -------------------------*/

.bt-content-holder a img.alignnone {
  width: revert-layer!important;
}

/* ---- Blog overrides -------------------------*/

.blog.btWithSidebar .bt-content-holder {
  padding-top: 4em;
  /* max-width: 1080px; */
}

.btPostSingleItemStandard .port {
  max-width: 940px;
}

.bt_bb_size_large.bt_bb_headline h1.bt_bb_headline_tag {
  font-size: 2.5rem;
}

.bt_bb_size_large.bt_bb_headline .bt_bb_headline_superheadline,
.bt_bb_size_large.bt_bb_headline.bt_bb_subheadline .bt_bb_headline_subheadline {
  font-size: 1rem;
}

@media ( max-width: 1199px ) {
  
  .bt_bb_size_large.bt_bb_headline h1.bt_bb_headline_tag {
    font-size: 2.25rem!important;
  }
}

@media ( max-width: 767px ) {
  
  .bt_bb_size_large.bt_bb_headline h1.bt_bb_headline_tag {
    font-size: 1.75rem!important;
  }
  
  .bt_bb_size_large.bt_bb_headline .bt_bb_headline_superheadline,
  .bt_bb_size_large.bt_bb_headline.bt_bb_subheadline .bt_bb_headline_subheadline {
    font-size: .8rem;
  }
}

/* ---- Style Blog archive "Column" layout as two columns -------------------------*/

.blog.btWithSidebar .bt-content-holder {
  padding-left: 10px;
  padding-right: 10px;
}

.blog.btWithSidebar .bt-content-holder .bt-content {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  align-content: flex-start;
  padding-right: 0px;
}

.blog.btWithSidebar .bt-content-holder .bt-content > article {
  display: flex;
  flex-direction: column;
  flex: 1 0 45%;
  padding: 0 0 .5em;
  margin: 0 10px 20px;
  border: none;
  border-radius: 6px;
  box-shadow: 0 0 15px #e8e8e8;
}

.blog.btWithSidebar .bt-content-holder .bt-content > article .port {
  margin: unset;
}

.blog.btWithSidebar .bt-content-holder .bt-content > article .btArticleContentHolder {
  display: block;
  margin: unset;
}

.blog.btWithSidebar .bt-content-holder .bt-content > article .btArticleMedia,
.blog.btWithSidebar .bt-content-holder .bt-content > article .btArticleTextContent {
  /* flex: 1 1 auto; */
  max-width: none;
  margin: unset;
  padding-top: 1.5em;
  padding-left: 1.5em;
  padding-right: 1.5em;
}

@media (max-width: 768px) {
  
  .blog.btWithSidebar .bt-content-holder .bt-content,
  .blog.btWithSidebar .bt-content-holder .bt-content > article .btArticleTextContent {
    display: block;
  }
  
  .blog.btWithSidebar .bt-content-holder .bt-content > article {
    display: flex;
    padding: 0 0 3em;
    margin: 0 0 1.5em;
    border-bottom: 1px solid #e4e4e4;
    box-shadow: none;
  }
  
  .blog.btWithSidebar .bt-content-holder .bt-content > article .btArticleMedia img {
    width: 100%;
  }
}

/* ---- Blog archive typo -------------------------*/

:not(.btWithSidebar) .btPostListColumns .bt_bb_headline .bt_bb_headline_tag {
  font-size: 1.3rem;
  line-height: 1.3;
}

article.btPostListColumns .bt_bb_size_xsmall.bt_bb_icon .bt_bb_icon_holder:before, .bt_bb_size_extrasmall.bt_bb_icon .bt_bb_icon_holder:before {
    font-size: 13px;
    width: 1.8em;
    height: 1.8em;
}

article.btPostListColumns .bt_bb_size_normal.bt_bb_headline.bt_bb_subheadline .bt_bb_headline_subheadline {
  font-size: .8rem;
  padding-top: 1.5em;
}

.btPostListColumns .btArticleContentHolder .btShareRow {
  margin-top: 1em;
}

/* ---- END Blog overrides -------------------------*/


.btBox .btImageTextWidget .btImageTextWidgetText .bt_bb_headline_content span {
  font-size: .9rem;
}

.btPostSingleItemStandard .btArticleHeadline {
  padding-bottom: 30px;
  border-bottom: solid 1px #ddd;
}

.btArticleContent {
  margin-top: 45px;
}