/*                  RESPONSIVENESS   */
* {
  box-sizing: border-box;
}

.grid_container {
    display: grid;
    grid-template:
        "a a a"
        "b b b" 
        "c c c";
    grid-template-areas:
        'navigation'
        'main_content'
        'footer';
    gap: none;
}

/* Extra small devices (phones, 600px and down) */
@media screen and (max-width: 600px) {
    .navigation a {
        display: none;
    }
    
    .navigation a.menu_icon {
        display: block !important;
        float: right !important;
        padding: 0;
        padding-right: 1vh;
        padding-left: 2vh;
        font-size: 18pt;
    }
    .series_logo {
        display: none;
    }
    
    .nav_links {
        float: none !important;
        padding: 0 !important;
    }
    
    .main_content .gallery {
        justify-content: center;
    }
    
    .main_content .infobox_right {
        width: 100%;
        margin-bottom: 2.5vh;
    }
    
    .main_content .table_of_contents {
        width: 100%;
        margin-bottom: 2.5vh;
    }
    
    .main_content .stub {
        width: 100%;
        justify-content: center;
        align-items: center;
    }
    
    .main_content .stub_icon {
        display: block;
    }
    
    .main_content .warning {
        width: 100%;
        justify-content: center;
        align-items: center;
    }
    
    .main_content .warning_icon {
        display: block;
    }
    
    .main_content .stc {
        width: 100%;
        justify-content: center;
        align-items: center;
    }
    
    .main_content .stc_icon {
        display: block;
    }
    
    .main_content .left_page {
        width: 100%;
        text-align: center;
        margin-bottom: 2.5vh
    }
    
    .main_content .right_page {
        width: 100%;
        text-align: center;
    }
    
    .main_content .container img {
        width: 100%;
    }
    
    .main_content .slider-nav a {
        scale: 1.5;
        margin: 0 2vh;
    }
    
    .main_content .welcome {
        width: 100%;
        text-align: center;
    }
    
    .main_content .slideshow-container {
        max-width: 100%;
    }
    
    .main_content .prev {
        font-size: 48pt;
        margin-top: 50%;
        top: 0;
    }
    
    .main_content .next {
        font-size: 48pt;
        margin-top: 50%;
        top: 0;
    }
    
    .main_content .caption_text {
        display: none;
    }
    
    .main_content .caption_title {
        display: none;
    }
    
    .main_content figure {
        width: 100%;
    }
}
@media screen and (max-width: 600px) {
    .navigation.responsive {
        position: relative !important;
        height: auto !important;
    }
    
    .navigation.responsive a {
        float: none;
        display: block;
        text-align: left;
        background-color: #1b1b1c;
        border-bottom: 0.2vh solid;
    }
    
    .navigation.responsive nav_links a {
        display: block;
        float: none;
        text-align: left;
    }
    
    .navigation.responsive .menu_icon {
        position: absolute;
        right: 0;
        top: 0;
        border: none;
    }
    
    .navigation.responsive .series_logo {
        display: none;
    }
    
    .series_logo a {
        left: 0;
        top: 0;
        display: flex;
        max-height: 10vh;
        max-width: 20rem;
        justify-content: center;
        align-items: center;
    }
}

/*                  GLOBAL           */
body {
    background-image: linear-gradient(to bottom, #1b1b1c, #252526)
}

blockquote {
    font-size: 13pt;
}

.navigation {
    grid-area: navigation;
    font-family: JetBrains Mono;
    background-image: linear-gradient(to right, #1b1b1c, #252526);
    height: 5em;
    width: auto;
    overflow: hidden;
    padding-bottom: 0.5em;
}

.nav_links {
    float: right;
    display: block;
    padding-right: 2%;
    padding-top: 3vh;
}

.navigation .menu_icon {
    display: none;
}
.navigation a {
    padding: 1.5rem 0;
    /* TEXT PARAMETERS */
    padding-left: 2vh;
    color: #4A625F;
    text-decoration: none;
    font-size: 16pt;
}

.navigation .active {
    color: #67a19a;
}


.navigation a:hover {
    color: #86e5d9;
}

.series_logo {
    float: left;
    display: block;
    padding-left: 2%;
    max-height: 10rem;
    max-width: 10rem;
    overflow: hidden;
}

.series_logo a {
    height: 100%;
    width: 100%;
    padding: 0;
}

.series_logo img {
    height: 100%;
    width: 100%;
}

.series_logo img:hover {
    transform: scale(0.925);
}

/*                   MAIN CONTENT               */

.main_content {
    grid-area: main_content;
    font-family: Lato;
    line-height: 1.75;
    color: #afb3ba;
    /* BACKGROUND TEXTURE */
    background-color: #333537;
    background-image: repeating-linear-gradient(45deg, #2f3134 0, #2f3134 2.52px, transparent 0, transparent 50%);
    background-size: 25.2px 25.2px;
    background-repeat: repeat;
    background-position: 0 0;
    /* BACKGROUND TEXTURE END */
    border-top: 0.25rem solid black;
    height: fit-content;
    width: auto;
    padding: 10px 0;
    padding-left: 2%;
    padding-right: 2%;
    border-top-left-radius: 5px;
    border-top-right-radius: 5px;
    padding-bottom: 2%;
    display: flow-root;
}

.main_content hr {
    background-color: black;
    border: 2px solid black;
}

.main_content h1, h2, h3, h4, h5, h6 {
    color: #9a9ea6;
    font-family: Lato;
}

.main_content a {
    color: #669690;
    text-decoration: none;
}

.main_content a:hover {
    color: #86e5d9;
}

figure {
    display: flex;
    flex-flow: column;
    border: 2px solid #1c1c1b;
    padding: 0.5vh;
    width: 25%;
    clear: left;
    float: right;
    margin: auto;
}

figure img {
    height: 100%;
    width: 100%;
}

figcaption {
    background-color: #252526;
    line-height: 1.5em;
    text-align: start;
    padding: 0.5em;
}

.page_title {
    font-size: 40px;
    font-family: monospace;
    color: red;
}

.welcome {
    font-family: JetBrains Mono !important;
    color: #727478 !important;
    background-color: #1b1b1c;
    border-radius: 5px;
    display: flex;
    justify-content: center;
}

/*                  ARTICLE NOTES       */

/*                  STUB                */
.stub {
    display: flex;
    height: fit-content;
    width: auto;
    padding: 10px 0;
    padding-left: 2%;
    border: 3px solid #1e2c3d;
    border-radius: 5px;
    background-color: #627996;
    overflow: auto;
}

.stub aside {
    float: left;
    padding: 10px;
}

.stub_icon {
    height: 15vh;
    width: 15vh;
}

.stub img {
    height: 100%;
    width: 100%;
}

.stub p {
    float: right;
    color: #1e2c3d;
    padding: 10px;
}
/*                  CONTENT WARNING     */

.warning {
    display: flex;
    height: fit-content;
    width: auto;
    padding: 10px 0;
    padding-left: 2%;
    border: 3px solid #3d1e20;
    border-radius: 5px;
    background-color: #966266;
    overflow: auto;
}

.warning aside {
    float: left;
    padding: 10px;
}

.warning_icon {
    height: 15vh;
    width: 15vh;
}

.warning img {
    height: 100%;
    width: 100%;
}

.warning p {
    float: right;
    color: #3d1e20;
    padding: 10px;
}
/*                  STC                 */

.stc {
    display: flex;
    height: fit-content;
    width: auto;
    padding: 10px 0;
    padding-left: 2%;
    border: 3px solid #1e3d2c;
    border-radius: 5px;
    background-color: #629679;
    overflow: auto;
}

.stc aside {
    float: left;
    padding: 10px;
}

.stc_icon {
    height: 15vh;
    width: 15vh;
}

.stc img {
    height: 100%;
    width: 100%;
}

.stc p {
    float: right;
    color: #1e3d2c;
    padding: 10px;
}

/*                  INFOBOX RIGHT       */

.infobox_right {
    font-size: 10.5pt;
    text-align: center;
    float: right;
    border-radius: 5px;
    width: 35%;
    height: auto;
    padding: 10px;
    margin-left: 15px;
    color: #727478;
    background-color: #1b1b1c;
    display: grid;
    place-items: center;
}

.infobox_right img {
    height: 100%;
    width: 100%;
}

.infobox_right h2 {
    color: #669690;
}

.infobox_right hr {
    width: 100%;
    background-color: #4A625F !important;
    border: 2px solid #4A625F !important;
}
/*                  TABLE OF CONTENTS   */

.table_of_contents {
    background-color: #1b1b1c;
    width: 40%;
}

.table_of_contents summary{
    cursor: pointer;
    color: #727478;
    padding: 10px;
}

.table_of_contents p {
    padding: 10px;
    background-color: #2a2a2b;
}

.table_of_contents a {
    display: flex;
    color: #669690;
    text-decoration: none;
    justify-content: left;
    padding: 0.25em;
    padding-left: 2em;
    font-weight: bold;
}

.table_of_contents a:hover {
    color: #86e5d9;
}

/*                  FOOTER              */
.footer {
    grid-area: footer;
    font-family: JetBrains Mono;
    font-size: 10pt;
    padding: 10px 0;
    height: auto;
    width: auto;
    text-align: center;
    color: #727478;
    background-color: #1b1b1c;
    border-bottom: 0.25rem solid black;
    border-bottom-left-radius: 5px;
    border-bottom-right-radius: 5px;

}

/*                  SLIDESHOW           */

/* Slideshow container */
.slideshow-container {
  max-width: 75%;
  position: relative;
  margin: auto;
}

/* Hide the images by default */
.mySlides {
    display: none;

}

/* Next & previous buttons */
.prev, .next {
  cursor: pointer;
  position: absolute;
  top: 50%;
  width: auto;
  margin-top: -22px;
  padding: 16px;
  color: white;
  font-weight: bold;
  font-size: 30pt;
  transition: 0.6s ease;
  border-radius: 0 3px 3px 0;
  user-select: none;
}

/* Position the "next button" to the right */
.next {
  right: 0;
  border-radius: 3px 0 0 3px;
}

/* The dots/bullets/indicators */
.dot {
  cursor: pointer;
  height: 15px;
  width: 15px;
  margin: 0 2px;
  background-color: #bbb;
  border-radius: 50%;
  display: inline-block;
  transition: background-color 0.6s ease;
}

.dot.active, .dot:hover {
  background-color: #717171;
}

/* Fading animation */
.fade {
  animation-name: fade;
  animation-duration: 1.5s;
}

@keyframes fade {
  from {opacity: .4}
  to {opacity: 1}
}

/*                  GALLERY PAGE        */
.gallery {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

.gallery-item {
    margin: 5px;
    border: none;
    width: 180px;
    transition: transform 0.6s ease;
}

.gallery-item:hover {
  border: none;
    transform: scale(1.025);
}

.gallery-item img {
    width: 100%;
    height: auto;
    transition: transform 0.6s ease;
}

.gallery-item img:hover {
    transform: scale(1.025);
}

.gallery-item div.desc {
  padding: 15px;
  text-align: center;
}

/*                  NEXT PAGE BAR       */
.next_page {
    background-color: #1b1b1c;
    display: flow-root;
    padding: 0.5rem;
}

.left_page {
    float: left;
}

.right_page {
    float: right;
}

/*                  INFOBOX TABLE STYLING       */
.infobox_right table {
    width: 100%;
    font-family: Lato;
}

.infobox_right thead {
    background-color: #2c2c2f;
    color: #afb3ba;
    width: 100%;
}

.infobox_right th {
    text-align: left;
    padding-left: 1vh;
}

.infobox_right td {
    text-align: right;
    padding-right: 1vh;
}
