/*
Theme Name: OceanWP Child Theme
Theme URI: https://oceanwp.org/
Description: OceanWP WordPress theme. Sample child theme.
Author: OceanWP
Author URI: https://oceanwp.org/
Template: oceanwp
Version: 1.0.1
*/

/* Parent stylesheet should be loaded from functions.php not using @import */

@font-face {
    font-family: 'efco-godfrey';
    src: url('fonts/efcogodfrey-webfont.woff2') format('woff2'),
         url('fonts/efcogodfrey-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

/* Force Sticky Footer bar to always stay open at bottom */
#footer-bar {
    position: fixed !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    transform: none !important;
    z-index: 9999 !important;
    height: auto !important;
    padding: 0 !important;
}

/* Hide the open/close toggle button */
#footer-bar .osf-btn {
    display: none !important;
}

/* Hide scroll to top icon */
#footer-bar #scroll-top {
    display: none !important;
}

/* Prevent JavaScript from hiding the footer bar */
#footer-bar.footer-nav-visible,
#footer-bar {
    visibility: visible !important;
    opacity: 1 !important;
}

/* Position copyright inside the fixed sticky bar */
#footer-bottom {
    position: static !important;
    margin: 0 !important;
    padding: 0 !important;
}

#footer-bottom #copyright {
    text-align: center !important;
}

/* Force sticky footer to show full footer widgets area */
.osf-footer .site-footer {
    max-height: none !important;
    height: auto !important;
    overflow: visible !important;
}

/* Allow footer widgets content to expand */
.osf-footer #footer-widgets .footer-box {
    max-height: none !important;
    overflow: visible !important;
}

/* Prevent footer widgets from being clipped under fixed footer-bottom */
#footer-widgets {
    padding-bottom: 30px !important;
}
#footer-widgets .footer-widgets-inner,
#footer-widgets .footer-box {
    overflow: visible !important;
}
#footer-bottom {
    padding: 8px 0 !important;
}

/* Zero footer widgets/bottom padding so spacing can be controlled in the template */
#footer-widgets {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}
#footer-bottom {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

/* Sticky footer bar layout for embedded copyright */
#footer-bar {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
}
#footer-bar .osf-left,
#footer-bar .osf-right {
    display: flex !important;
    align-items: center !important;
}
#footer-bar .osf-text {
    margin-left: 10px !important;
}
#footer-bar #osf-copyright {
    flex: 1 1 auto !important;
    text-align: center !important;
    font-size: 12px !important;
    line-height: 1.2 !important;
    padding: 4px 10px !important;
}

/* Rollback: restore fixed footer-bottom and default footer-bar layout */
#footer-bottom {
    position: fixed !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 10000 !important;
    margin: 0 !important;
    padding: 15px 0 !important;
}
#footer-bar {
    display: block !important;
}
#footer-bar .osf-left,
#footer-bar .osf-right {
    display: block !important;
}
#footer-bar #osf-copyright {
    display: none !important;
}

/* Ensure sticky footer does not clamp footer widgets */
body.osf-footer .site-footer {
    max-height: none !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
}
body.osf-footer #footer-widgets {
    overflow: visible !important;
    padding-bottom: 40px !important;
}

/* Visit Us mobile: stack columns with map below text */
@media (max-width: 768px) {
  body.page-id-404 .wp-block-columns {
    flex-direction: column-reverse;
  }
}

/* Visit Us mobile: force reverse stack for core Columns */
@media (max-width: 781px) {
  body.page-id-404 .wp-block-columns,
  body.page-id-404 .wp-block-columns.is-not-stacked-on-mobile {
    flex-direction: column-reverse !important;
    flex-wrap: wrap !important;
  }
  body.page-id-404 .wp-block-columns > .wp-block-column {
    flex-basis: 100
/* Visit Us mobile: force reverse stack for core Columns */
@media (max-width: 781px) {
  body.page-id-404 .wp-block-columns,
  body.page-id-404 .wp-block-columns.is-not-stacked-on-mobile {
    flex-direction: column-reverse !important;
    flex-wrap: wrap !important;
  }
  body.page-id-404 .wp-block-columns > .wp-block-column {
    flex-basis: 100% !important;
    width: 100% !important;
  }
}

/* Visit Us: override block inline layout class */
@media (max-width: 781px) {
  body.page-id-404 .wp-container-core-columns-is-layout-9d6595d7 {
    flex-wrap: wrap !important;
    flex-direction: column-reverse !important;
  }
}

/* Visit Us: force column order and remove float on mobile */
@media (max-width: 781px) {
  body.page-id-404 .wp-block-columns.is-layout-flex {
    flex-wrap: wrap !important;
  }
  body.page-id-404 .wp-block-columns.is-layout-flex > .wp-block-column {
    flex-basis: 100% !important;
    width: 100% !important;
  }
  body.page-id-404 .wp-block-columns.is-layout-flex > .wp-block-column:first-child {
    order: 2 !important;
  }
  body.page-id-404 .wp-block-columns.is-layout-flex > .wp-block-column:last-child {
    order: 1 !important;
  }
  body.page-id-404 .wp-block-image.alignleft,
  body.page-id-404 .wp-block-image.alignright {
    float: none !important;
    margin: 0 auto 16px !important;
  }
}

/* Visit Us: hard override specific columns instance on mobile */
@media (max-width: 781px) {
  body.page-id-404 .wp-block-columns.wp-container-core-columns-is-layout-9d6595d7 {
    display: flex !important;
    flex-direction: column-reverse !important;
    flex-wrap: wrap !important;
  }
  body.page-id-404 .wp-block-columns.wp-container-core-columns-is-layout-9d6595d7 > .wp-block-column {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    width: 100% !important;
  }
}

/* Visit Us: scoped mobile column order */
@media (max-width: 781px) {
  body.page-id-404 .visit-us-columns {
    display: flex !important;
    flex-direction: column-reverse !important;
    flex-wrap: wrap !important;
  }
  body.page-id-404 .visit-us-columns > .wp-block-column {
    flex: 0 0 100% !important;
    width: 100% !important;
    max-width: 100% !important;
  }
}

/* Visit Us: make map image full-width and centered */
body.page-id-404 .visit-us-columns .wp-block-image,
body.page-id-404 .visit-us-columns .wp-block-image img {
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
}
body.page-id-404 .visit-us-columns .wp-block-image.alignleft,
body.page-id-404 .visit-us-columns .wp-block-image.alignright {
  float: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Visit Us: force map figure to fill its column */
body.page-id-404 .visit-us-columns .wp-block-image.alignright,
body.page-id-404 .visit-us-columns .wp-block-image.alignleft {
  float: none !important;
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
}
body.page-id-404 .visit-us-columns .wp-block-image.alignright img,
body.page-id-404 .visit-us-columns .wp-block-image.alignleft img {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
}

/* Get In Touch: prevent text overflow on mobile */
@media (max-width: 781px) {
  body.page-id-286 .wp-block-columns.is-layout-flex {
    flex-wrap: wrap !important;
  }
  body.page-id-286 .wp-block-columns.is-layout-flex > .wp-block-column {
    flex: 0 0 100% !important;
    width: 100% !important;
    max-width: 100% !important;
  }
  body.page-id-286 .ogb-section.ogb-section-91f58f1f {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  body.page-id-286 .ogb-section.ogb-section-91f58f1f p,
  body.page-id-286 .ogb-section.ogb-section-91f58f1f h2 {
    max-width: 100% !important;
  }
}
