/**
 * Theme Name: Mosaic Momentum Block THeme
 * Description: A child theme of Twenty Twenty-Two for custom modifications.
 * Author: Your Name
 * Template: twentytwentyfour
 * Version: 1.0.0
 * License: GPL-2.0
 * License URI: https://www.gnu.org/licenses/gpl-2.0.html
 * Text Domain: mosaicmomentum
 */

/* Import Google Fonts */
@import url('https://fonts.googleapis.com/css2?family=Nunito+Sans:ital,opsz,wght@0,6..12,200..1000;1,6..12,200..1000&display=swap');

/* ==========================================================================
   Child Theme Styles
   ========================================================================== */

/* ==========================================================================
   Remove Twenty Twenty-Two Default Outer Spacing
   ========================================================================== */

/* Override the outer spacing padding from Twenty Twenty-Two */
.edit-post-visual-editor__post-title-wrapper,
.wp-block-group.alignfull,
.wp-block-group.has-background,
.wp-block-cover.alignfull,
.is-root-container .wp-block[data-align="full"] > .wp-block-group,
.is-root-container .wp-block[data-align="full"] > .wp-block-cover {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* Also remove the top/bottom padding if needed */
.wp-site-blocks .wp-block-group.alignfull,
.wp-site-blocks > .wp-block-group.has-background,
.wp-site-blocks > .wp-block-cover {
    padding-top: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}


.wp-site-blocks, body > .is-root-container, .edit-post-visual-editor__post-title-wrapper, .wp-block-group.alignfull, .wp-block-group.has-background, .wp-block-cover.alignfull, .is-root-container .wp-block[data-align="full"] > .wp-block-group, .is-root-container .wp-block[data-align="full"] > .wp-block-cover {
    padding-left: 0 !important;
    padding-right: 0 !important;
}




/* ==========================================================================
   WordPress Standard Alignment Classes
   ========================================================================== */

/* Standard WordPress alignment classes for blocks and content */
.alignnone {
    margin: 5px 20px 20px 0;
}

.aligncenter,
div.aligncenter {
    display: block;
    margin: 5px auto 5px auto;
}

.alignright {
    float: right;
    margin: 5px 0 20px 20px;
}

.alignleft {
    float: left;
    margin: 5px 20px 20px 0;
}

a img.alignright {
    float: right;
    margin: 5px 0 20px 20px;
}

a img.alignnone {
    margin: 5px 20px 20px 0;
}

a img.alignleft {
    float: left;
    margin: 5px 20px 20px 0;
}

a img.aligncenter {
    display: block;
    margin-left: auto;
    margin-right: auto;
}

/* ==========================================================================
   Content Width Constraint for Normal Content
   ========================================================================== */

/* Reset page-content to full width to allow proper breakouts */
.page-content,
.entry-content,
.post-content {
    max-width: none;
    margin: 0;
    padding: 0;
}

/* Constrain normal content elements to a centered 980px width - EXCEPT on Beaver Builder pages */
body:not(.fl-builder) .page-content > *:not(.alignwide):not(.alignfull):not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(.wp-block-heading),
body:not(.fl-builder) .entry-content > *:not(.alignwide):not(.alignfull):not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(.wp-block-heading),
body:not(.fl-builder) .post-content > *:not(.alignwide):not(.alignfull):not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(.wp-block-heading) {
    max-width: 980px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 2em;
    padding-right: 2em;
}

/* COMPREHENSIVE HEADING FIX - Use exact pixel values to match other content */
/* This rule targets all possible heading selectors with maximum specificity */
body:not(.fl-builder) .page-content h1:not(.alignwide):not(.alignfull),
body:not(.fl-builder) .page-content h2:not(.alignwide):not(.alignfull),
body:not(.fl-builder) .page-content h3:not(.alignwide):not(.alignfull),
body:not(.fl-builder) .page-content h4:not(.alignwide):not(.alignfull),
body:not(.fl-builder) .page-content h5:not(.alignwide):not(.alignfull),
body:not(.fl-builder) .page-content h6:not(.alignwide):not(.alignfull),
body:not(.fl-builder) .entry-content h1:not(.alignwide):not(.alignfull),
body:not(.fl-builder) .entry-content h2:not(.alignwide):not(.alignfull),
body:not(.fl-builder) .entry-content h3:not(.alignwide):not(.alignfull),
body:not(.fl-builder) .entry-content h4:not(.alignwide):not(.alignfull),
body:not(.fl-builder) .entry-content h5:not(.alignwide):not(.alignfull),
body:not(.fl-builder) .entry-content h6:not(.alignwide):not(.alignfull),
body:not(.fl-builder) .post-content h1:not(.alignwide):not(.alignfull),
body:not(.fl-builder) .post-content h2:not(.alignwide):not(.alignfull),
body:not(.fl-builder) .post-content h3:not(.alignwide):not(.alignfull),
body:not(.fl-builder) .post-content h4:not(.alignwide):not(.alignfull),
body:not(.fl-builder) .post-content h5:not(.alignwide):not(.alignfull),
body:not(.fl-builder) .post-content h6:not(.alignwide):not(.alignfull),
body:not(.fl-builder) .wp-block-heading:not(.alignwide):not(.alignfull) {
    max-width: 980px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 36px !important; /* Exactly 36px to match other content */
    padding-right: 36px !important; /* Exactly 36px to match other content */
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    box-sizing: border-box !important;
    width: auto !important;
}

@media (max-width: 768px) {
    body:not(.fl-builder) .page-content h1:not(.alignwide):not(.alignfull),
    body:not(.fl-builder) .page-content h2:not(.alignwide):not(.alignfull),
    body:not(.fl-builder) .page-content h3:not(.alignwide):not(.alignfull),
    body:not(.fl-builder) .page-content h4:not(.alignwide):not(.alignfull),
    body:not(.fl-builder) .page-content h5:not(.alignwide):not(.alignfull),
    body:not(.fl-builder) .page-content h6:not(.alignwide):not(.alignfull),
    body:not(.fl-builder) .entry-content h1:not(.alignwide):not(.alignfull),
    body:not(.fl-builder) .entry-content h2:not(.alignwide):not(.alignfull),
    body:not(.fl-builder) .entry-content h3:not(.alignwide):not(.alignfull),
    body:not(.fl-builder) .entry-content h4:not(.alignwide):not(.alignfull),
    body:not(.fl-builder) .entry-content h5:not(.alignwide):not(.alignfull),
    body:not(.fl-builder) .entry-content h6:not(.alignwide):not(.alignfull),
    body:not(.fl-builder) .post-content h1:not(.alignwide):not(.alignfull),
    body:not(.fl-builder) .post-content h2:not(.alignwide):not(.alignfull),
    body:not(.fl-builder) .post-content h3:not(.alignwide):not(.alignfull),
    body:not(.fl-builder) .post-content h4:not(.alignwide):not(.alignfull),
    body:not(.fl-builder) .post-content h5:not(.alignwide):not(.alignfull),
    body:not(.fl-builder) .post-content h6:not(.alignwide):not(.alignfull),
    body:not(.fl-builder) .wp-block-heading:not(.alignwide):not(.alignfull) {
        padding-left: 18px !important; /* Exactly 18px for mobile */
        padding-right: 18px !important; /* Exactly 18px for mobile */
    }
}

/* Remove padding on mobile for better use of space - EXCEPT on Beaver Builder pages */
@media (max-width: 768px) {
    body:not(.fl-builder) .page-content > *:not(.alignwide):not(.alignfull):not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(.wp-block-heading),
    body:not(.fl-builder) .entry-content > *:not(.alignwide):not(.alignfull):not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(.wp-block-heading),
    body:not(.fl-builder) .post-content > *:not(.alignwide):not(.alignfull):not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(.wp-block-heading) {
        padding-left: 1em;
        padding-right: 1em;
    }
}

/* Beaver Builder pages: Reset to full width with no constraints */
body.fl-builder .page-content,
body.fl-builder .entry-content,
body.fl-builder .post-content {
    max-width: none;
    margin: 0;
    padding: 0;
}

body.fl-builder .page-content > *,
body.fl-builder .entry-content > *,
body.fl-builder .post-content > * {
    max-width: none;
    margin: 0;
    padding: 0;
}

/* ==========================================================================
   Block Editor Wide and Full Width Alignment (Non-Beaver Builder pages only)
   ========================================================================== */

/* Wide width alignment for blocks - extends beyond the content area but stays within site-content */
body:not(.fl-builder) .alignwide {
    max-width: 1200px;
    clear: both;
    margin-left: auto;
    margin-right: auto;
}

/* On smaller screens, use viewport calculations to extend beyond content */
@media (max-width: 1239px) {
    body:not(.fl-builder) .alignwide,
    body:not(.fl-builder) .page-content .alignwide,
    body:not(.fl-builder) .entry-content .alignwide,
    body:not(.fl-builder) .post-content .alignwide {
        width: calc(100vw - 4em);
        margin-left: calc(-50vw + 50% + 2em);
        margin-right: calc(-50vw + 50% + 2em);
    }
}

/* On large screens, center at fixed width */
@media (min-width: 1240px) {
    body:not(.fl-builder) .alignwide,
    body:not(.fl-builder) .page-content .alignwide,
    body:not(.fl-builder) .entry-content .alignwide,
    body:not(.fl-builder) .post-content .alignwide {
        width: 1200px;
        margin-left: auto;
        margin-right: auto;
    }
}

/* Full width alignment for blocks - breaks out of all containers to viewport edges */
body:not(.fl-builder) .alignfull {
    width: 100vw;
    max-width: 100vw;
    margin-left: calc(-50vw + 50%);
    margin-right: calc(-50vw + 50%);
    clear: both;
}

body:not(.fl-builder) .page-content .alignfull,
body:not(.fl-builder) .entry-content .alignfull,
body:not(.fl-builder) .post-content .alignfull {
    width: 100vw;
    max-width: 100vw;
    margin-left: calc(-50vw + 50%);
    margin-right: calc(-50vw + 50%);
}

/* Ensure wide and full width work properly within content containers */
body:not(.fl-builder) .entry-content .alignwide,
body:not(.fl-builder) .entry-content .alignfull,
body:not(.fl-builder) .page-content .alignwide,
body:not(.fl-builder) .page-content .alignfull {
    clear: both;
}

/* ==========================================================================
   Responsive Wide and Full Width Adjustments (Non-Beaver Builder pages only)
   ========================================================================== */

/* For mobile screens, make alignments more conservative */
@media (max-width: 768px) {
    body:not(.fl-builder) .alignwide,
    body:not(.fl-builder) .page-content .alignwide,
    body:not(.fl-builder) .entry-content .alignwide {
        width: calc(100vw - 2em);
        max-width: calc(100vw - 2em);
        margin-left: calc(-50vw + 50% + 1em);
        margin-right: calc(-50vw + 50% + 1em);
    }
    
    body:not(.fl-builder) .alignfull,
    body:not(.fl-builder) .page-content .alignfull,
    body:not(.fl-builder) .entry-content .alignfull {
        width: 100vw;
        max-width: 100vw;
        margin-left: calc(-50vw + 50%);
        margin-right: calc(-50vw + 50%);
    }

    /* Reduce margins on smaller screens */
    body:not(.fl-builder) .alignleft,
    body:not(.fl-builder) .alignright {
        margin: 0.5em;
    }
    
    body:not(.fl-builder) .alignnone {
        margin: 0.5em 1em 1em 0;
    }

    /* Make sure floated alignments don't break on mobile */
    body:not(.fl-builder) .wp-block-image.alignleft,
    body:not(.fl-builder) .wp-block-image.alignright {
        max-width: 50%;
    }
}

/* ==========================================================================
   Block Editor Specific Alignments
   ========================================================================== */

/* Image block alignments */
.wp-block-image.alignleft,
.wp-block-image.alignright {
    width: auto;
}

.wp-block-image.alignleft {
    float: left;
    margin-right: 2em;
    margin-bottom: 1em;
}

.wp-block-image.alignright {
    float: right;
    margin-left: 2em;
    margin-bottom: 1em;
}

.wp-block-image.aligncenter {
    text-align: center;
    margin-left: auto;
    margin-right: auto;
}

/* Gallery block alignments */
.wp-block-gallery.alignleft,
.wp-block-gallery.alignright {
    max-width: 420px;
    width: 100%;
}

.wp-block-gallery.aligncenter {
    text-align: center;
}

/* Group block alignments */
.wp-block-group.alignwide,
.wp-block-group.alignfull {
    padding-left: 2em;
    padding-right: 2em;
}

/* Cover block alignments */
.wp-block-cover.alignwide,
.wp-block-cover.alignfull {
    width: auto;
}

/* ==========================================================================
   Text Alignment Classes
   ========================================================================== */

.has-text-align-left {
    text-align: left;
}

.has-text-align-center {
    text-align: center;
}

.has-text-align-right {
    text-align: right;
}

.has-text-align-justify {
    text-align: justify;
}

/* Add your custom styles below this line */





/*.site-title-wrapper{
	padding: 1rem !important;
}

/* @media only screen and (min-width: 61.063em){
	#site-navigation, .main-navigation-container{
	display:block !important;
	float: right;
	margin-top:-40px;
}
} */
/*
@media only screen and (min-width: 61.063em){
	#site-navigation, .main-navigation-container{
	display: block !important;
    float: right;
    padding: unset;
    margin-top: -34px;
    z-index: 302;
/*     width: 100%; */
/*    position: sticky;
		background-color: transparent !important;
}
	.main-navigation a:hover, .main-navigation a:focus, .main-navigation a:visited:hover{
		background-color: white !important;
	}
	.main-navigation .current_page_item > a, .main-navigation .current-menu-item > a, .main-navigation .current_page_ancestor > a, .main-navigation .current_page_parent > a, .main-navigation .current-menu-ancestor > a {
    background-color: #fff !important;
		font-weight: 800;
}
}
#site-navigation.open{
	display: block !important;
	background-color: #d8d8d8 !important;
}
.menu-toggle div{
	background-color: #d8d8d8 !important;
}

*/


  body, p, ol li, ul li, dl dd, .fl-callout-text {
    font-family: Nunito Sans;
    font-size: 18px;
    font-weight: 400;
    line-height: 24px;
  }
  
  h1, h2, h3, h4, h5, h6, label, legend, table th, dl dt, .entry-title, .widget-title{
    font-family: Nunito Sans;
  } 
  
  h2 {
    font-size: 42px;
    line-height: 46px;
    font-weight: 900;
  }

  b, strong {
    font-weight: 900;
  }
  
  .site-header h1 {
      display: none;
  }
  
  .site-header-wrapper .site-title-wrapper {
      padding: 1rem;
  }
  
  /* styles to accomdate the admin bar while editting */
  
  body.admin-bar .site-header,
  body.admin-bar #site-navigation.main-navigation,
  body.admin-bar .menu-toggle {
      padding-top: 60px;
  }
  
  /**************************\
    Begin Navigation styles
  \**************************/
  
  .main-navigation ul li a, .main-navigation ul li a:visited, button, a.button, a.fl-button, input[type="button"], input[type="reset"], input[type="submit"] {
    font-family: 'Nunito Sans';
  }
  
  .site-header {
      background: white;
      left: 0;
      position: fixed; 
      top: 0;
      width: 100%;
      z-index: 1100;
  }
  
  .menu-toggle {
      padding-top: 4%;
      position: fixed;
      z-index: 1100;
  }
  
  .menu-toggle div {
      background-color: #d8d8d8;
  }
  
  .main-navigation-container, 
  .main-navigation.open, 
  .main-navigation ul ul, 
  .main-navigation .sub-menu {
      background-color: #d8d8d8;
  }
  
  .main-navigation ul li a, 
  .main-navigation ul li a:visited, 
  .main-navigation ul li a:hover, 
  .main-navigation ul li a:focus, 
  .main-navigation ul li a:visited:hover {
      color: #393939;
  }
  
  #site-navigation.main-navigation {
      /*margin-top: 58px;*/
      /*margin-top: 103px;*/
      margin-bottom: -100px; /* bc of #content margin-top 100px */
      position: fixed;
      width: 100%;
      z-index: 1100;
  }
  
  /* remove this style when nav goes live */
  .main-navigation-container {
      display: block;
  }
  
  #site-navigation {
      display: none;
  }
  
  #site-navigation.main-navigation.open {
      display: block;
  }
  
  
  @media only screen and (min-width: 61.063em) {
    /* may need to delete after prod */
    #site-navigation {
        display: block;
    }

    #site-navigation.main-navigation {
        margin-top: 0;
        position: initial;
    }
  
    #site-navigation.main-navigation #menu-main-menu > .menu-item > a {
        padding-bottom: 2rem;
    }

    #site-navigation .sub-menu {
        font-size: 16px;
        opacity: 95%;
        top: 73px;
    }

    #site-navigation .sub-menu a {
        line-height: 22px;
    }
      
    .main-navigation-container {
        background-color: transparent;
        font-size: 18px;
        margin-top: 30px;
        position: fixed;
        right: 50px;
        top: 0;
        width: auto;
        z-index: 1100;
    }

    .main-navigation a:hover, 
    .main-navigation a:focus, 
    .main-navigation a:visited:hover {
        background-color: transparent;
        font-weight: bold;
    }

    .main-navigation .current_page_item > a,
    .main-navigation .current-menu-item > a,
    .main-navigation .current_page_ancestor > a,
    .main-navigation .current_page_parent > a,
    .main-navigation .current-menu-ancestor > a {
        background-color: white; 
        font-weight: bold;
    }

    .main-navigation-container, 
    .main-navigation.open, 
    .main-navigation ul ul, 
    .main-navigation .sub-menu {
        background-color: #fff;
    }

    .main-navigation ul ul a {
        background-color: #d8d8d8;
				width: 220px;
    }

    .main-navigation ul ul a:hover {
        background-color: #92B5A0;
    }

    .main-navigation.open ul a:not(.expand) {
        border-bottom: none;
    }
  }
  
  /* hide the page title */
  .page-title-container {
      display: none;
  }
  
  /* offset for the fixed nav */
  #content {
      margin-top: 100px;
      max-width: none;
  }
  
  /**************************\
    Begin Theme ("primer-inline-css") overrides
  \**************************/

  button, a.button, a.button:visited, input[type="button"], input[type="reset"], input[type="submit"], .wp-block-button__link, .site-info-wrapper .social-menu a:hover {
    padding: 10px 20px;
  }
  
  a.fl-button, a.fl-button:visited, .content-area .fl-builder-content a.fl-button, .content-area .fl-builder-content a.fl-button:visited {
    padding: 10px 20px;
  }
  
 
  /**************************\
    Begin layout overrides
  \**************************/
  
  article.hentry {
      margin: 0;
      padding: 0;
  }
  
  .hentry .page-content {
      margin: 0;
  }
  
  .page-title-container {
    display: none;
  }
  
  #primary {
      margin: 0;
      width: 100%;
  }
  
  #secondary {
    display: none;
  }
  
  /**************************\
    Begin Footer styles
  \**************************/
  
  footer.site-footer {
    background-color: #00486D;

  }
  
  footer.site-footer a,
  footer.site-footer a:visited {
    color: #ffffff;
  }
  
  @media only screen and (min-width: 525px) {
 .site-footer {
  
    background: no-repeat url("/wp-content/uploads/2024/04/mosaic-icon-white.svg") top -0px right 0px;
    background-color: #00486D;

  }
}

  @media only screen and (min-width: 40.063em) {
    .footer-widget-area .footer-widget {
      width: 97.22222%;
    }
  }

  @media only screen and (min-width: 640px) {
    .footer-widget-area.columns-3 .footer-widget:nth-child(1) {
      width: 45%;
    }

    .footer-widget-area.columns-3 .footer-widget:nth-child(2) {
      width: 20px;
    }

    .footer-widget-area.columns-3 .footer-widget:nth-child(3) {
      width: 500px;
    }
  }
  
  footer.site-footer .widget-title {
      color: #D6F9E4;
      font-size: 32px;
      text-transform: uppercase;
  }
  
  footer.site-footer aside#text-4 {
    display: flex;
    align-items: center;
    min-height: 200px;
  }

  footer.site-footer aside#text-4 > * {
    display: inline-block;
  }
  footer.site-footer aside#text-4 > h4 {
    margin-right: 60px;
  }

  footer.site-footer .widget {
    background-color: transparent;
    color: #ffffff;
    font-size: 14px;
    line-height: 16.8px;
  }
  
  .footer-widget .textwidget p {
    margin-top: 0;
  }
  
  .site-info-wrapper {
    display: none;
  }
  
  @media only screen and (min-width: 640px) {
    #site-footer-nav li {
      position: relative;
      /* top: 144px; */
    }  
  }
  
  #site-footer-nav li {
      display: inline;
      font-size: 12px;
  }
  
  #site-footer-nav li:after {
      content: "|";
      margin-left: 3px;
  }
  
  #site-footer-nav li:last-child:after {
      content: "";
  }
  
  /* Metaslider v3.36.0 giving problems */
  .metaslider .slides [aria-hidden="true"] a {
  display: block!important;
  }


@media (max-width: 768px) {
    .footer-widget .textwidget p {
        margin-top: 70px;
    }
}

/* Banner */


/*

.simple-banner-text {
	max-height: 30px;
	padding-top: 5px!important;
	font-size: 16px!important;	
	
}

@media all and (max-width: 768px) {
    .simple-banner-text {
        font-size: 8px!important;
    }
}


#simple-banner {position:fixed !important;top:0 !important}

#masthead {padding-top:10px !important}

.menu-toggle {top:20px !important}

.main-navigation.open {margin-top:20px !important}

*/
/* --- Temporary Color Overrides --- */


footer {margin-block-start: 0 !important;}
.footer-wrapper {

    background-repeat: no-repeat !important;
    background-position: top 0 right 0 !important;
    background-size: auto; /* or cover/contain if you want */

 

}

a.wp-block-navigation-item__content:hover {text-decoration: none;
font-weight: bold;
}


/*
a.fl-button, a.fl-button:visited, .content-area .fl-builder-content a.fl-button, .content-area .fl-builder-content a.fl-button:visited {
    background-color: #00486d !important;
    border-color: #00486d !important;
color:#fff !important;
} */

a.fl-button, a.fl-button:visited span, .content-area .fl-builder-content a.fl-button span, .content-area .fl-builder-content a.fl-button:visited span, .fl-button-text {
  
color:#fff !important;
}





/* Remove focus outline for mouse/touch clicks, but KEEP it for keyboard focus */
a:focus:not(:focus-visible),
button:focus:not(:focus-visible),
[role="button"]:focus:not(:focus-visible),
input[type="submit"]:focus:not(:focus-visible),
input[type="button"]:focus:not(:focus-visible) {
  outline: none;
  box-shadow: none;
}

/* Optional: if your theme adds an outline via border */
a:focus:not(:focus-visible),
button:focus:not(:focus-visible) {
  border-color: inherit;
}


.profile [class^="profile--"] , .profile--footer{
  padding-left: 5px;
  padding-right: 5px;
}
.profile--heading {padding-top:10px}





@media (max-width: 768px) {
  .footer-wrapper.site-footer {
    background-image: none !important;
    background-color: #00486d !important;
padding:20px !important
  }
 .footer-wrapper.site-footer p,  .footer-wrapper.site-footer ul {max-width:100% !important}
}




 

.fl-node-gi1jxspr2938  {
 display: block !important;

}