@font-face {
  font-family: Disparis;
  src: url('fonts/Disparis.woff2') format('woff2');
  font-weight: 100 400;
  font-style: normal;
}

@font-face {
  font-family: Disparis;
  src: url('fonts/Disparis-Italic.woff2') format('woff2');
  font-weight: 100 400;
  font-style: italic;
}

@font-face {
  font-family: Disparis;
  src: url('fonts/Disparis-Bold.woff2') format('woff2');
  font-weight: 601 900; /* includes "bold" which is 700 */
}

@font-face {
  font-family: Disparis;
  src: url('fonts/Disparis-BoldItalic.woff2') format('woff2');
  font-weight: 601 900;
  font-style: italic;
}

@font-face {
  font-family: "Disparis SemiBold";
  src: url('Disparis-SemiBold.woff2') format('woff2');
  font-weight: 600;
  font-style: normal;
}
@font-face {
  font-family: "Disparis SemiBold";
  src: url('Disparis-SemiBoldItalic.woff2') format('woff2');
  font-weight: 600;
  font-style: italic;
}
.shadow-bg {
  position: absolute;
  box-shadow: 0 0 3px rgba(0, 0, 0, 0.3);
  z-index: -1;
}

  html {
    margin: 2px auto 0px 2px; /* top right bottom left */
    padding: 0px 0px 0px 0px;
  }

 body {
    margin: 0px auto 0px 2px; /* top right bottom left */
    padding: 0px 0px 0px 0px;
    font-family: Disparis;
  }

.altlogo {
  display:none;
}

.headgrid {
  display: block;
}

.right-quote {
  margin-bottom: 0px;
  padding-bottom: 0px;
  padding-top: 24px;
  padding-right: 1rem;
  text-align: right;
  justify-content: right;
  font-family: Disparis, sans-serif;
  color: white;
  font-size: 13px;
  line-height: 1.3;
}

details > *:not(summary) {
  max-width: 100%;
  border: 1px solid black;

  /* needed for z-index */
  position: relative;

  z-index: 9999;
}

details {
  margin-top: 0px;
  padding-top: 4px;
  margin-left: auto;
  padding-right: 9px;
  max-width: 500px;
  z-index: 9999;
}

details *:not(summary):not(button) {
  max-width: 100%;
  background-color: rgb(253,252,238);

  /* needed for z-index */
  position: relative;

  z-index: 9999;
}

summary {
  cursor: pointer;
  margin-top: 0px;
  padding-left: 0;
  padding-top: 4px;
  padding-right: 9px;
  color: white;
  text-align: right;
  font-family: Disparis, sans-serif;
  font-variation-settings: 
    "wght" 450;
  font-size: 12px;
  margin-left: auto;
  margin-right: 0;
}

#about-summary {
  display: inline-block;
  cursor: pointer;
  margin-top: 8px;
  padding-left: 24px;
  padding-top: 4px;
  padding-right: 9px;
  text-align: right;
  font-family: Disparis, sans-serif;
  font-size: 12px;
  margin-left: auto;
  margin-right: 0;
}

.details-content {
    margin: .5rem .5rem .5rem .5rem; /* top right bottom left */
    padding: .5rem .5rem 0rem .5rem;
  }

details p {
  margin: .5rem .5rem .5rem .5rem; /* top right bottom left */
  padding: .0rem .0rem .2rem .0rem;
  font-family: Disparis, sans-serif;
  font-size: 14px;
  text-align: left;
  position: relative;
  z-index: 9999;
  opacity: 1;
  background-color: rgb(253,252,238);
  color: black;
}

details blockquote {
  font-family: Disparis, sans-serif;
  font-variation-settings: 
    "wght" 450;
  font-size: 14px;
  text-align: left;
  margin: .0rem .5rem .2rem .5rem; /* top right bottom left */
  padding: .5rem .5rem .5rem .5rem;
  position: relative;
  z-index: 9999;
  opacity: 1;
  background-color: rgb(253,252,238);
  color: black;
}

.details-content a,
.details-content a:visited,
.details-content a:hover,
.details-content a:focus,
.details-content a:active {
  text-decoration: none !important;
}

details i {
  font-family: Disparis, sans-serif;
  font-size: 14px;
  }

ol {
  font-family: Disparis, sans-serif;
  z-index: 9999;
  margin: .5rem 0 .5rem 0;
  padding: .5rem .5rem .5rem 1rem;
}

details ol {
  max-width: 100%;
  margin: .5rem 0 0 0;
  background-color: rgb(253,252,238);

  /* needed for z-index */
  position: relative;

  z-index: 9999;
}

#about-contact {
  display: inline-block;
}

@supports selector(:has(*)) {
  :root:has(#quote-details[open]) #about-contact {
background-color: black;
    visibility: hidden;
  }
}

button {
  font-size: .9rem;
  font-weight: bold;
  z-index: 9999;
  opacity: 1;
  background-color: white;
  color: black;
  margin: 6px;
  padding: 6px;
  border-radius: 6px;
}

.top-gradient-2 p {
  margin: 0;
}

  .top-gradient-1 {
    background: linear-gradient(to right, rgba(47, 66, 130, .1), rgba(47, 66, 130, .12), rgba(47, 66, 130, .2), rgba(47, 66, 130, .24));
    height: 90px;
    border-top-left-radius: 10px;
    border-bottom-left-radius: 10px;
  }

  .top-gradient-2 {
    background: linear-gradient(to right, rgba(47, 66, 130, .24), rgba(47, 66, 130, .75));
    height: 90px;
    border-top-right-radius: 30px;
    margin: 0 !important;
    padding: 0 !important;
  }

  .logo-link {
    margin-bottom: 0px;
    padding-bottom: 0px;
  }

  @media print {
    @page {
      margin: 1in;
    }
    html,body {
      height: 100%;
      margin: 0;
    }

    .first-column {
      display: none !important;
    }

    .content {
      max-width: 100%;
      width: 100%;
    }
  }

  h1 {
    font-size: 3.1rem;
    font-family: Disparis, sans-serif;
    margin-top: 30px;
    padding-top: 0px;
    padding-right: 16px;
    line-height: 3.4rem;
  }
  .main-content {
    display: block !important;
    min-width: 250px;
    width: 98%;
  }
  .main-content p {
    font-size: 1.1rem;
    font-family: Disparis, sans-serif;
    line-height: 1.5;
  }

  .main-content header {
    font-size: 1.1rem;
    font-family: Disparis, sans-serif;
    line-height: 1.5;
  }

  .main-content li {
    margin: 0;
    font-size: 1.1rem;
    font-family: Disparis, sans-serif;
    line-height: 1.5;
  }

  .main-content blockquote {
  font-size: 1.03rem;
  padding-left: 38px;
  margin-left: 24px;
  margin-top: 0px;
  padding-top: 0px;
  background-image: url(quotation-mark-blockquote.png);
  background-size: auto 1.6rem;
  background-repeat: no-repeat;
  }

    p {
    font-family: Disparis, sans-serif;
    font-size: 1rem;
    line-height: 1.5;
  }

  .layout {
    display: grid;
    grid-template-columns: 290px minmax(530px, 1fr) 200px;
    gap: 0px;
    width: 100%;
    height: 100%;
    max-width: 100%;

  }

  @media (min-width: 1600px) {

.layout {
    display: grid;
    grid-template-columns: 290px 1100px 200px;
    gap: 0px;
    margin: 0px;
    padding: 0px;
    width: auto;
    height: 100%;
    max-width: 100%; 
  }
  }

 .first-column-head {
    margin-top: 3rem;
    padding-top: 6px;
    padding-bottom: 6px;
    padding-left: .5em;
    background-image: linear-gradient(to right, rgba(47,66,130,.19), rgba(47,66,130,.25), rgba(47,66,130,.4), rgba(47,66,130,.5), rgba(47,66,130,.7));
    border-top-right-radius: 4px;
    border-bottom-right-radius: 4px;
    border-top-left-radius: 10px;
    width: 236px;
    letter-spacing: 0.03em;
    font-family: Verdana;
    font-weight: bold;
    font-size: .97rem;
  }

  .first-col-wrap {
  position: relative; /* needed for abs position */
  }

.first-col-wrap::before {
  content: '';
  position: absolute;
  top: 169px;
  left: 0px;
  width: 4px;
  height: calc(100% - 170px);
  background: linear-gradient(to bottom, rgba(47, 66, 130, 0.16) 0%, rgba(47, 66, 130, 0.14) 80%, rgba(47, 66, 130, 0.13) 90%, rgba(47, 66, 130, .08) 100%);
}
  .first-column {
     margin-top: 0px;
     padding-top: 0px;
  }

  .first-column-paragraph {
    width: 240px;
    font-family: Disparis;
    font-size: .95rem;
    color: rgb(0,0,0);
    letter-spacing: 0.024em;
    padding-left: .8rem;
    margin-top: 0px;
    padding-top: 0px;
    line-height: 1.25rem;
  }
.fade-border {
    float: right;
    width: 5px;
    height: 425px;
    margin-top: 130px;
    margin-left: 40px; /* spacing from text */
    background: linear-gradient(to bottom, 
        rgba(47, 66, 130, .16) 0%, 
        rgba(47, 66, 130, .6) 50%, 
        rgba(47, 66, 130, .16) 100%);
}

  h3 {
    font-weight: bold; font-size: 1.4rem;
  }


.content {
  max-width: 1450px; /* increasing fills gap between content and third column */
  overflow-wrap: anywhere;
  padding-top: 0;
  position: relative; /* needed for positioning the pseudo-element */
}

.content::after {
  content: '';
  position: absolute;
  top: 90px;
  right: 0;
  width: 5px;
  height: calc(100% - 90px);
  background: linear-gradient(
    to bottom,
    rgba(47, 66, 130, 0.75) 0%,
    rgba(47, 66, 130, 0.30) 25%,
    rgba(47, 66, 130, 0.25) 80%,
    rgba(47, 66, 130, .1) 100%
  );
}

#footer {
    font-family: Disparis;
    font-size: 1rem;
    position: absolute;
    left: 50%; 
    transform: translateX(calc(-50% - 145px)); 
  /*  text-align: center; */
    padding-top: 50px;
    font-family: Disparis;
    font-size: 1rem;
  }

  .col-2-under-gradient {
  margin-left: 40px;
  padding-top: .85rem;
  }

  .rightinset {
  font-family: Disparis, sans-serif;
  font-size: 1rem;
  float: right;
  width: 35%;
  min-width: 240px;
  margin: 0 1rem 0.5rem 1rem;
  padding: 1em;
  background-color: #f0f0f0;
  box-sizing: border-box;
  }

  .rightinset p {
    background-color: #f0f0f0;
  }

  .rightinset h3 {
  margin-top: 0;
  font-weight: bold;
  font-style: normal;
  font-size: 1.3rem;
  }

  .rightinset cite {
  font-family: Disparis;
  display: block;
  margin-top: 0.5em;
  font-style: normal;
  font-size: .9rem;
  color: #555;
  text-decoration: none;
  }

  .rightinset-citation {
  font-family: Disparis;
  display: block;
  margin-top: 0.5em;
  font-style: normal;
  font-size: .9rem;
  color: #555;
  text-decoration: none;
  }

/* When JS adds narrow-portrait class (not limited to portrait mode) */

.layout.narrow-portrait {
    display: grid;
    grid-template-columns: 0px 530px 0px;
    gap: 0px;
    width: 100%;
    height: 100%;
    max-width: 100%;
    padding: 0px;
    margin: 0px;
    background-color: white;
}
body.narrow-portrait {
    width: 530px;
    margin: 0px;
    padding: 0px;
}
.layout.narrow-portrait .first-col-wrap {
  display: none;
}
.layout.narrow-portrait .third-column {
  display: none;
}
.layout.narrow-portrait .headgrid {
display: grid; grid-template-columns: 1fr 1fr; gap: 0px; width: 100%; height: 100%; max-width: 100%;
}
.layout.narrow-portrait .altlogo {
  display: block;
}
.layout.narrow-portrait .content {
    grid-column: 2;
    zoom: 100%;
    margin: 1px;
    padding: 1px;
}

.layout.narrow-portrait .content::after { /* fixes vertical gradient */
  right: 1px;
}

.layout.narrow-portrait .top-gradient-2 {
    background: linear-gradient(to right, rgba(47, 66, 130, .1), rgba(47, 66, 130, .22), rgba(47, 66, 130, .40), rgba(47, 66, 130, .60), rgba(47, 66, 130, .75));
    height: 90px;
    border-top-right-radius: 30px;
    border-top-left-radius: 10px;
    border-bottom-left-radius: 10px;
  }
.layout.narrow-portrait .col-2-under-gradient {
    margin: 1px;
    padding: 1px;
}
.layout.narrow-portrait .fade-border {
    margin: 1px;
    padding: 1px;
}

.layout.narrow-portrait details {
  margin-right: auto;
}

/* begin narrow-portrait header quote style */

.layout.narrow-portrait .right-quote {
  margin-bottom: 0px;
  padding-bottom: 0px;
  padding-top: 24px;
  padding-right: 1rem;
  text-align: right;
  justify-content: right;
  font-family: Disparis, sans-serif;
  color: white;
  font-size: 13px;
  line-height: 1.3;
}

.layout.narrow-portrait details > *:not(summary) {
  max-width: 100%;
  border: 1px solid black;

  /* needed for z-index */
  position: relative;

  z-index: 9999;
}

.layout.narrow-portrait details {
  margin-right: -3rem;
  padding-right: 9rem;
  margin-top: 0px;
  padding-top: 4px;
  margin-left: auto;
  padding-right: 9px;
  max-width: 375px;
  z-index: 9999;
}

.layout.narrow-portrait details ol {
  max-width: 100%;
  background-color: rgb(253,252,238);

  /* needed for z-index */
  position: relative;

  z-index: 9999;
}

.layout.narrow-portrait details *:not(summary):not(button) {
  max-width: 100%;
  background-color: rgb(253,252,238);

  /* needed for z-index */
  position: relative;


  z-index: 9999;
}

.layout.narrow-portrait summary {
  cursor: pointer;
  margin-right: 3rem;
  margin-top: 0px;
  margin-left: auto;
  padding-left: 0;
  padding-top: 4px;
  padding-right: 9px;
  color: white;
  text-align: right;
  font-family: Disparis, sans-serif;
  font-variation-settings: 
    "wght" 450;
  font-size: 11px;
}

.layout.narrow-portrait .details-content {
    margin: .5rem .5rem .5rem .5rem; /* top right bottom left */
    padding: .5rem .5rem 0rem .5rem;
  }

.layout.narrow-portrait details i {
  font-family: Disparis, sans-serif;
  font-size: 12px;
  font-variation-settings: 
    "wght" 450;
  }

.layout.narrow-portrait details p {
  margin: .5rem .5rem .5rem .5rem; /* top right bottom left */
  padding: .0rem .0rem .2rem .0rem;
  font-family: Disparis, sans-serif;
  font-variation-settings: 
    "wght" 450;
  font-size: 12px;
  text-align: left;
  position: relative;
  z-index: 9999;
  opacity: 1;
  background-color: rgb(253,252,238);
  color: black;
}

.layout.narrow-portrait details blockquote {
  font-family: Disparis, sans-serif;
  font-variation-settings: 
    "wght" 450;
  font-size: 12px;
  text-align: left;
  margin: .0rem .5rem .2rem .5rem; /* top right bottom left */
  padding: .5rem .5rem .5rem .5rem;
  position: relative;
  z-index: 9999;
  opacity: 1;
  background-color: rgb(253,252,238);
  color: black;
}

/* begin narrow-portrait top right horizontal menu style */

.layout.narrow-portrait #top-dot {
  transform: translateX(47px);
}

.layout.narrow-portrait #details-contact {
  transform: translateX(44px);
}

/* narrow-portrait footer */

.layout.narrow-portrait #footer {
  position: absolute;
  left: 50%;
  transform: translateX(calc(-50%));
  font-family: Disparis;
  font-size: 1rem;
  text-align: center;
}


button {
  font-size: .9rem;
  font-weight: bold;
  z-index: 9999;
  opacity: 1;
  background-color: white;
  color: black;
  margin: 0px 0px 6px 6px;
  padding: 6px;
  border-radius: 6px;
}
