/**
 * Theme Name:   NO.Brainer Astra Child
 * Description:  HisDesigns starter child theme for Astra. Includes fixes for
 *               Astra, Elementor, and WordPress that should have shipped by now.
 * Author:       HisDesigns
 * Author URI:   https://hisdesigns.org
 * Template:     astra
 * Version:      1.0.3
 * Text Domain:  nobrainer-astra-child
 */


/* =============================================================================
   ANIMATION
   ============================================================================= */

@keyframes nb_ac_slidein_up {
  from {
    opacity   : 0;
    transform : translateY(40px);
  }
  to {
    opacity   : 1;
    transform : translateY(0);
  }
}


/* =============================================================================
   NO.BRAINER FIX #1 - ELEMENTOR
   Elementor adds unwanted padding, gaps, and overrides that break layouts.
   ============================================================================= */

/* -- Inner container padding reset ---------------------------- */
.nb_ac_section > .e-con-inner,
.nb_ac_section_top_padding > .e-con-inner,
.nb_ac_section_bottom_padding > .e-con-inner,
.nb_ac_section_hero > .e-con-inner,
.nb_ac_section_no_padding > .e-con-inner,
/* Legacy */
.hd_section > .e-con-inner,
.hd_section_top_padding > .e-con-inner,
.hd_section_bottom_padding > .e-con-inner,
.hd_section_hero > .e-con-inner,
.hd_section_no_padding > .e-con-inner {
  padding: 0px !important;
}

/* -- WooCommerce button outline fix --------------------------- */
body:not(.woocommerce-block-theme-has-button-styles) .wc-block-components-button:not(.is-link):focus,
.wp-element-button  {
  box-shadow: 0 0 0 0px var(--nb_ac_brand_primary) !important;
  box-shadow: inset 0 0 0 0px #fff, 0 0 0 0px var(--nb_ac_brand_primary) !important;
  outline: 0px solid transparent !important;
}

/* -- Icon SVG fill ------------------------------------------- */
.elementor-icon-list-item .elementor-icon-list-icon svg {
  fill: !important;
}

/* -- Blockquote color inheritance ---------------------------- */
.elementor-blockquote--skin-quotation .elementor-blockquote:before {
  color: inherit !important;
}

/* -- Embeds always full width -------------------------------- */
.elementor embed,
.elementor iframe,
.elementor object,
.elementor video {
  width: 100%;
}

.elementor iframe.nb_ac_facebook_iframe {
  width:auto !important; /* This allows centering facebook because facebook sucks */
}

/* -- Facebook widget exception ------------------------------ */
.elementor iframe.nb_ac_facebook_widget_sucks,
.elementor iframe.hd_facebook_widget_sucks {
  width: auto !important;
}

/* -- HTML widget centering ----------------------------------- */
.elementor-widget-html {
  width: 100% !important;
  align-items: center !important;
  align-content: center !important;
  text-align: center !important;
}

/* -- Image box always full width ----------------------------- */
.elementor-image-box-img {
  max-width: 100% !important;
}


/* =============================================================================
   NO.BRAINER FIX #2 - ASTRA
   Astra adds borders, backgrounds, min-heights, and padding that interfere
   with custom header/footer designs. All nuked here.
   ============================================================================= */

/* -- Border reset -------------------------------------------- */
.ast-builder-menu-1 .sub-menu,
.ast-builder-menu-1 .inline-on-mobile .sub-menu,
.ast-header-break-point #ast-desktop-header .main-header-menu > li.menu-item a {
  border: 0px;
}

/* -- Background reset --------------------------------------- */
.ast-primary-header-bar,
.ast-below-header-bar,
.ast-above-header.ast-above-header-bar,
.site-primary-footer-wrap[data-section="section-primary-footer-builder"],
.site-below-footer-wrap[data-section="section-below-footer-builder"],
.site-above-footer-wrap[data-section="section-above-footer-builder"] {
  background: none !important;
}

/* -- Min-height reset --------------------------------------- */
.ast-mobile-header-wrap .ast-primary-header-bar,
.ast-primary-header-bar .site-primary-header-wrap,
.site-below-footer-wrap[data-section="section-below-footer-builder"],
.site-below-footer-wrap[data-section="section-below-footer-builder"] .ast-builder-grid-row {
  min-height: 0px !important;
}

/* -- Submenu border reset ----------------------------------- */
.submenu-with-border .sub-menu .menu-link {
  border: 0px !important;
}

/* -- Button/input line-height ------------------------------ */
button, input, select, textarea, .ast-button, .ast-custom-button {
  line-height: 1em !important;
}

/* -- Block layout max-width -------------------------------- */
.entry-content[data-ast-blocks-layout] > * {
  max-width: 100% !important;
  margin-left: auto;
  margin-right: auto;
}

/* -- Primary content margin reset -------------------------- */
.ast-plain-container.ast-no-sidebar #primary {
  margin-top: 0px !important;
  margin-bottom: 0px !important;
}

/* -- Hide mobile header when desktop breakpoint active ----- */
/* NO.Brainer Fix #3 (JS) handles the class toggling        */
.ast-header-break-point #ast-mobile-header {
  display: none;
}

/* -- Header height reset ----------------------------------- 
.site-header-section {
  height: auto !important;
}
*/

/* -- Footer widget text alignment -------------------------- */
.footer-widget-area.footer-widget-area-inner {
  text-align: inherit !important;
}

/* -- Footer column gap ------------------------------------- */
.site-footer .ast-builder-footer-grid-columns {
  column-gap: 20px !important;
}

/* -- Footer wrapper padding reset -------------------------- */
.site-above-footer-wrap,
.site-primary-footer-wrap,
.site-below-footer-wrap {
  padding: 0px !important;
}

/* -- Mobile header bar height reset ------------------------ */
.ast-mobile-header-wrap .ast-above-header-bar,
.ast-above-header-bar .site-above-header-wrap,
.ast-mobile-header-wrap .ast-below-header-bar,
.ast-below-header-bar .site-below-header-wrap {
  min-height: 0px;
  height: auto;
}

/* -- Primary content area reset ---------------------------- */
#primary {
  margin: 0px !important;
  padding: 0px !important;
}

/* -- Site identity padding reset --------------------------- */
.ast-logo-title-inline .ast-site-identity,
.ast-site-identity {
  padding: 0;
}

/* -- Article/post padding reset ---------------------------- */
.ast-separate-container .ast-article-post,
.ast-separate-container .ast-article-single,
.ast-separate-container .ast-author-box,
.ast-separate-container .ast-404-layout-1,
.ast-separate-container .no-result {
  padding: 0px !important;
}

/* -- Desktop menu visible at custom breakpoint ------------- */
.ast-header-break-point #ast-desktop-header .main-header-menu,
.ast-header-break-point #ast-desktop-header .main-header-menu .dropdown-menu-toggle {
  background: none !important;
  display: block !important;
}

.ast-header-break-point #ast-desktop-header .main-header-menu > li.menu-item > a {
  display: flex !important;
}

.ast-header-break-point #ast-desktop-header .main-header-menu > li.menu-item > a .dropdown-menu-toggle {
  padding-left: 10px !important;
}

.ast-header-break-point #ast-desktop-header .main-header-menu > li.menu-item > a .dropdown-menu-toggle svg {
  transform: rotate(0deg) !important;
}

.ast-header-break-point #ast-desktop-header .main-header-menu > li.menu-item {
  display: inline-block !important;
  width: auto !important;
}

.ast-header-break-point #ast-desktop-header .ast-menu-toggle {
  display: none !important;
}

.ast-builder-menu-mobile .main-navigation .inline-on-mobile .menu-item.current-menu-item > .ast-menu-toggle,
.ast-builder-menu-mobile .main-navigation .menu-item.current-menu-ancestor > .ast-menu-toggle {
  background:none !important;
}

.ast-header-break-point #masthead .ast-mobile-header-wrap .ast-primary-header-bar,
.ast-header-break-point #masthead .ast-mobile-header-wrap .ast-below-header-bar,
.ast-header-break-point #masthead .ast-mobile-header-wrap .ast-above-header-bar,
.site-header-section > * {
  padding: 0px !important;
}

/* -- Scroll to top button ---------------------------------- */
#ast-scroll-top {
  background-color: rgba(0,0,0,.65) !important;
}

#ast-scroll-top:hover {
  opacity: var(--nb_ac_opacity_hover) !important;
}

/* -- Container side padding -------------------------------- */
.ast-container,
.ast-container-fluid {
  padding-left: 15px !important;
  padding-right: 15px !important;
}


/* =============================================================================
   NO.BRAINER FIX #3 - WORDPRESS
   Core WordPress adds gaps, text-align, word-break, and layout rules
   that don't play well with custom designs.
   ============================================================================= */

/* -- Text alignment ---------------------------------------- */
.has-text-align-center {
  text-align: center !important;
}

/* -- Flex layout gap reset --------------------------------- */
.is-layout-flex {
  row-gap: 0px !important;
  col-gap: 0px !important;
}

/* -- Constrained layout margin reset ----------------------- */
.is-layout-constrained > * {
  margin-top: 0px !important;
}

/* -- Footer latest posts list ------------------------------ */
.footer-widget-area .wp-block-latest-posts li {
  display: block !important;
  clear: both !important;
}

.footer-widget-area .wp-block-latest-posts li time {
  display: block !important;
  margin: 0px !important;
}

/* -- Thumbnail size cap ------------------------------------ */
.nb_ac_wordpress_thumbnails_suck img,
img.nb_ac_wordpress_thumbnails_suck,
.hd_wordpress_thumbnails_suck img,
img.hd_wordpress_thumbnails_suck {
  max-width: 150px !important;
  width: 100% !important;
}

/* -- Word break reset -------------------------------------- */
* {
  word-break: normal !important;
  overflow-wrap: normal !important;
}

/* -- Button strong tag weight reset ------------------------ */
.wp-block-button__link strong {
  font-weight: normal !important;
}

/* -- Button block alignment -------------------------------- */
.wp-block-buttons {
  align-self: center !important;
}

/* -- Smooth scroll ----------------------------------------- */
html {
  scroll-behavior: smooth;
}


/* =============================================================================
   TYPOGRAPHY
   ============================================================================= */

/* -- Base text colors -------------------------------------- */
body, p, li, h2, h3, h4, h5, h6 {
  color: var(--nb_ac_color_text);
}

/* -- Body + inline text ------------------------------------ */
body, p, li, div:not(div.elementor-icon), span:not(h1 span), label, legend {
  font-size: var(--nb_ac_font_size);
  line-height: var(--nb_ac_line_height);
}

/* -- Nav + slogan line-height override --------------------- */
nav li,
span.nb_ac_top_header_slogans,
span.hd_top_header_slogans,
.ast-above-header-wrap p {
  line-height: 1em !important;
}

/* -- Heading margin/line-height reset ---------------------- */
.entry-content h1,
.entry-content h2,
.entry-content h3,
.entry-content h4,
.entry-content h5,
.entry-content h6 {
  margin-top: 0px !important;
  line-height: 1em !important;
}

/* -- Paragraph + heading bottom margin --------------------- */
p, h2:not(.hd_nbs_slider_slide_sub_header), h3, h4, h5, .entry-content li, .entry-content dl dd {
  margin-bottom: var(--nb_ac_text_margin_bottom) !important;
}

/* -- Remove bottom margin utility class -------------------- */
.nb_ac_margin_bottom_none p,
.nb_ac_margin_bottom_none h1,
.nb_ac_margin_bottom_none h2,
.nb_ac_margin_bottom_none h3,
.nb_ac_margin_bottom_none h4,
.nb_ac_margin_bottom_none h5,
.nb_ac_margin_bottom_none h6,
.entry-content .nb_ac_margin_bottom_none li,
/* Legacy */
.hd_margin_bottom_none p,
.hd_margin_bottom_none h1,
.hd_margin_bottom_none h2,
.hd_margin_bottom_none h3,
.hd_margin_bottom_none h4,
.hd_margin_bottom_none h5,
.hd_margin_bottom_none h6,
.entry-content .hd_margin_bottom_none li {
  margin-bottom: 0px !important;
}

/* -- Link hover -------------------------------------------- */
a:hover {
  /*opacity: var(--nb_ac_opacity_hover) !important;*/
}

/* -- List top margin reset --------------------------------- */
.entry-content ul,
.entry-content ol,
.entry-content dl {
  margin-top: 0px !important;
}

/* -- Last child margin reset ------------------------------- */
.entry-content ul:last-child,
.entry-content ol:last-child,
.entry-content ul li:last-of-type,
.entry-content ol li:last-of-type,
.entry-content dl dd:last-child,
.entry-content p:last-child,
.entry-content .elementor-widget-text-editor .elementor-widget-container > *:last-child {
  margin-bottom: 0px !important;
}

/* -- Heading sizes ----------------------------------------- */
h1, .entry-content h1 {
  font-size: var(--nb_ac_font_size_h1);
  line-height: var(--nb_ac_h_line_height);
  color: #000;
}

.nb_hd_page_header h1 {
  color: var(--ast-global-color-5);
  text-align:center;
}

h2, .entry-content h2 {
  font-size: var(--nb_ac_font_size_h2);
  color: var(--nb_ac_brand_black);
  line-height: var(--nb_ac_h_line_height);
}

h3, .entry-content h3 {
  font-size: var(--nb_ac_font_size_h3);
  line-height: var(--nb_ac_h_line_height);
}

h4, .entry-content h4 {
  font-size: var(--nb_ac_font_size_h4);
  color: var(--nb_ac_brand_primary);
  line-height: var(--nb_ac_h_line_height);
}

h5, .entry-content h5,
span.nb_ac_top_header_slogans,
span.hd_top_header_slogans {
  font-size: var(--nb_ac_font_size_h5);
  line-height: var(--nb_ac_h_line_height);
}

h6, .entry-content h6 {
  font-size: var(--nb_ac_font_size_h6);
  line-height: var(--nb_ac_h_line_height);
}

h2 {
  padding-bottom: 0px !important;
  /*margin-bottom: var(--nb_ac_container_padding) !important;*/
  margin-bottom: var(--nb_ac_container_padding);
}

h3, h4, h5 {
  color: #000;
}

/* -- H2 padding override for no-padding sections ----------- */
.nb_ac_section_padding_none.elementor-widget-heading h2,
.hd_section_padding_none.elementor-widget-heading h2 {
  padding: 0px !important;
  margin-bottom: 0px !important;
}

/* -- Links in content -------------------------------------- */
.entry-content a {
/*  color: var(--nb_ac_color_link) !important;*/
}

.entry-content h2 a, .entry-content h3 a, .entry-content h4 a,
.entry-content h5 a, .entry-content h6 a,
.entry-content a h2, .entry-content a h3, .entry-content a h4,
.entry-content a h5, .entry-content a h6,
.entry-content a.nb_ac_teaser,
.entry-content a.hd_teaser {
  text-decoration: none !important;
}

h2 a, h3 a, h4 a, h5 a, h6 a {
  color: inherit !important;
}

h2 a:hover, h3 a:hover, h4 a:hover, h5 a:hover, h6 a:hover {
/*  opacity: var(--nb_ac_opacity_hover) !important;*/
}

/* -- Icon SVG fill ----------------------------------------- */
.e-font-icon-svg {
  fill: var(--nb_ac_color_link);
}

/* -- Label / legend bold ----------------------------------- */
.elementor-icon-list-text,
label, legend {
  font-weight: bold !important;
}


/* =============================================================================
   DARK / COLORED SECTION TEXT
   Text in dark bg sections + footer forced white.
   ============================================================================= */

.nb_ac_section_bg_blue p,   .nb_ac_section_bg_blue h2,
.nb_ac_section_bg_blue h3,  .nb_ac_section_bg_blue h4,
.nb_ac_section_bg_blue h5,  .nb_ac_section_bg_blue h6,
.nb_ac_section_bg_blue li,  .nb_ac_section_bg_blue div,
.nb_ac_section_bg_black p,  .nb_ac_section_bg_black h2,
.nb_ac_section_bg_black h3, .nb_ac_section_bg_black h4,
.nb_ac_section_bg_black h5, .nb_ac_section_bg_black h6,
.nb_ac_section_bg_black li, .nb_ac_section_bg_black div,
.nb_ac_section_bg_dark p,   .nb_ac_section_bg_dark h2,
.nb_ac_section_bg_dark h3,  .nb_ac_section_bg_dark h4,
.nb_ac_section_bg_dark h5,  .nb_ac_section_bg_dark h6,
.nb_ac_section_bg_dark li,  .nb_ac_section_bg_dark div,
/* Legacy */
.hd_section_bg_blue p,   .hd_section_bg_blue h2,
.hd_section_bg_blue h3,  .hd_section_bg_blue h4,
.hd_section_bg_blue h5,  .hd_section_bg_blue h6,
.hd_section_bg_blue li,  .hd_section_bg_blue div,
.hd_section_bg_black p,  .hd_section_bg_black h2,
.hd_section_bg_black h3, .hd_section_bg_black h4,
.hd_section_bg_black h5, .hd_section_bg_black h6,
.hd_section_bg_black li, .hd_section_bg_black div,
.hd_section_bg_dark p,   .hd_section_bg_dark h2,
.hd_section_bg_dark h3,  .hd_section_bg_dark h4,
.hd_section_bg_dark h5,  .hd_section_bg_dark h6,
.hd_section_bg_dark li,  .hd_section_bg_dark div,
footer.site-footer p,    footer.site-footer h2,
footer.site-footer h3,   footer.site-footer h4,
footer.site-footer h5,   footer.site-footer h6,
footer.site-footer li,   footer.site-footer div,
.entry-content .nb_ac_section_bg_blue a,
.entry-content .nb_ac_section_bg_black a,
.entry-content .nb_ac_section_bg_dark a,
.entry-content .hd_section_bg_blue a,
.entry-content .hd_section_bg_black a,
.entry-content .hd_section_bg_dark a,
footer.site-footer a {
  color: #fff !important;
  text-decoration: none !important;
}

.nb_ac_section_bg_blue .e-font-icon-svg,
.nb_ac_section_bg_black .e-font-icon-svg,
.nb_ac_section_bg_dark .e-font-icon-svg,
.hd_section_bg_blue .e-font-icon-svg,
.hd_section_bg_black .e-font-icon-svg,
.hd_section_bg_dark .e-font-icon-svg {
  fill: #fff !important;
}

.nb_ac_section_bg_blue a:hover,
.nb_ac_section_bg_black a:hover,
.nb_ac_section_bg_dark a:hover,
.hd_section_bg_blue a:hover,
.hd_section_bg_black a:hover,
.hd_section_bg_dark a:hover,
footer.site-footer a:hover {
  opacity: var(--nb_ac_opacity_hover) !important;
}

/* -- Hero text white --------------------------------------- */
.nb_ac_hero h2, .nb_ac_hero h3, .nb_ac_hero h4,
.hd_hero h2,   .hd_hero h3,   .hd_hero h4,
span.nb_ac_top_header_slogans,
span.hd_top_header_slogans {
  color: #fff !important;
}

.entry-content dl {
  display:grid;
  grid-template-columns: 1fr 1fr;
  column-gap:0px;
  border-top:1px var(--ast-global-color-2) solid;
}

.entry-content dl dt,
.entry-content dl dd {
  border-bottom:1px var(--ast-global-color-2) solid;
  padding:10px 5px;
  margin:0px !important;
  line-height:1em;
  text-align:left;
}


/* =============================================================================
   GLOBAL ELEMENTS - SOCIAL ICONS (Zoom)
   ============================================================================= */

.zoom-social_icons-list__item {
  margin: 0px !important;
}

.site-header-primary-section-right .header-widget-area,
.site-header-primary-section-right .header-widget-area a,
.zoom-social_icons-list__link .zoom-social_icons-list-span.social-icon {
  color: #fff !important;
}

.entry-content .zoom-social_icons-list__link .zoom-social_icons-list-span.social-icon {
  color: #000 !important;
}

.entry-content .zoom-social-icons-list {
  text-align: left !important;
  padding-left: 0px !important;
}

.zoom-social_icons-list__link .zoom-social_icons-list-span.social-icon {
  padding: 0px 4px !important;
}

.zoom-social-icons-list {
  text-align: right !important;
  padding-top: 0px !important;
  margin: 0px !important;
}

.zoom-social-icons-list li.zoom-social_icons-list__item {
  margin-bottom: 0px !important;
}

.zoom-social-icons-shortcode,
.zoom-social-icons-list,
.zoom-social_icons-list__item,
.zoom-social_icons-list-span {
  line-height: 1em !important;
  background: none !important;
  vertical-align: middle !important;
}

.site-header-primary-section-right .header-widget-area a:hover,
.zoom-social_icons-list__link:hover .zoom-social_icons-list-span.social-icon {
  color: rgba(255,255,255,.7) !important;
}


/* =============================================================================
   GLOBAL ELEMENTS - BUTTONS
   ============================================================================= */

.wp-block-button .wp-block-button__link,
.wp-block-search .wp-block-search__button,
body .wp-block-file .wp-block-file__button,
a.ast-custom-button-link div.ast-custom-button,
.gform_button.button,
.nb_ac_button .elementor-button,
.elementor-widget-button .elementor-button,
.elementor-widget-button .elementor-button:visited,
input.submit,
a.comment-reply-link,
input.wpcf7-submit,
button.wpcf7-submit,
a.button,
a.button:visited {
  background-color: var(--nb_ac_brand_primary);
  color: #fff !important;
  font-size: 22px !important;
  font-weight: normal !important;
  padding: 10px 20px !important;
  transition: 0.3s !important;
  width: auto !important;
  border-radius: 10px !important;
  display: inline-block !important;
  text-decoration: none !important;
  text-align: center !important;
  border: 0px solid #000 !important;
}

/* -- Alt button (dark/outlined) ---------------------------- */
.nb_ac_button_alt .elementor-button,
.nb_ac_button_alt .elementor-button:visited,
.hd_button_alt .elementor-button,
.hd_button_alt .elementor-button:visited {
  background-color: var(--nb_ac_brand_black);
  text-transform: uppercase;
  border: 0px solid var(--nb_ac_brand_gray);
}

/* -- Button hover ------------------------------------------ */
a.ast-custom-button-link:hover {
  opacity: 1 !important;
}

a.ast-custom-button-link:hover div.ast-custom-button,
.gform_button.button:hover,
.elementor-widget-button .elementor-button:hover,
.nb_ac_button_alt .elementor-button:hover,
.hd_button_alt .elementor-button:hover,
.nb_ac_button a:hover,
.hd_button a:hover,
input.submit:hover,
input.wpcf7-submit:hover,
button.wpcf7-submit:hover,
a.comment-reply-link:hover,
a.button:hover {
  opacity: var(--nb_ac_opacity_hover);
  background-color:var(--nb_ac_brand_primary);
}

.nb_ac_button_alt .elementor-button:hover,
.hd_button_alt .elementor-button:hover {
  opacity: var(--nb_ac_opacity_hover);
  background-color:var(--nb_ac_brand_black);
}


/* =============================================================================
   UTILITY CLASSES
   ============================================================================= */

/* -- Shortcode wrapper ------------------------------------- */
.nb_ac_shortcode,
.nb_ac_shortcode > .e-con-inner,
.hd_shortcode,
.hd_shortcode > .e-con-inner {
  width: 100% !important;
  background: none !important;
  padding: 0px !important;
  max-width: 100% !important;
}

/* -- Spacers ----------------------------------------------- */
.nb_ac_spacer_half .elementor-spacer-inner,
.nb_ac_spacer_half.wp-block-spacer,
.hd_spacer_half .elementor-spacer-inner,
.hd_spacer_half.wp-block-spacer {
  height: var(--nb_ac_container_padding_half) !important;
}

.nb_ac_spacer .elementor-spacer-inner,
.hd_spacer .elementor-spacer-inner {
  height: var(--nb_ac_container_padding) !important;
}

/* -- Row gap ----------------------------------------------- */
.nb_ac_section > .e-con-inner > .e-grid.e-child,
.nb_ac_section > .e-con-inner > .e-flex.e-child,
.nb_ac_rowgap,
.hd_section > .e-con-inner > .e-grid.e-child,
.hd_section > .e-con-inner > .e-flex.e-child,
.hd_rowgap {
  row-gap: var(--nb_ac_container_padding) !important;
}

/* -- Row gap reset ----------------------------------------- */
.nb_ac_section .e-con-inner,
.nb_ac_section .e-con-inner > .elementor-element.e-child > .elementor-element.e-child,
.nb_ac_rowgap_none.e-grid.e-child,
.nb_ac_rowgap_none.e-con.e-child,
.nb_ac_rowgap_none.e-con > .e-con-inner,
.nb_ac_rowgap_none,
.hd_section .e-con-inner,
.hd_section .e-con-inner > .elementor-element.e-child > .elementor-element.e-child,
.hd_rowgap_none.e-grid.e-child,
.hd_rowgap_none.e-con.e-child,
.hd_rowgap_none.e-con > .e-con-inner,
.hd_rowgap_none {
  row-gap: 0px !important;
}

/* -- Icon list styling ------------------------------------- */
.nb_ac_icon_list,
.hd_icon_list {
  margin-bottom: 20px !important;
}

.nb_ac_icon_list h3.elementor-icon-box-title,
.hd_icon_list h3.elementor-icon-box-title {
  margin-bottom: 10px !important;
}

.nb_ac_icon_list h3.elementor-icon-box-title,
.nb_ac_icon_list h3.elementor-icon-box-title span,
.hd_icon_list h3.elementor-icon-box-title,
.hd_icon_list h3.elementor-icon-box-title span {
  font-size: 24px !important;
  color: var(--nb_ac_brand_primary) !important;
}

.nb_ac_icon_list .elementor-icon-box-icon .elementor-icon,
.nb_ac_icon_list .elementor-icon-list-icon,
.hd_icon_list .elementor-icon-box-icon .elementor-icon,
.hd_icon_list .elementor-icon-list-icon {
  border: 4px solid var(--nb_ac_brand_primary);
  border-radius: 50%;
  aspect-ratio: 1 / 1 !important;
  padding: 10px !important;
  margin-right: var(--nb_ac_text_margin_bottom) !important;
}

.nb_ac_icon_list .elementor-icon-box-icon svg,
.nb_ac_icon_list .elementor-icon-list-icon svg,
.hd_icon_list .elementor-icon-box-icon svg,
.hd_icon_list .elementor-icon-list-icon svg {
  margin: 0px !important;
  padding: 10px !important;
}

.nb_ac_icon_list .elementor-icon-box-icon svg,
.hd_icon_list .elementor-icon-box-icon svg {
  width: 75px !important;
  height: 75px !important;
}

.nb_ac_icon_list .elementor-icon-list-text,
.hd_icon_list .elementor-icon-list-text {
  font-size: var(--nb_ac_font_size_h4) !important;
  color: var(--nb_ac_brand_primary) !important;
}

/* -- Mobile reverse order ---------------------------------- */
@media only screen and (max-width: 767px) {

  .nb_ac_reverse_on_mobile,
  .hd_reverse_on_mobile {
    grid-auto-flow: dense;
  }

  .nb_ac_reverse_on_mobile > .elementor-element,
  .hd_reverse_on_mobile > .elementor-element {
    grid-row: 1;
  }

  .nb_ac_reverse_on_mobile > .elementor-element:first-child,
  .hd_reverse_on_mobile > .elementor-element:first-child {
    grid-row: 2;
  }

}


/* =============================================================================
   PAGE LIST PLUGIN
   ============================================================================= */

.page-list.page-list-cols-2:before {
  display: none !important;
}

.page-list.page-list-cols-2 {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
}

.page-list-ext-item {
  margin-top: 0px !important;
  margin-bottom: var(--nb_ac_container_padding) !important;
}

.page-list-ext-image {
  display: block !important;
  float: none !important;
  margin: 0px !important;
  margin-bottom: var(--nb_ac_container_padding_half) !important;
}

.page-list-ext-title,
.page-list-ext-image {
  text-align: center !important;
  clear: both !important;
}

.nb_ac_pagelist_image_left .page-list-ext-image,
.hd_pagelist_image_left .page-list-ext-image {
  float: left !important;
  padding-right: 20px !important;
  margin: 0px !important;
}

.nb_ac_pagelist_image_left .page-list-ext-title,
.hd_pagelist_image_left .page-list-ext-title {
  text-align: left !important;
  clear: none !important;
  margin-bottom: 0px !important;
}

.nb_ac_pagelist_image_left .page-list-ext-item,
.hd_pagelist_image_left .page-list-ext-item {
  height: auto !important;
  width: 100% !important;
  float: left !important;
  margin-bottom: var(--nb_ac_text_margin_bottom) !important;
}


/* =============================================================================
   HEADER
   ============================================================================= */

/*
.admin-bar.home .site-header.nb-fixed-header {
  margin-top: 31px !important;
}
*/

.site-header {
  background: none;
  width: 100% !important;
  height: auto !important;
  padding-top: 20px;
  padding-bottom: 20px;
  /*position: absolute !important;
  top: 0px;*/
}

/* -- Above header ------------------------------------------ 
.site-header .ast-above-header-wrap {
  width: 100% !important;
  display: block !important;
  margin-left: auto;
  margin-right: auto;
  padding-top: 5px !important;
  padding-bottom: 5px !important;
  background: none !important;
}

.site-header .ast-above-header-wrap p {
  margin-bottom: 0px !important;
}

.site-above-header-wrap .nb_ac_header_contact,
.site-above-header-wrap .hd_header_contact {
  display: inline-block !important;
}

.site-above-header-wrap a {
  font-size: 14px !important;
}

.site-header-above-section-right .header-widget-area[data-section="sidebar-widgets-header-widget-1"] {
  display: flex !important;
  align-items: center !important;
  text-align: right !important;
  column-gap: 20px !important;
}

.site-header-above-section-right .header-widget-area .widget {
  margin-bottom: 0px !important;
  line-height: 1em !important;
}

*/

/* -- Primary header ---------------------------------------- */
.site-header .site-primary-header-wrap {
  padding-left: 0px !important;
  padding-right: 0px !important;
  width: 100% !important;
}

.site-header .site-primary-header-wrap .ast-builder-grid-row {
  align-items: center !important;
  column-gap: 0px !important;
}

/* -- Logo -------------------------------------------------- */
.ast-site-identity {
  background: none !important;
  padding: 0px 15px !important;
}

.ast-site-identity .site-logo-img {
  padding-right: 0px !important;
}

.site-header .site-branding img {
  width: 100% !important;
}

/* -- Primary Left ----------------------------------------- */
.site-header-primary-section-left {
}

/* -- Primary right ----------------------------------------- */
.site-header-primary-section-right {
  width: 100% !important;
}

.site-header-primary-section-right > div {
  display: block !important;
  width: 100% !important;
  align-self: center !important;
}

.site-header-primary-section-right .ast-builder-menu {
  display: block !important;
  padding-top: 0px !important;
}

.site-header-primary-section-right .ast-builder-menu .site-navigation {
  align-content: flex-end !important;
  text-align: right !important;
}

.site-header-primary-section-right .header-widget-area {
  display: inline-block !important;
}

/* -- Mobile header ----------------------------------------- */
#ast-mobile-header .ast-main-header-wrap .ast-builder-grid-row {
  column-gap: 0px !important;
}

.site-header-focus-item[data-section="section-header-mobile-trigger"] {
  text-align: right;
  justify-content: right !important;
}

#ast-mobile-header .ast-main-header-wrap .site-header-primary-section-right {
  column-gap: 20px !important;
  grid-template-columns: 1fr 30px !important;
  text-align: right !important;
}

.ast-header-break-point #masthead #ast-mobile-header .ast-main-header-wrap .site-header-primary-section-right .site-header-focus-item {
  padding-right: 15px !important;
}

#ast-mobile-header .ast-above-header-wrap,
#ast-mobile-header .ast-main-header-wrap {
  padding-left: 0px !important;
  padding-right: 0px !important;
}


/* =============================================================================
   NAVIGATION
   ============================================================================= */

.main-navigation .menu-item a {
  line-height:1em;
}

.site-header-primary-section-right .sub-menu {
  text-align: left !important;
}

/* -- Mobile nav -------------------------------------------- */

* {
  -webkit-tap-highlight-color: transparent;
}

#ast-mobile-header .ast-builder-layout-element[data-section="section-header-mobile-trigger"] {
  justify-content: flex-end !important;
}

.ast-main-header-nav-open .ast-mobile-header-content {
  display: block !important;
  z-index: 200 !important;
}

#ast-hf-mobile-menu {
  display: block !important;
}




/* Menu BG Pre Astra's Crappy Break  */
.ast-builder-menu-mobile .main-navigation .main-header-menu,
.ast-builder-menu-mobile .main-navigation .main-header-menu .menu-link,
.ast-builder-menu-mobile .main-navigation .main-header-menu .sub-menu,
/* Menu BG Post Astra's Crappy Break  */
.ast-builder-menu-mobile .main-navigation .menu-item.current-menu-item > .menu-link, .ast-builder-menu-mobile .main-navigation .inline-on-mobile .menu-item.current-menu-item > .ast-menu-toggle, .ast-builder-menu-mobile .main-navigation .menu-item.current-menu-ancestor > .menu-link, .ast-builder-menu-mobile .main-navigation .menu-item.current-menu-ancestor > .ast-menu-toggle,
.ast-builder-menu-mobile .main-navigation .menu-link:hover, .ast-builder-menu-mobile .main-navigation .main-header-menu > .menu-item:hover > .menu-link, .ast-builder-menu-mobile .main-navigation .inline-on-mobile .ast-menu-toggle:hover, .ast-builder-menu-mobile .main-navigation .inline-on-mobile .main-header-menu > .menu-item:hover > .ast-menu-toggle {
  background: var(--ast-global-color-1);
}

#ast-mobile-header .menu-toggle:active,
#ast-mobile-header .menu-toggle:focus {
  outline: --nb_ac_nav_color);
  border-color: --nb_ac_nav_color);
  color: --nb_ac_nav_color);
}

/* Active Menu Text Color Pre Astra's Crappy Break  */
.ast-builder-menu-mobile .main-navigation .menu-link:hover, .ast-builder-menu-mobile .main-navigation .main-header-menu > .menu-item:hover > .menu-link, .ast-builder-menu-mobile .main-navigation .inline-on-mobile .ast-menu-toggle:hover, .ast-builder-menu-mobile .main-navigation .inline-on-mobile .main-header-menu > .menu-item:hover > .ast-menu-toggle,
/* Active Menu Text Color Post Astra's Crappy Break  */
.ast-builder-menu-mobile .main-navigation .menu-item.current-menu-item > .menu-link, .ast-builder-menu-mobile .main-navigation .inline-on-mobile .menu-item.current-menu-item > .ast-menu-toggle, .ast-builder-menu-mobile .main-navigation .menu-item.current-menu-ancestor > .menu-link, .ast-builder-menu-mobile .main-navigation .menu-item.current-menu-ancestor > .ast-menu-toggle,
/* Regular Menu Text Color Pre Astra's Crappy Break  */
.ast-builder-menu-mobile .main-navigation .main-header-menu .menu-item > .menu-link,
/* Sub Menu Toggle  */
.ast-builder-menu-mobile .main-navigation .ast-menu-toggle, .ast-builder-menu-mobile .main-navigation .ast-menu-toggle:hover, .ast-builder-menu-mobile .main-navigation .main-header-menu > .menu-item:hover > .ast-menu-toggle, .ast-builder-menu-mobile .main-navigation .main-header-menu .menu-item .ast-menu-toggle {
  color: --nb_ac_nav_color);
}

/* Main Menu Toggle aka Hamburger Icon */
#ast-mobile-header .mobile-menu-toggle-icon .ast-mobile-svg {
  fill: var(--nb_ac_nav_color);
}






.ast-builder-menu-mobile .main-navigation .main-header-menu {
  border-top: 0px;
  border-bottom: 0px;
}

.ast-main-header-nav-open .ast-mobile-header-content {
  max-width: 400px;
  z-index: 200;
  top:100%;
  /*top: var(--nb_ac_fixed_header_voffset) !important;*/
}

.ast-builder-menu-mobile .main-navigation .main-header-menu .menu-item > .menu-link {
  padding: 10px 30px;
  height: auto;
  line-height: 1em;
  font-size: 16px;
  font-weight: bold;
  border: 0px;
}









/* =============================================================================
   MAIN CONTENT
   ============================================================================= */

#content .ast-container {
  width: 100% !important;
  max-width: 100% !important;
  padding: 0px !important;
}

.nb_ac_page_header,
.hd_page_header {
  padding-top: var(--nb_ac_container_padding) !important;
  padding-bottom: var(--nb_ac_container_padding) !important;
}

.nb_ac_page_header h1,
.hd_page_header h1 {
  margin-bottom: 0px !important;
  text-align: center !important;
}


/* =============================================================================
   FOOTER
   ============================================================================= */

footer.site-footer {
  padding-left: 15px;
  padding-right: 15px;
}

/*
footer.site-footer .zoom-social-icons-list {
  text-align: left !important;
}
*/

footer.site-footer ul.menu a {
  display: block !important;
}

.site-above-footer-wrap,
.site-primary-footer-wrap {
  padding-top: 0px !important;
  padding-bottom: 0px !important;
}

/*
.site-primary-footer-wrap[data-section="section-primary-footer-builder"] .ast-builder-grid-row,
.site-primary-footer-wrap[data-section="section-primary-footer-builder"] .site-footer-section {
  align-items: center;
}
*/

.site-below-footer-wrap .widget_block {
  margin-bottom: 0px !important;
}

/*
.site-below-footer-wrap .ast-builder-grid-row {
  text-align: center !important;
}
*/

/*
.site-footer-primary-section-1,
.site-footer-primary-section-2,
.site-footer-primary-section-3 {
  text-align: center !important;
}
*/

footer.site-footer p {
  margin-bottom: 1em !important;
}

footer.site-footer p,
footer.site-footer li {
  line-height: 1.5em !important;
}

footer.site-footer .nb_ac_latest_posts.wp-block-latest-posts__list {
  text-align:left;
}

footer.site-footer .nb_ac_latest_posts.wp-block-latest-posts__list li {
  height:auto !important;
}


/* =============================================================================
   SECTIONS
   ============================================================================= */

footer.site-footer,
.nb_ac_section,
.hd_section {
  padding: var(--nb_ac_container_padding) 15px !important;
  background: #fff;
}

.nb_ac_section_padding_top,
.hd_section_padding_top {
  padding-top: var(--nb_ac_container_padding) !important;
  padding-bottom: 0px !important;
}

.nb_ac_section_padding_bottom,
.hd_section_padding_bottom {
  padding-top: 0px !important;
  padding-bottom: var(--nb_ac_container_padding) !important;
}

.nb_ac_section_padding_bottom_half,
.hd_section_padding_bottom_half {
  padding-bottom: var(--nb_ac_container_padding_half) !important;
}

.nb_ac_section_padding_none,
.hd_section_padding_none {
  padding-top: 0px !important;
  padding-bottom: 0px !important;
}

.nb_ac_section_padding_side_none,
.hd_section_padding_side_none {
  padding-left: 0px !important;
  padding-right: 0px !important;
}

/* -- Section backgrounds ----------------------------------- */
.nb_ac_section_bg_blue,
.hd_section_bg_blue {
  background: var(--nb_ac_brand_primary);
}

footer.site-footer,
.nb_ac_section_bg_black,
.hd_section_bg_black {
  background: var(--nb_ac_brand_black);
}

.ast-archive-entry-banner,
.ast-single-entry-banner,
.nb_ac_section_bg_gray,
.hd_section_bg_gray {
  background: var(--nb_ac_brand_gray);
}

.nb_ac_section_bg_dark,
.hd_section_bg_dark {
  background: var(--nb_ac_brand_dark);
}

.nb_hd_page_header {
  background: var(--nb_ac_brand_primary);
  padding: var(--nb_ac_container_padding) 15px !important;
}

.nb_ac_rt_gutter 

/* -- Testimony section ------------------------------------- */
.nb_ac_section_testimony_full > .e-con-inner,
.hd_section_testimony_full > .e-con-inner {
  max-width: 800px !important;
}

.nb_ac_section_testimony_full h3,
.hd_section_testimony_full h3 {
  color: #fff !important;
  margin-bottom: 0px !important;
}

.nb_ac_section_testimony_full .nb_ac_divider .elementor-divider,
.hd_section_testimony_full .hd_divider .elementor-divider {
  text-align: center !important;
}

.nb_ac_section_testimony_full .nb_ac_divider .elementor-divider-separator,
.hd_section_testimony_full .hd_divider .elementor-divider-separator {
  width: 20px !important;
  background: #fff !important;
  border: 0px !important;
  border-top: #fff solid 3px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* -- Teasers ----------------------------------------------- */
.nb_ac_teasers h3,
.hd_teasers h3 {
  margin-bottom: 0px !important;
  text-transform: uppercase;
}

/* -- Icon teasers ------------------------------------------ */
.nb_ac_section_icon_teasers .elementor-icon svg,
.hd_section_icon_teasers .elementor-icon svg {
  font-size: 50px !important;
}


/* =============================================================================
   HERO
   ============================================================================= */

.nb_ac_hero,
.hd_hero {
  padding: 0px !important;
  margin-top: 0px !important;
  height: 100% !important;
  max-height: var(--nb_ac_hero_height) !important;
  overflow: hidden !important;
}

.nb_ac_hero img,
.hd_hero img {
  object-fit: cover !important;
  object-position: center center !important;
  border-radius: 0px !important;
  height: 100% !important;
}

.nb_ac_hero_overlay,
.hd_hero_overlay {
  display: block !important;
  position: absolute !important;
  background: var(--nb_ac_brand_primary);
  opacity: .3 !important;
  top: 0px;
  left: 0px;
  width: 100% !important;
  height: 100% !important;
  max-height: 100% !important;
}

.nb_ac_hero_text_box,
.hd_hero_text_box {
  position: absolute !important;
  top: calc(50%);
  left: calc(50%/3);
  transform: translate(-50%,-50%/3);
  width: 800px !important;
  max-width: 90%;
  height: auto !important;
}

.nb_ac_hero_text_box .elementor-element,
.hd_hero_text_box .elementor-element {
  padding: 0px !important;
}

.elementor-element-edit-mode.nb_ac_hero,
.elementor-element-edit-mode.hd_hero {
  max-height: initial !important;
}


/* =============================================================================
   HD SLIDER v1
   ============================================================================= 

.nb_ac_slider,
.hd_slider,
.nb_ac_slider_slide,
.hd_slider_slide {
}

.nb_ac_slider_slide img,
.hd_slider_slide img {
  min-height: var(--nb_ac_slider_height) !important;
}

.nb_ac_slider .elementor-element,
.nb_ac_slider.elementor-element,
.hd_slider .elementor-element,
.hd_slider.elementor-element {
  row-gap: 0px !important;
  column-gap: 0px !important;
}

.nb_ac_section.nb_ac_slider,
.nb_ac_slider_inner,
.nb_ac_slider_slide,
.nb_ac_slider .e-con-inner,
.hd_section.hd_slider,
.hd_slider_inner,
.hd_slider_slide,
.hd_slider .e-con-inner {
  width: 100% !important;
  max-width: 100% !important;
  height: var(--nb_ac_slider_height) !important;
  padding: 0px !important;
  column-gap: 0px !important;
  row-gap: 0px !important;
}

.nb_ac_section.nb_ac_slider,
.hd_section.hd_slider {
  height: var(--nb_ac_slider_height) !important;
  max-height: var(--nb_ac_slider_height) !important;
  overflow: hidden !important;
}

.nb_ac_slider .e-con-inner,
.hd_slider .e-con-inner {
  line-height: 0 !important;
}

.nb_ac_slider_inner,
.nb_ac_slider_slide,
.hd_slider_inner,
.hd_slider_slide {
  overflow: hidden !important;
}

.nb_ac_slider_slide:first-child,
.hd_slider_slide:first-child {
  position: relative !important;
  left: 0%;
  top: 0;
}

.nb_ac_slider_slide,
.hd_slider_slide {
  display: inline-block !important;
  position: absolute !important;
  left: 100%;
  top: 0;
  max-height: var(--nb_ac_slider_height) !important;
}

.nb_ac_slider_inner > .e-con-inner,
.hd_slider_inner > .e-con-inner {
  display: block !important;
}

.nb_ac_slider div.nb_ac_slider_previous,
.nb_ac_slider div.nb_ac_slider_next,
.hd_slider div.hd_slider_previous,
.hd_slider div.hd_slider_next {
  color: #fff !important;
  position: absolute !important;
  top: 50% !important;
  transform: translateY(-50%);
  font-size: 60px !important;
  font-weight: bold !important;
  padding: 5px !important;
  opacity: .25 !important;
  width: auto !important;
}

.nb_ac_slider div.nb_ac_slider_previous,
.hd_slider div.hd_slider_previous {
  left: 15px;
}

.nb_ac_slider div.nb_ac_slider_next,
.hd_slider div.hd_slider_next {
  right: 15px;
}

div.nb_ac_slider_previous:hover,
div.nb_ac_slider_next:hover,
div.hd_slider_previous:hover,
div.hd_slider_next:hover {
  cursor: pointer;
  opacity: var(--nb_ac_opacity_hover) !important;
}

.nb_ac_slider_slide_image,
.hd_slider_slide_image {
  height: var(--nb_ac_slider_height) !important;
  max-height: 100% !important;
}

.nb_ac_slider_slide_image img,
.hd_slider_slide_image img {
  object-fit: cover !important;
  object-position: center center !important;
  border-radius: 0px !important;
  height: 100% !important;
}

.nb_ac_slider_slide_image_overlay,
.hd_slider_slide_image_overlay {
  display: block !important;
  position: absolute !important;
  background: rgba(0,0,0,0);
  opacity: .4 !important;
  top: 0px;
  left: 0px;
  width: 100% !important;
  height: 100% !important;
  max-height: 100% !important;
  border-top: 20px solid #fff !important;
  border-bottom: 20px solid #fff !important;
}

.nb_ac_slider_slide_text_box,
.hd_slider_slide_text_box {
  position: absolute !important;
  top: calc(50%);
  left: calc(50%);
  transform: translate(-50%,-50%);
  width: 1000px !important;
  max-width: 90%;
  height: auto !important;
}

.nb_ac_slider_slide_text_box .elementor-element,
.hd_slider_slide_text_box .elementor-element {
  padding: 0px !important;
}

.nb_ac_slider_slide_text_box .elementor-widget-heading h1.elementor-heading-title,
.nb_ac_slider_slide_text_box .elementor-widget-heading h2.elementor-heading-title,
.hd_slider_slide_text_box .elementor-widget-heading h1.elementor-heading-title,
.hd_slider_slide_text_box .elementor-widget-heading h2.elementor-heading-title {
  line-height: 1.2em !important;
  text-align: left;
  margin-bottom: 20px !important;
}

.nb_ac_slider_slide_text_box h1,
.nb_ac_slider_slide_text_box h2,
.hd_slider_slide_text_box h1,
.hd_slider_slide_text_box h2 {
  color: #fff !important;
  padding: 0px !important;
}

.nb_ac_slider_slide_text_box h1,
.hd_slider_slide_text_box h1 {
  text-transform: uppercase !important;
}

.nb_ac_slider_slide_text_box h2,
.hd_slider_slide_text_box h2 {
  font-size: 24px !important;
  font-weight: bold !important;
}

.nb_ac_slider_slide_text_box .elementor-widget-button,
.hd_slider_slide_text_box .elementor-widget-button {
  width: auto !important;
  align-self: center !important;
  margin: 0px !important;
  margin-right: 10px !important;
  display: inline-block;
}

.elementor-element-edit-mode.nb_ac_slider,
.elementor-element-edit-mode.hd_slider {
  max-height: initial !important;
}

.elementor-element-edit-mode.nb_ac_slider .nb_ac_slider_slide,
.elementor-element-edit-mode.hd_slider .hd_slider_slide {
  left: 0px !important;
  position: relative !important;
  display: block !important;
}

*/


/* =============================================================================
   FORMS
   ============================================================================= */

.nb_ac_form .nb_ac_form_field,
.hd_form .hd_form_field {
  display: inline-block;
  width: 100%;
  margin-bottom: var(--nb_ac_text_margin_bottom) !important;
}

.nb_ac_form .nb_ac_form_field_half,
.hd_form .hd_form_field_half {
  width: 48%;
  margin-right: 2%;
}


/* =============================================================================
   RESPONSIVE
   ============================================================================= */

/* -- Custom nav breakpoint (matches NO.Brainer Fix #3 in JS) - */
@media only screen and (max-width: 1169px) {

/*
  .nb_ac_hero h1,
  .hd_hero h1 {
    font-size: 48px !important;
  }

  .nb_ac_hero_text_box,
  .hd_hero_text_box {
    top: calc(50%);
    left: calc(25%/3);
    transform: translate(-50%,-25%/3);
  }
*/

}

@media only screen and (max-width: 1023px) {

  .nb_ac_slider_slide img,
  .hd_slider_slide img {
    aspect-ratio: 1064/600 !important;
    min-height: 1px !important;
  }

  .nb_ac_section.nb_ac_slider,
  .nb_ac_slider_inner,
  .nb_ac_slider_slide,
  .nb_ac_slider .e-con-inner,
  .hd_section.hd_slider,
  .hd_slider_inner,
  .hd_slider_slide,
  .hd_slider .e-con-inner {
    height: auto !important;
    aspect-ratio: 1064/600 !important;
  }

  .nb_ac_slider_slide.e-con,
  .hd_slider_slide.e-con {
    height: auto !important;
  }

  .nb_ac_slider_slide_text_box h1,
  .hd_slider_slide_text_box h1 {
    font-size: 36px !important;
  }

  .nb_ac_slider_slide_text_box h2,
  .hd_slider_slide_text_box h2 {
    font-size: 18px !important;
  }

  .nb_ac_teasers .e-grid,
  .hd_teasers .e-grid {
    grid-template-columns: 1fr 1fr 1fr 1fr !important;
  }

}

@media only screen and (max-width: 999px) {

  .nb_ac_hero h1,
  .hd_hero h1 {
    font-size: 48px !important;
  }

  .nb_ac_hero_text_box,
  .hd_hero_text_box {
    top: calc(50%);
    left: calc(10%/3);
  }

}

@media only screen and (max-width: 767px) {

  .home .nb_ac_section_icons .e-grid.e-child,
  .home .hd_section_icons .e-grid.e-child {
    display: flex !important;
    flex-direction: column !important;
    text-align: center !important;
    row-gap: 50px !important;
  }

  .nb_ac_hero h1,
  .hd_hero h1 {
    font-size: 40px !important;
  }

  .nb_ac_hero_text_box,
  .hd_hero_text_box {
    top: calc(75%);
    left: calc(50%);
    transform: translate(-50%,-75%);
  }

  .nb_ac_teasers .e-grid,
  .hd_teasers .e-grid {
    grid-template-columns: 1fr 1fr !important;
  }

  /* -- Footer stack ---------------------------------------- */
  .site-footer .site-primary-footer-wrap .ast-builder-footer-grid-columns {
    grid-template-columns: 1fr !important;
    grid-template-rows: auto;
    row-gap: 20px !important;
  }

  .footer-widget-area[data-section="sidebar-widgets-footer-widget-1"].footer-widget-area-inner,
  footer.site-footer .zoom-social-icons-list {
    text-align: center !important;
  }

  footer.site-footer .nb_ac_latest_posts.wp-block-latest-posts__list {
    text-align:left;
    max-width:300px;
    width:100%;
    align-self:center;
    margin-left:auto;
    margin-right:auto;
  }

  /* -- Page list ------------------------------------------- */

  .page-list:before,
  .page-list:after {
    display:none;
  }

  .page-list.page-list-cols-2 {
    display:grid !important;
    grid-template-columns: 1fr 1fr !important;
  }

  .page-list.page-list-cols-4 {
    display:grid !important;
    grid-template-columns: 1fr 1fr !important;
  }

  /* -- Reverse order --------------------------------------- */
  .nb_ac_reverse_order > .elementor-element:first-child,
  .nb_ac_reverse_order .e-con-inner > .elementor-element:first-child,
  .hd_reverse_order > .elementor-element:first-child,
  .hd_reverse_order .e-con-inner > .elementor-element:first-child {
    order: 999 !important;
  }

  .nb_ac_reverse_order > .elementor-element:last-child,
  .nb_ac_reverse_order .e-con-inner > .elementor-element:last-child,
  .hd_reverse_order > .elementor-element:last-child,
  .hd_reverse_order .e-con-inner > .elementor-element:last-child {
    order: 0 !important;
  }

}

@media only screen and (max-width: 749px) {

  /* -- Above header stack ---------------------------------- */
  .ast-above-header-wrap .ast-builder-grid-row {
    display: block !important;
    padding-bottom: 10px !important;
  }

  .ast-above-header-wrap .site-header-section {
    display: block !important;
  }

  .ast-above-header-wrap .site-header-section,
  .ast-above-header-wrap .zoom-social-icons-list {
    text-align: center !important;
  }

}

@media only screen and (max-width: 599px) {

  /*
  .nb_ac_slider_slide_text_box h1,
  .hd_slider_slide_text_box h1 {
    font-size: 24px !important;
  }

  .nb_ac_slider_slide_text_box h2,
  .hd_slider_slide_text_box h2 {
    font-size: 14px !important;
  }

  #content {
    margin-top: 140px !important;
  }

  .nb_ac_hero h1,
  .hd_hero h1 {
    font-size: 34px !important;
  }

  .nb_ac_hero_text_box,
  .hd_hero_text_box {
    top: calc(50%);
    left: calc(50%);
    transform: translate(-50%,-50%);
  }

  .nb_ac_page_header,
  .hd_page_header {
    padding-top: calc(var(--nb_ac_container_padding) + 20px) !important;
    padding-bottom: var(--nb_ac_container_padding) !important;
  }
  */

}

@media only screen and (max-width: 499px) {

  /*
  .ast-main-header-nav-open .ast-mobile-header-content {
    top: var(--nb_ac_fixed_header_voffset) !important;
  }
  */

  .page-list.page-list-cols-2 {
    display:grid !important;
    grid-template-columns: 1fr !important;
  }

  .page-list.page-list-cols-4 {
    display:grid !important;
    grid-template-columns: 1fr !important;
  }

}

@media only screen and (max-width: 424px) {

  /*
  .ast-main-header-nav-open .ast-mobile-header-content {
    top: var(--nb_ac_fixed_header_voffset) !important;
  }
  */

  #ast-mobile-header .ast-builder-grid-row .site-header-section-left .site-header-focus-item,
  #ast-mobile-header .ast-builder-grid-row .site-header-section-left .site-header-focus-item .site-branding {
    display: block !important;
    width: 100% !important;
  }

  #ast-mobile-header .ast-main-header-wrap .site-header-primary-section-right {
    grid-template-columns: 1fr 1fr !important;
    text-align: center !important;
  }

  .nb_ac_slider_slide_text_box h1,
  .hd_slider_slide_text_box h1 {
    font-size: 18px !important;
  }

  .nb_ac_slider_slide_text_box h2,
  .hd_slider_slide_text_box h2 {
    font-size: 14px !important;
  }

  .nb_ac_hero h1,
  .hd_hero h1 {
    font-size: 28px !important;
  }

  .nb_ac_teasers .e-grid,
  .hd_teasers .e-grid {
    grid-template-columns: 1fr !important;
  }

}

@media only screen and (max-width: 375px) {

  .nb_ac_slider_slide_text_box .elementor-button,
  .nb_ac_slider_slide_text_box .elementor-button:visited,
  .hd_slider_slide_text_box .elementor-button,
  .hd_slider_slide_text_box .elementor-button:visited {
    padding: 5px 10px !important;
  }

  .nb_ac_slider_slide_text_box .elementor-button .elementor-button-text,
  .hd_slider_slide_text_box .elementor-button .elementor-button-text {
    font-size: 16px !important;
  }

  .nb_ac_slider_slide_image_overlay,
  .hd_slider_slide_image_overlay {
    border-top: 0px solid #fff !important;
    border-bottom: 0px solid #fff !important;
  }

  .nb_ac_hero_text_box,
  .hd_hero_text_box {
    top: calc(65%);
    left: calc(50%);
    transform: translate(-50%,-50%);
  }

}
