html, body {
    height: 100%;
    margin: 0;
}

body.template-homepage {
    h1 {
        font-size: 3rem;
        font-weight: bold;
    }
}

#heroContainer {
    background-color: var(--rbg-conifer-green);
    height: 90vh;
    align-items: center;
}

#heroVideo {
    width: 100%;
    height: fit-content;
}

#imageCarousel {
    width: 100%;
    height: 90vh;

    .carousel-inner {
        height: 100%;
    }

    .carousel-item {
        height: 100%;
    }

    .carousel-item img {
        object-fit: cover;
        height: 100%;
        width: 100%;
    }

    .carousel-caption {
        position: absolute;
        align-content: center;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        font-size: 10vmin;
        text-align: left;
        width: 100%;
        padding: 0 15%;
        text-shadow: -2px 0 #000, 0 2px #000, 2px 0 #000, 0 -2px #000;
    }

    .carousel-indicators button {
        border-radius: 50%;
        width: 10px;
        height: 10px;
        margin-left: 5px;
        margin-right: 5px;
        border: 2px solid white;
        opacity: 90%;
        background-color: rgba(255, 255, 255, 0);
    }

    .carousel-indicators button.active {
        background-color: rgba(255, 255, 255, 1);
    }

    iframe {
        width: 100%;
        height: 100%;
    }
}

#main {
    overflow: hidden;
}

#visitContainer {
    #visitInfoImg {
        position: relative;
        overflow: hidden;
    }

    img {
        min-width: 100%;
        max-width: 150%;
        height: auto;
    }

    #visitInfoText {
        background-color: var(--rbg-conifer-green);

        #visitTextInner {
            padding: 3rem;
        }

        @media screen and (min-width: 576px) {
            #visitTextInner {
                padding: 2rem;

                h1 {
                    font-size: 3rem;
                }
            }
        }

        @media screen and (min-width: 1720px) {
            #visitTextInner {
                padding: 6rem;

                h1 {
                    font-size: 5rem;
                }
            }
        }

        h1 {
            font-size: 2rem;
            font-weight: normal;
        }

        a, a:link, a:visited, a:active {
            color: inherit;
            font-weight: inherit;
            text-decoration: underline;
        }
    }

    #openClosedBubble {
        position: absolute;
        top: 15px;
        left: 0;
        right: 0;
        margin-inline: auto;
        width: fit-content;
        font-size: 2.5vmin;
        padding: 10px 15px;
        border-style: solid;
        border-width: 2px;
        border-radius: 30px;

        i {
            padding: 0 10px;
        }
    }

    @media screen and (min-width: 480px) {
        #openClosedBubble {
            margin-inline: inherit;
            left: 15px;
        }
    }

    #openClosedBubble.rbg-open {
        color: var(--rbg-oak-green);
        background-color: var(--rbg-conifer-green);
        border-color: var(--rbg-oak-green);
    }

    #openClosedBubble.rbg-closed {
        color: white;
        background-color: var(--rbg-fall-leaves-red);
        border-color: maroon;
    }

}

#whatsBloomingContainer {
    background-color: var(--rbg-cactus-flower-yellow);

    #whatsBloomingLink {
        color: black;
        font-weight: normal;
        text-decoration: underline;
    }
}

#iconLinkContainer {
    overflow: hidden;
    color: var(--rbg-oak-green);

    a, a:link, a:visited, a:active {
        color: inherit;
        font-weight: inherit;
        text-decoration: none;
    }

    .ratio-1x1 {
        background-color: #f7f7f7;
    }

    .ratio-1x1:hover {
        background-color: var(--rbg-lilac);
        color: white;
    }

    #admissionIcon, #locationIcon, #sunIcon {
        width: 35%;
    }

    /* Change icon to white on hover */

    .ratio-1x1:hover #admissionIcon, .ratio-1x1:hover #locationIcon, .ratio-1x1:hover #sunIcon {
        filter: brightness(0) invert(1);
    }
}

#upcomingEventsContainer {
    a, a:link, a:visited, a:active {
        color: inherit;
        font-weight: inherit;
        text-decoration: none;
    }

    .card {
        border-radius: 0;
    }

    .card:hover {
        background-color: var(--rbg-lilac);
        color: white;
    }

    .card .card-body {
        min-height: 20rem;
    }

    .upcoming-event-title {
        font-weight: bold;
    }

    a.btn {
        background-color: var(--rbg-conifer-green);
        color: var(--rbg-oak-green);
    }

    a.btn:hover {
        background-color: white;
        border: 2px solid var(--rbg-oak-green);
    }
}

#followUsContainer {
    background-color: #f7f7f7;

    a, a:link, a:visited, a:active {
        color: inherit;
        font-size: 1.25rem;
        display: inline-block;
    }

    .image-row {
        width: 100%;
        white-space: nowrap;
        overflow: hidden;
    }

    .image-row img {
        position: relative;
        display: inline-block;
    }

    .arrow {
        display: inline-flex;
        position: absolute;
        top: 70%;
        cursor: pointer;
        color: black;
        background-image: radial-gradient(circle at 50% 50%, rgb(208, 232, 229) 0%, rgba(208, 232, 229, 0.72) 50%, rgba(0, 0, 0, 0) 100%);
        padding: 0.15rem;
        border-radius: 1rem;
        z-index: 1;
    }

    .arrow-right {
        right: 10px;
        transform: scale(2) translateX(-100%);
    }

    .arrow-left {
        left: 10px;
        transform: scale(2) translateX(200%);
    }
}