/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */button,hr,input{overflow:visible}progress,sub,sup{vertical-align:baseline}[type=checkbox],[type=radio],legend{box-sizing:border-box;padding:0}html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}details,main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:ButtonText dotted 1px}fieldset{padding:.35em .75em .625em}legend{color:inherit;display:table;max-width:100%;white-space:normal}textarea{overflow:auto}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}[hidden],template{display:none}

:root {
  --theme-main-blue: #373fff;
  --theme-main-yellow: #fff737;
  --theme-main-bg-grey: #f5f5f5;
  font-family: arial;
}

body { /* used to push footer to the bottom when there may not be enough content */
  display: flex;
  min-height: 100vh;
  flex-direction: column;
  justify-content: flex-start;
}

#main-header, body > footer {
  background: var(--theme-main-blue);
  color: white;
}

#main-header a, body > footer a {
  color: white;
  text-decoration: none;
  cursor: pointer;
  transition-duration: 0.3s;
}

#main-header > span {
  font-size: 50px;
  font-weight: bold;
  display: inline-block;
  text-transform: uppercase;
  margin: 15px 23px 0px;
}

#main-header nav {
  position: relative;
  margin: 0px 10px;
}

#main-header nav a, .search-icon {
  display: inline-block;
  padding: 14px 16px;
}

#main-header nav .search-icon {
  cursor: pointer;
  float: right;
}

#main-header nav a:hover {
  color: var(--theme-main-yellow);
  box-shadow: inset 0px -4px 0px 0px var(--theme-main-yellow);
}

#main-header nav a:hover i {
  color: var(--theme-main-yellow);
}

#searchForm {
  position: absolute;
  top: 0px;
  left: 0px;
  right: 0px;
  bottom: 0px;
  background: var(--theme-main-blue);
  display: none;
}

#searchForm input, #searchForm button {
  box-sizing: border-box;
  color: white;
  height: 100%;
  background: none;
  border: none;
}

#searchForm input {
  width: calc(100% - 50px);
  float: left;
  padding: 5px 14px;
}

#searchForm input::placeholder {
  color: #ffffffdb;
  opacity: 1;
}

#searchForm button {
  width: 25px;
  position: relative;
  float: right;
  cursor: pointer;
}

#closeSearch {
  font-size: 25px;
}

#searchForm button i {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

body > footer {
  margin-top: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 40px;
}

body > footer a:hover {
  text-decoration: underline;
}

body > footer nav {
  font-size: 35px;
  margin: 10px 0px;
}

body > footer nav a:hover {
  color: var(--theme-main-yellow)
}

#nav-burger {
  display: none;
}

@media screen and (max-width: 1050px) {
  #main-header nav a {
    padding: 14px 12px;
  }

  #main-header nav .search-icon span {
    display: none;
  }
}

@media screen and (max-width: 800px) {
  #main-header {
    position: relative;
    display: flex;
    flex-direction: column;
  }

  #main-header.open {
    position: fixed;
    top: 0px;
    left: 0px;
    right: 0px;
    bottom: 0px;
    z-index: 2;
  }

  #main-header nav {
    display: none;
    flex-direction: column;
  }

  #main-header nav .search-icon span {
    display: inline;
  }

  #main-header nav a {
    font-size: 20px;
    border-top-right-radius: 15px;
    border-bottom-right-radius: 15px;
  }

  #main-header nav a:hover {
    box-shadow: inset 4px 0px 0px 0px var(--theme-main-yellow);
    background: #fff73752;
  }
  
  #main-header nav a i {
    width: 25px;
  }

  #main-header.open nav {
    display: flex;
  }

  #main-header > span {
    margin: 15px 20px;
    position: relative;
  }

  #nav-burger {
    display: block;
    position: absolute;
    right: 0px;
    top: 50%;
    transform: translateY(-50%) scale(0.7);
    padding: 5px;
    cursor: pointer;
  }

  #nav-burger > div {
    float: right;
    width: 60px;
    height: 45px;
    position: relative;
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
    -webkit-transition: .5s ease-in-out;
    -moz-transition: .5s ease-in-out;
    -o-transition: .5s ease-in-out;
    transition: .5s ease-in-out;
    cursor: pointer;
  }

  #nav-burger > div span {
    display: block;
    position: absolute;
    height: 9px;
    width: 100%;
    background: white;
    border-radius: 9px;
    opacity: 1;
    left: 0;
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
    -webkit-transition: .25s ease-in-out;
    -moz-transition: .25s ease-in-out;
    -o-transition: .25s ease-in-out;
    transition: .25s ease-in-out;
  }

  #nav-burger > div span:nth-child(1) {
    top: 0px;
  }

  #nav-burger > div span:nth-child(2),#nav-burger > div span:nth-child(3) {
    top: 18px;
  }

  #nav-burger > div span:nth-child(4) {
    top: 36px;
  }

  #main-header.open #nav-burger > div span:nth-child(1) {
    top: 18px;
    width: 0%;
    left: 50%;
  }

  #main-header.open #nav-burger > div span:nth-child(2) {
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    transform: rotate(45deg);
  }

  #main-header.open #nav-burger > div span:nth-child(3) {
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    -o-transform: rotate(-45deg);
    transform: rotate(-45deg);
  }

  #main-header.open #nav-burger > div span:nth-child(4) {
    top: 18px;
    width: 0%;
    left: 50%;
  }

  #main-header nav {
    display: none;
  }
}

@media screen and (max-width: 550px) {
  #main-header > span {
    font-size: 35px;
  }

  #nav-burger {
    transform: translateY(-50%) scale(0.6);
  }
}