/* HEM Exchange — recreation of the Wix disclaimer/gate pages */
:root{
  --ink:#000;
  --paper:#fff;
  --rule:rgba(0,0,0,.15);
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  background:var(--paper);
  color:var(--ink);
  font:16px/1.4em "Helvetica Neue",Helvetica,Arial,sans-serif;
  -webkit-font-smoothing:antialiased;
  display:flex;
  flex-direction:column;
  min-height:100vh;
}

/* ---------- main ---------- */
main{
  flex:1 0 auto;
  max-width:980px;
  width:100%;
  margin:0 auto;
  padding:112px 20px 80px;
  text-align:center;
}
h1{
  font:normal normal normal 60px/1.4em "Helvetica Neue",Helvetica,Arial,sans-serif;
  font-weight:700;
  margin:0 0 28px;
  letter-spacing:0;
}
.lede{
  font-size:16px;
  line-height:1.4em;
  margin:0 0 60px;
}
.gate{
  display:flex;
  flex-wrap:wrap;
  gap:16px;
  justify-content:center;
}
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
  padding:0 22px;
  font-size:16px;
  line-height:1.4em;
  text-decoration:none;
  color:var(--ink);
  background:var(--paper);
  border:1px solid var(--ink);
  border-radius:0;
  transition:background-color .4s ease, color .4s ease, border-color .4s ease;
}
.btn:hover,.btn:focus-visible{
  background:var(--ink);
  color:var(--paper);
}
.btn[data-placeholder]{
  border-style:dashed;
  color:#767676;
  border-color:#767676;
  cursor:not-allowed;
}
.btn[data-placeholder]:hover{
  background:var(--paper);
  color:#767676;
}

/* the /sorry page message */
.sorry-message{
  font-size:22px;
  line-height:1.4em;
  max-width:760px;
  margin:0 auto;
  padding:60px 0;
}

/* ---------- footer ---------- */
.site-footer{
  flex-shrink:0;
  border-top:1px solid var(--rule);
  box-shadow:0 -1px 4px rgba(0,0,0,.08);
  padding:49px 20px 40px;
  text-align:center;
  font-size:16px;
  line-height:1.4em;
}
.site-footer p{margin:0 0 16px}
.site-footer a{color:var(--ink);text-decoration:underline}
.footer-links a{white-space:nowrap;margin:0 10px}
.roche-logo{
  display:block;
  width:133px;
  height:auto;
  margin:24px auto 0;
}
/* OneTrust "Cookie Settings" re-opener, as on the original footer */
#ot-sdk-btn.ot-sdk-show-settings{
  display:inline-block;
  margin:24px auto 0;
  padding:8px 14px;
  font-size:14px;
  line-height:1.4em;
  font-family:inherit;
  color:var(--ink);
  background:var(--paper);
  border:1px solid var(--ink);
  border-radius:0;
  cursor:pointer;
  transition:background-color .4s ease, color .4s ease;
}
#ot-sdk-btn.ot-sdk-show-settings:hover{
  background:var(--ink);
  color:var(--paper);
}

/* ---------- mobile ---------- */
@media (max-width:700px){
  main{padding:56px 20px 56px}
  h1{font-size:38px}
  .lede{margin-bottom:40px}
  .gate{flex-direction:column}
  .btn{width:100%}
  .sorry-message{font-size:19px;padding:32px 0}
}
