@import url('https://fonts.googleapis.com/css2?family=Raleway&display=swap');

:root {
  --BgClrMain: #e3d3a4;
  --TxtClrMain: #006579;
  --BgClrEnds: #b89839;
  --LnkClrLng: #0d0d5d;
  --BlkClrTst: #a96494;
  }

body {
    background-color: var(--BgClrMain);
    color: var (--TxtClrMain);
    font-family: "Raleway", sans-serif;
    max-width: 75%;
    margin: auto;

  }

  header, footer {
      background-color: var(--BgClrEnds);
      padding: 7px 7px;
      border-radius: 4px;
  }

  header {
    margin-bottom: 12px;
    padding-top: 3px;
    padding-bottom: 3px;
  }

  header h1 {
    display: flex;
    justify-content: center;
    align-items: center;
  }

  nav {
    flex: 1;
  }

  img {
    width: 100%;
    display: inline-block;
  }

  h1, h2, h3, h4, h5, h6 {
    color: var(--TxtClrMain);
  }

  a h3 {
    color: var(--BgClrEnds);
  }

  p {
    margin-top: 0.1em;
    margin-bottom: 0.5em;
    color: var(--TxtClrMain);
  }

 /*link menu at the site top */
  
  #currmen, #currmen:visited {
     color: var(--BgClrMain); 
     background-color: var(--LnkClrLng);
     display: inline-block;
     border-radius: 8px;
  }
 
  a:link, a:visited {
    color: var(--LnkClrLng);
    text-decoration: none;
    padding: 4px;
  }

  .menu {
    display: flex;
    width: 100%;
    align-items: center;
  }

  #lang {
    align-self: flex-end;
    text-align: right;
    font-size: 70%;
  }

  #themes {
    align-self: flex-start;
  }

  #frontimg {
    max-height: 700px;
  }

  #frontpg {
    text-align: center;
  }

/* weirdness for the category selectors on the main page */
  .menuimg {
    width: 70%;
    margin: auto;
    padding: 5px;
    text-align: center;
    max-width: 500px;
  }

  .optionbox{
    width: 95%;
    color: var(--BgClrEnds);
    display: flex;
    flex-flow: row wrap;
    justify-content: space-around;
    align-items: stretch;
    vertical-align: baseline;
    margin: auto;
  }

  .sector {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    background-color: var(--TxtClrMain);
    color: var(--BgClrMain);
    margin: 3% 1%;
    padding: 5% 0%;
    text-align: center;
  }

  .optionbox a:hover, .optionbox a:active {
    background-color: var(--LnkClrLng);
    padding: 5px;
    transition-timing-function: ease;
    transition-duration: 0.5s;
    /*margin: 2% 1%;*/ /*this works to make the size of items different, but the site keeps sliding when the middle box is hovered*/
  }

  .optionbox a:link, .optionbox a:visited {
    color: var(--BgClrEnds);
    padding: 5px;
    transition-timing-function: ease;
    transition-duration: 0.5s;
  }
/*  */
  footer {
    padding-top: 7px;
    padding-bottom: 7px;
    margin-bottom: 32px;
    vertical-align: auto;
    text-align: center;
    color: var(--LnkClrLng);
  }

  a.soc {
    appearance: button;
    text-decoration: none;
    background-color: var(--TxtClrMain);
    color: var(--BgClrMain);
    font-size: 24px;
    cursor: pointer;
    display: inline-block;
    vertical-align: auto;
    margin: 2%, 1%;
    height: 30px;
    width: 30px;
  }
  
  a.soc:hover {
    background-color: var(--LnkClrLng);
    transition-timing-function: ease;
    transition-duration: 0.5s;
  }

/* Gallery displays - thanks, w3c */
  .gallery {
    display: flex;
    flex-wrap: wrap;
    padding: 0 4px;
  }
  
  .galcol {
    flex: 18.75%;
    max-width: 25%;
    padding: 0 4px;
  }
  
  .galcol img {
    margin-top: 8px;
    vertical-align: middle;
    width: 100%;
  }

 /* Contacts page links */

  .cntbox {
    display: flex;
    flex-direction: column;
    font-family: "Raleway", sans-serif;
    padding-bottom: 15px;
  }

  .cnt {
    align-self: center;
    width: 40%;
    background-color: var(--TxtClrMain);
    padding: 5px;
    margin: 5px;
    border-radius: 4px;
    text-align: center;
  }

  .cnt i{
    padding-right: 10px;
    align-content: left;
  }

  .cnt p{
    display: inline-block;
    color: var(--BgClrEnds);
    margin-bottom: -10px;
  }

  .cntbox :hover, .cntbox :active {
    background-color: var(--LnkClrLng);
    transition-timing-function: ease;
    transition-duration: 0.5s;
  }

  /*Recoloring icons omfg*/
  .cnt .fa-brands {
    color:var(--BgClrEnds);
  }
  .cnt .fa {
    color:var(--BgClrEnds);
  }
  .cnt .fa-solid {
    color:var(--BgClrEnds);
  }

  .err404 {
    display: flex; 
    flex-direction: row;
  }

  #img404 {
    width: 20%;
  }

  /* Changes for phone */
  @media screen and (max-width: 800px) {
    .galcol {
      flex: 37.5%;
      max-width: 50%;
    }
    .optionbox {
      flex-direction: column;
      max-width: 60%;
    }
    .menuimg img {
      max-width: 70%;
      max-height: 70%;
    }
    .err404 {
      flex-direction: column;
    }
    #img404 {
      align-self: center;
      width: 40%;
    }
  }
  
  @media screen and (max-width: 600px) {
    .galcol {
      flex: 75%;
      max-width: 100%;
    }
    .optionbox {
      flex-direction: column;
      max-width: 60%;
    }
    .menuimg img {
      max-width: 70%;
      max-height: 60%;
    }
    .err404 {
      flex-direction: column;
    }
  }