.w-layout-blockcontainer {
  max-width: 940px;
  margin-left: auto;
  margin-right: auto;
  display: block;
}

.w-layout-grid {
  grid-row-gap: 16px;
  grid-column-gap: 16px;
  grid-template-rows: auto auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  display: grid;
}

@media screen and (max-width: 991px) {
  .w-layout-blockcontainer {
    max-width: 728px;
  }
}

@media screen and (max-width: 767px) {
  .w-layout-blockcontainer {
    max-width: none;
  }
}

.container {
  grid-column-gap: 73px;
  grid-row-gap: 73px;
  justify-content: space-between;
  align-items: center;
  margin-left: 0;
  margin-right: 20px;
  display: flex;
}

.div-block {
  flex-flow: column;
  display: flex;
}

.div-block-2 {
  display: flex;
}

.div-block-3 {
  grid-column-gap: 46px;
  grid-row-gap: 46px;
  display: flex;
}

.image {
  max-height: 150px;
  margin-bottom: 7px;
  margin-left: 51px;
}

.navbar {
  z-index: 1000;
  background-color: #fff;
  justify-content: space-between;
  align-items: flex-end;
  width: 100%;
  height: 140px;
  display: flex;
  position: fixed;
  box-shadow: 0 2px 20px #0003;
}

.div-block-4 {
  grid-column-gap: 0px;
  grid-row-gap: 0px;
  flex-flow: column;
  justify-content: flex-end;
  align-items: center;
  display: flex;
}

.div-block-5 {
  grid-column-gap: 22px;
  grid-row-gap: 22px;
  justify-content: flex-start;
  align-items: center;
  display: flex;
}

.image-2 {
  max-height: 60px;
}

.image-3 {
  max-height: 50px;
}

.image-4 {
  max-height: 70px;
}

.link {
  color: #000;
  text-transform: uppercase;
  font-family: Montserrat, sans-serif;
  font-size: 14px;
  text-decoration: none;
}

.div-block-6 {
  grid-column-gap: 26px;
  grid-row-gap: 26px;
  justify-content: center;
  align-items: center;
  max-height: 100px;
  padding-bottom: 15px;
  display: flex;
}

.image-5 {
  max-height: 60px;
}

.section {
  background-image: linear-gradient(#09183e8f, #09183e8f), url('../images/dubrovnik-tips.jpg');
  background-position: 0 0, 50%;
  background-size: auto, cover;
  justify-content: center;
  align-items: center; /* Changed from flex-start to center for better alignment */
  height: auto; /* Changed from fixed 700px to auto to accommodate content */
  min-height: 700px; /* Ensure minimum height for visual consistency */
  padding: 150px 20px; /* Adjusted padding for better spacing */
  display: flex;
  box-sizing: border-box; /* Ensure padding doesn’t cause overflow */
}

@media (orientation: portrait) {
  .section {
    background-size: auto, auto 100% !important;  /* Stretches height fully without cropping issues */
  }
}
@media (orientation: landscape) {
  .section {
    background-size: auto, cover;  /* Keep original for landscape */
  }
}

.section.programme {
  background-image: linear-gradient(#a1b5e88a, #a1b5e88a), url('../images/Destinacije_Dubrovnik_V4_dubrovnik-destination-cover-s.jpg');
  background-position: 0 0, 50% 30%;
  flex-flow: column;
  justify-content: flex-start;
  align-items: center;
  height: auto;
}

.heading {
  color: #fff;
  text-align: center;
  -webkit-text-stroke-width: 0.5px; /* Reduced stroke width for cleaner rendering */
  text-shadow: 3px 4px 5px #00000080; /* Slightly reduced shadow for less visual clutter */
  font-family: system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;
  font-size: clamp(2.5rem, 5vw, 4.5rem); /* Further reduced max font size for wide screens */
  font-weight: 300;
  line-height: 1.5; /* Increased line height for better text separation */
  max-width: 800px; /* Constrain width to prevent stretching */
  margin: 0 auto; /* Center the heading */
  padding: 20px; /* Add padding to ensure text doesn’t touch edges */
  white-space: normal; /* Ensure natural text wrapping */
  overflow-wrap: break-word; /* Prevent text overflow */
}

.container-2 {
  grid-column-gap: 0px;
  grid-row-gap: 0px;
  justify-content: center;
  align-items: stretch;
  max-width: 1200px;
  margin-top: 92px;
  margin-left: 200px;
  margin-right: 100px;
}

.heading-2 {
  color: #27427b;
  font-family: Montserrat, sans-serif;
  font-size: 29px;
  font-weight: 500;
}

.heading-2.program {
  margin-top: 0;
  margin-bottom: -48px;
}

.paragraph {
  font-size: 17px;
}

.paragraph.novi {
  margin-bottom: -48px;
}

.paragraph.summersc {
  padding-top: 40px;
}

.paragraph.natukn {
  margin-bottom: -7px;
}

.body {
  background-color: #e8eef45e;
}

.image-6 {
  max-width: 120%;
}

.div-block-7 {
  grid-column-gap: 26px;
  grid-row-gap: 26px;
  justify-content: space-between;
  align-items: flex-end;
  display: flex;
}

.div-block-8 {
  grid-column-gap: 10px;
  grid-row-gap: 10px;
  border-left: 2px solid #27427b;
  flex-flow: column;
  width: 100%;
  margin-top: 20px;
  margin-bottom: 10px;
  padding-left: 24px;
  display: flex;
}

.div-block-8.venue {
  margin-bottom: 40px;
}

.div-block-9 {
  justify-content: center;
  align-items: center;
}

.section-2 {
  margin-bottom: 82px;
}

.grid {
  grid-template: ". ." minmax(0, 1fr)
                 ". Area"
                 ". ."
                 ". ."
                 ". ."
                 ". ."
                 ". ."
                 / 5fr 1.75fr;
}

.fs-table_instance {
  border: 2px dotted #013567;
  width: 700px;
  margin-top: 20px;
  margin-bottom: 20px;
  font-family: Montserrat, sans-serif;
  font-weight: 600;
}

.fs-table_cell {
  text-align: center;
  border: 4px #fff;
  border-top: 1px solid #ddd;
  border-bottom: 1px solid #000;
  font-family: Montserrat, sans-serif;
}

.fs-table_cell.naslovni {
  border-left-style: none;
  border-right-style: none;
  line-height: 30px;
}

.fs-table_cell.naslovni.tools {
  border-bottom-style: none;
}

.fs-table_row {
  text-align: center;
  border: 1px solid #ddd;
}

.fs-table_table {
  text-align: left;
  border-collapse: collapse;
  border: 1px solid #ddd;
  width: 100%;
}

.div-block-10 {
  background-image: linear-gradient(#00000057, #00000057);
  flex: none;
  padding: 70px 140px;
}

.div-block-11 {
  text-align: center;
  font-family: Montserrat, sans-serif;
  line-height: 30px;
}

.link-2, .link-3 {
  color: #6464e9;
}

.container-3 {
  padding-top: 90px;
}

.fs-table-1_instance {
  justify-content: center;
  align-items: center;
  font-size: 15px;
  display: flex;
}

.fs-table-1_caption {
  text-align: left;
  margin-bottom: 16px;
  padding: 8px;
}

.fs-table-1_header {
  text-align: center;
  border: 1px solid #ddd;
  padding-top: 7px;
  padding-bottom: 7px;
}

.fs-table-1_row {
  text-align: left;
  border: 1px solid #ddd;
  border-bottom: 1px dotted #013567;
}

.fs-table-1_head {
  background-color: #f3f3f3;
  border: 1px solid #013567;
}

.fs-table-1_cell {
  text-align: center;
  border: 1px dotted #013567;
  padding-top: 10px;
  padding-bottom: 10px;
}

.fs-table-1_body {
  border: 1px dotted #013567;
}

.fs-table-1_table {
  text-align: center;
  border-collapse: collapse;
  border: 1px solid #ddd;
  width: 90%;
}

.div-block-12 {
  text-align: center;
  height: 40px;
  line-height: 30px;
}

.div-block-13, .div-block-14, .div-block-15 {
  text-align: center;
}

.section-3 {
  text-shadow: 0 1px 1px #0003;
  background-color: #d4dde6fc;
  font-family: Montserrat, sans-serif;
  font-weight: 500;
  box-shadow: inset 0 2px 14px #0003;
}

.grid-2 {
  color: #003d7c;
  justify-items: center;
  font-size: 15px;
}

.link-4, .link-5, .link-6, .link-7 {
  color: #003d7c;
  text-decoration: none;
}

.link-8 {
  color: #003d7c;
  font-size: 15px;
  text-decoration: none;
}

.link-9 {
  color: #003d7c;
  font-size: 15px;
  font-weight: 600;
  text-decoration: underline;
}

.paragraph-2 {
  color: #003d7c;
  margin-bottom: 40px;
}

.div-block-16 {
  grid-column-gap: 10px;
  grid-row-gap: 10px;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  display: flex;
}

.div-block-17 {
  grid-column-gap: 11px;
  grid-row-gap: 11px;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  display: flex;
}

.div-block-18 {
  grid-column-gap: 14px;
  grid-row-gap: 14px;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  display: flex;
}

.div-block-19 {
  grid-column-gap: 10px;
  grid-row-gap: 10px;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  display: flex;
}

.image-7 {
  height: 100px;
  box-shadow: 0 2px 5px #0003;
}

.image-8 {
  height: 80px;
}

.image-9 {
  height: 60px;
  box-shadow: 0 2px 5px #0003;
}

.link-10 {
  color: #003d7c;
  font-size: 30px;
  font-weight: 400;
  text-decoration: none;
}

.heading-3 {
  color: #003d7c;
  margin-top: 10px;
  font-size: 30px;
  font-weight: 400;
}

.image-10 {
  height: 90px;
}

.paragraph-3 {
  text-align: center;
  flex-flow: column;
  justify-content: center;
  align-items: center;
}

.paragraph-4, .paragraph-5, .paragraph-6 {
  text-align: center;
}

.container-4 {
  padding-top: 21px;
}

.grid-3 {
  grid-column-gap: 16px;
  grid-template-rows: auto auto auto auto;
}

.grid-4 {
  grid-column-gap: 27px;
  grid-row-gap: 27px;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  justify-content: center;
  align-items: flex-start;
  display: flex;
}

.div-block-20 {
  flex-flow: column;
  justify-content: center;
  align-items: center;
  width: 235px;
  font-family: Montserrat, sans-serif;
  display: flex;
}

.div-block-20.puks {
  width: 250px;
}

.bold-text {
  font-weight: 400;
}

.paragraph-7 {
  text-align: center;
  margin-bottom: 0;
  padding-top: 10px;
  font-weight: 700;
}

.image-11 {
  border-radius: 200px;
  height: 235px;
  box-shadow: 0 2px 5px #0003;
}

.image-11.siva {
  filter: brightness(110%) contrast(158%) saturate(400%);
  width: 235px;
  height: 235px;
}

.div-block-22 {
  grid-column-gap: 27px;
  grid-row-gap: 27px;
  justify-content: center;
  align-items: flex-start;
  display: flex;
}

.paragraph-8, .paragraph-9 {
  text-align: center;
}

.slide {
  background-color: #d5dee7;
  border-radius: 80px;
  width: 47%;
  height: 580px;
  margin-bottom: 20px;
  margin-left: 5px;
  margin-right: 30px;
  padding: 10px 10px 0;
  overflow: hidden;
  box-shadow: 0 2px 5px 3px #0003;
}

.slide-2 {
  width: 25%;
}

.div-block-23 {
  justify-content: center;
  align-items: center;
  padding-bottom: 40px;
  display: flex;
}

.paragraph-10 {
  flex-flow: column;
  justify-content: center;
  align-items: center;
  width: 100px;
  display: flex;
}

.bold-text-2 {
  font-size: 13px;
}

.fs-table-2_instance {
  color: #013567;
  -webkit-text-stroke-width: .5px;
  margin-top: 10px;
  padding-left: 10px;
  padding-right: 10px;
  font-size: 16px;
  display: block;
}

.fs-table-2_cell {
  text-align: left;
  border: 1px solid #ddd;
  flex: 1;
  justify-content: flex-start;
  align-items: center;
  padding: 0;
}

.fs-table-2_row {
  text-align: left;
  text-shadow: none;
  border: 1px solid #ddd;
  border-bottom: 2px dotted #013567;
  justify-content: flex-start;
  align-items: center;
  padding-top: 3px;
  padding-bottom: 3px;
  display: flex;
}

.fs-table-2_table {
  text-align: left;
  border-collapse: collapse;
  border: 1px solid #ddd;
  width: 100%;
}

.slider {
  height: auto;
}

.icon {
  filter: brightness(0%);
  margin-right: 47px;
}

.icon-2 {
  filter: brightness(0%);
  margin-left: 42px;
}

.mask {
  background-color: #f7f9fb;
  padding-top: 10px;
  padding-bottom: 10px;
}

.paragraph-11 {
  color: #013567;
  text-align: center;
  text-shadow: 0 1px 1px #0003;
  font-family: Montserrat, sans-serif;
  font-size: 20px;
}

.paragraph-12 {
  text-align: center;
  font-weight: 700;
}

.div-block-24 {
  justify-content: center;
  align-items: center;
  margin-bottom: -1px;
  display: flex;
}

.image-12 {
  height: 50px;
}

.left-arrow {
  margin-left: -6px;
}

.link-11, .link-12 {
  color: #003d78;
}

.div-block-25 {
  grid-column-gap: 80px;
  grid-row-gap: 80px;
  justify-content: center;
  align-items: center;
  margin-top: 41px;
  display: flex;
}

.image-13, .image-14 {
  height: 270px;
  box-shadow: 0 2px 5px #0003;
}

.div-block-26 {
  justify-content: center;
  align-items: center;
  display: flex;
}

.div-block-27 {
  grid-column-gap: 0px;
  grid-row-gap: 0px;
  flex-flow: column;
  justify-content: center;
  align-items: flex-start;
  font-family: Montserrat, sans-serif;
  font-weight: 500;
  line-height: 10px;
  display: flex;
}

.paragraph-13 {
  font-family: Montserrat, sans-serif;
  font-weight: 600;
}

.image-15 {
  height: 250px;
  box-shadow: 0 2px 5px #0003;
}

.div-block-28 {
  grid-column-gap: 43px;
  grid-row-gap: 43px;
  justify-content: center;
  align-items: center;
  margin-top: 10px;
  margin-bottom: 29px;
  display: flex;
}

.container-5 {
  font-family: Montserrat, sans-serif;
}

.paragraph-14 {
  font-weight: 500;
}

.paragraph-15 {
  font-family: Arial, Helvetica Neue, Helvetica, sans-serif;
}

.grid-5 {
  grid-column-gap: 10px;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr 1fr;
  place-items: center;
  margin-bottom: 19px;
  margin-left: 220px;
  margin-right: 220px;
  padding-top: 28px;
  padding-bottom: 7px;
}

.image-16 {
  height: 200px;
}

.section-4 {
  margin-top: 20px;
  margin-bottom: 20px;
}

.container-6 {
  flex-flow: wrap;
  justify-content: center;
  align-items: center;
  display: flex;
}

.section-5 {
  margin-top: 20px;
}

.section-6, .section-7, .section-8, .section-9 {
  margin-top: 20px;
  margin-bottom: 20px;
}

.section-10, .section-11 {
  margin-bottom: 20px;
}

.section-12 {
  margin-top: 20px;
  margin-bottom: 20px;
}

.section-13, .section-14 {
  margin-top: 40px;
  margin-bottom: 20px;
}

.section-15 {
  margin-bottom: 40px;
}

.text-block, .text-block-2, .text-block-3, .text-block-4 {
  justify-content: center;
  align-items: center;
  height: 40px;
  display: flex;
}

.div-block-29 {
  margin-top: 20px;
}

.image-17 {
  height: 100%;
}

.image-18 {
  height: 60px;
}

.image-18.nn {
  height: 45px;
}

.image-18.spe {
  height: 70px;
}

.slikk {
  height: 140px;
}

.novidiv {
  justify-content: center;
  align-items: center;
  padding-bottom: 4px;
}

.div-block-30 {
  justify-content: space-between;
  align-items: flex-end;
  display: flex;
}

.div-block-30.novv {
  grid-column-gap: 150px;
  grid-row-gap: 150px;
}

/* Media query for wide screens */
@media screen and (min-width: 1200px) {
 .heading {
    font-size: 3.5rem; /* Smaller font size for wide screens */
    line-height: 1.6; /* Further increase line height */
    max-width: 700px; /* Tighter constraint for readability */
  }
  .section {
    padding: 150px 40px; /* More padding on wide screens */
  }
}

/* Existing media query adjustments */
@media screen and (max-width: 991px) {
  .image {
    height: 100px;
  }

  .navbar {
    grid-column-gap: 8px;
    grid-row-gap: 8px;
    justify-content: center;
    align-items: center;
    width: auto;
    height: 120px;
    display: flex;
  }

  .div-block-4 {
    grid-column-gap: 0px;
    grid-row-gap: 0px;
    justify-content: flex-end;
    align-items: center;
    margin-left: 100px;
    display: flex;
  }

  .div-block-6 {
    grid-column-gap: 14px;
    grid-row-gap: 14px;
    padding-top: 10px;
    padding-bottom: 0;
  }

 .heading {
    font-size: clamp(1.6rem, 10vw, 3rem);
    line-height: 1.4;
    max-width: 90%;
  }
  .section {
    padding: 120px 15px;
  }

  .image-11 {
    height: 160px;
  }

  .image-11.siva {
    width: auto;
    height: 160px;
  }

  .slide {
    height: 670px;
  }

  .image-13, .image-14 {
    height: 200px;
  }

  .image-15 {
    height: 150px;
  }

  .grid-5 {
    margin-left: 40px;
    margin-right: 40px;
  }

  .image-18, .image-18.nn, .image-18.spe {
    height: 40px;
  }

  .slikk {
    display: none;
  }
}

@media screen and (max-width: 767px) {
  .image {
    height: 60px;
  }

  .div-block-4 {
    margin-left: 0;
    display: block;
  }

  .image-2 {
    display: block;
  }

  .div-block-6 {
    padding-top: 15px;
    padding-left: 20px;
    padding-right: 20px;
  }

  .heading-2 {
    font-size: 23px;
  }

  .paragraph {
    padding-right: 58px;
    font-size: 13px;
  }

  .paragraph.sept {
    font-size: 13px;
  }

  .div-block-8 {
    margin-left: 18px;
  }

  .div-block-8.venue {
    font-size: 11px;
  }

  .fs-table_instance {
    width: 500px;
  }

  .fs-table_cell, .fs-table_cell.naslovni {
    font-size: 12px;
  }

  .fs-table-1_caption, .fs-table-1_row {
    font-size: 11px;
  }

  .fs-table-1_cell {
    padding: 0 3px;
  }

  .link-5, .link-6, .link-7, .link-8 {
    font-size: 12px;
  }

  .link-9 {
    font-size: 13px;
  }

  .paragraph-2 {
    font-size: 12px;
  }

  .image-7 {
    height: 90px;
  }

  .image-8 {
    height: 60px;
  }

  .image-9 {
    height: 50px;
  }

  .link-10, .heading-3 {
    font-size: 23px;
  }

  .image-10 {
    height: 80px;
  }

  .paragraph-4 {
    font-size: 12px;
  }

  .container-4 {
    padding-left: 10px;
    padding-right: 10px;
  }

  .grid-4 {
    margin-left: 10px;
    margin-right: 10px;
  }

  .image-11, .image-11.siva {
    height: 100px;
  }

  .slide {
    width: 46%;
    margin-left: 10px;
    margin-right: 10px;
    padding-left: 0;
    padding-right: 0;
  }

  .fs-table-2_cell {
    font-size: 13px;
  }

  .div-block-25 {
    grid-column-gap: 17px;
    grid-row-gap: 17px;
  }

  .image-13, .image-14 {
    height: 150px;
  }

  .div-block-27 {
    padding-right: 34px;
  }

  .image-15 {
    height: 120px;
  }

  .div-block-28 {
    grid-column-gap: 10px;
    grid-row-gap: 10px;
  }

  .container-5 {
    padding-left: 14px;
  }

  .paragraph-14 {
    padding-top: 11px;
  }

  .grid-5 {
    margin-left: 10px;
    margin-right: 10px;
  }

  .code-embed {
    padding-left: 22px;
  }

  .div-block-30.novv {
    margin-left: -149px;
  }
}

@media screen and (max-width: 479px) {
  .navbar {
    width: 50%;
    height: 150px;
  }

  .div-block-4 {
    justify-content: center;
    align-items: center;
    display: flex;
  }

  .link {
    text-align: center;
    margin-bottom: -4px;
  }

  .div-block-6 {
    grid-column-gap: 4px;
    grid-row-gap: 4px;
    flex-flow: column;
    padding-top: 0;
    display: flex;
  }

 .heading {
    font-size: clamp(1.6rem, 10vw, 3rem);
    line-height: 1.5;
    padding: 10px;
  }
  .section {
    padding: 100px 10px;
  }

  .heading-2 {
    padding-right: 70px;
    font-size: 23px;
  }

  .fs-table_instance {
    width: 300px;
  }

  .link-5, .link-7, .link-8 {
    font-size: 11px;
  }

  .link-9 {
    font-size: 12px;
  }

  .paragraph-2 {
    font-size: 11px;
  }

  .link-10, .heading-3 {
    font-size: 23px;
  }

  .paragraph-3, .paragraph-4 {
    font-size: 11px;
  }

  .grid-4 {
    grid-column-gap: 8px;
    grid-row-gap: 8px;
    flex-flow: column;
    justify-content: center;
    align-items: center;
  }

  .div-block-20 {
    flex-flow: column;
  }

  .image-11, .image-11.siva {
    height: 150px;
  }

  .div-block-22 {
    grid-column-gap: 8px;
    grid-row-gap: 8px;
    flex-flow: column;
    justify-content: center;
    align-items: center;
  }

  .slide {
    width: 93%;
    height: 620px;
  }

  .div-block-25 {
    flex-flow: column;
  }

  .div-block-26 {
    font-size: 10px;
  }

  .div-block-28 {
    flex-flow: column;
  }

  .container-5 {
    padding-right: 20px;
  }

  .grid-5 {
    grid-column-gap: 7px;
    grid-template-rows: auto auto auto;
    grid-template-columns: 1fr 1fr;
    margin-left: 10px;
    margin-right: 10px;
  }

  .image-18, .image-18.nn {
    display: none;
  }
}

/* Target the gallery grid */
#gallery .w-layout-grid.grid-5 {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); /* Adjust minmax for responsive columns; e.g., 3 columns on desktop */
  gap: 10px; /* Space between grid items; adjust as needed */
  justify-items: center; /* Center images horizontally in each cell */
  align-items: start; /* Align to top for consistent rows */
}

/* Style the links (a tags) in the grid to act as containers */
#gallery .w-layout-grid.grid-5 a {
  display: block; /* Make links block-level for full container sizing */
  width: 250px; /* Fixed width; adjust to match your design */
  height: 250px; /* Fixed height for uniform squares; adjust for aspect ratio if not square */
  overflow: hidden; /* Hide any overflow from image scaling */
  border-radius: 8px; /* Optional: Rounded corners for a modern look */
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); /* Optional: Subtle shadow for depth */
  transition: transform 0.3s ease, box-shadow 0.3s ease; /* Optional: Hover effect */
}

#gallery .w-layout-grid.grid-5 a:hover {
  transform: scale(1.05); /* Optional: Slight zoom on hover */
  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.15);
}

/* Style the images inside the links */
#gallery .w-layout-grid.grid-5 img {
  width: 100%; /* Fill the container width */
  height: 100%; /* Fill the container height */
  object-fit: cover; /* Scale and crop to fit without distortion; use 'contain' to show full image with letterboxing */
  object-position: center; /* Center the image within the container */
  display: block; /* Remove any inline spacing */
  border: none; /* Remove default borders */
}

