/* Reconstructed Muffin/BeTheme (mfn) grid + core layout.
   The original theme's base.css / layout.css / responsive.css were never
   archived by Wayback (only 2026 redirect records survive). This faithfully
   reproduces the standard Muffin 4%-gutter float grid + essential helpers so
   the archived markup (.section/.column/.one-third/etc.) lays out correctly.
   Loaded AFTER the page's inline critical CSS, so it only fills the gaps. */

/* ---- base normalize ---- */
*{box-sizing:border-box}
img.scale-with-grid{max-width:100%;height:auto}
.clearfix:after,.wrap:after,.section_wrapper:after,.column:after{content:"";display:table;clear:both}

/* ---- sections + centered wrapper ---- */
.section{clear:both;position:relative;width:100%}
.section .section_wrapper,.section_wrapper.mcb-section-inner{max-width:1220px;margin:0 auto;padding-left:20px;padding-right:20px;position:relative}
.four-columns .section_wrapper{max-width:1220px}

/* ---- columns: float grid with 4% gutters ---- */
.wrap.mcb-wrap,.column.mcb-column{float:left;position:relative;margin:0 4% 0 0}
.wrap.mcb-wrap{margin-bottom:0}
.column{margin-bottom:20px}
.mcb-wrap.mcb-wrap-last,.column.mcb-column-last,.column-last,.wrap-last{margin-right:0!important}
.mcb-wrap.one,.column.one{width:100%;float:none;margin-right:0;clear:both}
.one-second{width:48%}
.one-third{width:30.6667%}
.two-third{width:65.3333%}
.one-fourth{width:22%}
.three-fourth{width:74%}
.one-fifth{width:16.8%}
.two-fifth{width:37.6%}
.three-fifth{width:58.4%}
.four-fifth{width:79.2%}
.one-sixth{width:13.3333%}
.five-sixth{width:82.6667%}
/* rows self-clear */
.wrap{min-height:1px}

/* ---- column visuals used by the theme ---- */
.column_image,.column_photo_box{margin-bottom:20px}
.image_frame{border:0;margin:0;display:block;line-height:0}
.image_frame img{width:100%;height:auto;display:block}
.column_placeholder{min-height:1px}
.column-margin-10px{margin-bottom:10px}
.column-margin-0px{margin-bottom:0}
.valign-top{vertical-align:top}

/* ---- content spacing fallbacks ---- */
.the_content_wrapper p{margin:0 0 1.1em}
.column_column .the_content_wrapper h1,
.column_column .the_content_wrapper h2,
.column_column .the_content_wrapper h3{margin:.2em 0 .5em;line-height:1.2}
ul,ol{padding-left:1.2em}

/* ---- icon boxes / photo boxes ---- */
.icon_box{text-align:center;margin-bottom:20px}
.icon_box .desc h4{margin:.4em 0}
.photo_box img{width:100%;height:auto;display:block}

/* ---- buttons (fallback, inline CSS supplies colors where present) ---- */
a.button,.button a,.button_theme{display:inline-block;padding:10px 22px;border-radius:3px;
  text-decoration:none;line-height:1.4}

/* ---- images generic ---- */
.wp-caption{max-width:100%}
.wp-caption img{height:auto}
.aligncenter{display:block;margin:0 auto}
.alignleft{float:left;margin:0 20px 12px 0}
.alignright{float:right;margin:0 0 12px 20px}

/* ---- google maps embed ---- */
iframe{max-width:100%;border:0}

/* ---- responsive: collapse grid on tablet/mobile ---- */
@media only screen and (max-width:959px){
  .section .section_wrapper,.section_wrapper.mcb-section-inner{max-width:96%;padding-left:2%;padding-right:2%}
}
@media only screen and (max-width:767px){
  .wrap.mcb-wrap,.column.mcb-column,
  .one-second,.one-third,.two-third,.one-fourth,.three-fourth,
  .one-fifth,.two-fifth,.three-fifth,.four-fifth,.one-sixth,.five-sixth{
    width:100%!important;float:none!important;margin-right:0!important;clear:both}
  .alignleft,.alignright{float:none;display:block;margin:0 auto 12px}
}

/* ============================================================
   Header + main navigation (theme layout.css was never archived).
   Reproduces the mfn 'header-classic' horizontal nav + dropdowns.
   ============================================================ */
/* neutralize the JS 'loading' gate (menu.js was stripped) */
#Top_bar.loading,.loading{opacity:1!important;visibility:visible!important}
#Top_bar{position:relative;background:#fff;border-bottom:1px solid #eee}
#Top_bar .container{display:flex;align-items:center;justify-content:space-between;
  flex-wrap:wrap;gap:10px;max-width:1220px;margin:0 auto;padding:0 20px;min-height:80px}
/* one logo only */
.logo{margin:0;float:none;line-height:0}
.logo img{display:none!important}
.logo img.logo-main{display:inline-block!important;max-height:70px;width:auto}
#Top_bar .logo #logo{display:flex;align-items:center}
/* search widget — keep tidy/hidden on desktop top bar */
#Top_bar #search_button,#Top_bar .search_wrapper{display:none}
#Top_bar form.top_bar_right_wrapper input,#Top_bar #searchform{display:none}

/* main menu: horizontal */
#menu{float:none}
#menu>ul.menu,ul#menu-main-menu,nav#menu ul.menu{list-style:none;margin:0;padding:0;
  display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end}
#menu ul.menu>li{position:relative;list-style:none;margin:0}
#menu ul.menu>li>a{display:block;padding:14px 13px;color:#222;text-decoration:none;
  font-weight:600;font-size:14px;line-height:1.2;white-space:nowrap}
#menu ul.menu>li>a:hover,#menu ul.menu>li.current-menu-item>a{color:#e8590c}
#menu ul.menu>li>a .menu-arrow,#menu .menu-toggle{display:none}
/* dropdowns */
#menu ul.sub-menu{position:absolute;top:100%;left:0;min-width:210px;background:#fff;
  box-shadow:0 8px 22px rgba(0,0,0,.16);border-top:3px solid #e8590c;list-style:none;
  margin:0;padding:6px 0;display:none;z-index:9999}
#menu ul.menu>li:hover>ul.sub-menu{display:block}
#menu ul.sub-menu li{display:block;margin:0}
#menu ul.sub-menu a{display:block;padding:9px 18px;color:#333;white-space:nowrap;
  text-decoration:none;font-size:13.5px}
#menu ul.sub-menu a:hover{background:#f6f6f6;color:#e8590c}
#menu ul.sub-menu ul.sub-menu{top:0;left:100%}

/* mobile nav */
.mobile-nav-toggle{display:none;background:#e8590c;color:#fff;border:0;font-size:22px;
  padding:8px 14px;border-radius:4px;cursor:pointer;line-height:1}
@media only screen and (max-width:900px){
  #Top_bar .container{flex-wrap:wrap}
  .mobile-nav-toggle{display:inline-block;margin-left:auto}
  #menu{flex-basis:100%;display:none}
  #menu.open{display:block}
  #menu>ul.menu,nav#menu ul.menu{flex-direction:column;align-items:stretch}
  #menu ul.menu>li>a{padding:12px 6px;border-bottom:1px solid #eee}
  #menu ul.sub-menu{position:static;display:block;box-shadow:none;border-top:0;
    padding-left:14px;min-width:0}
  #menu ul.sub-menu a{padding:8px 6px}
}

/* ============================================================
   mfn responsive-visibility helpers (from the lost responsive.css).
   Betheme breakpoints: desktop >=768, tablet 768-959, mobile <768.
   ============================================================ */
@media only screen and (min-width:768px){ .hide-desktop{display:none!important} }
@media only screen and (min-width:768px) and (max-width:959px){ .hide-tablet{display:none!important} }
@media only screen and (max-width:767px){ .hide-mobile{display:none!important} }
/* bg-cover sections (inline style sets the image) */
.section.bg-cover{background-size:cover!important}
