/*#region general */

html {
    scroll-behavior: smooth;
}

@-webkit-viewport {
    width: device-width;
}

@-moz-viewport {
    width: device-width;
}

@-ms-viewport {
    width: device-width;
}

@-o-viewport {
    width: device-width;
}

body {
    margin:0px;
    padding:0px;
}

.page-container {
    display:flex;
    flex-direction:column;
    margin:0px;
    padding:0px 0px 90px 0px;
    width:100%;
    min-width:100%;
    min-height:800px;
}

.muted {
    opacity: 0.5;
    font-size: 0.9em;
}

/*#endregion */

/*#region Typography */

body, h1, h2, h3, h4, h5, p, li, span, label, ul, li, .btn {
    font-family: "Figtree", sans-serif;
    font-optical-sizing: auto;
    font-weight: 400;
    line-height: 160%;
    font-size: 16px;
    color: var(--darkgrey);
    margin: 0px;
}

@media (max-width: 799px) {
    body, h1, h2, h3, h4, h5, p, li, span, label, ul, li, .btn {
        font-size: 15px;
    }
}

h1 {
    font-family: "Poppins", sans-serif;
    font-size: 2.6em;
    font-weight: 800;
}

h2 {
    font-family: "Poppins", sans-serif;
    font-size: 2.0em;
    line-height: 140%;
    font-weight: 400;
}

h3 {
    font-family: "Poppins", sans-serif;
    font-size: 1.6em;
    line-height: 140%;
    font-weight: 600;
    margin: 20px 0px 10px 0px;
}

a {
    color: var(--darkgrey);
    text-decoration: none;
}

    a:hover {
        color: var(--purple);
        text-decoration: none;
    }

    a:focus, a:active {
        color: var(--darkgrey);
        outline: none;
        text-decoration: none;
    }

:root {
    --larger: 1.15em;
}

.btn-green {
    background:var(--green);
    color:var(--white);
    text-transform:uppercase;
    padding:10px 40px;
    font-weight:600;
    border-radius:10px;
    cursor:pointer;
}

.btn-red{
    background: var(--red);
    color: var(--white);
    text-transform: uppercase;
    padding: 10px 40px;
    font-weight: 600;
    border-radius: 10px;
    cursor: pointer;
}

.btn-green:hover {
    background: var(--greenoff);
    color: var(--white);
}

.btn-purple {
    background: var(--purple);
    color: var(--white);
    text-transform: uppercase;
    padding: 10px 40px;
    font-weight: 600;
    border-radius: 10px;
    cursor: pointer;
}

    .btn-purple:hover {
        background: var(--purpleoff);
        color: var(--white);
    }

.form.simplified .btn-green {
    padding: 14px 40px;
    font-size:var(--larger);
    width: calc(100% - 80px);
    text-align:center;
    text-transform:capitalize;
}

.navigation .btn-green{
    padding:10px 20px;
}

/*#endregion */

/*#region Colors */
:root {
    --black: rgba(21,22,23,1);
    --darkgrey: rgba(54,55,56,1);
    --purple: rgba(35,2,46,1);
    --purpleoff: rgba(65,22,76,1);
    --green: rgba(50,222,138,1);
    --greenoff: rgba(40,180,115,1);
    --pastelgreen: rgba(188,255,222,1);
    --pastelorange: rgba(255,233,216,1);
    --pastelblue: rgba(233,241,247,1);
    --white: rgba(255,255,255,1);
    --offwhite: rgba(247,248,249,1);
    --red: rgba(250,30,30,1);
    --blue:rgba(50,50,240,1);
}

/*#endregion */

/*#region Grid*/

:root {
    --page-width: 1200px;
}

/* #endregion */

/* #region Header */
.header-container {
    display:flex;
    position:relative;
    flex-direction:column;
    justify-content:flex-start;
    align-items:center;
    margin:0px;
    padding:0px;
    width:100%;
    background:var(--purple);
}

    .header-container .content {
        display: flex;
        position: relative;
        flex-direction: row;
        justify-content: space-between;
        align-items: flex-start;
        margin: 0px;
        padding: 20px 10px;
        width: 100%;
        max-width:var(--page-width);
    }

        .header-container .content .title {
            display: flex;
            position: relative;
            flex-direction: row;
            justify-content: space-between;
            align-items: flex-end;
            margin: 0px;
            padding: 0px;
            height:60px;
        }

            .header-container .content .title p {
                color:var(--white);
                margin:0px;
                padding:0px;
                font-weight:700;
            }

    .header-container .brand, .header-container .brand a {
        display: flex;
        width: 160px;
    }


/* #endregion */

/* #region Menu */
.menu-container {
    display: flex;
    position: relative;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    margin: 0px;
    padding: 0px;
    width: 100%;
    background: var(--pastelblue);
}

    .menu-container .content {
        display: flex;
        position: relative;
        flex-direction: column;
        justify-content: flex-start;
        align-items: flex-start;
        margin: 0px;
        padding: 0px 10px;
        width: 100%;
        max-width: var(--page-width);
    }

        .menu-container .content .menu {
            display: flex;
            position: relative;
            list-style-type: none;  
            flex-direction: row;
            justify-content: flex-start;
            align-items: flex-start;
            margin: 0px;
            padding: 0px;
            width: 100%;
            flex-wrap: nowrap;
            column-gap:10px;
        }

            .menu-container .content .menu > li {
                display: flex;
                position: relative;
                flex-direction: column;
                justify-content: flex-start;
                align-items: flex-start;
                margin: 0px;
                padding: 20px 0px;
                width: calc(15% - 10px);
                text-transform: uppercase;
                font-weight:700;
                border-right:1px solid #FFF;
            }

            .menu-container .content .menu li:last-of-type {
                border-right: 0px;
            }

                .menu-container .content .menu li.dropdown {
                    cursor:pointer;
                }
                    .menu-container .content .menu li.dropdown::after {
                        content: "\25BC";
                        font-size: 0.8em;
                        margin-left: 8px;
                        position: absolute;
                        right: 10px;
                        color: var(--darkgrey);
                        pointer-events: none;
                        width: 20px;
                        height: 20px;
                        transform: rotate(0deg);
                        right: 10px;
                        top:20px;
                        transition: all 0.05s ease;
                    }


                    .menu-container .content .menu li.dropdown .sub-menu {
                        display: flex;
                        position: absolute;
                        z-index:99999;
                        top: 66px;
                        right: 0px;
                        list-style-type: none;
                        flex-direction: column;
                        justify-content: flex-start;
                        align-items: flex-start;
                        margin: 0px;
                        padding: 10px;
                        width: calc(100% - 10px);
                        flex-wrap: nowrap;
                        row-gap: 10px;
                        background: var(--pastelblue);
                        visibility: hidden;
                        opacity: 0;
                        transition: opacity 0.15s ease, visibility 0.15s ease;
                    }

                    .menu-container .content .menu li.dropdown.active .sub-menu {
                        visibility: visible;
                        opacity: 1;
                    }

                    .menu-container .content .menu li.dropdown .sub-menu li {
                        display: flex;
                        position: relative;
                        flex-direction: column;
                        justify-content: flex-start;
                        align-items: flex-start;
                        margin: 0px;
                        padding: 0px;
                        width: 100%;
                        font-weight: 400;
                        font-size:var(--larger);
                    }

                            .menu-container .content .menu li.dropdown .sub-menu li a {
                                text-transform: capitalize;
                                cursor: pointer;
                            }

                .menu-container .content .menu li a {
                }
/* #endregion */

/* #region Breadcrumb */
.breadcrumb-container {
    display: flex;
    position: relative;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    margin: 0px;
    padding: 0px;
    width: 100%;
    background: var(--offwhite);
}

    .breadcrumb-container .content {
        display: flex;
        position: relative;
        flex-direction: column;
        justify-content: flex-start;
        align-items: flex-start;
        margin: 0px;
        padding: 20px 10px;
        width: 100%;
        max-width: var(--page-width);
    }

        .breadcrumb-container .content ul {
            display: flex;
            position: relative;
            list-style-type: none;
            flex-direction: row;
            justify-content: flex-start;
            align-items: flex-start;
            margin: 0px;
            padding: 0px;
            width: 100%;
            flex-wrap: nowrap;
            gap: 20px;
        }

            .breadcrumb-container .content ul li {
                display: flex;
                position: relative;
                flex-direction: row;
                justify-content: flex-start;
                align-items: flex-start;
                margin: 0px;
                padding: 0px;
            }

                .breadcrumb-container .content ul li:not(:last-child)::after {
                    content: ".";
                    position:absolute;
                    right:-12px;
                    color: var(--darkgrey);
                }

                .breadcrumb-container .content ul li a {
                    
                }
/* #endregion */

/* #region Control Section */

.control-container {
    display: flex;
    position: relative;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    margin: 0px;
    padding: 0px;
    width: 100%;
    background: var(--white);
}

    .control-container .content {
        display: flex;
        position: relative;
        flex-direction: column;
        justify-content: flex-start;
        align-items: flex-start;
        margin: 0px;
        padding: 20px 10px;
        width: 100%;
        max-width: var(--page-width);
    }

        .control-container .content .intro {
            display: flex;
            position: relative;
            flex-direction: column;
            justify-content: flex-start;
            align-items: flex-start;
            margin: 0px;
            padding: 10px 0px 30px 0px;
            width: 100%;
        }

            .control-container .content .intro h1 {

            }

            .control-container .content .intro p {
                font-size:1.2rem;
            }

            .control-container .content .intro a {
                color:var(--blue);
            }

        .control-container .content .title {
            display: flex;
            position: relative;
            flex-direction: row;
            justify-content: space-between;
            align-items: flex-end;
            margin: 0px;
            padding: 10px 0px;
            width: 100%;
        }

            .control-container .content .title h2 {
            }

            .control-container .content .title .actions {
                display: flex;
                position: relative;
                flex-direction: row;
                justify-content: flex-start;
                align-items: flex-start;
                margin: 0px;
                padding:0px;
                gap:10px;
            }

            .control-container .content .title .select {
                display: flex;
                position: relative;
                flex-direction: column;
                justify-content: flex-start;
                align-items: flex-start;
                margin: 0px;
                padding: 15px 60px 15px 15px;
                background: var(--pastelblue);
                border: 1px solid var(--pastelblue);
                cursor:pointer;
            }

                .control-container .content .title .select::after {
                    content: "\25BC";
                    font-size: 1em;
                    position: absolute;
                    color: var(--darkgrey);
                    pointer-events: none;
                    width: 20px;
                    height: 20px;
                    right: 5px;
                    top: 15px;
                }

                .control-container .content .title .select label {
                }

                    .control-container .content .title .select label b {
                    }

                    .control-container .content .title .select label span {
                    }

                .control-container .content .title .select ul {
                    display: flex;
                    position: absolute;
                    list-style-type: none;
                    flex-direction: column;
                    justify-content: flex-start;
                    align-items: flex-start;
                    margin: 0px;
                    padding: 0px;
                    width: 100%;
                    flex-wrap: nowrap;
                    top: 56px;
                    right: 0px;
                    background: var(--white);
                    z-index: 99999;
                    border: 1px solid var(--pastelblue);
                    opacity:0;
                    visibility:hidden;
                }

                .control-container .content .title .select.active ul {
                    opacity: 1;
                    visibility: visible;
                }


                    .control-container .content .title .select ul li {
                        display: flex;
                        position: relative;
                        flex-direction: column;
                        justify-content: flex-start;
                        align-items: flex-start;
                        margin: 0px;
                        padding: 10px 15px;
                        width: 100%;
                        font-size:0.95em;
                        cursor:pointer;
                    }


#profilesTable {
    display: flex;
    position: relative;
    flex-direction: column;
    width: 100%;
    margin:0px;
    padding:0px;
}

        .control-container .content .table {
            display: flex;
            position: relative;
            flex-direction: column;
            justify-content: flex-start;
            align-items: flex-start;
            margin: 0px 0px 30px 0px;
            padding: 0px;
            width: 100%;
            border:1px solid var(--pastelorange)
        }

            .control-container .content .table .header {
                display: flex;
                position: relative;
                list-style-type: none;
                flex-direction: row;
                justify-content: space-between;
                align-items: flex-end;
                margin: 0px;
                padding: 0px;
                width: 100%;
                flex-wrap: nowrap;
                column-gap: 10px;
                background: var(--pastelorange);
            }

                .control-container .content .table .header li {
                    display: flex;
                    position: relative;
                    flex-direction: column;
                    justify-content: flex-start;
                    margin: 0px;
                    padding: 10px;
                    width: auto;
                    font-weight:700;
                }

                    .control-container .content .table .header li.small {
                        width: 140px;
                        align-items: flex-start;
                    }

                    .control-container .content .table .header li.medium {
                        width: 200px;
                        align-items: flex-start;
                    }

                    .control-container .content .table .header li.large {
                        width: 360px;
                        align-items: flex-start;
                    }

                    .control-container .content .table .header li.tiny {
                        width: 60px;
                        align-items: center;
                    }

                .control-container .content .table .header > li:first-of-type, .control-container .content .table .header > li:first-of-type li:first-of-type {
                    flex-grow: 1;
                }

                    .control-container .content .table .header li.half {
                        width: 50%;
                        flex-grow:1;
                    }

                        .control-container .content .table .header li.half label {
                            text-align:center;
                            margin:10px;
                            font-weight:700;
                        }

                    .control-container .content .table .header li ul {
                        display: flex;
                        position: relative;
                        list-style-type: none;
                        flex-direction: row;
                        justify-content: flex-start;
                        align-items: flex-start;
                        margin: 0px;
                        padding: 0px;
                        width: 100%;
                        flex-wrap: nowrap;
                        column-gap: 10px;
                    }

                        .control-container .content .table .header li ul li {
                            display: flex;
                            position: relative;
                            flex-direction: column;
                            justify-content: flex-start;
                            margin: 0px;
                            padding: 0px;
                            width: auto;
                            font-weight: 700;
                        }

                            .control-container .content .table .header li ul li.small {
                                width: 140px;
                                align-items: flex-start;
                            }

                            .control-container .content .table .header li ul li.medium {
                                width: 200px;
                                align-items: flex-start;
                            }

                            .control-container .content .table .header li ul li.large {
                                width: 360px;
                                align-items: flex-start;
                            }

                            .control-container .content .table .header li ul li.tiny {
                                width: 60px;
                                align-items: center;
                            }

            .control-container .content .table .content {
                display: flex;
                position: relative;
                list-style-type: none;
                flex-direction: row;
                justify-content: space-between;
                align-items: center;
                margin: 0px;
                padding: 0px;
                width: 100%;
                flex-wrap: nowrap;
                column-gap: 10px;
                background: var(--white);
            }

            .control-container .content .table .content.vertical {
                flex-direction: column;
                justify-content: flex-start;
                align-items: flex-start;
            }

                .control-container .content .table .content li {
                    display: flex;
                    position: relative;
                    flex-direction: column;
                    justify-content: flex-start;
                    margin: 0px;
                    padding: 10px;
                    width: auto;
                }

                .control-container .content .table .content.resource {
                    flex-direction: row;
                    justify-content: flex-start;
                    align-items: flex-start;
                }

                    .control-container .content .table .content.resource li {
                        display: flex;
                        position: relative;
                        flex-direction: column;
                        justify-content: flex-start;
                        margin: 0px;
                        padding: 10px;
                        flex: 0 0 calc(33.3% - 10px);
                    }

                    .control-container .content .table .content.resource li a {
                        display: flex;
                        position: relative;
                        flex-direction: column;
                        justify-content: space-between;
                        margin: 0px;
                        padding: 20px 10px;
                        width:100%;
                        height:100px;
                        background:var(--pastelblue);
                    }

                        .control-container .content .table .content.resource li a img {
                            top:10px;
                            left:10px;
                            width:40px;
                        }

                        .control-container .content .table .content.resource li a span {
                            font-weight:600;
                        }


                    .control-container .content .table .content li.small {
                        width: 140px;
                        align-items: flex-start;
                    }

                    .control-container .content .table .content li.medium {
                        width:200px;
                    }

                    .control-container .content .table .content li.large {
                        width: 360px;
                    }

                    .control-container .content .table .content li.tiny {
                        width: 60px;
                        align-items: center;
                    }

                        .control-container .content .table .content li.tiny span {
                            cursor:pointer;
                        }

                        .control-container .content .table .content li.tiny span.on {
                            display: flex;
                            margin: 0px;
                            padding: 0px;
                            width: 10px;
                            height: 10px;
                            border-radius: 50%;
                            background-color: var(--green);
                        }

                        .control-container .content .table .content li.tiny span.off {
                            display: flex;
                            margin: 0px;
                            padding: 0px;
                            width: 10px;
                            height: 10px;
                            border-radius: 50%;
                            background-color: #EAEAEA;
                        }


                    .control-container .content .table .content li.full {
                        display: flex;
                        position: relative;
                        flex-direction: row;
                        justify-content: space-between;
                        align-items:center;
                        margin: 0px;
                        padding: 10px;
                        width: calc(100% - 20px);
                    }

                .control-container .content .table .content:not(.resource) > li:first-of-type, .control-container .content .table .content > li:first-of-type li:first-of-type {
                    flex-grow: 1;
                }

                        .control-container .content .table .content li.tiny p {
                        }

                            .control-container .content .table .content li.tiny p b {
                            }

                    .control-container .content .table .content li input[type=number] {
                        width:calc(100% - 20px);
                        padding:10px;
                    }

                    .control-container .content .table .content li.tiny input[type=number] {
                        max-width:100%;
                    }


                .control-container .content .table .content li.half {
                    width: 50%;
                    flex-grow: 1;
                }

                .control-container .content .table .content li.half.padded {
                    min-height:30px;
                }

                        .control-container .content .table .content li.half ul {
                            display: flex;
                            position: relative;
                            list-style-type: none;
                            flex-direction: row;
                            justify-content: flex-start;
                            align-items: flex-start;
                            margin: 0px;
                            padding: 0px;
                            width: 100%;
                            flex-wrap: nowrap;
                            column-gap: 10px;
                        }

                            .control-container .content .table .content li.half ul li {
                                display: flex;
                                position: relative;
                                flex-direction: column;
                                justify-content: flex-start;
                                margin: 0px;
                                padding: 0px;
                                width: auto;
                            }

                                .control-container .content .table .content li.half ul li.small {
                                    width: 140px;
                                    align-items: flex-start;
                                }

                                .control-container .content .table .content li.half ul li.large {
                                    width: 360px;
                                    align-items: flex-start;
                                }

                                .control-container .content .table .content li.half ul li.tiny {
                                    width: 60px;
                                    align-items: center;
                                }

                            .control-container .content .table .content li.half ul li.tiny img {
                            }

        .control-container .content .action-button {
            display: flex;
            position: relative;
            flex-direction: row;
            justify-content: center;
            align-items: center;
            align-self: center;
            margin: 0px;
            padding: 30px 0px 30px 0px;
            gap: 10px;
        }

        .control-container .content .action-button-spread {
            display: flex;
            position: relative;
            flex-direction: row;
            justify-content: space-between;
            align-items: center;
            margin: 0px;
            padding: 30px 0px 30px 0px;
            width: 100%;
            gap: 10px;
        }

        .action > div > a, .action > a {
            background:var(--green);
            color:var(--white);
            padding:3px 8px;
            border-radius:4px;
        }

        .control-container form .form-message.success { 
            background:var(--green); 
            color:var(--white); 
            padding:12px 16px; 
            border-radius:6px; 
            margin-bottom:16px; 
            font-size:0.9rem;
        }

.control-container form .spinner {
    display: inline-block;
    width: 14px;
    height: 14px;
    border: 2px solid rgba(255,255,255,.4);
    border-top-color: #fff;
    border-radius: 50%;
    animation: spin .8s linear infinite;
    margin-right: 6px;
    vertical-align: middle;
}

@keyframes spin {
    to {
        transform: rotate(360deg);
    }
}

.mfa-setup {
    display:flex;
    flex-direction:column;
}

.mfa-setup > img {
    width:260px;
}



/* #endregion */

/*#region Validation*/
.validation-summary-errors ul {
    display: flex;
    list-style-type: none;
    margin: 0px;
    padding: 0px;
}

.validation-summary-errors ul li {
    display: flex;
    margin: 0px;
    padding: 0px;
    color:var(--red);
}

.field-validation-error {
    margin-top: 5px;
    color: var(--red);
}

span.text-danger, span.text-danger span {
    color: var(--red);
}

/*#endregion*/

/*#region Form */
form {
    display: flex;
    flex-direction:column;
    width: 100%;
}

.form {
    display: flex;
    position: relative;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    margin: 0px 0px 30px 0px;
    padding: 20px;
    width: calc(100% - 40px);
    column-gap: 10px;
    border: 1px solid var(--pastelblue);
}

.form.simplified {
    padding: 0px;
    border: 0px;
    max-width:480px;
    margin:20px 0px;
}

    .form.simplified.extended {
        max-width: 720px;
    }

    .form .form-group {
        display: flex;
        position: relative;
        flex-direction: row;
        justify-content: flex-start;
        align-items: flex-start;
        margin: 0px;
        padding: 0px;
        width: calc(100%);
        gap: 30px;
    }

    .form.simplified .form-group {
        margin: 10px 0px;
    }

        .form .form-group .item {
            display: flex;
            position: relative;
            flex-direction: column;
            justify-content: flex-start;
            align-items: flex-start;
            margin: 0px;
            padding: 0px;
            width: calc(33.3%);
        }

            .form .form-group .item.half {
                width: calc(50%);
            }

            .form .form-group .item.digit {
                width: calc(16.6%);
                font-size: 1.35em;
            }

            .form .form-group .item.full {
                width: calc(100%);
            }

            .form .form-group .item input, .form .form-group .item select, .form .form-group .item textarea {
                margin: 0px;
                padding: 16px;
                width: calc(100% - 33px);
            }

            .form .form-group .item.digit input {
                margin: 0px;
                padding: 12px 18px;
                width: calc(100% - 36px);
                text-align:center;
                font-weight:700;
            }

            .form.simplified .form-group .item input, .form.simplified .form-group .item select, .form.simplified .form-group .item textarea {
                border:2.5px solid var(--darkgrey);
                font-size:1.1em;
                border-radius:10px;
            }

            .form .form-group .item .validation {
            }

    .form .form-check-group {
        display: flex;
        position: relative;
        flex-direction: column;
        justify-content: flex-start;
        align-items: flex-start;
        margin: 0px;
        padding: 0px;
        width: 100%;
        column-gap: 10px;
    }

        .form .form-check-group .header {
            display: flex;
            position: relative;
            flex-direction: row;
            justify-content: space-between;
            align-items: center;
            margin: 0px;
            padding: 10px 0px;
            width: calc(100% - 10px);
            column-gap: 10px;
        }

            .form .form-check-group .header h3 {
            }

        .form .form-check-group .content {
            display: flex;
            position: relative;
            flex-direction: row;
            justify-content: flex-start;
            align-items: center;
            margin: 0px;
            padding: 20px 0px;
            width: calc(100% - 20px);
            column-gap: 10px;
            flex-wrap: wrap;
        }

            .form .form-check-group .content > div {
                width: calc(20% - 10px);
            }

            .form button {
                border:0;
                outline:none;
            }

/*#endregion */

/*#region Checkbox */

.checkbox-wrapper {
    display: flex;
    align-items: center;
    gap: 10px;
    position: relative;
}

    .checkbox-wrapper input[type="checkbox"] {
        position: absolute;
        opacity: 0;
        pointer-events: none;
        appearance: none;
        -webkit-appearance: none;
    }

    /* Base label styling */
    .checkbox-wrapper label {
        position: relative;
        cursor: pointer;
    }

    /* Box on the RIGHT of label (left layout) */
    .checkbox-wrapper.left label {
        padding-right: 30px;
    }

        .checkbox-wrapper.left label::after {
            content: "";
            position: absolute;
            right: 0;
            top: 2px;
            width: 20px;
            height: 20px;
            border: 2px solid #333;
            background: #fff;
            border-radius: 4px;
            transition: all 0.2s ease;
        }

    /* Box on the LEFT of label (right layout) */
    .checkbox-wrapper.right label {
        padding-left: 30px;
    }

        .checkbox-wrapper.right label::before {
            content: "";
            position: absolute;
            left: 0;
            top: 2px;
            width: 20px;
            height: 20px;
            border: 2px solid #333;
            background: #fff;
            border-radius: 4px;
            transition: all 0.2s ease;
        }

    /* Checkmark only on the correct side */
    .checkbox-wrapper.left input[type="checkbox"]:checked + label::after {
        background-color: var(--green);
        border-color: var(--green);
        content: "\2714";
        color: white;
        font-size: 16px;
        text-align: center;
        line-height: 20px;
    }

    .checkbox-wrapper.right input[type="checkbox"]:checked + label::before {
        background-color: var(--green);
        border-color: var(--green);
        content: "\2714";
        color: white;
        font-size: 16px;
        text-align: center;
        line-height: 20px;
    }
/*#endregion */

/*#region FAQ */

#faq {
    display: flex;
    position: relative;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    margin: 0px;
    padding: 0px;
    width:100%;
}

    #faq ul.questions {
        list-style-type: none;
        display: flex;
        width: 100%;
        max-width: 1200px;
        position: relative;
        flex-direction: column;
        padding: 0px;
        border: 1px solid var(--pastelorange);
    }

    #faq ul.questions > li {
        display: flex;
        flex-direction: column;
        position: relative;
        width: calc(100% - 20px);
        margin: 0px;
        padding: 10px;
        background: var(--white);
        border-bottom: 2px solid var(--pastelorange);
    }

    #faq ul.questions li div.question {
        display: flex;
        flex-direction: row;
        position: relative;
        width: 100%;
        margin: 0px;
        padding: 0px;
        justify-content: center;
        align-items: center;
        cursor: pointer;
    }

        #faq ul.questions li div.question p {
            display: flex;
            width: 80%;
            flex-grow: 1;
            margin: 0px;
            padding: 0px 0px 0px 20px;
            font-weight: 600;
            font-size: 1em;
        }

        #faq ul.questions li div.question p::after {
            content: "\25BC";
            font-size: 0.8em;
            margin-left: 8px;
            position: absolute;
            right: 10px;
            color: var(--darkgrey);
            pointer-events: none;
            width: 20px;
            height: 20px;
            transform: rotate(-90deg);
            right: 10px;
            top: 0px;
            transition: all 0.05s ease;
        }

            #faq ul.questions li.active div.question p::after {
                transform: rotate(0deg);
                right: 4px;
                top: 0px;
            }
    
    #faq ul.questions li div.response {
        display: flex;
        flex-direction: column;
        height: 1px;
        visibility: hidden;
        opacity: 0;
        transition: all 0.0s linear;
        padding: 0px;
    }

        #faq ul.questions li div.response ul {
            margin-top: 10px;
        }


        #faq ul.questions li.active div.response {
            background: var(--white);
            border: 1px solid var(--creame);
            padding: 20px;
            opacity:1;
            visibility:visible;
        }

        #faq ul.questions li div.response p {
            font-size: 1em;
            max-width: 1180px;
            margin: 0px;
        }


/*#endregion */

/*#region Simplified */
.simplified-container {
    display: flex;
    position: relative;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
    margin: 0px;
    padding: 0px;
    width: 100%;
    flex-wrap:nowrap;
    height:calc(100vh - 149px);
    background: var(--white);
}

    .simplified-container .promo {
        display: flex;
        position: relative;
        flex-direction: column;
        justify-content: flex-start;
        align-items: center;
        margin: 0px;
        padding: 0px;
        width: 28%;
        height:100%;
        background-image:url('../images/banners/pexels-vanessa-loring-5971975.png');
    }

    .simplified-container .content {
        display: flex;
        position: relative;
        flex-direction: column;
        justify-content: flex-start;
        align-items: center;
        margin: 0px;
        padding: 0px;
        width: 72%;
        height: 100%;
        background: var(--white);
    }

        .simplified-container .content .header {
            display: flex;
            position: relative;
            flex-direction: row;
            justify-content: space-between;
            align-items: flex-end;
            margin: 0px;
            padding: 40px;
            width: calc(100% - 80px);
            flex-wrap: nowrap;
            height: 90px;
            background: var(--white);
            border-bottom:4px solid var(--pastelblue);
        }

            .simplified-container .content .header a {
                font-weight:700;
                font-size:var(--larger);
            }

            .simplified-container .content .header .brand {
                display:flex;
                width:160px;
            }

        .simplified-container .content .panel {
            display: flex;
            position: relative;
            flex-direction: column;
            justify-content: flex-start;
            align-items: flex-start;
            margin: 60px 0px;
            padding: 20px;
            width: calc(100% - 80px);
            background: var(--white);
        }

/*#endregion */

/*#region Home */

.home-header-container {
    display: flex;
    position: relative;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    margin: 0px;    
    padding: 0px;
    width: 100%;
    background: var(--white);
    border-bottom:4px solid var(--pastelblue);
}

    .home-header-container .header {
        display: flex;
        position: relative;
        flex-direction: row;
        justify-content: space-between;
        align-items: center;
        margin: 0px;
        padding: 0px;
        width: 100%;
        max-width: var(--page-width)
    }

        .home-header-container .header ul {
            display: flex;
            position: relative;
            list-style-type: none;
            flex-direction: row;
            justify-content: flex-start;
            align-items: center;
            margin: 40px 0px 0px 0px;
            padding: 0px;
            gap: 40px;
        }

            .home-header-container .header ul li {
                display: flex;
                position: relative;
                flex-direction: column;
                justify-content: flex-start;
                align-items: flex-start;
                margin: 0px;
                padding: 20px 20px 20px 0px;
            }

                .home-header-container .header ul li a {
                    font-weight: 700;
                    font-size: var(--larger);
                }

        .home-header-container .header .brand {
            display: flex;
            width: 160px;
        }

.home-container {
    display: flex;
    position: relative;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    margin: 0px;
    padding: 0px;
    width: 100%;
    background: var(--white);
}

    .home-container .hero {
        display: flex;
        position: relative;
        flex-direction: column;
        justify-content: flex-start;
        align-items: center;
        margin: 0px;
        padding: 0px;
        width: 100%;
        height:600px;
        background-image:url('../images/banners/pexels-yankrukov-86175071.png')
    }

        .home-container .hero svg {
            position: absolute;
            bottom: -130px;
            transform: scaleX(-1);
        }

            .home-container .hero svg path {
            }

    .home-container .promo {
        display: flex;
        position: relative;
        flex-direction: row;
        justify-content: center;
        align-items: flex-start;
        margin: 90px 0px 120px 0px;
        padding: 0px;
        width: 100%;
        max-width:var(--page-width);
    }

        .home-container .promo .copy {
            display: flex;
            position: relative;
            flex-direction: column;
            justify-content: flex-start;
            align-items: flex-start;
            margin: 0px;
            padding: 0px;
            width: 100%;
            max-width:860px;
        }

            .home-container .promo .copy h1 {
                text-align: center;
                align-self:center;
            }

            .home-container .promo .copy h2 {
                text-align: center;
            }

            .home-container .promo .copy p {
                text-align: center;
                font-size:1.2em;
            }

            .home-container .promo .copy .btn-green {
                text-align: center;
                align-self:center;
                margin-top:30px;
            }

        /*.home-container .promo .video {
            display: flex;
            position: relative;
            flex-direction: column;
            justify-content: flex-start;
            align-items: flex-start;
            margin: 0px;
            padding: 0px;
            width: 60%;
        }

            .home-container .promo .video .holder {
                display: flex;
                position: relative;
                flex-direction: column;
                justify-content: flex-start;
                align-items: flex-start;
                margin: 0px;
                padding: 0px;
                width:100%;
                height:360px;
                background:var(--pastelblue);
            }*/

    .home-container .how-it-works {
        display: flex;
        position: relative;
        flex-direction: column;
        justify-content: flex-start;
        align-items: center;
        margin: 0px;
        padding: 120px 0px 140px 0px;
        width: 100%;
        background:var(--pastelblue);
    }

        .home-container .how-it-works p {
            font-size: 1.2em;
        }

        .home-container .how-it-works svg {
            
        }

            .home-container .how-it-works svg path {
            }

        .home-container .how-it-works ul {
            display: flex;
            position: relative;
            list-style-type:none;
            flex-direction: row;
            justify-content: flex-start;
            align-items: center;
            margin: 60px 0px 0px 0px;
            padding: 0px;
            width: 100%;
            max-width:var(--page-width);
            gap:30px;
        }

            .home-container .how-it-works ul li {
                display: flex;
                position: relative;
                list-style-type: none;
                flex-direction: column;
                justify-content: flex-start;
                align-items: center;
                margin: 0px;
                padding: 0px;
                width: calc(25% - 30px);
            }

                .home-container .how-it-works ul li .holder {
                    display: flex;
                    position: relative;
                    flex-direction: column;
                    justify-content: center;
                    align-items: center;
                    margin: 0px;
                    padding: 130px;
                    border-radius:50%;
                    background:var(--white);
                    overflow:hidden;
                }

                    .home-container .how-it-works ul li .holder img {
                        position: absolute;
                        width: 82%;
                        height: 82%;
                        object-fit: contain;
                        object-position: center;
                        display: block;
                    }

                .home-container .how-it-works ul li p {
                    margin:20px 0px;
                    font-size:1.2em;
                    height:75px;
                    text-align:center;
                    font-weight:600;
                    max-width:190px;
                }

    .home-container .about {
        display: flex;
        position: relative;
        flex-direction: column;
        justify-content: flex-start;
        align-items: center;
        margin: 0px;
        padding: 0px;
        width: 100%;
        height: 600px;
        background: var(--pastelgreen);
    }

        .home-container .about svg {
            position:absolute;
            z-index:9999;
        }

            .home-container .about svg path {
            }

        .home-container .about .content {
            display: flex;
            position: relative;
            flex-direction: row;
            justify-content: space-between;
            align-items: center;
            margin: 0px;
            padding: 0px;
            width: 100%;
            height:100%;
            max-width: var(--page-width);
        }

            .home-container .about .content .copy {
                display: flex;
                position: relative;
                flex-direction: column;
                justify-content: flex-start;
                align-items: flex-start;
                margin: 0px;
                padding: 0px;
                width: 460px;
            }

                .home-container .about .content .copy h1 {
                }

                .home-container .about .content .copy p {
                    font-size:1.2em;
                }

                .home-container .about .content .copy .btn-purple {
                    margin-top:30px;
                }

            .home-container .about .content .promo {
                display: flex;
                position: relative;
                flex-direction: column;
                justify-content: flex-start;
                align-items: flex-start;
                margin: 0px;
                padding: 0px;
                width: 400px;
                height: 100%;
                border-left: 6px solid var(--white);
                border-right: 6px solid var(--white);
                background-image: url('../images/banners/pexels-tara-winstead-6489511.png');
            }


@media(max-width:1600px) {
    .home-container .hero svg {
        position: absolute;
        bottom: -90px;
    }
}

/*#endregion*/

/* #region Footer */
.footer-container {
    display: flex;
    position: relative;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    margin: 0px;
    padding: 0px;
    width: 100%;
    background: var(--pastelblue);
    border-top:3px solid var(--purple);
}

    .footer-container .content {
        display: flex;
        position: relative;
        flex-direction: column;
        justify-content: flex-start;
        align-items: center;
        margin: 0px;
        padding: 60px 10px;
        width: 100%;
        max-width: var(--page-width);
    }

        .footer-container .content .footer-menu {
            display: flex;
            position: relative;
            list-style-type: none;
            flex-direction: row;
            justify-content: flex-start;
            align-items: flex-start;
            margin: 0px;
            padding: 0px;
            gap: 10px;
        }

            .footer-container .content .footer-menu li {
                display: flex;
                position: relative;
                flex-direction: column;
                justify-content: flex-start;
                align-items: flex-start;
                margin: 0px;
                padding: 0px 15px;
                width: auto;
                
            }

                .footer-container .content .footer-menu li a {
                    font-weight: 700;
                }
/* #endregion */


.copy-container {
    display: flex;
    position: relative;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    margin: 0px;
    padding: 0px;
    width: 100%;
}

    .copy-container .content {
        display: flex;
        position: relative;
        flex-direction: column;
        justify-content: flex-start;
        align-items: flex-start;
        margin: 0px;
        padding: 90px 0px;
        width: 100%;
        max-width:var(--page-width);
        min-height:800px;
    }


.form-actions button {
    border: 0px;
    outline: none;
    font-size: 16px;
}

/* #region Pantry Products */

#pantryProducts {
    display:flex;
    flex-direction:column;
    width:100%;
    margin:0px;
    padding:0px;
}

.control-container.pantry-container .content .pantry-title {
    align-items: center;
}

.control-container.pantry-container .content .pantry-product-grid {
    display: grid;
    position: relative;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 20px;
    width: 100%;
    margin: 0px 0px 30px 0px;
    padding: 0px;
}

    .control-container.pantry-container .content .pantry-product-grid .pantry-product-card {
        display: flex;
        position: relative;
        flex-direction: column;
        justify-content: flex-start;
        align-items: flex-start;
        margin: 0px;
        padding: 0px;
        width: 100%;
        overflow: hidden;
        background: var(--white);
        border: 1px solid var(--pastelblue);
        border-radius: 14px;
    }

        .control-container.pantry-container .content .pantry-product-grid .pantry-product-card .pantry-product-image {
            display: flex;
            position: relative;
            justify-content: center;
            align-items: center;
            margin: 0px;
            padding: 0px;
            width: 100%;
            aspect-ratio: 4 / 3;
            background: var(--offwhite);
            overflow: hidden;
        }

            .control-container.pantry-container .content .pantry-product-grid .pantry-product-card .pantry-product-image img {
                display: block;
                width: 100%;
                height: 100%;
                object-fit: cover;
            }

            .control-container.pantry-container .content .pantry-product-grid .pantry-product-card .pantry-product-image span {
                opacity: 0.55;
                font-weight: 700;
            }

        .control-container.pantry-container .content .pantry-product-grid .pantry-product-card .pantry-product-details {
            display: flex;
            position: relative;
            flex-direction: column;
            justify-content: flex-start;
            align-items: flex-start;
            gap: 6px;
            margin: 0px;
            padding: 16px;
            width: calc(100% - 32px);
        }

            .control-container.pantry-container .content .pantry-product-grid .pantry-product-card .pantry-product-details .pantry-product-category {
                font-size: 0.82em;
                font-weight: 700;
                text-transform: uppercase;
                color: var(--purple);
                opacity: 0.75;
            }

            .control-container.pantry-container .content .pantry-product-grid .pantry-product-card .pantry-product-details h3 {
                margin: 0px;
                font-size: 1.1em;
                line-height: 130%;
            }

            .control-container.pantry-container .content .pantry-product-grid .pantry-product-card .pantry-product-details .pantry-product-price {
                font-size: 1.05em;
                font-weight: 800;
                color: var(--greenoff);
            }

.control-container.pantry-container .content .pantry-empty-filter {
    display: flex;
    width: calc(100% - 40px);
    margin: 0px 0px 30px 0px;
    padding: 20px;
    background: var(--offwhite);
    border: 1px solid var(--pastelblue);
}

@media (max-width: 1024px) {
    .control-container.pantry-container .content .pantry-product-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 799px) {
    .control-container.pantry-container .content .pantry-title {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
    }

    .control-container.pantry-container .content .pantry-product-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 520px) {
    .control-container.pantry-container .content .pantry-product-grid {
        grid-template-columns: 1fr;
    }
}

/* #endregion */

/* #region Pantry Product Detail */

.control-container.pantry-product-page-container .content .pantry-product-page {
    display: grid;
    position: relative;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 40px;
    width: 100%;
    margin: 0px 0px 40px 0px;
    padding: 0px;
}

    .control-container.pantry-product-page-container .content .pantry-product-page .pantry-product-page-image {
        display: flex;
        position: relative;
        justify-content: center;
        align-items: center;
        width: 100%;
        aspect-ratio: 4 / 3;
        overflow: hidden;
        background: var(--offwhite);
        border: 1px solid var(--pastelblue);
        border-radius: 16px;
    }

        .control-container.pantry-product-page-container .content .pantry-product-page .pantry-product-page-image img {
            display: block;
            width: 100%;
            height: 100%;
            object-fit: cover;
        }

        .control-container.pantry-product-page-container .content .pantry-product-page .pantry-product-page-image span {
            opacity: 0.55;
            font-weight: 700;
        }

    .control-container.pantry-product-page-container .content .pantry-product-page .pantry-product-page-details {
        display: flex;
        position: relative;
        flex-direction: column;
        justify-content: flex-start;
        align-items: flex-start;
        width: 100%;
        margin: 0px;
        padding: 0px;
    }

        .control-container.pantry-product-page-container .content .pantry-product-page .pantry-product-page-details .pantry-product-category {
            margin: 0px 0px 8px 0px;
            font-size: 0.85em;
            font-weight: 800;
            text-transform: uppercase;
            color: var(--purple);
            opacity: 0.75;
        }

        .control-container.pantry-product-page-container .content .pantry-product-page .pantry-product-page-details h1 {
            margin: 0px 0px 12px 0px;
        }

        .control-container.pantry-product-page-container .content .pantry-product-page .pantry-product-page-details .pantry-product-price {
            margin: 0px 0px 20px 0px;
            font-size: 1.4em;
            font-weight: 800;
            color: var(--greenoff);
        }

        .control-container.pantry-product-page-container .content .pantry-product-page .pantry-product-page-details .pantry-product-copy {
            margin: 0px 0px 20px 0px;
            line-height: 160%;
        }

        .control-container.pantry-product-page-container .content .pantry-product-page .pantry-product-page-details .pantry-product-tags {
            display: flex;
            position: relative;
            flex-wrap: wrap;
            gap: 8px;
            margin: 0px 0px 24px 0px;
            padding: 0px;
            list-style: none;
        }

            .control-container.pantry-product-page-container .content .pantry-product-page .pantry-product-page-details .pantry-product-tags li {
                display: flex;
                margin: 0px;
                padding: 7px 12px;
                background: var(--offwhite);
                border: 1px solid var(--pastelblue);
                border-radius: 999px;
                font-size: 0.85em;
                font-weight: 700;
            }

.control-container.pantry-product-page-container .content .pantry-product-info-grid {
    display: grid;
    position: relative;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
    width: 100%;
    margin: 0px 0px 30px 0px;
}

    .control-container.pantry-product-page-container .content .pantry-product-info-grid .pantry-product-info-card {
        display: flex;
        position: relative;
        flex-direction: column;
        width: calc(100% - 40px);
        padding: 20px;
        background: var(--white);
        border: 1px solid var(--pastelblue);
        border-radius: 14px;
    }

        .control-container.pantry-product-page-container .content .pantry-product-info-grid .pantry-product-info-card h2 {
            margin: 0px 0px 12px 0px;
            font-size: 1.2em;
        }

        .control-container.pantry-product-page-container .content .pantry-product-info-grid .pantry-product-info-card div {
            line-height: 155%;
        }

@media (max-width: 900px) {
    .control-container.pantry-product-page-container .content .pantry-product-page {
        grid-template-columns: 1fr;
    }

    .control-container.pantry-product-page-container .content .pantry-product-info-grid {
        grid-template-columns: 1fr;
    }
}

/* #endregion */

/* #region Pantry Buy Controls */

.control-container.pantry-container .content .pantry-product-grid .pantry-product-card .pantry-product-details h3 a {
    color: inherit;
    text-decoration: none;
}

    .control-container.pantry-container .content .pantry-product-grid .pantry-product-card .pantry-product-details h3 a:hover {
        text-decoration: underline;
    }

.control-container.pantry-container .content .pantry-product-grid .pantry-product-card .pantry-product-details .pantry-buy-form,
.control-container.pantry-product-page-container .content .pantry-product-page .pantry-product-page-details .pantry-buy-form {
    display: flex;
    position: relative;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    width: 100%;
    margin: 10px 0px 0px 0px;
    padding: 0px;
}

.control-container.pantry-product-page-container .content .pantry-product-page .pantry-product-page-details .pantry-product-page-buy-form {
    margin: 8px 0px 18px 0px;
}

.control-container.pantry-product-page-container .content .pantry-product-page .pantry-product-page-details .pantry-qty-label {
    display: block;
    width: 100%;
    margin: 0px 0px -2px 0px;
    font-size: 0.9em;
    font-weight: 800;
}

.control-container.pantry-product-page-container .content .pantry-product-page .pantry-product-page-details .pantry-product-page-actions {
    display: flex;
    position: relative;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
    width: 100%;
}

.control-container.pantry-container .content .pantry-product-grid .pantry-product-card .pantry-product-details .pantry-qty-control,
.control-container.pantry-product-page-container .content .pantry-product-page .pantry-product-page-details .pantry-qty-control {
    display: flex;
    position: relative;
    align-items: center;
    height: 40px;
    overflow: hidden;
    background: var(--white);
    border: 1px solid var(--pastelblue);
    border-radius: 999px;
}

    .control-container.pantry-container .content .pantry-product-grid .pantry-product-card .pantry-product-details .pantry-qty-control .pantry-qty-button,
    .control-container.pantry-product-page-container .content .pantry-product-page .pantry-product-page-details .pantry-qty-control .pantry-qty-button {
        display: flex;
        position: relative;
        justify-content: center;
        align-items: center;
        width: 36px;
        height: 40px;
        margin: 0px;
        padding: 0px;
        cursor: pointer;
        color: var(--black);
        background: transparent;
        border: 0px;
        font-size: 1.25em;
        font-weight: 800;
        line-height: 100%;
    }

    .control-container.pantry-container .content .pantry-product-grid .pantry-product-card .pantry-product-details .pantry-qty-control input,
    .control-container.pantry-product-page-container .content .pantry-product-page .pantry-product-page-details .pantry-qty-control input {
        display: block;
        width: 42px;
        height: 40px;
        margin: 0px;
        padding: 0px;
        text-align: center;
        border: 0px;
        border-left: 1px solid var(--pastelblue);
        border-right: 1px solid var(--pastelblue);
        font-weight: 800;
        background: var(--offwhite);
    }

        .control-container.pantry-container .content .pantry-product-grid .pantry-product-card .pantry-product-details .pantry-qty-control input::-webkit-outer-spin-button,
        .control-container.pantry-container .content .pantry-product-grid .pantry-product-card .pantry-product-details .pantry-qty-control input::-webkit-inner-spin-button,
        .control-container.pantry-product-page-container .content .pantry-product-page .pantry-product-page-details .pantry-qty-control input::-webkit-outer-spin-button,
        .control-container.pantry-product-page-container .content .pantry-product-page .pantry-product-page-details .pantry-qty-control input::-webkit-inner-spin-button {
            -webkit-appearance: none;
            margin: 0px;
        }

.control-container.pantry-container .content .pantry-product-grid .pantry-product-card .pantry-product-details .pantry-buy-button,
.control-container.pantry-product-page-container .content .pantry-product-page .pantry-product-page-details .pantry-buy-button {
    padding: 12px 30px;
    background: var(--purple);
    color: var(--white);
    border-radius: 10px;
    border: none;
    font-weight:600;
    margin-top:10px;
}

    .control-container.pantry-container .content .pantry-product-grid .pantry-product-card .pantry-product-details .pantry-buy-button:hover, .control-container.pantry-product-page-container .content .pantry-product-page .pantry-product-page-details .pantry-buy-button:hover {
        background: var(--purpleoff);
        cursor:pointer;
    }

@media (max-width: 520px) {
    .control-container.pantry-container .content .pantry-product-grid .pantry-product-card .pantry-product-details .pantry-buy-form,
    .control-container.pantry-product-page-container .content .pantry-product-page .pantry-product-page-details .pantry-product-page-actions {
        align-items: stretch;
    }

    .control-container.pantry-container .content .pantry-product-grid .pantry-product-card .pantry-product-details .pantry-buy-button,
    .control-container.pantry-product-page-container .content .pantry-product-page .pantry-product-page-details .pantry-buy-button {
        flex: 1;
    }
}

/* #endregion */
