body {
    background-image: url("/img/pozadimale.webp");
    margin: 0;
    padding: 0;
    background-size: 50px;
    @media screen and (min-width: 768px) {
        background-size: 100px;
    }
    @media screen and (min-width: 992px) {
        background-size: 125px;
    }
    @media screen and (min-width: 1200px) {
        background-size: 150px;
    }
    @media screen and (min-width: 1440px) {
        background-size: 175px;
    }
}
 .container-main {
     padding-left: 1em;
     padding-right: 1em;
} img {
     width: 100%;
     height: auto;
     display: block;
}
  .top{
      position: relative;
  }
  .top-logo{
      position: absolute;
      width: 25%;
      left: 50%;
      transform: translateX(-50%);
      bottom: .75rem;
  }
 .middle-section {
     position: relative;
     width: 100%;
     height: auto;
}
 .middle-bg {
     position: relative;
     width: 100%;
     background-repeat: no-repeat;
     background-size: cover;
     background-position: center;
}
 .middle-form-container {
     position: absolute;
     left: 0;
     top: 0;
     width: 100%;
     height: 100%;
     z-index: 2;
     font-family: Arial;
     font-size: 3pt;
     overflow: hidden;
}
 .middle-scroll {
     position: absolute;
     display: block;
     position: relative;
     margin: 0 auto;
     top: 0;
     width: 85%;
     height: 100%;
     overflow: auto;
     scrollbar-base-color: #cfe7c7;
}
 .middle-inner {
     display: block;
     position: relative;
     margin: 0 auto;
     top: 0;
     width: 80%;
     height: 100%;
     border: dotted gray 1px;
     background-color: #ffffff;
     font-family: Arial;
     font-size: 11pt;
     color: #000000;
     text-align: left;
     padding: 1rem;
     box-sizing: border-box;
     border-radius: 2rem;
}
 .middle-text {
     text-align: center;
     background-color: #cdd4d6;
     border: dotted gray 1px;
     padding: 10px;
     margin-bottom: 10px;
}
 .middle-content {
     background-color: #cdd4d6;
     border: dotted gray 1px;
     padding: 15px;
     text-align: -webkit-center;
}
 .stredtitulka {
     position: relative;
     display: inline-block;
     width: 100%;
     height: auto;
}
 .stred {
  position: relative;
  width: 100%;
  height: 100%;
  background-image: url("/img/stred.jpg");
  background-repeat: no-repeat;
  background-position: center top;
  background-size: contain;
  display: flex;
  justify-content: center;
  align-items: flex-start;
} .overlay-grid {
     position: absolute;
     inset: 0;
     display: grid;
    grid-template-columns: repeat(7, 1fr);
    grid-template-rows: repeat(2, 1fr);
     justify-items: center;
     align-items: center;
     padding-inline: 5vw;
    padding-block: 1rem;
     box-sizing: border-box;
    @media screen and (min-width: 576px) {
        gap: 1rem;
        padding-inline: 3rem;
    }
    @media screen and (min-width: 992px) {
        padding-inline: 5rem;
    }
    @media screen and (min-width: 1200px) {
        grid-template-columns: repeat(9, 1fr);
        padding-inline: 6rem;
    }
    @media screen and (min-width: 1400px) {
        padding-inline: 8rem;
    }
}

.scroll-area {
  width: 100%;
  display: flex;
  background-repeat: repeat-y;
  justify-content: center;
  background-image: url("/img/posun.webp");
    background-position: center top;
  background-size: contain;
  margin-top: 7vw;
  position: relative;
    @media screen and (min-width: 576px) {
        margin-top: 3rem;
    }
    @media screen and (min-width: 768px) {
        margin-top: 4rem;
    }
    @media screen and (min-width: 992px) {
        margin-top: 5rem;
    }
    @media screen and (min-width: 1200px) {
        margin-top: 6rem;
    }
    @media screen and (min-width: 1400px) {
        margin-top: 7rem;
    }
}
.bottitulka-zvire{
    /*margin-top: -2rem;*/
    margin-top: -6vw;
    @media screen and (min-width: 480px) {
        margin-top: -4vw;
    }
    @media screen and (min-width: 576px) {
        margin-top: -1.5rem;
    }
    @media screen and (min-width: 768px) {
        margin-top: -2rem;
    }
    @media screen and (min-width: 992px) {
        margin-top: -2.5rem;
    }
    @media screen and (min-width: 1200px) {
        margin-top: -3rem;
    }
    @media screen and (min-width: 1400px) {
        margin-top: -3.5rem;
    }
}

.graves-container {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  width: 100%;
  align-items: start;
  transition: opacity .18s ease;
    @media screen and (min-width: 420px) {
        gap: 1vw;
    }
    @media screen and (min-width: 576px) {
        gap: 0;
    }
    @media screen and (min-width: 992px) {
    }
    @media screen and (min-width: 1200px) {
        row-gap: 1rem;
    }
}
 .grave-item {
     display: flex;
     justify-content: center;
     align-items: center;
     position: relative;
     transform: scale(1.1);
     transform-origin: center;
}
.scroll-area.is-page-loading .graves-container {
  opacity: .35;
}
 .grave-modal-trigger:nth-child(-n+2) .grave-item {
     transform: translateY(-1cm) scale(1.1);
}
 .grave-modal-trigger:nth-child(n+3) .grave-item {
     transform: scale(1.1);
 }
 .grave {
     /*position: relative;
     width: 50%;
     background-size: cover;
     background-repeat: no-repeat;
     background-position: center;
     border-radius: 6px;
     display: flex;
     flex-direction: column;
     align-items: center;
     justify-content: start;
     margin: 0 auto;*/
     background-size: contain;
     background-repeat: no-repeat;
     background-position: center;
}
 .grave-home{
     position: relative;
     display: flex;
     align-items: center;
     justify-content: center;
     width: 7.5vw;
     height: 7.5vw;
     @media screen and (min-width: 576px) {
         width: 50px;
         height: 50px;
     }
     @media screen and (min-width: 768px) {
         width: 75px;
         height: 75px;
     }
     @media screen and (min-width: 992px) {
         width: 115px;
         height: 115px;
     }
     @media screen and (min-width: 1200px) {
         width: 100px;
         height: 100px;
     }
     @media screen and (min-width: 1400px) {
         width: 120px;
         height: 120px;
     }
 }
 .grave-home:nth-child(2),
 .grave-home:nth-child(3),
 .grave-home:nth-child(7),
 .grave-home:nth-child(8){
     margin-top: 7vw;
     @media screen and (min-width: 576px) {
         margin-top: 2rem;
     }
     @media screen and (min-width: 992px) {
         margin-top: 4rem;
     }
     @media screen and (min-width: 1200px) {
         margin-top: 0;
     }
 }
 @media screen and (min-width: 1200px) {
     .grave-home:nth-child(2),
     .grave-home:nth-child(6) {
         margin-top: 4rem;
     }
     .grave-home:nth-child(3),
     .grave-home:nth-child(4) {
         margin-top: 8rem;
     }
     .grave-home:nth-child(8) {
         grid-column: 1 / 4;
     }
     .grave-home:nth-child(9) {
         grid-column: 7 / 10;
     }
 }
 .grave-home img{
     /*width: 50px;*/
 }
 .grave-home .grave-text{
     font-size: 1vw !important;
     left: 50%;
     top: 50%;
     transform: translate(-50%, -50%);
     @media screen and (min-width: 576px) {
         font-size: .45rem !important;
     }
     @media screen and (min-width: 768px) {
         font-size: .7rem !important;
     }
     @media screen and (min-width: 992px) {
         font-size: .8rem !important;
     }
     @media screen and (min-width: 1200px) {
         font-size: 1rem !important;
     }
 }
 .list {
     position: relative;
     display: flex;
     align-items: center;
     justify-content: center;
     padding: 5vw;
     @media screen and (min-width: 576px) {
         padding: 2rem;
     }
     @media screen and (min-width: 768px) {
         padding: 2.5rem;
     }
     @media screen and (min-width: 992px) {
         padding: 3.5rem;
     }
     @media screen and (min-width: 1200px) {
         padding: 4rem;
     }
     @media screen and (min-width: 1400px) {
         padding: 5rem;
     }
}
 .grave-text {
     position: absolute;
     color: white;
     font-weight: 700;
     text-align: center;
     font-size: 0.75vw !important;
     text-shadow: 2px 2px 4px rgba(0,0,0,0.8);
}

 .grave-name-zvire,
 .grave-dates-zvire{
     position: absolute;
     left: 50%;
     width: 76%;
     color: white;
     font-size: clamp(.4rem, .75vw, .75rem);
     font-weight: 700;
     line-height: 1.1;
     text-align: center;
     text-shadow: 2px 2px 4px rgba(0,0,0,0.8);
     transform: translate(-50%, -3px);
 }
 .grave-name-zvire{
     top: 24%;
 }
 .grave-dates-zvire{
     bottom: 18.6%;
 }

.mt8 {
     margin-top:8vw;
}
 .pet-photo {
     width: 120px;
     height: 150px;
     object-fit: cover;
     border-radius: 6px;
     box-shadow: 0 0 6px rgba(0,0,0,0.6);
     margin-bottom: 8px;
}
 .pet-thumb {
     width: 5vw;
     height: 5vw;
     object-fit: cover;
     margin-bottom: 10px;
     border: 2px solid white;
     aspect-ratio: 1 / 1;
     @media screen and (min-width: 576px) {
         width: 30px;
         height: 30px;
     }
     @media screen and (min-width: 768px) {
         width: 45px;
         height: 45px;
     }
     @media screen and (min-width: 992px) {
         width: 60px;
         height: 60px;
     }
     @media screen and (min-width: 1200px) {
         width: 75px;
         height: 75px;
     }
}
 .grave-dates {
     color: white;
     font-size: 0.9rem;
     font-weight: bold;
     text-shadow: 2px 2px 4px rgba(0,0,0,0.8);
}
 .pagination-nadpis {
     display: flex;
     flex-direction: column;
     align-items: center;
     justify-content: center;
     font-style: italic;
     position: absolute;
     left: 50%;
     transform: translate(-50%, .5cm);
     z-index: 2;
     font-size: 1.5vw;
  margin-top: -1.05vw;
}
 .category-name {
     color: #666;
     font-style: italic;
     font-weight: bold;
}
 .pagination-numbers {
     display: flex;
     gap: 1vw;
     justify-content: center;
     align-items: center;
     font-size: clamp(.55rem, 1.1vw, 1rem);
}
 .page-number {
     color: #ff6600;
     text-decoration: none;
     font-weight: normal;
     font-style: italic;
}
 .page-number:hover {
     color: #ff9900;
     text-decoration: underline;
}
 .page-number.active {
     font-weight: bold;
     text-decoration: underline;
     color: #000;
}
 .menu-container {
     position: relative;
     display: inline-block;
}
 .menu-container img{
     margin-top: -4vw;
     @media screen and (min-width: 420px) {
         margin-top: -5vw;
     }
     @media screen and (min-width: 576px) {
         margin-top: -1.5rem;
     }
     @media screen and (min-width: 768px) {
         margin-top: -2.1rem;
     }
     @media screen and (min-width: 992px) {
         margin-top: -2.75rem;
     }
     @media screen and (min-width: 1200px) {
         margin-top: -3.25rem;
     }
     @media screen and (min-width: 1400px) {
         margin-top: -3.75rem;
     }
 }
 .menu {
     position: absolute;
     color: #ff9900;
     font-weight: bold;
     font-style: italic;
     text-decoration: none;
     text-shadow: 2px 2px 6px #000;
     transition: 0.3s;
     text-align: center;
     font-size: 1vw;
}
  .img-menu {
         height: 1vw;
         width: 1vw;
    }

 .menu:hover {
     color: #ffd27f;
     transform: scale(1.1);
}
 .menu span {
     color:white;
     font-size: 1vw;
}
.auth-container {
  width: 100%;
  height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;

  padding: 0;
}

.auth-box {
  background: #fff;
  border-radius: 16px;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
  padding: 35px 30px;
  text-align: center;
  width: 50vw;
}

 .auth-box h3 {
     margin-bottom: 25px;
     font-weight: 600;
     color: rgb(216, 140, 0);
}
 .form-control {
     border-radius: 10px;
     padding: 12px;
     font-size: 15px;
}
 .grave1 {
     left: 19.5%;
     top: 15%;
     width: 5%;
}
 .grave2 {
     left: 27.5%;
     top: 27%;
     width: 5%;
}
 .grave3 {
     left: 35%;
     top: 33%;
     width: 5%;
}
 .grave4 {
     left: 42.75%;
     top: 38%;
     width: 5%;
}
 .grave5 {
     left: 50.5%;
     top: 38%;
     width: 5%;
}
 .grave6 {
     left: 58.25%;
     top: 33%;
     width: 5%;
}
 .grave7 {
     left: 66.5%;
     top: 30%;
     width: 5%;
}
 .grave8 {
     left: 75%;
     top: 10%;
     width: 5%;
}
 .top-zvire{
     position: relative;
 }
 .top-logo-zvire{
     position: absolute;
     width: 25%;
     left: 50%;
     transform: translateX(-50%);
     bottom: 1rem;
     @media screen and (min-width: 992px) {
         bottom: 2rem;
     }
 }
 .page-link {
     color: #ff6600;
     text-decoration: none;
     font-style: italic;
     font-weight: bold;
     display: inline-block;
}
 .page-link:hover {
     text-decoration: underline;
}
 .page-link.active {
     color: #555;
     text-decoration: none;
     font-weight: bold;
     cursor: default;
}
 .form-wrapper {
     position: absolute;
     margin: 2rem;
}
 .overlay-text-center-home {
     text-align: center;
     font-style: italic;
     color: #222;
     padding: 0.8em 1.2em;
     border-radius: 10px;
     line-height: 2;
     font-weight: bold;
     grid-column: 3 / 6;
     font-size: 1vw;
     grid-row: 1 / -1;
     @media screen and (min-width: 576px) {
         font-size: .4rem;
     }
     @media screen and (min-width: 768px) {
         font-size: .6rem;
     }
     @media screen and (min-width: 992px) {
         font-size: .75rem;
     }
     @media screen and (min-width: 1200px) {
         font-size: .9rem;
         grid-column: 4 / 7;
     }
     @media screen and (min-width: 1440px) {
         font-size: 1.15rem;
     }
}
 .overlay-text-center-home small,
 .overlay-text-center-home small{
     line-height: 2;
     font-weight: normal;
}
 .overlay-text-center-zvire{
     position: absolute;
     left: 50%;
     top: 50%;
     transform: translate(-50%, -50%);
     text-align: center;
     font-style: italic;
     color: #222;
     line-height: 2;
     font-weight: bold;
     font-size: 1vw;
     @media screen and (min-width: 576px) {
         font-size: .4rem;
     }
     @media screen and (min-width: 768px) {
         font-size: .6rem;
     }
     @media screen and (min-width: 992px) {
         font-size: .75rem;
     }
     @media screen and (min-width: 1200px) {
         font-size: .9rem;
     }
     @media screen and (min-width: 1440px) {
         font-size: 1.15rem;
     }
 }
.overlay-text-center-zvire small,
.overlay-text-center-zvire small{
    line-height: 2;
    font-weight: normal;
}
 a {
     color: rgb(216, 140, 0);
}
 a:hover {
     color: rgb(255, 187, 0);
}
 .grave-text:hover {
     color: rgb(255, 187, 0);
}
.bottitulka-wrapper {
  position: relative;
  margin-top: auto;
}
 .bottom-overlay {
     position: absolute;
     bottom: 10px;
     left: 0;
     right: 0;
     color: white;
     font-size: 1vw;
     text-shadow: 1px 1px 3px rgba(0,0,0,0.8);
     display: flex;
     justify-content: space-between;
     align-items: center;
     padding: 0 2%;
     box-sizing: border-box;
}
 .bottom-overlay a {
     color: white;
     text-decoration: none;
}
 .bottom-overlay a:hover {
     color: rgb(255, 187, 0);
}

.page-fit {
  display: flex;
  flex-direction: column;
  margin: 2vw;
}

.page-fit > .row {
  flex: 1 0 auto;
}


 .tp5 {
     top: 50%;
}
 .alert {
     position: relative;
     padding: 10px 15px;
     margin: 10px 0;
     border: 1px solid transparent;
     border-radius: 4px;
     font-size: 14px;
}
 .alert-error {
     color: #842029;
     background-color: #f8d7da;
     border-color: #f5c2c7;
}
 .alert-success {
     color: #0f5132;
     background-color: #d1e7dd;
     border-color: #badbcc;
}
 .alert-info {
     color: #055160;
     background-color: #cff4fc;
     border-color: #b6effb;
}
 .alert-warning {
     color: #664d03;
     background-color: #fff3cd;
     border-color: #ffecb5;
}

.form-page__fit {
    margin-bottom: 0;
}
.form-page__middle {
    height: auto;
    min-height: 0;
    aspect-ratio: 1706 / 1060;
    overflow: visible;
    background-image: url("/img/stredform-clean-tall-no-trees.png");
    background-size: 100% 100%;
}
.form-page__scroll {
    position: relative;
    inset: auto;
    width: 100%;
    height: auto;
    margin: 0;
    padding: clamp(5.5rem, 10.5vw, 9.25rem) 12% clamp(3rem, 6.5vw, 5.75rem);
    align-items: flex-start;
    background-image: none;
    overflow: visible;
}
.form-page__panel {
    width: min(100%, 44rem);
    height: auto;
    min-height: 100%;
    margin: 0 auto;
    transform: translateY(1cm);
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: #294533;
    font-size: .86rem;
    box-shadow: none;
}
.form-page__panel .middle-text {
    margin: 0 auto .55rem;
    padding: .2rem .75rem;
    border: 0;
    background: transparent;
    color: #294533;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(.82rem, 1.05vw, 1rem);
    font-style: italic;
    font-weight: 700;
    line-height: 1.4;
    text-shadow: 0 1px 1px rgba(255, 255, 255, .9);
}
.form-page__panel .middle-content {
    padding: 0;
    border: 0;
    background: transparent;
}
.form-page__table {
    width: min(100%, 38rem);
    margin: 0 auto;
    border-collapse: separate;
    border-spacing: .3rem;
}
.form-page__table td:first-child {
    width: 38%;
    color: #294533;
    font-family: Georgia, "Times New Roman", serif;
    font-style: italic;
    font-weight: 700;
    text-align: right;
    text-shadow: 0 1px 1px rgba(255, 255, 255, .9);
}
.form-page__table input:not([type="submit"]):not([type="file"]),
.form-page__table select,
.form-page__table textarea {
    width: 100%;
    max-width: 22rem;
    padding: .36rem .55rem;
    border: 1px solid rgba(76, 111, 76, .7);
    border-radius: .55rem;
    outline: 0;
    background: rgba(247, 250, 238, .86);
    color: #203629;
    box-shadow: inset 0 1px 2px rgba(55, 82, 55, .12), 0 1px 0 rgba(255, 255, 255, .5);
    transition: border-color .15s ease, background-color .15s ease, box-shadow .15s ease;
}
.form-page__table input:not([type="submit"]):not([type="file"]):focus,
.form-page__table select:focus,
.form-page__table textarea:focus {
    border-color: #d68c00;
    background: rgba(255, 253, 242, .96);
    box-shadow: 0 0 0 .2rem rgba(216, 140, 0, .15);
}
.form-page__table textarea {
    min-height: 4.5rem;
    resize: vertical;
}
.form-page__table input[type="file"] {
    width: 100%;
    max-width: 22rem;
    color: #294533;
}
.form-page__table input[type="file"]::file-selector-button {
    margin-right: .65rem;
    padding: .45rem .7rem;
    border: 1px solid rgba(76, 111, 76, .65);
    border-radius: .5rem;
    background: rgba(235, 242, 220, .92);
    color: #294533;
    cursor: pointer;
}
.form-page__table input[type="submit"] {
    padding: .65rem 1.6rem;
    border: 1px solid #765c27;
    border-radius: 999px;
    background: linear-gradient(#e3aa3d, #bd7610);
    color: #fff;
    font-family: Georgia, "Times New Roman", serif;
    font-weight: 700;
    letter-spacing: .04em;
    text-shadow: 0 1px 1px rgba(0, 0, 0, .35);
    box-shadow: 0 2px 5px rgba(55, 68, 43, .28);
    cursor: pointer;
}
.form-page__table input[type="submit"]:hover {
    background: linear-gradient(#edbb57, #c98318);
}
.form-page__captcha,
.form-page__submit {
    padding-top: .65rem;
    text-align: center !important;
}
.form-page__captcha .g-recaptcha > div {
    margin: 0 auto;
}
.form-page__bottom {
    position: relative;
}
@media screen and (min-width: 576px) {
    .form-page__table tbody {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: .35rem 1rem;
    }
    .form-page__table tr {
        display: grid;
        grid-template-columns: 38% minmax(0, 1fr);
        align-items: center;
        min-width: 0;
    }
    .form-page__table tr:nth-child(n+8) {
        grid-column: 1 / -1;
    }
    .form-page__table tr:nth-child(8) {
        grid-template-columns: 19% minmax(0, 1fr);
    }
    .form-page__table tr:nth-child(n+9) {
        grid-template-columns: 1fr;
    }
    .form-page__table tr:nth-child(n+9) td {
        grid-column: 1 / -1;
    }
    .form-page__table td,
    .form-page__table td:first-child {
        width: auto;
    }
    .form-page__captcha .g-recaptcha {
        height: 64px;
        transform: scale(.82);
        transform-origin: top center;
    }
}
@media screen and (max-width: 575px) {
    .form-page__scroll {
        padding: 4.25rem 4% 2.25rem;
    }
    .form-page__panel {
        width: 100%;
        padding: .75rem;
        border-radius: 1rem;
    }
    .form-page__table tr {
        display: grid;
    }
    .form-page__table td,
    .form-page__table td:first-child {
        width: 100%;
        text-align: left;
    }
    .form-page__captcha .g-recaptcha {
        display: flex;
        justify-content: center;
        transform: scale(.82);
        transform-origin: top center;
        margin-bottom: -14px;
    }
}
