:root {
  box-sizing: border-box;

  --primary: #1c2022;
  --hover-color: #fdd052;
  --dark: #1c2022;
  --light: #fff;

  --header-bg: var(--primary);
}
*,
*::after,
*::before {
  box-sizing: inherit;
  margin: 0;
  padding: 0;
}

.christmassnippet {
  position: fixed;
bottom: 0px;
right: 0px;
}

.neve {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  background-image:
    radial-gradient(2px 2px at 20px 30px, white, transparent),
    radial-gradient(2px 2px at 40px 70px, white, transparent),
    radial-gradient(1px 1px at 90px 40px, white, transparent),
    radial-gradient(1px 1px at 130px 80px, white, transparent),
    radial-gradient(2px 2px at 160px 20px, white, transparent);
  background-size: 200px 200px;
  animation: neve 10s linear infinite;
  z-index: 9999;
}

@keyframes neve {
  from {
    background-position: 0 0;
  }
  to {
    background-position: 0 200px;
  }
}

body {
      font-family: "Segoe UI", Frutiger, "Frutiger Linotype", "Dejavu Sans", "Helvetica Neue", Arial, sans-serif;
      font-size: 18px;
      font-weight: normal;
      color: white;
      background-image: url("https://chess.massimilianogoi.com/images/Vecteezy_chess_backround.jpg");
      background-repeat: no-repeat;
      background-attachment: fixed;
      background-color: rgba(0, 0, 0, 0.5);
}
*{margin: 0;padding: 0;}

a {
  color: white;
}

header {
  background: var(--header-bg);
  padding-left: 1.5em;
  position: sticky;
  top: 0;
}

main{
  padding-left: 3em;
  padding-right: 3em;
  padding-top: 2em;
}

text{
  text-align: justify;
}

#top-nav{min-height: 50px;}

#top-nav ul{
  background-color: #1c2022;
  list-style: none;  
}
#top-nav ul li{
  display: inline-block;
}

#top-nav ul li a{
  display: block;
  color:#f9f9f9;
  padding: 10px 20px;
}
#top-nav ul li a:hover{background-color: #666;}

iframe.fritzonline
{
    width: 760px;
    height: 480px;
}

iframe.youtube{
  width: 560px;
  height: 315px
}

/* Dropdown */
li.dropdown{position: relative;}
ul.dropdown-menu{
  position: absolute;
  min-width: 120px;
  white-space: nowrap;
  padding: 1.5em 0;
  min-width: 16em;
}

li.dropdown:hover > a > .arrow,
li.dropdown-menu:hover > a > .arrow {
  transform: rotate(225deg);
}

td.price{
  vertical-align: baseline;
}

ul.dropdown-menu li{
  display: block !important;
  white-space: nowrap;
}

/* Sub Dropdown */
ul.dropdown-menu ul.dropdown-menu{
  left: 100%;
  top: 0;
  background-color: #1c2022 !important;
}

/* Display none by Default */
ul.dropdown-menu{
  display: none;
}

a.download{
  color: white;
  text-decoration: underline;
}
a.download:hover{
  color: var(--hover-color);
}

.arrow {
  width: 0.5em;
  height: 0.5em;
  display: inline-block;
  vertical-align: middle;
  border-left: 0.15em solid currentColor;
  border-bottom: 0.15em solid currentColor;
  transform: rotate(-45deg);
  margin-top: -0.25em;
  transition: transform 100ms ease-in-out;
}

/* Styling submenu */
.dropdown {
  position: relative;
}
.dropdown-menu {
  position: absolute;
  left: 0;
  background-color: var(--dark);
  white-space: nowrap;
  padding: 1.5em 0;
  min-width: 16em;

  /* hide submenus */
  transform-origin: top center;
}
.dropdown-menu > li > a {
  padding: 0.8em 1.5em;
}
.dropdown-menu .dropdown-menu {
  left: 100%;
  top: 0;
}
.dropdown-menu .dropdown-menu .dropdown-menu {
  left: 100%;
  top: 0;
}

.enginelogo{
  text-align: right;
  padding-right: 50px;
}

.guests_textbox{
  width: 50%;
  height: 100px;
}

.image {
  width: auto;
  height: auto;
}

.imagebordered {
  width: auto;
  height: auto;
  border: 5px solid white;
}

.menu > li:hover > a {
  background-color: hsla(0, 0%, 0%, 0.95);
}
.menu > li:hover > a,
.dropdown-menu > li:hover > a {
  background-color: hsla(0, 0%, 100%, 0.05);
  color: var(--hover-color) !important;
}

.navbar {
  display: flex;
  justify-content: space-between;
  align-items: left;
}
.menu {
  display: flex;
  flex-direction: row;
}
.menu li {
  list-style: none;
}
.menu li a {
  display: block;
  text-decoration: none;
  color: var(--light);
  padding: 1em 1.5em;
  font-size: 1rem;
}
.selected {
  background-color:#1c2022;
}

.smaller {
  font-size: 0.85em;
}

.thicker {
  font-size: 1.15em;
  font-weight: bold;
}

.thicker-red {
  font-size: 1.15em;
  font-weight: bold;
  color: red;
}

@media only screen and (max-width: 50em) {

  .christmassnippet {
    width: 50%;
    height: auto;
}


h1.nicedesktop {
  font-size: 1.25em;
}

  header {
/*     position: relative; */
    padding: 1.5em 2em;
  }

iframe.fritzonline
{
    width: 100%;
    height: auto;
}

iframe.youtube{
  width: 100%;
  height: auto;
}

td.price{
  vertical-align: middle;
}

  .close::after,
  .close::before {
    top: 0;
    transition: 0.2s transform ease-in-out;
  }
  .close::before {
    display: none;
  }
  .close {
    transform: rotate(45deg);
    transition: 0.2s transform ease-in-out;
  }
  .close::after {
    transform: rotate(-90deg);
  }

  .menu {
    flex-flow: column;
    position: absolute;
    background: var(--primary);
    top: 4.55em;
    left: 0;
    right: 0;
    height: 100vh;

    opacity: 0;
    transform: scaleY(0);
    transform-origin: top center;
    transition: 200ms transform cubic-bezier(0.36, 0.4, 0.42, 1.48) 100ms,
      100ms opacity ease-in-out;
    
    overflow-y: scroll;
    
  }
  .menu > li > a {
    font-size: 1rem;
    color: var(--light);
  }
  .dropdown-menu > li > a {
    font-size: 1rem;
  }

  .dropdown-menu {
    top: 0;
    padding-left: 1.5em;
    border-left: 0.12em dotted hsla(342, 99%, 45%, 0.95);
    transition: transform 300ms;
  }
  .dropdown-menu .dropdown-menu {
    left: 0;
    top: 0;
  }
  .dropdown-menu .dropdown-menu .dropdown-menu {
    left: 0;
    top: 0;
  }

  .menu > li:hover > a + .dropdown-menu,
  .dropdown-menu > li:hover > a + .dropdown-menu {
    position: relative;
  }

.enginelogo{
  text-align: center;
}

.hamburger {
  width: 2em;
  height: 2px; /* Usiamo i px per essere sicuri della precisione */
  background: var(--light);
  position: relative;
  cursor: pointer;
  display: block;
}

.hamburger::before,
.hamburger::after {
  content: "";
  position: absolute;
  left: 0;
  width: 100%;
  height: 100%;
  background: var(--light);
  transition: transform 0.3s ease, top 0.3s ease;
}

/* Posizione normale */
.hamburger::before { top: -8px; }
.hamburger::after { top: 8px; }

/* STATO CHIUSO (X) */
/* Quando c'è la classe .close, resettiamo top e ruotiamo */
.hamburger.close {
  background: transparent !important;
}

.hamburger.close::before {
  top: 0 !important;
  transform: rotate(45deg) !important;
}

.hamburger.close::after {
  top: 0 !important;
  transform: rotate(-45deg) !important;
}

.image {
  width: 100%;
  height: auto;
}

.imagebordered {
  width: 100%;
  height: auto;
  border: 5px solid white;
}

  /* reveal menu */
  input[type="checkbox"]:checked + .menu {
    position: absolute;
    opacity: 1;
    transform: scaleY(1);
  }
}

main {
/* just to make scrollable vertically to see sticky navbar    */
  height: 100vh;
}
