
/* The following CSS applies on all screen sizes */

/* Colors and fonts */
:root {
    /* Fonts */
    --bodyfont: sans-serif;
    --headerfont: Georgia, serif;

    /* Main colors */
    --background:#4a8c60; /* Page background */
    --color:#222548;
    --block:#fff5e9; /* Background color for the grid blocks in the content */

    --link:#4a8c60;
    --linkhover:#80bb7d;

    --h1:#222548;
    --h2:#222548;
    --h3:#222548;
    --h4:#222548;

    /* Sidebar colors */
    --sidebar:#fff5e9;
    --sidebarcolor:#222548;
    --title: #4a8c60;
    --sidebarlink: #4a8c60;
    --sidebarlinkhover:#80bb7d;

    /* Menu colors */
    --menubg:#222548;
    --menucolor:#c2c89a;
    --menubghover:#c2c89a;
    --menucolorhover:#222548;
    
    --td:#fff5e9;
    --th:#c2c89a;
}

* { margin:0; padding:0; }

/* Main body styling */
body {
    background-color:var(--background);
    background-attachment:fixed;
    font:1rem sans-serif;
    color:var(--color);
}

/* Rounded corners - feel free to get rid of this or change it */

main section, #sidebar-content, #main-footer {
    border-radius:5px;
}

/* Sidebar styling */

#sidebar-content {
    text-align:center;
    background: var(--sidebar);
    color: var(--sidebarcolor);
    padding:10px;
}

#sidebar-content header {
    color:var(--title);
    font:1.8em var(--headerfont);
    margin:8px;
}

#sidebar-content p a {
    color:var(--sidebarlink);
    transition:0.5s ease;
}

#sidebar-content p a:hover {
    color:var(--sidebarlinkhover);
    transition:0.5s ease;
}

.icon img {
      border-radius:100%;
    max-width:150px; /* This can be changed to make the icon smaller; you might have to mess with the border radius too */
}

/* Styling for the menu */

#main-menu {
    font:1.1em var(--headerfont);
    width:100%;
}

#main-menu ul {
    list-style:none;
}

#main-menu li a {
    padding:7px;
    background:var(--menubg);
    color:var(--menucolor);
    text-decoration:none;
    transition:0.5s ease;
}

#main-menu li a:hover, #main-menu li a:focus {
    background: var(--menubghover);
    color:var(--menucolorhover);
    transition:0.5s ease;
}

/* Content styling */

main {
    margin-top:10px;
}

/* Styling for blocks */

main section, #main-footer {
    padding:15px;
    background:var(--block);
    margin-bottom:10px;
}

.subheader {
      background: var(--menubghover);
padding: 3px;
border-radius: 5px;
}

main h1 {
    font:1.8em var(--headerfont);
    color:var(--h1);
}

main h2 {
    font:1.5em var(--headerfont);
    color:var(--h2);
}

main h3 {
    font:1.3em var(--headerfont);
    color:var(--h3);
}

main h4 {
    font:1em var(--headerfont);
    font-style:bold;
    color:var(--h4);
}

p {
    line-height:1.5;
    margin:10px 0 10px 0;
}

main a {
    color:var(--link);
    transition:0.5s ease;
}

main a:hover, main a:focus {
    color:var(--linkhover);
    transition:0.5s ease;
}

main ul {
    list-style-position: outside;
    margin-left: 25px;
}

main ul li {
    line-height:1.5;
}

main img {
    max-width:100%;
}

main input, textarea, select, button { 
    background: var(--block);  
    color: var(--color);
    font: 1rem var(--bodyfont); 
    border: 1px solid; 
    padding: 8px; 
    margin: 2px;
}

table {
  font-family: Georgia, sans-serif;
  border-collapse: collapse;
  width: 100%;
}

td {
  border: 2px solid var(--color);
  text-align:center;
  padding: 8px;
  background-color: var(--td);
}

th {
  border: 2px solid var(--color);
  text-align:center;
  padding: 8px;
  background-color: var(--th);
}

#main-footer {
    text-align:center;
}

.box {
	display:inline;
	grid-gap:5px;
}

.mini-img {
  max-width:24px;
}

.other-chara-img {
  max-width:50px;
}

.affection {
  max-width:50px;
}

.relation-table {
  max-width:50px;
  font-size:7px;
  border:none;
  background-color:none;
  padding:none;
}

/***
EZ Gallery by netfriend - https://netfriend.neocities.org/ez-gallery/
Released under the Unlicense - https://unlicense.org/
***/

.ezgallery.montage { 
  display: flex;
  flex-flow: row wrap;
  align-items: center;
  justify-content: center;
  width: 100%;
}

.ezgallery.montage img {
  flex: auto;
  margin: 0 5px 5px 0;
  object-fit: contain;
  object-position: bottom;
}

.ezgallery.horizontal { 
  display: grid;
  grid-gap: 5px;
  gap: 5px;
  grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));
  grid-auto-rows: minmax(100px, auto);
}

.ezgallery.horizontal a {
  text-align: center;
}

.ezgallery.horizontal img {
  text-align: center;
  vertical-align: middle;
  margin: 0 5px 5px 0;
  max-width: 100px;
  max-height: 100px;
  object-fit: contain;
  object-position: bottom;
}

.photoviewer-modal {
 color: var(--color);
 background-color: var(--block);
 border-radius: 20px;
 margin: 1em;
}

.photoviewer-stage {
 background-color: var(--menucolor);

}

/* The following CSS ONLY applies to mobile/small screens */

/* Container styling */
#container {
    width: calc(100% - 20px);
    padding:10px;
    margin-top:10px;
}

#sidebar-content {
    width: calc(100% - 20px);
}

#main-menu li {
    margin-bottom:15px;
    display:inline-block;
}

/* Skip to content button */

#skip a {
    position:absolute;
    display:inline-block;
    left:0px;
    top:-1000px;
    overflow:hidden;
    transition:top 0.5s ease;
    background:var(--block);
    color:var(--link);
    z-index:1000;
    padding:5px;
}
 
#skip a:focus {
    top: 0;
    transition:top 0.5s ease;
}

/* The following CSS ONLY applies to desktop/big screens */

@media screen and (min-width: 800px) {
    #container {
        max-width:950px;
        width:90%;
        margin:25px auto;
        display:flex;
        gap:20px;
    }

    #sidebar {
        flex: 1 1 calc(25% - 20px);
        margin-top:10px;
    }
    
    /* Remove or comment out this block if you don't want a sticky sidebar */
    #sidebar-content {
        position:sticky;
        top:10px;
    }

    /* Make menu links into a column */

    #main-menu li {
        display:block;
        margin:0;
    }

    #main-menu li a {
        display:block;
        border-bottom:1px solid;
    }

    main {
        flex: 1 1 calc(75% - 30px);
        display:flex;
        flex-wrap:wrap;
        gap:10px;
    }

    main section {
        margin:0;
    }
    
    #main-footer {
        flex: 1 1 calc(100% - 40px);
    }

    /* Defining grid blocks */

    .full { flex: 1 1 calc(100% - 40px);}
    .half { flex: 1 1 calc(50% - 40px); }
    .third { flex: 1 1 calc(33% - 40px); }
    .twothird { flex: 1 1 calc(66% - 40px); }
    .quarter { flex: 1 1 calc(25% - 40px); }
    .threequarter { flex: 1 1 calc(75% - 40px); }
}




