/* ------------------------------------------------------------------------------------------------------------------------------------------------------------------- */
/* ------------------------------------------------------------------------------------------------------------------------------------------------------------------- */
/* --------------------------------------------------------------------- CSS for Desktop Devices --------------------------------------------------------------------- */
/* ------------------------------------------------------------------------------------------------------------------------------------------------------------------- */
/* ------------------------------------------------------------------------------------------------------------------------------------------------------------------- */

@media only screen and (min-width: 769px) {

    .index-page-content-wrapper {
        background-color: #ffffff;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        overflow: hidden;
        margin-top: 0px;
        width: 100%;
        /*height: calc(100vh - 260px);*/
        padding-bottom: 0px;
    }

        .index-page-search-container {
            position: fixed;
            top: 0px;
            display: flex;
            width: 100%;
            height: 100px;
            justify-content: center;
            align-items: center;
            background-color: #e9f2e7;
            border-bottom: 1px solid purple;
            z-index: 1000;
        }

            .index-page-search-input-container {
                display: flex;
                width: 25%;
                min-width: 300px;
                max-width: 480px;
                height: 40px;
                border: 0.5px solid black;
                border-radius: 25px;
                padding-left: 20px;
                padding-right: 0px;
                justify-content: space-between;
                background-color: white;
            }

                .index-page-search-input {
                    border-top: none;
                    border-left: none;
                    border-right: 0.5px solid black;
                    border-bottom: none;
                    border-radius: 0px;
                    width: 50%;
                    margin: 0px;
                    padding: 0px 10px 0px 0px;
                }

                .index-page-search-input:focus {
                    outline: none;
                }

                .index-page-search-input::placeholder {
                    color: lightslategray;
                }

                .index-page-search-select {
                    appearance: none;
                    -moz-appearance: none;
                    -webkit-appearance: none;
                    width: 50%;
                    border: none;
                    border-radius: 0px;
                    margin: 0px;
                    padding: 0px 10px 0px 10px;
                    color: lightslategray;
                    background-color: white;
                    white-space: nowrap;
                    overflow: hidden;
                    text-overflow: ellipsis !important;
                }

                .index-page-search-select:hover {
                    cursor: pointer;
                }

                .index-page-search-select:focus {
                    outline: none;
                }

                .index-page-search-button {
                    border: none;
                    min-width: 60px;
                    max-width: 60px;
                    min-height: -webkit-fill-available;
                    max-height: -webkit-fill-available;
                    background-color: white;
                    background-image: url(/images/tiles/tile_320_magnifier_transparent.png);
                    background-size: contain;
                    background-position: center;
                    background-repeat: no-repeat;
                    border-top-right-radius: 25px;
                    border-bottom-right-radius: 25px;
                }

                .index-page-search-button:hover {
                    cursor: pointer;
                    background-color: lightgray;
                }

        .index-page-content-container {
            display: flex;
            flex-direction: column;
            max-width: unset;
            width: 100%;
            /*height: 100%;
            height: 80%;
            min-height: 684px;
            max-height: 80%; */
            align-content: center;
            align-items: center;
            overflow: scroll;
        }

            .index-page-content {
                min-height: calc(100vh - 100px);
                width: 100%;
                display: flex;
                flex-direction: column;
                justify-content: space-evenly;
                align-items: center;
                margin-top: 100px;
            }

                .index-subcontainer {
                    display: flex;
                    justify-content: center;
                }

                    .index-page-description-text-container {
                        max-width: 100%;
                        margin: 25px 25px;
                        padding: 25px 25px;
                    }

                    .index-page-description-text-container-border-upper {
                        background-image: radial-gradient(circle at 100% 100%, transparent -1px, #942192 1px, #942192 1px, transparent 1px), linear-gradient(to right, #942192 50%, #ffffff 50%), radial-gradient(circle at 0% 100%, transparent -1px, #ffffff -1px, #ffffff 1px, transparent 1px), linear-gradient(to bottom, #ffffff 50%, #f0e7f2 50%), radial-gradient(circle at 0% 0%, transparent -1px, #f0e7f2 -1px, #f0e7f2 1px, transparent 1px), linear-gradient(to left, #f0e7f2 50%, #ffffff 50%), radial-gradient(circle at 100% 0%, transparent -1px, #ffffff -1px, #ffffff 1px, transparent 1px), linear-gradient(to top, #ffffff 50%, #942192 50%);
                        background-size: 1px 1px, calc(100% - 2px) 2px, 1px 1px, 2px calc(100% - 2px);
                        background-position: top left,top center,top right,center right, bottom right,bottom center,bottom left,center left;
                        background-repeat: no-repeat;
                    }

                    .index-page-description-text-container-border-lower {
                        background-image: radial-gradient(circle at 100% 100%, transparent -1px, #942192 1px, #942192 1px, transparent 1px), linear-gradient(to right, #942192 50%, #ffffff 50%), radial-gradient(circle at 0% 100%, transparent -1px, #ffffff -1px, #ffffff 1px, transparent 1px), linear-gradient(to bottom, #ffffff 50%, #333333 50%), radial-gradient(circle at 0% 0%, transparent -1px, #333333 -1px, #333333 1px, transparent 1px), linear-gradient(to left, #333333 50%, #ffffff 50%), radial-gradient(circle at 100% 0%, transparent -1px, #ffffff -1px, #ffffff 1px, transparent 1px), linear-gradient(to top, #ffffff 50%, #942192 50%);
                        background-size: 1px 1px, calc(100% - 2px) 2px, 1px 1px, 2px calc(100% - 2px);
                        background-position: top left,top center,top right,center right, bottom right,bottom center,bottom left,center left;
                        background-repeat: no-repeat;
                    }

                        .index-page-description-text {
                            max-width: 100%;
                            text-align: center;
                            line-height: 2;
                            font-family: 'IndieFlower';
                            font-size: larger;
                            white-space: nowrap;
                            overflow: hidden;
                            text-overflow: ellipsis !important;
                        }

                        .index-page-description-full-text {
                            display: none;
                            visibility: hidden;
                        }

                    .index-page-login-wrapper {
                        display: flex;
                        width: 25%;
                        min-width: 480px;
                        /* min-height: calc(100% - 200px);
                        max-height: calc(100% - 200px); */
                    }

                        .index-page-login-container {
                            display: flex;
                            flex-direction: column;
                            align-self: center;
                            justify-content: center;
                            width: 100%;
                            height: 500px;
                            margin: 25px 0px;
                            background-color: #f0e7f2;
                        }

                            .index-page-login-logo-container {
                                display: flex;
                                justify-content: center;
                            }

                    .index-page-description-picture-wrapper {
                        display: flex;
                        justify-content: center;
                        align-items: center;
                        max-width: 480px;
                        min-width: 480px;
                        /* min-height: calc(100% - 200px);
                        max-height: calc(100% - 200px);
                        background-image: url(/images/descriptions/description-white-transparent_1024px.png);
                        background-position: center;
                        background-repeat: no-repeat;
                        background-size: contain; */
                    }

                    .index-subcontainer-picture-wrapper {
                        background-color: #ffffff;
                    }

                        .index-page-description-picture-container {
                            width: 100%;
                            height: 90%;
                            aspect-ratio: 32/27 !important;
                            background-image: url(/images/descriptions/description_blank_1024px.png);
                            background-position: center;
                            background-repeat: no-repeat;
                            background-size: contain;
                        }

                            .index-page-description-picture {
                                object-fit: contain;
                                width: 100%;
                                height: 100%;
                            }
}

/* ------------------------------------------------------------------------------------------------------------------------------------------------------------------- */
/* ------------------------------------------------------------------------------------------------------------------------------------------------------------------- */
/* --------------------------------------------------------------------- CSS for Desktop Devices --------------------------------------------------------------------- */
/* ------------------------------------------------------------------------------------------------------------------------------------------------------------------- */
/* ------------------------------------------------------------------------------------------------------------------------------------------------------------------- */

@media only screen and (min-width: 996px) {

    .index-page-description-text {
        font-size: large;
    }
}

/* ------------------------------------------------------------------------------------------------------------------------------------------------------------------- */
/* ------------------------------------------------------------------------------------------------------------------------------------------------------------------- */
/* --------------------------------------------------------------------- CSS for Desktop Devices --------------------------------------------------------------------- */
/* ------------------------------------------------------------------------------------------------------------------------------------------------------------------- */
/* ------------------------------------------------------------------------------------------------------------------------------------------------------------------- */

@media only screen and (min-width: 1200px) {

    .index-page-description-text {
        font-size: x-large;
    }
}

/* ------------------------------------------------------------------------------------------------------------------------------------------------------------------- */
/* ------------------------------------------------------------------------------------------------------------------------------------------------------------------- */
/* --------------------------------------------------------------------- CSS for Desktop Devices --------------------------------------------------------------------- */
/* ------------------------------------------------------------------------------------------------------------------------------------------------------------------- */
/* ------------------------------------------------------------------------------------------------------------------------------------------------------------------- */

@media only screen and (min-width: 1600px) {

    .index-page-description-text {
        font-size: xx-large;
    }
}

/* ------------------------------------------------------------------------------------------------------------------------------------------------------------------- */
/* ------------------------------------------------------------------------------------------------------------------------------------------------------------------- */
/* --------------------------------------------------------------------- CSS for Mobile Devices ---------------------------------------------------------------------- */
/* ------------------------------------------------------------------------------------------------------------------------------------------------------------------- */
/* ------------------------------------------------------------------------------------------------------------------------------------------------------------------- */

@media only screen and (max-width: 768px) and (orientation: portrait) {
    
    .index-page-content-wrapper {
        background-color: #ffffff;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        margin-top: 0px;
        width: 100%;
        padding-bottom: 0px;
    }

        .index-page-search-container {
            position: fixed;
            top: 0px;
            display: flex;
            width: 100%;
            min-height: 70px;
            max-height: 70px;
            justify-content: center;
            align-items: center;
            background-color: #e9f2e7;
            border-bottom: 1px solid purple;
            z-index: 1000;
        }

            .index-page-search-input-container {
                display: flex;
                width: 60%;
                height: 40px;
                border: 0.5px solid black;
                border-radius: 25px;
                padding-left: 20px;
                padding-right: 0px;
                justify-content: space-between;
                background-color: white;
            }

                .index-page-search-input {
                    border-top: none;
                    border-left: none;
                    border-right: 0.5px solid black;
                    border-bottom: none;
                    border-radius: 0px;
                    width: 50%;
                    margin: 0px;
                    padding: 0px 10px 0px 0px;
                }

                .index-page-search-input:focus {
                    outline: none;
                }

                .index-page-search-select {
                    appearance: none;
                    -moz-appearance: none;
                    -webkit-appearance: none;
                    width: 50%;
                    border: none;
                    border-radius: 0px;
                    margin: 0px;
                    padding: 0px 10px 0px 10px;
                    color: lightslategray;
                    background-color: white;
                    white-space: nowrap;
                    overflow: hidden;
                    text-overflow: ellipsis !important;
                }

                .index-page-search-select:hover {
                    cursor: pointer;
                }

                .index-page-search-select:focus {
                    outline: none;
                }

                .index-page-search-button {
                    border: none;
                    min-width: 60px;
                    max-width: 60px;
                    min-height: 40px;
                    max-height: 40px;
                    padding: 0px;
                    margin: 0px;
                    background-color: white;
                    background-image: url(/images/tiles/tile_320_magnifier_transparent.png);
                    background-size: contain;
                    background-position: center;
                    background-repeat: no-repeat;
                    border-top-right-radius: 25px;
                    border-bottom-right-radius: 25px;
                }

                .index-page-search-button:hover {
                    cursor: pointer;
                    background-color: lightgray;
                }

        .index-page-content-container {
            display: flex;
            flex-direction: column;
            width: 100%;
            align-content: center;
            align-items: center;
        }

            .index-page-content {
                width: 100%;
                margin-top: 71px;
                display: flex;
                flex-direction: column;
                align-items: center;
            }

                .index-subcontainer {
                    display: flex;
                    justify-content: center;
                    align-items: center;
                    width: 100%;
                    min-height: calc(100vh - 71px);
                }

                .subcontainerhelper {
                    min-height: calc(100svh - 71px);
                }

/*                 @supports (background: -webkit-named-image(i)){
                    .subcontainerhelper {
                        min-height: -webkit-fill-available;
                    }
                } */

                    .index-page-description-text-container {
                        max-width: 100%;
                        height: fit-content;
                        margin: 25px 25px;
                        padding: 25px 25px;
                    }

                    .index-page-description-text-container-border-upper {
                        background-image: radial-gradient(circle at 100% 100%, transparent -1px, #942192 1px, #942192 1px, transparent 1px), linear-gradient(to right, #942192 50%, #ffffff 50%), radial-gradient(circle at 0% 100%, transparent -1px, #ffffff -1px, #ffffff 1px, transparent 1px), linear-gradient(to bottom, #ffffff 50%, #f0e7f2 50%), radial-gradient(circle at 0% 0%, transparent -1px, #f0e7f2 -1px, #f0e7f2 1px, transparent 1px), linear-gradient(to left, #f0e7f2 50%, #ffffff 50%), radial-gradient(circle at 100% 0%, transparent -1px, #ffffff -1px, #ffffff 1px, transparent 1px), linear-gradient(to top, #ffffff 50%, #942192 50%);
                        background-size: 1px 1px, calc(100% - 2px) 2px, 1px 1px, 2px calc(100% - 2px);
                        background-position: top left,top center,top right,center right, bottom right,bottom center,bottom left,center left;
                        background-repeat: no-repeat;
                    }

                    .index-page-description-text-container-border-lower {
                        background-image: radial-gradient(circle at 100% 100%, transparent -1px, #942192 1px, #942192 1px, transparent 1px), linear-gradient(to right, #942192 50%, #ffffff 50%), radial-gradient(circle at 0% 100%, transparent -1px, #ffffff -1px, #ffffff 1px, transparent 1px), linear-gradient(to bottom, #ffffff 50%, #333333 50%), radial-gradient(circle at 0% 0%, transparent -1px, #333333 -1px, #333333 1px, transparent 1px), linear-gradient(to left, #333333 50%, #ffffff 50%), radial-gradient(circle at 100% 0%, transparent -1px, #ffffff -1px, #ffffff 1px, transparent 1px), linear-gradient(to top, #ffffff 50%, #942192 50%);
                        background-size: 1px 1px, calc(100% - 2px) 2px, 1px 1px, 2px calc(100% - 2px);
                        background-position: top left,top center,top right,center right, bottom right,bottom center,bottom left,center left;
                        background-repeat: no-repeat;
                    }

                        .index-page-description-text {
                            display: none;
                            visibility: hidden;
                        }

                        .index-page-description-full-text {
                            max-width: 100%;
                            padding: 0px 15px;
                            text-align: center;
                            line-height: 2;
                            font-family: 'IndieFlower';
                            font-size: large;
                        }

                    .index-page-login-wrapper {
                        display: flex;
                        justify-content: center;
                        width: 100%;
                        height: calc(100vh - 71px);
                        background-color: #f0e7f2;
                    }

                        .index-page-login-container {
                            display: flex;
                            flex-direction: column;
                            align-self: center;
                            justify-content: center;
                            width: 100%;
                            max-width: 480px;
                            padding: 20px;
                        }

                            .index-page-login-logo-container {
                                display: flex;
                                justify-content: center;
                            }

                    .index-page-description-picture-wrapper {
                        display: flex;
                        justify-content: center;
                        align-items: center;
                        width: 80% !important;
                        padding-bottom: 40px;
                    }

                    .index-subcontainer-picture-wrapper {
                        background-color: #e9f2e7;
                    }

                        .index-page-description-picture-container {
                            width: 100%;
                            height: 90%;
                            aspect-ratio: 32/27 !important;
                            background-image: url(/images/descriptions/description_blank_1024px.png);
                            background-position: center;
                            background-repeat: no-repeat;
                            background-size: contain;
                        }

                            .index-page-description-picture {
                                object-fit: contain;
                                width: 100%;
                                height: 100%;
                            }
}

/* ------------------------------------------------------------------------------------------------------------------------------------------------------------------- */
/* ------------------------------------------------------------------------------------------------------------------------------------------------------------------- */
/* --------------------------------------------------------------------- CSS for Mobile Devices ---------------------------------------------------------------------- */
/* ------------------------------------------------------------------------------------------------------------------------------------------------------------------- */
/* ------------------------------------------------------------------------------------------------------------------------------------------------------------------- */

@media only screen and (max-width: 768px) and (orientation: landscape) {
    
    .index-page-content-wrapper {
        background-color: #ffffff;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        margin-top: 0px;
        width: 100%;
        padding-bottom: 0px;
    }

        .index-page-search-container {
            display: flex;
            width: 100%;
            min-height: 70px;
            max-height: 70px;
            justify-content: center;
            align-items: center;
            /*background-color: #e9f2e7;*/
            background: rgb(255,255,255);
            background: linear-gradient(90deg, rgba(255,255,255,1) 0%, rgba(233,242,231,1) 50%, rgba(255,255,255,1) 100%);
            border-bottom: 1px solid purple;
            z-index: 1000;
        }

            .index-page-search-input-container {
                display: flex;
                width: 60%;
                height: 40px;
                border: 0.5px solid black;
                border-radius: 25px;
                padding-left: 20px;
                padding-right: 0px;
                justify-content: space-between;
                background-color: white;
            }

                .index-page-search-input {
                    border-top: none;
                    border-left: none;
                    border-right: 0.5px solid black;
                    border-bottom: none;
                    border-radius: 0px;
                    width: 50%;
                    margin: 0px;
                    padding: 0px 10px 0px 0px;
                }

                .index-page-search-input:focus {
                    outline: none;
                }

                .index-page-search-select {
                    appearance: none;
                    -moz-appearance: none;
                    -webkit-appearance: none;
                    width: 50%;
                    border: none;
                    border-radius: 0px;
                    margin: 0px;
                    padding: 0px 10px 0px 10px;
                    color: lightslategray;
                    background-color: white;
                    white-space: nowrap;
                    overflow: hidden;
                    text-overflow: ellipsis !important;
                }

                .index-page-search-select:hover {
                    cursor: pointer;
                }

                .index-page-search-select:focus {
                    outline: none;
                }

                .index-page-search-button {
                    border: none;
                    min-width: 60px;
                    max-width: 60px;
                    min-height: 40px;
                    max-height: 40px;
                    padding: 0px;
                    margin: 0px;
                    background-color: white;
                    background-image: url(/images/tiles/tile_320_magnifier_transparent.png);
                    background-size: contain;
                    background-position: center;
                    background-repeat: no-repeat;
                    border-top-right-radius: 25px;
                    border-bottom-right-radius: 25px;
                }

                .index-page-search-button:hover {
                    cursor: pointer;
                    background-color: lightgray;
                }

        .index-page-content-container {
            display: flex;
            flex-direction: column;
            width: 100%;
            align-content: center;
            align-items: center;
        }

            .index-page-content {
                width: 100%;
                display: flex;
                flex-direction: column;
                align-items: center;
            }

            .index-subcontainer {
                display: flex;
                justify-content: center;
                align-items: center;
                width: 100%;
                min-height: 100vh;
            }

/*             .subcontainerhelper {
                min-height: calc(100vh - 71px);
            } */

                .index-page-description-text-container {
                    max-width: 100%;
                    margin: 25px 25px;
                    padding: 25px 25px;
                }

                .index-page-description-text-container-border-upper {
                    background-image: radial-gradient(circle at 100% 100%, transparent -1px, #942192 1px, #942192 1px, transparent 1px), linear-gradient(to right, #942192 50%, #ffffff 50%), radial-gradient(circle at 0% 100%, transparent -1px, #ffffff -1px, #ffffff 1px, transparent 1px), linear-gradient(to bottom, #ffffff 50%, #f0e7f2 50%), radial-gradient(circle at 0% 0%, transparent -1px, #f0e7f2 -1px, #f0e7f2 1px, transparent 1px), linear-gradient(to left, #f0e7f2 50%, #ffffff 50%), radial-gradient(circle at 100% 0%, transparent -1px, #ffffff -1px, #ffffff 1px, transparent 1px), linear-gradient(to top, #ffffff 50%, #942192 50%);
                    background-size: 1px 1px, calc(100% - 2px) 2px, 1px 1px, 2px calc(100% - 2px);
                    background-position: top left,top center,top right,center right, bottom right,bottom center,bottom left,center left;
                    background-repeat: no-repeat;
                }

                .index-page-description-text-container-border-lower {
                    background-image: radial-gradient(circle at 100% 100%, transparent -1px, #942192 1px, #942192 1px, transparent 1px), linear-gradient(to right, #942192 50%, #ffffff 50%), radial-gradient(circle at 0% 100%, transparent -1px, #ffffff -1px, #ffffff 1px, transparent 1px), linear-gradient(to bottom, #ffffff 50%, #333333 50%), radial-gradient(circle at 0% 0%, transparent -1px, #333333 -1px, #333333 1px, transparent 1px), linear-gradient(to left, #333333 50%, #ffffff 50%), radial-gradient(circle at 100% 0%, transparent -1px, #ffffff -1px, #ffffff 1px, transparent 1px), linear-gradient(to top, #ffffff 50%, #942192 50%);
                    background-size: 1px 1px, calc(100% - 2px) 2px, 1px 1px, 2px calc(100% - 2px);
                    background-position: top left,top center,top right,center right, bottom right,bottom center,bottom left,center left;
                    background-repeat: no-repeat;
                }

                    .index-page-description-text {
                        display: none;
                        visibility: hidden;
                    }

                    .index-page-description-full-text {
                        max-width: 100%;
                        padding: 0px 15px;
                        text-align: center;
                        line-height: 2;
                        font-family: 'IndieFlower';
                        font-size: large;
                    }

                .index-page-login-wrapper {
                    display: flex;
                    justify-content: center;
                    width: 100%;
                    min-height: 100vh;
                    /*background-color: #f0e7f2;*/
                    background: rgb(255,255,255);
                    background: linear-gradient(90deg, rgba(255,255,255,1) 0%, rgba(240,231,242,1) 50%, rgba(255,255,255,1) 100%);
                }

                    .index-page-login-container {
                        display: flex;
                        flex-direction: column;
                        align-self: center;
                        justify-content: center;
                        width: 100%;
                        max-width: 480px;
                        padding: 50px 0px;
                    }

                        .index-page-login-logo-container {
                            display: flex;
                            justify-content: center;
                        }

                .index-page-description-picture-wrapper {
                    display: flex;
                    justify-content: center;
                    align-items: center;
                    height: 90vh;
                }

                .index-subcontainer-picture-wrapper {
                    /*background-color: #e9f2e7;*/
                    background: rgb(255,255,255);
                    background: linear-gradient(90deg, rgba(255,255,255,1) 0%, rgba(233,242,231,1) 50%, rgba(255,255,255,1) 100%);
                }

                    .index-page-description-picture-container {
                        width: 100%;
                        height: 90%;
                        aspect-ratio: 32/27 !important;
                        background-image: url(/images/descriptions/description_blank_1024px.png);
                        background-position: center;
                        background-repeat: no-repeat;
                        background-size: contain;
                    }

                        .index-page-description-picture {
                            object-fit: contain;
                            width: 100%;
                            height: 100%;
                        }
}