/*-------------------------------------------------------*/
/* Site styles layered on top of the theme (style.css).   */
/* Replaces the old inline styles; theme look unchanged.  */
/*-------------------------------------------------------*/
.brand {
  font-family:"Brush Script MT",cursive;
}
.visually-hidden {
  position:absolute!important;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}
img {
  max-width:100%;
  height:auto;
}
address {
  font-style:normal;
}
.justify {
  text-align:justify;
}
.offset-top {
  padding-top:20px;
}

/* Header banner doubles as a home link */
.post-info-bar {
  position:relative;
}
.post-info-bar a {
  position:absolute;
  top:0;
  right:0;
  bottom:30px;
  left:0;
}

/* Mobile menu button: only shown on narrow screens when JS is running */
.menu-toggle {
  display:none;
}

/* Spacing that used to come from <br /> tags */
#content {
  padding-top:40px;
}
#content.home {
  padding-top:20px;
}

/* Home page photo */
.photo-right {
  float:right;
  margin:0 0 15px 30px;
}

/* Services price table */
.table-scroll {
  overflow-x:auto;
}
.price-table {
  width:100%;
}
.price-table th {
  text-align:left;
}
.price-table .label-col {
  width:30%;
}

/* Contact columns */
.contact-info {
  text-align:center;
}

/*-------------------------------------------------------*/
/* Narrow screens: same theme, fluid layout               */
/*-------------------------------------------------------*/
@media (max-width:1000px) {
  .center {
    width:auto;
  }
  #container {
    float:none;
    width:auto;
    margin:0;
    padding:0 16px;
  }
  #header {
    height:auto;
  }
  .post-info-bar {
    float:none;
    width:auto;
    height:min(150px,32.6vw);
    padding:0;
    margin:0 -16px;
    background-size:auto 100%;
    background-position:center top;
  }
  .post-info-bar a {
    bottom:20%;
  }
  #main_navigation {
    float:none;
    width:auto;
    height:auto;
    margin:-10px -16px 0;
  }
  .main-menu ul {
    overflow:hidden;
  }
  .main-menu ul li {
    float:none;
    display:block;
    width:auto;
  }
  .main-menu ul li a,.main-menu ul li a:link,.main-menu ul li a:visited {
    margin-right:0;
    border-left:0;
    border-right:0;
    border-top:1px solid rgba(255,255,255,.35);
  }
  .main-menu ul li:first-child a {
    border-top:0;
  }
  .js #main_navigation .menu-toggle {
    display:flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    width:100%;
    height:50px;
    padding:0 16px;
    margin:0;
    background:transparent;
    border:0;
    color:#fff;
    font:bold 13px 'Myriad Pro',arial,serif;
    text-transform:uppercase;
    cursor:pointer;
  }
  .js #main_navigation .menu-toggle:focus-visible {
    outline:2px solid #fff;
    outline-offset:-6px;
  }
  .menu-toggle-icon,.menu-toggle-icon::before,.menu-toggle-icon::after {
    display:block;
    width:20px;
    height:2px;
    background:#fff;
    transition:transform .2s ease,background .2s ease;
  }
  .menu-toggle-icon {
    position:relative;
  }
  .menu-toggle-icon::before,.menu-toggle-icon::after {
    content:"";
    position:absolute;
    left:0;
  }
  .menu-toggle-icon::before {
    top:-6px;
  }
  .menu-toggle-icon::after {
    top:6px;
  }
  .menu-open .menu-toggle-icon {
    background:transparent;
  }
  .menu-open .menu-toggle-icon::before {
    transform:translateY(6px) rotate(45deg);
  }
  .menu-open .menu-toggle-icon::after {
    transform:translateY(-6px) rotate(-45deg);
  }
  .js #main_navigation ul {
    display:none;
  }
  .js #main_navigation.menu-open ul {
    display:block;
  }
  .js .main-menu ul li:first-child a {
    border-top:1px solid rgba(255,255,255,.35);
  }
  #content,#content.home {
    float:none;
    padding-top:24px;
  }
  #content::after {
    content:"";
    display:block;
    clear:both;
  }
  .one,.one-half,.one-third {
    float:none;
    width:auto;
    margin-right:0;
  }
  .offset-top {
    padding-top:0;
  }
  .photo-right {
    float:none;
    display:block;
    margin:0 auto 20px;
  }
  .contact-info .one-third {
    margin-bottom:10px;
  }
  .price-table th,.price-table td {
    padding:8px 6px;
  }
  .price-table th {
    font-size:13px;
  }
  .price-table .label-col {
    width:auto;
  }
  #copyright-wrapper {
    float:none;
    width:auto;
    margin:0 -16px;
    padding:15px 16px 5px;
  }
}
