/*
COMMON CSS
FOR NAVIGATION SPECIFIC ENTRIES, SEE navigation.css
*/

/*@import "buttons.css";*/
@import "fonts/stylesheet.css";

.center-image {
    max-width: 80%;  /* Image will not exceed 80% of the width of its container */
    max-height: 60vh; /* Image will not exceed 60% of the viewport height */
    width: auto;      /* Maintains aspect ratio */
    height: auto;     /* Maintains aspect ratio */
    margin: 0 auto;   /* Centers the image horizontally */
    display: block;
}

header {
    margin-bottom: 20px;
    position: relative;
    width: 100%;
}

body{
    background-color: rgb(30, 30, 30);
    font-family: itimregular;
    color: #ad1e30;
}
.image-title{
    text-align: center;
    color: #ef942b;
    font-size: small;
    font-weight: bold;
}
.center{
    text-align: center;
}
h1{
    text-align: center;
}

.top-image img {
    /*border: 1px solid red;*/
    max-width: 100%;
    height: auto;
}
div.web-stats img{
    /*border: 1px solid red;*/
    max-width: 100%;
    height: auto;
}
#top-header{
    /*border: 1px solid red;*/
    /* Arrange children using grid rules */
    display: grid;
    /* sidebar split 1/6 */
    grid-template-columns: 1fr 6fr;
    /* Set the gap between rows/columns */
    grid-gap: 1rem;
}

main{
    width:80%;
    background-color: rgb(30, 30, 30);
    margin: auto;
    text-align: justify;
}

/* Default Article */
article{
    /*border: 1px solid red;*/
    padding: 30px;
}

.display-table{
    /*border: 1px solid green;*/
    font-size: smaller;
    overflow-x:auto;
}
.display-table caption{
    font-weight: bold;
}

.my-form-elements{
    /*border: 1px solid green;*/
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-gap: 1rem;
    text-align: left;
    padding: 5px;
}

.my-form-elements input[type=text], textarea, select {
    padding: 5px 5px;
    margin: 8px 0;
    display: inline-block;
    border: 1px solid #ccc;
    border-radius: 4px;
    box-sizing: border-box;
    /*Remove the below to allow the sizing in the html documents with the size attribute*/
    width:90%
}
.my-form-elements2{
    /*border: 1px solid green;*/
    display: grid;
    grid-template-columns: 1fr;
    grid-gap: 1rem;
    text-align: left;
    padding: 5px;
}
.my-form-elements2 input[type=text],input[type=password], textarea, select {
    padding: 5px 5px;
    margin: 8px 0;
    display: inline-block;
    border: 1px solid #ccc;
    border-radius: 4px;
    box-sizing: border-box;
    /*Remove the below to allow the sizing in the html documents with the size attribute*/
    width:90%
}
.form_buttons{
    /*border: 1px solid green;*/
    text-align: center;
    margin-right: auto;
}
label{
    font-weight: bold;
}

img {
    display: block;
    margin-left: auto;
    margin-right: auto;
}

figure{
    /*border: 1px solid red;*/
}

figcaption, figcaption a{
    text-align: center;
    background-color:#272b34 ;
    color: whitesmoke;
    font: italic x-small sans-serif;
    padding: 3px;
}
/*Make our tables a bit less bland*/
table {
    border-collapse: collapse;
    width: 100%;

}
th, td {
    text-align: left;
    padding: 8px;
}
tr:nth-child(even) {
    background-color: #e9d7c7;
}
/*
Not currently used, but may be implemented down the line to reduce the number of
individual pages.
*/
#expand_div {
    margin-top: 20px;
    display: none;
}

footer {
    position: fixed;
    left: 0;
    bottom: 0;
    width: 100%;
    background-color: #272b34;
    color: #a3a5a8;
    text-align: center;
}

footer p {
    margin: 0; /* Remove default margin */
    line-height: 1.5; /* Adjust line height for better readability */
}
@media screen and (max-width: 600px) {
    div.my-form-elements {
        grid-template-columns: 1fr;
    }
}
@media screen and (max-width: 250px) {
    img {
        max-width: 90%;   /* Limits the image to 90% of the viewport width */
        height: auto;     /* Maintains the aspect ratio */
    }
}
@media screen and (max-width: 450px) {
    .top-nav.responsive {
        position: relative;
    }
    #top-header{
        width: 100%;
        margin: auto;
        grid-template-columns: 1fr;
        text-align: center;

    }
    main{
        width:100%;
        margin: auto;
        background-color: rgb(30, 30, 30);
        color: #ad1e30;
    }
    h1{
        font-size: 1em;
    }
}




