@charset "utf-8";

/*
  Allwrite Publishing conservative modernization layer.
  This intentionally lets layout/styles/layout.css keep control of the
  established site look while adding only shared-header, form, accessibility,
  and mobile-navigation support.
*/

:root{
  --awp-red:#C84F4F;
  --awp-red-dark:#9D393D;
  --awp-ink:#22252A;
  --awp-muted:#666B72;
  --awp-line:#D9D9D9;
}

img{max-width:100%;height:auto;}

/* Accessibility */
.skip-link{
  position:fixed;
  top:10px;
  left:10px;
  z-index:99999;
  transform:translateY(-180%);
  padding:10px 14px;
  color:#fff !important;
  background:var(--awp-red-dark);
  border-radius:4px;
}
.skip-link:focus{transform:translateY(0);}
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible{
  outline:3px solid #F0B54D;
  outline-offset:2px;
}

/* Restore the legacy desktop header geometry for the shared include. */
#header #logo{float:left;}
#mainav{float:right;}
#header #logo img{display:block;max-height:105px;width:auto;}
.site-menu-toggle{display:none;}

/* Shared modern forms without changing the rest of the site's layout. */
.form-page{
  padding:60px 0;
  background:#fff;
}
.form-card{
  width:min(92%,760px);
  margin:0 auto;
  padding:34px;
  color:var(--awp-ink);
  background:#fff;
  border:1px solid var(--awp-line);
  box-shadow:0 8px 28px rgba(0,0,0,.08);
}
.form-card h1{margin-top:0;}
.form-intro{margin-bottom:28px;color:var(--awp-muted);}
.field{margin-bottom:20px;}
.field label{
  display:block;
  margin-bottom:6px;
  font-weight:700;
}
.form-card input,
.form-card textarea,
.form-card select{
  display:block;
  box-sizing:border-box;
  width:100%;
  padding:12px 13px;
  border:1px solid #B7BBC1;
  background:#fff;
  color:var(--awp-ink);
  font:inherit;
}
.form-card textarea{min-height:170px;resize:vertical;}
.form-card button[type="submit"]{
  min-height:44px;
  padding:10px 22px;
  border:0;
  color:#fff;
  background:var(--awp-red);
  font-weight:700;
  cursor:pointer;
}
.form-card button[type="submit"]:hover{background:var(--awp-red-dark);}
.form-card button[disabled]{opacity:.65;cursor:wait;}
.form-trap{
  position:absolute!important;
  left:-10000px!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important;
}
.form-status{
  display:none;
  margin:0 0 20px;
  padding:12px 14px;
}
.form-status.error{
  display:block;
  color:#5B2100;
  background:#FFE0C7;
  border:1px solid #F0A96C;
}
.form-status.success{
  display:block;
  color:#123E2C;
  background:#DDF6E9;
  border:1px solid #8DD2AE;
}
.form-loader{
  display:none;
  width:28px;
  height:28px;
  margin-top:16px;
  border:3px solid #DDD;
  border-top-color:var(--awp-red);
  border-radius:50%;
  animation:awp-spin .7s linear infinite;
}
.form-loader.is-visible{display:block;}
@keyframes awp-spin{to{transform:rotate(360deg);}}

/* Keep the legacy three-column footer layout. */
#footer .group > .one_third{box-sizing:border-box;}
#footer address{font-style:normal;}
#footer input[type="email"]{box-sizing:border-box;}

/* Back-to-top behavior for the replacement site.js. */
#backtotop{
  opacity:0;
  visibility:hidden;
}
#backtotop.visible{
  opacity:.5;
  visibility:visible;
}
#backtotop:hover{opacity:1;}

/* Mobile navigation */
@media screen and (max-width:900px){
  #header #logo{float:none;display:inline-block;margin:20px 0;}
  #mainav{float:none;width:100%;}

  .site-menu-toggle{
    display:inline-block;
    float:right;
    margin:24px 0 0 15px;
    padding:9px 12px;
    border:1px solid rgba(255,255,255,.35);
    color:#fff;
    background:rgba(0,0,0,.30);
    cursor:pointer;
  }

  #mainav > ul{display:none!important;}
  #mainav.is-open > ul{
    display:block!important;
    width:100%;
    margin:8px 0 16px;
    padding:0;
    background:rgba(0,0,0,.92);
  }
  #mainav.is-open > ul > li{
    display:block;
    width:100%;
    margin:0;
  }
  #mainav.is-open > ul > li > a{
    padding:12px 15px;
  }
  #mainav.is-open li ul{
    position:static;
    display:block;
    visibility:visible;
    opacity:1;
    width:auto;
    margin:0;
    background:transparent;
  }
  #mainav.is-open li li a{
    padding:9px 28px;
    border:0;
    color:#ddd;
    background:transparent;
  }
}

@media screen and (max-width:750px){
  #header{text-align:center;}
  #header #logo{display:block;float:none;margin:18px auto 8px;}
  .site-menu-toggle{float:none;margin:4px auto 14px;}
  .form-card{width:94%;padding:24px 18px;}
}
