/* Reset some default browser styles */
@import url("https://fonts.googleapis.com/css?family=Open+Sans:700,400,100&display=swap");
html, body {
  margin: 0;
  padding: 0; }

@font-face {
  font-family: 'Tinos-Regular';
  src: url("/font/Tinos-Regular.ttf") format("truetype"); }

body {
  width: 100%;
  height: 100%;
  --color: rgba(114, 114, 114, 0.3);
  background-color: #191a1a;
  background-image: linear-gradient(0deg, transparent 24%, var(--color) 25%, var(--color) 26%, transparent 27%, transparent 74%, var(--color) 75%, var(--color) 76%, transparent 77%, transparent), linear-gradient(90deg, transparent 24%, var(--color) 25%, var(--color) 26%, transparent 27%, transparent 74%, var(--color) 75%, var(--color) 76%, transparent 77%, transparent);
  background-size: 55px 55px; }

body {
  font-family: 'CustomFont', sans-serif; }

:root {
  --color-dark-red: #973125;
  --color-extra-dark-red: #710c00;
  --color-transparent-red: #973125ab;
  --color-10: #034565;
  --color-20: #b70e0e;
  --color-30: #058590;
  --color-40: #f5ad37;
  --color-50: #f18b05;
  --color-offwhite: #f3f3f3;
  --color-offblack: #030303;
  --color-text: #f1f1f1;
  --color-rank-group: #e1e1e1;
  --color-input-text: #480800;
  --site-width: 68rem; }

/* Center the website content with padding */
body {
  font-family: 'Tinos-Regular', 'Open Sans', sans-serif;
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  background-color: var(--color-offblack);
  color: var(--color-offwhite);
  /*  background-color: var(--background-color);*/
  box-sizing: border-box;
  align-items: center; }

a {
  text-decoration: none;
  color: inherit; }
  a.text-link {
    color: var(--color-50); }
    a.text-link:hover {
      text-decoration: underline; }

img.logo {
  height: 5rem;
  width: 5rem;
  margin: 5px;
  border-radius: 5px; }

/* Basic styling for the header */
header {
  display: flex;
  align-items: center;
  /* Align items vertically */
  background-color: var(--color-extra-dark-red);
  color: var(--color-offblack);
  max-width: var(--site-width);
  width: 100%;
  justify-content: center; }
  header form {
    flex-direction: column;
    align-items: end; }
  header h1 {
    text-align: center;
    font-size: 3em;
    font-weight: 100;
    margin: 0px;
    color: var(--color-offwhite); }
  header a {
    display: flex;
    align-items: baseline;
    /* Align items vertically */ }
  header .login {
    display: flex;
    float: right;
    flex-direction: column;
    align-items: flex-end;
    margin-left: auto;
    padding: 1rem; }
    header .login .buttons {
      display: flex;
      flex-direction: row; }
    header .login .logout {
      color: var(--color-offwhite);
      border-radius: 0.3rem;
      background-color: var(--color-dark-red);
      overflow: hidden;
      padding: 0.2rem;
      margin: 0.2rem; }
      header .login .logout:hover {
        background-color: var(--color-offwhite);
        color: var(--color-offblack); }
    header .login .register-link {
      margin: 2px;
      border-radius: 0.3rem;
      border: 1px;
      background-color: var(--color-offwhite); }

.user-bar {
  display: flex;
  flex-direction: row;
  align-items: center; }

.user-image {
  width: 4rem;
  height: 4rem;
  border-radius: 50%;
  /* Creates a circular shape by setting the border-radius to half of the width/height */
  overflow: hidden;
  margin-left: 1rem; }

.column {
  display: flex;
  flex-direction: column;
  align-items: center; }

.arrow {
  width: 1.4rem;
  height: 1.4rem; }
  .arrow.active:hover {
    transform: scale(1.4); }

.dragover {
  transform: brightness(1.4); }

/* Styling for the main content sections */
main {
  display: flex;
  flex-direction: column;
  /*  background-color: var(--slab-color);*/
  max-width: var(--site-width);
  width: 100%;
  min-height: 32rem; }

h2 {
  text-align: center;
  color: var(--color-text);
  max-width: var(--site-width);
  margin: 0.5rem; }

h3 {
  margin: 0px;
  text-align: center;
  font-weight: 100; }

.hidden {
  display: none; }

form {
  display: flex; }
  form label {
    color: var(--color-offwhite); }
  form input {
    margin: 2px;
    border-radius: 0.3rem;
    border: 1px; }
    form input.text {
      background-color: var(--color-input-text);
      color: var(--color-offwhite);
      outline: None; }
      form input.text:focus {
        outline: 2px solid var(--color-offwhite); }

.menu {
  list-style: none;
  padding: 0;
  margin-bottom: 0.2rem;
  display: flex;
  flex-direction: row;
  align-items: baseline;
  background-color: var(--color-extra-dark-red); }
  .menu ul {
    margin: 0;
    padding: 0; }
  .menu li {
    padding-left: 1rem;
    color: var(#f1f1f1);
    display: inline-block; }
    .menu li a {
      padding: 0.2rem;
      background-color: #600000;
      display: block;
      text-decoration: none;
      font-weight: bold;
      transition: background-color 0.1s;
      border-radius: 5px; }
      .menu li a.selected {
        background-color: #ff7e7e;
        color: var(--color-offblack); }
      .menu li a:hover {
        color: #000;
        background-color: var(--color-offwhite); }

.search-section, .recommendation-section, .gallery-section, .register-section {
  /*  margin: 15px;*/
  border-radius: 5px;
  max-width: var(--site-width); }

.result {
  color: aqua; }

.search-section {
  /*  background-color: #1f0d3d;*/ }

.register-section {
  background-color: var(--color-dark-red); }
  .register-section .feedback {
    color: red; }
  .register-section form {
    margin-right: 26rem;
    padding: 1rem;
    flex-direction: column;
    align-items: end; }

.gallery-section {
  background-color: var(--color-dark-red);
  max-width: var(--site-width); }

.search {
  width: 20rem;
  margin-left: auto;
  margin-right: 0.2rem;
  display: flex;
  border: 3px solid var(--color-dark-red);
  border-radius: 5px;
  display: flex;
  flex-direction: row; }

.searchTerm {
  border: 0px;
  background-color: var(--color-input-text);
  color: var(--color-offwhite);
  border-radius: 0.2rem;
  width: 100%;
  margin-right: 0.2rem;
  outline: none; }

.searchButton {
  border: 0px;
  background-color: var(--color-dark-red);
  text-align: center;
  color: #f1f1f1;
  cursor: pointer;
  font-size: 20px; }

/* Styling for the movie gallery */
.movie-gallery {
  padding: 0.2rem;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(8rem, 1fr));
  grid-gap: 0.3rem;
  background-color: var(--color-extra-dark-red); }

.cover {
  position: relative;
  display: flex;
  flex-direction: column; }
  .cover .voting-buttons {
    display: flex;
    flex-direction: row;
    background-color: transparent;
    position: absolute;
    bottom: 0;
    z-index: 2;
    justify-content: space-between;
    align-items: center;
    width: 100%; }
    .cover .voting-buttons button {
      display: none;
      width: 2rem;
      height: 2rem;
      border: none;
      /* Remove border */
      padding: 0.2rem;
      /* Remove padding */
      margin: 0;
      outline: none;
      background: none; }
      .cover .voting-buttons button:hover {
        cursor: pointer; }
      .cover .voting-buttons button.thumbs-up {
        background-image: url("/img/thumbs-up.png");
        background-position: top left;
        background-repeat: no-repeat;
        background-size: cover; }
        .cover .voting-buttons button.thumbs-up.active {
          display: flex;
          background-image: url("/img/thumbs-up-active.png"); }
          .cover .voting-buttons button.thumbs-up.active:hover {
            background-image: url("/img/thumbs-up-active.png"); }
        .cover .voting-buttons button.thumbs-up:hover {
          background-image: url("/img/thumbs-up-hover.png"); }
      .cover .voting-buttons button.thumbs-down {
        background-image: url("/img/thumbs-down.png");
        background-position: top right;
        background-repeat: no-repeat;
        background-size: cover; }
        .cover .voting-buttons button.thumbs-down.active {
          display: flex;
          background-image: url("/img/thumbs-down-active.png"); }
          .cover .voting-buttons button.thumbs-down.active:hover {
            background-image: url("/img/thumbs-down-active.png"); }
        .cover .voting-buttons button.thumbs-down:hover {
          background-image: url("/img/thumbs-down-hover.png"); }
      .cover .voting-buttons button.to-watch {
        background-image: url("/img/eye.png");
        background-position: top center;
        background-repeat: no-repeat;
        background-size: cover;
        padding: 0.1rem; }
        .cover .voting-buttons button.to-watch:hover {
          background-image: url("/img/eye-hover.png"); }
        .cover .voting-buttons button.to-watch.active {
          display: flex;
          background-image: url("/img/eye-active.png"); }
  .cover:hover .voting-buttons {
    background-color: #d50000;
    color: var(--color-offwhite);
    display: flex; }
    .cover:hover .voting-buttons button {
      display: flex; }

.movie-card {
  position: relative;
  max-width: 8rem;
  background-color: var(--color-offblack);
  color: var(--color-offwhite);
  overflow: hidden;
  box-shadow: 0 3px 3px rgba(0, 0, 0, 0.4);
  width: 100%;
  font-size: 0.7em;
  color: light-gray;
  text-align: justify;
  transition: background-color 0.1s ease; }
  .movie-card .title {
    position: inherit;
    z-index: 2;
    display: flex;
    flex-direction: row;
    align-items: center;
    background-color: var(--color-offblack);
    color: var(--color-offwhite); }
    .movie-card .title h3 {
      white-space: nowrap;
      text-align: center;
      position: relative;
      font-weight: 700;
      overflow: hidden;
      text-overflow: ellipsis;
      margin: 0.2rem; }
  .movie-card.over {
    filter: brightness(20%); }
  .movie-card p {
    text-align: justify;
    position: relative; }
  .movie-card img {
    z-index: 1;
    height: 12rem;
    width: 8rem;
    overflow: hidden; }
  .movie-card .image {
    position: relative; }
  .movie-card .rank {
    padding: 0.2rem;
    position: absolute;
    top: 0;
    left: 0;
    background: var(--color-transparent-red);
    color: var(--color-offwhite);
    border-radius: 0.2rem;
    border-color: var(--color-offblack);
    border-width: 0.1rem;
    font-size: 1rem; }
  .movie-card .img {
    position: relative; }
  .movie-card:hover {
    cursor: pointer;
    background-color: var(--color-offwhite);
    color: var(--color-offblack); }
    .movie-card:hover .title {
      position: absolute;
      z-index: 1;
      color: var(--color-offlblack);
      background-color: #d50000; }
      .movie-card:hover .title h3 {
        white-space: break-spaces; }
    .movie-card:hover img {
      position: relative;
      transform: scale(1.2);
      z-index: 0; }

.title {
  margin-right: 1rem;
  margin-left: 1rem; }

.bar {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  background-color: black; }

.movie-showcase {
  max-width: var(--site-width);
  display: flex;
  overflow: hidden;
  flex-direction: row;
  background-color: var(--color-dark-red);
  color: var(--color-offwhite);
  box-shadow: 0 3px 3px rgba(0, 0, 0, 0.4); }
  .movie-showcase .movie-description {
    margin-left: 3rem;
    margin-right: 1rem;
    display: flex;
    flex-direction: column;
    text-align: left; }
    .movie-showcase .movie-description .properties {
      color: #c8c8c8;
      font-style: italic;
      margin-top: 0.2rem;
      margin-bottom: 0.2rem;
      text-align: center; }
    .movie-showcase .movie-description .ranking {
      margin-top: auto;
      margin-bottom: 0;
      font-weight: bold;
      font-size: x-large; }
      .movie-showcase .movie-description .ranking .rankgroup {
        font-style: italic;
        color: var(--color-rank-group); }
  .movie-showcase img {
    width: 16rem;
    height: 24rem; }

.slider-container {
  display: flex; }

.slider {
  flex-grow: 1; }

input[type=range] {
  height: 38px;
  -webkit-appearance: none;
  margin: 10px 0;
  width: 100%;
  background: none; }

input[type=range]:focus {
  outline: none; }

input[type=range]::-webkit-slider-runnable-track {
  width: 100%;
  height: 10px;
  cursor: pointer;
  box-shadow: 1px 1px 1px #000000;
  background: none;
  border-radius: 5px;
  border: 1px solid #000000; }

input[type=range]::-webkit-slider-thumb {
  box-shadow: 1px 1px 1px #000000;
  border: 1px solid #000000;
  height: 30px;
  width: 15px;
  border-radius: 5px;
  background: none;
  cursor: pointer;
  -webkit-appearance: none;
  margin-top: -11px; }

input[type=range]:focus::-webkit-slider-runnable-track {
  background: none; }

input[type=range]::-moz-range-track {
  width: 100%;
  height: 10px;
  cursor: pointer;
  box-shadow: 1px 1px 1px #000000;
  background: #3071A9;
  border-radius: 5px;
  border: 1px solid #000000; }

input[type=range]::-moz-range-thumb {
  box-shadow: 1px 1px 1px #000000;
  border: 1px solid #000000;
  height: 30px;
  width: 15px;
  border-radius: 5px;
  background: #FFFFFF;
  cursor: pointer; }

input[type=range]::-ms-track {
  width: 100%;
  height: 10px;
  cursor: pointer;
  background: transparent;
  border-color: transparent;
  color: transparent; }

input[type=range]::-ms-fill-lower {
  background: #3071A9;
  border: 1px solid #000000;
  border-radius: 10px;
  box-shadow: 1px 1px 1px #000000; }

input[type=range]::-ms-fill-upper {
  background: #3071A9;
  border: 1px solid #000000;
  border-radius: 10px;
  box-shadow: 1px 1px 1px #000000; }

input[type=range]::-ms-thumb {
  margin-top: 1px;
  box-shadow: 1px 1px 1px #000000;
  border: 1px solid #000000;
  height: 30px;
  width: 15px;
  border-radius: 5px;
  background: #FFFFFF;
  cursor: pointer; }

input[type=range]:focus::-ms-fill-lower {
  background: #3071A9; }

input[type=range]:focus::-ms-fill-upper {
  background: #3071A9; }

.message {
  text-align: center; }

/* Basic styling for the footer */
footer {
  background-color: var(--color-extra-dark-red);
  color: var(--color-offwhite);
  text-align: center;
  margin: 10px;
  width: 100%; }

/* Media query for smaller screens */
@media screen and (max-width: 767px) {
  header {
    flex-direction: column; }
  .movie-showcase {
    flex-direction: column; }
    .movie-showcase .cover {
      align-items: center; }
  .movie-gallery {
    padding: 0.2rem;
    display: grid;
    grid-template-columns: repeat(3, 1fr); }
  body {
    padding: 0; }
    body .menu {
      flex-direction: column; } }
