#main-wrap {
    display: grid;
    grid-template-areas: ". . main . .";
    grid-template-columns: var(--main-margin) 1fr minmax(auto, var(--main-max-width)) 1fr var(--main-margin);
    margin-top: var(--site-header-margin);
}

.main {
    grid-area: main;
    display: grid;
    grid-template-areas: "hero" "text";
    grid-gap: 2vmin
}

@media(min-width: 499.3px) {
    .main {
        grid-template-columns: repeat(2, 1fr);
        grid-template-rows: auto repeat(3, fit-content(0));
        grid-template-areas: "hero hero" "text text";
    }

}

@media(min-width: 799.3px) {
    .main {
        grid-template-columns: repeat(3, 1fr);
        grid-template-rows: auto repeat(2, fit-content(0)) auto auto fit-content(0);
        grid-template-areas: "hero hero hero" "text text text";
    }

}

.text{
    grid-area:text;
    margin:2vmin;
}
.hero{
    grid-area:hero;
    background:var(--main-artistic-color);
    border-radius:0px 0px 42% 91% / 4%;
    padding-bottom: 3px;
    height: 33vmin;
}
.hero-image{
    background: linear-gradient(199deg, rgba(0, 0, 0, 0) 7%, rgb(0, 0, 0, 0.7)) center center / cover no-repeat, url(/images/herobg.jpg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    position: relative;
    height: 33vmin;
    border-radius: 0 0 70% 50%/7%;
    animation: borderanimation 4s;
    animation-fill-mode:forwards;
    animation-iteration-count:infinite;
}
@keyframes borderanimation {
    0% {
      border-radius: 0 0 70% 50%/7%;
    }
    40% {
      border-radius: 0 0 70% 54%/7%;
    }
    70% {
      border-radius: 0 0 57% 54%/7%;
    }
    100% {
      border-radius: 0 0 70% 50%/7%;
    }
}
.hero-text {
    text-align: center;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: var(--text-on-background);
    text-shadow: 3px 3px 4px var(--text-shadow-on-background);
}
