:root {
   /* Base typography styles */
   --font-primary: 'Poppins', serif;
   --font-code: 'Bistream Vera Sans', serif;
   --text-base-size: 16px;
   --text-base-leading: 1.2;

   /* Font weights */
   --text-weight-extralight: 200;
   --text-weight-light: 300;
   --text-weight-regular: 400;
   --text-weight-medium: 500;
   --text-weight-bold: 700;

   /* Font sizes */
   --text-size-xxxs: .75rem;
   --text-size-xxs: .875rem;
   --text-size-xs: 1.1rem;
   --text-size-sm: 1.25rem;
   --text-size-md: 1.625rem;
   --text-size-lg: 2rem;
   --text-size-xl: 3rem;
   --text-size-xxl: 3.6rem;
   --text-size-xxxl: 4.2rem;

   /* Line-heights */
   --text-leading-xs: 1;
   --text-leading-sm: 1.3;
   --text-leading-md: 1.5;
   --text-leading-lg: 1.7;
   --text-leading-xl: 1.9;

   /* Text spacing */
   --text-margin-xs: 1rem; /* 16px */
   --text-margin-sm: 1.125rem; /* 18px */
   --text-margin-md: 1.5rem; /* 24px */
   --text-margin-md: 2rem; /* 32px */

   /* Custom typography variables */
   --text-selection-background: #cdf1fb;
   --text-selection-text: #0d283a;
}

html {
   scroll-behavior: smooth;
}
body {
   font-family: var(--font-primary);
   font-size: var(--text-base-size);
   line-height: var(--text-base-leading);
   -webkit-font-smoothing: antialiased;
   -moz-osx-font-smoothing: grayscale;
   -webkit-text-size-adjust: 100%;
   text-rendering: optimizeLegibility;
   font-display: swap;
   color: var(--color-contrast-lightest);
}

h1, h2, h3, h4, h5, h6 {
   font-weight: var(--text-weight-light);
   line-height: var(--text-leading-sm);
   margin-bottom: var(--space-sm);
}

h1 {
   font-size: var(--text-size-xxxl);
   margin-bottom: var(--space-md);
   line-height: var(--text-leading-sm);
   font-weight: var(--text-weight-extralight);
}
h2,
.header-lg {
   font-size: var(--text-size-xxl);
   margin-bottom: var(--space-md);
}

h2.section-title {
   font-size: var(--text-size-xs);
   text-transform: uppercase;
   letter-spacing: .15em;
   color: var(--color-contrast-mid);
}

h3 {
   font-size: var(--text-size-lg);
}
h4 {
   font-size: var(--text-size-md);
   font-weight: 700;
}
h5 {
   font-size: var(--text-size-xs);
   font-weight: var(--text-weight-regular);
   margin-bottom: 1.5rem;
}
h6 {
   font-size: var(--text-size-xs);
}

.pretitle {
   font-family: var(--font-code);
   color: var(--color-secondary);
}

p {
   font-weight: var(--text-weight-light);
   font-size:  var(--text-size-sm);
   line-height: var(--text-leading-lg);
   margin-top: var(--space-sm);
   margin-bottom: var(--space-sm);
   color: var(--color-contrast-light);
}

p.paragraph-lg {
   font-size:  var(--text-size-sm);
   line-height: var(--text-leading-lg);
}

.highlight p {
   font-size:  var(--text-size-sm);
}

.capitalized {
   text-transform: uppercase;
   letter-spacing: .1em;
}

strong {
   font-weight: 700;
}

em {
   font-style: italic;
}

a {
   color: var(--color-contrast-light);
   outline: none;

   transition: var(--transition-ease);

}

a img {
   border: 0;
}

a:hover {
   color: var(--color-primary-lightest);
   text-decoration: none;
}

.text-center {
   text-align: center;
}

.text-right {
   text-align: right;
}

.text-bold {
   font-weight: bold;
}

.text-orange {
   color: var(--color-secondary);
}

.text-green{
   color: var(--color-primary);
}

.columns {
   column-count:2;
   column-gap: var(--space-xxl);
}
.columns p{
   margin: 0;
}

/* Line Breaks */
hr {
   width: 100%;
   display: inline-block;
   height: 1px;
   background: var(--color-contrast-darker);
   border: none;
   margin: 2.5rem 0;
}

mark {
   color: #000;
   background: #ff0;
}

.article-content em {
   display: inline-block;
   text-decoration: none;
   font-size: var(--text-size-md);
   margin: 1rem 0;
   font-style: normal;
}

sub, sup {
   top: -.5em;
   position: relative;
   font-size: 75%;
   line-height: 0;
   vertical-align: baseline;
}

/* Blockquote */
blockquote {
   margin: 3rem 0;
   position: relative;
}
.article-content blockquote p {
   font-family: 'Armata', 'Poppins', sans-serif;
   margin: 0;
   padding: 2px 2px 0;
   color: var(--color-contrast-darkest);
   background: var(--color-contrast-lightest);
   display: inline;
   font-size: var(--text-size-lg);
   box-shadow: 0 0 0 10px var(--color-contrast-lightest);
}

.article-content blockquote p::before {
   content:'”';
   font-family: Arial;
   position: absolute;
   top: 0;
   left: -4rem;
   font-size: 5rem;
   line-height: 1;
   color: white;
}


/* Tables */
table {
   width: 100%;
   max-width: 100%;
   margin-bottom: 20px;
}

table>thead>tr>th, table>tbody>tr>th, table>tfoot>tr>th, table>thead>tr>td, table>tbody>tr>td, table>tfoot>tr>td {
   padding: 8px;
   line-height: 1.42857143;
   vertical-align: top;
   border-top: 1px solid #ddd;
}

table>tbody>tr:nth-child(odd)>td, .table-striped>tbody>tr:nth-child(odd)>th {
   background-color: #f9f9f9;
}

/* Notices */
:root {
   --notice-border: 3px;
}

.toast-error {
   display: inline-block;
   width: 100%;
   padding-left: 1.5rem;
   margin: .5rem 0;
}

.toast-error {
   padding-top: 1rem;
   padding-bottom: 1rem;
   margin-bottom: 1.5rem;
}

@media screen and (max-width: 1024px) {
   :root{
      /* Font sizes */
      --text-size-xs: 1rem;
      --text-size-sm: 1.1rem;
      --text-size-md: 1.4rem;
      --text-size-lg: 1.625rem;
      --text-size-xl: 2rem;
      --text-size-xxl: 3rem;
      --text-size-xxxl: 3.8rem;
   }
   .columns {
      column-count: 1;
      column-gap: 3rem;
   }
}

@media screen and (max-width: 767px) {

   :root{
      /* Font sizes */
      --text-size-xs: .9rem;
      --text-size-sm: 1rem;
      --text-size-md: 1.25rem;
      --text-size-lg: 1.625rem;
      --text-size-xl: 2rem;
      --text-size-xxl: 2.3rem;
      --text-size-xxxl: 2.6rem;
   }
   .text-center {
      text-align:left;
   }
   blockquote {
      padding: 0 1rem;
   }
}

@media screen and (max-width: 420px) {
   :root{
      /* Font sizes */
      --text-size-md: 1.15rem;
      --text-size-lg: 1.35rem;
      --text-size-xl: 1.5rem;
      --text-size-xxl: 1.8rem;
      --text-size-xxxl: 1.8rem;
   }
   h1 {
      font-weight: 300;
      line-height: 1.5;
   }
}
