/* Rachel L. Virk, P.C. - modern stylesheet (replaces YAML framework + virkGlobal.css) */
:root {
  --plum: #5e0433;
  --plum-light: #864366;
  --navy: #071751;
  --navy-light: #6082b5;
  --cream: #F7F7DF;
  --link: #000099;
  --serif: "Noto Serif", "Droid Serif", Georgia, "Times New Roman", Times, serif;
  --sans: "Lucida Sans", Verdana, Arial, Helvetica, sans-serif;
}

*, *::before, *::after { box-sizing: border-box; }
* { margin: 0; padding: 0; }

body {
  background: #fff url(../images/bg_tile.jpg);
  color: #222;
  font-family: var(--serif);
  font-size: 87.5%;
  overflow-y: scroll;
  -webkit-text-size-adjust: 100%;
}

img { border: 0; max-width: 100%; height: auto; }
a { color: var(--link); text-decoration: none; }
a:hover, a:focus { color: #0033cc; text-decoration: underline; }

.wrap { max-width: 1032px; margin: 0 auto; }

/* Typography */
h1, h2, h3, h4 { font-family: var(--sans); font-weight: bold; color: #161e21; }
h1 { font-size: 200%; line-height: 1.2; margin-top: .6em; color: var(--plum); }
h2 { font-size: 150%; line-height: 1.2; margin-top: .857em; color: #333366; }
h3 { font-size: 133.33%; line-height: 1.2; margin-top: .857em; color: var(--plum); }
p { line-height: 1.6; margin-top: 1em; }
.emph1 { font-size: 120%; color: #006633; margin-top: .8em; text-align: center; }
.emph2 { font-size: 140%; color: var(--plum); margin-top: .8em; text-align: center; }
.emph3 { font-size: 180%; color: var(--plum); font-style: italic; text-align: center; margin-top: .8em; }
.side-img { display: block; margin: 0 auto; }

ul { margin: 1.5em 0 0 1em; line-height: 1.5; list-style: disc; }
li { margin-left: .8em; }
.center { text-align: center; }

/* Header banner */
.banner {
  position: relative;
  height: 225px;
  margin-top: 20px;
  border: 2px solid var(--plum);
  border-bottom: 0;
  background: url(../images/static-hdr-blnk.jpg) no-repeat;
}
.banner h1, .banner h2 { display: none; }
.banner .call {
  position: absolute;
  bottom: 8px;
  right: 40px;
  margin: 0;
  color: #ffffcc;
  line-height: 1;
}
.msg-top { display: block; margin: 24px 0 0 300px; }
.msg-bottom { display: block; margin: 10px 0 0 500px; }
.fade-1 { animation: fade-in 3s both; }
.fade-2 { animation: fade-in 6s both; }
@keyframes fade-in { from { opacity: 0; } to { opacity: 1; } }

.badges {
  position: absolute;
  left: 260px;
  top: 128px;
  display: flex;
  align-items: flex-end;
  gap: 1.5em;
}
.badges img { width: auto; }
.badge-1 { height: 90px; margin-left: 1.5em; padding: 0 0 25px 20px; }
.badge-2 { height: 100px; margin-bottom: 20px; }
.badge-3 { height: 90px; padding-bottom: 25px; }

/* Inner-page (sub) header */
.banner h4 { display: none; }
.banner.sub { height: 160px; background-image: url(../images/hdr-short-wo.jpg); background-repeat: repeat; }
.banner.sub h1 { display: block; position: absolute; right: 120px; bottom: 30px; margin: 0; }
.plaque { position: absolute; left: 36px; top: 56px; display: flex; align-items: center; gap: 1.5em; padding-left: 1.5em; }

/* Navigation */
nav .wrap { background: var(--plum); }
nav ul { list-style: none; margin: 0; padding: .5em 1.5em; text-align: center; }
nav li { display: inline-block; font-size: .9em; line-height: 1; margin: 0 .2em; }
nav a {
  display: inline-block;
  padding: 0 .6em;
  color: #fad696;
  font: bold 1.2em/2em var(--sans);
  text-shadow: 0 1px 1px rgba(0,0,0,.5);
}
nav a:hover, nav a:focus, nav a:active {
  color: #fff;
  background: var(--plum-light);
  border-radius: .2em;
  text-decoration: none;
  outline: 0;
}
nav li.active { background: var(--plum-light); border-radius: .2em; }
nav li.active a { color: #fff; }
.four-ways .wrap { background: var(--navy); }
.four-ways a:hover, .four-ways a:focus, .four-ways a:active { background: var(--navy-light); }
#navBottom { display: none; }

/* Main content */
main {
  background: var(--cream);
  border-left: 2px solid var(--plum);
  border-right: 2px solid var(--plum);
  padding: 20px;
}
.columns { display: grid; grid-template-columns: 1fr 2fr; margin-top: 1em; }
.col-side { grid-column: 1; grid-row: 1; padding-right: 20px; }
.col-main { grid-column: 2; grid-row: 1; padding-left: 10px; }
.col-main h1 { margin-top: .6em; }

.box {
  margin-top: 1.2em;
  padding: 1.4286em;
  background: #fff;
  border: 1px solid rgba(0,0,0,.3);
  border-radius: .3em;
  box-shadow: inset 1px 1px 3px rgba(0,0,0,.2);
  color: rgba(0,0,0,.8);
}
.box > :first-child { margin-top: 0; }
.box.info { background: #ebf5cb; }
.box.book { background: #e0dbbf; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 90%; display: flow-root; min-height: 224px; }
.box h2 { display: flow-root; margin-top: 0; }
.box h2 img { float: left; margin: 0 1em 0 0; max-width: 40%; box-shadow: 0 0 6px #999; }
.box.book img.cover { float: left; margin-right: 2em; }

.split { display: grid; grid-template-columns: 1fr 1fr; }
.split > div:first-child { padding-right: 20px; }
.split > div:last-child { padding-left: 10px; }

.video { max-width: 250px; aspect-ratio: 16 / 9; margin-top: 16px; }
.box > .video:first-child { margin-top: 0; }
.video iframe { display: block; width: 100%; height: 100%; border: 0; }
.award { display: block; margin: 1em auto 0; }

/* Footer */
footer { margin-bottom: 10px; color: var(--cream); }
footer .wrap { padding: 10px; background: var(--plum); }
footer p { margin: 0; }
footer a { color: #fff; }
footer a:hover, footer a:focus { color: #FFFF99; }

/* Tablet and below: single column, smaller header image */
@media (max-width: 800px) {
  .banner { background-image: url(../images/static-hdr-740.jpg); }
  .fade-1, .fade-2 { display: none; }
  .banner .call { bottom: 2px; }
  .banner.sub { height: 225px; background-image: url(../images/static-hdr-740.jpg); }
  .banner.sub h1 { display: none; }
  .plaque { left: auto; right: 0; top: 20px; padding-left: 0; }
  .badges { left: auto; right: 0; top: 10px; transform: scale(.8); }
  .columns { display: block; }
  .col-side, .col-main { padding: 0; }
  .col-main { margin-top: 1em; }
  .video { max-width: 560px; }
}

/* Phones */
@media (max-width: 568px) {
  .banner {
    background-image: url(../images/static-hdr-480.jpg);
    background-size: cover;
    border-left: 0;
    border-right: 0;
  }
  .banner.sub { background-image: url(../images/static-hdr-480.jpg); }
  .badges, .plaque, .banner .call { display: none; }
  .banner.sub h4 {
    display: block;
    position: absolute;
    top: 8px;
    left: 160px;
    right: 0;
    margin: 0;
    color: #fc0;
    font-size: 1.6em;
    text-shadow: 3px 3px 3px #333;
  }
  .banner h2 {
    display: block;
    margin: 190px 0 0;
    padding: 0 25px;
    color: #fff;
    font-size: 1em;
    font-style: italic;
    line-height: 1.1;
  }
  h1 { font-size: 1.2em; }
  h2 { font-size: 1.1em; }
  h3 { font-size: 1em; }
  main { padding-left: 10px; padding-right: 10px; }
  #navBottom { display: block; }
  .split { display: block; }
  .split > div { padding: 0 !important; }
  .box h2 img { max-width: 30%; }
}

@media (prefers-reduced-motion: reduce) {
  .fade-1, .fade-2 { animation: none; }
}
