:root {
  color-scheme: light;
}
@font-face {
  font-family: Montserrat;
  src: url("fonts/Montserrat-VariableFont_wght.ttf");
}
@font-face {
  font-family: Outfit;
  src: url("fonts/Outfit-VariableFont_wght.ttf");
}
@font-face {
  font-family: SpaceMono;
  src: url("fonts/SpaceMono-Regular.ttf");
}
@font-face {
  font-family: Quintessential;
  src: url("fonts/Quintessential-Regular.ttf");
}
.paddingTB20 {
  padding-top: 20px;
  padding-bottom: 20px;
}
.paddingTB40 {
  padding-top: 40px;
  padding-bottom: 40px;
}
.paddingTB80 {
  padding-top: 80px;
  padding-bottom: 80px;
}
.paddingLR0 {
  padding-left: 0;
  padding-right: 0;
}
.paddingR20 {
  padding-right: 20px;
}
.paddingR40 {
  padding-right: 40px;
}
.paddingR80 {
  padding-right: 80px;
}
.border {
  border: 1px solid red;
}
.border-gray {
  border: 1px solid #b6b6b6;
}
.bg-silver {
  background-color: #f7f7f7;
}
.color-green {
  color: forestgreen;
}
.form-border.red {
  border: 2px solid red;
}
.form-border.green {
  border: 2px solid green;
}
a {
  text-decoration: none;
}
.input-ux {
  display: block;
  width: 100%;
  position: relative;
}
.input-ux .fa {
  font-size: 25px;
  position: absolute;
  top: 15px;
  right: 15px;
  display: none;
}
.input-ux .fa-check {
  color: #30a92a;
}
.input-ux .fa-times {
  color: #d90000;
}
.input-ux .input-wrong {
  border: 2px solid #c12424;
  background-color: rgba(217, 0, 0, 0.15) !important;
}
.input-ux input[type='number']::-webkit-inner-spin-button,
.input-ux input[type='number']::-webkit-outer-spin-button {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  margin: 0;
}
.input-ux .help {
  position: absolute;
  right: 0;
  left: 0;
  top: -6px;
  font-size: 12px;
  color: #d90000;
  display: none;
}
@keyframes shake {
  0% {
    transform: translateX(0);
  }
  25% {
    transform: translateX(-4px);
  }
  50% {
    transform: translateX(4px);
  }
  75% {
    transform: translateX(-4px);
  }
  100% {
    transform: translateX(0);
  }
}
.shake {
  animation: shake 0.3s ease;
}
.alert {
  display: none;
  position: fixed;
  bottom: 0;
  right: 0;
  left: 0;
  padding: 20px 40px;
  z-index: 1100;
  margin: auto;
  width: 100%;
  color: #f7f7f7;
  border: 0;
  border-radius: 0;
  text-align: center;
}
.alert.alert-success {
  background-color: green;
}
.alert.alert-danger {
  background-color: red;
}
.flex-container {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
}
.flex-container .item.column {
  display: flex;
  flex-direction: column;
}
.button {
  border: 2px solid #f7f7f7;
  padding: 10px 20px;
  color: #f7f7f7;
  text-align: center;
  text-decoration: none;
  font-weight: 400;
  text-transform: uppercase;
  display: block;
  box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.65);
  background-color: rgba(255, 255, 255, 0);
  /* transparent */
  transition: background-color 0.4s ease, transform 0.3s ease;
}
.button:hover {
  background-color: rgba(255, 255, 255, 0.05);
  /* slight light overlay */
  transform: translateY(-2px);
  /* small lift */
  cursor: pointer;
}
.button.active {
  background-color: rgba(255, 255, 255, 0.08);
  /* active state */
  cursor: pointer;
}
#toggle-menu {
  position: absolute;
  display: none;
  top: 20px;
  right: 40px;
  z-index: 200;
}
#toggle-menu #navibutton {
  position: relative;
  cursor: pointer;
  width: 30px;
  height: 30px;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  display: block;
  margin: auto;
  z-index: 13;
}
#toggle-menu #navibutton .line {
  width: 100%;
  height: 2px;
  background-color: #fafafa;
  position: absolute;
  top: 5px;
  right: 0;
  transition: all 0.15s;
  -moz-transition: all 0.15s;
  -webkit-transition: all 0.15s;
  border-radius: 2px;
}
#toggle-menu #navibutton .line:nth-of-type(2) {
  top: 14px;
}
#toggle-menu #navibutton .line:nth-of-type(3) {
  top: 24px;
}
#toggle-menu #navibutton.show .line {
  background-color: #f7f7f7;
}
#toggle-menu #navibutton.show .line:nth-of-type(1) {
  transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
  top: 15px;
}
#toggle-menu #navibutton.show .line:nth-of-type(2) {
  opacity: 0;
  visibility: hidden;
}
#toggle-menu #navibutton.show .line:nth-of-type(3) {
  top: 15px;
  transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
}
.hidden {
  display: none;
  width: 0;
  height: 0;
}
.container {
  max-width: 1200px;
  width: 100%;
  margin: 0 auto;
  position: relative;
}
.container.flex {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
}
#paymentCheck {
  padding: 120px 10px 0px 10px;
  background: rgba(36, 16, 117, 0.5);
  background: linear-gradient(0deg, #241075 15%, #180a2d 99%);
}
#paymentCheck .container {
  display: flex;
  justify-content: center;
}
#paymentCheck h1 {
  text-align: center;
}
#paymentCheck #paymentData {
  padding: 20px;
  background: rgba(255, 255, 255, 0.2);
  text-align: center;
  max-width: 340px;
}
#paymentCheck #paymentData h2 {
  padding-bottom: 10px;
}
.countdown-ring {
  width: 120px;
  height: 120px;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  background: conic-gradient(#4caf50 360deg, rgba(255, 255, 255, 0.1) 0deg);
}
.countdown-number {
  background: rgba(0, 0, 0, 0.4);
  border-radius: 50%;
  width: 90px;
  height: 90px;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 2rem;
}
body {
  padding: 0;
  margin: 0;
  font-size: 18px;
  font-family: Montserrat;
  background-color: #3b3b3b;
  color: #f7f7f7;
  position: relative;
}
#overlay {
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  background: rgba(41, 29, 98, 0.95);
  backdrop-filter: blur(4px);
  z-index: 160;
  top: 0;
  opacity: 0;
  visibility: hidden;
  transition: 300ms;
}
#overlay.show {
  visibility: visible;
  opacity: 1;
  transition: 300ms;
}
.no-pointer {
  cursor: default !important;
}
h1 {
  font-size: 3em;
  position: relative;
  padding-bottom: 5px;
  margin-bottom: 20px;
}
h2 {
  font-size: 3.1em;
  font-weight: 700;
  text-align: center;
  position: relative;
  padding-bottom: 35px;
  display: block;
  margin-bottom: 20px;
}
h2:after {
  content: "";
  width: 20%;
  height: 2px;
  position: absolute;
  display: block;
  bottom: 0;
  left: 0;
  right: 0;
  margin: 0 auto 20px auto;
}
p {
  padding-bottom: 10px;
}
#header {
  padding: 20px 15px;
  position: absolute;
  display: block;
  left: 0;
  right: 0;
  margin: auto;
  z-index: 200;
}
#header #header-logo {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 0;
  flex-direction: row;
  gap: 15px;
}
#header #header-logo img {
  max-width: 125px;
}
#header #header-logo span {
  color: #fafafa;
  font-size: 0.9em;
  line-height: 20px;
}
#header #nav {
  list-style-type: none;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 0;
}
#header #nav li a {
  padding: 12px 25px;
  text-align: center;
  color: #f7f7f7;
  transition: 300ms;
  cursor: pointer;
}
#header #nav li a:hover {
  transition: 300ms;
  text-decoration: none;
}
#header #nav li a.active {
  transition: 300ms;
  text-decoration: none;
}
#header #nav li:last-of-type a {
  border-right: none;
}
#hero {
  position: relative;
  padding: 120px 20px 20px 20px;
  background: url("../img/background-waves.webp");
  background-size: cover;
}
#hero .container {
  align-items: flex-end;
}
#hero h1 {
  z-index: 55;
  font-family: Outfit;
  font-weight: 400;
  text-transform: uppercase;
  font-size: 5.1em;
  text-shadow: 6px 7px 13px rgba(0, 0, 0, 0.6);
  text-align: center;
}
#hero .flex h1 {
  max-width: 450px;
  text-align: left;
}
#hero p {
  z-index: 55;
  position: relative;
}
#hero #hero-img {
  z-index: 50;
  margin-left: -20em;
  transform: rotate(3deg);
}
#hero .flex-container {
  position: relative;
  flex-direction: column;
  justify-content: space-evenly;
  z-index: 50;
  height: 555px;
  top: -40px;
  left: -80px;
}
#hero .flex-container .item strong {
  font-weight: 700;
  font-size: 3.4em;
}
#hero .flex-container .item div {
  margin-top: -20px;
  font-weight: 200;
  font-size: 2.6em;
}
#hero .flex-container:before {
  content: "";
  display: block;
  position: absolute;
  background: #fafafa;
  width: 3px;
  height: 100%;
  left: -60px;
}
#hero #hero-overlay {
  opacity: 0.87;
  background: #5725a7;
  background: linear-gradient(90deg, #5725a7 15%, #140862 99%);
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  right: 0;
  margin: auto;
  display: block;
  bottom: 0;
  z-index: 5;
}
#hero .media-card {
  position: relative;
  display: flex;
  flex-direction: row;
  gap: 2rem;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.08);
  background-color: rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  /* Safari */
  border-radius: 2rem;
  /* optional for glassy look */
  border: 1px solid rgba(255, 255, 255, 0.2);
  /* soft border to enhance effect */
  padding: 1rem;
  color: white;
  /* text contrast */
  z-index: 50;
  align-items: center;
}
@media (max-width: 768px) {
  #hero .media-card {
    flex-direction: column;
    text-align: center;
  }
}
#hero .media-image {
  flex: 0 0 350px;
}
#hero .media-image img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 1rem;
  object-fit: cover;
}
#hero .media-content {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
#hero .media-title {
  font-size: 2rem;
  text-align: left;
  font-weight: 700;
  margin: 0 0 0.5rem;
  text-wrap: balance;
}
#hero .media-meta {
  font-size: 0.9rem;
  margin: 0 0 1rem;
}
#hero .media-summary {
  font-size: 1rem;
  line-height: 1.6;
  margin: 0;
  padding-bottom: 30px;
}
.bg-grad {
  background: linear-gradient(90deg, #5725a7 15%, #140862 99%);
}
#story {
  padding-top: 80px;
  padding-bottom: 80px;
}
#story .flex-container {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  gap: 40px;
}
#story .flex-container .scrollbar {
  display: block;
  width: 30px;
  height: 400px;
  position: relative;
  background-color: #51505a;
  transition: background-color 0.3s;
  /* Optional hover effect */
}
#story .flex-container .scrollbar:hover {
  background-color: #6b6b7a;
}
#story .flex-container .scrollbar:before {
  content: '';
  width: 14px;
  height: 80px;
  display: block;
  position: absolute;
  top: var(--indicator-top, 0);
  /* Default to 0 */
  background-color: #ff00ff;
}
#story .flex-container .scrollable {
  height: 300px;
  overflow-y: scroll;
  -ms-overflow-style: none;
  /* IE and Edge */
  scrollbar-width: none;
  position: relative;
}
#story .flex-container .scrollable::-webkit-scrollbar {
  display: none;
}
#story .flex-container .item {
  position: relative;
}
#story .flex-container .item h2 {
  text-align: left;
  padding-bottom: 0;
}
#story .flex-container .item.hide-arrow:after {
  opacity: 0;
  pointer-events: none;
  /* Ensure it doesn't interact when hidden */
  transition: 1.5s ease;
  animation: hide 1.5s ease;
}
#story .flex-container .item.hide-arrow:before {
  opacity: 0;
  pointer-events: none;
  /* Ensure it doesn't interact when hidden */
  transition: 0.3s ease;
}
@keyframes hide {
  0%,
  100% {
    opacity: 0;
  }
}
#story .flex-container .item:before {
  content: "SCROLLUJTE DOLŮ";
  display: block;
  color: #ff00ff;
  opacity: 1;
  transition: opacity 0.3s ease;
  left: 0;
  right: 0;
  bottom: -30px;
  margin: auto;
  position: absolute;
  text-align: center;
  font-size: 0.8em;
}
#story .flex-container .item:after {
  content: "";
  width: 20px;
  height: 20px;
  display: block;
  border-top: 2px solid #ff00ff;
  border-right: 2px solid #ff00ff;
  opacity: 1;
  transition: opacity 0.3s ease;
  left: 0;
  right: 0;
  bottom: -60px;
  margin: auto;
  position: absolute;
  /* Bouncing Animation */
  animation: bounce 1.5s infinite ease-in-out;
}
@keyframes bounce {
  0%,
  100% {
    transform: rotate(135deg) translateY(0);
    opacity: 1;
  }
  50% {
    transform: rotate(135deg) translateY(10px) translateX(-9px);
    opacity: 0.5;
  }
}
#story .flex-container img {
  mix-blend-mode: color-dodge;
  position: relative;
  top: 50px;
}
#tvorba {
  padding-top: 40px;
  padding-bottom: 80px;
}
#tvorba .container .accordion-flush .accordion-item {
  margin-bottom: 20px;
  outline: none;
  border-bottom: 0;
}
#tvorba .container .accordion-flush .accordion-item .accordion-header {
  outline: none;
}
#tvorba .container .accordion-flush .accordion-item .accordion-header .accordion-button {
  position: relative;
  background-color: #583db7;
  color: #fff;
  font-size: 1.6em;
  font-weight: 700;
  box-shadow: 2px 2px 8px #000;
  outline: none;
  transition: 300ms;
}
#tvorba .container .accordion-flush .accordion-item .accordion-header .accordion-button.collapsed {
  filter: grayscale(100%);
}
#tvorba .container .accordion-flush .accordion-item .accordion-header .accordion-button:hover {
  filter: grayscale(0%);
  transition: 300ms;
}
#tvorba .container .accordion-flush .accordion-item .accordion-header .accordion-button:after {
  color: #fff !important;
}
#tvorba .container .accordion-flush .accordion-item .accordion-header .accordion-button:focus {
  box-shadow: 2px 2px 8px #000;
  outline: none;
  border: none;
}
#tvorba .container .accordion-flush .accordion-item .accordion-collapse .accordion-body {
  background-color: #342048;
  color: #fff;
}
#tvorba .container .accordion-flush .accordion-item .accordion-collapse .accordion-body .grid-container {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 40px;
}
#tvorba .container .accordion-flush .accordion-item .accordion-collapse .accordion-body .grid-container a {
  position: relative;
  width: 100%;
  max-width: 240px;
  display: flex;
  margin-left: auto;
  margin-right: auto;
}
#tvorba .container .accordion-flush .accordion-item .accordion-collapse .accordion-body .grid-container a img {
  max-width: 100%;
}
#tvorba .container .accordion-flush .accordion-item .accordion-collapse .accordion-body .grid-container a .overlay-dark {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background-color: #000;
  opacity: 0;
  transition: 0.3s;
  z-index: 50;
}
#tvorba .container .accordion-flush .accordion-item .accordion-collapse .accordion-body .grid-container a .details {
  position: absolute;
  color: #fff;
  display: flex;
  flex-direction: column;
  width: 100%;
  padding: 10px;
  bottom: 0;
  opacity: 0;
  z-index: 100;
  transform: translateY(20px);
  transition: 300ms;
}
#tvorba .container .accordion-flush .accordion-item .accordion-collapse .accordion-body .grid-container a .details h4 {
  color: #fff;
  font-weight: 600;
  font-size: 1.4em;
  transition: 0.3s;
  z-index: 100;
}
#tvorba .container .accordion-flush .accordion-item .accordion-collapse .accordion-body .grid-container a .details span {
  font-size: 0.8em;
}
#tvorba .container .accordion-flush .accordion-item .accordion-collapse .accordion-body .grid-container a .details .flex-container {
  justify-content: flex-start;
}
#tvorba .container .accordion-flush .accordion-item .accordion-collapse .accordion-body .grid-container a:hover .details {
  opacity: 1;
  transition: 300ms;
  transform: translateY(0);
}
#tvorba .container .accordion-flush .accordion-item .accordion-collapse .accordion-body .grid-container a:hover .overlay-dark {
  opacity: 0.7;
  transition: 300ms;
}
#tvorba .container .accordion-flush .accordion-item#music .accordion-header .accordion-button {
  font-weight: 400;
  padding: 40px;
  background: center url("../img/accordion-icons/music-studio.jpg");
  background-size: cover;
}
#tvorba .container .accordion-flush .accordion-item#music .accordion-collapse .accordion-body {
  background-color: #342048;
  color: #fff;
}
#tvorba .container .accordion-flush .accordion-item#music .accordion-collapse .accordion-body .grid-container a .details {
  justify-content: center;
  align-items: center;
  padding: 10px;
  backdrop-filter: blur(1px);
  height: 100%;
  text-align: center;
}
#tvorba .container .accordion-flush .accordion-item#music .accordion-collapse .accordion-body .grid-container a .details h4 {
  text-align: center;
}
#tvorba .container .accordion-flush .accordion-item#films .accordion-header .accordion-button {
  font-family: SpaceMono;
  padding: 40px;
  background: center url("../img/accordion-icons/filmy-mask.webp");
  background-size: cover;
}
#tvorba .container .accordion-flush .accordion-item#films .accordion-collapse .accordion-body {
  background-color: #342048;
  color: #fff;
}
#tvorba .container .accordion-flush .accordion-item#films .accordion-collapse .accordion-body .grid-container a .details {
  align-items: flex-start;
  backdrop-filter: blur(4px);
  height: fit-content;
}
#tvorba .container .accordion-flush .accordion-item#films .accordion-collapse .accordion-body .grid-container a .details .flex-container {
  width: 100%;
  gap: 5px;
}
#tvorba .container .accordion-flush .accordion-item#books .accordion-header .accordion-button {
  color: #1b1e21;
  font-family: "Quintessential";
  padding: 40px;
  background: center url("../img/accordion-icons/asset-book2.webp");
  background-size: cover;
}
#tvorba .container .accordion-flush .accordion-item#books .accordion-collapse .accordion-body {
  background-color: #342048;
  color: #fff;
}
#tvorba .container .accordion-flush .accordion-item#books .accordion-collapse .accordion-body .grid-container a .details {
  justify-content: center;
  align-items: center;
  padding: 10px;
  backdrop-filter: blur(1px);
  height: 100%;
}
#projects {
  display: none;
  padding-top: 80px;
  padding-bottom: 80px;
}
#projects #labels {
  padding-left: 30px;
  padding-right: 20px;
  height: 30px;
}
#projects #switches {
  background: rgba(255, 255, 255, 0.09);
  padding: 10px 20px;
  border-radius: 30px;
  margin-bottom: 20px;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  /* Safari */
  border: 1px solid rgba(255, 255, 255, 0.2);
  /* soft border to enhance effect */
  color: white;
  /* text contrast */
}
#projects #switches .item {
  position: relative;
  border: 2px solid #f7f7f7;
  border-radius: 25px;
  width: 80px;
  height: 40px;
  padding-left: 5px;
  padding-right: 5px;
  transition: 300ms;
}
#projects #switches .item:after {
  content: "";
  display: block;
  margin-left: 0px;
  width: 30px;
  height: 30px;
  background-color: #f7f7f7;
  border-radius: 25px;
  margin-top: 3px;
  transition: 300ms;
}
#projects #switches .item.active {
  background-color: #f7f7f7;
}
#projects #switches .item.active:after {
  margin-left: 37px;
  transition: 300ms;
  background-color: #4e229f;
}
#projects #projects-display .container {
  background: rgba(255, 255, 255, 0.09);
  padding: 25px;
  border-radius: 45px;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  /* Safari */
  border: 1px solid rgba(255, 255, 255, 0.2);
  /* soft border to enhance effect */
  color: white;
  /* text contrast */
}
#projects #projects-display .container .flex-container {
  flex-direction: row;
  flex-wrap: wrap;
  gap: 25px;
}
#projects #projects-display .container .flex-container .item {
  position: relative;
  display: block;
  box-shadow: 3px 5px 5px rgba(0, 0, 0, 0.3);
  border-radius: 25px;
  height: 285px;
  overflow: hidden;
}
#projects #projects-display .container .flex-container .item img {
  object-fit: cover;
  object-position: center;
  width: 100%;
  max-height: 285px;
  height: 100%;
  transition: 0.3s;
  opacity: 0.4;
}
#projects #projects-display .container .flex-container .item.s {
  width: 31%;
}
#projects #projects-display .container .flex-container .item.s .description {
  top: -10px;
}
#projects #projects-display .container .flex-container .item.l {
  width: 65.5%;
}
#projects #projects-display .container .flex-container .item.l .description {
  top: 10px;
}
#projects #projects-display .container .flex-container .item .overlay-dark {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background-color: #000;
  opacity: 0;
  transition: 0.3s;
}
#projects #projects-display .container .flex-container .item .description {
  opacity: 0;
  position: absolute;
  padding: 40px;
  left: 0;
  transition: 0.3s;
}
#projects #projects-display .container .flex-container .item .description p {
  font-size: 0.9em;
}
#projects #projects-display .container .flex-container .item:hover {
  cursor: pointer;
}
#projects #projects-display .container .flex-container .item:hover img {
  opacity: 1;
  transition: 0.3s;
}
#event-info {
  padding: 20px;
  background: #4A1CAB;
  background: linear-gradient(90deg, #5728b9 0%, #3c179b 50%, #180777 100%);
}
#event-info h2 {
  text-align: left;
  font-size: 2em;
  margin-bottom: 0;
}
#event-info img {
  max-width: 250px;
}
#event-info .container .flex-container {
  align-items: center;
  gap: 40px;
  background-color: rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  /* Safari */
  border-radius: 12px;
  /* optional for glassy look */
  border: 1px solid rgba(255, 255, 255, 0.2);
  /* soft border to enhance effect */
  padding: 1rem;
  color: white;
  /* text contrast */
}
#event-info .container .flex-container .item {
  padding: 40px;
}
#rezervace {
  background: #4A1CAB;
  background: linear-gradient(90deg, #5728b9 0%, #3c179b 50%, #180777 100%);
  padding-bottom: 40px;
}
#rezervace #reservation-form {
  background-color: rgba(255, 255, 255, 0.1);
  display: flex;
  justify-content: space-around;
  align-items: center;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  /* Safari */
  border-radius: 12px;
  /* optional for glassy look */
  border: 1px solid rgba(255, 255, 255, 0.2);
  /* soft border to enhance effect */
  padding: 1rem;
  color: white;
  /* text contrast */
}
#rezervace #reservation-form .item p {
  padding-top: 10px;
  background-color: #fff;
  color: #1b1e21;
}
#rezervace #reservation-form #sedadla {
  padding-left: 0;
}
#rezervace #reservation-form #sedadla.sal-4 {
  display: grid;
  /* was: grid-template-columns: repeat(13, 1fr); */
  grid-template-columns: repeat(var(--cols, 13), 1fr);
  grid-template-rows: repeat(var(--rows, 7), 1fr);
  grid-column-gap: 0px;
  grid-row-gap: 0px;
}
#rezervace #reservation-form #sedadla.sal-4 li {
  display: flex;
  width: 20px;
  height: 20px;
  max-width: 20px;
  max-height: 20px;
  border-radius: 0 0 4px 4px;
  color: #1b1e21;
  vertical-align: center;
  font-size: 16px;
  text-align: center;
  justify-content: center;
  align-items: center;
}
#rezervace #reservation-form #sedadla.sal-4 li.active {
  background-color: green;
}
#rezervace #reservation-form #sedadla.sal-4 li.seat {
  background-color: white;
  border: 1px solid mediumvioletred;
}
#rezervace #reservation-form #sedadla.sal-4 li.seat:hover {
  background-color: green;
  cursor: pointer;
}
#rezervace #reservation-form #sedadla.sal-4 li.seat.active {
  background-color: green;
}
#rezervace #reservation-form #sedadla.sal-4 li.reserved {
  background-color: #f53a3a;
}
#rezervace #reservation-form #sedadla.sal-4 li.doubleSeatLeft a {
  border-right: 0;
  border-bottom-right-radius: 0;
}
#rezervace #reservation-form #sedadla.sal-4 li.doubleSeatRight a {
  border-left: 0;
  border-bottom-left-radius: 0;
}
#rezervace #reservation-form #sedadla.sal-4 li.gap {
  visibility: hidden;
}
#rezervace #reservation-form #sedadla.sal-4 li.doubleSeatLeft {
  border-right: 0;
  border-bottom-right-radius: 0;
}
#rezervace #reservation-form #sedadla.sal-4 li.doubleSeatRight {
  border-left: 0;
  border-bottom-left-radius: 0;
}
#rezervace #reservation-form #user-data {
  padding: 20px;
  background: rgba(0, 0, 0, 0.2);
  width: 35%;
  min-width: 300px;
}
#rezervace #reservation-form #user-data h3 {
  padding-bottom: 20px;
  margin-bottom: 0;
}
#rezervace #reservation-form #user-data .form-group .form-item {
  display: flex;
  justify-content: space-between;
  padding-bottom: 20px;
}
#rezervace #reservation-form #user-data .form-group .form-item label {
  width: 100%;
  max-width: 90px;
}
#rezervace #reservation-form #user-data .form-group .form-item input {
  max-width: 300px;
  width: 100%;
}
#rezervace #reservation-form #user-data .form-group #form-submit {
  margin-top: 10px;
  transition: all 0.3s;
  background-color: #4A1CABFF;
}
#rezervace #reservation-form #user-data .form-group #form-submit:hover {
  transition: all 0.3s;
  background-color: #5628b7;
}
#rezervace #reservation-form #user-data table {
  margin-bottom: 30px;
  max-width: 500px;
  font-size: 16px;
  /* collapse so each edge is drawn once */
  border-collapse: collapse;
  width: 100%;
  /* optional, keeps demo tidy */
  /* overall table frame */
  border: 2px solid #b0b0b0;
  background: gray;
}
#rezervace #reservation-form #user-data table tr {
  background: lightslategray;
  /* horizontal rules between rows */
}
#rezervace #reservation-form #user-data table tr:not(:last-child) {
  border-bottom: 1px solid #d0d0d0;
}
#rezervace #reservation-form #user-data table tr th {
  text-align: center;
}
#rezervace #reservation-form #user-data table td {
  background: gray;
  padding: 0.5rem 0.75rem;
  border-right: 1px solid #d0d0d0;
  text-align: center;
  height: 42px;
  /* remove the last cell’s right border per row */
}
#rezervace #reservation-form #user-data table td:last-child {
  border-right: none;
}
#contacts {
  background: rgba(36, 16, 117, 0.5);
  background: linear-gradient(180deg, #241075 15%, #180a2d 99%);
  padding-top: 80px;
  padding-bottom: 80px;
}
#contacts .flex-container {
  align-items: center;
}
#contacts #business-card {
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid #c4b4d0;
  border-radius: 20px;
  box-shadow: 3px 3px 3px #000;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  padding: 23px 73px 9px 54px;
  gap: 53px;
}
#contacts #business-card img {
  max-width: 58px;
  width: 100%;
  height: fit-content;
  margin-top: -80px;
}
#contacts #business-card address {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  margin-bottom: 0;
}
#contacts #business-card address i {
  font-family: "SpaceMono";
  font-size: 2.5em;
  font-style: normal;
  line-height: 55px;
  letter-spacing: 4px;
  text-shadow: 3px 2px 3px #000;
  margin-bottom: 20px;
}
#contacts #business-card address .contacts {
  padding-left: 0;
  margin-left: 0;
}
#contacts #business-card address .contacts li {
  list-style-type: none;
}
#contacts #business-card address .contacts li a {
  font-family: SpaceMono;
  font-size: 0.9em;
  text-decoration: none;
  margin-bottom: 10px;
  color: #f7f7f7;
}
#contacts #business-card address .contacts li a:hover {
  text-decoration: none;
}
#contacts #footer-menu h3 {
  font-size: 1em;
  text-transform: uppercase;
  padding-bottom: 10px;
}
#contacts #footer-menu ul {
  padding: 0;
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  gap: 10px;
  height: 165px;
  width: 200px;
}
#contacts #footer-menu ul li {
  list-style-type: none;
}
#contacts #footer-menu ul li a {
  text-decoration: none;
  color: #7f7892;
  margin-right: 10px;
  transition: all 0.3s;
}
#contacts #footer-menu ul li a:hover {
  color: #e9e5ff;
}
#contacts #footer-menu #footer-socials {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  height: 100%;
  gap: 20px;
}
#contacts #footer-menu #footer-socials .wrapper {
  border: 1px solid #f7f7f7;
  border-radius: 50px;
  transition: all 0.3s;
}
#contacts #footer-menu #footer-socials .wrapper:hover {
  background-color: #f7f7f7;
}
#contacts #footer-menu #footer-socials .wrapper:hover a img {
  mix-blend-mode: exclusion;
}
#contacts #footer-menu #footer-socials .wrapper a {
  padding: 12px;
  display: block;
}
#contacts #footer-menu #footer-socials .wrapper a img {
  max-width: 25px;
  width: 100%;
  margin-top: -3px;
}
.callModal {
  cursor: pointer;
}
#o-nas {
  padding-top: 200px;
  padding-bottom: 80px;
}
#o-nas p {
  text-align: left;
}
#footer {
  background-color: #0f0f0f;
  padding-top: 20px;
  padding-bottom: 20px;
  color: #f7f7f7;
  font-size: 16px;
}
#error {
  padding-top: 200px;
  padding-bottom: 80px;
}
/* END OF FOOTER */
.modal .modal-content {
  margin-top: 80px;
  background-color: rgba(0, 0, 0, 0.6);
  backdrop-filter: blur(10px);
  border: 1px solid #fff;
}
.modal .modal-content .close {
  color: #d9d9d9;
  background-color: transparent;
  border: none;
  font-size: 32px;
}
.modal .modal-content #form input,
.modal .modal-content #form textarea {
  background-color: rgba(0, 0, 0, 0.3);
  color: #d9d9d9;
  border: 1px solid transparent;
  margin-bottom: 10px;
}
.modal .modal-content #form input:focus,
.modal .modal-content #form textarea:focus {
  border: 1px solid white;
  box-shadow: none;
}
.modal .modal-content #form input:active,
.modal .modal-content #form textarea:active {
  border: 1px solid white;
}
.modal .modal-content #form ::placeholder {
  color: #7e7e7e;
}
.modal .modal-content #form label {
  font-size: 0.7em;
  padding-left: 3px;
}
.form-border.red {
  border: 2px solid red !important;
}
.form-border.green {
  border: 2px solid green !important;
}
.modal-header {
  justify-content: space-between;
}
.modal-backdrop.show {
  backdrop-filter: blur(10px);
  opacity: 1;
  background-color: rgba(0, 0, 0, 0.4);
}
.checkmark-container {
  width: 100px;
  height: 100px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 20px;
}
.checkmark {
  width: 100%;
  height: 100%;
  stroke-width: 4;
  stroke: #28a745;
  /* Green color */
  stroke-miterlimit: 10;
  stroke-linecap: round;
  /* already good for the checkmark */
  stroke-linejoin: round;
  /* <-- Add this */
  fill: none;
}
.checkmark-circle {
  stroke-dasharray: 157;
  stroke-dashoffset: 157;
  animation: draw-circle 0.6s ease-out forwards;
  stroke-linecap: round;
  transform: rotate(-90deg);
  transform-origin: center;
}
.checkmark-check {
  stroke-dasharray: 36;
  stroke-dashoffset: 36;
  animation: draw-check 0.4s ease-out forwards;
  animation-delay: 0.6s;
}
@keyframes draw-circle {
  to {
    stroke-dashoffset: 0;
  }
}
@keyframes draw-check {
  to {
    stroke-dashoffset: 0;
  }
}
.timesmark-container {
  width: 100px;
  height: 100px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 20px;
}
.timesmark {
  width: 100%;
  height: 100%;
  stroke: #dc3545;
  /* Red */
  stroke-width: 4;
  stroke-linecap: round;
  stroke-linejoin: round;
  fill: none;
}
/* Circle animation */
.timesmark-circle {
  stroke-dasharray: 157;
  stroke-dashoffset: 157;
  animation: draw-circle 0.6s ease-out forwards;
  transform: rotate(-90deg);
  transform-origin: center;
  stroke-linecap: round;
}
/* Times (X) animation */
.timesmark-line1,
.timesmark-line2 {
  stroke-dasharray: 26;
  stroke-dashoffset: 26;
  animation: draw-line 0.3s ease-out forwards;
  animation-delay: 0.6s;
}
.timesmark-line2 {
  animation-delay: 0.9s;
}
@keyframes draw-circle {
  to {
    stroke-dashoffset: 0;
  }
}
@keyframes draw-line {
  to {
    stroke-dashoffset: 0;
  }
}
.questionmark-container {
  width: 100px;
  height: 100px;
  margin: auto;
  padding-bottom: 20px;
}
.questionmark {
  width: 100%;
  height: 100%;
  stroke: orange;
  stroke-width: 3;
  stroke-linecap: round;
  stroke-linejoin: round;
  fill: none;
}
/* Circle */
.questionmark-circle {
  stroke-dasharray: 157;
  stroke-dashoffset: 157;
  animation: draw-circle 0.6s ease-out forwards;
  transform: rotate(-90deg);
  transform-origin: center;
  stroke-linecap: round;
}
/* Question mark curve */
.questionmark-curve {
  stroke-dasharray: 40;
  stroke-dashoffset: 40;
  animation: draw-curve 0.5s ease-out forwards;
  animation-delay: 0.6s;
}
/* Dot animation (scale in) */
.questionmark-dot {
  fill: orange;
  transform: scale(0);
  transform-origin: center;
  animation: show-dot 0.2s ease-out forwards;
  animation-delay: 1.1s;
}
@keyframes draw-circle {
  to {
    stroke-dashoffset: 0;
  }
}
@keyframes draw-curve {
  to {
    stroke-dashoffset: 0;
  }
}
@keyframes show-dot {
  to {
    transform: scale(1);
  }
}
/*# sourceMappingURL=style.css.map */