.block {
    position:relative;
    display:grid;
    isolation: isolate;
    overflow:hidden;
    width:100%;
}

.pad_top {
    padding-top:5rem;
}
.pad_right {
    padding-right:5vw;
}
.pad_bottom {
    padding-bottom:5rem;
}
.pad_left {
    padding-left:5vw;
}

.bg-img {
    position: absolute;
    z-index:0;
    width:100%;
}

    .fillbg {
        height:100%;
        object-fit:cover;
    }

    .bg_pos_1 {
        top:0;
        left:0;
    }
    .bg_pos_2 {
        top:0;
    }
    .bg_pos_3 {
        top:0;
        right:0;
    }
    .bg_pos_4 {
        left:0;
    }
    .bg_pos_5 {
        margin-block:auto;
    }
    .bg_pos_6 {
        right:0;
    }
    .bg_pos_7 {
        left:0;
        bottom:0;
    }
    .bg_pos_8 {
        bottom:0;
    }
    .bg_pos_9 {
        bottom:0;
        right:0;
    }

.text {
    position: relative;
    z-index:1;
    text-wrap: pretty;
}

.rs {
    background-color:var(--green);
    position: relative;
    list-style: none;
    overflow: hidden;
    width: 100%;
    padding: 0;
    margin: 0;
    height:400px;
    transition:height 1s ease-in-out;
}

.taller .rs {
    height:600px;
}

.bgrs {
    position:absolute;
    left:0;
    top:0;
    width:100%;
    height:100%;
    max-height:unset;
    z-index:-1;
}

.rs li {
    -webkit-backface-visibility: hidden;
    position: absolute;
    display: none;
    width: 100%;
    height:100%;
    left: 0;
    top: 0;
    /* padding:10vw 0; */
    padding:0;
    margin:0;
    transition:height 1s ease-in-out;
}

.rs li:first-child {
    position: relative;
    display: block;
    float: left;
}

.rs li > img {
    display: block;
    height: auto;
    float: left;
    width: 100%;
    height:100%;
    object-fit: cover;
    border: 0;
    position:relative;
    inset:0;
    scale:1;
    transition:scale 8s ease-in-out;
}

    .fade-photo {
        mask-image:linear-gradient(90deg, rgba(0,0,0,0.1) 15%, rgba(0,0,0,1) 60%);
    }

    .rs .mobile {
        display:none;
    }

    .rs .wrap {
        position:absolute;
        z-index:1;
        left:50%;
        top:50%;
        transform:translate(-50%,-50%);
        padding:5vw 1rem;
        margin:0;
    }

    /* .rs:has(.textarea){
        height:unset;
        max-height:unset;
    } */

    .block:has(+ .overlap) .rs:has(.textarea) li{
        /* padding-block:10vw 15vw; */
    }

    .textonly {
        width:100%;
    }

        .textonly h2 {
            color:#fff;
            text-align:center;
            font-size:4.5vw;
        }

    .card {
        background-color:#fff;
        padding:1.5rem;
        width:350px;
        max-width:90vw;
    }


    .rs .cover {
        position:Absolute;
        left:0;
        top:0;
        height:100%;
        background-color:var(--green);
        opacity:0.8;
        width:45vw;
        transition:left 1.5s var(--ease_out) 0.5s;
    }

        .rs .cover img {
            position:absolute;
            left:100%;
            top:0;
            height:100%;
            aspect-ratio: 0.5 / 1;
        }

    .rs li:first-child .cover {
        @starting-style {
            left:-65vw;
        }
    }

    .rs li[class$="on"] .cover {
        left:0;
    }
    .rs li[class$="on"] > img {
        scale:1.1;
    }

    .card h2 {
        color:#212121;
        font-size:2rem;
        padding-bottom:1rem;
        border-bottom:4px solid var(--blue);
        line-height: 1.1;
    }

    .card > *:last-child {
        margin-bottom:0;
    }

    .textarea {
        color:#fff;
        width:50%;
        text-shadow: 0 0.2em 15px var(--green);
    }

        main li .textarea :is(h1,h2) {
            font-size:3.5rem;
            margin-bottom:1rem;
            font-weight:400;
        }

        .textarea p {
            font-size:1.1rem;
            max-width:70ch;
        }
    
.twocol,
.smallerimg {
    display:grid;
    grid-template-columns: 1fr 1.5fr;
    grid-gap:5vw;
    align-items:center;
}

    .image img {
        width:100%;
    }

.text .btns {
    display:grid;
    grid-template-columns: 1fr 1fr;
    grid-gap:1rem;
}

    .text .btns .green-btn {
        text-align: center;
        animation-delay: calc(var(--delay) * 0.2s);
    }

.smallerimg {
    grid-template-columns: 1fr 3fr;
}

.twocol.flip {
    grid-template-columns: 1.5fr 1fr;
}

.smallerimg.flip {
    grid-template-columns: 3fr 1fr;
}

.overlap-card {
    grid-gap:0;
}

.overlap-card .text,
.text.overlap-card {
    background-color:var(--pale_green);
    padding:2rem;
    margin-block:3rem;
}

    .overlap-card .green-btn {
        background-color:unset;
        border:2px solid var(--green);
        color:Var(--green);
    }

        .overlap-card .green-btn:hover {
            background-color:var(--yellow);
        }

    .overlap-card .image {
        width:120%;
        height:100%;
    }

        .overlap-card .image img {
            height:100%;
            object-fit: cover;
        }

    .overlap-card.flip .image {
        margin-left:-20%;
    }

.twocol.flip div:nth-child(1) {
    order:2;
}
.twocol.flip div:nth-child(2) {
    order:1;
}

.heading_btns {
    grid-template-columns: 2fr max-content;
    gap:var(--global_padding);

    & h2 {
        font-size:clamp(1.5rem,4vw,4rem);
        letter-spacing: -0.05em;
        text-wrap: balance;
    }

    & .green-btn {
        font-size:1.8rem;
    }
}

.twocol.hero {
    grid-template-columns: 1fr 1fr;
    gap:0;
    & .text {
        display:flex;
        gap:0;
        flex-wrap:wrap;
        justify-content: center;
        align-content: center;
        align-items: center;
        padding:var(--global_padding);
        text-align: center;
        width:100%;
        height:100%;
        background-color:var(--green);
        color:#fff;
    }
    & .btns {
        display:flex;
        justify-content: center;
        & .green-btn {
            border:1px solid #fff;
        }
    }

    @media screen and (max-width:900px){
        grid-template-columns: 1fr;
    }
}

.threecol {
    display:grid;
    grid-template-columns: 1fr 1fr 1fr;
    grid-gap:1rem;
}

    .stacked {
        grid-gap:8vw;
        padding-inline:5vw;
        text-align: center;
    }

        .stacked h2 {
            font-size:1.6rem;
            margin-top:1rem;
            margin-bottom:1rem;
        }

    .flipcard {
        position:relative;
        transform-style: preserve-3d;
        perspective: 1000px;
    }

        .flipcard .front {
            transform:rotateY(0deg);
            backface-visibility: hidden;
            transition:transform 0.5s ease-out;
            transform-style: preserve-3d;
        }
        .flipcard .back {
            position: absolute;
            top:0;
            left:0;
            width:100%;
            height:100%;
            overflow-y:auto;
            background-color:var(--green);
            transform:rotateY(-180deg);
            backface-visibility: hidden;
            color:#fff;
            padding:2rem;
            text-align: center;
            transition:transform 0.5s ease-out;
            transform-style: preserve-3d;
            display: grid;
            align-content: center;
        }

            .flipcard .back .green-btn {
                background-color:var(--bright_green);
            }

                .flipcard .back .green-btn:hover  {
                    background-color:var(--yellow);
                }

        .flipcard:hover .front {
            transform:rotateY(180deg);
        }
        .flipcard:hover .back {
            transform:rotateY(0deg);
        }

        .flipcard p {
            font-size: 1rem;
            color:#fff;
        }

        .flipcard .green-btn {
            margin-bottom:0;
        }

        .text ul {
            list-style:none;
            padding-left:2rem;
        }
        
            .text ul li::before {
                content:url('../img/plus.svg');
                width:2rem;
                height:2rem;
                display: block;
                position: absolute;
                left: 0;
                margin-top: 0.25rem;
            }

        .text > :is(p,h1,h2,h3,h4,h5,h6):last-child {
            margin-bottom:0;
        }

.picture_buttons {
    display:grid;
    grid-template-columns: 1fr 1fr;
    grid-gap:2rem;

    & a {
        background-color:var(--green);
        padding:clamp(1rem,2vw,2rem);
        position:relative;
        display:grid;
        align-items:end;
        text-decoration: none;

        &:nth-of-type(4n+1){
            background-color:var(--pale_green);
            & .text {
                & h3,
                & p {
                    color:var(--green) !important;
                }
                & .green-outline-btn {
                    border-color:var(--green);
                    color:var(--green);

                    &:hover {
                        border-color:var(--green);
                    }
                }
            }
        }

        &:nth-of-type(4n+3){
            background-color:var(--bright_green);
        }

        &.fullwidth {
            grid-column: 1/-1;
        }

        & .text {
            width:60%;
            color:#fff !important;

            & h3 {
                margin-bottom:1rem;
                color:#fff !important;
            }

            & .green-outline-btn {
                border-color:#fff;
                color:#fff;

                &:hover {
                    border-color: var(--yellow);
                    color:var(--green);
                }
            }
        }

        & .image {
            position:absolute;
            right:0;
            top:0;
            width:75%;
            height:100%;
            mask-image:linear-gradient(90deg,rgba(19, 2, 39, 0) 0%, rgba(19, 2, 39, 1) 60%);

            & img {
                width:100%;
                height:100%;
                object-fit:cover;
            }
        }
    }

    @media screen and (max-width:900px){
        grid-template-columns: 1fr;
    }
}

.picture_buttons2 {
    display:grid;
    grid-template-columns: 1fr 1fr;
    grid-gap:2rem;

    & a {
        position:relative;
        display:grid;
        text-decoration: none;

        &.fullwidth {
            grid-column: 1/-1;
        }

        & .image {
            & img {

            }
        }

        & .text {
            padding-top:1rem;

            & h3 {
                margin-bottom:0.5rem;
            }
        }
    }

    @media screen and (max-width:900px){
        grid-template-columns: 1fr;
    }
}

section:has(.picture_buttons,.picture_buttons2) .btns {
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    padding-block:2rem;

    & .green-btn {
        background-color:transparent;
        border: 2px solid var(--green);
        color: var(--green);
        transition:all 0.5s;

        &:hover {
            background-color:var(--yellow);
        }
    }
} 


.heading h2 {
    text-align:center;
    padding-inline: 5vw;
}

.download .heading h2 {
    text-align:left;
    padding:0;
    margin-bottom:1rem;
}

.lcircles {
    grid-gap:3rem;
    padding:3rem;
}

.lcircle {
    background-color:var(--green);
    border:5px solid #fff;
    aspect-ratio: 1;
    width:100%;
    display:grid;
    align-content: top;
    border-radius:100%;
    text-decoration: none;
    text-align: center;
    padding-block:15%;
}

    .lcircle h2 {
        padding:0 2rem 1rem;
        font-size:1.8vw;
        text-align: center;
        margin:0;
    }

    .lcircle p {
        padding-inline:10%;
        line-height: 1.1;
    }

    .lcircle:hover {
        background-color:var(--blue);
    }

    .lcircle img {
        padding-inline:25%;
        padding-bottom:1rem;
    }

.lsquares {
    display:grid;
    grid-template-columns: repeat(auto-fit,minmax(250px,1fr));
    grid-gap:2rem;
}

.overlap {
    padding-top:1rem;
    margin-top:-7vw;
    background-color:unset !important;
    z-index:2;
    overflow-y:visible;
}

.lsquare {
    background-color:var(--green);
    padding:10%;
    text-decoration: none;
    transition: background-color 0.5s ease-out;
    border-radius: 0.25rem;
    text-align: center;
    border:1px solid #fff;
}

    .lsquare h2 {
        font-size:1.8rem;
        margin:0 0 0.5rem;
        color:var(--yellow) !important;
    }

    .lsquare p {
        line-height: 1.1;
    }

    .lsquare p:last-of-type {
        margin-bottom:0;
    }

    .lsquare img {
        padding-inline:5%;
        height:125px;
        width:100%;
        object-fit: contain;
        margin-bottom:1rem;
    }

    .lsquare:hover {
        background-color:var(--blue);
    }

    .lsquare:nth-child(3n+1) {
        animation-delay: 0.4s;
    }
    .lsquare:nth-child(3n+2) {
        animation-delay: 0.6s;
    }
    .lsquare:nth-child(3n+3) {
        animation-delay: 0.8s;
    }

.fad {
    padding-block:5vw;
    background-color:var(--green);
    color:#fff;
}

    .fad h2 {
        text-align: center;
    }

    .fad p {
        margin-top:1rem;
        margin-bottom:0;
        text-align: center;
        color:#fff !important;
    }

    .searchbox {
        width:100%;
        display:Grid;
        grid-template-columns: 1fr 150px;
    }

        .searchbox input {
            padding:1.5rem;
            border:none;
            border-top-right-radius: 0;
            border-bottom-right-radius: 0;
            outline:none;
            font-size:1rem;
            margin:0;
            color:#212121;
        }

        .searchbox button {
            border:none;
            outline:none;
            padding:1.5rem;
            background-color:var(--bright_green);
            font-size:1rem;
            cursor: pointer;
            color:#fff;
            text-transform: uppercase;
            border-radius:0 1rem 1rem 0;
        }

            .searchbox button:hover {
                background-color:var(--blue);
            }

#resultsList {
    color:#fff;
    display:none;
}

.distance,
#resultList strong {
    color:var(--bright_green);
}

#map {
    width:100%;
    height:450px;
}

    .info-popup h3{
        color:#004d23;
    }
    .info-popup {
        color:#595959;
    }

.carousel-cell {
    width:20%;
    margin-inline:1rem;
    border-radius:0.25rem;
}

    .fprod {
        text-decoration: none;
        transform:translateY(0);
        transition:transform 0.5s ease;
    }

        .fprod:hover {
            transform:translateY(-0.5rem);
        }

    .fprod h2 {
        font-size:1.2rem;
        font-weight:bold;
        margin:0;
        text-align: center;
        transition:color 0.5s ease;
    }

        .fprod:hover h2 {
            color:var(--yellow) !important;
        }

    .fprod img {
        width:100%;
        aspect-ratio: 1/1;
        object-fit: contain;
        border-radius:0.25rem;
    }


.wmap-outer {
    position:relative;
    overflow-x:auto;
    max-width:100vw;
}

.wmap {
    position:relative;
}

    .mapsvg {
        width:100%;
    }

    .drag {
        display:none;
        width:100%;
        text-align: center;
    }

    .dot {
        position:absolute;
        color:#fff;
        background-color:var(--blue);
        width: 1.1rem;
        height: 1.1rem;
        border-radius: 100rem;
        text-decoration: none;
        text-align: center;
        font-size: 0.85rem;
    }

        .dot:hover {
            background-color:var(--yellow);
            color:#333;
        }

    .location {
        position:absolute;
        left:50%;
        top:50%;
        transform:translate(-50%,-50%);
        background-color:#fff;
        border-radius: 0.25rem;
        padding:1.5rem;
        width:min(400px,90vw);
        display:none;
        z-index:2;
        border:none;
        overflow:visible;
    }

        .location h3 {
            color:var(--green) !important;
            margin-bottom:0.5rem;
        }

        .location p {
            line-height: 1.2;
        }

        .location p:last-of-type {
            margin-bottom:0;
        }

        .close-loc {
            position:absolute;
            background-color:var(--blue);
            width: 2rem;
            height: 2rem;
            border-radius: 100rem;
            text-decoration: none;
            text-align: center;
            font-size: 1rem;
            color:#fff;
            right:-1rem;
            top:-1rem;
            line-height:1.8;
        }

        .location.visible {
            display:block;
        }

.news-list {
    display:grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    grid-gap:2rem;
}

    .news-list-intro .intro {
        background-color:var(--pale_green);
        padding:1rem;
        width:calc(100% - 0.75rem);
    }

    .news-list-item {
        text-decoration: none;
        background-color:var(--pale_green);
        border-radius:3px;
        overflow: hidden;
    }

        .news-list-item > img {
            width:100%;
            aspect-ratio:1.3;
            object-fit:cover;
        }

        .news-list-item .text {
            padding:1rem;
        }

        .news-list-item h2 {
            color:var(--green) !important;
            font-size: 1.4rem;
            font-weight:500;
            line-height:1;
            margin-bottom: 0.75rem;
        }

        .news-list-item .date {
            margin-bottom:0.5rem;
        }

        .news-list-item p {
            font-size:1rem;
            line-height:1.6;
        }

        .news-list-item .text p:last-child {
            margin-bottom:0;
        }

        .news-list-item:nth-of-type(4n+2){
            animation-delay: 0.1s;
        }
        .news-list-item:nth-of-type(4n+3){
            animation-delay: 0.2s;
        }
        .news-list-item:nth-of-type(4n+4){
            animation-delay: 0.3s;
        }

.contactform {
    display:grid;
    grid-template-columns: 1fr 1fr;
}

    input,textarea {
        font:inherit;
        border:none;
        outline:none;
        padding:0.75rem;
        border-radius: 0.25rem;
        font-size:0.9rem;
        margin-bottom:0.5rem;
    }

    .submit-btn {
        width:200px;
    }

.block:has(.team) {
    overflow:visible;
}

.team {
    display:grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
}

    .mem {
        position: relative;
        display:grid;
        grid-template-columns:1fr 1fr;
        cursor: pointer;
    }

        .mem .image {
            filter:grayscale(1);
            transition:0.5s;
        }

            .mem:hover .image {
                filter:grayscale(0);
            }

        .mem .text {
            background-color:var(--green);
            padding:1rem;
            display:grid;
            align-content: flex-end;
        }

        .mem .name {
            font-size:1.1rem;
            line-height:1;
            margin:0 0 0.25rem 0;
        }

        .mem .position {
            font-size:0.7rem;
            line-height:1;
            margin:0;
        }

        .mem .text .arrow {
            width:100%;
        }

        .mem .text img {
            width:25%;
            margin-bottom:0.25rem;
        }

        :is(.mem:nth-of-type(6n+4),.mem:nth-of-type(6n+5),.mem:nth-of-type(6n+6)) .image {
            order:2;
            justify-content: flex-end;
        }
        :is(.mem:nth-of-type(6n+4),.mem:nth-of-type(6n+5),.mem:nth-of-type(6n+6)) .text {
            text-align:right;
            order:1;
        }
        :is(.mem:nth-of-type(6n+4),.mem:nth-of-type(6n+5),.mem:nth-of-type(6n+6)) .text img {
            float:right;
            scale:-1 1;
        }

        .area {
            position:absolute;
            left:0;
            top:0;
            width:100%;
            padding:1rem;
            background-color:var(--green);
            z-index:2;
            display:none;
        }

            .area.visible {
                display:block;
            }

            .area .close {
                float:right;
                width:2rem;
                height:2rem;
                text-align: center;
                padding:0.5rem;
                border-radius:100rem;
                background-color:#fff;
                color:#333;
                text-decoration: none;
                margin:0;
                line-height:1;
            }

                .area .close:hover {
                    background-color:var(--yellow);
                }

                .area img {
                    float:left;
                    clear:left;
                    width:100%;
                }

.prod-cats {
    display:grid;
    grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
    grid-gap:2rem;

    & a {
        text-decoration: none;
        overflow:hidden;
        
        & .text {
            border-radius:0 0 0.2rem 0.2rem;
            padding:1rem;
            color:#fff;
            transition:background-color 0.5s;

            & h3 {
                position:relative;
                display:grid;
                grid-template-columns: 1fr max-content;
                gap:1rem;
                font-size:1.1rem;
                text-wrap: balance;

                &::after {
                    content:"➝";
                    right:0;
                }
            }
        }
        & img {
            border-radius:0.2rem;
            /* mask-image:linear-gradient(0deg, rgba(0,0,0,0) 0%, rgba(0,0,0,1) 40%); */
        }

        &:hover {
            & .text {
                background-color:var(--pale_green);
            }
        }
    }
}

.boxes {
    display:Grid;
    grid-template-columns: 1fr 1fr;
    grid-gap:1.5rem;
}

    .box {
        display:grid;
        grid-template-columns: 1fr 1fr;
        box-shadow:0 0.5rem 1rem #0002;
        border-radius:0.25rem;
    }

        .box .image img {
            height:100%;
            width:100%;
            object-fit: cover;
        }

        .box .text {
            padding:1rem;
        }

            .box .text img {
                width:100px;
                margin-bottom:1rem;
            }

        .box .text p {
            font-size:0.7rem;
        }

        .box:nth-of-type(2n+2) .fade_up {
            animation-delay: 0.2s;
        }


.timeline {
    position:relative;
}

    .entry {
        position:relative;
        display:grid;
        grid-template-columns: 0.8fr 1.5fr 2.3fr;
        align-items: center;
        padding-bottom:3rem;
    }

    .entry > .line {
        position:absolute;
        width:5px;
        height:100%;
        left:calc(50% - 2.5px);
        top:0;
        background-color:var(--green);
    }

        .entry .text {
            padding-inline:2rem;
            position:relative;
        }

        .entry .text .line {
            position:absolute;
            width:1.5rem;
            height:5px;
            background-color:var(--green);
            right:0;
            top:50%;
            transform:translateY(-50%);

        }

    .entry:nth-of-type(even) {
        grid-template-columns: 2.3fr 1.5fr 0.8fr;
    }

        .entry:nth-of-type(even) .image {
            order:3;
        }
        .entry:nth-of-type(even) .text {
            order:2;
        }
        .entry:nth-of-type(even) .text .line {
            right:unset;
            left:0;
        }
        .entry:nth-of-type(even) .filler {
            order:1;
        }

        .entry:first-of-type{
            grid-template-columns: 1fr;
            text-align: center;
            padding-bottom:5rem;
            width:50%;
            margin-left:25%;
        }
        .entry:first-of-type .text .line {
            display:none;
        }
        .entry:first-of-type > .line {
            top:unset;
            bottom:0;
            height:4rem;
        }

        .entry:last-of-type > .line {
            height:calc(50% - 1.5rem + 3px);
        }

.news-list {
    display:grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    grid-gap:2rem;
}

    .news-list-intro .intro {
        background-color:var(--pale_green);
        padding:var(--global_padding);
        width:calc(100% - 0.75rem);
    }

    .news-list-item {
        text-decoration: none;
        background-color:var(--pale_green);
        border-radius:3px;
        overflow: hidden;
    }

        .news-list-item > img {
            width:100%;
            aspect-ratio:1.3;
            object-fit:cover;
        }

        .news-list-item .text {
            padding:1rem;
        }

        .news-list-item h2 {
            color:var(--green) !important;
            font-size: 1.4rem;
            font-weight:500;
            line-height:1;
            margin-bottom: 0.75rem;
        }

        .news-list-item .date {
            margin-bottom:0.5rem;
        }

        .news-list-item p {
            font-size:1rem;
            line-height:1.6;
        }

        .news-list-item .text p:last-child {
            margin-bottom:0;
        }

        .news-list-item:nth-of-type(4n+2){
            animation-delay: 0.1s;
        }
        .news-list-item:nth-of-type(4n+3){
            animation-delay: 0.2s;
        }
        .news-list-item:nth-of-type(4n+4){
            animation-delay: 0.3s;
        }

.product-highlights {
    width:100%;
    max-width: 100vw;
    & h2 {
        text-align: center;
    }
}

section:has(.product-highlights,.logo_slider){
    display:grid;
    justify-content: center;
}

.splide__track {
    max-width:100%;
    mask-image: linear-gradient(90deg,rgba(19, 2, 39, 0) 0%, rgba(19, 2, 39, 1) 15%, rgba(19, 2, 39, 1) 85%, rgba(19, 2, 39, 0) 100%);
}

.splide__list {
    & a {
        text-decoration: none;

        & h3 {
            font-size:1.1rem;
            text-align: center;
            color:var(--green);
        }
    }

    & .image {
        width:100%;
        aspect-ratio: 1;
        & img {
            width:100%;
            height:100%;
            object-fit:contain;
        }
    }
}

.logo_slider {
    & .image {
        height:120px;
    }
    & h2 {
        text-align: center;
    }
}

@media screen and (max-width:1199px){
    .card {
        margin-inline:auto;
    }

    .fad {
        padding-inline:5vw;
    }
}

@media screen and (max-width:1099px){
    .threecol {
        padding-bottom:10vw;
    }
}

@media screen and (max-width:999px){
    .twocol,
    .twocol.flip {
        grid-template-columns: 1fr;
    }

    .overlap-card,
    .overlap-card.flip {
        grid-template-columns: 1fr 1fr;
    }

    .overlap-card .image {
        width:150%;
    }

    .overlap-card.flip .image {
        margin-left:-50%;
    }

    .twocol.flip .image {
        order:1;
    }
    .twocol.flip .text {
        order:2;
    }

    .hidemob {
        display:none;
    }

    .lsquare img {
        padding-inline:0;
    }

    /* reset nth types */
    :is(.mem:nth-of-type(6n+4),.mem:nth-of-type(6n+5),.mem:nth-of-type(6n+6)) :is(.image,.text,.text img) {
        order:unset;
        justify-content:unset;
        text-align:unset;
        float:unset;
        scale:unset;
    }

    :is(.mem:nth-of-type(4n+3),.mem:nth-of-type(4n+4)) .image {
        order:2 !important;
        justify-content: flex-end;
    }
    :is(.mem:nth-of-type(4n+3),.mem:nth-of-type(4n+4)) .text {
        text-align:right;
        order:1 !important;
    }
    :is(.mem:nth-of-type(4n+3),.mem:nth-of-type(4n+4)) .text img {
        float:right;
        scale:-1 1;
    }

    .boxes {
        grid-template-columns: 1fr;
    }

        .box .text p {
            font-size:0.9rem;
        }
}

@media screen and (max-width:949px){
    .threecol,
    .lcircles {
        grid-template-columns: 1fr;
    }

        .lcircles h2 {
            font-size:4.8vw;
        }

    .entry,
    .entry:first-of-type,
    .entry:nth-of-type(even) {
        width:100%;
        margin:0;
        grid-template-columns: 3fr 1fr;
        padding:0 0 5rem 0;
    }

        :is(.entry,.entry:nth-of-type(even)) .line {
            left:0;
        }

        :is(.entry,.entry:nth-of-type(even)) .image {
            order:1;
        }

        :is(.entry,.entry:nth-of-type(even),.entry:first-of-type) .text {
            text-align: left;
            order:0;   
        }

        .entry .filler {
            display:none;
        }

        .entry:first-of-type .text{
            padding-left:0;
        }

        .entry:not(:has(img)){
            grid-template-columns: 1fr !important;
        }

        .entry:last-of-type {
            padding-bottom:0;
        }

        .entry:last-of-type > .line {
            height:calc(50% - 1px);
        }
}

@media screen and (max-width:799px){

    .overlap-card,
    .overlap-card.flip {
        grid-template-columns: 1fr;
        grid-gap:0;
    }

        :is(.overlap-card,.overlap-card.flip) .image {
            width:100%;
            margin-left:0;
            order:1;
        }

        :is(.overlap-card,.overlap-card.flip) .text {
            margin-block:0;
            order:2 !important;
        }

    .lsquares {
        grid-template-columns: 1fr;
    }

    .carousel-cell {
        width:30%;
    }

    .wmap {
        position:relative;
        width:150vw;
        max-width:150vw;
    }

        .mapsvg {
            width:100%;
        }

        .block:has(.wmap) .heading h2 {
            margin-bottom:0;
        }

        .drag {
            display:block;
            color:var(--yellow) !important;
        }

    .contactform {
        grid-template-columns: 1fr;
    }

    .textarea {
        width:80%;
    }

    .rs .cover {
        width:70vw;
    }

    .rs li:first-child .cover {
        @starting-style {
            left:-90vw;
        }
    }
}


@media screen and (max-width:649px){
    .searchbox {
        grid-template-columns: 1fr 85px;
    }

        .searchbox button {
            padding-inline:0.75rem;
            border-radius: 0 0.5rem 0.5rem 0;
        }

    .wmap {
        width:200vw;
        max-width:200vw;
    }

    .carousel-cell {
        width:50%;
    }

    .pad_top {
        padding-top:10vw;
    }
    .pad_bottom {
        padding-bottom:10vw;
    }

    /* reset nth types */
    :is(.mem:nth-of-type(4n+3),.mem:nth-of-type(4n+4)) :is(.image,.text,.text img) {
        order:unset;
        justify-content:unset;
        text-align:unset;
        order:unset;
        float:unset;
        scale:unset;
    }

    :is(.mem:nth-of-type(2n+1),.mem:nth-of-type(4n+3)) .image {
        order:1 !important;
        justify-content: flex-start !important;
    }
    :is(.mem:nth-of-type(2n+1),.mem:nth-of-type(4n+3)) .text {
        text-align:left !important;
        order:2 !important;
    }
    :is(.mem:nth-of-type(2n+1),.mem:nth-of-type(4n+3)) .text img {
        float:left !important;
        scale:1 1 !important;
    }
    :is(.mem:nth-of-type(2n+2),.mem:nth-of-type(4n+4)) .image {
        order:2 !important;
        justify-content: flex-end !important;
    }
    :is(.mem:nth-of-type(2n+2),.mem:nth-of-type(4n+4)) .text {
        text-align:right !important;
        order:1 !important;
    }
    :is(.mem:nth-of-type(2n+2),.mem:nth-of-type(4n+4)) .text img {
        float:right !important;
        scale:-1 1 !important;
    }

    .text .btns {
        grid-template-columns: 1fr;
    }

        .text .btns .green-btn {
            margin:0;
        }

    .box {
        grid-template-columns: 1fr;
    }

        .box .text p {
            font-size:1.1rem;
        }

    .rs .desktop {
        display: none;
    }

    .rs .mobile {
        display:block;
    }
}

@media screen and (max-width:500px){

    .rs .textarea {
        width:100%;
        background-color:rgba(0, 77, 35, 0.8);
        padding:5vw;
    }

        .rs .textarea h2 {
            font-size:2.3rem;
            margin-bottom:0.5rem;
        }
        .rs .textarea p {
            font-size:0.9rem;
        }
        .rs .textarea p:last-of-type {
            margin-bottom:0;
        }

        .rs:has(.textarea) .fade-photo {
            mask-image:unset;
        }

        .rs:has(.textarea) .wrap {
            transform:unset;
            width:90vw;
            top:unset;
            left:5vw;
            bottom:5vw;
            padding:0;
        }

    .rs .cover {
        width:90vw;
    }

    .rs li:first-child .cover {
        @starting-style {
            left:-110vw;
        }
    }

    .rs .wrap {
        padding-inline:0;
    }
}

@media screen and (max-width:449px){

    .flipcard .text {
        padding:1rem;
    }

    .flipcard p {
        font-size:0.8rem;
    }

    .rs :is(h1,h2){
        font-size:2.5rem;
    }

    :is(.entry, .entry:nth-of-type(2n), .entry:first-of-type) {
        grid-template-columns: 1fr;
    }

    :is(.entry, .entry:nth-of-type(2n), .entry:first-of-type) .image {
            padding-left:2rem;
            padding-right:50%;
            order:1;
        }

        :is(.entry, .entry:nth-of-type(2n), .entry:first-of-type) .text {
            order:2;
        }
}