* {
  box-sizing: border-box;
}

:root {
  --bgcolor: #e6e6ff;
  --windowbg: #ccccff;
  --boxshadow: rgba(87, 85, 170, .25);
  --gradient1: #80c1ff;
  --gradient2: #bb99ff;
  --headercolor: #ffffff;
  --bodytextcolor: #624e97;
}

html {
  scroll-behavior: smooth;
}

body {
  background-color:var(--bgcolor);
  background-image:url("/ocs/kinoko/graphics/mushroom_orangered.gif");
}

a, a:visited {
  color:var(--headercolor);
  text-decoration:none;
  font-weight:bold;
}

p {
  color: var(--bodytextcolor);
}

ul {
  padding:0;
  margin:10px;
}

li {
  padding:0;
  margin:10px 0 10px 10px;
}

#nav, #footer {
  display:flex;
  justify-content: center;
  align-items:flex-end;
}

#footer {
  max-width:90vw;
}

.navlink{
  display:inline-block;
  margin:10px;
  padding:10px 10px 15px 10px;
  box-shadow:
  5px 5px 5px var(--boxshadow),
  0 -7px 0 0 var(--bodytextcolor) inset;
  border-radius: 5px;
}

.navlink:hover{
  padding:8px 10px 13px 10px;
  box-shadow:
  5px 5px 5px var(--boxshadow),
  0 -5px 0 0 var(--bodytextcolor) inset;
}

.gradientbg{
  background: linear-gradient(90deg,var(--gradient1) 2%, var(--gradient2) 100%);
}

.row {
  display: flex;
  max-width:90vw;
  margin:auto;
}

.column1{
  flex: 30%;
  padding: 10px;
}


.column2{
  flex: 70%;
  padding: 10px;
}

.box{
  border-style:hidden;
  border-radius: 10px;
  padding:0;
  box-shadow: 10px 10px 5px var(--boxshadow);
  background-color: var(--windowbg);
  margin-bottom:20px;
}

.box a:hover{
  color: var(--gradient1);
  text-shadow: 0 0 3px var(--gradient2);
}

.boxheader{
  border-style:hidden;
  border-radius: 10px 10px 0 0;
  padding:10px 10px 10px 15px;
  text-align:justify;
  font-size:14px;
  color: var(--headercolor);
  margin:0;
}

.boxbody{
  padding:15px 40px 15px 40px;
  color: var(--bodytextcolor);
}

#profilebox {
  max-width: 90%;
  max-height: 90%;
  object-fit: contain;
}

#profileimg {
  border: solid 5px var(--gradient1);
  border-radius:5px;
}

.bold{
  font-weight:bold;
}

.reference > img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}

.reference > p{
  margin:0;
  padding:15px;
  text-align:center;
}

.gallery {
  display:flex;
  flex-flow:row wrap;
  justify-content:space-around;
  margin-top:10px;
  margin-bottom:10px;
}

.galleryentry{
  display:flex;
  flex-direction: column;
  justify-content:space-between;
  margin:5px;
  padding: 5px;
  width:250px;
  height:350px;
  background-color: var(--headercolor);
  border: var(--bodytextcolor) solid 1px;
  border-radius: 10px;
}

.nodesc {
  align-self:center;
}

.galleryentry:hover {
  border-color: var(--hovergalleryborder);
  box-shadow: 0 0 5px 5px var(--gradient2);
}

.imgcontainer{
  margin:10px;
  display:flex;
  height:275px;
  justify-content:center;
  align-items:center;
}

.imgcontainer > img{
  max-width:90%;
  max-height:90%;
  object-fit: contain;
}

.galleryentry > p{
  margin:10px;
  text-align:justify;
}

.galleryentry > p > a, .galleryentry > p > a:visited {
  color: var(--windowbg);
  font-weight: bold;
}