/*!
 * FoFG Omni Theme Customizations
 *
 * @package FofgOmni
 */

/*!
 * Top Bar
 */
.top-bar-align-left .inside-top-bar > .widget:nth-child(2n) {
  float: left;
  margin-right: 10px;
}

/*!
 * Header
 */
.site-header,
.sticky-enabled .is_stuck#sticky-navigation.main-navigation {
  border-bottom: 1px solid #303f9f;
  box-shadow: 0 2px 6px -2px rgba(0,0,0,.45);
}
.site-header {
  /*position: absolute;*/
  width: 100%;
}
.inside-header .main-navigation {
  width: 100%;
}
.inside-header .main-navigation .main-nav {
  float: right;
}
.inside-header #sticky-placeholder.main-navigation {
  height: 0;
}
#masthead-sticky-placeholder {
  display: block;
  visibility: hidden;
}

/*!
 * Site Branding
 */
.main-title,
.site-description,
.alt-title {
  text-shadow: 0 1px 0 #303f9f;
}
.main-title {
  letter-spacing: 1px;
  padding-top: 3px;
}
.site-description {
  max-width: 285px;
  text-align: center;
}
.site-logo {
  display: block;
  float: left;
  left: 0;
  line-height: 0;
  margin: 0;
  position: relative;
  top: 0;
  z-index: 3;
}
.site-logo a {
  display: inline-block;
  line-height: 0;
}
.site-logo .header-image,
.main-navigation .navigation-logo .header-image {
  height: 90px;
  margin: 0 0 -20px;
  padding: 2px 0 0 5px;
}

/*!
 * Sticky Navigation Site Branding
 */
.sticky-enabled .is_stuck#sticky-navigation.main-navigation {
  margin-bottom: 19px;
}
.main-navigation .navigation-logo.site-logo {
  margin-left: 0;
  margin-right: 0;
}
.main-navigation .navigation-logo .header-image {
  float: left;
  z-index: 3;
}
.main-navigation .navigation-logo a {
  color: #fff;
  height: 70px;
  overflow: visible;
}
.main-navigation .navigation-logo .site-branding-alt,
.main-navigation .navigation-logo .site-branding {
  height: 100%;
}
/*!
 * Site Alternate Branding
 */
.main-navigation .navigation-logo .site-branding-alt {
  display: inline-block;
  float: left;
  left: 145px;
  position: absolute;
  top: 0;
}
.site-branding-alt .alt-title {
  font-size: 30px;
  line-height: 1;
  margin: 0;
  padding: 20px 0 20px 15px;
}
.main-navigation .navigation-logo .site-branding {
  margin-left: -6px;
}
/*!
 * Site Branding Transitions
 */
.main-navigation .navigation-logo .site-branding-alt,
.main-navigation .navigation-logo .site-branding {
  overflow: hidden;
  transition: opacity .2s ease-in .05s,
    transform .2s ease-out,
    max-width 0s linear .2s;
}
.main-navigation.is_stuck .navigation-logo .site-branding-alt,
:not(.is_stuck).main-navigation .navigation-logo .site-branding {
  max-width: 100%;
  opacity: 1;
  transform: translateX(0);
  transition: opacity .2s ease-in .05s,
    transform .2s ease-out,
    max-width 0s linear;
}
:not(.is_stuck).main-navigation .navigation-logo .site-branding-alt,
.main-navigation.is_stuck .navigation-logo .site-branding {
  opacity: 0;
  transform: translateX(-100%);
  max-width: 10px;
}

/*!
 * Slideout Menu
 */
html.slide-opened {
  overflow: hidden;
}
html.slide-opened .inside-top-bar,
html.pum-open.pum-open-overlay .inside-top-bar,
html.slide-opened .site-branding,
html.pum-open.pum-open-overlay .site-branding,
html.slide-opened .site-logo,
html.pum-open.pum-open-overlay .site-logo,
html.slide-opened #masthead .inside-navigation,
html.pum-open.pum-open-overlay #masthead .inside-navigation,
html.slide-opened .page-header-content,
html.pum-open.pum-open-overlay .page-header-content,
html.slide-opened .page-header-image-single,
html.pum-open.pum-open-overlay .page-header-image-single,
html.slide-opened #primary,
html.pum-open.pum-open-overlay #primary,
html.slide-opened .inside-right-sidebar,
html.pum-open.pum-open-overlay .inside-right-sidebar,
html.slide-opened .inside-footer-widgets,
html.pum-open.pum-open-overlay .inside-footer-widgets,
html.slide-opened .inside-site-info,
html.pum-open.pum-open-overlay .inside-site-info {
  filter: blur(1px);
}
/* TODO: add box-shadow: 0 2px 3px -1px #313f9f; z-index: 3; for faux blur effect on header/nav */
.slideout-navigation {
  border-left: 1px solid #303f9f;
  box-shadow: -2px 0 6px -2px rgba(0,0,0,.45);
  max-width: 100vw;
  transition: transform .2s ease-in,
    visibility 0s linear .2s;
  width: 270px;
}
.slide-opened .slideout-navigation {
  transition: transform .2s ease-in;
}
.slideout-overlay {
  background: #000;
  opacity: 0;
  transition: opacity .3s ease-in;
}
html.slide-opened .slideout-overlay {
  opacity: .45;
}
.slideout-toggle,
.slideout-toggle a::before {
  display: none;
}
.custom.slideout-toggle {
  display: block;
}
@media(min-width: 769px) {
  .nav-float-right .is_stuck.main-navigation .menu > li.custom.slideout-toggle {
    display: inline-block;
    float: none;
  }
  .sf-menu > li.slideout-toggle {
    float: left;
  }
}
/*!
 * Slideout Menu to screen right
 *
 * @source https://docs.generatepress.com/article/open-slideout-navigation-right/
 */
.slideout-navigation {
  left: auto !important;
  right: 0;
  transform: translateX(100%) !important;
}
.slide-opened .slideout-navigation {
  transform: translateX(0px) !important;
}

/*!
 * Submenus
 */
.main-navigation ul ul {
  border: 1px solid #303f9f;
}
/* Wider Submenus */
.main-navigation ul ul,
.secondary-navigation ul ul.sub-menu {
  width: 250px;
}
/*!
 * Submenu hover effect
 */
.main-navigation .main-nav ul ul li > a {
  transition: all .33s ease;
}
.main-navigation .main-nav ul ul li > a::after {
  border-bottom: 2px solid #303f9f;
  content: '';
  display: block;
  height: 0;
  margin-bottom: -2px;
  opacity: 0;
  transition: opacity .33s linear,
    width .25s ease-out;
  width: 1px;
}
.main-navigation .main-nav ul ul li:hover > a::after,
.main-navigation .main-nav ul ul li:focus > a::after,
.main-navigation .main-nav ul ul li.sfHover > a::after,
.main-navigation .main-nav ul ul li[class*="current-menu-"] > a::after,
.main-navigation .main-nav ul ul li[class*="current-menu-"] > a:hover::after,
.main-navigation .main-nav ul ul li[class*="current-menu-"].sfHover > a::after {
  opacity: 1;
  width: 100%;
}
/*!
 * Slideout Menu Submenus
 */
#generate-slideout-menu.main-navigation .main-nav ul ul {
  border-left-width: 0;
  border-right-width: 0;
  box-shadow: 0 2px 6px -2px inset rgba(0,0,0,.15);
}

/*!
 * Page Header
 */
.inside-page-header :last-child {
  margin-bottom: 0;
}
/*!
 * Header Featured Images constrained to screen height
 */
.featured-image img {
  max-height: 100vh;
  width: auto;
}

/*!
 * Content
 */

/* View Archive links */
.fofg-view-archives {
  display: inline-block;
  float: right;
  font-size: .6em;
  margin-left: 2.0835em;
  padding-top: .6em;
}

/*!
 * Image Links & Video Image Overlays zoom on hover
 */
.generate-columns-container .inside-article .post-image,
.wp-show-posts-image,
.elementor-open-lightbox {
  line-height: 0;
  overflow: hidden;
  position: relative;
}
.generate-columns-container .inside-article .post-image img,
.wp-show-posts-image img,
.elementor-custom-embed-image-overlay img {
  transition: transform .33s ease-out;
}
.generate-columns-container .inside-article .post-image a:hover img,
.wp-show-posts-image a:hover img,
.elementor-custom-embed-image-overlay:hover img {
  transform: scale(1.2);
}

/*!
 * Image Links & Video Image Overlays vignette effect on hover
 */
.generate-columns-container .inside-article .post-image a::after,
.wp-show-posts-image a::after,
.elementor-custom-embed-image-overlay::after {
  background: radial-gradient(#fff 55%, #000 90%);
  content: '';
  height: 100%;
  left: 0;
  opacity: 0;
  position: absolute;
  top: 0;
  transition: opacity 1s linear;
  width: 100%;
}
.generate-columns-container .inside-article .post-image a:hover::after,
.wp-show-posts-image a:hover::after,
.elementor-custom-embed-image-overlay:hover::after {
  opacity: .13;
}

/*!
 * Post List Text more compact
 */
.generate-columns-container .inside-article {
  padding: 0;
}
.generate-columns-container .inside-article .post-image,
.wp-show-posts-image {
  margin-bottom: .5em;
}
.wp-show-posts-entry-header {
  margin: 0;
}
.generate-columns-container .entry-content,
.generate-columns-container .entry-summary,
.wp-show-posts-entry-summary,
.wp-show-posts-entry-content {
  margin: .5em 0 0;
}
.generate-columns-container .entry-content p,
.generate-columns-container .entry-summary p,
.wp-show-posts-entry-summary p,
.wp-show-posts-entry-content p {
  margin-bottom: .5em;
}
.generate-columns-container footer.entry-meta {
  margin-top: .5em;
}
.wp-show-posts-entry-summary,
.wp-show-posts-entry-content {
  padding-bottom: .5em;
}

/*!
 * Buttons
 */
button:not(.menu-toggle):not(.customize-partial-edit-shortcut-button),
html input[type="button"],
input[type="reset"],
input[type="submit"],
a.button,
a.button:visited,
.wp-show-posts a.wp-show-posts-read-more,
.wp-show-posts a.wp-show-posts-read-more:visited {
  border: 1px solid #ac0800;
  border-radius: 5px;
  border-width: 0 0 1px 0;
  box-shadow: 0 2px 6px -2px rgba(0,0,0,.3);
  display: block;
  font-family: "Noto Serif",serif;
  font-size: 20px;
  font-weight: bold;
  letter-spacing: 1px;
  line-height: 1.2;
  margin: 0 auto;
  padding: 10px 20px;
  text-align: center;
  text-shadow: 0 1px 0 #ac0800, 0 0 1px rgba(0,0,0,.6);
  transition: background-color .33s ease-in,
    border-color .33s ease-in,
    text-shadow .33s ease-in;
  width: 100%;
  word-spacing: 1px;
}
button:not(.menu-toggle):not(.customize-partial-edit-shortcut-button):hover,
html input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover,
a.button:hover,
.wp-show-posts a.wp-show-posts-read-more:hover,
button:not(.menu-toggle):not(.customize-partial-edit-shortcut-button):focus,
html input[type="button"]:focus,
input[type="reset"]:focus,
input[type="submit"]:focus,
a.button:focus,
.wp-show-posts a.wp-show-posts-read-more:focus {
  border-color: #c75b39;
  border-width: 0 0 1px 0;
  text-shadow: 0 1px 0 #c75b39, 0 0 1px rgba(0,0,0,.6);
}
.site-content .site-main .load-more {
  margin-top: 20px;
}
@media(min-width: 1025px) {
  .grid-66 button,
  .grid-66 html input[type="button"],
  .grid-66 input[type="reset"],
  .grid-66 input[type="submit"],
  .grid-66 a.button,
  .grid-66 a.button:visited {
    width: calc(50% - 10px);
  }
}

/*!
 * 404 Not Found
 */
body.search .site-content .site-main .search-field,
body.error404 .site-content .site-main .search-field {
  margin-bottom: 1.2em;
  width: 100%;
}
body.search-no-results .site-content .site-main .load-more,
body.error404 .site-content .site-main .load-more {
  display: none;
}

/*!
 * WP Show Posts
 */
.wpsp-read-more {
  display: block;
}

/*!
 * Popup Maker
 */
html.pum-open.pum-open-overlay.pum-open-scrollable body > [aria-hidden] {
  padding-right: 0;
}
html.pum-open.pum-open-overlay.pum-open-scrollable .pum-overlay.pum-active {
  overflow-y: auto;
}
.pum-container {
  margin-bottom: 0;
}
.pum-theme-default-theme .pum-content + .pum-close:hover,
.pum-theme-default-theme .pum-content + .pum-close:focus {
  color: #2196f3;
}

/*!
 * Sidebar
 */
.theiaStickySidebar {
  top: 2px !important;
}

/*!
 * Mobile & Tablet
 */
@media (max-width: 768px) {
  /*!
   * Top Bar
   */
  .top-bar .widget_nav_menu li {
    padding: 3px 0;
  }

  /*!
   * Site Branding
   */
  /*
  .inside-header > :not(:last-child):not(.main-navigation) {
    margin-bottom: 10px;
  }
  [class*="nav-float-"] .site-header .inside-header > .site-branding {
    float: left;
    margin-left: 132px;
  }
  [class*="nav-float-"] .site-header .inside-header > .site-logo {
    float: left;
    left: 0;
    margin-right: 0;
    position: absolute;
    top: 0;
  }
  */
  .main-title,
  .site-logo,
  .inside-header > .site-logo:not(:last-child) {
    margin-bottom: 0;
    padding: 0;
  }
  .main-title {
    line-height: 1;
  }

  /*!
   * Sticky Navigation Site Branding
   */
  .sticky-enabled .is_stuck#sticky-navigation.main-navigation {
    margin-bottom: 14px;
  }
  .main-navigation .navigation-logo a {
    height: 60px;
    padding: 0;
  }
  .is_stuck.main-navigation .navigation-logo a {
    height: 50px;
  }
  .main-navigation .site-logo.navigation-logo .header-image,
  .mobile-header-navigation .site-logo.mobile-header-logo .header-image {
    height: 65px;
    margin-bottom: -15px;
    transition: none;
  }
  /*!
   * Alternate Site Branding
   */
  .main-navigation .navigation-logo .site-branding-alt {
    left: 100px;
  }
  .site-branding-alt .alt-title {
    font-size: 20px;
    padding: 15px 0 15px 15px;
  }

  /*!
   * Primary Navigation
   */
  [class*="nav-float-"] .site-header .inside-header > #site-navigation {
    float: right;
  }
  #site-navigation .main-nav li.slideout-toggle {
    display: none !important;
  }
  #site-navigation .main-nav li.custom.slideout-toggle {
    display: inline-block !important;
  }
  /*!
   * @source https://generatepress.com/forums/topic/disable-responsive-menus/#post-320481
   */
  #site-navigation .menu-toggle,
  #site-navigation .mobile-bar-items {
    display: none;
  }
  #site-navigation ul {
    display: block;
  }
  #site-navigation .main-nav li {
    clear: none;
    display: inline-block !important;
    float: none;
  }
  #site-navigation .main-nav ul ul {
    position: absolute;
    top: auto;
    width: 200px;
  }
  #site-navigation .main-nav ul ul ul {
    left: 100%;
    top: 0;
  }
  #site-navigation ul ul .dropdown-menu-toggle:before {
    content: "\f105" !important;
  }

  /*!
   * Sticky Navigation
   */
  .main-navigation ul.custom-search-menu {
    display: block;
  }
  .main-navigation .menu li.custom.search-item {
    display: inline-block !important;
  }
}
/*!
 * Mobile Portrait Orientation
 */
@media (max-width: 479px) {
  /*!
   * Top Bar
   */
  .top-bar {
    display: none;
  }

  /*!
   * Header
   */
  .site-header {
    padding-top: 8px;
  }

  /*!
   * Site Branding
   */
  /*
  [class*="nav-float-"] .site-header .inside-header > .site-branding {
    float: none;
    margin-left: 0;
  }
  [class*="nav-float-"] .site-header .inside-header > .site-logo {
    float: none;
    margin: 0;
    position: static;
  }
  .main-title {
    padding-top: 10px;
  }
  .site-logo a {
    padding: 0;
  }
  */
  /*!
   * Sticky Navigation Branding
   */
  :not(.is_stuck).main-navigation .navigation-logo a {
    display: inline;
  }
  :not(.is_stuck).main-navigation .site-logo.navigation-logo .header-image,
  :not(.is_stuck).mobile-header-navigation .site-logo.mobile-header-logo .header-image {
    display: inline;
    float: none;
    height: 80px;
    padding: 0;
  }
  :not(.is_stuck).main-navigation .navigation-logo .site-branding {
    margin: 0 0 -5px;
  }
  :not(.is_stuck).main-navigation .navigation-logo .site-branding-alt {
    display: none;
  }
  :not(.is_stuck).main-navigation .navigation-logo .site-branding .main-title {
    padding-top: 20px;
  }

  /*!
   * Primary Navigation
   */
  [class*="nav-float-"] .site-header .inside-header > #site-navigation {
    float: none;
  }
  :not(.is_stuck).main-navigation .main-nav {
    float: none;
    margin: 0 auto;
    max-width: 395px;
  }
}
/*!
 * Mobile Landscape Orientation
 */
@media (max-height: 479px) {
  /*!
   * Top Bar
   */
  .top-bar {
    display: none;
  }

  /*!
   * Header
   */
  .site-header {
    padding-top: 8px;
  }
}
