:root {
  --main-width: 1100px;
  --background-1: yellow;
  --background-2: rgb(238, 238, 238);
}

* {
  transition: all 0.3s;
}

body {
  margin: 0;
  padding: 0;
  font-family: "Roboto", sans-serif;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  background-color: var(--background-2);
}

.body-wrapper {
  width: 100%;
  max-width: var(--main-width);
  display: flex;
  flex-wrap: wrap;
}

.header-wrapper {
  width: 100%;
  display: flex;
  justify-content: space-between;
  height: 100px;
  margin-top: 40px;
}

.header-left,
.header-right {
  flex: 1;
  width: 50%;
}

.header-right {
  display: flex;
  justify-content: right;
  gap: 10px;
  height: fit-content;
}

.header-wrapper img {
  max-height: 100%;
  width: auto;
}

.o-projekte-logo {
  text-align: right;
  font-size: 13px;
}

.logo-popis p {
  text-align: center;
  font-weight: bold;
  color: #0c4da2;
  font-size: 12px;
  margin-top: 5px;
}

.logo-popis img {
  max-height: 80px;
  width: auto;
}

/*---------- START menu ----------*/
.menu-wrapper {
  width: 100%;
  background-color: var(--background-1);
}

.main-menu-container {
  width: 100%;
  display: flex;
  justify-content: center;
}

ul.main-menu {
  display: flex;
  gap: 5px;
  width: 100%;
  height: 100%;
  justify-content: center;
  text-decoration: none;
  margin: 0;
  padding: 0;
}

.main-menu li {
  list-style: none;
  display: flex;
  align-items: center;
}

.main-menu li a {
  text-decoration: none;
  color: #333;
  display: flex;
  padding: 15px;
}

.main-menu li a:hover {
  background-color: black;
  color: var(--background-1);
}

/*---------- END menu ----------*/

.main-content {
  margin-top: 30px;
  width: 100%;
  display: flex;
  gap: 30px;
  align-items: start;
  position: relative;
  margin-bottom: 30px;
}

.main-left {
  width: 70%;
}

.main-right {
  width: 30%;
  top: 30px;
  position: sticky;
}

.main-content p {
  margin-top: 0;
}

.loga-partneri {
  width: 100%;
  display: flex;
  gap: 30px;
  padding: 20px;
  justify-content: space-around;
  margin-bottom: 20px;
  background: white;
}

.loga-partneri a img {
  height: 100%;
  width: auto;
  max-height: 40px;
}

.current-menu-item {
  background-color: black;
}

li.current-menu-item a {
  color: var(--background-1);
}

.footer-podpis {
  width: 100%;
  margin-bottom: 20px;
  text-align: center;
}

hr {
  border: none;
  width: 100%;
  height: 5px;
  background-color: var(--background-1);
  margin-bottom: 20px;
}

h1 {
  margin-top: 0;
}

/*---------- START partneri ----------*/
.partner-wrapper {
  display: flex;
  background-color: white;
  padding: 30px;
  margin-bottom: 20px;
  gap: 30px;
}

.partner-left {
  width: 25%;
  text-align: center;
}

.partner-left img {
  width: 100%;
  height: auto;
  max-width: 150px;
}

.partner-right {
  width: 75%;
}

.partner-right h2 {
  margin-top: 0;
}

/*---------- END partneri ----------*/

/*---------- START newsletter ----------*/
.newsletter {
  width: calc(100% - 40px);
  padding: 20px;
  background-color: yellow;
  display: block;
  gap: 30px;
}

.newsletter h3 {
  margin: 0;
  font-size: 24px;
}

.newsletter p {
  margin: 15px 0;
}

.newsletter-left,
.newsletter-right {
  width: 100%;
}

.newsletter-right input[type="email"] {
  width: calc(100% - 20px);
  padding: 10px;
  border: none;
  margin-bottom: 15px;
  text-align: center;
}

.gdpr {
  display: flex;
  gap: 10px;
  justify-content: start;
  align-items: start;
  margin-bottom: 20px;
}

.gdpr input {
  width: 80px;
  height: 40px;
  margin-top: -3px;
  margin-left: 0px;
}

label[for="gdpr"] {
  font-size: 14px;
}

.gdpr input:hover {
  cursor: pointer;
}

.newsletter-right button {
  padding: 10px;
  background-color: white;
  border: none;
  border-radius: 5px;
  width: 100%;
}

.newsletter-right button:hover {
  cursor: pointer;
  background-color: black;
  color: yellow;
}

.newsletter-right a {
  color: black;
}

.newsletter-right a:hover {
  background-color: white;
}

/*---------- END newsletter ----------*/

/*--------- START contact form -------*/
.contact-form {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
}

.contact-form-2-columns {
  display: flex;
  gap: 30px;
  justify-content: space-around;
  width: 100%;
  margin-bottom: 30px;
}

.contact-form input[type="text"],
.contact-form input[type="email"] {
  display: flex;
  width: 100%;
  padding: 10px;
  border: none;
}

.contact-form textarea {
  width: calc(100% - 30px);
  min-height: 200px;
  padding: 15px;
  border: none;
  resize: vertical;
}

.contact-form button {
  border: none;
  padding: 15px;
  background-color: yellow;
  margin-top: 30px;
}

.contact-form button:hover {
  cursor: pointer;
  background-color: black;
  color: yellow;
}

.contact-form .gdpr {
  display: flex;
  gap: 10px;
  justify-content: start;
  align-items: center;
  margin-bottom: 0;
  width: 100%;
  margin-top: 15px;
}

.contact-form .gdpr input {
  width: 40px;
}

.contact-form .gdpr label a {
  color: black;
  height: 40px;
  line-height: 40px;
}

.contact-form .gdpr label a:hover {
  background-color: white;
}

.cont-success {
  width: 100%;
  padding: 20px 0;
  text-align: center;
  background: green;
  color: white;
  margin-bottom: 30px;
}

.cont-error {
  width: 100%;
  padding: 20px 0;
  text-align: center;
  background: rgb(207, 0, 0);
  color: white;
  margin-bottom: 30px;
}

.cont-error a {
  color: white;
}

.hidden {
  display: none;
}

/*--------- END contact form -------*/

/*--------- START aktuality -------*/
.aktuality-list {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  margin: 0;
  padding: 0;
  list-style-type: none;
}

.aktuality-list h2 {
  width: 100%;
  font-size: 29px;
  margin-top: 0px;
}

.aktuality-list img {
  width: 100%;
  height: auto;
}

.actuality-content {
  margin-top: 30px;
  max-height: 200px;
  overflow: hidden;
}

.aktualita-item {
  position: relative;
  margin-bottom: 70px;
}

.actuality-shaddow {
  width: 100%;
  height: 100px;
  position: absolute;
  z-index: 10;
  margin-top: -100px;
  background: linear-gradient(
    to bottom,
    rgba(238, 238, 238, 0),
    rgba(238, 238, 238, 1)
  );
}

.actuality-header {
  width: 100%;
  display: flex;
  gap: 30px;
}

.actuality-header img {
  width: 50%;
  height: fit-content;
}

.actuality-header-text {
  width: 50%;
}

.button-actuality {
  padding: 10px 15px;
  color: black;
  text-decoration: none;
  background-color: yellow;
  position: absolute;
  z-index: 20;
  bottom: -50px;
}

.button-actuality:hover {
  background-color: black;
  color: yellow;
}

.full {
  max-height: fit-content;
  margin-bottom: 0;
}

.aktualita-item.full {
  margin-bottom: 30px;
}

.breadcrumbs {
  display: flex;
  width: 100%;
  gap: 20px;
  justify-content: start;
  margin-top: 30px;
}

.breadcrumbs a {
  color: black;
}

.breadcrumbs a:hover {
  background-color: white;
}

.full h2 {
  font-size: 42px;
  margin-top: 0;
  margin-bottom: 15px;
}

hr.act {
  width: 100%;
  background-color: rgb(209 209 209);
  height: 2px;
  margin-bottom: 25px;
}

hr.act:last-child {
  display: none;
}

.perex {
  font-size: 18px;
}

.full p {
  margin-top: 0;
}

/*--------- END aktuality -------*/

/*--------- START responsive -------*/
@media (max-width: 1150px) {
  :root {
    --main-width: 900px;
  }

  .main-menu li a {
    text-align: center;
  }
}

@media (max-width: 1000px) {
  :root {
    --main-width: 700px;
  }

  .loga-partneri a img {
    height: auto;
    width: 100%;
  }

  .main-content {
    flex-wrap: wrap;
    flex-direction: column-reverse;
  }

  .main-right {
    width: 100%;
    position: relative;
    top: 0;
  }

  .main-left {
    width: 100%;
  }

  .newsletter {
    display: flex;
  }
}

@media (max-width: 750px) {
  :root {
    --main-width: 80%;
  }

  .main-menu li a {
    font-size: 13px;
  }

  .header-wrapper {
    flex-wrap: wrap;
    height: auto;
    justify-content: center;
  }

  .header-left,
  .header-right {
    flex: 1;
    width: 100%;
  }

  .header-wrapper img {
    max-height: 80px;
    width: auto;
  }

  .header-left {
    text-align: center;
  }

  .header-left {
    margin-bottom: 20px;
  }

  .header-right {
    justify-content: center;
  }

  .loga-partneri {
    flex-wrap: wrap;
    height: auto;
  }

  .loga-partneri img {
    max-width: 100px;
  }

  .o-projekte-logo {
    display: none;
  }

  .header-right {
    justify-content: right;
  }

  .actuality-header {
    flex-wrap: wrap;
  }

  .actuality-header-text {
    width: 100%;
  }

  .actuality-header img {
    width: 100%;
  }

  .newsletter {
    font-size: 13px;
  }

  label[for="gdpr"] {
    font-size: 13px;
  }

  .perex p {
    margin-bottom: 0;
  }
}

@media (max-width: 650px) {
  .partner-wrapper {
    flex-wrap: wrap;
  }

  .partner-left {
    width: 50%;
  }

  .partner-right {
    width: 100%;
  }

  .main-menu {
    flex-wrap: wrap;
  }

  .main-menu li {
    width: 100%;
  }

  .menu-languages-wrapper ul {
    display: flex !important;
    flex-wrap: nowrap;
    margin-top: 10px;
  }

  .menu-languages-wrapper ul li {
    width: auto;
  }

  .header-right {
    justify-content: center;
  }
}

@media (max-width: 600px) {
  .newsletter {
    flex-wrap: wrap;
    gap: 20px;
  }

  .newsletter p {
    margin-bottom: 0;
  }
}

/* polylang */
.menu-languages-wrapper {
  width: 100%;
  text-align: center;
  margin-bottom: 30px;
}

.menu-languages-wrapper ul {
  gap: 30px;
}

.lang-item-sk a img {
  display: none;
}

.lang-item-sk a {
  filter: saturate(0.2);
  height: 5px;
  width: 24px;
  background-image: url("../imgs/slovak-flag.png");
  background-size: cover;
  background-repeat: no-repeat;
}

.lang-item-en a img {
  display: none;
}

.lang-item-en a {
  filter: saturate(0.2);
  height: 5px;
  width: 24px;
  background-image: url("../imgs/english-flag.png");
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}

.lang-item-es a img {
  display: none;
}

.lang-item-es a {
  filter: saturate(0.2);
  height: 5px;
  width: 24px;
  background-image: url("../imgs/spain-flag.png");
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}

.lang-item-cs a img {
  display: none;
}

.lang-item-cs a {
  filter: saturate(0.2);
  height: 5px;
  width: 24px;
  background-image: url("../imgs/czech-flag.png");
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}

.current-lang a,
.lang-item a:hover {
  filter: saturate(1);
}

.lang-item a {
  padding: 0 !important;
  width: 30px;
  height: 20px;
}

/* ************************ */
/* Submenu styling (initially hidden) */

.main-menu li {
  position: relative;
}

.submenu {
  display: none; /* Hide submenu initially */
  position: absolute;
  top: 100%; /* Position it below the parent */
  left: 0;
  background: #fff;
  list-style: none;
  padding: 0;
  margin: 0;
  min-width: 200px; /* Ensure submenu has a proper width */
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); /* Add a shadow effect */
  z-index: 100;
}

/* Submenu items */
.submenu li {
  display: block;
}

/* Submenu links */
.submenu li a {
  padding: 10px;
  display: block;
  /* color: #333; */
  text-decoration: none;
  white-space: nowrap;
}

/* Display submenu on hover */
.main-menu li:hover > .submenu {
  display: block; /* Show submenu on hover */
}

.pdf-download a {
  text-decoration: none;
  color: black;
}

.pdf-download a:hover {
  text-decoration: underline;
}

.pdf-download img {
  vertical-align: middle;
  padding: 10px;
}

li.pdf-download {
  list-style: none;
}


/* ---------- slideshow ----------- */
.main-pict {
  margin-top: 30px;
  width: 100%;
  height: 400px;
  overflow: hidden;
  position: relative;
}

.simple-slideshow {
  width: 100%;
  height: 100%;
  position: relative;
}

.simple-slideshow .slide {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  opacity: 0;
  transition: opacity 0.6s ease;
}

.simple-slideshow .slide.active {
  opacity: 1;
  position: relative;
}

.simple-slideshow img {
  width: 100%;
  height: 100%;
  object-fit: cover;      /* 🔥 kľúčové */
  object-position: center; /* centrovanie */
  display: block;
}