:root{
  --main-colour: rgb(203, 2, 61);
  --secondary-colour: rgb(0, 17, 53);
  --highlight-colour: rgb(255,255,255);
  --shadow-colour: rgb(0, 0, 0);
  --primary-gradient: linear-gradient(to right, red, orange, yellow,green, blue, indigo,violet);
  --font-size: 22px;
  --font-family: Verdana, Geneva, Tahoma, sans-serif;
  --font-colour: rgb(255, 255, 255);
}

html{
  background-color: var(--shadow-colour);
  display: table;
  text-align: center;
  font-size: var(--font-size);
  font-family: var(--font-family);
  color: var(--font-colour);
}

body{
  position: absolute;
  left: 20px;
  right: 20px;
  top: 5px;
  bottom: 10px;
  background-color: var(--main-colour);
  min-width: 600px;
}

a{
  color: var(--highlight-colour);
}
div.page_header{
  position: absolute;
  height: 60px;
  top: 0px;
  left: 0px;
  right: 0px;
  background-color: var(--highlight-colour);
  color: var(--shadow-colour);
  border-bottom: 1px solid black;
  /*background-image: var(--primary-gradient);*/
}

div.logo{
  position: absolute;
  background-color: black;
  left: 0px;
  width: 60px;
  top: 0px;
  bottom: 0px;
}

p.head_title{
  font-size: xx-large;
  margin-top: 10px;
  font-weight: bolder;
}

div.header_end{
  position: absolute;
  background-color: var(--shadow-colour);
  height: inherit;
  width: 10px;
  right: 0px;
  top: 0px;
}

div.page_body{
  position: absolute;
  top: 60px;
  left: 0px;
  right: 0px;
  bottom: 0px;
  overflow-y: scroll;  
  overflow-x: hidden;  
}

div.page_item{
  margin-left: 10px;
  margin-right: 15px;
  min-height: 150px;
  border-bottom: solid 1px black;
}

div.photo_container{
  margin-top: 20px;
  height: 400px;
  width: 100%;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
}

.main_photo{
  width: 300px;
  filter: drop-shadow(5px 10px 5px var(--shadow-colour));
  margin-bottom: 30px;
}

.body_text{
  max-width: 80%;
  margin: auto;
  text-align: left;
}

.body_text p{
  white-space: break-spaces;
  tab-size: 0;
  background-color: var(--secondary-colour);
  padding: 15px;

}

.events_holder{
  margin-left: 10%;
  margin-right: 10%;
  min-width: 400px;
}

.event_holder{
  display: grid;
  grid-template-columns: auto auto;
  grid-template-rows: auto auto;
  background-color: var(--secondary-colour);
  padding: 20px;
  margin-bottom: 20px;
  filter: drop-shadow(5px 10px 5px var(--shadow-colour));
}

.event_title{
  text-align: left;
  font-weight: bold;
  font-size: larger;
}

.event_date{
  text-align: right;
}

.event_description{
  border-top: solid 1px black;
  padding-top: 15px;
  grid-column: 1 /span 2;
  text-align: left;
}

#reviews{
  margin-bottom: 40px;
}

#reviews_holder{
  position: relative;
  left: 5px;
  min-height: 250px;
  background-color: var(--secondary-colour); 
  margin-left: 10%;
  margin-right: 10%;
  margin-bottom: 15px;  
  min-width: 500px;
  filter: drop-shadow(5px 10px 5px var(--shadow-colour)); 
}

.review_holder{
  display: grid;
  grid-template-columns: 50% 50%;
  grid-template-rows: 35px auto 35px;
  padding: 20px;
  min-height: 200px;
}

.no_review{
  padding-top: 20px;
}

.review_name{
  text-align: left;
  font-weight: bold;
}

.review_option{
  text-align: right;
}

.review_body{
  grid-column: 1 /span 2;
  border-top: solid 1px black;
  padding: 20px;
  text-align: left;
}

.text{
  grid-column: 1 /span 3;
  min-height: 100px;
  font-size: var(--font-size);
  font-family: var(--font-family);
  resize: none;
  margin-top: 15px;
  background-color: var(--secondary-colour);
}

.review_score{
  grid-column: 2;
  text-align: right;
}

.review_date{
 text-align: left; 
}

#open_review{
  margin: 10px;
}

#pause_button{
  width: 50px;
  height: 50px;
}

#form_holder{
  min-width: 500px;
  background-color: var(--secondary-colour);
}

#contact_text{
  text-align: right;
  padding: 0px;
  margin-left: 85%;
  cursor: default;
  width: fit-content;
}

#contact_text:hover{
  color: var(--secondary-colour);
}

#contact_form{
  margin-left: 15px;
  padding: 20px;
}
#contact_textarea{
  grid-column: 1 /span 3;
  height: 100px;
  resize: none;
  font-size: var(--font-size);
  font-family: var(--font-family);
  background-color: var(--secondary-colour);
}

h1{
  text-align: left;
  margin-left: 45px;
}

button{
  background-color: var(--secondary-colour);
  border-radius: 15px;
  font-size: 20px;
  padding: 10px;
  margin: solid 1px var(--shadow-colour);
  color: var(--font-colour);
}
button:active{
  background-color: var(--highlight-colour);
}

#submitter{
  position:absolute;
  background-color: var(--secondary-colour);
  top: 70px;
  left: 10%;
  right: 10%;
  z-index: 1000;
  min-width: 520px;
  border: solid 1px black;
  filter: drop-shadow(5px 10px 5px var(--shadow-colour));
}

#review_submit{
  padding-left: 40px;
  padding-right: 40px;
}

#close_submitter{
  color: black;
  position: absolute;
  right: -5px;
  top: -5px;
  z-index: 1001;
  background-color: var(--highlight-colour);
  user-select: none;
  padding: 12px;
  border-radius: 25%;
  border: solid 1px black;
}

#close_submitter:active{
  background-color: var(--shadow-colour);
  color: var(--highlight-colour);
}

form{
  display: grid;
  grid-template-columns: auto auto auto;
  gap: 15px;
  margin: 40px;
  margin-left: 15px;
  font-size: var(--font-size);
  font-family: var(--font-family);
  text-align: left;
  width: inherit;
}

input{
  font-size: var(--font-size);
  font-family: var(--font-family);
  background-color: var(--secondary-colour);
  min-width: 0px;
  width: auto;
}

::placeholder{
  color: var(--font-colour);
}

input[type="submit"]{
  border-radius: 10px;
  background-color: var(--secondary-colour);
  color: var(--highlight-colour);
}

input[type="submit"]:active{
  background-color: var(--highlight-colour);
  color: black;
}

input[type="checkbox"]{
  max-height: 50px;
  max-width: 50px;
  margin-left: auto;
}

select{
  font-size: var(--font-size);
  font-family: var(--font-family);
  text-align: right;
  background-color: var(--secondary-colour);
  color: var(--highlight-colour);
}

label{
  user-select: none;
}

#checkbox{
  grid-column: 1 /span 3;
  margin: 20px;
  font-family: var(--font-family);
}

#score_div{
  grid-column: 1 /span 3;
  margin: 20px;
  font-family: var(--font-family);
}

#char_count{
  margin-top:-15px;
  grid-column: 3;
  text-align: right;
  font-family: var(--font-family);
}

#QandAs{
  width: 80%;
  margin-left: 10%;
}

.accordion {
  background-color: var(--secondary-colour);
  cursor: pointer;
  padding: 18px;
  margin-top: 10px;
  width: 100%;
  text-align: left;
  border: none;
  outline: none;
  transition: 0.4s;
  border-radius: 0px;
  margin-bottom: 5px;
  filter: drop-shadow(5px 10px 5px var(--shadow-colour));
  font-size: var(--font-size);
}

.active, .accordion:hover, .acciordion::selection, .accordion:focus-visible{
  background-color: var(--shadow-colour);
  filter: none;
}

.panel {
  padding-top: -15px;
  padding-bottom: 20px;
  background-color: var(--secondary-colour);
  display: none;
  overflow: hidden;
  filter: drop-shadow(5px 10px 5px var(--shadow-colour));
  margin-bottom: 20px;
}

.panel p{
  font-size: var(--font-size);
}

::-webkit-scrollbar {
  width: 10px;
}

::-webkit-scrollbar-track {
  background: var(--shadow-colour);
  border: solid rgba(0, 0, 0, 0.3) 1px;
}

::-webkit-scrollbar-thumb {
  background:  var(--main-colour);
  border-radius: 15px;
  border: solid rgba(0, 0, 0, 0.3) 1px;
}

::-webkit-scrollbar-thumb:hover {
  background: var(--secondary-colour);
}

::-webkit-scrollbar-thumb:active{
  background: var(--highlight-colour);
}