/* Small static replacement for the original theme's JavaScript-driven layout. */
html { scroll-behavior: smooth; }
body { overflow-x: hidden; }
body { font-family: Merriweather, serif !important; }
.topnav li a, .topnav li a:visited, h1, h2, h3, h4, h5, h6, .bigtext { font-family: Montserrat, sans-serif !important; }
#subbody .container { max-width: 1040px; }
#footerwrapper { background: #252525 url('/wp-content/uploads/2014/03/SMSITEfooter2-1024x102.jpg') repeat top center; }
body:not(.nvrflippage) #outerheader { background: #fff; border-bottom: 1px solid #eee; }
body:not(.nvrflippage) .topnav a { color: #555; }
body:not(.nvrflippage) .topnav .current-menu-item > a { color: #c9bc00; }
button { cursor: pointer; }
/* Theme animation classes start hidden; the static site has no reveal plugin. */
.element_from_top, .element_from_bottom, .element_from_left, .element_from_right {
  opacity: 1;
  top: auto;
  bottom: auto;
  left: auto;
  right: auto;
}
#content-contact .static-contact-details { float: none; margin-left: auto; margin-right: auto; }

/* Home keeps the original full-screen sections and background images. */
.nvrflippage #outermain, .nvrflippage .bb-custom-wrapper, .nvrflippage .bb-bookblock { height: 100vh; min-height: 500px; }
.nvrflippage .bb-bookblock { overflow: hidden; }
.nvrflippage .bb-item { display: none; position: absolute; inset: 0; width: 100%; height: 100%; overflow-y: auto; background: #fff; }
.nvrflippage .bb-item.is-active { display: block; }
.nvrflippage .bb-item .section.default { min-height: 100%; box-sizing: border-box; }
.nvrflippage .bb-item .section.slider, .nvrflippage .slidercontainer, .nvrflippage .slideritems, .nvrflippage .slides { height: 100%; }
.nvrflippage .slides > li { display: none; height: 100%; background-size: cover; background-position: center; }
.nvrflippage .slides > li.is-active-slide { display: block; }
.nvrflippage .slides img.slider-img { width: 100%; height: 100%; opacity: 0; }
.nvrflippage .section.slider .flex-caption { transform: none; }
.static-slide-controls { position: absolute; z-index: 30; inset: 50% 15px auto; display: flex; justify-content: space-between; pointer-events: none; }
.static-slide-controls button { pointer-events: auto; border: 0; width: 43px; height: 43px; border-radius: 50%; color: #fff; background: rgba(0,0,0,.25); font-size: 25px; line-height: 43px; }
.static-slide-controls button:hover, .static-slide-controls button:focus { background: #fff200; color: #252525; }
.nvrflippage #footerwrapper.is-open { height: 90px; }
#togglefoterwrapper { user-select: none; }
.nvrflippage .section.default .container { padding-bottom: 40px; }

@media (max-width: 767px) {
  #outerheader { background: rgba(255,255,255,.95); }
  #outerheader .navigation { position: fixed; top: 13px; right: 16px; z-index: 10001; float: none; width: 66px; }
  a.nav-toggle { display: block; width: 66px; color: #333 !important; text-align: center; }
  .topnav.sf-menu { display: none; position: fixed; left: 0; top: 92px; width: 100%; background: #252525; }
  .topnav.sf-menu.is-open { display: block !important; }
  .topnav.sf-menu li { display: block; margin: 0; }
  .topnav.sf-menu a { display: block; padding: 14px 24px; color: #fff !important; }
  .nvrflippage .bb-item .section.default { padding-top: 115px !important; }
  .nvrflippage .section.slider .caption-content h2 { font-size: 38px; }
}
@media (min-width: 768px) {
  body.nvrflippage #outerheader { background: transparent; border-bottom: 0; }
  body.nvrflippage.light-menu .topnav a { color: #fff; }
  body.nvrflippage:not(.light-menu) .topnav a { color: #555; }
}

.utility-page { background: #fff; color: #555; }
.utility-header { display: flex; align-items: center; justify-content: space-between; gap: 30px; max-width: 1040px; margin: auto; padding: 16px 24px; }
.utility-header img { height: 66px; width: auto; }
.utility-header nav { display: flex; flex-wrap: wrap; gap: 24px; font: 700 13px Montserrat, sans-serif; text-transform: uppercase; }
.utility-header a { text-decoration: none; }
.utility-main { min-height: 60vh; max-width: 1040px; margin: auto; padding: 70px 24px; }
.utility-main h1 { text-transform: uppercase; }
.utility-footer { background: #252525; color: #fff; padding: 24px; text-align: center; }
@media (max-width: 767px) { .utility-header { display: block; } .utility-header nav { margin-top: 15px; gap: 12px; } }
