/**********************************************************************/
[vbox], [hbox] {display: flex;}
[vbox] {flex-direction: column;}
[hbox] {flex-direction: row;}
[vbox^="start"    i], [hbox^="start"    i] { justify-content: start; }
[vbox^="end"      i], [hbox^="end"      i] { justify-content: end; }
[vbox^="center"   i], [hbox^="center"   i] { justify-content: center; }
[vbox^="around"   i], [hbox^="around"   i] { justify-content: space-around; }
[vbox^="even"     i], [hbox^="even"     i] { justify-content: space-evenly; }
[vbox^="between"  i], [hbox^="between"  i] { justify-content: space-between; }
[vbox^="stretch"  i], [hbox^="stretch"  i] { justify-content: stretch; }
[vbox$="start"    i], [hbox$="start"    i] { align-items: start; }
[vbox$="end"      i], [hbox$="end"      i] { align-items: end; }
[vbox$="center"   i], [hbox$="center"   i] { align-items: center; }
[vbox$="around"   i], [hbox$="around"   i] { align-items: space-around; }
[vbox$="even"     i], [hbox$="even"     i] { align-items: space-evenly; }
[vbox$="between"  i], [hbox$="between"  i] { align-items: space-between; }
[vbox$="stretch"  i], [hbox$="stretch"  i] { align-items: stretch; }
[vbox$="baseline" i], [hbox$="baseline" i] { align-items: baseline; }
[vbox] > *, [hbox] > * { flex: initial; }
[vbox^="stretch"] > *, [hbox^="stretch"] > * { flex: auto; }
[flex="0"]{flex:0;} [flex="1"]{flex:1;} [flex="2"]{flex:2;}
[flex="3"]{flex:3;} [flex="2"]{flex:4;} [flex="5"]{flex:5;}
[gap="0"]{gap:0.00em;} [gap="1"]{gap:0.25em;} [gap="2"]{gap:0.50em;} 
[gap="3"]{gap:0.75em;} [gap="4"]{gap:1.00em;} [gap="5"]{gap:1.25em;} 
[gap="6"]{gap:1.50em;} [gap="7"]{gap:1.75em;} [gap="7"]{gap:2.00em;} 
/**********************************************************************/
* { margin:0; padding:0; box-sizing:border-box; position:relative; }
/**********************************************************************/









/**********************************************************************/
/*
** Color Scheme
*/

:root {
  --bg: rgb(255 255 255);
  --text: rgb(29 29 31);
  --text-alt:        rgb(40 40 47 / 1);
  --text-secondary:  rgb(40 40 47 / 0.7);
  --text-tertiary:   rgb(40 40 47 / 0.35);
  --text-quaternary: rgb(40 40 47 / 0.2);
  --bg-tint: rgb(0 0 0 / 0.05);
  --nav-bg-selected: rgb(0 0 0 / 0.05);
  --link: #007AFF;
  --link-border: #0071ED;
  --line: rgb(0 0 10 / 0.075);
  --line-heavy: rgb(0 0 10 / 0.125);
  --toggle-bg-off: rgb(233 233 235);
  --toggle-bg-on: rgb(53 199 89);
  --toggle-handle: rgb(255 255 255);
}

@media (prefers-color-scheme: dark) {
  :root {
    --bg: rgb(30 30 33);
    --text: #fff;
    --text-alt:        rgb(235 235 245 / 1);
    --text-secondary:  rgb(235 235 245 / 0.7);
    --text-tertiary:   rgb(235 235 245 / 0.35);
    --text-quaternary: rgb(235 235 245 / 0.2);
    --bg-tint: rgb(250 250 255 / 0.0375);
    --nav-bg-selected: rgb(250 250 255 / 0.1);
    --link: #0A84FF;
    --link-border: #097BED;
    --line: rgb(250 250 255 / 0.075);
    --line-heavy: rgb(255 255 255 / 0.2);
    --toggle-bg-off: rgb(68 68 72);
    --toggle-bg-on: rgb(49 209 88);
    --toggle-handle: rgb(255 255 255);
  }
}


/**********************************************************************/
/*
** Initial Setup
*/

:root {
  --base-font-size: 6px;
}

html { height: 100%; }
body { min-height: 100%; }


html {
  color-scheme: light dark;
  font-family: ui-sans-serif, sans-serif;
  font-size: var(--base-font-size);
  background-color: var(--bg);
  color: var(--text);
}

body {
  box-sizing: content-box;
  font-size: 3rem;
  display: grid; 
  grid-template-columns: 1fr; 
  grid-template-rows: auto 1fr auto; 
  gap: 0px 0px; 
  grid-template-areas: "." "." "."; 
}



/**********************************************************************/
/*
** Helpers
*/

.lg-hidden { display: none; }
.sm-hidden { display: unset; }
@media screen and (max-width: 670px) {
  .lg-hidden { display: unset; }
  .sm-hidden { display: none; }
}



/**********************************************************************/
/*
** Page Structure
*/

#main-head   { grid-row: 1 / 1; }
main.content { grid-row: 2 / 2; }
#main-foot   { grid-row: 3 / 3; }

#main-head {
  height: 22rem;
  padding: 0 10rem;
}

@media screen and (max-width: 670px) {
  #main-head {
    height: 15rem;
    padding: 0.2em 6vw 0 5vw;
    margin-bottom: 4.5rem;
  }
}


#logo {
  margin-top: 11px;
  fill: var(--text);
}

#logo svg {
  height: 56px;
  pointer-events: none;
}

@media screen and (max-width: 670px) {
  #logo {
    margin: 0;
  }

  #logo svg {
    height: 48px;
    max-width: 45vw;
  }
}


.navReplaced #main-nav-lg,
.navReplaced #main-nav-sm {
  display: none;
}

#main-nav-lg { display: flex; }
#main-nav-sm { display: none; }
@media screen and (max-width: 670px) {
  #main-nav-lg { display: none; }
  #main-nav-sm { display: block; }
}

#main-nav-lg a {
  color: var(--text-alt);
  display: inline-block;
  font-size: 3rem;
  font-weight: 400;
  letter-spacing: -0.25px;
  line-height: 1em;
  padding: 1em;
  position: relative;
  text-decoration: none;
  z-index: 1;
}

#main-nav-lg a span {
  display: inline-block;
}

#main-nav-lg a:not(.selected):hover {
  text-decoration: underline;
}

#main-nav-lg a:not(.selected):active {
  transform: scale(0.9625);
}

#main-nav-lg a.selected {
  color: var(--label);
  cursor: default;
  z-index: 9;
}

#main-nav-lg a.selected:after {
  content: '';
  background: var(--nav-bg-selected);
  border-radius: 10px;
  box-sizing: content-box;
  display: block;
  height: 2.667em;
  left: -0.25em;
  margin-top: -1.3333em;
  padding: 0 0.25em;
  position: absolute;
  top: 50%;
  width: 100%;
  z-index: -1;
}

#main-nav-sm-menu {
  appearance: none;
  background-color: transparent;
  border: none;
  font-size: 12px;
  line-height: 1em;
  opacity: 0;
  padding: 16px;
  position: absolute;
  right: 0;
  top: 0;
}

#main-nav-sm-btn {
  background: none;
  border: none;
  display: block;
  height: 44px;
  padding: 10px;
  width: 44px;
}

#main-nav-sm-btn i {
  background: var(--text-alt);
  display: block;
  height: 100%;
  mask-size: cover;
  mask: url(/_img/MenuButton.svg);
  width: 100%;
}



#main-foot {
  background: var(--bg);
  border-top: 1px solid var(--line);
  font-size: 2rem;
  height: 10.5rem;
  line-height: 3rem;
  margin-top: 15rem;
}

#main-foot a {
  color: var(--link);
  font-weight: 300;
  margin: 0.25em 0.5em 0;
  padding: 1em;
  text-decoration: none;
}

#main-foot a:hover {
  text-decoration: underline;
}




/**********************************************************************/
/*
** Content
*/

p {
  font-size: 3rem;
  line-height: 4rem;
}

h1 {
  font-size: 6rem;
  font-weight: 500;
  line-height: 1.25;
}

@media screen and (max-width: 670px) {
  h1 {
    line-height: 1.125;
  }
}

h1.large {
  font-size: 9rem;
}

h2 {
  font-size: 4rem;
  font-weight: 300;
  line-height: 1.25;
}

h3 {
  font-size: 3.75rem;
  font-weight: 300;
  line-height: 1.375;
}


.hero {
  text-align: center;
}

@media screen and (min-width: 670px) {
  #eg-tagline {
    max-width: 28ch;
    margin-left: auto;
    margin-right: auto;
  }
}
@media screen and (max-width: 670px) {
  #eg-tagline {
    font-size: 4rem;
    line-height: 1.25;
    padding: 0 10vw;
  }
}




/**********************************************************************/
/*
** Components
*/


.toggle {
  display: inline-block;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  user-select: none;
  -webkit-user-select: none;
}

.toggle input {
  display: none;
}

.toggle i { /* Container */
  position: relative;
  display: inline-block;
  width: 50px;
  height: 30px;
  background-color: var(--toggle-bg-off);
  border-radius: 15px;
  vertical-align: text-bottom;
  transition: all 0.15s ease-in-out;
}

.toggle i::before { /* Background */
  content: "";
  position: absolute;
  left: 0;
  width: 46;
  height: 26;
  background-color: var(--toggle-bg-off);
  border-radius: 13px;
  transform: translate3d(2px, 2px, 0) scale3d(1, 1, 1);
  transition: all 0.15s ease-in-out;
}

.toggle i::after { /* Handle */
  content: "";
  position: absolute;
  left: 0;
  width: 26px;
  height: 26px;
  background-color: var(--toggle-handle);
  border-radius: 13px;
  box-shadow: 0 2px 2px rgba(0, 0, 0, 0.24);
  transform: translate3d(2px, 2px, 0);
  transition: all 0.15s ease-in-out;
}

.toggle:active i::after {
  width: 32px;
  transform: translate3d(2px, 2px, 0);
  transition: all 0.225s ease-in-out;
}

.toggle:active input:checked + i::after {
  transform: translate3d(16px,
                         2px, 0);
}
.toggle input:checked + i {
  background-color: var(--toggle-bg-on);
}
.toggle input:checked + i::after {
  transform: translate3d(22px, 2px, 0);
}



/**********************************************************************/
/*
** Index Page
*/

#page-index .hero h1 {
  font-weight: 600;
  line-height: 1.215;
  margin-bottom: 6rem;
}

#page-index .hero h2 {
  display: inline-block;
  margin: 0 auto;
  font-weight: 200;
  color: var(--text-secondary);
  letter-spacing: 0.03125ch;
}

#page-index .hero h2:after {
  content: '…';
  position: absolute;
  left: 100%;
  margin-left: 0.125ch;
}

@media screen and (min-width: 670px) {
  #page-index .hero h1 {
    font-size: 10rem;
  }
  #page-index .hero h2 {
    font-size: 5rem;
  }
  #page-index .hero #tenet-logo svg {
    height: 80px;
  }
  #page-index #tenet-appicon {
    height: 256px;
    width: 256px;
  }
  #page-index #tenet-tagline {
    font-size: 2.3333rem;
    transform: translateX(0.875ch);
  }
}
@media screen and (max-width: 670px) {
  #page-index .hero h1 {
    font-size: 7rem;
  }
  #page-index .hero h2 {
    font-size: 3.5rem;
  }
  #page-index .hero #tenet-logo svg {
    height: 60px;
  }
  #page-index #tenet-appicon {
    height: 192px;
    width: 192px;
  }
  #page-index #tenet-tagline {
    font-size: 1.875rem;
    transform: translateX(0.875ch);
  }
}
@media screen and (max-width: 670px) {
  #page-index .hero h1 {
    font-size: 7rem;
  }
  #page-index .hero h2 {
    font-size: 3.5rem;
  }
}

#page-index .hero #tenet-logo {
  fill: var(--text);
}

#page-index #tenet-link {
  color: var(--text);
  fill: var(--text);
  text-decoration: none;
}

#page-index #tenet-link i {
  color: var(--link);
  display: block;
  fill: var(--link);
  font-size: 4rem;
  font-style: normal;
  margin-top: 2em;
}

#page-index #tenet-link i:hover {
  text-decoration: underline;
}

#page-index #tenet-link i svg {
  height: 0.875em;
  transform: translateY(0.0625em);
}

#page-index #tenet-appicon {
  background-size: cover;
  display: block;
  margin: 24px auto 12px auto;
  transform: scale(0.9);
  transition: transform 0.15s;
  background-image: image-set(
    url(/_img/Tenet/AppIcon.png)    1x,
    url(/_img/Tenet/AppIcon@2x.png) 2x,
    url(/_img/Tenet/AppIcon@3x.png) 3x
  );
}

#page-index #tenet-link:hover b {
  transform: scale(1);
}

#page-index #tenet-link svg {
  height: 80px;
}

#page-index #tenet-tagline {
  font-weight: 300;
  margin-top: min( clamp(4.6668px, 0.7778vw, 19.445px),
         clamp(8.40024px, 0.7778vh, 23.334px) );
  text-align: center;
  letter-spacing: 0.25px;
  word-spacing: 0.25px;
  color: var(--text-tertiary);
}




/**********************************************************************/
/*
** About Page
*/

#page-about #hero-line1 {
  word-spacing: 1px;
}

#page-about #hero-line2 {
  word-spacing: 1px;
}

#page-about .hero i.amp {
  font-weight: 400;
}

#page-about #hero-aside {
  color: var(--text-tertiary);
  font-size: 3rem;
  font-variation-settings: "opsz" 17;
  font-weight: 300;
  letter-spacing: 0.125px;
  line-height: 4rem;
}


#page-about #eg-tagline {
  margin-top: 6rem;
}

#page-about .line span { display: inline; }
#page-about .lg-line { display: block; }
@media screen and (max-width: 670px) {
  #page-about .line span { display: block; }
  #page-about .comma { display: none; }
}


#page-about #egppl {
  margin-top: 10rem;
  margin-bottom: 8rem;
}

#page-about #egppl img {
  aspect-ratio: 1 / 1 !important;
  height: auto;
  max-width: 250px;
  width: 50vw;
}

#page-about #egppl .caption {
  color: var(--text-secondary);
  display: block;
  font-size: 2rem;
  margin-top: 1rem;
}



/**********************************************************************/
/*
** Support Page
*/

#page-support .hero a {
  color: currentColor;
  text-decoration-color: var(--text-quaternary);
}

#page-support .hero a:hover {
  text-decoration-color: currentColor;
}


