/* Design contract shared by public pages and the private canvases. */
.website-surface{
  background:#fafaf8;
  color:#16191d;
  font-family:Figtree,system-ui,sans-serif;
  --brand-primary:#a5141c;
  --area-accent:#a5141c}

.website-surface .wide{
  max-width:1400px;
  width:100%;
  margin-inline:auto;
  padding-inline:clamp(16px,3vw,36px);
  box-sizing:border-box}

.website-surface h1,.website-surface h2,.website-surface h3{
  font-family:'Bricolage Grotesque',sans-serif;
  font-weight:600}

.website-surface .website-block{
  padding:clamp(64px,8vw,112px) 0;
  background:#fafaf8;
  scroll-margin-top:calc(var(--header-height,0px) + 16px)}

.website-surface .website-tone--white{
  background:#fff!important}
.website-surface .website-tone--paper{
  background:#fafaf8!important}

.website-surface .website-block__inner{
  gap:40px 80px;
  align-items:center}
.website-surface .website-block__copy{
  max-width:600px;
  display:flex;
  flex-direction:column;
  gap:18px}

.website-surface .website-block h1,.website-surface .website-block h2,.website-surface .website-block h3,.website-surface .website-prose{
  margin:0}

.website-surface .website-block h2{
  font-size:clamp(34px,4.4vw,60px);
  line-height:1;
  letter-spacing:-.035em;
  text-wrap:balance}

.website-surface .website-prose{
  font-size:18px;
  line-height:1.55;
  color:#4d535b;
  text-wrap:pretty}

.website-surface .website-eyebrow{
  margin:0;
  color:#16191d;
  display:flex;
  gap:10px;
  align-items:center;
  font-size:16px}

.website-surface .website-block__actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:6px}

.website-surface .button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:54px;
  padding:12px 26px;
  border-radius:999px;
  font-weight:600;
  font-size:17px;
  line-height:1.3;
  box-sizing:border-box;
  text-decoration:none;
  text-align:center;
  border:1.5px solid transparent;
  overflow-wrap:anywhere}

.website-surface .button--red{
  background:var(--brand-primary)!important;
  border-color:var(--brand-primary)!important;
  color:#fff}
.website-surface .button--red:hover{
  filter:brightness(.82);
  color:#fff}

.website-surface .button--outline{
  background:transparent;
  color:#16191d;
  border-color:#16191d}
.website-surface .button--outline:hover{
  background:#16191d;
  color:#fff}

.website-surface .website-layout--intro{
  padding:clamp(40px,6vw,88px) 0 clamp(56px,7vw,96px)}

.website-surface .website-layout--intro .website-block__inner{
  grid-template-columns:repeat(auto-fit,minmax(min(100%,460px),1fr));
  gap:40px clamp(40px,6vw,96px)}

.website-surface .website-layout--intro .website-block__copy{
  gap:20px;
  grid-column:auto!important;
  max-width:600px!important}

.website-surface .website-layout--intro h1{
  font-size:clamp(40px,5.4vw,78px);
  line-height:.98;
  letter-spacing:-.035em;
  text-wrap:balance}

.website-surface .website-layout--intro .website-prose{
  font-size:clamp(17px,1.5vw,20px);
  line-height:1.55}

.website-surface .website-picture-public img{
  width:100%;
  height:auto;
  aspect-ratio:var(--image-ratio,4/3);
  object-fit:cover;
  border-radius:24px;
  display:block}

.website-surface .website-layout--intro .website-picture-public img,.website-surface .website-picture-placeholder{
  aspect-ratio:5/4;
  border-radius:24px}

.website-surface .website-picture-placeholder{
  display:grid;
  align-content:center;
  justify-items:center;
  gap:12px;
  background:#dadbd5;
  color:#646b65;
  min-width:0}
.website-picture-placeholder i{
  font-size:40px}

.website-surface .website-layout--split .website-block__inner:has(>.website-picture-public){
  grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));
  gap:40px 80px}

.website-surface .website-layout--split.website-block--functional .website-picture-public img{
  object-fit:cover}

.website-surface .website-layout--accent .website-block__inner{
  max-width:1328px;
  width:calc(100% - 2 * clamp(16px,3vw,36px));
  padding:0;
  background:var(--brand-primary);
  color:white;
  border-radius:28px;
  gap:0;
  align-items:stretch}

.website-surface .website-layout--accent .website-block__copy{
  padding:clamp(28px,4.5vw,64px);
  justify-content:space-between;
  gap:24px}

.website-surface .website-layout--accent h2{
  font-size:clamp(60px,8.5vw,128px);
  line-height:.85;
  letter-spacing:-.05em;
  text-wrap:unset;
  white-space:pre-line}

.website-surface .website-layout--accent .website-eyebrow{
  color:#f7d6d6}
.website-surface .website-layout--accent .website-prose{
  color:#fbe9e9;
  line-height:1.45}

.website-surface .website-layout--accent .website-picture-public img{
  height:100%;
  min-height:320px;
  aspect-ratio:auto;
  border-radius:0}
.website-surface .website-layout--accent .button{
  background:#fff!important;
  color:#16191d;
  border-color:#fff!important}

.website-surface .website-layout--columns .website-block__inner,.website-surface .website-layout--tiles .website-block__inner,.website-surface .website-layout--logos .website-block__inner,.website-surface .website-layout--logotiles .website-block__inner{
  grid-template-columns:minmax(0,1fr);
  gap:36px}

.website-surface .website-cards{
  width:100%}
.website-surface .website-cards article{
  position:relative;
  min-width:0}

.website-surface .website-layout--columns .website-cards{
  gap:40px}
.website-surface .website-layout--columns .website-cards article{
  display:flex;
  gap:12px;
  padding-top:20px;
  border-top:2px solid #16191d;
  background:transparent}

.website-surface .website-layout--columns .website-cards h3{
  font-size:26px;
  line-height:1.05;
  letter-spacing:-.02em}
.website-surface .website-layout--columns .website-prose{
  font-size:17px;
  line-height:1.55}

.website-surface .website-layout--tiles .website-cards article{
  background:#f3f4f0;
  display:flex;
  gap:8px}
.website-surface .website-layout--tiles .website-cards h3{
  font-size:22px}
.website-surface .website-layout--tiles .website-prose{
  font-size:16px;
  line-height:1.5}

.website-surface .website-card-link{
  position:static}
.website-surface .website-card-link:after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  border-radius:inherit}
.website-surface .website-cards article:has(a:hover){
  background:#e9ebe4}

.website-surface .website-card-link:focus-visible:after{
  outline:3px solid var(--brand-primary);
  outline-offset:3px}

.website-surface .website-layout--actionpanel .website-block__inner,.website-surface .website-layout--orderflow .website-block__inner{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));
  gap:40px 80px;
  align-items:start}

.website-surface .website-action-panel{
  background:#fff;
  border:1px solid #e6e6e1;
  border-radius:22px;
  padding:clamp(20px,3vw,32px);
  display:flex;
  flex-direction:column;
  align-items:start;
  gap:14px;
  min-width:0}

.website-surface .website-action-panel ol{
  margin:0;
  padding-left:22px;
  display:flex;
  flex-direction:column;
  gap:10px;
  font-size:17px;
  line-height:1.5}
.website-action-panel li span{
  display:block;
  color:#5a6068}

.website-surface .website-action-panel:has(.request-form){
  background:transparent;
  border:0;
  border-radius:0;
  padding:0;
  display:block}

.website-surface .website-action-panel .wide{
  padding:0}
.website-surface .website-action-panel .request-form{
  max-width:none;
  display:block;
  margin:0}

.website-surface .website-inquiry-fields{
  gap:12px;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr))}
.website-surface .website-inquiry-fields label{
  font-size:15px;
  color:#4d535b;
  display:grid;
  gap:6px}

.website-surface .website-inquiry-fields input,.website-surface .website-inquiry-fields textarea{
  padding:12px;
  border-radius:10px;
  border:1px solid #d0d1cb;
  min-width:0;
  max-width:100%;
  box-sizing:border-box;
  width:100%;
  font-size:17px}
.website-inquiry-fields input{
  min-height:48px}

.website-surface .website-order-steps{
  list-style:none;
  padding:0;
  margin:0}
.website-surface .website-order-steps li{
  display:grid;
  grid-template-columns:44px minmax(0,1fr);
  gap:16px;
  padding:20px 0;
  border-top:1px solid #e6e6e1}

.website-surface .website-step-number{
  width:44px;
  height:44px;
  border-radius:999px;
  background:var(--area-accent);
  color:#fff;
  display:grid;
  place-items:center;
  font:600 18px 'Bricolage Grotesque',sans-serif}

.website-surface .website-order-steps h3{
  font-size:21px;
  line-height:1.2}
.website-surface .website-order-steps p{
  font-size:16px;
  line-height:1.5;
  color:#5a6068;
  margin:4px 0 0}

.website-surface .website-layout--facts .website-block__inner{
  grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));
  gap:40px 80px}
.website-surface .website-layout--facts .website-block__copy:empty{
  display:none}

.website-surface .website-facts{
  margin:0;
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:18px 28px;
  font-size:18px;
  line-height:1.5}
.website-surface .website-facts dt{
  color:#6a7078}
.website-surface .website-facts dd{
  margin:0;
  overflow-wrap:anywhere}

.website-surface .website-layout--logotiles .website-cards{
  grid-template-columns:repeat(auto-fill,minmax(140px,1fr));
  gap:10px}
.website-surface .website-layout--logotiles .website-cards article{
  background:#f3f4f0;
  border:0;
  border-radius:14px;
  padding:12px}
.website-surface .website-layout--logotiles .website-cards img{
  height:48px;
  object-fit:contain}

.website-surface .sr-only{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0}

.website-public .website-nav{
  display:flex;
  justify-content:center}
.website-public .website-nav__inner{
  width:100%;
  margin:0;
  max-width:1400px}

.website-public .website-nav-actions{
  position:absolute;
  right:clamp(10px,3vw,36px);
  top:50%;
  transform:translateY(-50%);
  display:none}
.website-public.is-scrolled .website-nav-actions{
  display:block}

.website-public .website-nav-actions .button{
  min-height:44px;
  font-size:15px;
  padding:10px 18px}

.website-public .website-nav-actions [hidden],.website-public .website-mobile-actions [hidden]{
  display:none!important}

.website-mobile-actions{
  display:none}

@media(min-width:1180px){
  .website-public.is-scrolled .website-nav__inner{
  padding-right:280px;
  padding-left:280px}
}

@media(max-width:1179px){
  .website-public .website-nav-actions{
  display:none!important}
}

@media(max-width:999px){
  .website-public{
  padding-bottom:var(--mobile-actions-height,calc(72px + env(safe-area-inset-bottom)))}
.website-mobile-actions{
  position:fixed;
  left:0;
  right:0;
  bottom:0;
  z-index:48;
  display:flex;
  gap:8px;
  padding:10px 12px calc(10px + env(safe-area-inset-bottom));
  background:rgba(250,250,248,.95);
  backdrop-filter:blur(10px);
  border-top:1px solid #e6e6e1}
.website-mobile-actions>.website-mobile-contact{
  flex-shrink:0;
  width:52px;
  height:52px;
  border:1px solid #d6d7d2;
  border-radius:999px;
  display:grid;
  place-items:center;
  font-size:22px;
  color:#16191d}
.website-mobile-actions .website-mobile-primary{
  flex:1;
  min-width:0}
.website-mobile-primary .button{
  width:100%;
  min-height:52px;
  padding:10px 16px}
.website-mobile-actions .button i{
  display:none}
}

@media(max-width:700px){
  .website-surface .website-facts{
  grid-template-columns:minmax(0,1fr);
  gap:4px}
.website-facts dd{
  margin-bottom:14px!important}
.website-surface .website-block--image-left .website-picture-public,.website-surface .website-block--image-left .website-block__copy{
  grid-column:auto;
  grid-row:auto}
}

.website-action-editor{
  border:1px solid #dfe1db;
  border-radius:12px;
  padding:16px;
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));
  gap:14px;
  min-width:0}
.website-action-editor legend{
  font-weight:600;
  padding:0 6px}
.website-form .website-checkbox{
  display:flex;
  align-items:center;
  gap:8px}
.website-form .website-checkbox input{
  width:auto}


.website-surface [aria-disabled=true],.website-surface .website-function[inert]{
  opacity:1;
  cursor:default}

.website-surface .website-location{
  padding-top:clamp(48px,6vw,88px);
  padding-bottom:clamp(48px,6vw,88px);
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));
  gap:32px clamp(32px,5vw,72px);
  align-items:stretch}

.website-location-copy{
  display:flex;
  flex-direction:column;
  gap:22px;
  max-width:560px}
.website-location-eyebrow{
  font-size:16px;
  color:var(--brand-primary);
  font-weight:600}

.website-location h2{
  font-size:clamp(32px,4vw,54px);
  line-height:1;
  letter-spacing:-.03em;
  margin:0}
.website-location address{
  font-style:normal;
  font-size:19px;
  line-height:1.5;
  display:flex;
  flex-direction:column;
  gap:2px}

.website-location .location__hours{
  font-size:16px;
  margin:0;
  color:#4d535b}
.website-location-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  align-items:center}

.website-location-actions .website-directions{
  display:flex;
  align-items:center;
  gap:14px;
  min-height:64px;
  padding:10px 26px 10px 12px;
  border-radius:999px;
  background:var(--brand-primary);
  color:#fff;
  font-weight:600;
  font-size:18px}
.website-directions>span{
  height:44px;
  width:44px;
  border-radius:999px;
  background:white;
  color:var(--brand-primary);
  display:grid;
  place-items:center;
  font-size:22px}

.website-location-actions button{
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:64px;
  padding:12px 22px;
  border-radius:999px;
  border:1px solid #d6d7d2;
  background:none;
  color:#16191d;
  font-weight:600;
  font-size:16px;
  cursor:pointer}

.website-location-map{
  position:relative;
  min-height:360px;
  border-radius:24px;
  overflow:hidden;
  background:#e9eae5;
  border:1px solid #e0e1dc}
.website-location-map iframe{
  position:absolute;
  inset:0;
  height:100%;
  width:100%;
  border:0}
.website-location-map [data-map-placeholder]{
  position:absolute;
  inset:0;
  display:flex;
  flex-direction:column;
  align-items:start;
  justify-content:end;
  gap:14px;
  padding:clamp(20px,3vw,32px)}

.website-location-map [data-map-placeholder]>i{
  font-size:40px;
  color:#4d535b}
.website-location-map strong{
  font-family:'Bricolage Grotesque',sans-serif;
  font-size:26px}
.website-location-map p{
  margin:0;
  color:#5a6068}
.website-location-map button{
  padding:12px 20px;
  border-radius:999px;
  background:#16191d;
  border:0;
  color:white;
  font:600 16px Figtree,sans-serif;
  cursor:pointer}

.website-surface .website-block--functional[data-module=Courses]{
  padding:0}
.website-surface .website-block--functional[data-module=Courses] .website-function{
  margin:0}
.website-surface .public-courses{
  padding:clamp(64px,8vw,112px) 0;
  background:#fff}
.website-surface .public-courses .course-overview{
  grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));
  gap:48px 64px}

.website-surface .public-courses .fischer-media--course{
  display:none}
.website-surface .public-courses .course-category{
  padding:0;
  border:0;
  border-radius:0;
  background:none}
.website-surface .public-courses .course-category>h3{
  font-size:26px;
  border-bottom:2px solid #16191d;
  padding-bottom:12px;
  margin:0}

.website-surface .public-courses .course-row{
  background:transparent;
  border:0;
  border-bottom:1px solid #e6e6e1;
  border-radius:0;
  padding:14px 0;
  gap:16px}
.website-surface .public-courses .course-row__details h4{
  font:500 17px Figtree,sans-serif}
.website-surface .public-courses .course-book{
  min-height:36px;
  font-size:14px;
  padding:6px 12px}
.website-surface .public-courses .course-row__price{
  font:600 20px 'Bricolage Grotesque',sans-serif}

.website-surface .site-footer{
  background:#16191d;
  color:#b9bbb5;
  padding:56px 0 28px}
.website-surface .site-footer strong{
  color:#fff}
.website-surface .site-footer a{
  color:#fff}
.website-surface .footer-grid{
  grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));
  gap:28px;
  font-size:16px;
  line-height:1.6}

.website-public .topbar__address{
  margin-left:auto;
  color:#fff;
  display:flex;
  align-items:center;
  gap:6px;
  white-space:nowrap}
.website-public .topbar__phone{
  margin-left:0}

@media(max-width:640px){
  .website-public .topbar__address,.website-public .topbar__phone{
  display:none}
.website-surface .website-inquiry-fields{
  grid-template-columns:1fr}
}

.design-website-settings{
  padding:14px 20px;
  border:1px solid #dfe1db;
  background:#fff;
  border-radius:16px;
  display:flex;
  gap:16px;
  justify-content:space-between;
  align-items:center}
.design-website-settings label{
  display:flex;
  gap:8px;
  align-items:center;
  font-size:14px}

@media(max-width:700px){
  .design-website-settings{
  flex-direction:column;
  align-items:start}
}


.website-surface .website-layout--tiles .website-card-link{
  position:absolute;
  inset:0;
  font-size:0;
  color:transparent}
.website-surface .website-layout--tiles .website-card-link i{
  display:none}


.website-action-editor [hidden]{
  display:none!important}
.website-inline-action{
  display:inline-flex;
  gap:6px;
  align-items:center;
  margin-top:8px;
  color:var(--brand-primary);
  font-weight:600}

.website-surface .website-layout--intro.website-block--image-left .website-block__copy,.website-surface .website-layout--split.website-block--image-left .website-block__copy{
  grid-column:auto;
  grid-row:auto;
  order:2}

.website-surface .website-layout--intro.website-block--image-left .website-picture-public,.website-surface .website-layout--split.website-block--image-left .website-picture-public{
  grid-column:auto;
  grid-row:auto;
  order:1}

.website-surface .website-layout--facts .website-block__inner{
  grid-template-columns:repeat(2,minmax(0,1fr));
  grid-template-areas:"image facts"}
.website-surface .website-layout--facts:not(.website-block--image-left) .website-block__inner{
  grid-template-areas:"facts image"}
.website-surface .website-layout--facts .website-picture-public{
  grid-area:image}
.website-surface .website-layout--facts .website-facts{
  grid-area:facts}

@media(max-width:980px){
  .website-surface .website-layout--facts .website-block__inner,.website-surface .website-layout--facts:not(.website-block--image-left) .website-block__inner{
  grid-template-columns:minmax(0,1fr);
  grid-template-areas:"image" "facts"}
}


.website-location #location-copy-status:empty{
  display:none}


.website-surface .website-layout--intro h1{
  hyphens:auto;
  word-break:normal;
  overflow-wrap:normal}


@media(max-width:360px){
  .website-surface .website-layout--intro h1{
  font-size:32px;
  overflow-wrap:anywhere}
}


[data-function-steps][hidden]{
  display:none!important}

.website-facts-heading{
  margin-bottom:32px}

/* Preserve the full portrait photos supplied for Workwear. */
.website-surface .website-picture-public:has(img[src="/Content/Images/466e458c-1283-5640-7aa8-9da3fa142a2e"]) img{aspect-ratio:auto;height:640px;object-fit:contain}
.website-surface .website-block[data-block-id="b1d004e7-0523-be42-e300-37742bbdd77e"] .website-gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.website-surface .website-block[data-block-id="b1d004e7-0523-be42-e300-37742bbdd77e"] .website-gallery img{aspect-ratio:auto;height:auto;display:block}
@media(max-width:700px){
 .website-surface .website-picture-public:has(img[src="/Content/Images/466e458c-1283-5640-7aa8-9da3fa142a2e"]) img{height:480px}
 .website-surface .website-block[data-block-id="b1d004e7-0523-be42-e300-37742bbdd77e"] .website-gallery{grid-template-columns:1fr}
}
