
/* made by cosmoOSx_ */

@import url('https://fonts.googleapis.com/css2?family=Linux+Libertine:wght@400;700&display=swap');

:root {
  --text-color: #202122;
  --textalt-color:#999eab;
  --link-color: #0645ad;
  --link-visited: #0b0080;
  --link-hover: #3366cc;
  
  --bg-gradient-top:#cfd8df;
  --bg-gradient-mid:#a6b5cb;
  --bg-gradient-bottom:#8ca3c4;
 
  --bg-color: #f8f9fa;
  --border-color: #a2a9b1;
  --content-wrap: rgba(255, 255, 255, 0.8);

  --heading-color: #000;
  --infobox-header: #d6e0f5;
   
  --collapse-bg: #e0e6ef;
  --collapse-bg-hover: #d6e0f5;
  --collapse-content: #f0f4fa;
  
  
  --font-body: 15px;
  --font-p: 15px;
  --font-alt: 15px;
  --font-caption: 14px;

  --font-h1: 29px;
  --font-h2: 24px;
  --font-h3: 19px;
  --font-h4: 17px;
  
}

* {
  box-sizing: border-box;
}

body {
  font-family: "Linux Libertine", Georgia, serif;
  font-size: var(--font-body);
  line-height: 1.6;
  color: var(--text-color);
  background-color: var(--bg-color);
  margin: 0;
  padding: 0;
}

p {
    font-family: "Linux Libertine", Georgia, serif;
  font-size: var(--font-p);
  line-height: 1.6;
  color: var(--text-color);
  background-color: var(--bg-color);
  margin: 0;
  padding-bottom: 10px;
  text-indent: 25px;
}

.textalt {
  color: var(--textalt-color);
  font-family: "Linux Libertine", Georgia, serif;
  font-size: var(--font-alt);
  line-height: 1.6;
  margin: 0;
  padding: 0;
}
  
a {
  color: var(--link-color);
  text-decoration: none;
}
    a:visited {
      color: var(--link-visited);
    }

    a:hover {
      color: var(--link-hover);
      text-decoration: underline;
    }

aside.sidebar {
  width: 200px;
  padding-right: 20px;
  font-size: 13px;
}

      /* Main Page Wrap */
    .content-wrapper {
      background-color: var(--content-wrap);
      padding: 32px;
      border-radius: 6px;
      box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
      flex: 1;
      min-width: 0;
    }
    
    .section-header {
      
      clear: both;
    }
    
    .infobox + .section-header {
      margin-top: 80px;
    }


main.content {
  flex: 1;
}

.infobox {
  margin-top: -32px;
  clear: right;
  margin-bottom: 32px;
  float: right;
  clear: right;
  margin: 0 0 16px 16px;
  padding: 8px;
   width: 330px;
  font-size: 90%;
  background-color: var(--bg-color);
  border: 1px solid var(--border-color);
}
      /* Infobox Header BG */
    .infobox th {
      background-color: var(--infobox-header);
      text-align: center;
      font-weight: bold;
      padding: 4px;
    }

    .infobox td {
      padding: 4px;
      vertical-align: top;
    }
    
    .infobox img {
      width: 100%;
      height: auto;
    }

h1 {
  font-size: 29px;
  margin-bottom: 4px;
  color: var(--font-h1);
}
    h2 {
      font-size: 24px;
      margin-top: 24px;
      border-bottom: 1px solid var(--border-color);
      padding-bottom: 3px;
      color: var(--font-h2);
    }
        h3 {
          font-size: 19px;
          margin-top: 19px;
          color: var(--font-h3);
        }
            h4 {
              font-size: 17px;
              color: var(--font-h4);
              margin-top: -5px;
              margin-bottom:-5px;
            }
            

.toc {
  background-color: var(bg-color);
  border: 1px solid var(--border-color);
  padding: 10px;
  margin-bottom: 20px;
  width: fit-content;
}


/* Collapsible Categories */

.collapsible {
  cursor: pointer;
  padding: 10px;
  border: 1px solid var(--border-color);
  background-color: var(--collapse-bg);
  font-weight: bold;
  margin-top: 16px;
}
    
    .collapsible:hover {
      background-color: var(--collapse-bg-hover);
    }

    .collapsible-content {
      display: block;
      padding: 10px;
      border: 1px solid var(--border-color);
      border-top: none;
      background-color: var(--collapse-content);
    }


/* Image Embeds */

.figure {
  display: table;
  margin: 16px auto;
  text-align: center;
  font-size: 90%;
  max-width: 100%;
}
    .figure img {
      display: block;
      margin: 0 auto;
      max-width: 100%;
      height: auto;
      border: 1px solid var(--border-color);
      background-color: #fff;
      padding: 3px;
    }

    .figure-caption {
      display: table-caption;
      caption-side: bottom;
      padding-top: 6px;
      color: #555;
      font-style: italic;
    }

.infobox-picture {
  display: table;
  margin: 16px auto;
  text-align: center;
  font-size: 90%;
  max-width: 100%;
        width: 95%;
        min-width: 300;
        max-width: 330px;
      }

/* Gallery */
.gallery {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: center;
  margin-top: 32px;
}
    .gallery-item {
      flex: 1 0 200px;
      max-width: 250px;
    }
        .gallery-item img {
          width: 100%;
          height: auto;
          display: block;
          border: 1px solid var(--border-color);
          padding: 3px;
        }

    .gallery-caption {
      text-align: center;
      font-size: 14px;
      color: #555;
      margin-top: 5px;
    }


/* Lightbox Gallery */
.lightbox-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,0.85);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1000;
  display: none;
}


      .lightbox-overlay img {
        max-width: 90%;
        max-height: 90%;
        border: 4px solid #fff;
        box-shadow: 0 0 20px #000;
      }

      #wrapper {
        display: flex;
        max-width: 1200px;
        margin: 0 auto;
        padding: 20px;
      }

      /* Mobile Layout */
      body {
        background: linear-gradient(to bottom, var(--bg-gradient-top), var(--bg-gradient-mid), var(--bg-gradient-bottom));
        margin: 0;
        padding: 0;
      }
      
      #wrapper {
        max-width: 80%;
        margin: 0 auto;
        padding: 32px 0;
      }
     
      @media (min-width: 1921px) {
  :root {
    --font-body: 17px;
    --font-p: 17px;
    --font-alt: 17px;
    --font-caption: 16px;
    --font-h1: 31px;
    --font-h2: 26px;
    --font-h3: 21px;
    --font-h4: 19px;
  }
}
     
      
      @media (max-width: 768px) {
        #wrapper {
          max-width: 95%;
          padding: 16px;
        }
      
        .sidebar {
          display: none;
        }
      
        .infobox {
        margin-top: -32px;
        clear: right;
        margin-bottom: 32px;
          float: none;
          margin: 16px auto;
        }
      }
      
          .infobox {
            margin-top: -32px;
            clear: right;
            margin-bottom: 32px;
            float: right;
            margin: 0 0 16px 16px;
            clear: both;
          }
          
          .infobox-header {
            background-color: #d6e0f5;
            text-align: center;
            font-weight: bold;
            padding: 6px;
            width: 100%;
          }

      
      main.content::after {
        content: "";
        display: table;
        clear: both;
      }
      
      .figure-row {
        display: flex;
        gap: 15px;
        flex-wrap: wrap;
        justify-content: center;
        margin: 16px auto;
        max-width: 100%;
      }
      
      .boxed-figure {
        width: 30%;
        min-width: 200px;
        max-width: 300px;
      }
    