:root{
  /* Colors */
  --col-midnight: #1A2B47;
  --col-golden: #D4AF37;

  --col-background: var(--col-midnight);
}

@font-face {
 font-family:AmericanTypewriter;
 src:url('/style/font/American Typewriter Regular.ttf');
 font-weight:normal;
 font-style:normal
}

/* Main body properties */
body{
  background-color: var(--col-background);
  color: white;
  font-family: AmericanTypewriter, sans-serif;
  margin: 0px;
  font-size: 1.25rem;
  padding-bottom: 2em;
}
a{
  color:inherit;
}

a.btn{
  text-decoration: none;
  display: block;
}

.bernard{
  font-family: "Bernard MT Condensed", cursive;
}

.header{
  border-top: 1px solid var(--col-golden);
}

.divider{
  margin-top: 2rem;
  margin-bottom: 2rem;
  border-bottom: 2px solid var(--col-golden);
}

h1{
  font-size: 4em;
  margin-top: 1em;
  margin-bottom: .5em;
}

h2{
  font-size: 3em;
  margin-top: 1em;
  margin-bottom: .5em;
}

h3{
  font-size: 2em;
  margin-top: 1em;
  margin-bottom: .5em;
}

.lrg{
  font-size: 1.5em;
}


.hidden{
  visibility: hidden !important;
  opacity: 0 !important;
}

/* Inline buttons */
button.inline{
  font-size: 0.8em;
  margin-left: 0.2em;
  margin-right: 0.2em;
}

button.inline.right{
  float: right;
}

input:focus,
select:focus,
textarea:focus,
button:focus {
    outline: none;
}

/* Elements */
#sidebar{
  position: fixed;
  font-size: 1.4rem;
  top: 1rem;
  right: 1rem;
  width: 8em;
  display: flex;
  flex-direction: column;
  gap: 0.2em;
}

#sidebar > button{
  width: 100%;
}

#sidebar > button:not(:first-child){
  margin-top: 0.2em;
}

.darken{
  position: fixed;
  top: 0px;
  left: 0px;
  background-color: rgba(50, 50, 50, 0.95);
  width: 100%;
  height: 100%;
}

.cnt.fixed{ 
  position: fixed;
  top: 1rem;
  margin-left: auto;
  margin-right: auto;
  left: 0px;
  right: 0px;
  max-width: 42rem;
  min-height: 8rem;
}

.cnt.fixed >.btn{
  position: absolute;
  top: 4px;
  right: 4px;
  width: 2em;
}

#passwordarea{
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}

#passwordset{
  display: flex;
  flex-direction: column;
  margin-right: 0.5em;
  width: 100%;
}

#home{
  position: fixed;
  font-size: 1.4rem;
  top: 1rem;
  left: 1rem;
  width: 2em;
}

#header{
  text-align: center;
  display: block;
  background-image: url("../img/bg1.jpg");
  background-repeat: repeat;
  width: 100%;
  padding-bottom: 1em;
  margin-bottom: 1em;
}

#header > h1{
  margin-bottom: 0em;
}

#footer{
  text-align: center;
  display: block;
  background-image: url("../img/bg1.jpg");
  background-repeat: repeat;
  width: 100%;
  padding-top: 2em;
  padding-bottom: 2em;
  margin-top: 4em;
}

/* Distribution of content in main container */
#maincontent{
  text-align: center;
}

/* Containers */
.cnt{
  background: #506963;
  box-shadow: 0px 0px 4px 0px #000000;
  padding: 2em 1em 0.5em 1em;
}

/* Buttons */
.btn{
  background: none;
  border: 1px solid white;
  color: white;
  border-radius: .25rem;
  display: inline-block;
  text-align: center;
  padding: 0.25rem 0.5rem;
  transition: color .15s ease-in-out, background-color .15s ease-in-out;
  font-size: 1rem;
  line-height: 1.5em;
}
.btn:hover{
  background-color: #ccc;
  cursor: pointer;
}

.btn.med{
  padding: 0.25em 0.5em;
  font-size: 1.2rem;
  border-width: 2px;
}

.btn.lrg{
  padding: 0.5em 1em;
  font-size: 1.5rem;
  border-width: 2px;
}

.btn.fa{
  padding-top: 1px;
  padding-bottom: 1px;
}

.btn:disabled,
.btn[disabled]{
  border: 1px solid #999999;
  background-color: #555555;
  color: #aaaaaa;
}

/* Form stuff */
.form-part{
  display: block;
  font-weight: 400;
  background-color: #fff;
  border-radius: .25rem;
  border: 1px solid #0e0e0e;
  line-height: 1.5em;
  font-size: 1rem;
  width: 100%;
}

select.form-part{
  height: 1.75rem;
}

/* text styling */
.warning{
  color: #ff5400;
}

.error{
  color: rgb(250, 53, 53);
}

.invalid{
  border-color: red;
  box-shadow: 0 0 2px red;
}

/* Messagebox */
#messagebox{
  position: fixed;
  top: 10px;
  left: 0;
  right: 0;
  z-index: 30;
  min-width: 40%;
  max-width: 80%;
  line-height: 1em;
  background: #464646;
  color: white;
  border: 1px solid rgb(217, 217, 217);
  -webkit-box-shadow: 0px 0px 1px 1px rgba(217, 217, 217,0.5);
  -moz-box-shadow: 0px 0px 1px 1px rgba(217, 217, 217,0.5);
  box-shadow: 0px 0px 1px 1px rgba(217, 217, 217,0.5);
  text-align: center;
  display: inline-block;
  vertical-align: middle;
  padding: 0.8em 4em 0.8em 4em;
  margin: auto;
  border-radius: 4px;
}

/* Parent hovering functionality */
* > .parenthover{
  display: none;
}

*:hover > .parenthover{
  display: block;
}

.hidesmooth{
  transition: opacity 250ms, visibility 250ms;
}



.mobileOnly{
  display: none;
}


/* Arrows */
.arrow{
  max-width: 8em;
}

.arrow::before {
  content: " ";
  border: solid #464646;
  border-width: 0 0.75em 0.75em 0;
  display: inline-block;
  padding: 1em;
}

.arrow.right::before{
  transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
}

.arrow.left::before{
  transform: rotate(135deg);
  -webkit-transform: rotate(135deg);
}