:root {
  --sidebar-width: 13vw;
  --navbar-height: 20vw;
  --column-min-width: 384px;
  --column-row-gap: 4.0em;
  --navbar-entries: 5;
  --element-space: 10px;
  --shadow-color: #0008
}

html, body {
  margin: 0;
  padding: 0;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 100%;
  background-color: #222;
  color: #CCC;
  image-rendering: auto;
}

h1 {
  margin-left: 0;
  margin-top: 0;
  margin-bottom: 0;
  margin-right: 0;
  padding: 0px 0px;
  background-color: #222;
  color: #CCC;
}

h2 {
  margin: 0;
  padding-top:5px;
  padding-bottom: 10px;
  background-color: #222;
  color: #CCC;
}

h3 {
  padding-top: 5px;
  margin-top: 0;
  margin-bottom: 0;
  color: #CCC;
}

h6 {
  margin-top: 0;
  margin-bottom: 16px;
  color: #CCC;
}

a {
  color: #FFB;
}

p {
  text-align: left;
  padding-right: 0;
  margin-top: 0;
}

iframe {
  margin: 0;
  padding: 0;
  border: none;
}

li {
  margin-bottom: 0.8em;
}

ul {
  margin-top: 0;
}

th, td {
  text-align: left;
  padding: 5px;
}

.center {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

/* Navbar container */
.navbar {
 overflow: hidden;
 background-color: #333;
 font-family: Arial;
 position: fixed;
 top: 0;
 left: 0;
 width: 100%;
 height: var(--navbar-height);
 z-index: 1;
}

/* Links inside the navbar */
.navbar a {
 float: left;
 font-size: 16px;
 color: white;
 text-align: center;
 padding: 0;
 padding-top: 4vw;
 padding-bottom: 4vw;
 text-decoration: none;
 filter: brightness(100%) drop-shadow(1vw 1vw 0.25vw var(--shadow-color));
 width: 20%;
 height: auto;
}

.navbar img {
  width: auto;
  height: 100%;
}

/* Add a red background color to navbar links on hover */
.navbar a:hover {
 filter: brightness(125%) drop-shadow(1vw 1vw 0.25vw var(--shadow-color));
}

/* Style the sidebar - fixed full height */
.sidebar {
  height: 100%;
  width: var(--sidebar-width);
  position: fixed;
  z-index: 1;
  top: 0;
  left: 0;
  background-color: #333;
  overflow-x: hidden;
  padding-left: 0;
  padding-top: 0;
}

/* Style sidebar links */
.sidebar a {
  padding-left: 10px;
  padding-top: 0px;
  padding-right: 10px;
  padding-bottom: 0px;
  margin-top: 10px;
  margin-left: 0;
  text-decoration: none;
  font-size: 20px;
  color: #818181;
  display: block;
  filter: brightness(100%) drop-shadow(0.5vw 0.5vw 0.125vw var(--shadow-color));
}

.sidebar img {
  width: 100%;
  height: auto;
}

/* Style links on mouse-over */
.sidebar a:hover {
  color: #f1f1f1;
  filter: brightness(125%) drop-shadow(0.5vw 0.5vw 0.125vw var(--shadow-color));
}

.center {
  display: flex;
  justify-content: center;
}

.dropshadow {
  filter: drop-shadow(1vw 1vw 0.25vw var(--shadow-color));
}

/* Style the main content */
.main {
  margin-left: var(--sidebar-width); /* Same as the width of the sidenav */
  margin-top: 0;
  padding: 0px 10px;
  background-color: #222;
  color: #CCC;
  font-size: 2.0em;
  scroll-padding-top: 0;
}

.main_admin {
  margin: 0;
  padding: 10px;
  background-color: #222;
  color: #CCC;
  font-size: 1.5em;
}

.column {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(var(--column-min-width), 1fr));
  height: auto;
  gap: 20px;
  row-gap: var(--column-row-gap);
}

.big_column {
  float: left;
  width: 66%;
  margin-right: 1%;
}

.small_column {
  float: left;
  width: 33%;
}

.gallery {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(33%, 1fr));
  width: 100%;
  height: auto;
  gap: 10px;
}

.gallery_portrait {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(25%, 1fr));
  width: 100%;
  height: auto;
  gap: 10px;
}

.entry {
  width: 50%;
}

.float {
  float: left;
  width: 50%;
  height: auto;
}

.float_quarter {
  float: left;
  width: 25%;
  height: auto;
}

.full {
  float: left;
  width: 100%;
  height: auto;
}

.padded {
  padding-right: 10px;
  text-align: left;
}

.padded_top {
  padding-top: 10px;
}

.padded_bottom {
  padding-bottom: 10px;
}

.unpadded {
  padding: 0;
}

.video_container {
  aspect-ratio: 16 / 9;
  height: auto;
  width: 100%;
  border: none;
  padding-bottom: 10px;
}

.project_icon_container {
  float: left;
  width: 100%;
  height: auto;
  display: block;
}

.half {
  width: 50%;
}

.whole {
  width: 100%;
}

.icon {
  padding: 0;
  width: 10%;
  height: auto;
}

.icon_small {
  padding: 0;
  padding-top: 5px;
  width: 5%;
  height: auto;
}

.icon_container
{
  width: 100%;
  margin-right: 10px;
  padding-top: 5px;
  padding-bottom: 5px;
  background: #333;
}

.subsite_container {
  width: 100%;
  height: 100%;
}

/* settings for extra small screens */
/*@media (max-width: 480px) {
  .hidden-xs {
    display: none !important;
  }
  .main {
    margin-left: 0px;
    margin-top: var(--navbar-height);
    font-size: 1.5em;
  }
} */

/* settings for all other screens */
/*@media (min-width: 481px) {
  .visible-xs {
    display: none !important;
  }
  .main {
    margin-left: var(--sidebar-width);
    margin-top: 0;
  }
} */

@media (orientation: portrait) {

  :root {
    --column-min-width: 0.75fr;
    --column-row-gap: 1.5em;
  }

  .hidden-xs {
    display: none !important;
  }

  html {
    font-size: 2.5vw;
    scroll-padding-top: var(--navbar-height);
  }

  h3 {
    padding-bottom: 2.5vw;
  }

  li {
    margin-bottom: 2.5vw;
  }

  input {
    width: 100%;
    padding: 10px;
    font-size: 1.0em;
  }

  textarea {
    width: 100%;
    font-size: 1.0em;
  }

  .main {
    margin-left: 0px;
    margin-top: var(--navbar-height);
  }

  .float {
    width: 50%;
  }

  .float_quarter {
    width: 50%;
  }

  .big_column {
    width: 100%;
  }

  .small_column {
    width: 100%;
  }

}

/* settings for all other screens */
@media (orientation: landscape) {

  :root {
      --column-min-width: 40vw;
      --column-row-gap: 4.0em;
  }

  .visible-xs {
    display: none !important;
  }

  html {
    font-size: 0.75em;
    scroll-padding-top: 0;
  }

  h3 {
    padding-bottom: 0.8em;
  }

  li {
    margin-bottom: 0.8em;
  }

  input {
    width: 50%;
    padding: 10px;
    font-size: 1.0em;
  }

  textarea {
    width: 50%;
    font-size: 1.0em;  }

  .main {
    margin-left: var(--sidebar-width);
    margin-top: 0;
  }

  .float {
    width: 50%;
  }

  .float_quarter {
    width: 25%;
  }
}
